Consider sending a 2100-byte chunk of data using TCP from Host A to Host B. TCP
ID: 3604662 • Letter: C
Question
Consider sending a 2100-byte chunk of data using TCP from Host A to Host B. TCP segments are carried in IP datagrams (with a 20-byte header). IP datagrams are carried in a data link frame (with a 10-byte header). The maximum segment size for TCP is 800 bytes. The physical layer protocol can support a data rate of 1 Mbps. Assume a total round-trip time of 10 ms between the sender and the receiver
a. How many frames will need to be sent from Host A to Host B? What is the size of each TCP segment? Explain.
b.Suppose the data must be sent over three links (from Host A to the first router, from the first router to the second router, and from the second router to Host B). How long will it take to create a TCP connection, deliver the data from Host A to Host B, and close the connection? Ignore any effects of TCP congestion control or flow control. Assume all links are lightly loaded so there are no queuing delays. Clearly state any assumptions made in determining the result. Include protocol diagram
Explanation / Answer
a. Given:-
Data to be sent from Host A to Host B = 2100 byte
As per Question, TCP segments (max size can be 800 bytes,given) are to be carried in IP datagrams with 20 byte header means
IP datagram
The above IP datagram is to be carried in data link frame with 10 byte header which means
Data link frame
Now Given that physical layer protocol can support a data rate of 1 Mbps which means , link from host A to host B can carry maximum of 1Mb data
1 Mb = 1000000 bits ~ 1000 bytes
Now the data to be sent is 2100 bytes , but only 1000 bytes can be sent over link.
1000 bytes to be sent over link includes 10 byte of data link frame header and 20 bytes of IP datagram header
The segment size to be sent on link can be =(1000-20-10 )=970 bytes
But also given maximum size of TCP segment = 800 bytes
We need to fragment 2100 bytes of data into 3 frames
1st frame size : 800B (segment) + 20B (IP datagram header) + 10B (data link header) = 830B (which is less than 1000B (max size can be sent over link) )
2nd frame size : 800B (segment) + 20B (IP datagram header) + 10B (data link header) = 830B (which is less than 1000B (max size can be sent over link) )
3rd frame size : 500B (segment) + 20B (IP datagram header) + 10B (data link header) = 530B (which is less than 1000B (max size can be sent over link) )
Hence We need to send 3 frames of 830B, 830B and 530B
Also, The segment size is 800B, 800B and 500B which is equal to 2100 B data
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.