TCP慢启动中cwnd的增长问题?
应该这样理解,
1. 最开始cwnd=1,发送方只发送一个mss大小的数据包,在一个rtt后,会收到一个ack,cwnd加一,cwnd=2
2.此时cwnd=2,则发送方要发送两个mss大小的数据包,发送方会收到两个ack,则cwnd会进行两次加一的操作,则也就是cwnd+2,则cwnd=4,也就是cwnd = cwnd * 2
【TCP慢启动中cwnd的增长问题?】 3.此时cwnd=4,则发送方要发送四个mss大小的数据包,发送方会收到四个ack,则cwnd会加4,则 cwnd = 8,也就是cwnd = cwnd * 2.
。。。。
以此类推,在每次rtt后,cwnd都会变成一次数据包发送前的cwnd的两倍,这是一个等比数列,则此等比数列的推导公式就是cwnd(n) = cwnd(1) * 2^(n-1) . n\u0026gt;=1
因此慢启动开始cwnd是以指数形式增长的,也解决了你的第一个问题。
■网友 // 以下为一个简单的例子,sender为发送端,receiver为接收端 // px为包号为x的包,ack x为对第x个包的确认 // snd_cwnd为拥塞窗口 // sender receiver // RTT-1 // p1 (snd_cwnd 1) ---------------------------\u0026gt; // // \u0026lt;--------------------------- ack 1 // snd_cwnd++ (2) // RTT-2 // p2 (snd_cwnd 2) ---------------------------\u0026gt; // p3 (snd_cwnd 2) ---------------------------\u0026gt; // // \u0026lt;--------------------------- ack 2 // snd_cwnd++ (3) // \u0026lt;--------------------------- ack 3 // snd_cwnd++ (4) // RTT-3 // p4 (snd_cwnd 4) ---------------------------\u0026gt; // p5 (snd_cwnd 4) ---------------------------\u0026gt; // p6 (snd_cwnd 4) ---------------------------\u0026gt; // p7 (snd_cwnd 4) ---------------------------\u0026gt; // // \u0026lt;--------------------------- ack 4 // snd_cwnd++ (5) // \u0026lt;--------------------------- ack 5 // snd_cwnd++ (6) // \u0026lt;--------------------------- ack 6 // snd_cwnd++ (7) // \u0026lt;--------------------------- ack 7 // snd_cwnd++ (8) // send with snd_cwnd = 8 (p8 - p15) // 每一个ack对应增加一个窗口大小,不丢包的场景下相当于窗口以指数上升 // 1 --\u0026gt; 2 --\u0026gt; 4 --\u0026gt; 82: 会返回5,这时候会认为5之前的包都收到了,可以算出这个RTT收到的是1、2、3、4、5,丢包的话返回的是最后一个连续的包。比如4丢了就返回3,4重传完或者延迟到达后会返回5(不考虑SACK).
■网友
第一个问题你仔细想就明白了,假设当前窗口是n,那么可以发送n个包,每一个包都回一个ack,经过一个rtt时间后,这n个包的ack都依次回来了,每个把窗口增加1,一共增加了n,变成2n,所以是每个rtt翻倍。 第2个问题,简单说如果不启用延迟ack,是每个包都回ack,因为从程序实现角度虽然看着是一批包一起到了,但是每一个包都会调用相同的函数处理,这个函数中发ack。如果启用了延迟ack,发送端会判断回应的字节数来增长窗口,还是不影响窗口增长
推荐阅读
- 强寒潮来袭浙江启动低温雨雪冰冻灾害Ⅳ级应急响应
- 江苏省13市启动重污染天气黄色预警
- 兰州启动进口冷链食品监管总仓“出仓”须查验证明
- “艺术无障碍平台”正式启动
- |共促和谐劳动关系 工会法律和集体协商技能竞赛启动
- |苏州·中国声学创新谷在常熟启动
- ETtoday生活方式|离手侦测升级!自动辅助驾驶启动 双手请老实握好方向盘
- 江南大学附属医院|江大附院养生膏方节启动受无锡市民热捧
- |镇江市医疗保险定点医疗机构和零售药店服务协议管理工作启动
- 老潘侃车|还在纠结冷车启动到底要不要热车?看完终于有答案了!
