找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 643|回复: 3

谁知道TCP传输中cwnd,swnd的作用?

[复制链接]

3

主题

3

回帖

21

积分

新手上路

积分
21
发表于 2025-3-4 14:39:51 | 显示全部楼层 |阅读模式
有谁知道TCP传输中cwnd,swnd的作用?

70

主题

11

回帖

286

积分

管理员

积分
286
发表于 2025-3-4 15:45:50 | 显示全部楼层
看如下这种图,如果不使用拥塞算法, 网络的吞吐量反而随着负载的增大而减小,这是网络就进入了拥塞状态,最终网络什么都传输不了。
需要随着拥塞程度不同,采用强度不同的拥塞避免算法。而cwnd就是为了控制拥塞算法的。


当cwnd < ssthresh时,使用慢开始算法;
当cwnd > ssthresh时,停止使用慢开始算法而改用拥塞避免算法;
当cwnd = ssthresh时,既可以使用慢开始算法,也可以使用拥塞避免算法;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

3

主题

6

回帖

29

积分

新手上路

积分
29
发表于 2025-3-11 09:02:17 | 显示全部楼层
拥塞避免(cwnd)是发送方使用的流量控制,而滑动窗口(swnd, rwnd)则是接收方进行的流量控制

3

主题

6

回帖

29

积分

新手上路

积分
29
发表于 2025-3-11 09:11:14 | 显示全部楼层
TCP传输,是要保证顺序传输的。
如果严格按照顺序传输,第N帧的数据接收到了,才能接收第N+1个包,这样传输速度太低了。
但是也不能跨度太大,比如第1个包的数据还没收到,就接收到了第100,000个位置的包,如何一直缓存着这个包,那么开销太大了,所以要定义一定的窗口,保证传输过程缓存不会太大。
比如定义窗口未20个包的大小,可以一次发送N,到N+19的包。那么最多只需要缓存20个包的大小。当第N个包确认接收后,那么窗口就可以往后移动了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|软件开发

GMT+8, 2025-8-27 19:54 , Processed in 0.137775 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表