Chapter 21 TCP Timeout and Retransmission
2016-09-20 23:06:27 0 举报
AI智能生成
TCP/IP 卷一详解版
作者其他创作
大纲/内容
21.1 Introduction
TCP provides a reliable transport layer .One of the ways it provides reliability is for each end to acknowledge the data it receives from the other end. But data segments and acknowledgments can get lost.
21.2 Simple Timeout and Retransmission Example
Let's first look at the retransmission strategy used by TCP. We'll establish a connection, send some data to verify that everything is OK, disconnect the cable , send some more data, and watch what TCP does.
21.3 Round-Trip Time Measurement
Fundamental to TCP's timeout and retransmission is the measurement of the round-trip time experiendced on a given connection.
21.4 An RTT Example
We'll use the following example throughout this chapter to examine various implementation details of TCP's timeout and retransmission , slow start, and congestion avoidance.
Round-Tip Time Measurements
Three curly braces have been placed on the left side of the time line indicating which segments were timed for RTT calculations. not all data segments are timed.
RTT Estimator Calculations
Let's see how the RTT estimators are initialized and updated , and how each retransmission timeout is calculated.
Slow Start
We described the slow start algorithm in Section 20.6 . We can see it in action again in Figure 21.2 .
Only one segment is initially transmitted on the connection , and its acknowlegement must be received before another segment is transmitted.
21.5 Congestion Example
Now let's look at the transmission of the data segments. Figure 21.6 is a plot of the starting sequence number in a segment versus the time that the segment was sent .
21.6 Congestion Avoidance Algorithm
Slow start , which we described in Section 20.6 , is the way to initiate data flow across a conncetion .
21.7 Fast Retransmit and Fast Recovery Algorithms
Modifications to the congestion avoidance algorithm were proposed in 1990 . We've already seen these modifications in action in our congestion example
21.8 Congestion Example(Continued)
Watching a connection using tcpdump and the socket debug option we can see the values of cwnd and ssthresh an each segment is transmitted .
21.9 Per-Route Metrics
Newer TCP implementations maintain many of the metrics that we've described in this chapter in the routing table entry .
21.10 ICMP Errors
Let's see how TCP handles ICMP errors that are returned for a given connection .
21.11 Repacketization
When TCP times out and retransmits , it does not have to retransmit the identical segment again. Instead, TCP is allowed to perform repacketization , sending a bigger segment , which can increase performance .
21.12 Summary
0 条评论
下一页