MCS-377 Lab 2: Transport Layer (Fall 2016)

Due: Monday, October 31, 2016

Objective

One’s understanding of network protocols can often be greatly deepened by “seeing protocols in action” and by “playing around with protocols” – observing the sequence of messages exchanged between two protocol entities, delving down into the details of protocol operation, and causing protocols to perform certain actions and then observing these actions and their consequences. This can be done in simulated scenarios or in a “real” network environment such as the Internet. For this lab, you’ll be running various network applications in different scenarios using your own computer (or you can borrow a friends; let me know if you don’t have access to a computer where you can install/run Wireshark). You’ll observe the network protocols in your computer “in action,” interacting and exchanging messages with protocol entities executing elsewhere in the Internet. Thus, you and your computer will be an integral part of these “live” labs. You’ll observe, and you’ll learn, by doing.

For the first part of the lab, you’ll get acquainted with Wireshark, and make some simple packet captures and observations. For the second part of the lab, you’ll explore several aspects of the HTTP protocol: the basic GET/response interaction, HTTP message formats, retrieving large HTML files, retrieving HTML files with embedded objects, and HTTP authentication and security. Finally, for the third part of the lab, we will investigate the behavior of the TCP protocol by analyzing a trace of the TCP segments sent and received in transferring a 150KB file (containing the text of Lewis Carrol’s Alice’s Adventures in Wonderland) from your computer to a remote server. We’ll study TCP’s use of sequence and acknowledgement numbers for providing reliable data transfer; we’ll see TCP’s congestion control algorithm – slow start and congestion avoidance – in action; and we’ll look at TCP’s receiver-advertised flow control mechanism. We’ll also briefly consider TCP connection setup and we’ll investigate the performance (throughput and round-trip time) of the TCP connection between your computer and the server.

Reports

Please refer to the full descriptions of all three tasks mentioned above on Moodle. For each task, you are to complete a separate report in word format. In each report, you are to provide the answers to the cooresponding questions and give supporting screen shots (included in the word documented).

For deliverables, You will submit three reports (named task1.doc, task2.doc, and task3.doc). Place all the files in a folder, compress, and upload on Moodle.