第十七讲 网络层之三:拥塞控制算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.数据链路层 •重传策略 •乱序缓存策略 •确认策略 •流量控制策略
回退N算法比选择重传算 法对网络负载的影响更大
缓存乱序包比丢弃对 网络负载的影响小
“捎带”减少立即确 认带来的额外负载
网络层窗口的大小 可影响数据传输率
2.网络层
•虚电路与数据报的拥塞控制算法不同
•包队列和服务策略
一个输入队列、一个输出队列 排队规则(先来先到或优先级)
•加权公平队列 给不同的主机以不同的优先级。 优先级高的可每节拍扫描两个或多个字节。
输出线路O
包 结束时间
源端
C
8
1 6 11 15 19 20
A
B
16
2 7 12 16
B
D
17
38
C
E
18
4 9 13 17
D
A
20
5 10 14 18
E
公平队列方案
假设
公平队列的改进方案 假设
为一个包 为一个包
“跳 - 跳”抑制包
子网在建立虚电路时按照用户提供 的要求,预留了沿途所需的资源。
•路由控制
建立的新虚电路必 须绕开拥塞区域
a
拥塞节点
a
b
b
2. 抑制包(choke packet)
假设线路的利用率用实型变量u表示,u的取值 范围在0.1~1.0之间。
•基本思想
周期性地对线路的瞬间利用率进行取样f ,
可得到u的近似值:
•丢弃策略
丢弃包的选择
•路由选择算法 •生存期管理
是否将通信量均匀地 分散到所有链路上
定的太长妨碍系统工作 定的太短导致不必要的重传
3.传输层 •重传策略 •乱序缓存策略
回退N算法比选择重传算 法对网络负载的影响更大
缓存乱序包比丢弃对 网络负载的影响小
•确认策略 •流量控制策略 •超时间隔更难确定
•延迟
Uncontrolled
Controlled Ideal
0.8 1.0 Offered load(packets sent)
初始时,无控制的 策略所导致的延迟 比有控制策略低; 但无控制策略在网 络负载很低时即达 到饱和。
无论采用什么技术, 包的平均延迟随着 网络负载接近系统 的容量会无限增长。
则停止传输,等待下一节拍的开始。
•漏桶算法的缺点
不管突发通信量的大小,输出速率保持不变。
例2. 计算机产生包的速率为25MBps; 网络运行速率为25MBps; 路由器平均最佳工作速率 2MBps;
设立一个速率ρ=2MBps,容量C=1MB的漏桶。
漏桶输出速率
2MB/s, 500ms
100ms
200ms
反馈拥塞信息
丢弃包的比例; 平均队列长度; 超时和重发包的数量; 平均包延迟;
检测到拥塞的路由器向源端发警告包 通过设置包中某位或某字段来通知它的邻接节点 主机和路由器定期发送探测包显式询问拥塞状况
调整系统操作减少拥塞
增加资源
降低负载
三. 拥塞控制的预防策略
在不同层次使用适当的策略使发 生拥塞的可能性降至最低。
将新包打上标记以免为 此再产生更多的抑制包。
•源端 收到抑制包后以X比率 减少发往该目的地的报文 等待一段时间后再检查 是否有新抑制包的到来
如果有来自同一目的地 的抑制包,应再次降低发 送速率;否则
应加大通信量
加权公平队列
如果收到抑制包的源端不采取措施,减少 发往拥塞点的包,怎么办?
•公平队列 路由器为每条输出线路设置多个队列对应 于每个源端 当输出线路空闲时,路由器循环扫描各队 列,依次从各队列中取出下一个包发送。
b a
e
155Mbps
b a
e
b a
e
c
b
c
b
da
抑制包 d a
f
e
f
e
c d
f
c
b
da
f
e
c
b
da
f
e
c d
f
c d
f
流量 减少
抑制包对源端发应太慢
抑制包对经过的每一跳都起作用
b a
e
155Mbps
b a
e
c
b
c
b
da
抑制包 d a
f
e
f
e
c
b
da
f
e
c d
f
c d
f
流量 减少
3. 卸下负载(load shedding)
假设:突发数据长为1MB,到达时令牌桶已满。 设:突发时间为S;令牌到达速率; 突发数据最大输出为C+ ·S C+ ·S = M ·S
C S=
M-
当C = 250K;M = 25MBps; = 2MBps; S = 250K/230000K 10.8ms
在S秒内以25MBps的速率发送一部分; 其余的只能以2MBps的速率发送;
• 包交换网络中队列的相互作用
2
3
1
4
5
网络中某一点 的拥塞将很快 波及到一个区 域,甚至整个 网络。必须以 6 控制整个网络 交通的方式来 加使用流量控 制工具。
Throughput(packets delivered)
2. 拥塞的作用 •吞吐量
Ideal 1.0
Overhead Controlled
•丢弃策略
葡萄酒策略(陈的比新的香) 丢弃新包而保存旧包
牛奶策略(新的比旧的鲜) 保存新包而丢弃旧包
•基本功能 确定何时进行新的通信 何时丢弃包及丢弃哪些包等等
•算法分类 作用于源端 作用于目的端
2.闭环(closed loop)
•基本思想 基于反馈环路。 主机能根据拥塞信息采取相应的动作以减少拥塞。
•算法分类 显式反馈 检测到拥塞的节点向源端发警告包
隐式反馈 源端依据局部信息推断是否发生拥塞
•基本组成 监视系统 检测何时何地发生拥塞
允许多达n个包的突发通信
•基本令牌桶算法的实现 令牌以包为单位
设置一计数器每隔△t加1 每发送一包减1 当计数器为0时禁止发送包
令牌代表k个字节
每隔△t 加 k,每发送一 个包减去该包长度。
例3. 令牌桶容量C = 250KB; 令牌到达速率 = 2MBps; 网络最大传输率M = 25MBps;
一. 拥塞控制概述
3
1. 包交换网络是一个排队网络
如果包到达 和排队的速 率超出包被 发送的速率, 2 队列的长度 就会无限制 地增长。
输入缓冲
节点4
5
输出缓冲
1
•交换过程 统计TDM
排在输入缓冲区 做路由决策 排队输出
•拥塞产生
来不及作路由决策 不及清除输出缓冲
•饱和时的处理
简单地丢弃入境包 节点对其邻接节点实行某种流量控制
•流控只与发送者和接收者之间的点-点通信有关 •拥塞控制是全局问题
涉及所有主机、路由器(及路由器的存储-转发能力)。
例1:


1000Gbps
1Gbps
计 算

必须进行流量控制
100Kbps
1Mbps
无需流量控制,但要拥塞控制。
二. 拥塞控制的基本原理
1.开环(Open loop)
•基本思想
设计目标定位于确保今后不会发生问题 一旦系统安装运行不进行任何修改 不考虑网络的当前状况
漏桶输出速率
1 - S*25MBps T=
2MBps
= 364ms
25MB/s, 11ms 2MB/s, 364ms
突发数据持续时间
100ms
200ms
300ms
400ms
500ms
374.8
3. 流说明(flow specification)
流说明:说明通信模式
通信量模式 应用所需服务质量
•连接建立前源端向子网提交流说明请求特定服务; •子网可接受、拒绝或提出一种折中意见; •一旦发送者与子网达成共识再征求接收者的意见;
“捎带”减少立即确 认带来的额外负载
网络层窗口的大小 可影响数据传输率
太短会产生不必要的重传 太长虽然减缓拥塞但响应太慢
四. 开环控制策略-通信量整形
1. 漏桶算法
•漏桶现象
从桶底小孔向 外漏的速率恒定
任意速 率水流
一旦桶空外 漏速率为0
桶一满水从上 面溢出
匀速水流
•漏桶算法 主机与网络的接口为一个漏桶 漏桶就是一个有限的内部队列
说明了可忍受连
突发丢失敏感性(P)
Leabharlann Baidu
续丢多少个包
最小注意延迟(us) 最大延迟变化(us) 质量保证
超出这个值的延迟将 引起应用程序注意
说明端-端传输延迟的变化
说明上述条件是否一定要满足
五. 闭环控制策略 1. 虚电路子网中的拥塞控制
•许可控制 •资源预留
一旦出现拥塞便不再创建任 何虚电路,直到拥塞解除。
将主机用户进程输出 的不规则包流转换为 输入网络的均速包流
接口包含 一个漏桶
Q:包大小可变怎么办? 以字节计数
network
无规律 的包流
漏桶中 装包
有规律 的包流
•字节计数漏桶算法
每节拍初始时,计数器为n; 如队列第一个包的字节数<当前计数器的值
则将其发送并修改计数器的值 如果队列第一个包的字节数>当前计数器的值
a为常数确定
unew = auold + (1 – a)*f
路由器忘记历 史的最快速度
0
a=
1
unew = (1 – a)*f unew = auold
•路由器
路由器不断监视输出线 路和其他资源的利用率
当利用率达到某个阀值 时相应的线路进入“警告” 状态
检查每个新到的包,如 果其输出线路处于“警告 ”状态则向包的源端发一 抑制包。
要求所有的站点 都能知道提交给 网络的包的时间 和速率
当不同节点的队 列长度增加时实 际吞吐量呈下降 趋势。
Uncontrolled
0.8 1.0 Offered load(packets sent)
限制每个节点的 队列长度以避免 吞吐量崩溃。
拥塞控制技术无法达到理论上的理想值
Average packets delay
•输入特性
最大包(B) 令牌桶速率(B/s) 令牌桶容量(B) 最大传输速率(B/s)
说明了包的最大尺寸
如果桶输出速率为rBps, 桶的容量为bB, 则在任意时间△t内可传送的 最大字节数为:
b + r·△t
说明了主机产生数据的最高速率
•应用程序所需的服务
丢失敏感性(B)
说明了可接受的丢失率
丢失间隔(us)
300ms
400ms
500ms
25MB/s, 40ms
100ms
200ms
300ms
突发数据持续时间
400ms
500ms
2. 令牌桶算法
•令牌桶算法
漏桶装 令牌
无规律 的包流
network
每隔△T 秒生成一 个令牌
network
•与漏桶算法的区别
令牌桶算法可积累发送数 桶满时会丢失令牌而不会丢失包
3.包交换网络中拥塞控制
•发生拥塞的节点向某些或全 部源节点发送一个控制包
•依赖于路由信息用链路延迟 信息影响新包产生的速率
•采用端-端的探询(probe)包
在拥塞期间需 要额外的交通
延迟变化太快无法有 效地用于拥塞控制
加剧网络的负担
•在包中增加拥塞信息
在拥塞的相反方向 在拥塞方向
4.流量控制与拥塞控制的区别
相关文档
最新文档