美文网首页
TCP拥塞控制、窗口滑动

TCP拥塞控制、窗口滑动

作者: n油炸小朋友 | 来源:发表于2018-08-11 12:55 被阅读0次

窗口滑动

  • “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;
  • “滑动”则是指这段“允许发送的范围”是可以随着发送的过程而变化的,方式就是按顺序“滑动”。
前提:
  • A和B应该分别维护着一个独立的发送缓冲区和接收缓冲区
  • 发送窗口是发送缓存中的一部分,是可以被TCP协议发送的那部分,其实应用层需要发送的所有数据都被放进了发送者的发送缓冲区
  • 发送窗口中相关的有四个概念:
    已发送并收到确认的数据(不再发送窗口和发送缓冲区之内)、
    已发送但未收到确认的数据(位于发送窗口之中)、
    允许发送但尚未发送的数据、
    发送窗口外发送缓冲区内暂时不允许发送的数据;
  • 每次成功发送数据之后,发送窗口就会在发送缓冲区中按顺序移动,将新的数据包含到窗口中准备发送

(下面的例子不涉及窗口大小调整,假设是B接受到了完整的报文就被进程读取的情况)


A发送缓冲区

A发送了31-41,但是B只接收到32和33,所以确认报文的ack=31。A不向后移动发送窗口,并且重发31。


A发送缓冲区和B接受缓冲区

只有当A成功发送了数据且发送的数据得到了B的确认之后,才会移动滑动窗口离开已发送并得到确认的数据;同时B继续确认连续的数据分组,对于乱序的分组则先接收下来,避免网络重复传递。

一个简单的例子(B有调整窗口)
image.png

1、 首先是AB之间三次握手建立TCP连接。在报文的交互过程中,A将自己的缓冲区大小(窗口大小)3发送给B;B同理,这样双方就知道了对端的窗口大小。
2、 A开始发送数据,A连续发送3个单位的数据,因为他知道B的缓冲区大小。在这一波数据发送完后,A就不能再发了,需等待B的确认。
3、 A发送过来的数据逐渐将B缓冲区填满。
4、 这时候B缓冲区中的一个报文被进程读取,缓冲区有了一个空位,于是B向A发送一个ACK,这个报文中指示窗口大小为1。
5、 A收到B发过来的ACK消息,并且知道B将窗口大小调整为1,因此他只发送了一个单位的数据并且等待B的下一个确认报文。
6、 如此反复。

流量控制

先看两张图:


1 2

1、一开始,设置ssthresh=16
2、 窗口大小一开始设为1,在没达到ssthresh前,窗口大小就乘2
3、 达到ssthresh后,窗口大小每次加1
4、

  • 情况一:若在窗口大小等于24的时候发生拥塞,这时把ssthresh=24/2=12,窗口设为1,继续步骤2
  • 情况二:若在窗口大小等于24的时候发送方收到3个重复的确认,就把ssthresh设为24/2=12,也把窗口大小设为12,继续步骤3

相关文章

  • TCP/IP 协议(转)

    参考:TCP/IP 协议tcp窗口滑动以及拥塞控制解析TCP之滑动窗口(动画演示)

  • 拥塞控制和流量控制

    滑动窗口的解释: 拥塞控制窗口+慢启动+拥塞控制算法=拥塞控制 TCP特性使得每个TCP连接可以得到均等的带宽。在...

  • 细说TCP的可靠传输、流量控制、拥塞控制

    目录 TCP如何实现可靠传输? TCP如何实现流量控制?(滑动窗口) TCP如何实现拥塞控制?(慢开始、拥塞避免、...

  • TCP的流量控制与拥塞控制机制

    参考:滑动窗口TCP的流量控制和拥塞控制 1 流量控制 利用滑动窗口机制实施流量控制 TCP协议里窗口机制有2种:...

  • TCP那些事儿

    目录: TCP是什么TCP报文结构TCP连接过程TCP状态转移TCP流量控制 —— 滑动窗口TCP拥塞控制TCP可...

  • TCP拥塞控制、窗口滑动

    窗口滑动 “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”; “滑动”则是指这段“允许发...

  • 网络管理2

    一、孤儿连接 二、TCP超时重传 1.固定窗口 2.滑动窗口 三、拥塞控制 四、SP和DP 帧 TCP和IP 五、...

  • TCP 重传、滑动窗口、流量控制、拥塞控制

    TCP 重传、滑动窗口、流量控制、拥塞控制 相信大家都知道 TCP 是一个可靠传输的协议,那它是如何保证可靠的呢?...

  • TCP 重传、滑动窗口、流量控制、拥塞控制

    【图解】你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了 - 小林coding - 博...

  • TCP窗口滑动以及拥塞控制

    TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的...

网友评论

      本文标题:TCP拥塞控制、窗口滑动

      本文链接:https://www.haomeiwen.com/subject/wlerbftx.html