博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP协议的流量控制
阅读量:3964 次
发布时间:2019-05-24

本文共 404 字,大约阅读时间需要 1 分钟。

TCP 利用滑动窗口实现流量控制。流量控制是为了控制发送方发送速率,保证接收方来得及接收数据。

接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为 0,则发送方不能发送数据。

如下图中:

ack=201代表期待收到的下一个字节的序号,rwnd=300,代表当前的窗口为300,表示说接收方还可以接收300个字节的数据

在这里插入图片描述
现在考虑一种特殊的情况:

  • 当接收方窗口大小为0时,发送方不能发送数据,在接收方把数据处理完之后,向接收方发送rwnd=1000,通知发送方我还可以接收1000个字节的数据,但是这个字段在传输时丢失了,接收方并没有接收到这个数据,默认接收方当前窗口为0。这种情况该如何处理呢?

可以通过坚持定时器来解决这个问题

坚持定时器

  • 当接收到窗口为0的消息,则启动坚持定时器
  • 坚持定时器会每隔一段时间发送一个窗口探测报文,来询问接收方当前的窗口大小。

转载地址:http://rhrzi.baihongyu.com/

你可能感兴趣的文章
Linux系统调用
查看>>
Linux 信号signal处理机制
查看>>
Linux 信号signal处理函数
查看>>
perror简介
查看>>
linux的system () 函数详解
查看>>
在shell脚本的第一行中,必须写#!/bin/bash
查看>>
一句话##错误 'ASP 0116' 丢失脚本关闭分隔符
查看>>
文件上传漏洞之.htaccess
查看>>
常见网络安全设备默认口令
查看>>
VirtualBox虚拟机网络配置
查看>>
oracle vm virtualbox虚拟机下,CentOS7系统网络配置
查看>>
解决Linux CentOS中cp -f 复制强制覆盖的命令无效的方法
查看>>
wdcpv3升级到v3.2后,多PHP版本共存的安装方法
查看>>
PHP统计当前网站的访问人数,访问信息,被多少次访问。
查看>>
Windows10远程报错CredSSP加密oracle修正
查看>>
Windows server 2016 设置多用户登陆
查看>>
偶然发现的面包屑
查看>>
CentOS 7 下挂载NTFS文件系统磁盘并设置开机自动挂载
查看>>
非插件实现Typecho语法高亮
查看>>
windows 下 netsh 实现 端口映射(端口转发)
查看>>