• TCP滑动窗口


    TCP利用滑动窗口实现流量控制基本的数据单位不是数据段,而是字节

    滑动窗口本质上是描述接受方(本地)的TCP数据报缓冲区大小的数据,发送方根据这个数据来计算自己最多能发送多长的数据。如果发送方收到接受方的窗口大小为0的TCP数据报,那么发送方将停止发送数据,等到接受方发送窗口大小不为0的数据报的到来。tcp采用滑动窗口机制来实现流量控制

    发送方得发送窗口不能超过接受方给出的接受窗口的数值。当rwnd=0时,即不允许发送数据了,只到B发出的一个新窗口值为止。假设B向A发送了一个新的窗口报文段,这个报文段在传送的过程中丢失了,则A一直等待B发送非零窗口的通知,而B一直等待A发送数据,这样就会产生死锁局面。

    为了解决这个问题,TCP为每个连接设有一个持续计时器,如果持续计时器到期,就发送一个探测报文段(仅携带一个字节),对方确认时就给出了现在的窗口值。

    TCP规定,即使零窗口,也必须接受零窗口探测报文段,确认报文段和携带紧急数据的报文段。

    滑动窗口协议是TCP使用的一种流量控制方法,发送方和接收方都有一定大小的缓冲区,该协议允许发送方在停止并等待确认前可以连续发送多个分组,此协议能够加速数据的传输。协议中规定,对于窗口内未经确认的分组需要重传。这种分组的数量最多可以等于发送窗口的大小。

  • 相关阅读:
    if..endif 语法
    WordPress程序流程分析
    php锁表
    jQuery入门必须掌握的一些API
    集合栈
    回文链表
    链式A+B
    链表分割
    访问单个节点的删除
    链表中倒数第k个结点
  • 原文地址:https://www.cnblogs.com/gofighting/p/5411680.html
Copyright © 2020-2023  润新知