美文网首页
网络协议(八)-传输层(流量控制)

网络协议(八)-传输层(流量控制)

作者: 小冰山口 | 来源:发表于2020-11-18 23:37 被阅读0次

    以下内容来自于小码哥"网络协议从入门到底层原理"

    流量控制
    • 如果接收方的缓存区满了, 发送方还在疯狂地发送数据
      -- 接收方只能把收到的数据包丢掉, 大量的丢包会极大地浪费网络资源
      -- 所以要进行流量控制

    • 什么是流量控制?
      -- 让发送方的发送速率不要太快, 让接收方来得及接收处理

    • 原理
      -- 通过确认报文中窗口字段来控制发送方的发送速率
      -- 发送方的发送窗口大小不能超过接收方给出窗口大小
      -- 当发送方收到接收窗口的大小为0时, 发送方就会停止发送数据

    • rwnd
      -- wnd -> window
      -- r -> receive
      -- rwnd -> 接收窗口

    • 有一种特殊情况
      -- 一开始, 接收方给发送方发送了0窗口的报文段
      -- 后面, 接收方又有了一些存储空间, 给发送方发送的非0窗口的报文段丢失了
      -- 发送方的发送窗口一直为零, 双方陷入僵局

    • 解决方案
      -- 当发送方收到0窗口通知时, 这时发送方停止发送报文
      -- 并且同时开启一个定时器, 隔一段时间就发个测试报文去询问接收方最新的窗口大小
      -- 如果接收的窗口还是为0, 则发送方再次刷新启动定时器

    相关文章

      网友评论

          本文标题:网络协议(八)-传输层(流量控制)

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