CS21B057 Lab2
CS21B057 Lab2
CS21B057 Lab2
1. What is the IP address and TCP port number used by the client computer (source)
that is transferring the file to gaia.cs.umass.edu? To answer this question, it’s
probably easiest to select an HTTP message and explore the details of the TCP
packet used to carry this HTTP message, using the “details of the selected packet
header window” (refer to Figure 2 in the “Getting Started with Wireshark” Lab if
you’re uncertain about the Wireshark windows.
3.What is the IP address and TCP port number used by your client computer
(source) to transfer the file to gaia.cs.umass.edu?
4. What is the sequence number of the TCP SYN segment that is used to initiate the
TCP connection between the client computer and gaia.cs.umass.edu? What is it
in the segment that identifies the segment as a SYN segment?
=> Sequence Number of TCP SYN is 0, as it is used to initiate the TCP connection
between client and gaia.cs.umass.edu servers.
=> The flag for SYN is SET, which indicates that this segment is a SYN segment.
6. What is the sequence number of the TCP segment containing the HTTP POST
command? Note that in order to find the POST command, you’ll need to dig into
the packet content field at the bottom of the Wireshark window, looking for a
segment with a “POST” within its DATA field.
Note: Wireshark has a nice feature that allows you to plot the RTT for
each of the TCP segments sent. Select a TCP segment in the “listing of
captured packets” window that is being sent from the client to the
gaia.cs.umass.edu server. Then select: Statistics->TCP Stream Graph-
>Round Trip Time Graph.
=>
=> 565
=> 1460
=> 1460
=> 1460
=> 1460
=> 1460
=> 1147
9. What is the minimum amount of available buffer space advertised at the received
for the entire trace? Does the lack of receiver buffer space ever throttle the
Sender?
10. Are there any retransmitted segments in the trace file? What did you check for (in
the trace) in order to answer this question?
=> No, there are no retransmitted segments in the trace file. This can be explained by
packets
with the same sequence number at different times is not found.
11. How much data does the receiver typically acknowledge in an ACK? Can you
identify cases where the receiver is ACKing every other received segment (see
Table 3.2 on page 250 in the text).
=> As you can see in the picture below, the lines selected (blue ones) have an increase in
ACK numbers :
1, 566, 2026, 3486, 4946..
=>This increase indicates that the receiver is acknowledging the bytes received: 565,
1460, 1460, 1460..
=> No, I cannot identify cases where the receiver is ACKing every other received
segment.
12. What is the throughput (bytes transferred per unit time) for the TCP connection?
Explain how you calculated this value.
=> The slow start phase begins around zero and ends around 0.13 seconds according to
the graph; after that congestion takes over. The measured data uses only a fraction of the
window size instead of the 1/3 to a half.
14. Answer each of two questions above for the trace that you have gathered when
you transferred a file from your computer to gaia.cs.umass.edu
=> The slow start phase for the following is hard to identify as there is no indication of the
exponential rise in the data packet, but from the previous subplot we can infer that its between
0 - 4.815s
=> There is no observable linear increase to comment on the congestion avoidance phase.
IP:
2. Within the IP packet header, what is the value in the upper layer protocol field?
=> ICMP (1)
3. How many bytes are in the IP header? How many bytes are in the payload of the
IP datagram? Explain how you determined the number of payload bytes.
4. Has this IP datagram been fragmented? Explain how you determined whether or
not the datagram has been fragmented.
=> This IP datagram has not fragmented. If fragmented flag is not set , then
datagram is not fragmented.
5. Which fields in the IP datagram always change from one datagram to the next
within this series of ICMP messages sent by your computer?
6.Which fields stay constant? Which of the fields must stay constant? Which fields
must change? Why?
7. Describe the pattern you see in the values in the Identification field of the IP
Datagram.
=> Identification value is getting increased by 1.
8. What is the value in the Identification field and the TTL field?
9. Do these values remain unchanged for all of the ICMP TTL-exceeded replies sent
to your computer by the nearest (first hop) router? Why?
=> The identification field value is changed here in this file but the TTL is unchanged over
all the records.
10. Find the first ICMP Echo Request message that was sent by your computer after
you changed the Packet Size in pingplotter to be 2000. Has that message been
fragmented across more than one IP datagram?
11. Print out the first fragment of the fragmented IP datagram. What information in
the IP header indicates that the datagram has been fragmented? What information in the IP
header indicates whether this is the first fragment versus a latter fragment?
How long is this IP datagram?
12. Print out the second fragment of the fragmented IP datagram. What information in
the IP header indicates that this is not the first datagram fragment? Are the more
fragments? How can you tell?
13. What fields change in the IP header between the first and second fragment?
=> IP header fields that changed between the fragments are : Total length, flags, fragment
offset and checksum
14. How many fragments were created from the original datagram?
=> The IP header fields that changed between all of the packets are: fragment
offset, and checksum. Between the first two packets and the last packet, we
see a change in total length, and also in the flags. The first two packets have
a total length of 1480, with the more fragments bit set to 1, and the last packet
has a total length of 520, with the more fragments bit set to 0.
UDP:
1. Select one UDP packet from your trace. From this packet, determine how many
fields there are in the UDP header.
3. The value in the Length field is the length of what? (You can consult the text for
this answer). Verify your claim with your captured UDP packet.
=> Since the size of the header is 8 bytes and it consists of 4 fields, considering equal
distribution we can say that the size is 2 bytes each.
4. What is the maximum number of bytes that can be included in a UDP payload?
(Hint: the answer to this question can be determined by your answer to 2. above)
=> The largest possible payload source port number is 2^16 -1 = 65535
Header bytes: 8 bytes,
The possible max number of bytes in UDP payload is = 65535 - 8 = 65527 bytes
6. What is the protocol number for UDP? Give your answer in both hexadecimal and
decimal notation. To answer this question, you’ll need to look into the Protocol
field of the IP datagram containing this UDP segment (see Figure 4.13 in the text,
and the discussion of IP header fields).
7. Examine a pair of UDP packets in which your host sends the first UDP packet and
the second UDP packet is a reply to this first UDP packet. (Hint: for a second
packet to be sent in response to a first packet, the sender of the first packet should
be the destination of the second packet). Describe the relationship between the
port numbers in the two packets.
=> The source port of the Sending packet is the same as the destination port of the
Receiver packet.
=> The destination port of the Sending packet is the same as the source port of the
Receiver packet.