TCP拥塞控制

TCP拥塞控制的介绍

什么是拥塞现象?

拥塞现象是指注入到网络中的数据量过多,使得网络来不及处理,以至于引起部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿。

流量控制和拥塞控制的区别是什么?

  • 流量控制:局部性
  • 拥塞控制:全局性

拥塞现象产生的原因是什么?

  • 存储空间不足
  • 带宽容量不足
  • 处理器处理能力弱,速度慢

图解拥塞控制算法设计:
TCP拥塞控制笔记摘录

TCP拥塞控制算法

  • 由于需要考虑拥塞控制和流量控制,因此TCP真正的发送窗口应该相当于
    min (rwnd, cwnd)
  • 有时认为cwnd(发送窗口大小)增加1也就是相当于字节数增加一个MSS大小

1.慢启动

  • 在刚建立的TCP连接上,或在超时后重新启动数据传输后,将一个MSS置为拥塞窗口大小,以后每次收到一个确认后,递增一个MSS大小,直到发生超时
  • 可以进行计算,刚开始时,cwnd = 1(MSS),经过一个RTT (往返时延) 后,cwnd = 1x2 = 2, 经过两个RTT后,cwnd = 2 x 2 = 4 ……

2.拥塞避免

  • TCP引入慢启动阙值概念,当cwnd超过这个值后,慢启动过程结束,进入拥塞避免阶段
  • 此后拥塞窗口的大小按照线性增长,即每次经过一个RTT,窗口大小增加 1MSS

3.发生超时后

  • 把阙值降为当前拥塞窗口大小的一半
  • 将拥塞窗口大小重新置为1MSS
  • 重新进入慢启动阶段

通过下面这个例题也许能更容易理解TCP的拥塞控制算法:

主机甲和主机乙已建立了TCP连接,甲始终以MSS=1 KB大小的段发送数据,并一直有数据发送;乙每收到一个数据段都会发出一个接收窗口为10 KB的确认段。若甲在t时刻发生超时时拥塞窗口为8 KB,则从t时刻起,不再发生超时的情况下,经过10个RTT后,甲的发送窗口是( A )。

A.10 KB

B.12 KB

C.14 KB

D.15 KB

解析:

t 时刻拥塞窗口为8,则t+1时刻后阈值为4,拥塞窗口置为1,后续按2的指数增长,到达阈值时,开始每次+1,即后续10次的拥塞窗口为1,2,4,5,6,7,8,9,10,11发送窗口等于拥塞窗口与接收窗口中小的。故为10KB

相关文章: