tcp发送窗口(滑动窗口)、拥塞窗口

该博客详细解析了一道关于TCP发送窗口与拥塞窗口的试题,涉及TCP连接中主机甲向主机乙发送数据的过程。初始阈值为32KB,MSS为1KB,接收缓存为16KB。通过逐个RTT分析,得出经过4个RTT后,甲的发送窗口大小为1KB。博客强调了rwnd(接收窗口)和cwnd(拥塞窗口)的动态变化以及它们之间的关系。
摘要由CSDN通过智能技术生成

TCP发送窗口拥塞窗口试题分析

题目一:

来源2015年408计算机综合

试题链接:https://www.nowcoder.com/questionTerminal/3241441c88f04ab58585a187716055d3
 

主机甲和主机乙新建一个TCP 连接,甲的拥塞控制初始阈值为 32KB,甲向乙始终以 MSS=1KB 大小的段发送数据,并一直有数据发送;乙为该连接分配 16KB 接收缓存,并对每个数据段进行确认, 忽略段传输延迟。若乙收到的数据全部存入缓存,不被取走,则甲从连接建立成功时刻起,未发送超时 的情况下,经过 4 个 RTT 后,甲的发送窗口是(A)。

A.1KB

B.8KB

C.16KB

D.32KB

 

发送窗口大小取决于min(rwnd,cwnd).

其中rwnd是接收缓存的空余大小,表示接收方还能接收多少。
cwnd就是我们常常画慢增长曲线,拥塞避免曲线等等分析的纵轴数值。

这里,其实很明确的告诉我们接收缓存只进不出,因此在不断减小。可是我们有一个思维惯性是喜欢思考有趣的部分,画cwnd的变化,自以为这个分析好了问题就手到擒来了,切不可忽视rwnd。这里就是个例子。

cwnd从1MSS = 1KB开始,一个RTT后变为2KB,两个RTT后变为4KB,3RTT后变为8KB,4个RTT后变为16KB

同时呢,接收缓由16KB→15KB→13KB→9KB→1KB16KB→15KB→13KB→9KB→1KB

 通知窗口值,代表接收缓存剩余值(KB)拥塞窗口大小(KB)发送窗口大小(KB)
初始         16          1               1
经过第一个RTT       16-1=15          2          min(15, 2)=2
经过第二个RTT       15-2=13          4          min(13,4)=4
经过第三个RTT       13-4=9          8          min(9,8)=8
经过第四个RTT        9-8=1         16 通知接收缓存只有1KB了,发送窗口取min(1, 16)=1KB

 

经过一个RTT,第二次发送时,rwnd = 15KB,cwnd = 2KB,发送窗口取较小值:2KB

经过两个RTT,第三次发送时,rwnd = 13KB,cwnd = 4KB,发送窗口取较小值:4KB

经过三个RTT,第四次发送时,rwnd = 9KB,cwnd = 8KB,发送窗口取较小值:8KB

经过四个RTT,第五次发送时,rwnd = 1KB,cwnd = 16KB,发送窗口取较小值:1KB

当然第五次发送之后接受窗口就满了,主机甲就会周期性的只发送一个字节数据的报文段,一旦主机乙的缓存有空,确认报文段就会出现非0的通知窗口值,当然这里是题目要求,主机乙的数据不被取走,仅仅为了计算,并非实际情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值