English Czech
What is piggybacking and what are the benefits of this technique ?
What are the acknowledgments sent by `Host B`. How does `Host A` react and how does it terminate the connection ?
This is an unpolished draft of the third edition of this e-book. If you find any error or have suggestions to improve the text, please create an issue via https://github.com/CNP3/ebook/issues?milestone=3 or help us by providing pull requests to close the existing issues.
Some transport protocols use 32 bits sequence numbers while others use 64 bits sequence number. What are the advantages and drawbacks of each approach ?
Serving applications
Same question as above, but consider now that the transport protocol tries to send large DATA segments whenever possible. For this exercise, we consider that a DATA segment can contain up to 8 bytes of data in the payload. Do not forget to show the acknowledgments in your answer.
Practice
Open questions
In the transport layer, the receive window advertised by a receiver can vary during the lifetime of the connection. What are the causes for these variations ?
In the above example, the two `DATA` segments were lost before arriving at the destination. Discuss the following scenario and explain how the receiver should react to the reception of the last `DATA` segment.
Footnotes
Discussion questions
DATA segments contain a sequence number that is incremented for each DATA segment transmitted
DATA segments contain a sequence number that is incremented for each byte transmitted
Continue the connection so that `Host B` sends `Hello` as data and `Host A` replies by sending `Pleased to meet you`. After having received the response, `Host B` closes the connection gracefully and `Host A` does the same. Discuss on the state that needs to be maintained inside each host.
Consider a transport protocol that provides the bytestream service and uses 32 bits sequence number to represent the position of the first byte of the payload of DATA segments in the bytestream. How would you modify this protocol so that it can provide a message-mode service ? Consider first short messages that always fit inside a single segment. In a second step, discuss how you could support messages of unlimited size.
Consider a transport protocol that provides a reliable connection-oriented bytestream service. You observe the segments sent by a host that uses this protocol. Does the time-sequence diagram below reflects a valid implementation of this protocol ? Justify your answer.
Consider a reliable connection-oriented transport protocol that provides the bytestream service. In this transport protocol, the sequence number that is placed inside each DATA segment reflects the position of the bytes in the bytestream. Considering the connection shown below, provide the DATA segments that are sent by `Host A` in response to the `DATA.request`, assuming that one segment is sent for each `DATA.request`.
A transport connection that provides a message-mode service has been active for some time and all data has been exchanged and acknowledged in both directions. As in the exercise above, the sequence number is incremented after the transmission of each segment. At this time, `Host A` sends two DATA segments as shown in the figure below.
A reliable connection oriented transport places a 32 bits sequence number inside the segment header to number the segments. This sequence number is incremented for each data segment. The connection starts as shown in the figure below :