免费注册 查看新帖 |

Chinaunix

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

TCP 慢启动 [复制链接]

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-06 19:41 |只看该作者 |倒序浏览
5可用积分
如果A->B连续发送了10个包(即1-10),此时出现网络拥堵,1-10这10个包都没有收到确认,
那么这时发送窗口的大小为这10个包大小,接着慢启动发生,cwnd变为1,并重传了第1个包
问题:
此时A的发送窗口大小应该还是原来的10包大小吧,如果这样的话,那么只有当cwnd>10时(假设不考虑B的接收缓冲区情况)
,A才能发送新的数据包(即11开始的包)?

上面举例的意思是想搞明白:
在一段时间正常数据传输后,接着慢启动,那么慢启动是怎样影响滑动窗口的??

最佳答案

查看完整内容

可不可这样理解:拥塞窗口只是流量控制,滑动窗口只是受到对方接收缓冲区的影响??///这个理解是正确的,慢启动和拥塞窗口有关,和滑动窗口无关;滑动窗口是接收端发起的流量控制,仅仅和接收端缓冲区大小有关;拥塞窗口是发送端使用的流量控制,和网络状况有关;慢启动只是一种发送数据的算法而已,拥塞窗口是慢启动时使用的一个参数。

论坛徽章:
0
2 [报告]
发表于 2010-09-06 19:41 |只看该作者
可不可这样理解:拥塞窗口只是流量控制,滑动窗口只是受到对方接收缓冲区的影响??
///这个理解是正确的,慢启动和拥塞窗口有关,和滑动窗口无关;
滑动窗口是接收端发起的流量控制,仅仅和接收端缓冲区大小有关;
拥塞窗口是发送端使用的流量控制,和网络状况有关;
慢启动只是一种发送数据的算法而已,拥塞窗口是慢启动时使用的一个参数。

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
3 [报告]
发表于 2010-09-07 14:14 |只看该作者

论坛徽章:
0
4 [报告]
发表于 2010-09-07 16:30 |只看该作者
首先,你要明白,拥塞窗口和滑动窗口是不同的。

当连接进入重传超时, 拥塞窗口会变成1,同时会把tp->snd_thresth 变为现在拥塞窗口的一半(这个根据不同算法是不一样的)。
然后进入慢启动阶段,没收到一个确认包 窗口增加1一直到tp->snd_thresth这个值,然后就进入拥塞避免阶段,慢慢的增加拥塞窗口。

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
5 [报告]
发表于 2010-09-07 16:47 |只看该作者
首先,你要明白,拥塞窗口和滑动窗口是不同的。

当连接进入重传超时, 拥塞窗口会变成1,同时会把tp->sn ...
hritian 发表于 2010-09-07 16:30



这个我知道

问题在于,比如:在慢启动之前滑动窗口大小为10,在慢启动后,该滑动窗口会怎样变化?
因为根据定义,滑动窗口是根据拥塞窗口和通告窗口的最小值来确定扩展大小的。慢启动时,拥塞窗口为1了(这里假设通告窗口很大,也就是说不考虑通告窗口的大小),那么滑动窗口也为1了,但这样的话跟定义又有不同了,因为定义是说:滑动窗口的右边沿不能往左边沿缩小。显然这就矛盾了,所以就想搞清楚慢启动时,滑动窗口和拥塞窗口的关系。

论坛徽章:
0
6 [报告]
发表于 2010-09-07 21:53 |只看该作者
滑动窗口是滑动窗口,和 拥塞窗口没有关系。
他们的目的是不一样的。
拥塞窗口=min(拥塞窗口,滑动窗口)

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
7 [报告]
发表于 2010-09-07 23:43 |只看该作者
可不可这样理解:拥塞窗口只是流量控制,滑动窗口只是受到对方接收缓冲区的影响??

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
8 [报告]
发表于 2010-09-09 19:35 |只看该作者
可不可这样理解:拥塞窗口只是流量控制,滑动窗口只是受到对方接收缓冲区的影响??
///这个理解是正确的, ...
matthew1637 发表于 2010-09-09 18:17



非常感谢!
后来自己想了想, 觉得这样理解是正确的。

再问问,有这种下面这种可能吗?
在慢启动期间,滑动窗口的右边沿还是有可能向右移动,即滑动窗口变大。我觉得是可能的,慢启动发生是表示中间的路由设备
出现拥塞,并不代表对端出现拥塞,也许对端一直很正常

论坛徽章:
0
9 [报告]
发表于 2010-09-10 12:09 |只看该作者
再问问,有这种下面这种可能吗?
在慢启动期间,滑动窗口的右边沿还是有可能向右移动,即滑动窗口变大。我觉得是可能的,慢启动发生是表示中间的路由设备
出现拥塞,并不代表对端出现拥塞,也许对端一直很正常

////这种情况完全有可能,滑动窗口变大,说明接收方缓冲区空间变大;
慢启动期间,只要没有出现拥塞,CWND小于sshresh,发送的数据就会一直呈几何倍数增长;
这是完全两个独立的过程,互相之间没有影响。

论坛徽章:
1
申猴
日期:2014-02-11 14:50:31
10 [报告]
发表于 2010-09-10 14:37 |只看该作者
再问问,有这种下面这种可能吗?
在慢启动期间,滑动窗口的右边沿还是有可能向右移动,即滑动窗口变大。我 ...
matthew1637 发表于 2010-09-10 12:09



再次感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP