zoukankan      html  css  js  c++  java
  • 第8章 传输层(5)_流量控制

    5. 流量控制

    (1)流量控制:就是让发送方的发送速率不要太快,要让接收方来得及接收

    (2)流量控制原理

     

      ①在客户端向服务器发送TCP连接请求时TCP首部会包含客户端接收窗口的大小,服务器就会根据这个窗口调整自己发送窗口的大小。

      ②在传输过程中,客户端发送的确认数据包除了确认号还包含窗口信息,服务器收到确认数据包后,会根据窗口信息调整发送窗口。通过这种方法进行流量控制。

    (3)流量控制过程

     

      ①在连接建立时,B告诉A“我的接收窗口(rwnd)为400字节”,这时A的发送窗口就被设置为400。(注意,ACK表示首部中的确认位,ack表示确认号)

      ②假设A发送第1~3分组出去,其中B收到1、2分组,但第3个分组丢失。这时A还没来得及发送第4个分组,就收到了B发送的的确认包(Ack=1,ack=201,rwnd=300,其中的rwnd是B根据自己当前的缓存情况给出的)

      ③A将自己的发送窗口调整为300第1次流量控制)并前移200字节,然后发送第4、5个分组。假设之后第3个分组超时重传时间到,就会接着发送第3个分组。

      ④B收到3、4、5分组以后发送确认,并根据自己缓存情况调用接收窗口(设为100)。

      ⑤A收到B的确认以后,调整发送窗口为100第2次流量控制),并发送第6个分组。

      ⑥B收到第6个分组后,缓存满就会发送(ACK=1,ack=601,rwnd=0)的确认包让A停止发送。

      ⑦A收到确认包以后将发送窗口调整为0第3次流量控制),然后停止发送。

      ⑧当B缓存有空间时,会调整接收窗口(400),并向A发送确认包(Ack=1,ack=601,rwnd=400)让A继续发送分组。如果B的这个确认包中途丢失,TCP为每一个连接设置了一个持续计时器只要一方收到零窗口通知,就启动计时器。计时器到时,就会发送一个零窗口探测报文要求对方给出窗口值,以避免A和B处于互相等待的死锁状态

  • 相关阅读:
    XPOSED优秀模块列表 E假Goto免费
    XPOSED优秀模块列表 即时屏幕开启
    介绍一个国外出售kali nethunter网站
    XPOSED优秀模块列表 数据使用
    XPOSED优秀模块列表 无自动快捷方式
    XPOSED优秀模块列表 直接APK安装
    XPOSED优秀模块列表 隐藏模拟位置
    XPOSED优秀模块列表 Tinder Mods
    XPOSED优秀模块列表 PIN/模式快捷方式
    XPOSED优秀模块列表 锁屏禁用器
  • 原文地址:https://www.cnblogs.com/5iedu/p/7258025.html
Copyright © 2011-2022 走看看