赞
踩
本文系转载自以下两篇文章:
转载仅为方便学习查看,一切权利属于原作者,本人只是做了整理和排版,如果带来不便请联系我删除。
从网络传输数据来讲,TCP、UDP以及其他协议都可以完成数据的传输,而TCP协议与其他协议不同的一点就是提供了一个可靠的,流量控制的数据传输方案:
TCP协议包括两种窗口机制,分别为固定窗口和滑动窗口。
TCP协议是可靠协议,通过确认机制实现数据的可靠传输。即发送方在发送完数据之后启动定时器,然后等待确认包的到来,若超过一定时间未收到确认包,则重新发送该数据。
这种情况下,如果某个数据包多次传输失败,则会直接影响后续数据包的发送,非常影响传输效率。固定窗口发送示意图如下:
滑动窗口的最大优势为不需要对每个数据包进行确认,而是可以进行累积确认。
由于TCP协议属于全双工协议,所以两个端都包含发送窗口和接收窗口。
滑动窗口简易结构如下图:
滑动窗口并不会对每一个报文段都回复确认码ACK,而是对一个或多个报文段发送一个确认码。
例如发送方有1,2,3这3个报文段,首先一次发送了1,2,3三个报文段,但是接收方提前接收到了2,3报文段,而1报文段还没有到达,这时2,3报文段只能缓存起来并等待1报文段的到来。
例子如下:
发送但未确认窗口
移到发送且已确认窗口
,即将发送但未确认窗口
的左边界右移4个单位。发送但未确认窗口
的右边界继续向右移动4个单位,只要不越进不允许发送窗口
即可。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。