04 September 2019

Lecture - Tuesday, September 10th.

16-19 in U23

We will start treating the application layer of the network stack and principles of network applications.

The protocols we will study are HTTP (and HTTP/2), FTP, SMTP, and DNS.

We will also see how sockets can be used for network communication, and discuss Content Distribution Networks.

Tutorial session

September 13th. 10-12 in U154 or 12-14 in U154

Preparation:

If you did not finish installing wireshark on your computer, you should do this. Then you should try to solve these exercises:

  1. In Java, using the Socket class create a port scanner, that on localhost scans the ports from 1-1024 and prints the open ports.

  2. In Java, using the ServerSocket class, write a port scanner, that on localhost scans the ports from 1-1024 and prints the open ports.

  3. Describe the difference between the two implementations you have just made, from a network point of view.

  4. Using the TimeServer demoed in class (Code here: https://github.com/JacobAae/dm557-2017-socket-examples), write a client using DatagramSocket that can connect and print the time returned.

These resources can be useful:

Try also to make a list of 10-15 keywords for a 10 minute presentation with the topic: "Functionality and interfaces for the application layer of the TCP/IP model and the functionality of DNS".

In class:

Spend the first half on solving and discussing these exercises from chapter 2 of the book and your solution to the socket programming exercises:

Discus the keyword list you prepared at home. There is not a single right answer, as you could plan many great presentations with different "red-threads".

The second part of the session, you will work on analyzing HTTP requests and responses using Wireshark. Instructions can be found in the Instructions menu → Wireshark HTTP

  • Chapters 2

Material (Slides, etc.)