Consider transferring an enormous file of L bytes from Host A to Host B over a T
ID: 3766242 • Letter: C
Question
Consider transferring an enormous file of L bytes from Host A to Host B over a TCP connection. Assume a segment size of the TCP connection is always the Maximum Segment Size (MSS) of 512 bytes.
(a) What is the maximum value of L such that TCP sequence number are not exhausted (i.e. counting to 32 bits of 1’s)?
(b) For the L obtained in (a), find how long it takes to transmit the file. Assume that a total of 64 bytes of transport, network, and data link header are added to each segment before the resulting packet is sent out over a 156 Mbps link. Consider Host A can always pump out the segments back to back and continuously.
Explanation / Answer
a.There are 2 32 = 4, 294, 967, 296 possible sequence numbers. The sequence number does not increment by one with each segment rather it increments by the number of bytes of data sent. Consequently, the size of the MSS is irrelevant and the maximum file size that can be sent from A to B is the number of bytes representable by L = 232 bytes 4.29 GBytes.
b.The number of segments is S = d2 32 bytes / 512 bytes e = 8, 388, 608. To each segment, a header of 64 bytes is added and the total number of bytes to transfer becomes L 0 = S · (512 bytes + 64 bytes) = 4,831,838,208 bytes. On the 155 Mbps link, the time needed to transfer L 0 bytes is L 0 · 8 bit /(155 · 106 ) bit/s 249 s.