第六章 ip 网络的服务质量

95
2008 年年年年年年年年 年年年 IP 年年年年年年年

Upload: gerik

Post on 20-Jan-2016

109 views

Category:

Documents


0 download

DESCRIPTION

第六章 IP 网络的服务质量. 服务质量体系结构. 服务质量实现技术. IP 网络的服务质量. 概述 综合服务 区分服务 队列管理 业务监管. 主要内容. IP 网络的服务质量. 概述 综合服务 区分服务 队列管理 业务监管. 主要内容. IP 网络. 以太网、令牌环网、 IEEE 802.11 、 3G…. 1. 概述. 提出带宽,延迟需求. IP 将成为未来各种网络技术和业务的融合平台 QoS: Quality of Service ,服务质量. 背景. 数据业务. 综合业务 (数据视频语音). 无带宽,延迟保证. 尽力服务模型. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第六章 IP 网络的服务质量

2008 年信息通信网课程

第六章 IP 网络的服务质量

Page 2: 第六章 IP 网络的服务质量

2008 年信息通信网课程

IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管

主要内容

服务质量体系结构

服务质量实现技术

Page 3: 第六章 IP 网络的服务质量

2008 年信息通信网课程

IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管

主要内容

Page 4: 第六章 IP 网络的服务质量

2008 年信息通信网课程

1. 概述背景

IP 将成为未来各种网络技术和业务的融合平台QoS: Quality of Service ,服务质量

尽力服务模型 支持服务质量模型

数据业务 综合业务(数据视频语音)

IP 网络

以太网、令牌环网、 IEEE 802.11、 3G…

无带宽,延迟保证

提出带宽,延迟需求

Page 5: 第六章 IP 网络的服务质量

2008 年信息通信网课程

1. 概述 ITU-T: QoS 是一个综合指标,用于衡量一

个服务的满意程度 Cisco: QoS 是指一个网络能够利用各种底

层技术向选定的网络业务提供更好的服务的能力。这些底层技术包括:帧中继( Frame Relay )、异步传输模式( ATM )、以太网、SONET 以及 IP- 路由网络等

IETF: QoS 是在传输一个“流”时,网络能够满足相应的服务需求

Qo

S

定义

Page 6: 第六章 IP 网络的服务质量

2008 年信息通信网课程

1. 概述 从一个源到一个目的的有序分组集合被称为一个流( Flow)

一般来说,流是由特定于具有应用并且具有相同服务质量需求的分组所组成

在面向连接的网络中,属于同一个流的所有分组将会走相同的路径到达目的地 ,在无连接的网络中,属于同一个流的分组可能会走不通的路径到达目的地

流的概念

一个流和一个应用会话( Session )相对应,所以在后面叙述中有时将流的概念和会话的概念等同

Page 7: 第六章 IP 网络的服务质量

2008 年信息通信网课程

1. 概述 带宽( bandwidth ):给定介质、协议或连

接的额定吞吐量,实际上指应用程序在网络中通信所需要的“管道大小”,也可以认为是用户对网络传输速率的要求 最小带宽(最小分组速率( Least Packet Rat

e )):传输中的最小瞬时速率,可用产生两个相邻分组的最大时间间隔的倒数来表示

峰值带宽(峰值分组速率( Peak Packet Rate )):传输中的最大瞬时速率,可用产生两个相邻分组的最短时间间隔的倒数来表示

平均带宽(平均分组速率( Sustained Packet Rate )):一段时间内分组传输的平均速率

Qo

S

度量参数

Page 8: 第六章 IP 网络的服务质量

2008 年信息通信网课程

1. 概述 延迟( delay ):分组从发送端到达接收端的时间间隔

传输延迟: transmission delay ):发送分组的第一个比特到发送最后一个比特的时间间隔,取决于发送接口的速率和分组的大小

传播延迟:( propagation delay ):发送分组的一个比特到接收端接收到该比特的时间间隔,取决于传输介质和传输距离

处理延迟( processing delay ):分组从到达节点到进入输出队列的时间间隔,包括对分组头标处理,路由查找等,取决于节点的处理能力和分组处理的复杂度

排队延迟( queuing delay ):分组从进入输出队列到开始输出的时间间隔,取决于队列长度和调度策略

延迟抖动( delay jitter ):端到端延迟的变化特性,由延迟的可变部分的变化导致的,流量的突发、不公平的队列调度算法都可能导致较大的延迟抖动

Qo

S

度量参数

Page 9: 第六章 IP 网络的服务质量

2008 年信息通信网课程

1. 概述 综合服务 区分服务

Qo

S

体系结构

All Proposed by IETF

Page 10: 第六章 IP 网络的服务质量

2008 年信息通信网课程

IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管

主要内容

Page 11: 第六章 IP 网络的服务质量

2008 年信息通信网课程

2. 综合服务模型 综合服务: IntServ

IETF的 IntServ 工作组于 1994 年提出 同时支持实时和非实时业务

在每个实时业务开始之前,由终端设备向网络发出请求,为它预留必要的网络 资源(带宽、处理、存储)

通过在网络中队列管理机制,使实时业务的带宽和延迟得到保证

通过分组调度机制,实现实时业务和非实时业务的分离

“ 流”是 IntServ 中能识别的最小粒度 流是单向的,它具有单一的发送端和 N 个接收

概述

Page 12: 第六章 IP 网络的服务质量

2008 年信息通信网课程

资源预留:负责逐跳( hop-by-hop )建立或拆除每个流的资源预留软状态( soft state )

接纳控制:根据链路和网络节点的资源使用情况以及具体的 QoS请求决定是否接受一个资源预留请求

分组分类器:对到达的数据分组进行分类,然后分别放入不同的输出队列

分组调度器:根据不同的策略和分配的资源对各个队列中的分组进行调度转发

分组转发路径

(数据)

后台执行代码

( 信令 )

资源预留 Agent

分组分类器 分组调度器

接纳控制

QoS 实现机制

Page 13: 第六章 IP 网络的服务质量

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 :无法实现资源预留

Page 14: 第六章 IP 网络的服务质量

2008 年信息通信网课程

2.1 资源预留协议运行机制

PATH 发送主机的 IP 地址, UDP/TCP 端口号等参数组成的

Template 描述发送方发送的业务流特征的参数 TSpec 沿途节点 QoS控制能力与需求信息的描述参数 ADSpec

RESV 接收端预留的资源参数 FLOWSpec

描述业务流特征的参数 TSpec描述所要求服务的参数 RSpec

发送主机

路由器

路由器

接收主机

Path Path Path

DATA DATA DATA

RESVRESVRESV

Page 15: 第六章 IP 网络的服务质量

2008 年信息通信网课程

2.1 资源预留协议 面向接收( Receiver-Oriented ):由接收

主机根据需要预留软状态( soft state ):定期发送 PATH和

RESV消息维护 组播支持: 1 对多通信

特点

发送主机 1 路由器 1

接收主机 1

接收主机 2

路由器 1

RESV

RESV

RESV(已合并)

RESV(已合并)

Page 16: 第六章 IP 网络的服务质量

2008 年信息通信网课程

2.2 接纳控制 接纳控制: Admission Control

根据当前资源情况,判断是否同意接入一个新的流的 QoS请求

接纳控制算法 基于资源预留参数的接 纳控制:根据节点以前同

意接入的所有请求的服务参数,用每个服务最 坏情况的边界值来进行计算

基于资源实际使用情况的接纳控制:测量现有数据流的实际链路带宽利用率,据此来判定是否接纳一个新的流

Page 17: 第六章 IP 网络的服务质量

2008 年信息通信网课程

2.3 服务类型 保证型服务( GS: Guaranteed Service

) 提供完全保证的服务质量,用于要求 低延时的业

务,其最大延时和带宽能够得到定量保证 常用于话音、视频等实时业务

受控负载型服务( CLS: Controlled-Load Service ) 能够提供一种相当于网络节点在低负载情况下的

尽力服务 要求 低的丢包率,可以接受一定范围内的延迟 常用于文件下载, Web访问等业务

尽力服务( Best Effort )服务分离通过节点上的调度算法来实现

Page 18: 第六章 IP 网络的服务质量

2008 年信息通信网课程

2.4 综合服务总结 提供端到端的 QoS 保证基于流的细粒度资源分配存在可扩展性问题

在路径上的每个节点必须建立和维护“每流”的预留状态信息

在路径上的每个节点需要对每个流进 行接纳控制、分类调度等操作

存储、处理开销随着流的数量的增加而急剧增长

Page 19: 第六章 IP 网络的服务质量

2008 年信息通信网课程

IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管

主要内容

Page 20: 第六章 IP 网络的服务质量

2008 年信息通信网课程

3. 区分服务模型 区分服务: DiffServ

IETF的 DiffServ 工作组于 1998 年提出 解决 IntServ 的可扩展性问题,在分组中携带的信息决定如何处理,而不需要使用RSVP 协议

基于类的 QoS 保证,通常在核心网中使用当业务到达区分服务区域( DS 区域)的边缘

时,边缘路由器使用分组头标中的区分服务标记域( DS field )对其进行聚类

网络对同类业务给予相同的 QOS 保证

概述

DS 区域:连续的多个实现相同服务策略的 DS 路由器组成的组

Page 21: 第六章 IP 网络的服务质量

2008 年信息通信网课程

边缘路由器:业务量分类和调节,对分组头标中的 DS域进行标记,标记值被称为 DSCP

中心路由器:根据 IP 分组 DS域中所标记的 DSCP 值,来选择所对应的转发处理,即逐跳行为( PHB ),从而对分组进行调度转发

SLA( Service Level Agreement )协商:不同 DS 区域之间的分类规则、重新标记规则以及业务流应该符合的业务量配置文件

非DS区域

非DS区域

非DS区域

多个DS区域组成的DS区

边缘路由器 中心路

由器

DS区域之间通过SLA进行协调

DS 区域:连续的多个实现相同服务策略的 DS 路由器组成的组

Page 22: 第六章 IP 网络的服务质量

2008 年信息通信网课程

边缘路由器

中心路由器

中心路由器

边缘路由器

DATA DATA DATA DATA

分类器

度量器

标记器 整形 /丢弃

业务量调节器

调度

行为汇聚分类器( BA ):根据 DS域对分组进行分类多域分类器( MF ):根据不同的头标域或者头标域的组合来分类分组

使得业务遵守预先的配置

根据标记( DS域)对分组执行调度转发

检查进入的数据流,看是否遵守配置

根据分类结果给分组打上标记 (DS域 )

Page 23: 第六章 IP 网络的服务质量

2008 年信息通信网课程

3.1 DS域 IPv4 头标的 TOS( Type of Service, TO

S )域或 IPv6 头标的业务量等级( Traffic Class )域的前 6 比特

DSCP: DS域中的具体值,节点根据 DSCP选择特定的转发操作,从而实现资源分配

定义

Page 24: 第六章 IP 网络的服务质量

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

概述

Page 25: 第六章 IP 网络的服务质量

2008 年信息通信网课程

3.2 逐跳行为加速转发型 PHB : EF PHB

提供低丢失率、低延时和低延时抖动的服务 严格限制 EF 分组到达路由器的速率小于路

由器转发 EF 分组的速率 通过在 DS域的边缘配置边缘路由器,使得进入到 DS域内的 EF 分组不超过某一最大速率,从而实现对 EF 分组速率的限制

EF 由具体的调度算法来实现推荐 DSCP为 101110

加速转发

Page 26: 第六章 IP 网络的服务质量

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

Page 27: 第六章 IP 网络的服务质量

2008 年信息通信网课程

3.3 区分服务总结基于聚合类的粗粒度资源分配 具有较好的可扩展性。 DS域只是规定了有限数量的业务级别,状态信息的数量正比于业务级别,而不是流的数量

易于实现。一般只在网络的边缘上才需要复杂的分 类、标记、整形等操作

无法提供端到端的 QoS 保证

Page 28: 第六章 IP 网络的服务质量

2008 年信息通信网课程

IntServ 模型:接入网络 DiffSev 模型:核心网络 IntServ和 DiffServ 网络之间的映射机制

端到端 QoS

综合 - 区分服务模型

Page 29: 第六章 IP 网络的服务质量

2008 年信息通信网课程

IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管

主要内容

Page 30: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4. 队列管理 路由器结构

队列管理主要是 针对输出队列进行的 调度算法:属于不同流的分组可能汇聚在路由器输出队列中等待

发送,当发送机会到来时,调度算法决定了选择队列中的哪一个分组发送

丢弃策略:当路由器的输出队列满或者将要满时, 丢弃策略决定了在什么时候、选择队列中哪一个分组丢弃

概述

Switch Fabric

Page 31: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4. 队列管理 调度算法决定了分组在队列中的排队

延迟,从而影响到流在网络中转发的端到端延迟、延迟抖动以及分配的带宽

丢弃策略决定了分组能否到达最终的

目的地,从而影响到流在网络中传输时的丢包率

概述

Page 32: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4. 队列管理1. 分组调度算法2. 丢弃策略3. 聚类

主要内容

Page 33: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1 分组调度算法 分组调度用于缓存区中的多个分组竞争使用同一个输出链路时 使用什么样的策略来选择分组发送? 该策略会对性能有什么影响?

1990 年代的一个热点研究领域 输出缓存和共享存储交换占主导 传输链路特别是骨干链路是稀缺的资源

输出缓存以队列的方式进行组织,调度主要对输出队列进 行

概述

Page 34: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1 分组调度算法 在设计调度算法时,应该根据实际情况考虑三个因素设

计考虑因素

优先级( Priorization ):如果不同的流具有不同的QoS 需求,需要使用优先级来实现流区分。例如某些流可能需要更 低的延迟,那么属于这些流的分组将被优先调度

公平性( Fairness ):不同流能够平等地访问网络资源,也就是说这些流对于网络资源具有相同的权利

隔离( Protection ):对于以超过其分配带宽发送分组的恶意流不应该影响到其它正常流的性能

Page 35: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1 分组调度算法 公平性和优先级

互补而不是互斥,公平性保证相同优先级的业务流接受相同的服务,并且确保低优先级的流不会由于所有的资源都被高优先级的流消耗而得不到任何服务

公平性和隔离 相关,公平性会自动地提供隔离,将恶意

流限制在其所享有的资源范围内

设计考虑因素

Page 36: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1 分组调度算法先到先服务优先级调度 Round Robin 公平调度

分类

常用于具有 QoS需求的场合

Page 37: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1.1 先到先服务 先到先服务( FCFS: First-Come-First Served )

发送机会到来时,最先到达的分组具有最高的调度优先级

缺点:无法实现流区分,不支持基于流的优先级,也无法保证公平性和隔离

原理

Page 38: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1.2 优先级调度 优先级队列( PQ: Priority Queueing )

到达输出队列的流被分成若干个具有不同优先级的队列 当发送机会到来时,选择最高优先级并且非空的队列中的分组来

发送,对于属于同一个优先级队列的分组,采用 FCFS 调度机制

缺点:无法提供公平性和隔离,低优先级队列调度会出现“饥饿”现象,因为只有高优先级队列中无分组发送时,低优先级的分组才有发送机会

高优先级队列:分组 1, 3, 4低优先级队列:分组 2, 5

原理

Page 39: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1.2 优先级调度当有比当前正在发送分组优先级更高

的分组到达时,如何处理? 继续发送低优先级分组,直到发送完成后再处理高优先级分组

低优先级分组被停止服务,重新放回队列中或者被丢弃,开始发送高优先级分组

非抢占和抢占调度

非抢占 式调度

抢占 式调度

Page 40: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1.3 Round Robin Round Robin 调度

到达输出队列的流被分成不同的队列 当有发送机会到来时,采用轮询的方式选择队列,并且从

队列中选择分组发送

原理

缺点:当每个流的分组大小不同时,难以保证公平性

队列 1 :分组 1, 2, 3队列 2 :分组 3, 5

Page 41: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1.3 Round Robin

在 Round Robin 调度的过程中,如果某个队列为空,如何处理? 在分配给该队列的时间内链路保持空闲,也就是

说即使队列中没有分组要发送,也在每一 轮调度中都保留为该队列分配的资源

直接转到下一个队列。也就就是说,只要有分组在队列中等待发送,链路就不会空闲

No

n-w

ork-co

nversin

g

wo

rk-con

versing

调度

non-work-conversing 调度

work-conversing 调度

Page 42: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1.4 公平调度 公平( Fairness )

不是指用户分配相同份额的资源,而是指每个用户对资源具有相同的访问权利

公平

问题:如果系统没有足够的资源满足所有用户的需求,并且某些用户可能比其他用户需要更 少的资源。在保证公平的情况下如何分配资源?

Max-Min 公平共享:首先要满足 那些需求小于它们可以得到部分的用户,然后将多余的资源在那些需求更大的用户之间平均分配 可以证明,在 Round Robin 调度算法中,如果每个队列中的分组大小都相等,则满足 Max-Min 公平共享

Page 43: 第六章 IP 网络的服务质量

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

公平共享

Page 44: 第六章 IP 网络的服务质量

2008 年信息通信网课程

Max-Min 公平共享分配例子 --- 步骤 1

Page 45: 第六章 IP 网络的服务质量

2008 年信息通信网课程

Max-Min 公平共享分配例子 --- 步骤 2

Page 46: 第六章 IP 网络的服务质量

2008 年信息通信网课程

Max-Min 公平共享分配例子 --- 步骤 3

Page 47: 第六章 IP 网络的服务质量

2008 年信息通信网课程

Max-Min 公平共享分配例子 --- 步骤 4

Page 48: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1.4 公平调度 赋予某些用户比其它用户具有获取更大份

额资源的权利 对每一个用户 i 都赋予相应的权重 wi ,以反应其获取资源的相对权利

加权Max-Min 公平共享分配定义 对用户需求通过权重归一化,然后按递增顺序

来分配资源。 没有用户获得大于其所需的资源 无法满足需求的用户获得与其权重成比例的资

源份额

加权M

ax-Min

公平共

Page 49: 第六章 IP 网络的服务质量

2008 年信息通信网课程

链路容量 C=1Mbps=1,000,000bps

权重为: w1=0.5, w2=2,w3=1.75, w4=0.75

加权Max-Min 公平共享例子

Page 50: 第六章 IP 网络的服务质量

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

Page 51: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.1.4 公平调度 GPS

理想情况下实现 Max-Min 公平共享的调度算法 FQ

在实际环境下模拟 GPS 算法

WFQ 加权 FQ ,权重决定用户对资源的权利

算法

GPS和 FQ 的目标是实现或者接近MAX-MIN 公平共享,在实现时采用类似于 Round Robin 的调度规则

WFQ 的目标是接近MAX-MIN 公平共享

Page 52: 第六章 IP 网络的服务质量

2008 年信息通信网课程

GPS 调度 GPS: Generalized Processor Sharing

为属于不同流的分组分别维护不同的队列 以 bit-by-bit round robin 的方式工作

路由器从队列 1 选择 1 个比特发送,然后从队列 2 选择 1 个比特发送,如此循环

原理

Page 53: 第六章 IP 网络的服务质量

2008 年信息通信网课程Aij:第 i 个流的第 j 个分组的到达时间流 1 的分组长度为 2 比特流 2 和流 3 的分组长度为 3 比特

对于每个队列,有以下两个假设:1 )队列内的调度是 先到先服务2 )队列内采用非抢占 调度

对于一个 k 比特的分组,需要 k轮调度才能完成,但是实际所需的时间随着活跃流的数量而变化

Page 54: 第六章 IP 网络的服务质量

2008 年信息通信网课程

GPS 调度 GPS 算法实现了MAX-MIN共享公平 GPS 调度算法是一个理想情况下调度

算法 在实际环境下,路由器或者交换机是以分

组而不是比特为单位来调度的

总结

Page 55: 第六章 IP 网络的服务质量

2008 年信息通信网课程

FQ

FQ: Fair Queuing 为属于不同流的分组维护不同的等待队列 以分组为单位执行调度

原理

选择哪个分组来发送?1 )计算每个分组采用 bit-by-bit round robin( GPS )方式完成发送所需要的 轮数,这个轮数也被称为分组的 Finish Number2 )按照 Finish Number 从小到大的顺序来选择分组发送

Page 56: 第六章 IP 网络的服务质量

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

Page 57: 第六章 IP 网络的服务质量

2008 年信息通信网课程

FQ

FQ 在每个新的分组到达时执行以下的过程1 )利用 Fij = max{Fi,j-1, R(ta)} + Lij计算新到达分组的 finish number

2 )对于所有等待发送的分组,按照它们的finish number递增的顺序排列

3 )如果当前有分组正在发送,则等待分组发送完后选择一个 finish number 最小的分组来发送

调度过程

Page 58: 第六章 IP 网络的服务质量

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

Page 59: 第六章 IP 网络的服务质量

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

Page 60: 第六章 IP 网络的服务质量

2008 年信息通信网课程

FQ

FQ 可以看作在实际环境下对 GPS 的接近,但不是精确模拟

在 FQ 中,对每个新到达的分组都需要计算 Finish Number 对于高速网络来说,计算过于复杂

总结

Page 61: 第六章 IP 网络的服务质量

2008 年信息通信网课程

WFQ

WFQ: Weighted Fair Queuing 每个流对资源拥有不平等的权利 对于流 1, 2, …, n, 分别有权重 w1, w2,

…, wn ,每个流的权重反映了该流对资源的权利在加权Max-Min 公平共享下,假设链路带宽为 C ,则流 1获得的带宽为:

Ci =

概述

Page 62: 第六章 IP 网络的服务质量

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,…

Page 63: 第六章 IP 网络的服务质量

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

Page 64: 第六章 IP 网络的服务质量

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

Page 65: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4. 队列管理1. 分组调度算法2. 丢弃策略3. 聚类

主要内容

Page 66: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2 丢弃策略 当进入网络的业务超过网络的容量时,网络将出现拥塞,导致大量分组被丢弃

分组丢弃主要是由于在路由 器或者交换机上的队列空间有限造成的 什么时候开始丢弃分组? 使用什么样的策略来选择丢弃的分组?

丢弃策略会对网络性能产生什么样的影响?

概述

丢弃策略

丢弃策略不仅仅是丢弃分组,还需要能够有 效地缓解网络拥塞,这需要和具体的业务 配合工作

Page 67: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2 丢弃策略拥塞无响应流

对网络拥塞没有反应,仍然保持原有行为的业务流

基于 UDP 的业务流拥塞响应流

当发生网络拥塞时,能够做出相应调整的业务流,例如降低发送速率

基于 TCP 的业务流

概述

Page 68: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2 丢弃策略

TCP 发送端维护一个发送窗口,决定了一次能够发送的最大的数据量

发送窗口的大小由 TCP 接收端的接收能力和现有网络容量来 确定发送窗口的上限值 =Min[rwnd, cwnd] rwnd :接收端窗口,反应了接收端的接收能力 cwnd :拥塞窗口,反应了当前的可用网络容量

TC

P

中的拥塞控制机制

rwnd 由接收端当前可用的接收缓存来确定,关键是如何确定 cwnd

Page 69: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2 丢弃策略

TC

P

中的拥塞控制机制

TCP拥塞控制算法过程 当一个连接初始化时,将拥塞窗口置为一个最大数据段长

度,并设置慢启动阈值 ssthresh 。 发送端的发送窗口不能超过拥塞窗口和接收窗口中的最小

值,并假定接收端不进行流量控制。 发送端若收到了对所有发出的数据段的确认,就在下一次

发送时将拥塞窗口加倍。可见拥塞窗口从 1 开始按指数规律增长

拥塞窗口增长到 ssthresh 时,就每次将拥塞窗口加 1 ,使拥塞窗口按线性规律增长

如果出现数据段丢失,就将当时拥塞窗口值减半,作为新的 ssthresh ,同时将拥塞窗口变为 1

重复上述过程

慢启动

拥塞避免

Page 70: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2 丢弃策略

TC

P

中的拥塞控制机制

慢启动 慢启动

1

基于 TCP 的流在检测到网络拥塞时将通过主动 减少发送窗口来降低发送速率

Page 71: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2 丢弃策略 被动丢弃策略( PQM: Passive Queue

Management ) 当队列满时开始丢弃分组 拥塞恢复策略 Drop-tail, Drop-Front, Drop-Random 等

主动 丢弃策略( AQM: Active Queue Management ) 预见拥塞将要发生时开始 丢弃分组 拥塞防止策略 RED, ARED, SRED, FRED, BLUE 等

分类

Page 72: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2.1 Drop-Tail

PQM 策略 队列满时丢弃随后到达的分组 Internet 上缺省使用的丢弃策略缺点

全局同步( Global Synchronization )问题

死锁( Lock-Out )问题 满队列( Full Queues )问题

原理

Page 73: 第六章 IP 网络的服务质量

2008 年信息通信网课程

全局同步问题

Can result in very low throughput during periods of Can result in very low throughput during periods of congestioncongestion

Max Queue Length

Page 74: 第六章 IP 网络的服务质量

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

Page 75: 第六章 IP 网络的服务质量

2008 年信息通信网课程

全局同步问题

Flow 1

Rate

Time

Flow 2

Aggregate load

bottleneck rate

Page 76: 第六章 IP 网络的服务质量

2008 年信息通信网课程

死锁问题

某个流或者少部分流垄断队列空间,阻止其他流的分组进入队列

Lock-out经常由同步问题造成

Max Queue Length

Page 77: 第六章 IP 网络的服务质量

2008 年信息通信网课程

满队列问题

队列长时间处于满的状态 增加排队延迟 导致突发数据丢弃

Max Queue Length

Page 78: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2.2 RED RED: Random Early Detection AQM 策略 避免全局同步、死锁、满队列问题 原理

通过检测队列平均长度来探测拥塞,当发现拥塞逼近时,开始以一定的概率选择分组丢弃

分组丢弃的概率与平均队列长度相关 只丢弃正进入路由器或者交换机的分组,实现简单

概述

Average Queue Length0

1

min_th max_th

max_p

Page 79: 第六章 IP 网络的服务质量

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

Page 80: 第六章 IP 网络的服务质量

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: 由路由器或者交换机允许的突发业务大小和持续时间决定

Page 81: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2.2 RED

计算丢弃概率Pb = maxp*(avgQ-minth)/(maxth-minth)

P = Pb/(1-count*Pb)

maxth-minth 应该大于一个往返时间内平均队列的增加值,以避免由于丢弃过多的分组而导致全局同步

一般将 maxth 设置为 minth的 2倍

count: 上一次丢弃到现在进入队列的分组数量,实现均匀间隔地丢包,避免对突发流的偏见和产生全局同步现象

算法过程

Page 82: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2.2 RED 在假设平均队列长度为常数的情况下,丢弃

概率的选择应该使得分组丢弃间隔尽量均匀 避免对突发业务流的偏见 避免产生全局同步现象

均匀间隔丢弃

X :连续两次分组丢弃之间到达分组数量(包括后一次丢弃分组)1 )直接使用 Pb计算丢弃概率

2 )在计算丢弃概率时考虑 count

Page 83: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2.2 RED

性能分析

Time

Max Queue Size

max_th

min_th

Forced drop

Probabilistic drops

No drops

Drop probability

Average queue length

丢弃概率依赖于拥塞程度,并且均匀间隔丢弃,避免了由于分组连续丢弃导致的全局同步现象

发生拥塞时,丢弃某个流的分组的概率基本上与该流在路由器或者交换机上获得的带宽成比例

平均队列超过阈值后就开始丢弃分组,有效地控制了平均队列长度,限制了平均延迟,并且允许一定程度的突发分组

Page 84: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.2.2 RED 参数设 置问题

RED 的参数的 微小变化会给总体性能带来很大的影响,与特定的业务环境相关

不能有效估计拥塞的严重性 从路由器或者交换机开始丢弃分组到源端检查到丢弃从而做出反应,可能需要很长的时间, RED必须配置足够的缓存空间

RED还需确保丢弃分组在充分降低源端发送速率的同时不能降低链路的利用率

一般权值 wq很小 (例如 0.002) ,平均队列长度变化很小 当系统负载很重时,平均队列长在 maxth附近震荡,导致

分组长时间连续丢弃( avgQ>maxth )或者连续随机丢弃(avgQ<maxth) ,有可能导致全局同步现象

公平性问题 拥塞无响应流可能导致拥塞响应流陷入饥饿状态

性能分析

Page 85: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4. 队列管理1. 分组调度算法2. 丢弃策略3. 聚类

主要内容

Page 86: 第六章 IP 网络的服务质量

2008 年信息通信网课程

4.3 聚类 对于每一个流都建立一个队列,由于网络中业务流的数量很大,使得队列管理开销也很大

聚类:将多个具有相同 QoS 需求的流聚集成一个类,每个类对应着一个队列

概述

丢弃策略调度算法

分类类型、优先级、源 / 目的 IP 地址、源 / 目的端口号

Page 87: 第六章 IP 网络的服务质量

2008 年信息通信网课程

IP 网络的服务质量1. 概述2. 综合服务3. 区分服务4. 队列管理5. 业务监管

主要内容

Page 88: 第六章 IP 网络的服务质量

2008 年信息通信网课程

5 业务监管 业务监管: Traffic Policing

对业务进行监视,以避免超过许可的服务质量参数约定

通过业务监管机制,可以对超过约定参数的业务的流量进行调节,这个过程也称为流量整形

业务监管功能一般由位于网络入口处的边缘路由器上执行

实现机制 漏桶算法 令牌桶算法

概述

Page 89: 第六章 IP 网络的服务质量

2008 年信息通信网课程

5.1 漏桶算法漏桶算法: Leaky

Bucket 只要桶中有水,水流

出的速率就是常数 桶中没有水的时候,水流出的速率为 0

桶满以后,往里面流的水会溢出

原理

Page 90: 第六章 IP 网络的服务质量

2008 年信息通信网课程

5.1 漏桶算法 应用于分组传输的漏桶算法 平滑突发业务流

不论输入的速率为多大,输出速率始终是一个常数

原理

Page 91: 第六章 IP 网络的服务质量

2008 年信息通信网课程

5.1 漏桶算法1 )将漏桶看做是一个有限长度的队列,以字节为单位计数,当分组到达的时候,如果队列中还有空间的话,就被添加到对列的尾部,否则该分组将被丢弃

2 )在每一个嘀嗒周期,首先将计数器初始化为 n ,如果队列中第一个分组的字节数少于计时器的当前值,则将分组发送出去,并且将计数器减去该分组的字节数。然后对下一个分组执行同样的过程,直到出现计数器的值小于队列中的分组的长度为止。此时,传输过程终止,直到下一个嘀嗒再开始

3 )到达下一个嘀嗒的时候,计数器被重置,执行步骤2 ),再次开始分组发送过程

算法过程

Page 92: 第六章 IP 网络的服务质量

2008 年信息通信网课程

5.2 令牌桶 令牌桶: Token Bucket

桶中保存的是令牌,每隔 T秒产生一个 只有当桶中有令牌时才能传输数据 允许突发流量

原理

Arriving packets

假设:S: 突发长度( s )b: 令牌桶容量( B )M :最大输出速率( Bps )r :令牌到达速率( Bps )

b+rS = MS S=b/(M-r)

Page 93: 第六章 IP 网络的服务质量

2008 年信息通信网课程

5.2 令牌桶1 )每个令牌桶维护一个字节计数器,每隔 T秒,计

数器的值增加 K字节,这就相当于往桶中放一个令牌,一个令牌代表了传输 K字节的权利,令牌速率为 r=K/T( Bps )。假设桶的大小为 b字节,当计数器的值大于 b字节时,就会发生溢出,需要注意的是,这里溢出丢弃的是令牌,而不是数据

2 )当有分组等待发送时,如果计数器的值大于当前分组的长度,则发送该分组,并且将计数器的值减去分组长度。如果还有分组等待发送,继续执行上面的过程,直到计数器的值小于分组长度为止

算法过程

Page 94: 第六章 IP 网络的服务质量

2008 年信息通信网课程

5.3 漏桶和令牌桶 两者都可以用于业务监管,判断一个流是否违反约定的参数 漏桶算法的输出保持的是严格的均匀速率,不管业务流量的突

发程度如何 在漏桶算法中,不允许将空闲时的发送许可权保存起来以便发送

大的突发数据(每个时钟嘀嗒后,漏桶的字节计数器都将被重置)

令牌桶算法在大量突发数据到来的时候,允许输出流适当的加快 可以将发送许可权保存起来,直到到达桶的最大尺寸。这也就意味着只要突发数据不 超过桶的大小,就可以一次发送出去

在漏桶算法中,桶中填充的是数据,所以当桶填满后将丢弃分组,而在令牌桶中,桶中填充的是令牌,所以当桶填满后将丢弃令牌,相当于是传输许可,而不是分组

比较

Page 95: 第六章 IP 网络的服务质量

2008 年信息通信网课程

5.4 业务监管和队列调度组合例子

令牌桶 +WFQ 可以确保分组延迟的上界 使用 WFQ 给每个流分配相应的带宽 通过令牌桶限制每个流的突发长度