概述
目录
慢开始
拥塞避免
快重传算法
快恢复算法
总结
TCP拥塞控制和网络层策略的联系
四种拥塞控制算法: 慢开始、拥塞避免、快重传、快恢复
慢开始
目的:用来确定网络的负载能力或拥塞程度
算法思路:由小到大逐渐增大拥塞窗口数值
两个变量:
1)拥塞窗口:
初始拥塞窗口值:2种设置方法
1至2个最大报文段(旧标准)
2至4个最大报文段(RFC 5681)
窗口值逐渐增大
2)慢开始门限
防止拥塞窗口增长过大引起网络拥塞
拥塞避免
算法思路:让拥塞窗口cwnd缓慢地增大,避免出现拥塞
每经过一个传输轮次,拥塞窗口cwnd = cwnd + 1
使拥塞窗口cwnd按线性规律缓慢增大
在拥塞避免阶段,具有“加法增大”的特点
无论在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞(重传定时器超时)
目的:迅速减少主机发送到网络中的分组数,使得发送拥塞的路由器有足够时间把队列中积压的分组处理完毕
注意:“拥塞避免”并非指完全能够避免了拥塞。利用以上的措施要完全避免网络拥塞还是不可能的。“拥塞避免”是说在拥塞避免阶段把拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞。
快重传算法
发送方只要一连收到三个重复确认,就知道接收方确实没有收到报文段,因而应当立即进行重传(即“快重传”)这样就不会出现超时,发送方也不就会误以为出现了网络拥塞。
使用快重传可以使整个网络的吞吐量提高约20%
快恢复算法
当发送方收到连续三个重复的确认时,由于发送方现在认为网络很可能没有发送拥塞,因此现在不执行慢开始算法,而是执行快恢复算法FR(Fast Recovery)算法:
总结
下图涵盖了以上四个算法
TCP拥塞控制和网络层策略的联系
路由器的队列通常都是按照“先进先出”FIFO(First InFirst Out)的规则处理到来的分组。
当队列已满时,以后再到达的所有分组(如果能够继续排队,这些分组都将排在队列的尾部)将都被丢弃。这就叫做尾部丢弃策略(tail-drop policy)。
路由器的尾部丢弃往往会导致一连串分组的丢失,这就使发送方出现超时重传,使TCP进入拥塞控制的慢开始状态,结果使TCP连接的发送方突然把数据的发送速率降低到很小的数值。
最后
以上就是魁梧白羊为你收集整理的TCP拥塞控制算法的全部内容,希望文章能够帮你解决TCP拥塞控制算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复