第六章 ip 网络的服务质量
DESCRIPTION
第六章 IP 网络的服务质量. 服务质量体系结构. 服务质量实现技术. IP 网络的服务质量. 概述 综合服务 区分服务 队列管理 业务监管. 主要内容. IP 网络的服务质量. 概述 综合服务 区分服务 队列管理 业务监管. 主要内容. IP 网络. 以太网、令牌环网、 IEEE 802.11 、 3G…. 1. 概述. 提出带宽,延迟需求. IP 将成为未来各种网络技术和业务的融合平台 QoS: Quality of Service ,服务质量. 背景. 数据业务. 综合业务 (数据视频语音). 无带宽,延迟保证. 尽力服务模型. - PowerPoint PPT PresentationTRANSCRIPT
2008 年信息通信网课程
第六章 IP 网络的服务质量
2008 年信息通信网课程
IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管
主要内容
服务质量体系结构
服务质量实现技术
2008 年信息通信网课程
IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管
主要内容
2008 年信息通信网课程
1. 概述背景
IP 将成为未来各种网络技术和业务的融合平台QoS: Quality of Service ,服务质量
尽力服务模型 支持服务质量模型
数据业务 综合业务(数据视频语音)
IP 网络
以太网、令牌环网、 IEEE 802.11、 3G…
无带宽,延迟保证
提出带宽,延迟需求
2008 年信息通信网课程
1. 概述 ITU-T: QoS 是一个综合指标,用于衡量一
个服务的满意程度 Cisco: QoS 是指一个网络能够利用各种底
层技术向选定的网络业务提供更好的服务的能力。这些底层技术包括:帧中继( Frame Relay )、异步传输模式( ATM )、以太网、SONET 以及 IP- 路由网络等
IETF: QoS 是在传输一个“流”时,网络能够满足相应的服务需求
Qo
S
定义
2008 年信息通信网课程
1. 概述 从一个源到一个目的的有序分组集合被称为一个流( Flow)
一般来说,流是由特定于具有应用并且具有相同服务质量需求的分组所组成
在面向连接的网络中,属于同一个流的所有分组将会走相同的路径到达目的地 ,在无连接的网络中,属于同一个流的分组可能会走不通的路径到达目的地
流的概念
一个流和一个应用会话( Session )相对应,所以在后面叙述中有时将流的概念和会话的概念等同
2008 年信息通信网课程
1. 概述 带宽( bandwidth ):给定介质、协议或连
接的额定吞吐量,实际上指应用程序在网络中通信所需要的“管道大小”,也可以认为是用户对网络传输速率的要求 最小带宽(最小分组速率( Least Packet Rat
e )):传输中的最小瞬时速率,可用产生两个相邻分组的最大时间间隔的倒数来表示
峰值带宽(峰值分组速率( Peak Packet Rate )):传输中的最大瞬时速率,可用产生两个相邻分组的最短时间间隔的倒数来表示
平均带宽(平均分组速率( Sustained Packet Rate )):一段时间内分组传输的平均速率
Qo
S
度量参数
2008 年信息通信网课程
1. 概述 延迟( delay ):分组从发送端到达接收端的时间间隔
传输延迟: transmission delay ):发送分组的第一个比特到发送最后一个比特的时间间隔,取决于发送接口的速率和分组的大小
传播延迟:( propagation delay ):发送分组的一个比特到接收端接收到该比特的时间间隔,取决于传输介质和传输距离
处理延迟( processing delay ):分组从到达节点到进入输出队列的时间间隔,包括对分组头标处理,路由查找等,取决于节点的处理能力和分组处理的复杂度
排队延迟( queuing delay ):分组从进入输出队列到开始输出的时间间隔,取决于队列长度和调度策略
延迟抖动( delay jitter ):端到端延迟的变化特性,由延迟的可变部分的变化导致的,流量的突发、不公平的队列调度算法都可能导致较大的延迟抖动
Qo
S
度量参数
2008 年信息通信网课程
1. 概述 综合服务 区分服务
Qo
S
体系结构
All Proposed by IETF
2008 年信息通信网课程
IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管
主要内容
2008 年信息通信网课程
2. 综合服务模型 综合服务: IntServ
IETF的 IntServ 工作组于 1994 年提出 同时支持实时和非实时业务
在每个实时业务开始之前,由终端设备向网络发出请求,为它预留必要的网络 资源(带宽、处理、存储)
通过在网络中队列管理机制,使实时业务的带宽和延迟得到保证
通过分组调度机制,实现实时业务和非实时业务的分离
“ 流”是 IntServ 中能识别的最小粒度 流是单向的,它具有单一的发送端和 N 个接收
端
概述
2008 年信息通信网课程
资源预留:负责逐跳( hop-by-hop )建立或拆除每个流的资源预留软状态( soft state )
接纳控制:根据链路和网络节点的资源使用情况以及具体的 QoS请求决定是否接受一个资源预留请求
分组分类器:对到达的数据分组进行分类,然后分别放入不同的输出队列
分组调度器:根据不同的策略和分配的资源对各个队列中的分组进行调度转发
分组转发路径
(数据)
后台执行代码
( 信令 )
资源预留 Agent
分组分类器 分组调度器
接纳控制
QoS 实现机制
2008 年信息通信网课程
2.1 资源预留协议概述
RSVP: Resource ReSerVation Protocol ,用来在源和目的之间路径上预留资源
资源预留请求是单向的,也就是仅在一个方向上进行资源预留 RSVP位于协议栈的传输层,但是不传输应用数据,更像一个
Internet控制协议
MAC 头标 IP 头标 RSVP 头标 数据… .
版本标记 类型 校验和TTL 0 长度
1B 1B 2B
消息类型1 PATH :发送端对接收端提出 QoS 需求2 RESV :接收端响应,并且提出资源预留3 PATHErr :无法满足 QoS 需求4 RESVErr :无法实现资源预留
2008 年信息通信网课程
2.1 资源预留协议运行机制
PATH 发送主机的 IP 地址, UDP/TCP 端口号等参数组成的
Template 描述发送方发送的业务流特征的参数 TSpec 沿途节点 QoS控制能力与需求信息的描述参数 ADSpec
RESV 接收端预留的资源参数 FLOWSpec
描述业务流特征的参数 TSpec描述所要求服务的参数 RSpec
发送主机
路由器
路由器
接收主机
Path Path Path
DATA DATA DATA
RESVRESVRESV
2008 年信息通信网课程
2.1 资源预留协议 面向接收( Receiver-Oriented ):由接收
主机根据需要预留软状态( soft state ):定期发送 PATH和
RESV消息维护 组播支持: 1 对多通信
特点
发送主机 1 路由器 1
接收主机 1
接收主机 2
路由器 1
RESV
RESV
RESV(已合并)
RESV(已合并)
2008 年信息通信网课程
2.2 接纳控制 接纳控制: Admission Control
根据当前资源情况,判断是否同意接入一个新的流的 QoS请求
接纳控制算法 基于资源预留参数的接 纳控制:根据节点以前同
意接入的所有请求的服务参数,用每个服务最 坏情况的边界值来进行计算
基于资源实际使用情况的接纳控制:测量现有数据流的实际链路带宽利用率,据此来判定是否接纳一个新的流
2008 年信息通信网课程
2.3 服务类型 保证型服务( GS: Guaranteed Service
) 提供完全保证的服务质量,用于要求 低延时的业
务,其最大延时和带宽能够得到定量保证 常用于话音、视频等实时业务
受控负载型服务( CLS: Controlled-Load Service ) 能够提供一种相当于网络节点在低负载情况下的
尽力服务 要求 低的丢包率,可以接受一定范围内的延迟 常用于文件下载, Web访问等业务
尽力服务( Best Effort )服务分离通过节点上的调度算法来实现
2008 年信息通信网课程
2.4 综合服务总结 提供端到端的 QoS 保证基于流的细粒度资源分配存在可扩展性问题
在路径上的每个节点必须建立和维护“每流”的预留状态信息
在路径上的每个节点需要对每个流进 行接纳控制、分类调度等操作
存储、处理开销随着流的数量的增加而急剧增长
2008 年信息通信网课程
IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管
主要内容
2008 年信息通信网课程
3. 区分服务模型 区分服务: DiffServ
IETF的 DiffServ 工作组于 1998 年提出 解决 IntServ 的可扩展性问题,在分组中携带的信息决定如何处理,而不需要使用RSVP 协议
基于类的 QoS 保证,通常在核心网中使用当业务到达区分服务区域( DS 区域)的边缘
时,边缘路由器使用分组头标中的区分服务标记域( DS field )对其进行聚类
网络对同类业务给予相同的 QOS 保证
概述
DS 区域:连续的多个实现相同服务策略的 DS 路由器组成的组
2008 年信息通信网课程
边缘路由器:业务量分类和调节,对分组头标中的 DS域进行标记,标记值被称为 DSCP
中心路由器:根据 IP 分组 DS域中所标记的 DSCP 值,来选择所对应的转发处理,即逐跳行为( PHB ),从而对分组进行调度转发
SLA( Service Level Agreement )协商:不同 DS 区域之间的分类规则、重新标记规则以及业务流应该符合的业务量配置文件
非DS区域
非DS区域
非DS区域
多个DS区域组成的DS区
边缘路由器 中心路
由器
DS区域之间通过SLA进行协调
DS 区域:连续的多个实现相同服务策略的 DS 路由器组成的组
2008 年信息通信网课程
边缘路由器
中心路由器
中心路由器
边缘路由器
DATA DATA DATA DATA
分类器
度量器
标记器 整形 /丢弃
业务量调节器
调度
行为汇聚分类器( BA ):根据 DS域对分组进行分类多域分类器( MF ):根据不同的头标域或者头标域的组合来分类分组
使得业务遵守预先的配置
根据标记( DS域)对分组执行调度转发
检查进入的数据流,看是否遵守配置
根据分类结果给分组打上标记 (DS域 )
2008 年信息通信网课程
3.1 DS域 IPv4 头标的 TOS( Type of Service, TO
S )域或 IPv6 头标的业务量等级( Traffic Class )域的前 6 比特
DSCP: DS域中的具体值,节点根据 DSCP选择特定的转发操作,从而实现资源分配
定义
2008 年信息通信网课程
3.2 逐跳行为逐跳行为( PHB: Per Hop Behavior ):
在每个节点上描述根据 DSCP 对特定类进行资源分配的方式 具体由相应的队列调度算法来实现
四种 PHB BE( Best Effort ),缺省型 PHB CS ( Class Selector ),兼容 IP优先级的类
选择型 PHB EF( Expedited Forwarding ),加速转发型
PHB AF( Assured Forwarding ),确定转发型
PHB
概述
2008 年信息通信网课程
3.2 逐跳行为加速转发型 PHB : EF PHB
提供低丢失率、低延时和低延时抖动的服务 严格限制 EF 分组到达路由器的速率小于路
由器转发 EF 分组的速率 通过在 DS域的边缘配置边缘路由器,使得进入到 DS域内的 EF 分组不超过某一最大速率,从而实现对 EF 分组速率的限制
EF 由具体的调度算法来实现推荐 DSCP为 101110
加速转发
2008 年信息通信网课程
3.2 逐跳行为确定转发型 PHB : AF PHB
为用户提供不同级别的转发保证 , 定义了四个等级 IP 分组转发保证取决于 :
多少资源分配给此分组所属的 AF 等级此 AF 等级当前的负载和拥塞情况分组的丢弃优先级
DSCP
确定转发型
服务等级丢弃优先级 等级 1 等级 2 等级 3 等级 4
低 001010 010010 011010 100010
中 001100 010100 011100 100100
高 001110 010110 011110 100110
2008 年信息通信网课程
3.3 区分服务总结基于聚合类的粗粒度资源分配 具有较好的可扩展性。 DS域只是规定了有限数量的业务级别,状态信息的数量正比于业务级别,而不是流的数量
易于实现。一般只在网络的边缘上才需要复杂的分 类、标记、整形等操作
无法提供端到端的 QoS 保证
2008 年信息通信网课程
IntServ 模型:接入网络 DiffSev 模型:核心网络 IntServ和 DiffServ 网络之间的映射机制
端到端 QoS
综合 - 区分服务模型
2008 年信息通信网课程
IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管
主要内容
2008 年信息通信网课程
4. 队列管理 路由器结构
队列管理主要是 针对输出队列进行的 调度算法:属于不同流的分组可能汇聚在路由器输出队列中等待
发送,当发送机会到来时,调度算法决定了选择队列中的哪一个分组发送
丢弃策略:当路由器的输出队列满或者将要满时, 丢弃策略决定了在什么时候、选择队列中哪一个分组丢弃
概述
Switch Fabric
2008 年信息通信网课程
4. 队列管理 调度算法决定了分组在队列中的排队
延迟,从而影响到流在网络中转发的端到端延迟、延迟抖动以及分配的带宽
丢弃策略决定了分组能否到达最终的
目的地,从而影响到流在网络中传输时的丢包率
概述
2008 年信息通信网课程
4. 队列管理1. 分组调度算法2. 丢弃策略3. 聚类
主要内容
2008 年信息通信网课程
4.1 分组调度算法 分组调度用于缓存区中的多个分组竞争使用同一个输出链路时 使用什么样的策略来选择分组发送? 该策略会对性能有什么影响?
1990 年代的一个热点研究领域 输出缓存和共享存储交换占主导 传输链路特别是骨干链路是稀缺的资源
输出缓存以队列的方式进行组织,调度主要对输出队列进 行
概述
2008 年信息通信网课程
4.1 分组调度算法 在设计调度算法时,应该根据实际情况考虑三个因素设
计考虑因素
优先级( Priorization ):如果不同的流具有不同的QoS 需求,需要使用优先级来实现流区分。例如某些流可能需要更 低的延迟,那么属于这些流的分组将被优先调度
公平性( Fairness ):不同流能够平等地访问网络资源,也就是说这些流对于网络资源具有相同的权利
隔离( Protection ):对于以超过其分配带宽发送分组的恶意流不应该影响到其它正常流的性能
2008 年信息通信网课程
4.1 分组调度算法 公平性和优先级
互补而不是互斥,公平性保证相同优先级的业务流接受相同的服务,并且确保低优先级的流不会由于所有的资源都被高优先级的流消耗而得不到任何服务
公平性和隔离 相关,公平性会自动地提供隔离,将恶意
流限制在其所享有的资源范围内
设计考虑因素
2008 年信息通信网课程
4.1 分组调度算法先到先服务优先级调度 Round Robin 公平调度
分类
常用于具有 QoS需求的场合
2008 年信息通信网课程
4.1.1 先到先服务 先到先服务( FCFS: First-Come-First Served )
发送机会到来时,最先到达的分组具有最高的调度优先级
缺点:无法实现流区分,不支持基于流的优先级,也无法保证公平性和隔离
原理
2008 年信息通信网课程
4.1.2 优先级调度 优先级队列( PQ: Priority Queueing )
到达输出队列的流被分成若干个具有不同优先级的队列 当发送机会到来时,选择最高优先级并且非空的队列中的分组来
发送,对于属于同一个优先级队列的分组,采用 FCFS 调度机制
缺点:无法提供公平性和隔离,低优先级队列调度会出现“饥饿”现象,因为只有高优先级队列中无分组发送时,低优先级的分组才有发送机会
高优先级队列:分组 1, 3, 4低优先级队列:分组 2, 5
原理
2008 年信息通信网课程
4.1.2 优先级调度当有比当前正在发送分组优先级更高
的分组到达时,如何处理? 继续发送低优先级分组,直到发送完成后再处理高优先级分组
低优先级分组被停止服务,重新放回队列中或者被丢弃,开始发送高优先级分组
非抢占和抢占调度
非抢占 式调度
抢占 式调度
2008 年信息通信网课程
4.1.3 Round Robin Round Robin 调度
到达输出队列的流被分成不同的队列 当有发送机会到来时,采用轮询的方式选择队列,并且从
队列中选择分组发送
原理
缺点:当每个流的分组大小不同时,难以保证公平性
队列 1 :分组 1, 2, 3队列 2 :分组 3, 5
2008 年信息通信网课程
4.1.3 Round Robin
在 Round Robin 调度的过程中,如果某个队列为空,如何处理? 在分配给该队列的时间内链路保持空闲,也就是
说即使队列中没有分组要发送,也在每一 轮调度中都保留为该队列分配的资源
直接转到下一个队列。也就就是说,只要有分组在队列中等待发送,链路就不会空闲
No
n-w
ork-co
nversin
g
和
wo
rk-con
versing
调度
non-work-conversing 调度
work-conversing 调度
2008 年信息通信网课程
4.1.4 公平调度 公平( Fairness )
不是指用户分配相同份额的资源,而是指每个用户对资源具有相同的访问权利
公平
问题:如果系统没有足够的资源满足所有用户的需求,并且某些用户可能比其他用户需要更 少的资源。在保证公平的情况下如何分配资源?
Max-Min 公平共享:首先要满足 那些需求小于它们可以得到部分的用户,然后将多余的资源在那些需求更大的用户之间平均分配 可以证明,在 Round Robin 调度算法中,如果每个队列中的分组大小都相等,则满足 Max-Min 公平共享
2008 年信息通信网课程
4.1.4 公平调度 定义
资源按照递增的顺序分配 没有用户获得大于其所需的资源 无法满足需求的用户获得相同的资源
分配过程 假设
系统总资源 R 用户集合 1, 2,…, n 对应的资源需求 r1, r2,…, rn, r1<r2<…<rn
步骤首先将 R/n 的资源分配给用户 1 ,也就是具有最小资源需求的那个用户, R/n 可能大于 r1 ,也就是比用户 1 需求的要多,此时将 r1 分配给用户 1 ,并且继续这个过程来,在剩余用户中分配剩下来的资源,直到出现第一个分配到的资源不比其需要的 多为止,该用户的需求没有得到满足
Max-M
in
公平共享
2008 年信息通信网课程
Max-Min 公平共享分配例子 --- 步骤 1
2008 年信息通信网课程
Max-Min 公平共享分配例子 --- 步骤 2
2008 年信息通信网课程
Max-Min 公平共享分配例子 --- 步骤 3
2008 年信息通信网课程
Max-Min 公平共享分配例子 --- 步骤 4
2008 年信息通信网课程
4.1.4 公平调度 赋予某些用户比其它用户具有获取更大份
额资源的权利 对每一个用户 i 都赋予相应的权重 wi ,以反应其获取资源的相对权利
加权Max-Min 公平共享分配定义 对用户需求通过权重归一化,然后按递增顺序
来分配资源。 没有用户获得大于其所需的资源 无法满足需求的用户获得与其权重成比例的资
源份额
加权M
ax-Min
公平共
享
2008 年信息通信网课程
链路容量 C=1Mbps=1,000,000bps
权重为: w1=0.5, w2=2,w3=1.75, w4=0.75
加权Max-Min 公平共享例子
2008 年信息通信网课程
权重归一化后得到 2/20, 8/20, 7/20, 3/20 。第 1轮分配结束后, 3多出的 145,200在1, 2, 4 中进行分配, 1得到 145200*2/(2+8+3)=22338bps, 2得到 145200*8/(2+8+3)=89354bps, 4得到 145200*3/(2+8+3)=33508bps ,需要注意的是,在分配时只用考虑剩下用户的权值
权重为: w1=0.5, w2=2,w3=1.75, w4=0.75
链路容量 C=1Mbps=1,000,000bps
权重为: w1=0.5, w2=2,w3=1.75, w4=0.75
2008 年信息通信网课程
4.1.4 公平调度 GPS
理想情况下实现 Max-Min 公平共享的调度算法 FQ
在实际环境下模拟 GPS 算法
WFQ 加权 FQ ,权重决定用户对资源的权利
算法
GPS和 FQ 的目标是实现或者接近MAX-MIN 公平共享,在实现时采用类似于 Round Robin 的调度规则
WFQ 的目标是接近MAX-MIN 公平共享
2008 年信息通信网课程
GPS 调度 GPS: Generalized Processor Sharing
为属于不同流的分组分别维护不同的队列 以 bit-by-bit round robin 的方式工作
路由器从队列 1 选择 1 个比特发送,然后从队列 2 选择 1 个比特发送,如此循环
原理
2008 年信息通信网课程Aij:第 i 个流的第 j 个分组的到达时间流 1 的分组长度为 2 比特流 2 和流 3 的分组长度为 3 比特
对于每个队列,有以下两个假设:1 )队列内的调度是 先到先服务2 )队列内采用非抢占 调度
对于一个 k 比特的分组,需要 k轮调度才能完成,但是实际所需的时间随着活跃流的数量而变化
2008 年信息通信网课程
GPS 调度 GPS 算法实现了MAX-MIN共享公平 GPS 调度算法是一个理想情况下调度
算法 在实际环境下,路由器或者交换机是以分
组而不是比特为单位来调度的
总结
2008 年信息通信网课程
FQ
FQ: Fair Queuing 为属于不同流的分组维护不同的等待队列 以分组为单位执行调度
原理
选择哪个分组来发送?1 )计算每个分组采用 bit-by-bit round robin( GPS )方式完成发送所需要的 轮数,这个轮数也被称为分组的 Finish Number2 )按照 Finish Number 从小到大的顺序来选择分组发送
2008 年信息通信网课程
FQ
Finish Number 的计算
Fin
ish N
um
ber
Aij: 第 i 个流的第 j 个分组 Lij: Aij 的长度 ( 以比特为单位 )Fij: Aij的 Finish Number ta: Aij 的到达时间R(ta): Aij 到达时已经完成的调度轮数
Aij 开始被发送时已经完成的调度轮数是下面两个值中的最大者:在分组到达时间 ta 时已经完成的轮数 (R(ta))
这实际上意味着分组一到达就被发送Ai,j-1的 Finish Number
这也就意味着分组到达时有分组在发送或者在等待发送
因此可以得到 Aij的 Finish Number :Fij = max{Fi,j-1, R(ta)} + Lij
2008 年信息通信网课程
FQ
FQ 在每个新的分组到达时执行以下的过程1 )利用 Fij = max{Fi,j-1, R(ta)} + Lij计算新到达分组的 finish number
2 )对于所有等待发送的分组,按照它们的finish number递增的顺序排列
3 )如果当前有分组正在发送,则等待分组发送完后选择一个 finish number 最小的分组来发送
调度过程
4 queues, sharing 4 bits/sec of bandwidth
1
111
B1 = 3A1 = 4
D2 = 2D1=1
C2=1C1=1
6 5 4 3 2 1
0 Time
A2, C3 arrive A1B1C1D1
D1,C1 Depart at R=1
B1 = 3A1 = 4
D2 = 2 D1=1
C2=1C1=1
A2 = 2
C3 = 2Round 1
1
111
6 5 4 3 2 1
0 Time
B1 = 3A1 = 4
D2 = 2D1=1
C2=1C1=1
A1B1C1D1A2 = 2
C3 = 2A1B1C2D2
C2 Departs at R=2
Round 1Round 2
1
111
6 5 4 3 2 1
0 Time
C1, D1的 Finish Number为 1
C2的 Finish Number为 2
4 queues, sharing 4 bits/sec of bandwidth
Sort by finish number of packets
Sort packets
B1 = 3A1 = 4
D2 = 2D1=1
C2=1C1=1
A1B1C1D1A2 = 2
C3 = 2A1B1C2D2
D2, B1 Depart at R=3
A1B1C3D2
Round 1Round 2Round 3
1
111
6 5 4 3 2 1
0 Time
A2 Departs at R=6
D2 = 2D1 = 1
1
111
B1 = 3A1 = 4
C2=1C1=1
A1B1C1D1A2 = 2
C3 = 2A1B1C2D2
A1 Depart at R=4
A1B1C3D2A1C3A2A2
Round 1Round 2Round 3Round 4
C3,
56
6 5 4 3 2 1
0 Time
B1 = 3A1 = 4
D2 = 2D1=1
C2=1C3 = 2 C1=1
C1D1C2B1B1B1D2D2A 1A1A 1A 1A2 = 2
C3C3A2A21
111
6 5 4 3 2 1
0 Time
B1, D2的 Finish Number为2
C3, A1的 Finish Number为 4, A2为 6
2008 年信息通信网课程
FQ
FQ 可以看作在实际环境下对 GPS 的接近,但不是精确模拟
在 FQ 中,对每个新到达的分组都需要计算 Finish Number 对于高速网络来说,计算过于复杂
总结
2008 年信息通信网课程
WFQ
WFQ: Weighted Fair Queuing 每个流对资源拥有不平等的权利 对于流 1, 2, …, n, 分别有权重 w1, w2,
…, wn ,每个流的权重反映了该流对资源的权利在加权Max-Min 公平共享下,假设链路带宽为 C ,则流 1获得的带宽为:
Ci =
概述
2008 年信息通信网课程
WFQ
WFQ下 Finish Number 的计算
Fin
ish N
um
ber
Ai,j: 流 i 的第 j 个分组ta: Ai,j 的到达时间R(ta): Ai,j 到达时完成的调度轮数Li,j: Ai,j 的长度Wi: 流 i 的权重
1W1 = 0.1
W3 = 0.3R1
C
W4 = 0.3
W2 = 0.3
Order of schedule for the four queues:… f1, f2, f2, f2, f3, f3, f3, f4, f4, f4, f1,…
4 queues, sharing 4 bits/sec of bandwidth, Weights 3:2:2:1
B1 = 3A1 = 4
D2 = 2D1=1
C2=1C1=1
3
221
6 5 4 3 2 1
0 Time
B1 = 3A1 = 4
D2 = 2D1=1C2=1C1=1
A1A1A1B1A2 = 2
C3 = 2Round 1
3
221
6 5 4 3 2 1
0 Time
B1 = 3A1 = 4
D2 = 2D1=1
C2=1C1=1
A1A1A1B1A2 = 2
C3 = 2
D1, C2, C1 Depart at R=1
B1C1C2D1
Round 1
3
221
6 5 4 3 2 1
0 Time
A2, C3 arrive
C1, C2, D1的 Finish Number为1
4 queues, sharing 4 bits/sec of bandwidth, Weights 3:2:2:1
Sort by finish number of packets
Sort packets
B1 = 3A1 = 4
D2 = 2D1=1
C2=1C1=1
A2 = 2
C3 = 2
B1, A2 A1 Depart at R=2
A1A1A1B1B1C1C2D1A1A2A2B1
Round 1Round 2
3
221
6 5 4 3 2 1
0 Time
B1 = 3A1 = 4
D2 = 2D1=1
C2=1C1=1
A2 = 2
C3 = 2
D2, C3 Depart at R=2
A1A1A1B1B1C1C2D1A1A2A2B1C3C3D2D2
Round 1Round 23
3
221
6 5 4 3 2 1
0 Time
Weights : 1:1:1:1
B1 = 3A1 = 4
D2 = 2D1=1
C2=1C3 = 2 C1=1
C1C2D1A1A1A1A1A2A2B1B 1B1A2 = 2
C3C3D2D23
221
6 5 4 3 2 1
0 Time
A1, A2, B1的 Finish Number为2
C3, D2的 Finish Number为 2
2008 年信息通信网课程
4. 队列管理1. 分组调度算法2. 丢弃策略3. 聚类
主要内容
2008 年信息通信网课程
4.2 丢弃策略 当进入网络的业务超过网络的容量时,网络将出现拥塞,导致大量分组被丢弃
分组丢弃主要是由于在路由 器或者交换机上的队列空间有限造成的 什么时候开始丢弃分组? 使用什么样的策略来选择丢弃的分组?
丢弃策略会对网络性能产生什么样的影响?
概述
丢弃策略
丢弃策略不仅仅是丢弃分组,还需要能够有 效地缓解网络拥塞,这需要和具体的业务 配合工作
2008 年信息通信网课程
4.2 丢弃策略拥塞无响应流
对网络拥塞没有反应,仍然保持原有行为的业务流
基于 UDP 的业务流拥塞响应流
当发生网络拥塞时,能够做出相应调整的业务流,例如降低发送速率
基于 TCP 的业务流
概述
2008 年信息通信网课程
4.2 丢弃策略
TCP 发送端维护一个发送窗口,决定了一次能够发送的最大的数据量
发送窗口的大小由 TCP 接收端的接收能力和现有网络容量来 确定发送窗口的上限值 =Min[rwnd, cwnd] rwnd :接收端窗口,反应了接收端的接收能力 cwnd :拥塞窗口,反应了当前的可用网络容量
TC
P
中的拥塞控制机制
rwnd 由接收端当前可用的接收缓存来确定,关键是如何确定 cwnd
2008 年信息通信网课程
4.2 丢弃策略
TC
P
中的拥塞控制机制
TCP拥塞控制算法过程 当一个连接初始化时,将拥塞窗口置为一个最大数据段长
度,并设置慢启动阈值 ssthresh 。 发送端的发送窗口不能超过拥塞窗口和接收窗口中的最小
值,并假定接收端不进行流量控制。 发送端若收到了对所有发出的数据段的确认,就在下一次
发送时将拥塞窗口加倍。可见拥塞窗口从 1 开始按指数规律增长
拥塞窗口增长到 ssthresh 时,就每次将拥塞窗口加 1 ,使拥塞窗口按线性规律增长
如果出现数据段丢失,就将当时拥塞窗口值减半,作为新的 ssthresh ,同时将拥塞窗口变为 1
重复上述过程
慢启动
拥塞避免
2008 年信息通信网课程
4.2 丢弃策略
TC
P
中的拥塞控制机制
慢启动 慢启动
1
基于 TCP 的流在检测到网络拥塞时将通过主动 减少发送窗口来降低发送速率
2008 年信息通信网课程
4.2 丢弃策略 被动丢弃策略( PQM: Passive Queue
Management ) 当队列满时开始丢弃分组 拥塞恢复策略 Drop-tail, Drop-Front, Drop-Random 等
主动 丢弃策略( AQM: Active Queue Management ) 预见拥塞将要发生时开始 丢弃分组 拥塞防止策略 RED, ARED, SRED, FRED, BLUE 等
分类
2008 年信息通信网课程
4.2.1 Drop-Tail
PQM 策略 队列满时丢弃随后到达的分组 Internet 上缺省使用的丢弃策略缺点
全局同步( Global Synchronization )问题
死锁( Lock-Out )问题 满队列( Full Queues )问题
原理
2008 年信息通信网课程
全局同步问题
Can result in very low throughput during periods of Can result in very low throughput during periods of congestioncongestion
Max Queue Length
2008 年信息通信网课程
全局同步问题
Queue Size
Time
Total Queue
TCP connection reduces transmission rate
TCP connection increases tx rate using the slow start and congestion avoidance
TCP connection reduces tx rate
2008 年信息通信网课程
全局同步问题
Flow 1
Rate
Time
Flow 2
Aggregate load
bottleneck rate
2008 年信息通信网课程
死锁问题
某个流或者少部分流垄断队列空间,阻止其他流的分组进入队列
Lock-out经常由同步问题造成
Max Queue Length
2008 年信息通信网课程
满队列问题
队列长时间处于满的状态 增加排队延迟 导致突发数据丢弃
Max Queue Length
2008 年信息通信网课程
4.2.2 RED RED: Random Early Detection AQM 策略 避免全局同步、死锁、满队列问题 原理
通过检测队列平均长度来探测拥塞,当发现拥塞逼近时,开始以一定的概率选择分组丢弃
分组丢弃的概率与平均队列长度相关 只丢弃正进入路由器或者交换机的分组,实现简单
概述
Average Queue Length0
1
min_th max_th
max_p
2008 年信息通信网课程
4.2.2 RED
算法过程
Upon packet arrival do Compute the average queue size avgQ if avgQ >= maxth then
drop the packet else if minth<= avgQ <maxth then drop packet with probability P end if end do
1 )计算平均队列长度 avgQ2 )计算丢弃概率 P
2008 年信息通信网课程
4.2.2 RED
算法过程
计算平均队列长度 avgQavgQ = (1 – wq)avgQ + wqq (if q > 0)
avgQ = (1-wq)mavgQ (if q=0)
q :测量时当前队列长度 wq: RED 对拥塞的反应程度
过大,不能过滤由于突发导致的短暂拥塞过小,对实际队列长度反应过慢,不能有效地检测拥塞
m=queue_idle_time/typical_transmission_timeWq: 由路由器或者交换机允许的突发业务大小和持续时间决定
2008 年信息通信网课程
4.2.2 RED
计算丢弃概率Pb = maxp*(avgQ-minth)/(maxth-minth)
P = Pb/(1-count*Pb)
maxth-minth 应该大于一个往返时间内平均队列的增加值,以避免由于丢弃过多的分组而导致全局同步
一般将 maxth 设置为 minth的 2倍
count: 上一次丢弃到现在进入队列的分组数量,实现均匀间隔地丢包,避免对突发流的偏见和产生全局同步现象
算法过程
2008 年信息通信网课程
4.2.2 RED 在假设平均队列长度为常数的情况下,丢弃
概率的选择应该使得分组丢弃间隔尽量均匀 避免对突发业务流的偏见 避免产生全局同步现象
均匀间隔丢弃
X :连续两次分组丢弃之间到达分组数量(包括后一次丢弃分组)1 )直接使用 Pb计算丢弃概率
2 )在计算丢弃概率时考虑 count
2008 年信息通信网课程
4.2.2 RED
性能分析
Time
Max Queue Size
max_th
min_th
Forced drop
Probabilistic drops
No drops
Drop probability
Average queue length
丢弃概率依赖于拥塞程度,并且均匀间隔丢弃,避免了由于分组连续丢弃导致的全局同步现象
发生拥塞时,丢弃某个流的分组的概率基本上与该流在路由器或者交换机上获得的带宽成比例
平均队列超过阈值后就开始丢弃分组,有效地控制了平均队列长度,限制了平均延迟,并且允许一定程度的突发分组
2008 年信息通信网课程
4.2.2 RED 参数设 置问题
RED 的参数的 微小变化会给总体性能带来很大的影响,与特定的业务环境相关
不能有效估计拥塞的严重性 从路由器或者交换机开始丢弃分组到源端检查到丢弃从而做出反应,可能需要很长的时间, RED必须配置足够的缓存空间
RED还需确保丢弃分组在充分降低源端发送速率的同时不能降低链路的利用率
一般权值 wq很小 (例如 0.002) ,平均队列长度变化很小 当系统负载很重时,平均队列长在 maxth附近震荡,导致
分组长时间连续丢弃( avgQ>maxth )或者连续随机丢弃(avgQ<maxth) ,有可能导致全局同步现象
公平性问题 拥塞无响应流可能导致拥塞响应流陷入饥饿状态
性能分析
2008 年信息通信网课程
4. 队列管理1. 分组调度算法2. 丢弃策略3. 聚类
主要内容
2008 年信息通信网课程
4.3 聚类 对于每一个流都建立一个队列,由于网络中业务流的数量很大,使得队列管理开销也很大
聚类:将多个具有相同 QoS 需求的流聚集成一个类,每个类对应着一个队列
概述
丢弃策略调度算法
分类类型、优先级、源 / 目的 IP 地址、源 / 目的端口号
2008 年信息通信网课程
IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管
主要内容
2008 年信息通信网课程
5 业务监管 业务监管: Traffic Policing
对业务进行监视,以避免超过许可的服务质量参数约定
通过业务监管机制,可以对超过约定参数的业务的流量进行调节,这个过程也称为流量整形
业务监管功能一般由位于网络入口处的边缘路由器上执行
实现机制 漏桶算法 令牌桶算法
概述
2008 年信息通信网课程
5.1 漏桶算法漏桶算法: Leaky
Bucket 只要桶中有水,水流
出的速率就是常数 桶中没有水的时候,水流出的速率为 0
桶满以后,往里面流的水会溢出
原理
2008 年信息通信网课程
5.1 漏桶算法 应用于分组传输的漏桶算法 平滑突发业务流
不论输入的速率为多大,输出速率始终是一个常数
原理
2008 年信息通信网课程
5.1 漏桶算法1 )将漏桶看做是一个有限长度的队列,以字节为单位计数,当分组到达的时候,如果队列中还有空间的话,就被添加到对列的尾部,否则该分组将被丢弃
2 )在每一个嘀嗒周期,首先将计数器初始化为 n ,如果队列中第一个分组的字节数少于计时器的当前值,则将分组发送出去,并且将计数器减去该分组的字节数。然后对下一个分组执行同样的过程,直到出现计数器的值小于队列中的分组的长度为止。此时,传输过程终止,直到下一个嘀嗒再开始
3 )到达下一个嘀嗒的时候,计数器被重置,执行步骤2 ),再次开始分组发送过程
算法过程
2008 年信息通信网课程
5.2 令牌桶 令牌桶: Token Bucket
桶中保存的是令牌,每隔 T秒产生一个 只有当桶中有令牌时才能传输数据 允许突发流量
原理
Arriving packets
假设:S: 突发长度( s )b: 令牌桶容量( B )M :最大输出速率( Bps )r :令牌到达速率( Bps )
b+rS = MS S=b/(M-r)
2008 年信息通信网课程
5.2 令牌桶1 )每个令牌桶维护一个字节计数器,每隔 T秒,计
数器的值增加 K字节,这就相当于往桶中放一个令牌,一个令牌代表了传输 K字节的权利,令牌速率为 r=K/T( Bps )。假设桶的大小为 b字节,当计数器的值大于 b字节时,就会发生溢出,需要注意的是,这里溢出丢弃的是令牌,而不是数据
2 )当有分组等待发送时,如果计数器的值大于当前分组的长度,则发送该分组,并且将计数器的值减去分组长度。如果还有分组等待发送,继续执行上面的过程,直到计数器的值小于分组长度为止
算法过程
2008 年信息通信网课程
5.3 漏桶和令牌桶 两者都可以用于业务监管,判断一个流是否违反约定的参数 漏桶算法的输出保持的是严格的均匀速率,不管业务流量的突
发程度如何 在漏桶算法中,不允许将空闲时的发送许可权保存起来以便发送
大的突发数据(每个时钟嘀嗒后,漏桶的字节计数器都将被重置)
令牌桶算法在大量突发数据到来的时候,允许输出流适当的加快 可以将发送许可权保存起来,直到到达桶的最大尺寸。这也就意味着只要突发数据不 超过桶的大小,就可以一次发送出去
在漏桶算法中,桶中填充的是数据,所以当桶填满后将丢弃分组,而在令牌桶中,桶中填充的是令牌,所以当桶填满后将丢弃令牌,相当于是传输许可,而不是分组
比较
2008 年信息通信网课程
5.4 业务监管和队列调度组合例子
令牌桶 +WFQ 可以确保分组延迟的上界 使用 WFQ 给每个流分配相应的带宽 通过令牌桶限制每个流的突发长度