关键词:QoS,服务模型,IntServ,DiffServ,拥塞管理,拥塞避免,队列技术,流量监管,流量整形,链路效率机制
摘 要:本文对Internet的三种服务模型(Best-Effort、IntServ和DiffServ),以及服务模型的发展历程进行了简单介绍,较为详细地介绍了H3C系列数据通信产品所支持的QoS技术,内容包括:流量分类和标记、拥塞管理、拥塞避免、流量监管与流量整形、链路效率机制以及MPLS网络相关QoS技术,并且简要描述了在实际应用中的QoS解决方案。网络运营商及行业用户等通过对这些QoS技术的灵活运用,可以在Internet或任何基于IP的网络上为客户提供有保证的区分服务。
缩略语:
缩略语 | 英文全名 | 中文解释 |
AF | Assured Forwarding | 确保转发 |
BE | Best Effort | 尽力转发 |
CAR | Committed Access Rate | 约定访问速率 |
CBWFQ | Class Based Weighted Fair Queuing | 基于类的加权公平队列 |
CQ | Custom Queuing | 定制队列 |
DiffServ | Differentiated Service | 区分服务 |
DSCP | Differentiated Services Codepoint | 区分服务编码点 |
EF | Expedited Forwarding | 加速转发 |
FEC | Forwarding Equivalance Class | 转发等价类 |
FIFO | First in First out | 先进先出 |
GTS | Generic Traffic Shaping | 通用流量整形 |
IntServ | Integrated Service | 综合服务 |
IPHC | IP Header Compression | IP头压缩 |
ISP | Inernet Service Provider | Internet服务提供商 |
LFI | Link Fragmentation & Interleaving | 链路分片与交叉 |
LLQ | Low Latency Queuing | 低时延队列 |
LR | Line Rate | 物理接口总速率限制 |
LSP | Label Switched Path | 标签交换路径 |
MPLS | Multiprotocol Label Switching | 多协议标签交换 |
PHB | Per-hop Behavior | 单中继段行为,指IP转发中每一跳的转发行为 |
PQ | Priority Queuing | 优先队列 |
QoS | Quality of Service | 服务质量,指报文传送的吞吐量、时延、时延抖动、丢失率等性能 |
RED | Random Early Detection | 随机早期检测 |
RSVP | Resource Reservation Protocol | 资源预留协议 |
RTP | Real Time Protocol | 实时协议 |
SLA | Service Level Agreement | 服务水平协议。是服务使用者和服务提供者之间签订的服务水平协议。服务提供者按此协议向服务使用者提供服务 |
TE | Traffic Engineering | 流量工程 |
ToS | Type of Service | 服务类型 |
VoIP | Voice over IP | 通过IP报文传递语音报文 |
VPN | Virtual Private Network | 虚拟专用网 |
WFQ | Weighted Fair Queuing | 加权公平队列 |
WRED | Weighted Random Early Detection | 加权随机早期检测 |
在传统的IP网络中,所有的报文都被无区别的等同对待,每个转发设备对所有的报文均采用先入先出(FIFO)的策略进行处理,它尽最大的努力(Best-Effort)将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。
网络发展日新月异,随着IP网络上新应用的不断出现,对IP网络的服务质量也提出了新的要求,例如VoIP等实时业务就对报文的传输延迟提出了较高要求,如果报文传送延时太长,用户将不能接受(相对而言,E-Mail和FTP业务对时间延迟并不敏感)。为了支持具有不同服务需求的语音、视频以及数据等业务,要求网络能够区分出不同的通信,进而为之提供相应的服务。传统IP网络的尽力服务不可能识别和区分出网络中的各种通信类别,而具备通信类别的区分能力正是为不同的通信提供不同服务的前提,所以说传统网络的尽力服务模式已不能满足应用的需要。
QoS技术的出现便致力于解决这个问题。
QoS旨在针对各种应用的不同需求,为其提供不同的服务质量。如:
l 可以限制骨干网上FTP使用的带宽,也可以给数据库访问以较高优先级。
l 对于ISP,其用户可能传送语音、视频或其他实时业务,QoS使ISP能区分这些不同的报文,并提供不同服务。
l 可以为时间敏感的多媒体业务提供带宽和低时延保证,而其他业务在使用网络时,也不会影响这些时间敏感的业务。
通常QoS提供以下三种服务模型(服务模型,是指一组端到端的QoS功能):
l Best-Effort service(尽力而为服务模型)
l Integrated service(综合服务模型,简称IntServ)
l Differentiated service(区分服务模型,简称DiffServ)
Best-Effort是一个单一的服务模型,也是最简单的服务模型。应用程序可以在任何时候,发出任意数量的报文,而且不需要事先获得批准,也不需要通知网络。对Best-Effort服务,网络尽最大的可能性来发送报文。但对时延、可靠性等性能不提供任何保证。
Best-Effort服务是现在Internet的缺省服务模型,它适用于绝大多数网络应用,如FTP、E-Mail等,它通过FIFO队列来实现。
IntServ是一个综合服务模型,它可以满足多种QoS需求。这种服务模型在发送报文前,需要向网络申请特定的服务。这个请求是通过信令RSVP来完成的。RSVP是在应用程序开始发送报文之前来为该应用申请网络资源的,所以是带外信令。
应用程序首先通知网络它自己的流量参数和需要的特定服务质量请求,包括带宽、时延等。网络在收到应用程序的资源请求后,执行资源分配检查,即基于应用程序的资源申请和网络现有的资源情况,判断是否为应用程序分配资源。一旦网络确认为应用程序分配资源,则网络将为每个流(Flow,由两端的IP地址、端口号、协议号确定)维护一个状态,并基于这个状态执行报文的分类、流量监管、排队及其调度。应用程序在收到网络的确认信息(即确认网络已经为这个应用程序的报文预留了资源)后,才开始发送报文。只要应用程序的报文控制在流量参数描述的范围内,网络将承诺满足应用程序的QoS需求。
IntServ可以提供以下两种服务:
l 保证服务:它提供保证的带宽和时延限制来满足应用程序的要求。如VoIP应用可以预留10M带宽和要求不超过1秒的时延。
l 负载控制服务:它保证即使在网络过载的情况下,能对报文提供近似于网络未过载类似的服务,即在网络拥塞的情况下,保证某些应用程序的报文低时延和优先通过。
DiffServ是一个多服务模型,它可以满足不同的QoS需求。与IntServ不同,它不需要使用RSVP,即应用程序在发出报文前,不需要通知网络为其预留资源。对DiffServ服务模型,网络不需要为每个流维护状态,它根据每个报文的差分服务类(IP报文头中的差分服务标记字段DSCP值),来提供特定的服务。
在实施DiffServ的网络中,每一个转发设备都会根据报文的DSCP字段执行相应的转发行为,主要包括以下三类转发行为:
l 加速转发(EF):主要用于低延迟、抖动和丢包率的业务,这类业务一般运行一个相对稳定的速率,需要在转发设备中进行快速转发;
l 确保转发(AF):采用此转发行为的业务在没有超过最大允许带宽时能够确保转发,一旦超出最大允许带宽,则将转发行为分为4类,每类又可划分为3个不同的丢弃优先级,其中每一个确保转发类都被分配了不同的带宽资源。IETF建议使用4个不同的队列分别传输AF1x、AF2x、AF3x、AF4x业务,并且每个队列提供3种不同的丢弃优先级,因此可以构成12个有保证转发的PHB;
l 尽力转发(BE):主要用于对时延、抖动和丢包不敏感的业务。
区分服务只包含有限数量的业务级别,状态信息的数量少,因此实现简单,扩展性较好。它的不足之处是很难提供基于流的端到端的质量保证。目前,区分服务是业界认同的IP骨干网的QoS解决方案,尽管IETF为每个标准的PHB都定义了推荐的DSCP值,但是设备厂家可以重新定义DSCP与PHB之间的映射关系,因此不同运营商的DiffServ网络之间的互通还存在困难,不同DiffServ网络在互通时必须维护一致的DSCP与PHB映射。
一般来讲,在提供IP网络的QoS时,为了适应不同规模的网络,在IP骨干网往往需要采用DiffServ体系结构;在IP边缘网可以有两种选择:采用DiffServ体系结构或采用IntServ体系结构。目前在IP边缘网络采用哪一种QoS体系结构还没有定论,也许这两种会同时并存于IP边缘网中。在IP边缘网采用DiffServ体系结构的情况下,IP骨干网与IP边缘网之间的互通没有问题。在IP边缘网采用IntServ体系结构的情况下,需要解决IntServ与DiffServ之间的互通问题,包括RSVP在DiffServ域的处理方式、IntServ支持的服务与DiffServ支持的PHB之间的映射。
RSVP在DiffServ域的处理可以有多种可选择的方式。例如下面两种:
l 一种方式为RSVP对DiffServ域透明,RSVP在IntServ域边界转发设备终结,DiffServ域对IntServ域采用静态资源提供方式。本方式实现相对简单,但可能造成DiffServ域资源的浪费。
l 一种方式为DiffServ域参与RSVP协议处理,DiffServ域对IntServ域采用动态资源提供方式。本方式实现相对复杂,但可以优化DiffServ域资源的使用。
根据IntServ支持的服务和DiffServ提供的PHB的特点,IntServ支持的服务与DiffServ支持的PHB之间的映射问题可以通过下面方式解决:
l 将IntServ中的保证服务映射为DiffServ中的EF。
l 将IntServ中的负载控制服务映射为DiffServ中的AF。
目前,H3C的IP网络产品已经全面提供对DiffServ服务模型的支持:
l 完全兼容DiffServ服务模型的相关标准,包括RFC2474、RFC2475、RFC2497、RFC2498等;
l 支持以IP Precedence或DSCP作为QoS带内信令,可灵活配置;
l 支持DiffServ相关的功能组件,包括流量调节器(包括分类器、标记器、测量单元、整形器和丢弃器等)和各类PHB(拥塞管理、拥塞避免等)。
IP QoS技术提供了下述功能:
l 流量分类和标记:依据一定的匹配规则识别出对象,是有区别地实施服务的前提,通常作用在接口入方向。
l 拥塞管理:是必须采取的解决资源竞争的措施,将报文放入队列中缓存,并采取某种调度算法安排报文的转发次序,通常作用在接口出方向。
l 拥塞避免:过度的拥塞会对网络资源造成损害,拥塞避免监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整流量来解除网络的过载,通常作用在接口出方向。
l 流量监管:对进入设备的特定流量的规格进行监管,通常作用在接口入方向。当流量超出规格时,可以采取限制或惩罚措施,以保护运营商的商业利益和网络资源不受损害。
l 流量整形:一种主动调整流的输出速率的流控措施,是为了使流量适配下游设备可供给的网络资源,避免不必要的报文丢弃和拥塞,通常作用在接口出方向。
l 链路效率机制:可以改善链路的性能,间接提高网络的QoS,如降低链路发包的时延(针对特定业务)、调整有效带宽。
在这些QoS技术中,流量分类和标记是基础,是有区别地实施服务的前提;而其他QoS技术则从不同方面对网络流量及其分配的资源实施控制,是有区别地提供服务思想的具体体现。
网络设备对QoS的支持是通过结合各种QoS技术来实现的。图1描述了各种QoS技术在网络设备中的处理顺序。


图1 各QoS技术在同一网络设备中的处理顺序
首先是流量分类,其后根据报文所属类别再将CAR、GTS、WRED、队列等各种技术运用其上,最终为具有不同网络需求的各种业务提供并保证所承诺的服务。
流量分类是将数据报文划分为多个优先级或多个服务类。网络管理者可以设置流量分类的策略,这个策略除可以包括IP报文的IP优先级或DSCP值、802.1p的CoS值等带内信令,还可以包括输入接口、源IP地址、目的IP地址、MAC地址、IP协议或应用程序的端口号等。分类的结果是没有范围限制的,它可以是一个由五元组(源IP地址、源端口号、协议号、目的IP地址、目的端口号)确定的流这样狭小的范围,也可以是到某某网段的所有报文。
下游网络可以选择接受上游网络的分类结果,也可以按照自己的分类标准对数据流量重新进行分类。
下面分别介绍一下在IPv4、IPv6、二层以太网中如何对流量进行分类和标记。
IP优先级和DSCP在报文中的位置如图2所示。

(1) 基于IP优先级的业务分类
IPv4报文在IP报文头的ToS域中定义了8种IP业务类型,如表1所示。
表1 8种IP业务类型定义
业务类型 | IP优先级 |
Network Control | 7 |
Internet work Control | 6 |
CRITIC/ECP | 5 |
Flash Override | 4 |
Flash | 3 |
Immediate | 2 |
Priority | 1 |
Routine | 0 |
(2) 基于DSCP的业务分类
DiffServ模型定义了64种业务类型,其中典型的业务类型定义如表2所示。
业务类型 | DSCP PHB | DSCP值 |
Network Control | CS7(111000) | 56 |
IP Routing | CS6(110000) | 48 |
Interactive Voice | EF(101110) | 46 |
Interactive Video | AF41(100010) | 34 |
Video control | AF31(011010) | 26 |
Transactional/Interactive(对应高优先级应用) | AF2x(010xx0) | 18、20、22 |
Bulk Data(对应中优先级应用) | AF1x(001xx0) | 10、12、14 |
Streaming Video | CS4(000100) | 4 |
Telephony Signaling | CS3(000011) | 3 |
Network Management | CS2(000010) | 2 |
Scavenger | CS1(000001) | 1 |
Best Effort | 0 | 0 |
IPv6在报头中保留了类似IPv4的ToS域,称为传输级别域(TC),以继续为IP提供差分QoS服务,可以基于IPv6 ToS域进行业务分类与标记。同时IPv6报头中增加20比特流标签(Flow Label)域,可供后续扩展用。
以太网在以太网帧头的VLAN TAG中定义了8种业务优先级(CoS,Class of Service),如图3所示。

每一种业务映射到出端口的哪个队列转发将关系到该业务的时延、抖动和可获得的带宽。8种以太网业务类型定义如表3所示。
表3 8种以太网CoS业务类型定义
业务类型 | 业务特征 | 以太网CoS | 协议举例 |
Network Control |