资源描述
本文对Internet 的三种服务模型:Best-Effort、Intserv和Diffserv,以及服务模型的发展历程进行了简单介绍,较为详细地介绍了华为3Com公司 系列数据通信产品所支持的QoS特性和相关技术,内容包括:报文分类、拥塞管理、拥塞避免、流量监控、流量整形及物理接口总速率限制和链路效率机制等技 术。并且简要描述了在相关应用中的实际QoS解决方案。网络运营商及行业用户等通过对这些QoS特性的灵活运用,可以在Internet或任何基于IP的 网络上为客户提供有保证的区分服务。
关键词
QoS,服务模型,Intserv,Diffserv,拥塞管理,拥塞避免,队列技术,流量监管,流量整形,链路效率机制
缩略语清单:
名词
英文解释
中文解释
ACL
Access Control List
访问控制列表,用于对IP报文进行流分类。
AF
Assured Forwarding
确保转发
CAR
Committed Access Rate
约定访问速率
CBWFQ
Class Based Weighted Fair Queuing
基于类的加权公平队列
CQ
Custom Queuing
定制队列
DiffServ
Differentiated Serve
区分服务
DSCP
Differentiated Services Codepoint
区分服务编码点
DS-TE
DiffServ-Aware Traffic Engineering
DiffServ感知的流量工程
EF
Expedited Forwarding
加速转发
FIFO
First in First out
先入先出
FTP
File Transfer Protocol
文件传输协议
GTS
Generic Traffic Shaping
通用流量整形
IntServ
Integrated Service
综合服务
IPHC
IP Header Compression
IP头压缩
ISP
Internet Service Provider
Internet服务提供商
LFI
Link Fragmentation & Interleaving
链路分片与交叉
LLQ
Low Latency Queueing
低时延队列
MPLS
Multiprotocol Label Switching
多协议标签交换
PHB
Per-hop Behavior
单中继段行为,指IP转发中每一跳的转发行为
PQ
Priority Queuing
优先队列
QoS
Quality of Service
服务质量,指报文传送的吞吐量、时延、时延抖动、丢失率等性能
RSVP
Resource Reservation Protocol
资源预留协议
SQC
Structual QoS CLI
结构化命令行
TE
Traffic Engineering
流量工程
VoIP
Voice over IP
通过IP报文传递语音包
VPN
Virtual Private Network
虚拟私网
VRP
Versatile Routing Platform
通用路由平台,是华为3Com数据通信产品软件系统的总称。
WFQ
Weighted Fair Queuing
加权公平队列
WRED
Weighted Random Early Detection
加权随机早期丢弃
1 概述
1.1 QoS及其功能
在传统的IP网络中,所有的报文都被无区别的等同对待,每个路由器对所有的报文均采用先入先出(FIFO)的策略进行处理,它尽最大的努力(Best-Effort)将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。
网络发展日新月异,随着IP 网络上新应用的不断出现,对IP网络的服务质量也提出了新的要求,例如VoIP(Voice over IP,IP语音)等实时业务就对报文的传输延迟提出了较高要求,如果报文传送延时太长,将是用户所不能接受的(相对而言,E-Mail和FTP业务对时间 延迟并不敏感)。为了支持具有不同服务需求的语音、视频以及数据等业务,要求网络能够区分出不同的通信,进而为之提供相应的服务。传统IP网络的尽力服务 不可能识别和区分出网络中的各种通信类别,而具备通信类别的区分能力正是为不同的通信提供不同服务的前提,所以说传统网络的尽力服务模式已不能满足应用的 需要。QoS(Quality of Service,服务质量)技术的出现便致力于解决这个问题。
QoS旨在针对各种应用的不同需求,为其提供不同的服务质量,例如:提供专用带宽、减少报文丢失率、降低报文传送时延及时延抖动等。为实现上述目的,QoS提供了下述功能:
报文分类和着色
网络拥塞管理
网络拥塞避免
流量监管和流量整形
QoS信令协议
下面用简单的例子对比了在网络发生拥塞时,报文在无QoS保证和有QoS保证网络中的不同处理过程。
图1所示为发生拥塞时,网络设备的一个接口在不支持QoS的情况下,报文的发送情况:
图 1 先进先出队列示意图
所有要从该接口输出的报文,按照到达的先后顺序进入接口的FIFO队列尾部,而接口在发送报文时,从FIFO(First in First out,先入先出)队列的头部开始,依次发送报文,所有的报文在发送过程中,没有任何区别,也不对报文传送的质量提供任何保证。
图2则是一个用PQ(Priority Queuing)队列来支持QoS的报文发送情况:
图 2 PQ队列示意图
在 报文到达接口后,首先对报文进行分类,然后按照报文所属的类别让报文进入所属队列的尾部,在报文发送时,按照优先级,总是在所有优先级较高的队列中的报文 发送完毕后,再发送低优先级队列中的报文。这样在每次发送报文时,总是将优先级高的报文先发出去,保证了属于较高优先级队列的报文有较低的时延,报文的丢 失率和时延这两个性能指标在网络拥塞时也可以有一定的保障。
QoS可以控制各种网络应用和满足多种网络应用要求,如:
控制资源:如可以限制骨干网上FTP使用的带宽,也可以给数据库访问以较高优先级。
可裁剪的服务:对于ISP(Inernet Service Provider,Internet服务提供商),其用户可能传送语音、视频或其他实时业务,QoS使ISP能区分这些不同的报文,并提供不同服务。
多种需求并存:可以为时间敏感的多媒体业务提供带宽和低时延保证,而其他业务在使用网络时,也不会影响这些时间敏感的业务。
在一个网络中,需要以下的三个部分来完成端到端的QoS:
l 各网络元件(路由器、以太网交换机等)支持QoS,提供队列调度、流量整形等功能。
l 信令技术来协调端到端之间的网络元件,为报文提供QoS。
l QoS技术控制和管理端到端之间的报文在一个网络上的发送。
每个网络元件提供如下功能:
l 报文分类,对不同类别的报文提供不同的处理。
l 队列管理和调度来满足不同应用要求的不同服务质量。
l 流量监管和流量整形限制和调整报文输出的速度。
l 接入控制来确定是否允许用户信息流使用网络资源。
1.2 服务模型
服务模型,是指一组端到端的QoS功能,通常QoS提供以下三种服务模型:
l Best-Effort service(尽力而为服务模型)
l Integrated service(综合服务模型,简称Intserv)
l Differentiated service(区分服务模型,简称Diffserv)
1.2.1 Best-Effort服务模型
Best -Effort是一个单一的服务模型,也是最简单的服务模型。应用程序可以在任何时候,发出任意数量的报文,而且不需要事先获得批准,也不需要通知网络。 对Best-Effort服务,网络尽最大的可能性来发送报文,但对时延、可靠性等性能不提供任何保证。 Best-Effort服务是现在Internet的缺省服务模型,它适用于绝大多数网络应用,如FTP、E-Mail等,它通过先入先出(FIFO)队 列来实现。
1.2.2 Intserv服务模型
Intserv 是一个综合服务模型,它可以满足多种QoS需求。这种服务模型在发送报文前,需要向网络申请特定的服务。这个请求是通过信令(signal)来完成的。应 用程序首先通知网络它自己的流量参数和需要的特定服务质量请求,包括带宽、时延等,应用程序一般在收到网络的确认信息,即确认网络已经为这个应用程序的报 文预留了资源后,才开始发送报文。同时应用程序发出的报文应该控制在流量参数描述的范围以内。
网络在收到应用程序的资源请求后,执行资源分配检查(Admission control),即基于应用程序的资源申请和网络现有的资源情况,判断是否为应用程序分配资源。一旦网络确认为应用程序的报文分配了资源,则只要应用程 序的报文控制在流量参数描述的范围内,网络将承诺满足应用程序的QoS需求。而网络将为每个流(flow,由两端的IP地址、端口号、协议号确定)维护一 个状态,并基于这个状态执行报文的分类、流量监管(policing)、排队及其调度,来实现对应用程序的承诺。
在IntServ 服务模型中,负责传送QoS请求的信令是RSVP(Resource Reservation Protocol,资源预留协议),它通知路由器应用程序的QoS需求。RSVP是在应用程序开始发送报文之前来为该应用申请网络资源的,所以是带外 (out-bind)信令。
IntServ可以提供以下两种服务:
保证服务(Guaranteed service) 它提供保证的带宽和时延限制来满足应用程序的要求。如VoIP应用可以预留10M带宽和要求不超过1秒的时延。
负载控制服务(Controlled-Load service) 它保证即使在网络过载(overload)的情况下,能对报文提供近似于网络未过载类似的服务,即在网络拥塞的情况下,保证某些应用程序的报文低时延和高通过。
1.2.3 DiffServ服务模型
DiffServ 是一个多服务模型,它可以满足不同的QoS需求。与IntServ不同,它不需要使用RSVP,即应用程序在发出报文前,不需要通知路由器为其预留资源。 对DiffServ服务模型,网络不需要为每个流维护状态,它根据每个报文指定的QoS,来提供特定的服务。可以用不同的方法来指定报文的QoS,如IP 报文的优先级位(IP Precedence),报文的源地址和目的地址等。网络通过这些信息来进行报文的分类、流量整形、流量监管和队列调度。
DiffServ一般用来为一些重要的应用提供端到端的QoS。它通过下列技术来实现:
CAR:它根据报文的ToS或CoS值(对于IP报文是指IP优先级或者DSCP,对于MPLS报文是指EXP域等等)、IP报文的五元组等信息进行报文分类,完成报文的标记和流量监管。
队列技术:WRED、PQ、CQ、WFQ、CBWFQ等队列技术对拥塞的报文进行缓存和调度,实现拥塞管理。
通常在配置DiffServ时,边界路由器通过报文的源地址和目的地址等对报文进行分类,对不同的报文设置不同的CoS值,而其他路由器只需要用CoS值来进行报文的分类。
在MPLS上应用DiffServ用以下两种方法来解决:
在以太网等网络中,MPLS报文在二层链路层和三层网络层之间有一个薄层(shim),我们扩展薄层中未用的字段??EXP(包含三个位),由这几个位来决定报文的队列调度及丢弃的优先级。
在ATM, FR等网络中,其MPLS报文没有薄层(shim),可针对FEC(Forwarding Equivalance Class 转发等价类)和QoS请求的组合来分配标签,而不同于以前仅针对FEC分配标签(lable)。这样在收到一个MPLS报文后,根据收到报文的标签,就可 以确定发出报文的标签及报文所要求的服务。
1.2.4 Intserv与Diffserv之间的互通
一般来讲,在提供IP 网络的QoS时,为了实现规模适应性,在IP骨干网往往需要采用Diffserv体系结构,在IP边缘网可以有两种选择:采用Diffserv体系结构或 采用Intserv体系结构。目前在IP边缘网络采用哪一种QoS体系结构还没有定论,也许这两种会同时并存于IP边缘网中。在IP边缘网采用 Diffserv体系结构的情况下,IP骨干网与IP边缘网之间的互通没有问题。在IP边缘网采用Intserv体系结构的情况下,需要解决 Intserv与Diffserv之间的互通问题,包括RSVP在Diffserv域的处理方式、Intserv支持的业务与Diffserv支持的 PHB (Per-Hop Behavior,单中继段行为)之间的映射。
RSVP 在Diffserv域的处理可以有多种可选择的方式。例如一种方式为RSVP对Diffserv域透明,RSVP在Intserv域边界路由器终结, Diffserv域对Intserv域采用静态资源提供方式;一种方式为Diffserv域参与RSVP协议处理,Diffserv域对Intserv域 采用动态资源提供方式。前一种互通方式实现相对简单,可能造成Diffserv域资源的浪费,后一种互通方式实现相对复杂,可以优化Diffserv域资 源的使用。
除此以外,还需要解决Intserv 支持的业务与Diffserv支持的PHB之间的映射问题,映射标准为两者支持的应用是否相同或相近。为了说明这个问题我们首先回顾一下Intserv支 持的业务,它支持的业务包括:保证服务(Guaranteed Service)、负载控制服务(Controlled-Load Service),前者可以为用户应用提供严格的端到端时延及带宽保证,适用于实时应用;后者在网络负荷较重的情况下为用户应用提供与网络轻负荷情况下相 近似的性能,不能保证端到端的时延。 Diffserv提供的PHB包括:EF(Expedited Forwarding,加速转发)、AF(Assured Forwarding,确保转发)。EF用于支持低丢失率、低时延、确保带宽的应用,AF可以保证在应用向网络发送的业务流量没有超过约定值的情况下,该 应用的报文丢失概率非常低,AF有4类,每一类可以设置3个不同的丢弃优先级。从上面的叙述易于获得Diffserv与Intserv 之间的映射关系:
将Intserv中的保证服务映射为Diffserv中的EF。
将Intserv中的负载控制服务映射为Diffserv中的AF。
华为3Com公司路由器的QoS采用了上述Intserv支持的业务与Diffserv支持的PHB之间的映射关系。
1.2.5 服务模型的发展历程
随着人们认识问题的逐步深入,QoS技术的发展经历了一个漫长、曲折的过程,如图3:
图 3 QoS技术的发展历程
1)20世纪80年代,当时的Internet主要承载数据业务,网络采用尽力而为的服务、无QoS保障。
2)到了20世纪90年代初期,由于受到VoIP等实时业务的驱动,IETF组织在IP QoS领域做了第一次尝试,在1994年推出了基于RSVP的IntServ解决方案,这是一种端到端基于流的QoS技术。
IntServ主要借鉴了窄带PSTN领域的成功经验,通信前先通过信令协议建立端到端的通信路径、解决QoS问题,但同样的思想在IP领域却没有获得成功,其中一个重要的原因在于IP网络与PSTN网络的流量模型和业务模型是不同的,参见表1。
表1 IP网络和PSTN网络流量模型和业务模型的比较
流量模型
业务模型
PSTN网络
以本地网范围内的业务(市话)为主,少量的业务(长话)要穿透本地网
对于一个源电话号码和目的电话号码对,只需提供一条64Kbps的电路交换路径
IP网络
大量的业务都要穿透本地网
对于一个源IP地址和目的IP地址对,可并发存在多种业务,如FTP、WWW、E-Mail、VOIP等,各类业务的QoS要求也不相同
由于IP 网络流量模型和业务模型的特点,使得Internet骨干网瞬间要为成千上万的业务流提供服务,因此粒度为单个流的路径预留的解决思路在Internet 骨干网上无法扩展,这严重制约了IntServ在实际网络中的应用。当然还存在其他一些限制IntServ应用的因素,包括RSVP信令大规模的部署、不 同厂商设备之间的互通以及基于业务的管理(认证、计费)等。可以说基于RSVP的IntServ解决方案是在IP QoS方面一次失败的尝试,IntServ从1994年推出至今并没有获得任何规模的商用。
3) 为了寻求扩展性和简易性,IETF组织在1998年推出了基于DSCP的DiffServ解决方案,这是一种基于类的QoS技术。使用DiffServ, 在网络入口处根据服务要求对业务进行分类、流量控制,同时设置报文的DSCP域;在网络中根据实施好的QoS机制来区分每一类通信(依据分组的DSCP 值)、并为之服务(包括资源分配、队列调度、分组丢弃策略等,统称为PHB),DiffServ域中的所有节点都将根据分组的DSCP字段来遵守PHB。 DiffServ通过将业务定义为有限的类、可以很好地解决扩展性的问题。
4)MPLS网络本身的QoS技术可以采用两种思路,首先可以采用IntServ方案,提供基于流的QoS,但由于IntServ存在的问题,这条路在一开始就没有走通。MPLS QoS的另一种思路是采用DiffServ方案。
MPLS与DiffServ都具有很好的可扩展性,处理过程也类似:在网络边缘聚合(DSCP或标签)、在网络核心处理(基于DSCP的PHB或基于标签的转发);如果将DSCP字节的设置融入MPLS的标签分配过程中,MPLS的标签将具备区分分组服务质量的能力。
IP报文头的DSCP对MPLS设备(LSR)是不可见的,因此必须存在某种机制让DSCP对LSR是可见的,根据将IP DiffServ信息通过标签传达给LSR方式的不同,业界存在两种MPLS QoS的解决方案:
E-LSP:在LER 上将IP DSCP映射到MPLS的EXP位,通过EXP位向LSR表示分组的QoS要求,这样一个LSP最多可支持8个服务等级;LSR根据标签和EXP对分组进 行队列调度,根据EXP进行报文丢弃,同一LSP中的分组可能被分到不同的队列;E-LSP是通过LDP协议建立的普通的LSP。
L-LSP:在LER上将IP DSCP映射为一个LSP,通过标签和EXP位向LSR表示分组的QoS要求;LSR根据标签对分组进行队列调度,根据EXP进行报文丢弃,同一LSP中的分组被分到同一个队列。 L-LSP需要通过CR-LDP或RSVP扩展来建立。
选择上述两种方案主要取决网络所规划的业务类别数目、分组丢弃值以及MPLS 运行的模式(帧模式或信元模式);当采用信元模式的MPLS操作时,标签与VPI/VCI相对应,只能采用L-LSP,此时将标签的EXP映射为信元的 CLP;当采用帧模式的MPLS操作时,采用E-LSP或L-LSP方案都可以;目前大部分网络运营商所使用的业务等级都在4个以内(话音、视频、VPN 与高质量上网、普通上网),所以E-LSP基本能够满足应用,又能很容易与IP优先级和802.1p做到互通; L-LSP与MPLS DS-Aware TE使用了很多相同的机制,DS-TE本身就使用L-LSP,两者都可以为不同服务等级的业务提供不同的LSP、满足业务要求,但DS-TE比L-LSP 功能更为强大,例如DS-TE可以对整个网络的资源进行优化;目前业界趋向于采用E-LSP方式。
5) MPLS TE是一种间接改善网络QoS的技术。传统路由协议(如OSPF或IS-IS)主要是保障网络的连通性和可达性,通常选取不是非常灵敏的参数作为SPF计 算根据,导致网络负载不均衡、路由动荡等缺陷;MPLS TE在网络资源有限的前提下,将网络流量合理引导,达到实际网络流量负载与物理网络资源相匹配的目的,间接改善了网络的服务质量。
根据用户需求(显示路由、带宽等)及网络资源的情况,MPLS TE能够自动通过CR-LDP信令(或RSVP扩展)建立一条跨越骨干网的从LER到LER的隧道,同时可完成隧道的维护、统计、属性修改(如带宽)及备 份等功能;LER与LER设备之间,可以认为通过一个隧道直连;MPLS TE隧道可广泛应用于VPN、各类接入及互联业务中。
通过MPLS TE,可为用户创建具有带宽保证的隧道,但如果在隧道中同时传送EF、AF及BE业务时,业务之间会相互干扰,也就是说MPLS TE存在一个严重的问题?? MPLS TE隧道不能够感知业务类型。
6)2002年业界提出了一种MPLS DiffServ-Aware TE 的解决方案。
DiffServ 提供了基于类的QoS,具有良好的可扩展性,但缺乏有效的端到端部署的机制;MPLS TE通过有效地管理带宽资源间接改善网络服务质量,但其带宽管理以及MPLS TE隧道都无法做到基于业务类别,如果EF、AF、BE业务都承载在一个MPLS TE隧道中,EF和AF业务将受到严重的影响。MPLS DiffServ-Aware TE在原来MPLS TE的基础上,增加了基于类别的资源管理,例如可根据带宽及时延的不同将接口资源划分为EF、AF、BE三类,通过IGP协议对每个类别的资源使用情况进 行收集、分别建立TED,通过信令协议携带类别建立LSP。
MPLS DS-TE充分利用了DiffServ的可扩展性以及MPLS 的显示路由能力,是解决骨干网QoS的有效技术,网络资源可根据用户的需求得到最优的利用。
通过上面的分析我们可以看出,在众多的QoS技术中,IP DiffServ、MPLS DiffServ E-LSP及MPLS DiffServ-Aware TE将成为主流的QoS技术,这也是华为3Com公司研究与开发的重点。
同时我们也应看到,IP 网络的QoS技术即使发展到今天,也不存在这样一种技术可以提供类似于PSTN网络的、全网范围的、端到端的、基于流的QoS,原因是多方面的,涉及到 IP网络业务、技术及设备等多方面的因素。因此解决现有网络的QoS问题,需要详细分析网上各类业务的流量模型、业务模型,详细分析现有网络的各个环节、 找出影响业务QoS的关键因素所在,充分运用各种QoS技术(如IP网络QoS及各种二层网络的QoS技术),从IP承载网、业务终端和应用程序以及用户 管理(包括认证与计费等)等多方面着手,提供QoS解决方案。
1.3 信令
信令技术给网络通讯的两端和网络的中间节点提供了一种方法,让它们向相邻的网络节点请求对一类报文的特殊处理。QoS的信令协调了端到端通讯的中间节点包括交换机、路由器等为这个通讯提供服务。
信令技术包括两种,即带内(in -band)和带外(out-band)信令技术。带内信令通过每个报文中携带的IP优先级、DSCP、MPLS EXP、802.1p CoS等信息,通知网络节点为这个报文提供相应服务。带外信令则是通过一个独立的协议RSVP,来为不同的报文流申请网络资源。带内信令应用于 Differentiated service,RSVP则应用于IntServ。
1.3.1 RSVP简介
RSVP 是第一个标准QoS信令协议,它用来动态地建立端到端的QoS,它允许应用程序动态地申请网络带宽等。RSVP协议不是一个路由协议,相反,它按照路由协 议规定的报文流的路径为报文申请预留资源,在路由发生变化后,它会按照新路由进行调整,并在新的路径上申请预留资源。RSVP只是在网络节点之间传递 QoS请求,它本身不完成这些QoS的要求实现,而是通过其他技术如WFQ,CBWFQ等技术来完成这些要求的实现。
RSVP的处理是接收方发出资源请求,按照报文发送的反向路径发送资源请求,所以它可以满足非常大的多播组,多播组的成员也可以动态变化。RSVP协议是针对多播设计的,单播可以看作是多播的一个特例。
由于RSVP 在Internet上还没有得到广泛的推广,在主机不支持RSVP的情况下,我们可以通过配置RSVP代理,即代替不支持RSVP的主机发送RSVP报文 来获得这种服务。对报文流路径上不支持RSVP的路由器,它只需要简单的转发RSVP报文,所以对RSVP协议不会有太大影响,但这些节点不会对报文提供 所要求的QoS。
1.3.2 资源预留
RSVP信令在网络节点之间传送资源请求,而网络节点在收到这些请求后,需要为这些请求分配资源,这就是资源预留。网络节点比较资源请求和网络现有的资源,确定是否接受请求,在资源不够的情况下,这个请求可以被拒绝。
可以对每个资源请求设置不同的优先级,这样,优先级较高的资源请求可以在网络资源不够的情况下,抢占较低优先级的预留资源,来优先满足高优先级的资源请求。
资源预留判断是否接受资源请求,并承诺对接受了的资源请求提供请求的服务。但资源预留本身不实现承诺的服务,需要通过队列等其他技术来实现。
2 VRP QoS特性及相关技术
华为3Com 公司的网络产品已经全面提供对IP DiffServ解决方案的支持:完全兼容IETF DiffServ解决方案的相关标准,包括RFC2474、RFC2475、RFC2497、RFC2498;支持以IP Precedence或DSCP作为QoS带内信令,可灵活配置;支持DiffServ相关的功能组件,包括流量调节器(包括分类器、标记器、测量单元、 整形器和丢弃器等)和各类PHB(拥塞管理、拥塞避免等)。
华为3Com公司的网络产品已经全面提供对MPLS DiffServ解决方案的支持 :采用E-LSP方案,以MPLS EXP作为QoS信令;所有的DiffServ功能组件(流量调节器和各类PHB)均为EXP做了扩展。
在2003年华为3Com公司即将提供对MPLS DS-TE解决方案的支持。
华为3Com的QoS整体解决方案由其核心路由软件平台 - VRP提供,华为3Com公司所有采用VRP的产品,包括R系列中低端路由器、NE系列高端路由器、S系列以太网交换机,均可相互配合提供端到端的QoS解决方案。
VRP的QoS具有以下特性:
l 流量的分类和标记
l 拥塞管理
l 拥塞避免
l 流量监管和流量整形
l 物理接口总速率限制
l 链路效率机制
2.1 流量分类和标记
流量分类是将数据报文划分为多个优先级或多个服务类,如使用IP报文头的ToS(Type of service,服务类型)字段的前三位(即IP优先级)来标记报文,可以将报文最多分成8类;若使用DSCP(Differentiated Services Codepoint,区分服务编码点,ToS域的前6位),则最多可分成64类。在报文分类后,就可以将其它的QoS特性应用到不同的分类,实现基于类的拥塞管理、流量整形等。
网络管理者可以设置报文分类的策略,这个策略除可以包括IP 报文的IP优先级或DSCP值、MPLS报文的EXP域值、802.1p的CoS值等带内信令,还可以包括输入接口、源地址、目的地址、MAC地址、IP 协议或应用程序的端口号等。分类的结果是没有范围限制的,它可以是一个由五元组(源地址、源端口号、协议号码、目的地址、目的端口号)确定的流这样狭小的 范围,也可以是到某某网段的所有报文。
通常于网络边界处对报文进行分类时,同时标记IP 优先级或DSCP,这样,在网络的内部就可以简单的使用IP优先级或DSCP作为分类的标准。而队列技术如WFQ,CBWFQ就可以使用这个优先级来对报 文进行不同的处理。下(downstream)网络可以选择接收上游(upstream)网络的分类结果,也可以按照自己的分类标准对数据流量重新进行分 类。
例如:在网络的边界做如下分类和标记:
所有VoIP数据报文聚合为EF业务类,将报文的IP优先级标记为5,或者将DSCP值标记为EF;
所有VoIP控制报文聚合AF业务类,将报文的IP优先级标记为4,或者将DSCP值标记为AF31。
当报文在网络边界被标记分类之后,在网络的中间节点,就可以根据标记,对不同类别的流量给予差别服务了。例如对上述例子中的EF业务类保证时延和减少抖动,同时进行流量监管;对AF业务类在网络拥塞时仍然保证一定的带宽,等等。
对于MPLS QoS,所谓标记就是MPLS报文中的EXP域进行设置。EXP域包括3位,虽然RFC 3032把它叫做实验(experimental)域,但它通常作为MPLS报文的CoS域,与IP网络的ToS域等效,用来区分数据流量的服务等级,以 支持MPLS网络的DiffServ。
在IP网络,由IP报文的IP优先级或DSCP标识服务等级。但是对于MPLS网络,由于报文的IP头对LSR设备是不可见的,所以需要在MPLS网络的边缘对MPLS报文的EXP域进行标记。
缺省的情况下,在MPLS 网络的边缘,将IP报文的IP优先级直接拷贝到MPLS报文的EXP域,但是在下面的情况下,如ISP不信任用户网络,或者ISP定义的差别服务类别不同 于用户网络,则可以根据一定的分类策略,例如IP报文的IP优先级或DSCP 、IP报文的五元组、输入接口等,在MPLS网络边缘重新设置MPLS报文的EXP域,而在MPLS网络转发的过程中保持IP报文的ToS域不变。
在MPLS网络的中间节点,根据MPLS报文的EXP域对报文进行分类,并实现拥塞管理,流量监管或者流量整形等PHB。
2.2 拥塞管理
2.2.1 什么是拥塞和拥塞管理
图 4 网络拥塞示意图
在计算机数据通信中,通信信道是被多个计算机共享的,并且,广域网的带宽通常要比局域网的带宽小,这样,当一个局域网的计算机向另一个局域网的计算机发送 数据时,由于广域网的带宽小于局域网的带宽,数据将不可能按局域网发送的速度在广域网上传输。此时,处在局域网和广域网之间的路由器将不能发送一些报文, 即网络发生了拥塞。
如图4所示,当公司局域网1向公司局域网2以10M的速度发送数据时,将会使路由器1的串口s1发生拥塞。
拥塞管理是指网络在发生拥塞时,如何进行管理和控制。处理的方法是使用队列技术。不同的队列算法用来解决不同的问题,并产生不同的效果。常用的队列有FIFO、PQ,CQ,RTP优先队列,WFQ,CBWFQ等。
拥 塞管理的处理包括队列的创建、报文的分类、将报文送入不同的队列、队列调度等。在一个接口没有发生拥塞的时候,报文在到达接口后立即就被发送出去,在报文 到达的速度超过接口发送报文的速度时,接口就发生了拥塞。拥塞管理就会将这些报文进行分类,送入不同的队列;而队列调度对不同优先级的报文进行分别处理, 优先级高的报文会得到优先处理。
2.2.2 拥塞管理技术
对于拥塞的管理,一般采用队列技术,使得报文在路由器中按一定的策略暂时缓存到队列中,然后再按一定的调度策略把报文从队列中取出,在接口上发送出去。根据入队和出队策略的不同,拥塞管理分为以下几种:
2.2.2.1 1. 先进先出队列(First In First Out Queuing, FIFO)
先进先出队列(以后简称FIFO)不对报文进行分类,当报文进入接口的速度大于接口能发送的速度时,FIFO按报文到达接口的先后顺序让报文进入队列,同时,FIFO在队列的出口让报文按进队的顺序出队,先进的报文将先出队,后进的报文将后出队。
在如图4所示的网络图中,假设局域网1的服务器向局域网2的服务器发送关键业务的数据,局域网1的PC向局域网2的PC发送非关键业务的数据,则FIFO不会对这两种不同业务的报文做任何区别对待,报文的出队完全依赖于报文到来的先后顺序。
2.2.2.2 2. 优先队列(Priority Queuing, PQ)
图 6 优先队列示意图
如图6 所示,优先队列(以后简称PQ)对报文进行分类,对于IP网络,可以根据IP报文的优先级/DSCP,五元组等条件进行分类,对于MPLS网络,则根据 MPLS报文EXP域值进行分类。最终将所有报文分成最多至4类,分别属于PQ的4个队列中的一个,然后,按报文的类别将报文送入相应的队列。PQ的4个 队列分别为高优先队列、中优先队列、正常优先队列和低优先队列,它们的优先级依次降低。在报文出队的时候,PQ首先让高优先队列中的报文出队并发送,直到 高优先队列中的报文发送完,然后发送中优先队列中的报文,同样,直到发送完,然后是正常优先队列和低优先队列。这样,分类时属于较高优先级队列的报文将会 得到优先发送,而较低优先级的报文将会在发生拥塞时被较高优先级的报文抢先,使得高优先级业务(如VoIP)的报文能够得到优先处理,较低优先级业务(如 E-Mail)的报文在网络处理完关键业务后的空闲中得到处理,既保证了高优先级业务的优先,又充分利用了网络资源。
在如图3 所示的网络图中,假设局域网1的服务器向局域网2的服务器发送关键业务的数据,局域网1的PC向局域网2的PC发送非关键业务的数据,如果对路由器1的串 口1配置PQ进行拥塞管理,同时配置服务器间的数据流的进入较高优先级的队列,PC间的数据流进入较低优先级的队列,则PQ将对这两种不同业务的报文做区 别对待,首先让较高优先级队列中的报文出队并发送,直到此队列中的报文发送完,然后再发送较低优先级队列中的报文。即服务器间的报文总是被先发送,直到暂 时没有服务器间的报文,路由器才发送PC间的报文。
2.2.2.3 定制队列(Custom Queuing, CQ)
图 7 定制队列示意图
如图7 所示,定制队列(以后简称CQ)对报文进行分类,对于IP网络,可以根据IP报文的优先级/DSCP,五元组等条件进行分类,对于MPLS网络,则根据 MPLS报文EXP域值进行进行分类。最终将所有报文分成最多至17类,分别属于CQ的17个队列中的一个,然后,按报文的类别将报文送入相应的队列。 CQ的17个队列中,0号队列是优先队列,路由器总是先把0号队列中的报文发送完,然后才处理1到16号队列中的报文,所以0号队列一般作为系统队列,把 实时性要
展开阅读全文