Consider transferring a very large file of L bytes from host A to host B. Assume
ID: 3671777 • Letter: C
Question
Consider transferring a very large file of L bytes from host A to host B. Assume an MSS of 1600 bytes. Is there any restriction on the file size that can be transported via TCP based on limitations of the protocol? Recall that the TCP sequence number field has 4 bytes, which puts a limit on the largest sequence number that can be generated. You may assume that the starting sequence number for the first packet is 0 (the sequence numbers wrap around). Give a brief discussion on whether you belief there is a limit or not.
Explanation / Answer
Answer: As we know that the TCP is a three way handshake protocol ( connection establishment, data transfer) .First the connection is established between the sender and the reciever.In connection establishing phase, reciever advertises its window size and in accordance with the window size of the reciever , the data is sent to the reciever in the data transfer phase.Thus we can conclude here that there is restriction on the file size as the sender has to send the data in accordance with the reciever's window.Second this is we cannnot start with 0 sequence number because , we may use this again as wrap arround time is there and because of this there might be some confusions as well.The sender may send any packet with sequence number 0 and by chance this packet with sequence number got delayed and arrived at the time when sender sent another packet to the reciever with the same sequence number ie 0 sequence number.Thus we can use random initial sequence number. As I already discussed, reciever advertises its window size and thus limits restricts the file size .