计算机网络基础知识

拥塞(se)控制

分类

  • 开环控制:设计网络时预先考虑所有情况,力求运行时不会发生拥塞
  • 闭环控制:网络系统检测拥塞,把拥塞信息传递到可采取行动的地方,调整行为

公平性和收敛性问题

TCP——为什么是AIMD?-henrystark-ChinaUnix博客

出发点:如果不进行控制,会造成网络负担过重
目的:让每个TCP发送端尽可能均分带宽,减少丢包,减轻网络设备的压力
实现:AIDM策略
AI(additive increase):加性增窗,拥塞避免阶段线性增加
MD(multiplicative decrease):乘性减窗,超时或者冗余ACK时减小为当前一半

拥塞判断方法

  • 超时
  • 收到三个重复的ACK(冗余ACK)

拥塞控制算法

  • CWND:TCP的拥塞窗口CWND(congestion window)=min(接收方窗口值,拥塞窗口值)
  • RWND:TCP接收方窗口大小

慢开始slow start

  • 初始拥塞窗口为1~2个发送方的最大报文段SMSS的数值
  • 慢开始门限ssthresh
  • 每收到一个新的报文段确认后,可以把拥塞窗口增加1,收到两个就加2,即每经过一个传输轮次(一个RTT),拥塞窗口加倍
  • 拥塞窗口每次增加量=min(N, SMSS),N为原先未被确认但现在被确认报文段所确认的字节数(接收方量力而行,发送方不浪费流量)
  • cwnd<ssthresh:慢开始算法;cwnd>ssthresh:拥塞避免算法;相等两个均可

拥塞避免congestion avoidance

  • 每一个轮次加一而不是翻倍,加法增大AI(additive increase)

快重传fast retransmission

  • 快重传没有取消重传计时器
  • 即使收到失序报文也要立即发出对已收到报文段的重复确认

快恢复fast recover

  • ssthresh=cwnd/2,cwnd=ssthresh,执行拥塞避免算法

网络拥堵后,ssthresh设置为max(cwnd/2,2),cwnd设置为1,执行慢启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值