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

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

  • 相关阅读:
    Linux下视频采集及其显示
    编译webcam_server
    mjpgstreamer
    linux下ffmpeg的安装
    armlinuxgcc的命令参数介绍
    ADS1.2如何生成BIN文件
    OpenJTAG下载bootloader 备忘
    Android 3.0 以下 使用Fragment 实例
    Dialog 学习备忘
    CentOS安装wsgi
  • 原文地址:https://www.cnblogs.com/small-office/p/9415000.html
Copyright © 2011-2022 走看看