Saturday, January 25, 2020

Round-trip time (rtt)

Round-trip time (rtt) RTT: Round-Trip Time (RTT) can also be called as round-trip delay. It is to calculate how much time required for sending a packet or signal pulse from one source to a specific destination and comes back to the same specific source. RTT is one of the several factors that affecting latency and the time between the request for data and also the complete return or display of that data. RTT can range between a few milliseconds under some ideal conditions to several seconds between points under adverse conditions. Estimated RTT plus can be defined as safety margin. It is the estimated value of RTT that is based on the combination of current RTT and the past RTT. EstimatedRTT = (1- a)*EstimatedRTTlast + a*SampleRTT Large variation in Estimated RTT means larger safety margin. To calculate the DevRTT we need to estimate how much Sample RTT deviates from Estimated RTT i.e., DevRTT = (1-b)*DevRTTlast +b*|SampleRTT-EstimatedRTT| (typically, b = 0.25) Segment Sample RTT Estimated RTT DevRTT Time Out Interval 1 130 130.00 130.00 650.00 2 138 131.00 99.25 528.00 3 122 129.88 76.41 435.50 4 124 129.14 58.59 363.50 5 131 129.37 44.35 306.77 6 139 130.58 35.37 272.05 7 139 131.63 28.37 245.10 8 121 130.30 23.60 224.71 9 134 130.76 18.51 204.80 10 127 130.29 14.71 189.12 11 267 147.38 40.93 311.12 12 139 146.33 32.53 276.47 13 126 143.79 28.85 259.19 14 134 142.57 23.78 237.68 15 141 142.37 18.18 215.08 16 137 141.70 14.81 200.93 17 291 160.36 43.76 335.42 18 123 155.69 41.00 319.68 19 134 152.98 35.49 294.95 20 139 151.23 29.68 269.95 21 141 149.95 24.50 247.94 22 142 148.96 20.11 229.41 23 139 147.71 17.26 216.77 24 122 144.50 18.57 218.79 25 123 141.81 18.63 216.34 26 143 141.96 14.23 198.90 27 215 151.09 26.65 257.70 28 134 148.95 23.73 243.87 29 122 145.59 23.69 240.36 30 134 144.14 20.30 225.35 Table 1 A premature retransmission timeout occurs if there is no packet or signal loss or if the lost packet or signal can be captured by fast retransmission mechanism. With contrast, over estimation of RTT will lead to late retransmission timeout, in that case, if there is a loss and which cannot be captured by the fast retransmission mechanism. Therefore, it is crucial to have a Retransmission Timeout (RTO) value for TCP performance which is an equilibrium point in balancing between both the above cases. Note: RTO must be smaller than RTT. Following are the few algorithms which help in setting the retransmission timeout Ludwig and Katz propose the Eifel algorithm to eliminate the unnecessary retransmissions that can result from a spurious retransmission timeout. Gurtov and Ludwig present an enhanced version of the Eifel algorithm and show its performance benefits on paths with a high bandwidth-delay product. Ekstrand Ludwig proposes a new algorithm for calculating the RTO, named the Peak-Hopper-RTO (PH-RTO), which improves upon the performance of TCP in high loss environments. RFC 3649 proposes modification of TCP congestion control that adapts the increase strategy and makes it more aggressive for high bandwidth links (i.e. for large window sizes) Even if there is no packet loss in the network, windowing can limit throughput. Because TCP transmits data up to the window size before waiting for the packets, the full bandwidth of the network may not always get used. The limitation caused by window size can be calculated as follows: where RWIN is the maximum receive windows size and RTT is the round-trip time for the path. At any given time, the window advertised by the receive side of TCP corresponds to the amount of free receive memory it has allocated for this connection. Otherwise it would take the risk to have to drop received packets by lack of space. Unrelated to the TCP receive window, the sending side should also allocate the same amount of memory as the receive side for good performance. That is because, even after data has been sent on the network, the sending side must hold it in memory until its has been acknowledged as successfully received, just in case it would have to be retransmitted. If the receiver is far away, acknowledgments will take a long time to arrive. If the send memory is small, it can saturate and block emission. A simple computation gives the same optimal send memory size as for the receive memory size given above. Packet loss When packet loss occurs in the network, an additional limit is imposed on the connection. The limit can be calculated according to the formula (Mathis et al.): where MSS is the maximum segment size and Ploss is the probability of packet loss Below table shows the theoretical maximum sustained TCP throughput 135 kbits/sec at 1 second RTT 225 kbits/sec at 600 millisec RTT (typical satellite RTT) 449 kbits/sec at 300 millisec RTT 1200 kbits/sec at 100 millisec RTT (typical domestic Internet RTT) 1780 kbits/sec at 60 millisec RTT 2800 kbits/sec at 30 millisec RTT 4510 kbits/sec at 10 millisec RTT (typical within a city) In order to set the ACK timer we need to know how large the ACK timeout value should be. It can be too short or too long. Too short > premature timeout > extra retransmission Too long > slow reaction to loos > poor performance For this we need to have the timer longer than RTT, for this we need to estimate RTT by measuring the time from a segment transmission until the receipt of ACK which is nothing but Sample RTT. For this we need to ignore retransmissions and measure only one segments RTT at a time. By doing so, the sample RTT will vary and we can compute an average RTT based on the several recent RTT samples. Timeout = Estimated RTT + 4*DevRTT The probability of premature retransmission timeout is P1 = P[RTO < RTT] ((1-p) W + (1-(1-p) W) (1-3/W) ) ≈ P[RTO < RTT] (1-3/W 2) ≈ P[RTO < RTT] The throughput degradation due to this event is: L1 = WlogW. During the slow start ph.ase we can observe, TCP sends at most W packets. We obtain that the expected output degradation result to premature retransmission timeout is: P1.L1 = P[RTO

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.