CCIE Written Blueprint: 1.1.e Explain TCP operations

TCP - I thought I'd glance over this section. Turns out there was some stuff I'd never heard of, such as the bandwidth delay product.

1.1.e (i) IPv4 and IPv6 PMTU

Path MTU Discovery is the process of sending increasingly larger packets with the DF bit set, until finally a ICMP Destination Unreachable (Packet too large, DF bit set) message is received. The size just below that which caused this message is the maximum MTU for the path. Note that this relies on ICMP traffic being permitted through the network.

1.1.e (ii) MSS

The Maximum Segment Size is the maximum amount of data, in bytes, that can be received in a single TCP segment, excluding the TCP and IP headers. This is separate to MTU – a large TCP segment can be fragmented across multiple packets; the MSS refers to the reassembled size.

1.1.e (iii) Latency

Latency is the time it takes to get from end to end. This can be affected by congestion, serialization, queueing, propagation delay, and many other things. Good document here:

1.1.e (iv) Windowing

The window size is the amount a unacknowledged data that can be in transit at a given time. This is negotiated between two hosts. While connectivity is reliable, all packets are being received, and upper level protocols are accepting the packets and keeping the buffers empty, hosts will attempt to increase the window size. In the event of missing packets, filling buffers, etc, the hosts will reduce the segment size.

1.1.e (v) Bandwidth delay product

The bandwidth multiplied by the round trip time gives the value of how much data should be “in transit” in the network. This would be the optimum window size; The amount of data to send before you should reasonably expect an acknowledgement.

1.1.e (vi) Global synchronization

During congestion, TCP senders will reduce their window sizes, backing off the amount of bandwidth they are using. All TCP streams will behave the same way, so eventually they will become synchronised, increasing to cause congestion and backing off at roughly the same rates. This causes the familiar “saw tooth” bandwidth utilisation graphs. RED and WRED can help alleviate this.

1.1.e (vii) Options

  • Maximum Segment Size – only used in the SYN and SYN/ACK phases to negotiate the MSS for the session.
  • Window Scaling – an addition to the window size flag in the header to facilitate larger than 64kb windows.
  • Selective Acknowledgements – SACK’s can acknowledge specific parts of the stream, so that only specific bytes are retransmitted in the event of errors. Traditional ACK’s acknowledge only the latest packet received, so if packets are received out of order and an earlier bit was missing, a SACK can request only that bit.
  • Timestamps – Used so that TCP can measure delay. The original reference timestamp is negotiated during the SYN and SYN/ACK phase.
  • Nop – “No Option”. Used to separate the different options.

Share this post

  • Share to Facebook
  • Share to Twitter
  • Share to Google+
  • Share to LinkedIn
  • Share by Email