TCP滑动窗口协议

Posted alomsc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP滑动窗口协议相关的知识,希望对你有一定的参考价值。

一、什么是窗口

 窗口就是规定数据传输大小和接收大小的一个容器,比如:

数据:010100011000111  数据在传输的时候有一个固定的大小

0101 (四位)==叫做数据帧,每一次能够从网络里传输的大小,这个是由系统MTC来规定的

eg:现在一次性传了100个数据,但是每次传输的大小只能是四位,每传一次都要等待一次响应,这样会造成网络的拥堵从而造成网络延迟。

如图:每次都需要响应

技术图片

 

 

 

现在规定一个窗口有3个数据帧,0000 0000 0000 第一个数据帧传完不需要响应就可以继续传下一个数据帧,直到这个窗口为止。

滑动窗口:

规定一个窗口有5个数据帧 0000,其中 序号为0的数据帧发送成功,窗口即往右移动一位,也可以同时发送5个数据帧。

另外窗口的大小也不是一定是固定的,会根据网络带宽进行加宽和缩小。

重发:其中数据帧有一个固定时间,数据包发送后就开始等待,如果等待时间超过这个固定时间还没有接收到响应,该数据帧就会重新发送一次。

 

技术图片

 

 

 注:如果序号为2的数据包传输失败,窗口虽然右移了,但是56789数据包是不会进行发送的,直到数据包2传输成功

技术图片

 

以上是关于TCP滑动窗口协议的主要内容,如果未能解决你的问题,请参考以下文章

TCP 滑动窗口原理

互联网协议 — TCP — 滑动窗口(网络质量保障)

TCP滑动窗口控制流量的原理

4-6:TCP协议之滑动窗口

tcp窗口滑动以及拥塞控制(转)

一篇带你读懂TCP之“滑动窗口”协议