专栏首页程序员TCP拥塞控制基本原理

TCP拥塞控制基本原理

版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/zy010101/article/details/90475458

从拥塞控制原理来看,我们有两种方案来解决TCP拥塞控制问题。但是IP层并不提供显式的网路拥塞控制反馈。

TCP采用的是方式是让每一个发送方根据感受的网络拥塞程度来限制其向连接发送流量的速率。

拥塞控制

TCP拥塞控制常被称为加性增,乘性减。

这样的方式能够在拥塞的情形下,快速减少发送速率,从而避免严重的拥塞现象出现。

慢启动

TCP连接在刚开始建立的阶段,发送速率起始慢,TCP希望能够快速找到可以的带宽数。在慢启动阶段以指数增长。如下图所示。

图中蓝色的曲线是TCP在早期的时候采用的策略,黑色的曲线是后来改进的TCP。

TCP连接中,收到3次冗余ACK远比等待时间超时下的网络状况好的多,当收到3次冗余ACK的时候,就是像上图黑色曲线部分;当发生timeout事件的时候,congWin变为1.

快速恢复

当拥塞发生的时候,那么TCP应当降低速率。如果发生的事件是超时事件,那么如上图所示,降低到1,为了快速恢复TCP速率。我们采用的策略是重启慢启动,让其迁入慢启动状态。

快速恢复不是TCP必要的部分。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 拥塞控制原理

    版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/z...

    zy010101
  • 自旋锁

    https://blog.csdn.net/zy010101/article/details/83869140

    zy010101
  • TCP简介

    版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/z...

    zy010101
  • 【RL-TCPnet网络教程】第15章 RL-TCPnet之创建多个TCP连接

    本章节为大家讲解RL-TCPnet的TCP多客户端实现,因为多客户端在实际项目中用到的地方还挺多,所以我们也专门开启一个章节做讲解。另外,学习本章节前,务必要优...

    armfly
  • 三十天学不会TCP,UDP/IP网络编程 - 绅士的开始

    经过了过年的忙碌和年初的懈怠一切的日子,我又开始重新更新了~这是最新的一篇~完整版可以去gitbook(https://www.gitbook.com/@rog...

    一心一怿
  • win10和win server 2016新的TCP功能介绍

    TFO允许在TCP握手期间发送和接收初始SYN分组中的数据。如果客户端和服务器都支持TFO功能,则可以减少建立到同一服务器的多个TCP连接的延迟。这是通过在初始...

    云语科技
  • TCP Listen backlog

    linjinhe
  • Android 在子线程中更新UI的几种方法示例

    本文介绍了Android 在子线程中更新UI的几种方法示例,分享给大家,具体如下:

    砸漏
  • OpenCV-泛洪填充

    泛洪填充简单理解就是将指定颜色从指定位置开始填充一个连通区域,此时的连通性由像素值的接近程度来衡量。OpenCV中提供两种泛洪填充方式:

    触摸壹缕阳光
  • PHP7标量类型声明RFC

    一、总结 该RFC建议添加4种新的标量类型声明:int,float,string和bool,这些类型声明将会和PHP原来的机制保持一致的用法。RFC 更推荐给每...

    wangxl

扫码关注云+社区

领取腾讯云代金券