TCP拥塞控制基本原理

TCP拥塞控制基本原理从拥塞控制原理来看,我们有两种方案来解决TCP拥塞控制问题。但是IP层并不提供显式的网路拥塞控制反馈。TCP采用的是方式是让每一个发送方根据感受的网络拥塞程度来限制其向连接发送流量的速率。拥塞控制TCP拥塞控制常被称为加性增,乘性减。这样的方式能够在拥塞的情形下,快速减少发送速率,从而避免严重的拥塞现象出现。慢启动TCP连接在刚开始建立的阶段,发送速率起始慢,T…

大家好,又见面了,我是你们的朋友全栈君。

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

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

TCP拥塞控制基本原理

拥塞控制

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

TCP拥塞控制基本原理

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

TCP拥塞控制基本原理

慢启动

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

TCP拥塞控制基本原理

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

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

快速恢复

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

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

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152776.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sequencer是什么意思_centralism

    sequencer是什么意思_centralismsequencer产生transaction,而driver负责接收transaction。classmy_driverextendsuvm_driver#(my_transaction);

    2022年8月1日
    9
  • shell中的exit 0和exit 1「建议收藏」

    shell中的exit 0和exit 1「建议收藏」exit0:正常运行程序并退出程序;exit1:非正常运行导致退出程序;exit0可以告知你的程序的使用者:你的程序是正常结束的。如果exit非0值,那么你的程序的使用者通常会认为

    2022年7月2日
    67
  • 使用 Notifications

    使用 Notifications
    第十四章:使用Notifications
    用户可能使用RaiseMan并打开了几个document,然后他发现紫色的背景颜色实在是不利于阅读文档正文.于是,他打开Preferencespanel修改背景颜色,不过令人失望的是,已经存在的文档的背景颜色不会跟着改变.于是,这个用户可能会写信给你告诉你这些.你也许会回复:”defualts会在document创建的时候才读取,保存document在打开”实际上,用户想说明的是他希望程序能立马刷新已经打开的文档.如

    2025年7月3日
    6
  • cross教学_crossing the river to school课件

    cross教学_crossing the river to school课件一个很弱智的猜数字小游戏In [1]:fromrandomimportrandintnum=randint(1,100)print(‘guesswhatIthink?’)answer=int(input())while(answer!=num):ifanswer<num:print(‘toosmall?’)elifa…

    2022年10月12日
    4
  • 使用clion创建c项目_C语言模板

    使用clion创建c项目_C语言模板参考链接File->Setting->Editor->FileandCodeTemplates选择Files选项卡,选择要要添加模板代码的文件类型在输入框中写入模板代码(关于作者,时间什么的,参考链接有说)要注意的是,#开头的代码,要用#[[…]]包起来…

    2025年9月7日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号