Shared Flashcard Set

Details

TCP Data Flow and Window Management
CCIE
21
Computer Networking
Professional
01/20/2016

Additional Computer Networking Flashcards

 


 

Cards

Term
describe interactive and bulk tcp data.
Definition
Bulk data segments tend to be large and are used for applications such as web, file, sharing, email and backups.

Interactive data segments tend to be much smaller and are used for things like remote login and network games. SSH for example will send a segment for each character that is typed.
Term
what does the PSH flag indicate?
Definition
When a packet with the PSH flag set left the sender, the sender had no more data to send.
Term
describe delayed acks and why they are used.
Definition
TCP will not send an ACK for every incoming packet. Using cumulative ACKs allows TCP to delay sending an ACK, in the hope that it can combine the ACK it needs to send with some data that the local app wished to send. Delaying ACKs results in less traffic on the network because fewer ACKs are used.
Term
what is the Nagle algorithm and what problem is it designed to overcome?
Definition
The Nagle algorithm prevents a TCP sender from sending small segments (<SMSS) until all outstanding data is acknowledged. Small amounts of data are buffered at the sender until all ACKs are received or the SMSS is achieved. The aim is to reduce the amount of inefficient small segments on congested WAN links.
Term
What are the drawbacks of the Nagle algorithm?
Definition
It will often reduce throughput, especially when combined with "delayed acknowledgments" on the receiver, where a temporary form of deadlock may be experienced.
Term
what does the window advertisement actually convey?
Definition
The Window Size field in each TCP header indicates the amount of empty space, in bytes, remaining in the receive buffer.
Term
what does a window advertisement of 0 indicate?
Definition
This indicates that the receiver's buffer is full and it can't accept any more data.
Term
what does the sender-side sliding window track?
Definition
a. sequence numbers that have been ack'd.
b. Sequence numbers that are in flight.
c. sequece numbers that are yet to be sent.
Term
what is the offered window?
Definition
This is the window advertised by the receiver.
Term
what is the usable window and how is it calculated?
Definition
The usable window is how much data a sender can send immediately. It is the offered window minus the amount of data already sent but not yet acknowledged.
SND.UNA + SND.WND - SND.NXT
SND.UNA = left window edge
SND.WND = offered window
SND.NXT = the next sequence number to be sent
Term
Describe the following terms that are used to describe movement of the right and left edges of the window:
a. the window closes
b. the window opens
c. the window shrinks
Definition
a. the window closes - the left edge advances to the right and the window gets smaller.
b. the window opens - the right edge moves to the right allowing more data to be sent, this happens when the receiver frees space in its buffer.
c. the window shrinks - the right edge moves to the left, this is discouraged by the RFC but must be supported.
Term
what will a sending tcp do when it receives a zero window size?
Definition
the sending tcp will probe the peer's window to look for an increase in the offered window.
Term
what does the receiving window structure track?
Definition
a. data that has been received and acknowledged.
b. maximum sequence number it is willing to receive.
Term
under what conditions will the receiving window slide to the right?
Definition
when segments on the left of the window (no holes) are acknowledged (cumulative ACK increases).
Term
what happens to bytes outside of the receiving window that are received?
Definition
they are discarded.
Term
what is the tcp persist timer and what problem is it designed to solve?
Definition
The persist timer is used to query a receiver that is advertising a zero window size. Window probes are sent, if no window update is received, the next probe is sent after the TCP exponential backoff. Window probes will continue to be sent (TCP does not give up) until the receiver indicates that new data can be sent.

Window updates are pure ACK's and are therefore not reliable. This could lead to both sides waiting for the other, if a non-zero window update was lost. The receiver would be waiting for the sender to send data, the sender would be waiting for a non-zero window update. The persist timer overcomes this issue by ensuring that window probes continue to be sent until a non-zero window update is received.
Term
what is tcp silly window syndrome?
Definition
This is where small segments are exchanged instead of full-size segments, which leads to inefficient use of the network. A sending TCP will quickly fill a receiver's buffer as soon as space becomes available. This can be caused by either of the following:
a. a receiver advertising small windows instead of waiting until it can advertise a larger window.
b. a sender transmitting small segments instead of waiting for more data to send in a larger segment.
Term
how can a receiver avoid sws?
Definition
The receiver is not to increase its window size unless one of the following conditions are met:
a. the window can be increased to one full-size segment (RMSS).
b. the window can be increased to one-half (RFC Specs) of the receivers buffer space.
This can occur when an app has consumed some data from the network, or when TCP must respond to a window probe.
Term
how can a sender avoid sws?
Definition
Senders don’t send unless one of the following conditions is true:
a. a full-size (SMSS) segment can be sent.
b. TCP can send one-half of the maximum-size window that the other end has ever advertised on this connection.
c. TCP can send everything it has to send and either there are no ACKs outstanding or the Nagle algorithm is disabled for this connection.
Term
how is urgent data identified by a sender?
Definition
The urgent flag will be set and the urgent pointer will be set.
Term
how is the exit point for urgent mode defined by the receiving tcp?
Definition
It is the sum of the sequence number field and the urgent pointer field. The resulting sequence number may be contained within a later segment. The sequence number identified is the first byte of non-urgent data.
Supporting users have an ad free experience!