/
Untitled Page
Save to my account
Sign up
Report bug
View
Chapter5Summary.pdf Flashcards
Study
Question
What is the initial step of a TCP connection according to the text?
Answer
A TCP connection begins with a client caller doing an active open to a server callee assuming that the server had earlier done a passive open.
Question
What happens during the connection establishment phase of a TCP connection?
Answer
During the connection establishment phase, the two sides engage in an exchange of messages to establish the connection before beginning to send data.
Question
Explain the process of connection termination in TCP as described in the text.
Answer
As soon as a participant is done sending data, it closes one direction of the connection, prompting TCP to initiate a round of connection termination messages. Connection teardown is symmetric, allowing one side to close while the other side continues to send data.
Question
What is the purpose of the Three-Way Handshake in TCP connections?
Answer
The Three-Way Handshake is used by TCP to establish and terminate connections. It involves the exchange of three messages between the client and server to agree on starting sequence numbers for their respective byte streams.
Question
How does TCP's sliding window algorithm differ from the basic sliding window algorithm?
Answer
TCP's sliding window algorithm guarantees reliable data delivery, ensures ordered data delivery, and enforces flow control by having the receiver advertise a window size to the sender. This differs from the basic algorithm as TCP incorporates flow control within this window size.
Question
Explain the concept of reliable and ordered delivery in TCP.
Answer
TCP maintains a send buffer on the sending side and a receive buffer on the receiving side. The send buffer stores sent but unacknowledged data, while the receive buffer holds out-of-order data. TCP ensures no missing bytes in the stream for ordered delivery.
Question
Why is protecting against wraparound important in TCP's SequenceNum field?
Answer
TCP's SequenceNum field is 32 bits long, preventing sequence number wraparound within a 120-second period. This protection is crucial to avoid interference from earlier segments in later incarnations of the connection.
Question
What triggers the transmission of a segment in TCP according to the text?
Answer
TCP triggers segment transmission when it collects a specific number of bytes (MSS) from the sending process, when the sending process explicitly requests transmission, or when a timer fires to transmit currently buffered data.
Question
What is the 'Silly Willy Window Syndrome' described in the text?
Answer
The 'Silly Willy Window Syndrome' occurs when the sender accumulates bytes to send but the window is closed. When an ACK arrives to open the window, the sender aggressively transmits a smaller number of bytes, leading to indefinite existence of small containers in the system.
Chapter5Summary.pdf Flashcards
Study
Question
What is Nagle's Algorithm and how does it work?
Answer
Nagle's Algorithm is a solution introduced by Nagle to determine when to transmit in TCP. The algorithm allows sending a full segment if the window allows or immediately sending a small amount of data if no segments are in transit. However, if there is data in flight, the sender must wait for an ACK before transmitting the next segment. Applications can turn off Nagle's algorithm by setting the TCPNODELAY option.
Question
What is Adaptive Retransmission in TCP and how does it work?
Answer
Adaptive Retransmission in TCP ensures reliable delivery of data by retransmitting each segment if an ACK is not received within a certain period. The timeout for retransmission is set as a function of the expected Round-Trip Time (RTT) and is adjusted using a running average of the RTT. TCP uses EstimatedRTT to compute the timeout value, recommending a value between 0.8 and 0.9 for stability and adaptability to changes.
Question
What is the Karn/Partridge Algorithm in TCP and why was it introduced?
Answer
The Karn/Partridge Algorithm was introduced to address a flaw in the original algorithm where an ACK did not distinguish between the first and second transmission of a segment, affecting the accuracy of SampleRTT. The solution was to stop taking samples of the RTT for retransmitted segments and adjust the timeout mechanism by doubling the timeout for each retransmission. This approach is known as exponential backoff, similar to Ethernet, to prevent congestion issues.
Question
What is the Jacobson/Karels Algorithm in TCP and why was it developed?
Answer
The Jacobson/Karels Algorithm was developed to consider the variance of sample RTTs in computing the timeout value. By measuring both the mean RTT and its variation, TCP computes the timeout value using EstimatedRTT and Deviation. The algorithm scales calculations to integer arithmetic for performance, taking into account that the accuracy is dependent on the clock granularity and the Unix implementation limitations.
Question
How does TCP handle record boundaries and why is it different from UDP?
Answer
TCP is a bytestream protocol where the sender's bytes may not match the receiver's bytes due to partial acceptance of data. TCP uses mechanisms like the urgent data feature and the push operation to handle record boundaries. The urgent data feature allows out-of-band data transmission, while the push operation signals the end of a record. Unlike UDP, TCP does not guarantee receiving the same length of data that was sent.