When TCP was born, its main operating environment was low-speed networks such as Ethernet and slip. With the emergence of high-speed networks, the requirement for higher TCP protocol throughput and higher efficiency is becoming more and more urgent. To this end, TCP has added three important mechanisms to adapt to current changes. They are
- Path MTU found.
- Window expansion options and timestamp.
- T/tcp (TCP protocol with transaction function added ).
1. Path MTU discovery
As the name implies, the path MTU refers to the maximum number of units that can be transferred between the source host and the cemetery host. The principle is to estimate the MTU size by setting an IP datagram that does not allow sharding and waiting for an ICMP error. The p257 in the book describes how TCP modifies its MTU Based on the ICMP message. The details are as follows:
- When the source host receives a newer ICMP error message, you can directly modify the maximum size of the sent packet to the difference between the MTU and the IP header and the TCP Header of the sent ICMP error message.
- When the source host receives a newer ICMP error message, it must try the next MTU (each of the different network devices has an MTU, and each MTU ranges from large to small to "65535,17914, 4464,4352, 1500,1492, 576,296 ").
- Because the route can be dynamically changed, the sender can use a large packet to detect the path MTU every 10 minutes.
2. Long fat Pipe
The so-calledLong fat PipeIt refers to the channel with extended transmission time and wide bandwidth. The standard for measuring this concept is the latency area. If the network is "Long and fat", the network utilization will be greatly reduced, and the common timing method and window area will be insufficient. More measures are needed to make up for this defect. This is the timestamp and window expansion options. These are all extended options defined outside the classic TCP Header, in the following format:
2. 1. TIMESTAMP options
The user places a timestamp when sending each TCP message, and the receiver returns the timestamp value during confirmation. The sender can calculate the RTT According to the time stamp. This makes the RTT more accurate and reduces unnecessary retransmission. Reduces network load.
2. Window expansion options
It is strange that the maximum number of Window Extensions is only 14 rather than 64. After all, the window expansion option can be used for data that is as long as a byte. However, remember it anyway. The window expansion option can extend the window to the power of 30th of 2. This almost perfectly solves the problem of fertilizer pipeline.