(Systems and Networks) Consider transferring a very large file of L bytes from h
ID: 3811051 • Letter: #
Question
(Systems and Networks)
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
There is no limitation of file size that can be transferred via TCP by limitation of protocol.
However, the maximum segment size (MSS) is the large amount of data, specified in bytes, that TCP is willing to receive in a single segment. For the best performance, the MSS should be set small enough to avoid IP fragmentation, which can lead to packet loss and excessive retransmissions.
The sequence and acknowledgement fields are two of the many features that help us classify TCP as a connection oriented protocol. As such when data is sent through a TCP connections, they help the remote hosts keep track of the connection and ensure that no packet has been lost on the way to its destination.
TCP utilizes positive acknowledgement, timeouts and retransmissions to ensure error free, sequences delivery of user data. if the retransmission timer expires before an acknowledgement is received, data is retransmitted starting at the byte after the last acknowledged byte in the stream.
A further point worth mentioning is the fact that sequence numbers are generated differently on each operating system. Using special algorithms, an operating system will generate these numbers, which are used to track the packets sent or received, and since both sequence and acknowledgement fields are 32 bits, there are 2^32 possibilities of generating a different number.
When two hosts need to transfer data using the TCP transport protocol, a new connection is created. This involves the first host that wishes to initiate the connections, to generate what is called an initial sequence number (ISN).
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.