当前位置:文档之家› 7.5 传输层的拥塞控制

7.5 传输层的拥塞控制

生拥塞的节点作为是否被丢弃的依据
应用打上 丢包标记
* *
“葡萄酒”策略
• 陈的比新的香 • 文件传输不能丢弃
老的包,否则将造 成接收数据不完整
“牛奶”策略
• 新的比旧的鲜 • 实时语音或者视频
应用丢弃老的包比 丢弃新的更适合
Load Shedding 卸载
流量控制与拥塞控制
流控只与发送方和接收方之间的端-端 通信有关。
拥塞控制是全局问题:涉及所有主机、 路由器及路由器的存储-转发能力。
假设:个人PC机和大型服务器通信
1000Gbps
1Gbps
假设:1000台主机同时发送 1Mbps
网络流量通畅,但两端处理 能 力不一致必须进行流量控 制!
100Kbps

• 何时开始丢包? • 丢哪些包?
随机早期检测(RED):当某条链路的队 列长度超过某个阈值时随机丢弃一些包。
• 如果平均队列长度低于某个低阈 值,将该包排入队列
• 如果平均队列长度大于某个高阈 值,则丢弃该包
• 如果平均队列长度介于两个阈值 之间,计算拥塞发生的概率
发送队列
Random Early Detection 随机早期检测
流量减少
(5) b a
e
c d
f
(1) b
a e
c d
f
(3) b
c
a
抑制包
d
e
f
(6) b
a e
c d
f
(2) b
c
a
抑制包 d
e
f
(4) b
a 抑制包 e
c d
f
(7) b
a e
c d
f
拥塞控制之逐跳抑制包
逐跳(HOP-HOP)抑制包:每一 跳都降低传输速率(即使抑制包未 到达源端之前)。
(1) b
拥塞检测基本思想
拥塞检测:动态监测网络状态,一旦发生 拥塞立即采取措施,以便防止拥塞蔓延到 网络其他区域。

• 谁来检测拥塞? • 检测到后如何处理?
客户机
最先和最佳 观察点拥塞
服务器
路由器可以根据线路的利用率和缓冲区 的消耗速度来推测拥塞发送的可能。
拥塞检测之拥塞通知
拥塞通知:当路由器检测到拥塞即将形 成,便通知连接两端,以便发送端降低 发送速率减少注入网络流量,达到缓解 拥塞的目的。
特点
•带宽利用率最大 •缓冲区可能溢出造成丢包 •包排队延迟过大造成超时
H1
in 原始数据
’in 网络负载
H2
in 原始数据
H3 缓存
H4 缓存
out 吞吐量
R
out 吞吐量
有限大缓冲区
’in (传输层发到网络的数据)= 原始数据 in + 重发的数据(率) out: 连接的吞吐量(接收端的每秒字节数)
100Kbps
收发双方能力相当无需流量控制,但 网络容量小,必须进行拥塞控制Βιβλιοθήκη 拥塞控制之 拥塞控制基本方法
拥塞控制机制分类
端 - 端拥塞控制
• 网络层不提供对拥塞控制显式支持 • 主机必须由网络行为推断拥塞的发生
① 包丢失 ② 延迟增大
网络协助拥塞控制
• 路由器检测拥塞并向发送端反馈信息 ① 抑制包 ② 逐跳后压 ③ 显式拥塞通知
路由器随机选择一个包,给包的发送方发 送一个拥塞警告包
路由器随机选择一个包,在该包打上标记 通知接收方,接收方通过确认通知发送方
① 通知发送方
①通知接收方 ②通知发送方
拥塞检测之抑制包
抑制包:路由器检测到拥塞后给包 的发送方返回的具有抑制其发送速 率作用的包。
155Mbps
在长距离或者高速率的环境 下抑制包对源端作用太慢。
a e
c d
f
155Mbps
转发抑制包的路由器及时做出速率 调整对缓解拥塞有很好的作用.
(3)
b
c
a
抑制包
d
e
f
流量减少
(2)
a
b
c
抑制包 d
e
f
(4) b
a 抑制包 e
c d
f
(5) b
a e
c d
f
拥塞控制之卸载
卸载:当路由器被包所淹没时只能将包丢 弃.
丢弃哪个包取决于应用 应用程序打上丢包优先级标记,在发
特点
•无需重发 •带宽利用率最大 •队列延迟增大
H1
in 原始数据
H2
in 原始数据
R
无限长缓冲区
H3 缓存
out 吞吐量
H4 缓存
out 吞吐量
in : 发送主机应用程序发出的原始数据(率) out:连接的吞吐量(接收端的每秒字节数)
吞吐量、包延迟与发送速率
发送端速率在0~R/2之间 • 每个连接的out = in
拥塞控制之 拥塞的形成以及危害
什么是拥塞?
拥塞:太多的发送端给网络发送了太快太 多的数据,导致网络来不及处理而出现堆 积在某个区域。
网络拥塞后果
•队列延迟加大 •路由器的缓冲区溢出(丢失包)
客户机
服务器
包(packet)
如果路由器具有无限长队列
假设:如图所示网络中 • 路由器有无限大缓冲区,出境链路容量为R • 无错误控制、无流量控制、无壅塞控制
out
R/2
两个连接 平分链路 的容量R
in
R/2
发送端速率大于R/2
• 每个连接的out = R/2 • 路由器无限长队列将吸收来不及发出去报文
delay
当包的到达率接近/ 超过链路容量时将 导致长的排队延迟
in
R/2
路由器只有有限长队列
假设:如图所示网络中 • 路由器只有有限大缓冲区,出境链路容量为R • 无错误控制、无流量控制、无壅塞控制
为客户机1/2/3 预留资源
客户机2 客户机3
流媒体 服务器
拥塞避免之通信量整形
通信量整形:通过调节注入网络的 数据流的平均速率和突发速率,使 得数据流呈现出平稳状态。
客户机
原始数据流
速率
整形
时间
整形后的数据流
速率
文件 服务器
时间
拥塞避免之早期丢包
早期丢包:路由器在耗尽缓冲区之前开始 丢弃一个或多个数据包。
局部拥塞的蔓延
假设:如图所示的互联网中,路由器R6上队
列 将满,要求路由器5放慢发送速度。
R2
网络中某一点(R6)的拥塞将 很快波及到一个区域,甚 至 整个网络。
R1 R4
必须以控制整个网络流量 的 方式来使用流量控制工 具。
R3 R6
R5
箭头粗细表示流量大小
拥塞控制对网络吞吐量的影响
(
面临拥塞即将发生时通过反馈机制 通 知发送方降低发送速率
动态调整发 送速率
客户机
服务器
拥塞避免之资源预留
资源预留:数据通信之前网络把通信路径上的 资源(存储、带宽)根据应用需要都预留好。
客户机1
为客户机2 预留资源
数据包在路由器不会堆积 数据包在路由器不会被丢弃 包的存储-转发时间有限
客户机
因特网
服务器
拥塞控制机制的途径
拥塞避免
• 资源预留 • 通信量整形 • 随机早期丢包
拥塞检测
• 显式拥塞通知 • 抑制包 • 卸载
客户机
服务器
拥塞避免基本思想
拥塞避免的基本思想是通过良好的(协 议)设计,尽可能减少网络拥塞发生的 概率。
给发送端反 馈拥赛情况
发送方调整发送速率尽量不发送多于 网络能实际传输的数据
)
拥塞控制技术无法达到理论上的理想值。
被 传
送 包
吞 吐 量
1.0
开销
引入拥塞控 制的代价
理想
拥塞控制
无拥塞控制
0.8 1.0
网络负载 (发出的包)
理想状态
要求所有的站点都能知道提交 给 网络的包的时间和速率
不加任何控制
当不同节点的队列长度增加时 实 际吞吐量呈下降趋势
实行拥塞控制
限制每个节点的队列长度以避 免 吞吐量崩溃。
相关主题