140 likes | 403 Views
RTT in TCP. 네트워크 세미나 전북대학교 분산처리 연구실 발표자 : 유석대 email: sdyu@cs.chonbuk.ac.kr 2000 년 11 월 13 일. Contents. Timeout and Retransmission -original algorithm Accurate measurement of RTT Karn ’ s Algorithm Timer Backoff Simple simulation of Karn ’ s. Timeout and Retransmission (I).
E N D
RTT in TCP 네트워크 세미나 전북대학교 분산처리 연구실 발표자: 유석대 email: sdyu@cs.chonbuk.ac.kr 2000년 11월 13일
Contents • Timeout and Retransmission -original algorithm • Accurate measurement of RTT • Karn’s Algorithm • Timer Backoff • Simple simulation of Karn’s Chonbuk Univ. DCS Lab. RTT in TCP
Timeout and Retransmission (I) • Handling timeout and retransmission • one of the mostimportant and complex idea in TCP • every time it sends a segment, TCP starts a timer and waits for a ack • Differences from other protocol • the main reason that TCP is intended for use in an internet environment • others are for the specific network, not for internet Chonbuk Univ. DCS Lab. RTT in TCP
Timeout and Retransmission (II) • Impossible to know a priori how quickly ack will return to the source • it may travel across multiple intermediate networks through multiple router • TCP must accommodate both the vast differences in the time required to reach various destinations andthe changes in time required to reach a given destination as traffic load various Chonbuk Univ. DCS Lab. RTT in TCP
Timeout and Retransmission (III) • Adaptive retransmission algorithm • original algorithm • TCP monitors the performance of each connection and deduces revises its timeout value • RTT= (*Old_RTT)+((1-)*New_RT) • where 01, RTT weighting factor • if is closed to 1 : the weighted average immune to change • if is closed to 0 : the weighted average respond to changes in delay very quickly Chonbuk Univ. DCS Lab. RTT in TCP
Timeout and Retransmission (IV) • Adaptive retransmission algorithm… • Timeout = *RTT • where 1, timeout weighting factor • recommend : = 2 • if is closed to 1 • to detect packet loss quickly • but it will cause an unnecessary retransmission • if is more than 2 • have many useless delay Chonbuk Univ. DCS Lab. RTT in TCP
Accurate measurement of RTT (I) • In theory, measuring a RT sample is trivial • Rising complication • TCP uses a cumulative ack scheme • ack refer to data received, not to the instance of a specific datagram that carried the data => treat same origin and retransmit • acknowledgment ambiguity • if retransmission occur, and only one ack is received. • for original or for retransmission??? Chonbuk Univ. DCS Lab. RTT in TCP
Accurate measurement of RTT (II) case 1: too long RTT, if that is for retransmission sender receiver case 2: too small RTT, if that is for original timeout retransmission ? Chonbuk Univ. DCS Lab. RTT in TCP
Karn’s Algorithm (I) • If the original transmission and the most recent transmission both fail to provide accurate RTTs • what should TCP do? • The accepted answer • TCP should not update the RT estimate for retransmitted segments • Karn’s algorithm • avoids the problem of ambiguous ack • discard this ack’s RT Chonbuk Univ. DCS Lab. RTT in TCP
Karn’s Algorithm (II) • Karn’s algorithm • only adjusting the estimated round trip for unambiguous ack • ack that arrive for segments that have only been transmitted once • but, one that merely ignores times from retransmitted segments, can lead to failure as well • this leads to never update the estimate and can generate the cyclic retransmission Chonbuk Univ. DCS Lab. RTT in TCP
Timer Backoff • To remedy Karn’s algorithm • problem of no consideration to RTT for the retransmission • Timer backoff (only in retransmission) • if retransmission occur, TCP increase the timeoutwhile RTT value is unchanged • but have a upper bound • new_timeout = *timeout • where is multiplicative factor • typically = 2 Chonbuk Univ. DCS Lab. RTT in TCP
100 100 100 100 Simple simulation of Karn’s (I) adaptive timeout fixed timeout timeout timeout =0.6 =2 100 80 (80*0.6+80*0.4)*2 160 retransmission 90 (80*0.6+90*0.4)*2 168 retransmission 170 retransmission (122*0.6+170*0.4)*2 224 next segment Chonbuk Univ. DCS Lab. RTT in TCP
Simple simulation of Karn’s (II) Karn’s + timer backoff Karn’s timeout timeout timeout =0.6 =2 100 =0.6 =2 100 80 80 (80*0.6+80*0.4)*2 160 (80*0.6+80*0.4)*2 160 90 90 (80*0.6+90*0.4)*2 168 (80*0.6+90*0.4)*2 168 time expire 170 time expire 170 168 retransmission 168*2 336 168 retransmission do not update!! 336 next segment next segment Chonbuk Univ. DCS Lab. RTT in TCP
Additional Algorithm • Jacobson/Karels algorithm • DIFF=Sample – Old_RTT • Smoothed_RTT=Old_RTT + *DIFF • where 0 1, controls how quickly the new sample affects the weighted average • DEV=Old_DEV + (|DIFF|-Old_DEV) • DEV is the estimated mean deviation • Timeout = Smoothed_RTT +*DEV • Where • chooses , to each be an inverse of a power of 2n, 1/23 or 1/22, and n=3 work well • is begun with 2, it was changed to 4 in 4.4 BSD Chonbuk Univ. DCS Lab. RTT in TCP