TCP滑动窗口机制

来源:互联网 发布:土耳其冰激凌 知乎 编辑:程序博客网 时间:2024/05/03 13:42

原文转自:http://blog.sina.com.cn/s/blog_5ec353710101g5a7.html




我们可以大概看一下上图的模型:
  1. 首先是AB之间三次握手建立TCP连接。在报文的交互过程中,A将自己的缓冲区大小(窗口大小)3发送给B,B同理,这样双方就知道了对端的窗口大小。
  2. A开始发送数据,A连续发送3个单位的数据,因为他知道B的缓冲区大小。在这一波数据发送完后,A就不能再发了,需等待B的确认。
  3. A发送过来的数据逐渐将缓冲区填满。
  4. 这时候缓冲区中的一个报文被进程读取,缓冲区有了一个空位,于是B向A发送一个ACK,这个报文中指示窗口大小为1。
    A收到B发过来的ACK消息,并且知道B将窗口大小调整为1,因此他只发送了一个单位的数据并且等待B的下一个确认报文。
  5. 如此反复。

0 0
原创粉丝点击