zoukankan      html  css  js  c++  java
  • TCP窗口

    一、窗口移动
    1、在建立TCP连接时,接收端会告诉发送端自己的接收窗口。
    2、发送端在发送数据时,会先为数据分包,编号,然后先发送窗口大小的数据(数据大于窗口大小),小于则全部发送了,窗口后的不允许发送。
    3、发送的数据被放在缓存区,并为已发送数据启动定时器,确认超时则重发。
    4、然后发送端等待接收端的确认信息,确认信息可能是无序的,并不会按照发送的顺序返回。
    5、从窗口起始位置,如果确认消息已回,则窗口向前滑动已回确认消息的长度,如果后面的消息回,而初始消息未确认,则窗口不滑动。
    6、接收端通过数据包序号完成拼包,保证消息的有序性(传输层)。
    二、流量控制
    1、窗口控制:接收端ACK返回窗口大小,发送方只能发送窗口内的数据,窗口可用为0不允许发送,若接收端发送可用窗口为0,则发送端会定时获取窗口大小,直到窗口不为0,允许再次发送。
    2、Nagle算法:先探知窗口大小,然后将后续数据放入缓存区,拼成合适的报文再发送,在确认消息到达一定数量时再继续下次发送。

  • 相关阅读:
    沈阳集训day2
    ac自动机
    2018沈阳集训day1
    洛谷P1875 佳佳的魔法药水
    洛谷P1941 飞扬的小鸟
    Noip2016day2
    1123: [POI2008]BLO
    1718: [Usaco2006 Jan] Redundant Paths 分离的路径
    P3119 [USACO15JAN]草鉴定Grass Cownoisseur
    [LeetCode] Clone Graph
  • 原文地址:https://www.cnblogs.com/small-office/p/9415000.html
Copyright © 2011-2022 走看看