TCP协议的流量控制
发布日期:2021-07-27 04:52:00
浏览次数:6
分类:技术文章
本文共 404 字,大约阅读时间需要 1 分钟。
TCP 利用滑动窗口实现流量控制。流量控制是为了控制发送方发送速率,保证接收方来得及接收数据。
接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为 0,则发送方不能发送数据。
如下图中:
ack=201代表期待收到的下一个字节的序号,rwnd=300,代表当前的窗口为300,表示说接收方还可以接收300个字节的数据
现在考虑一种特殊的情况:- 当接收方窗口大小为0时,发送方不能发送数据,在接收方把数据处理完之后,向接收方发送rwnd=1000,通知发送方我还可以接收1000个字节的数据,但是这个字段在传输时丢失了,接收方并没有接收到这个数据,默认接收方当前窗口为0。这种情况该如何处理呢?
可以通过坚持定时器来解决这个问题
坚持定时器
- 当接收到窗口为0的消息,则启动坚持定时器
- 坚持定时器会每隔一段时间发送一个窗口探测报文,来询问接收方当前的窗口大小。
转载地址:https://blog.csdn.net/qq_45287265/article/details/117234046 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年09月07日 11时33分52秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
eclipse安装插件的两种方式在线和离线
2019-05-27
linux下源的相关笔记(suse)
2019-05-27
linux系统分区文件系统划分札记
2019-05-27
Linux(SUSE 12)安装Tomcat
2019-05-27
Linux(SUSE 12)安装jboss4并实现远程访问
2019-05-27
Neutron在给虚拟机分配网络时,底层是如何实现的?
2019-05-27
netfilter/iptables全攻略
2019-05-27
Overlay之VXLAN架构
2019-05-27
在eclipse上用tomcat部署项目404解决方案
2019-05-27
web.xml 配置中classpath: 与classpath*:的区别
2019-05-27
suse如何修改ssh端口为2222?
2019-05-27
详细理解“>/dev/null 2>&1”
2019-05-27
suse如何创建定时任务?
2019-05-27
suse搭建ftp服务器方法
2019-05-27
centos虚拟机设置共享文件夹并通过我的电脑访问[增加smbd端口修改]
2019-05-27
文件拷贝(IFileOperation::CopyItem)
2019-05-27
MapReduce的 Speculative Execution机制
2019-05-27
大数据学习之路------借助HDP SANDBOX开始学习
2019-05-27
Hadoop基础学习:基于Hortonworks HDP
2019-05-27