INST 346
Technologies, Infrastructure and Applications
Fall 2017
Assignment H3


This homework will be designed to give you experience with transport layer concepts, and with the way the transport layer interacts.

Create an annotated list of the sequence of TCP packets (which our book calls "segments") that your Web browser would need to send and receive in order to obtain and display this Web page (the Web page that contains this homework assignment). To do this:

  1. First, list (without much detail) the HTTP messages that must be sent and received. This list will not be separately graded, but it will help you to figure out which TCP packets need to be sent and received to exchange those messages.
  2. Then start a new list of TCP packets. Begin your list of TCP packets with the packets that are required to set up the TCP connection. Then list the TCP packets that are required to send each HTTP message, including packets that are sent as acknowledgments. You can assume that all packets are correctly received (i.e., you do not need to consider the possibility that some packets might be lost or corrupted and thus need to be retransmitted). You can also assume that there is no limit to the length of your TCP packets (i.e., you can assume that any HTTP message would fit in a single packet. Finally, list the TCP packets that are required to close the connection.
  3. For each TCP packet you have listed, specify both the purpose of the packet and all details that make its content different from other TCP packets. You don't need to generate exact sequence numbers -- approximations would be fine (e.g., if you have a TCP packet with about 100 bytes in the payload, you can just increment the sequence number by 100 for the next packet; if your TCP packet has about 1000 bytes in the payload you can increment it by 1000. There's no need to count the bytes exactly, but your sequence numbers should be correct for the approximations that you use. You don't need to generate the checksums that are used to check for corruption. You do not need to provide the exact content of the HTTP messages; a general description of their content will suffice.
You may find it useful to use Wireshark to help you with this assignment, but I recommend that you try it first by hand without Wireshark and then use Wireshark to fill in any gaps in your understanding.

Submit both of your lists (HTTP messages and TCP packets) on ELMS. You may find it useful to use excel for this assignment since for each packet there are several pieces of information you will want to specify, and Excel's table layout can be hand for that.


Doug Oard
Last modified: Tue Oct 3 18:31:50 2017