TCP/IP 流量控制
TCP/IP流量控制
定义: 流量控制往往指的是点对点通信量的控制,是个端到端的问题。流量控制所要做的就是控制发送端发送数据的速率,以便使接收端来得及接受。利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。
原理:设A向B发送数据。在连接建立时,B告诉了A:“我的接收窗口是 rwnd = 400 ”(这里的 rwnd 表示 receiver window) 。因此,发送方的发送窗口不能超过接收方给出的接收窗口的数值。请注意,TCP的窗口单位是字节,不是报文段。TCP连接建立时的窗口协商过程在图中没有 显示出来。再设每一个报文段为100字节长,而数据报文段序号的初始值设为1。大写ACK表示首部中的确认位ACK,小写ack表示确认字段的值ack。
从图中可以看出,B进行了三次流量控制。第一次把窗口减少到 rwnd = 300 ,第二次又减到了 rwnd = 100 ,最后减到 rwnd = 0 ,即不允许发送方再发送数据了。这种使发送方暂停发送的状态将持续到主机B重新发出一个新的窗口值为止。B向A发送的三个报文段都设置了 ACK = 1 ,只有在ACK=1时确认号字段才有意义。TCP为每一个连接设有一个持续计时器(persistence timer)。只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器。若持续计时器设置的时间到期,就发送一个零窗口控测报文段(携1字节的数据),那么收到这个报文段的一方就重新设置持续计时器
TCP/IP 流量控制相关推荐
- TCP/IP——流量控制
1. 流量控制的例子 发送方不能无脑的发数据给接收方,要考虑接收方处理能力. 如果一直无脑的发数据给对方,但对方处理不过来,那么就会导致触发重发机制,从而导致网络流量的无端的浪费. 为了解决这种现象发 ...
- 网络——参考模型之ISO/OSI和TCP/IP
网络参考模型 ISO/OSI 七层参考模型 TCP/IP 四层参考模型 ISO/OSI vs TCP/IP TCP vs IP 五层参考模型 ISO/OSI 七层参考模型 层级 各层功能 应用层 为用 ...
- 在TCP/IP模型中,( )处理关于可靠性、流量控制和错误校正等问题。
在TCP/IP模型中,( C )处理关于可靠性.流量控制和错误校正等问题. A. 网络接口层 B. 网际层 C. 传输层 D. 应用层 TCP/IP模型的传输层提供端到端的通信,并负责差错控制和流量控 ...
- TCP/IP协议族之运输层(TCP流量控制和拥塞控制 [1])
TCP的流量控制 1. 利用滑动窗口实现流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失.所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收. 利用滑动 ...
- TCP/IP / 如何进行流量控制( flow control )?
目录 零.答案 一.滑窗结构 二.流量控制 三.零窗口 零.答案 接收端告诉发送端,自己现在能够接收的包的数量,发送端根据该数据来调整自己频率,从而完成了 TCP 的流量控制. 一.滑窗结构 发送方滑 ...
- TCP/IP 协议理解
TCP/IP 协议(Transmission Control Protocol / internet Protocol),因特网互联协议,又名网络通讯协议.通俗而言:TCP负责发现传输的问题,一有问题 ...
- OSI[七层]与TCP/IP[四层]模型简述简图
OSI参考模型(OSI/RM)的全称是开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它是由国际标准化组织(Interna ...
- 网络协议OSI、TCP/IP协议、Socket套接字和第三方AsyncSock的使用等解析
一.网络协议定义 1.OSI参考模型:全称(Open System Interconnection), 开放式系统互联参考模型.是一个逻辑上的定义,一个规范,它把网络协议从逻辑上分为七层,只要目的是为 ...
- 数据连接linux网络编程之TCP/IP基础(四):TCP连接的建立和断开、滑动窗口
在写这篇文章之前,xxx已经写过了几篇关于改数据连接主题的文章,想要了解的朋友可以去翻一下之前的文章 一.TCP段格式: TCP的段格式如下图所示 源端口号与目标端口号 源端口号和目标端口号,加上IP ...
最新文章
- 求求你别再用offset和limit分页了
- struts2中使用json遇到的问题总结及示例程序
- iOS之浅谈纯代码控制UIViewController视图控制器跳转界面的几种方法
- java8 虚拟机调优_Java虚拟机调优(八)-典型配置举例2
- 【图像分类】分类专栏正式上线啦!初入CV、AI你需要一份指南针!
- NYOJ--517--最小公倍数(大数打表)
- ML、DL、CNN学习记录3
- kuka的备选安装包有什么功能_机械臂的软浮动功能
- DOS bat 的注释方法
- AD Undeclared identifier: GetFontID 问题解决方法
- FE,GE,POS口的概念
- php 漏洞 怎么解决,php安全漏洞怎么修复?
- RStudio常用快捷键
- Pycharm控制台中文输出乱码怎么办?控制台输出乱码问题的解决方法
- 华为煤矿军团首登央视 | 发布会金句爆棚
- ROS机器人(一) -- 环境搭建
- 怎么将png图片缩小?教你在线压缩png图片的方法
- 利器推荐:搜刮一批办公常用软件,你用过哪一款?
- Vue进阶(幺贰零):父组件获取子组件验证结果
- WIN7环境下debug的使用