运输层的拥塞控制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
发生超时
20 进入拥塞避免
进入拥塞避免
16
ssthresh = 16
12
更新后的 ssthresh = 12
8
4
指数规律增长
0
传输次数
0 2 4 6 8 10 12 14 16 18 20 22
慢开始
拥塞避免
慢开始 拥塞避免
当拥塞窗口 cwnd 增长到慢开始门限值 ssthresh 时 (即当 cwnd = 16 时),就改为执行拥塞避免算法, 拥塞窗口按线性规律增长。
慢开始 拥塞避免
假定拥塞窗口的数值增长到 24 时,网络出现超时(表 明网络拥塞了)。
课件制作人:谢希仁 13
慢开始和拥塞避免算法的实现举例
拥塞窗口 cwnd
线性规律增长 24
发生超时
20 进入拥塞避免
进入拥塞避免
16
ssthresh = 16
12
更新后的 ssthresh = 12
8
4
指数规律增长
以使分组注入到网络的速率更加合理。
4
拥塞避免算法
条件:拥塞窗口cwnd >慢开始门限 ssthresh 时,停止使用慢开始算法而改用拥塞避免算 法;
原理:没经过一个往返时间RRT(即传输轮 次),就把拥塞窗口cwnd 加1,而不是加倍;
拥塞窗口cwnd按线性规律缓慢增长,比慢开 始算法的拥塞窗口增长速率缓慢得多。
发送端的 cwnd 从 2 增大到 4,并可发送 M4 ~ M6共 4
个报文段。
课件制作人:谢希仁 10
慢开始和拥塞避免算法的实现举例
拥塞窗口 cwnd
线性规律增长 24
发生超时
20 进入拥塞避免
进入拥塞避免
16
ssthresh = 16
12
更新后的 ssthresh = 12
8
4
指数规律增长
0
传输次数
拥塞窗口 cwnd
线性规律增长 24
发生超时
20 进入拥塞避免
进入拥塞避免
16
ssthresh = 16
12
更新后的 ssthresh = 12
8
4
指数规律增长
0
传输次数
0 2 4 6 8 10 12 14 16 18 20 22
慢开始
拥塞避免
慢开始 拥塞避免
接收端发回 ACK2 和 ACK3。发送端每收到一个对新报 文段的确认 ACK,就把发送端的拥塞窗口加 1。现在
0
传输次数
0 2 4 6 8 10 12 14 16 18 20 22
慢开始
拥塞避免
慢开始 拥塞避免
更新后的 ssthresh 值变为 12(即发送窗口数值 24 的 一半),拥塞窗口再重新设置为 1,并执行慢开始算 法。
课件制作人:谢希仁 12
慢开始和拥塞避免算法的实现举例
拥塞窗口 cwnd
线性规律增长 24
发生超时
20 进入拥塞避免
进入拥塞避免
16
ssthresh = 16
12
更新后的 ssthresh = 12
8
4
指数规律增长
0
传输次数
0 2 4 6 8 10 12 14 16 18 20 22
慢开始
拥塞避免
0 2 4 6 8 10 12 14 16 18 20 22
慢开始
拥塞避免
慢开始 拥塞避免
发送端每收到一个对新报文段的确认 ACK,就把发送 端的拥塞窗口加 1,因此拥塞窗口 cwnd 随着传输次数 按指数规律增长。
课件制作人:谢希仁 11
慢开始和拥塞避免算法的实现举例
拥塞窗口 cwnd
线性规律增长 24
6
慢开始和拥塞避免算法的实现举例
拥塞窗口 cwnd
线性规律增长 24
发生超时
20 进入拥塞避免
进入拥塞避免
16
ssthresh = 16
12
更新后的 ssthresh = 12
8
4ห้องสมุดไป่ตู้
指数规律增长
0
传输次数
0 2 4 6 8 10 12 14 16 18 20 22
慢开始
拥塞避免
慢开始 拥塞避免
当 TCP 连接进行初始化时,将拥塞窗口=1。图中的窗 口单位不使用字节而使用报文段。
5
要点
无论在慢开始阶段还是拥塞避免阶段,只要发送方 判断网络出现拥塞(其依据就是没有按时收到确 认):
要将慢开始门限ssthresh设置为出现拥塞时的发 送窗口值的一半(但不能小于2)
拥塞窗口cwnd重新设置为1,执行慢开始算法; 目的:迅速减少主机发送到网络中的分组数,使
得发生拥塞的路由器有足够时间把队列中积压的 分组处理完毕。
慢开始
拥塞避免
慢开始 拥塞避免
在执行慢开始算法时,拥塞窗口 cwnd 的初始值为 1, 发送第一个报文段 M0。
课件制作人:谢希仁 8
慢开始和拥塞避免算法的实现举例
拥塞窗口 cwnd
线性规律增长 24
发生超时
20 进入拥塞避免
进入拥塞避免
16
ssthresh = 16
12
更新后的 ssthresh = 12
慢开始门限的初始值设置为 16 个报文段,
即 ssthresh = 16。
课件制作人:谢希仁 7
慢开始和拥塞避免算法的实现举例
拥塞窗口 cwnd
线性规律增长 24
发生超时
20 进入拥塞避免
进入拥塞避免
16
ssthresh = 16
12
更新后的 ssthresh = 12
8
4
指数规律增长
0
传输次数
0 2 4 6 8 10 12 14 16 18 20 22
计算机网络
第 7 章 运输层的拥塞控制
1
四种拥塞控制的方法
慢开始 拥塞避免 快重传 快恢复
2
两个参数
拥塞窗口cwnd:发送方维持的一个状态变量,拥塞 窗口的大小取决于网络的拥塞程度,并且动态地在 变化。发送方让自己的发送窗口等于拥塞窗口。
慢开始门限ssthresh:其用法如下 当cwnd < ssthresh时,使用慢开始算法; 当cwnd > ssthresh时,停止使用慢开始算法而 改用拥塞避免算法 当cwnd = ssthresh时,既可使用慢开始算法, 也可使用拥塞避免算法。
3
慢开始算法的原理
由小到大逐渐增大发送窗口,也就是逐渐增大拥塞 窗口;
在主机刚刚开始发送报文段时可先将拥塞窗口 cwnd 设置为一个最大报文段 MSS 的数值;
在每收到一个对新的报文段的确认后,将拥塞窗口 增加至多一个 MSS 的数值;
每经过一个传输轮次,拥塞窗口 cwnd 就加倍; 用这样的方法逐步增大发送端的拥塞窗口 cwnd,可
8
4
指数规律增长
0
传输次数
0 2 4 6 8 10 12 14 16 18 20 22
慢开始
拥塞避免
慢开始 拥塞避免
发送端收到 ACK1 (确认 M0,期望收到 M1)后,将 cwnd 从 1 增大到 2,于是发送端可以接着发送 M1 和 M2 两个报文段。
课件制作人:谢希仁 9
慢开始和拥塞避免算法的实现举例