Information Technology Reference
In-Depth Information
A Cisco router uses a default MSS of 536. This is based on the requirement in RFC 791 that
a host not send a packet larger than 576 bytes unless it is certain that the destination can
accept packets larger than 576 bytes. The MSS value of 536 results from the 576-byte
requirement minus 20 bytes for the IP header and 20 bytes for the TCP header.
The assurance that the destination can accept packets that are larger than 576 also implies
that the packets can reach the destination without being fragmented. Any performance
gains achieved by a larger MSS would be drastically reduced, if not completely negated, by
excessive fragmentation in the delivery path.
The main issue with the TCP MSS value defaulting to 536 is the number of packets that are
required to send large amounts of BGP prefix information. Typically, a TCP ACK is sent
for every other packet. This is a two-to-one ratio of BGP update packets to TCP ACKs.
Increasing the TCP MSS from 536 bytes to 1460 bytes, which is based on a maximum
transmission unit (MTU) of 1500 minus 40 bytes of IP and TCP headers, provides a
reduction in update packets of 272%! This update packet reduction in turn reduces the
number of acknowledgments by two-thirds.
TCP Window Size
The TCP window size is the mechanism that TCP uses to control the rate at which it sends
packets. The TCP window default value in Cisco is 16 KB. There is a command-line inter-
face (CLI) command to configure the TCP window value. However, this value is not applied
to the BGP sessions, which continue to use the 16 KB default. The role of TCP window size
is examined in more detail in the section “Queue Optimization.”
Path MTU Discovery
The Path MTU Discovery (PMTUD) feature is defined in RFC 1191. This feature deter-
mines what the MTU is over the path between two nodes. This allows the TCP session to
set the maximum possible MSS to improve TCP performance for large data transfers with-
out causing IP fragmentation.
PMTUD is based on trial and error. The first packet is built to the size of the MTU of the
next-hop interface to the destination. The Don't Fragment (DF) bit is set, and the IP packet
is sent. If the packet reaches the destination, the session forms.
However, if the packet does not reach the destination, the intermediary hop that discards the
packet because of an MTU conflict responds with an ICMP Packet Too Big message, which
contains the MTU of the link that could not accommodate the packet. The sending host then
issues another packet that is sized to the MTU in the ICMP message. This process repeats
until the packet reaches the destination.
Search WWH ::




Custom Search