TCP/IP(十四)流量控制

本文详细解释了TCP流量控制中的发送窗口和接收窗口机制,涉及操作系统缓冲区对窗口的影响、窗口关闭的处理以及糊涂窗口综合症的概念。通过案例分析,探讨了如何避免窗口问题导致的性能问题和死锁风险。
摘要由CSDN通过智能技术生成

一  流量控制

说明: 本文只是'原理'铺垫,没有用'tcpdump+wiresahrk'鲜活的案例讲解,后续'补充'

①   基本概念

流量控制: TCP 通过'接受方实际能接收的数据量'来控制'发送方'的'窗口'大小

②   正常传输过程

背景:

  1、客户端是'接收方',服务端是'发送方'  --> '下载'
 
  2、假设接收窗口和发送'窗口相同',都为 '200'

  3、假设两个设备在整个'传输过程'中都保持'相同'的窗口大小,'不受'外界'影响'

  '可用'窗口大小 = SND.WND -(SND.NXT - SND.UNA)

'原理'解读

③  操作系统缓冲区与滑动窗口的关系   重点

思考: 操作系统的缓冲区是'如何影响'发送'窗口'和接收'窗口'的呢?

比较常见'能影响'接受方的'可用窗口发生变化'的因素,有'如下'几个:

  1、接受方的应用程序'没办法'及时读取数据,此时会影响'滑动窗口'大小值

  2、接受方的'系统资源'非常紧张,操作系统可能'直接减少'可用窗口大小的'缓存'空间

+++++++++++++++  "案例1"  +++++++++++++++

发送窗口和接收窗口'初始'大小为 '360'  -->  '发送窗口'

根据上图的'流量'控制,说明"案例1"每个过程:

+++++++++++++++  "案例2"  +++++++++++++++

根据上图的'流量'控制,说明"案例2"每个过程:

重点:

 1、TCP 规定是'不允许'同时减少缓存又收缩窗口的;

 2、而是采用'先收缩'窗口,过段时间'再减少缓存',这样就可以'避免了丢包'情况

④  窗口关闭

1、窗口关闭的'概念'

2、窗口关闭'潜在'的'危险'

3、TCP 是'如何解决窗口关闭'时,潜在的'死锁'现象呢?

⑤  糊涂窗口综合症

1、'概念'

2、糊涂窗口综合症'案例'讲解,考虑'以下'场景:

思考1:怎么让接收方'不通告'小窗口呢? --> '了解即可'

思考2: 怎么让'发送方'避免发送'小数据'呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值