In this assignment, you will use your chat client to track and trace your connection with the server and observe the intricacies of the TCP connection. Because TCP is designed to be reliable, it has several mechanisms to keep track of in-order packet delivery and guaranteed delivery. We want you to explore these features hands-on by taking a look at how the chat client communicates with the server using this transport layer protocol. To this end, you will run your chat client and analyze the TCP traffic using Wireshark, a packet analysis tool. Capture the traffic between your client and the server and answer the questions.
Questions to Answer
Which segments perform the TCP connection handshake between client and server? How can you tell?
What are the initial (absolute) sequence numbers of the client and server? Is this expected behavior? Why?
Which bytes in the TCP segments represent the chat message data? How can you find out?
Which flags are used in segments that carry chat messages?
Where in the trace are the segments that carry chat messages acknowledged by the TCP protocol? Where are they acknowledged by the (chat) application?
How do the sequence and acknowledgment numbers change during the trace? Is this expected?
Which segments close the TCP connection? How can you tell?
Requirements
You must submit your answers as a PDF file.
You must not upload any trace files captured from your machine to Canvas or CodeGrade.
For each of the questions 1-7, your solution must contain both the answer and an explanation of it. Every question must be put under a separate title.
For information obtained from Wireshark, you must specify where and how this information can be found.
Last updated