计算机网络笔记(7) 传输层 拥塞控制

文章目录

    • 拥塞
    • TCP拥塞控制

拥塞

拥塞(Congestion)

网络拥塞:网络中的数据太多,导致某个路由器处理不过来或处理地太慢

  • 路由器的内存是有限的,若同一时间到达某个路由器的数据太多,这个路由器将无法接收所有的数据,只能将一部分丢弃;
  • 或者若同一台路由器数据太多,后面到达的数据将要等待较长的时间才会被转发。
  • 表现为:
    • 分组丢失(了缓存溢出)
    • 分组延迟过大(在路由器缓存中排队)

拥塞窗口(CongWin):“拥塞窗口”就是“拥塞避免”的窗口,它是一个装在发送端的可滑动窗口,窗口的大小是不超过接收端确认通知的窗口。
- 拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。如果再考虑到接收方的接收能力,那么发送窗口还可能小于拥塞窗口
- 发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减少一些,以减少注入到网络中的分组数。

TCP拥塞控制

拥塞控制:就是在网络中发生拥塞时,减少向网络中发送数据的速度,防止造成恶性循环;同时在网络空闲时,提高发送数据的速度,最大限度地利用网络资源。

有无拥塞控制的区别
计算机网络笔记(7) 传输层 拥塞控制_第1张图片

感知网络拥塞:
Loss事件=timeout或3个重复复ACK
发生loss事件后,发送方降低速率

调整发送速率,进行拥塞控制的方法:

  1. 加性增-乘性减(AI-MD):逐渐增加发送速率,谨慎探测可用带宽,直到发生loss

    • AI(additive Increase):每个RTT将CongWin增大一个MSS——拥塞避免
    • MD(Multiplicative Decrease)发生loss后将CongWin减半
  2. 慢启动:SS:当连接开始时,指数性增长

    • 指数型增长
      • 每个RTT将CongWin翻倍
      • 收到每个ACK进行操作
    • 初始速率很慢,但是快速攀升

Loss事件的处理

  1. 收到3个重复ACK时:
    • CongWin且到一半 即CongWin/2
    • 然后线性增长
  2. 发生Timeout事件时:(拥塞更为严重)
    • CongWin直接设为1个MSS(一个最大报文段长度)
    • 然后指数增长
    • 达到临界后,再线性增长

你可能感兴趣的:(计算机网络,学习,windows,经验分享,网络协议,tcp/ip)