【计算机网络】-滑动窗口

滑动窗口

概念

滑动窗口是两台主机间传送数据时的缓冲区。每台TCP /IP 主机支持两个滑动窗口,

一个用于接收数据, 另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小。

工作原理

1. 滑动窗口工作过程

TCP 协议通过采用滑动窗口的方式控制数据流的传输。在传输层中, 数据按照一定的

格式打成大小相同的包。每一个滑动窗口中包含一定数目的数据包, 滑动窗口的大小可以

进行调整。每台网络上的主机维护一个发送窗口和一个接收窗口。发送方一次可发送相当于滑动窗口大小的数据包数目, 并在每个数据包前添加包头信息, 然后等待接收方返回确认信息。由于TCP 是面向连接的协议, 可以保证数据传输的完整性和准确性, 当传输过程中发生丢包时, 接收方会要求发送方从断点处重传数据。

当TCP 从应用层中接收到数据时, TCP 将一个带序列号的报头加入数据包并将其交给

IP, 由IP 将它发送到目标主机。

当每一个数据包传送时, 源主机设置重发计时器, 描述在重新发送数据包前将等待

ACK 的时间。在一般情况下, 当第一次发送失败后, 重发计时器的重试时间将设置为前一

次的两倍。在发送窗口中有每一个数据包的备份, 直到收到ACK。

当数据包到达目的主机接收窗口, 它们按照序列号放置。当目的主机接收到连续的数

据段时, 就向源主机发送一个关于数据的认可( ACK) 的应答报文, 其中带有当前窗口尺寸。一旦源主机接收到数据包并认可, 发送窗口将进行滑动。如果在重发计时器设定的时

间内, 源主机没有接收到对现存数据的认可, 数据将重新传送。重发数据包将加重网络和源主机的负担。

发布了43 篇原创文章 · 获赞 4 · 访问量 1188

猜你喜欢

转载自blog.csdn.net/weixin_42176221/article/details/105391521