欢迎来到天天文库
浏览记录
ID:15342216
大小:233.06 KB
页数:33页
时间:2018-08-02
《tcp拥塞控制:tahoe、reno、newreno与sack算法概述与比较》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、TCP拥塞控制:Tahoe、Reno、NewReno与SACK算法概述与比较刘娟2011.12.12拥塞的发生Sourcerate=bpsIfWtoosmallthenrate«capacityIfWtoobigthenrate>capacity=>congestionKnee–pointafterwhichThroughput增加非常缓慢Delay迅速增加Cliff–pointafterwhichThroughput迅速减少到0(congestioncollapse)Delay接近正无穷LoadLoadThroughputDelaykneecliffcongest
2、ioncollapsepacketlossCongestionControlvs.CongestionAvoidanceCongestioncontrolgoalStayleftofcliffCongestionavoidancegoalStayleftofkneeLoadThroughputkneecliffcongestioncollapsePossibleChoices(AIMD算法)Additiveincrease,multiplicativedecreaseaI>0,bI=1,aD=0,03、signalLossNeedtosendpacketstodetectcongestionMustreconcile(一致)withAIMDHowtomaintainequilibrium(均衡)?UseACK:sendanewpacketonlyafteryoureceiveanACK.Maintainnumberofpacketsinnetwork“constant”TCPCongestionControlsTahoe(Jacobson1988)SlowStartCongestionAvoidanceFastRetransmitReno(Jacobson19904、)FastRecoveryVegas(Brakmo&Peterson1994)NewCongestionAvoidanceRED(Floyd&Jacobson1993)Probabilisticmarking(随机标志)REM(Athuraliya&Low2000)Clearbuffer,matchrateTCPTahoe1988年加入VanJacobson提出的慢启动、拥塞避免和快速重传算法之后的4.3BSD或类似的TCP实现版本。只有拥塞控制的前三部分,没有快速恢复。正如RFC793所要求的,Tahoe采用了递增式肯定重传策略和"go-back-n"模型(滑动窗5、口算法)。在不清楚网络环境的情况下向网络传送数据,要求TCP缓慢地探测网络以确定可用带宽,以避免突然传送大量数据而使网络拥塞。为达此目的,在传送开始时,采用了慢启动机制,这个机制在修复了由重发定时器探测到的数据丢失之后也被采用。TCPTahoe在慢启动阶段,拥塞窗口(cwnd)随着确认的到来以指数方式递增(这种以ACK来触发TRANSMIT的机制,被VJ称为"ACKclocking",或"self-clocking"),直到到达阀值ssthresh;之后TCP进入拥塞避免阶段,cwnd每隔RTT以线性方式递增1个单位。如果连续收到3个重复确认,TCP不等重传定时器溢6、出,马上重传丢失的报文段,这称为快速重传;之后TCP返回慢启动状态。TCPTahoe(Jacobson1988)Howtoadjustwindowineachphase?Whentoswitchphase?sstimewindowcass:slowstartca:congestionavoidanceSlowStartExampleThecongestionwindowsizegrowsveryrapidlyTCPslowsdowntheincreaseofcwndwhencwnd>=ssthreshACK1segment1cwnd=1cwnd=2segment2s7、egment3ACK2cwnd=4segment4segment5segment6segment7ACK3-4cwnd=8CongestionAvoidanceSlowdown“SlowStart”Ifcwnd>ssthreshtheneachtimeasegmentisacknowledgedincrementcwndby1/cwnd(cwnd+=1/cwnd).Socwndisincreasedbyoneonlyifallsegmentshavebeenacknowlegded.Congestionavoidanceandslowstartareindep
3、signalLossNeedtosendpacketstodetectcongestionMustreconcile(一致)withAIMDHowtomaintainequilibrium(均衡)?UseACK:sendanewpacketonlyafteryoureceiveanACK.Maintainnumberofpacketsinnetwork“constant”TCPCongestionControlsTahoe(Jacobson1988)SlowStartCongestionAvoidanceFastRetransmitReno(Jacobson1990
4、)FastRecoveryVegas(Brakmo&Peterson1994)NewCongestionAvoidanceRED(Floyd&Jacobson1993)Probabilisticmarking(随机标志)REM(Athuraliya&Low2000)Clearbuffer,matchrateTCPTahoe1988年加入VanJacobson提出的慢启动、拥塞避免和快速重传算法之后的4.3BSD或类似的TCP实现版本。只有拥塞控制的前三部分,没有快速恢复。正如RFC793所要求的,Tahoe采用了递增式肯定重传策略和"go-back-n"模型(滑动窗
5、口算法)。在不清楚网络环境的情况下向网络传送数据,要求TCP缓慢地探测网络以确定可用带宽,以避免突然传送大量数据而使网络拥塞。为达此目的,在传送开始时,采用了慢启动机制,这个机制在修复了由重发定时器探测到的数据丢失之后也被采用。TCPTahoe在慢启动阶段,拥塞窗口(cwnd)随着确认的到来以指数方式递增(这种以ACK来触发TRANSMIT的机制,被VJ称为"ACKclocking",或"self-clocking"),直到到达阀值ssthresh;之后TCP进入拥塞避免阶段,cwnd每隔RTT以线性方式递增1个单位。如果连续收到3个重复确认,TCP不等重传定时器溢
6、出,马上重传丢失的报文段,这称为快速重传;之后TCP返回慢启动状态。TCPTahoe(Jacobson1988)Howtoadjustwindowineachphase?Whentoswitchphase?sstimewindowcass:slowstartca:congestionavoidanceSlowStartExampleThecongestionwindowsizegrowsveryrapidlyTCPslowsdowntheincreaseofcwndwhencwnd>=ssthreshACK1segment1cwnd=1cwnd=2segment2s
7、egment3ACK2cwnd=4segment4segment5segment6segment7ACK3-4cwnd=8CongestionAvoidanceSlowdown“SlowStart”Ifcwnd>ssthreshtheneachtimeasegmentisacknowledgedincrementcwndby1/cwnd(cwnd+=1/cwnd).Socwndisincreasedbyoneonlyifallsegmentshavebeenacknowlegded.Congestionavoidanceandslowstartareindep
此文档下载收益归作者所有