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 流量控制相关推荐

  1. TCP/IP——流量控制

    1. 流量控制的例子 发送方不能无脑的发数据给接收方,要考虑接收方处理能力. 如果一直无脑的发数据给对方,但对方处理不过来,那么就会导致触发重发机制,从而导致网络流量的无端的浪费. 为了解决这种现象发 ...

  2. 网络——参考模型之ISO/OSI和TCP/IP

    网络参考模型 ISO/OSI 七层参考模型 TCP/IP 四层参考模型 ISO/OSI vs TCP/IP TCP vs IP 五层参考模型 ISO/OSI 七层参考模型 层级 各层功能 应用层 为用 ...

  3. 在TCP/IP模型中,( )处理关于可靠性、流量控制和错误校正等问题。

    在TCP/IP模型中,( C )处理关于可靠性.流量控制和错误校正等问题. A. 网络接口层 B. 网际层 C. 传输层 D. 应用层 TCP/IP模型的传输层提供端到端的通信,并负责差错控制和流量控 ...

  4. TCP/IP协议族之运输层(TCP流量控制和拥塞控制 [1])

    TCP的流量控制 1. 利用滑动窗口实现流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失.所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收. 利用滑动 ...

  5. TCP/IP / 如何进行流量控制( flow control )?

    目录 零.答案 一.滑窗结构 二.流量控制 三.零窗口 零.答案 接收端告诉发送端,自己现在能够接收的包的数量,发送端根据该数据来调整自己频率,从而完成了 TCP 的流量控制. 一.滑窗结构 发送方滑 ...

  6. TCP/IP 协议理解

    TCP/IP 协议(Transmission Control Protocol / internet Protocol),因特网互联协议,又名网络通讯协议.通俗而言:TCP负责发现传输的问题,一有问题 ...

  7. OSI[七层]与TCP/IP[四层]模型简述简图

    OSI参考模型(OSI/RM)的全称是开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它是由国际标准化组织(Interna ...

  8. 网络协议OSI、TCP/IP协议、Socket套接字和第三方AsyncSock的使用等解析

    一.网络协议定义 1.OSI参考模型:全称(Open System Interconnection), 开放式系统互联参考模型.是一个逻辑上的定义,一个规范,它把网络协议从逻辑上分为七层,只要目的是为 ...

  9. 数据连接linux网络编程之TCP/IP基础(四):TCP连接的建立和断开、滑动窗口

    在写这篇文章之前,xxx已经写过了几篇关于改数据连接主题的文章,想要了解的朋友可以去翻一下之前的文章 一.TCP段格式: TCP的段格式如下图所示 源端口号与目标端口号 源端口号和目标端口号,加上IP ...

最新文章

  1. 求求你别再用offset和limit分页了
  2. struts2中使用json遇到的问题总结及示例程序
  3. iOS之浅谈纯代码控制UIViewController视图控制器跳转界面的几种方法
  4. java8 虚拟机调优_Java虚拟机调优(八)-典型配置举例2
  5. 【图像分类】分类专栏正式上线啦!初入CV、AI你需要一份指南针!
  6. NYOJ--517--最小公倍数(大数打表)
  7. ML、DL、CNN学习记录3
  8. kuka的备选安装包有什么功能_机械臂的软浮动功能
  9. DOS bat 的注释方法
  10. AD Undeclared identifier: GetFontID 问题解决方法
  11. FE,GE,POS口的概念
  12. php 漏洞 怎么解决,php安全漏洞怎么修复?
  13. RStudio常用快捷键
  14. Pycharm控制台中文输出乱码怎么办?控制台输出乱码问题的解决方法
  15. 华为煤矿军团首登央视 | 发布会金句爆棚
  16. ROS机器人(一) -- 环境搭建
  17. 怎么将png图片缩小?教你在线压缩png图片的方法
  18. 利器推荐:搜刮一批办公常用软件,你用过哪一款?
  19. Vue进阶(幺贰零):父组件获取子组件验证结果
  20. WIN7环境下debug的使用

热门文章

  1. 旷视CTO唐文斌:算法是鸡蛋 Brain 是那只“鸡”
  2. 东方标准CEO吴雷的履历
  3. 霍尔传感器与量子阱霍尔传感器的区别。
  4. 《OpenCL异构计算》学习笔记
  5. 计算机无法进入网络官网,详细教您怎么解决无法启动承载网络
  6. B2C 什么是B2C B2C的意义 B2C发展策略 B2C应用
  7. 入门前端-《JavaScript 语言入门教程-实例对象和New对象》
  8. 基于java的汽车销售管理系统
  9. 国产兼容三菱FX3U源码 ,修改监控时卡顿问题。 8位口令功能,程序消除功能
  10. vue 选取某月、当月第一天和最后一天处理