计网协议 | TCP(2-流量控制)
发布日期:2022-02-21 17:40:27 浏览次数:39 分类:技术文章

本文共 544 字,大约阅读时间需要 1 分钟。

1 何为流量控制

让发送方慢点发,让接收方来得及接收。

TCP的流量控制是通过滑动窗口来实现的

滑动窗口:

在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,即接收窗口rwnd(接收方设置确认报文段的窗口字段来将rwnd通知给发送方),发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。


2 举个栗子

A向B发送数据,连接建立时,B告诉A:“我的rwnd=400((字节)”,设每一个报文段100B,报文段序号初始值为1。

在这里插入图片描述

补充:
当rwnd=0的时候,发送方停止发送数据,如需继续发送数据,发送方必须等待接收方提供一个不为0的滑动窗口值,在rwnd=0这段时间,接收方需要处理处于缓存中的这些数据。


3 可能会出现的问题

聪明的你肯定又发现了:rwnd=0的时候,接收方服务器挂了咋整,这不是出现死锁了吗?还是那句话,设计TCP的大佬也考虑到了这一点,所以引出了一个概念:持续计时器

持续计时器:

  • TCP为每一个连接设有一个持续计时器,只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器。
  • 若持续计时器设置的时间到期,就发送一个零窗口探测报文段。
  • 接收方收到探测报文段时给出现在的窗口值。
    若窗口仍然是0,那么发送方就重新设置持续计时器。

转载地址:https://blog.csdn.net/weixin_40597409/article/details/122760839 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:计网协议 | TCP(1-可靠传输)
下一篇:Netty | 02 - 客户端启动流程以及常用api笔记

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月03日 14时40分21秒