TCP-IP之滑动窗口-创新互联
前言
TCP在OSI七层模型中,属于第四层(传输层),帮我们处理了传输层的细节。包括限流、丢包、网络传输乱序等问题。那TCP到底是如何实现限流的呢?
成都创新互联专业为企业提供兰山网站建设、兰山做网站、兰山网站设计、兰山网站制作等企业网站建设、网页设计与制作、兰山企业网站模板建站服务,十多年兰山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。如果你需要复习一下基础知识,请戳这里《TCP/IP基础十分钟入门》 ,博主比较懒,下周补上
接收端缓冲区被塞满
如果sender发送速度快,reciever处理速度慢。会发生什么事?
过一段时间,reciever的缓冲区被打满。
- 当reciever缓冲区被打满后,通过ack(win=0)告诉sender不要给我发送数据了,我处理不了了。
- sender就会停止发送数据。
- 过一会,reciever处理数据后,缓冲区有了空闲空间。
- 通过ack声明自己的窗口大小
- sender继续发送数据
滑动窗口出场
通过动画我们可以直观的看到窗口向右滑动,所以叫做滑动窗口。
分解动作
滑动前
图示都包含哪些信息呢?我们分解来看。
- 接收端的窗口大小为6
- 窗口外,左侧为已经发送且已经收到ack,这部分数据可以丢弃了。
- 12-14为已经发送,但未收到ack。(不能丢弃,有可能需要重发)
- 15-17为未发送数据,由于未确认数据小于6,所以可以很快发送
- 窗口外,右侧为未发送数据,但由于窗口已满,不能发送
滑动后
- sender收到ack=12的确认包
- 窗口向右滑动
- 窗口内的数据改为13-18
总结
以上就是TCP/IP中的滑动窗口。
滑动窗口也是服务限流的一种算法。其他
有些同学可能会问,如果首先收到ack=13的确认包,滑动窗口是什么样的呢?我们直接上图吧!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页题目:TCP-IP之滑动窗口-创新互联
URL链接:http://azwzsj.com/article/deoiho.html