tcp流量控制、拥塞控制

大纲:

  1. 流量控制
  2. 拥塞控制

 

一、流量控制

流量控制是解决发送和接受流量不匹配

tcp报头中右16位的窗口大小,这个值表示tcp流量控制所用的滑动窗口的值。

tcp是一个全双工通讯连接,双方都维护了对方的接收窗口大小,下图是A为发送方B为接收方的一个发送过程,seq是发送数据的偏移量,每个报文大小100,初始B的窗口为400,A接收到B的ACK报文后将窗口移动至ack指针后(只有被确认的数据才能移出窗口201-300还在窗口内),并调整窗口大小为300,后面过程重复。

 

二、拥塞控制

拥塞控制是解决由于网络拥堵,发送方防止网络更加 拥堵采用了限流

 

 

拥塞控制每次传输的数据包数量称为拥塞窗口,拥塞控制算法包括4种:

  1. 慢开始:一开始将拥塞窗口设置为一个很小的值,然后这个值以指数增长至预先设定的一个阈值
  2. 拥塞避免:达到阈值后,窗口以线性方式增长,直到出现丢包
  3. 快重传:快速重传算法主要用于丢包检测,以便能更快重传数据包,当接收方接收到失序的包时,立刻回复ack确认失序前的位置,发送方连续收到3次固定ack则证明丢包,发送方不等超时计时器超时就需要重传丢失的报包
  4. 快恢复:出现丢包则窗口减半,重新拥塞避免,不再重回慢开始阶段。若没有快重传,而是超时计时器到期则证明发生了网络拥塞,这时要重新慢开始,阈值设为当前窗口大小的一半。
posted @ 2021-06-19 23:12  扶不起的刘阿斗  阅读(299)  评论(0编辑  收藏  举报