TCP Flow Control—Maximum Segment Size (MSS) (26.6.6)
In Figure 26-27, the source is transmitting 1,460 bytes of data within each TCP segment. This is typically the Maximum Segment Size (MSS) that the destination device can receive. The MSS is part of the Options field in the TCP header that specifies the largest amount of data, in bytes, that a device can receive in a single TCP segment. The MSS size does not include the TCP header. The MSS is typically included during the three-way handshake.
Figure 26-27 Maximum Segment Size
A common MSS is 1,460 bytes when using IPv4. A host determines the value of its MSS field by subtracting the IP and TCP headers from the Ethernet maximum transmission unit (MTU). On an Ethernet interface, the default MTU is 1,500 bytes. Subtracting the IPv4 header of 20 bytes and the TCP header of 20 bytes, the default MSS size is 1,460 bytes, as shown in Figure 26-28.
Figure 26-28 1,460 Byte MSS
TCP Flow Control—Congestion Avoidance (26.6.7)
When congestion occurs on a network, it results in packets being discarded by the overloaded router. When packets containing TCP segments do not reach their destination, they are left unacknowledged. By determining the rate at which TCP segments are sent but not acknowledged, the source can assume a certain level of network congestion.
Whenever there is congestion, retransmission of lost TCP segments from the source occurs. If the retransmission is not properly controlled, the additional retransmission of the TCP segments can make the congestion even worse. Not only are new packets with TCP segments introduced into the network, but the feedback effect of the retransmitted TCP segments that were lost also adds to the congestion. To avoid and control congestion, TCP employs several congestion handling mechanisms, timers, and algorithms.
If the source determines that the TCP segments are either not being acknowledged or not acknowledged in a timely manner, then it can reduce the number of bytes it sends before receiving an acknowledgment. As illustrated in Figure 26-29, PC A senses there is congestion and therefore reduces the number of bytes it sends before receiving an acknowledgment from PC B.
Figure 26-29 TCP Congestion Control
Notice that it is the source that is reducing the number of unacknowledged bytes it sends and not the window size determined by the destination.
Note
Explanations of actual congestion handling mechanisms, timers, and algorithms are beyond the scope of this course.
Check Your Understanding—Reliability and Flow Control (26.6.8)
Refer to the online course to complete this activity.