免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6090 | 回复: 11
打印 上一主题 下一主题

TCP 慢启动 [复制链接]

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-05 23:06 |只看该作者 |倒序浏览
5可用积分
本帖最后由 chenzhanyiczy 于 2010-09-05 23:52 编辑

如果A->B连续发送了10个包(即1-10),此时出现网络拥堵,1-10这10个包都没有收到确认,
那么这时发送窗口的大小为这10个包大小,接着慢启动发生,cwnd变为1,并重传了第1个包
问题:
此时A的发送窗口大小应该还是原来的10包大小吧,如果这样的话,那么只有当cwnd>10时(假设不考虑B的接收缓冲区情况)
,A才能发送新的数据包(即11开始的包)?

论坛徽章:
0
2 [报告]
发表于 2010-09-06 09:01 |只看该作者
我是这样理解的,cwnd是慢启动时增加的一个窗口,此时TCP发送是取cwnd和通告窗口的最小值作为发送上限,如果通告窗口
允许,是不一定要等cwnd>10才能发送的。收到确认后cwnd增加就可以发送。

论坛徽章:
0
3 [报告]
发表于 2010-09-06 12:19 |只看该作者
TCP发送的是拥塞窗口和通告窗口最小的一个,只有当拥塞窗口慢慢增长到10以后才会发送新的数据包

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
4 [报告]
发表于 2010-09-06 16:49 |只看该作者
其实就是不明白,慢启动和快速恢复算法是如何影响滑动窗口的

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
5 [报告]
发表于 2010-09-06 17:27 |只看该作者
这个问题找遍了tcp/ip 卷一,没发现线索。

PS:
tcp/ip 卷一 实在讲的有些凌乱,很多重要的地方就略过了,很让人费解。比如:20章PUSH部分
下一次列出来,大家讨论讨论。

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
6 [报告]
发表于 2010-09-07 10:05 |只看该作者
没人知道?

论坛徽章:
0
7 [报告]
发表于 2010-09-07 14:02 |只看该作者
取发送窗口与cwind中小的那个为当前的窗口。

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
8 [报告]
发表于 2010-09-07 16:53 |只看该作者
再打个比方:
比如:在慢启动之前滑动窗口大小为10,在慢启动后,该滑动窗口会怎样变化?
因为根据定义,滑动窗口是根据拥塞窗口和通告窗口的最小值来确定扩展大小的。慢启动时,拥塞窗口为1了(这里假设通告窗口很大,也就是说不考虑通告窗口的大小),那么滑动窗口也为1了,但这样的话跟定义又有不同了,因为定义是说:滑动窗口的右边沿不能往左边沿缩小。显然这就矛盾了,所以就想搞清楚慢启动时,滑动窗口和拥塞窗口的关系。

论坛徽章:
0
9 [报告]
发表于 2010-09-08 15:22 |只看该作者
当右边沿向左移动时,称为窗口收缩。Host Requirements RFC强烈建议不要使用这种方式。但TCP必须能够在某一端产生这种情况时进行处理。

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
10 [报告]
发表于 2010-09-08 17:07 |只看该作者
TCP发送的是拥塞窗口和通告窗口最小的一个,只有当拥塞窗口慢慢增长到10以后才会发送新的数据包
mafuli007 发表于 2010-09-06 12:19



想了想,还是这个比较靠谱
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP