TCP流量控制

接收方控制发送方的发送速率就叫流量控制。
接收方每次收到数据包,可以在发送确定报文的时候,同时告诉发送方自己的缓存区还剩余多少是空闲的,我们也把缓存区的剩余大小称之为接收窗口大小,用变量win来表示接收窗口的大小。
发送方收到之后,便会调整自己的发送速率,也就是调整自己发送窗口的大小,当发送方收到接收窗口的大小为0时,发送方就会停止发送数据,防止出现大量丢包情况的发生。
当发送方收到接受窗口 win = 0 时,这时发送方停止发送报文,并且同时开启一个定时器,每隔一段时间就发个测试报文去询问接收方,打听是否可以继续发送数据了,如果可以,接收方就告诉他此时接受窗口的大小;如果接受窗口大小还是为0,则发送方再次刷新启动定时器。(为了避免win>0的数据包丢失)


数据链路层流量控制

与TCP流量控制的区别:
(1)数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。

(2)数据链路层流量控制的手段是接收方收不下就不回复确认帧。传输层的流量控制手段是接收端通过滑动窗口告诉发送方。


数据链路层的流量控制方法主要是停止等待协议和滑动窗口协议,滑动窗口协议还包括后退N帧协议GBN和选择重协议SR。

停止等待协议就是每发送完一个帧就停止发送,等待对方的确认帧,在收到确认帧后再发送下一个帧。

后退N帧协议相比于停止等待协议,它不需要等待前一个帧的确认帧便可发送后面的帧,之所以是叫后退N帧,是当有一个帧x发送失败的话,x之后的所有帧都需要重传。如下图:

(后退N帧采用累积确认机制,标明接收方已经收到n帧和它之前的全部帧。)

选择重传协议SR解决了后退N帧协议GBN数据帧丢失需要重传确认的问题,选择重传协议SR解决问题的办法是设置单个确认(与累积确认相区别),同时加大接收窗口,设置接收缓存(缓存乱序帧)。如下图:

参考

1.通俗易懂讲解TCP流量控制机制,了解一下
2.选择重传协议(SR)

传输层数据链路层流量控制相关推荐

  1. 【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )

    文章目录 一.TCP 流量控制 二.TCP 流量控制 过程 三.持续计时器机制 一.TCP 流量控制 TCP 流量控制 : ① 流量控制 : 控制 发送方 降低发送速率 , 避免 接收方 来不及接收 ...

  2. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★

    文章目录 一.传输层 TCP / UDP 协议 ★ 二.寻址端口号 ★ 三.UDP 协议特点 四.UDP 协议首部格式 五.UDP 校验 六.TCP 协议 特点 ★ 七.TCP 报文段首部格式 八.T ...

  3. 计算机网络(十一)-数据链路层-流量控制

    一.流量控制 1.1 较高的发送速度和较低的接收能力的不匹配,因此流量控制也是数据链路层的一项重要工作. 1.2 数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的. 1.3 数据链路层流量 ...

  4. 计算机网络什么叫流量控制,计算机网络(十一)-数据链路层-流量控制

    一.流量控制 1.1 较高的发送速度和较低的接收能力的不匹配,因此流量控制也是数据链路层的一项重要工作. 1.2 数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的. 1.3 数据链路层流量 ...

  5. 数据链路层和传输层可靠传输是否重复多余

    碰到一个问题         传输层协议UDP,书上说不必事先建立连接,是无连接的不可靠的协议,只是尽最大努力交付,但UDP仅是传输层协议,下面还有数据链路层协议啊,该层中有超时重传,差错重传的ARQ ...

  6. 【计算机网络】数据链路层 : 流量控制 ( “流量控制“ 机制 | 停止-等待协议 | 滑动窗口协议 | 后退 N 帧协议 GBN | 选择重传协议 SR | 滑动窗口 与 流量控制、可靠传输 )

    文章目录 一. 数据链路层 流量控制 二. 数据链路层 与 传输层 流量控制 机制 三. 数据链路层 流量控制 四. 数据链路层 流量控制 方法分类 五.停止等待协议 六.滑动窗口协议 七.滑动窗口协 ...

  7. 【计算机网络】计算机网络 OSI 参考模型 ( 计算机网络分层结构 | OSI 七层参考模型 | 应用层 | 表示层 | 会话层 | 传输层 | 网络层 | 数据链路层 | 物理层 )

    文章目录 一.计算机网络分层结构 二.OSI 七层参考模型 三.应用层 四.表示层 五.会话层 六.传输层 七.网络层 八.数据链路层 九.物理层 一.计算机网络分层结构 计算机网络分层结构 : ① ...

  8. 5.3.2 计算机网络传输层之TCP流量控制

    在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,这称为接收窗口rwnd, 即调整TCP报文段首部中的"窗口"字段值,来限制发送方向网络注入报文的速率. ...

  9. 1.2.2 OSI参考模型(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)

    文章目录 1.背景 2.OSI怎么来的? 3.OSI的结构 4.OSI数据传输图 5.OSI七层结构概述 (1)应用层(Application Layer) (2)表示层(Presentation L ...

最新文章

  1. 如何为某些HTML标记存储任意数据
  2. Py之twisted:Python库之twisted简介、安装、使用方法等详细攻略
  3. JUnit的各种断言
  4. iOS开发之 [NSNull length]:unrecognized selector sent
  5. HDbaseT 高清传输更简单——只需一根网线
  6. JQuery中trim函数的具体实现代码
  7. ROS 与 Matlab/Simulink联合仿真测试(1)
  8. 关于html5音频如何应用及解决方法?
  9. Activity MQ生产/消费和订阅/发布的区别
  10. “快手”最了不起的地方,在于它给95%的年轻人以实践的机会
  11. ABB变频器维修,ABB变频器,ABB变频器配件FS300R12KE3/AGDR-61C 驱动模块APOW-01C 电源板AINP-01C 可控硅触发板
  12. 三菱FX5U和变频器走485通讯连接,程序是FB块写好的,硬件一样可以直接调用
  13. 【渝粤教育】国家开放大学2018年春季 0553-21T色彩 参考试题
  14. Day.js 一个轻量级的 JavaScript 时间日期处理库
  15. python商品销售情况数据分析_用python分析小红书销售情况
  16. 【Try to Hack】Kerberos基础
  17. 避免项目延期,有效推进项目进度的4大关键方法
  18. 阿里云联合“产学研媒”发起 BizDevOps 共促计划,助力企业提升组织效能
  19. windows安全警报怎么关闭_永久关闭WIN10自动杀毒(windows安全中心)
  20. C++从0到1入门编程

热门文章

  1. “3+1”,剑指何方?――威海校区软件学院扫描
  2. brook协议_SilverbrookResearch与Memjet的协议
  3. 学习python,需要多少学费,Python前景怎么样?
  4. A Game of Thrones(29)
  5. 打造舒适厨房传统灶好还是集成灶好?对比之后集成灶完胜
  6. excel数据平均分配给多人_excel表格数据分配-用Excel怎么才能将组数据平均分配给几个人...
  7. ios:Layer 异步绘制
  8. CSS+JQuery实现Tabs效果,点击更改背景色(不含图片)
  9. 从TCP三次握手说起–浅析TCP协议中的疑难杂症(2)
  10. 办公创意简历模板-Word简历可编辑下载