TCP拥塞控制原理

接着上一篇博客进行讲解,前面一章讲解了TCP通信的过程。这一章主要讲解TCP拥塞控制的背后逻辑

说TCP拥塞控制前,先讲讲TCP的流量控制

TCP的流量控制

  • 一般来说,我们总是希望数据传输更快一些

     但是,当发送方把数据发送得过快时,接收方就可能来不及接收,从而导致数据的丢失。
    
  • 所谓流量控制(flow control)就是让发送方的发送速率不要太快要让接收方来得及接收。

  • 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。

注意发送方的滑动窗口大小,主要是由接收方来控制,具体多大,取决于接收方的缓存空间剩余大小

TCP的拥塞控制

  • 在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏。这种情况就叫做拥塞(congestion)

在计算机网络中的链路容量(即带宽)、交换结点中的缓存和处理机等,都是网络资源

  • 出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降。拥塞控制的目的:避免整个网络的性能下降

TCP拥塞控制的流程

进行拥塞控制前,首先需要判断网络是否发生了拥塞
TCP发生拥塞的信号丢包

TCP的拥塞控制经过了4个流程,分别为:
慢开始拥塞避免快重传快恢复

首先在TCP连接时,会确定一些参数。此时发送方中会有拥塞控制阈值,刚开始传输数据时处于慢开始阶段。在随后的数据发送阶段,发送速率会呈指数增长。当发送速率超过拥塞控制的阈值时,此时进入第二阶段拥塞避免,此时发送速率呈线程增长,每次速度+1。一旦某个速率下,重传计时器超时了,此时判断网络很可能发生了拥塞。那么,此时拥塞控制阈值会根据依据当前的传输速率减半作为新的值,且拥塞控制窗口(也就是发送窗口)变为1。如下图所示
加粗样式

快重传:是指当发送端接收到3个重复的确认报文时(表示网络发生了拥塞,某个数据报文段丢失了),此时就将缺少的数据赶快发送出去。

快恢复::这个很好理解,在网络发生拥堵的时候,上面的操作是直接将拥塞控制窗口(发送窗口)变为1了。那么快恢复就是将拥塞控制窗口不变为1。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值