MPLS DiffServ
MPLS DiffServ流分类方案
IP QoS实现DiffServ的方法是:在网络的边缘进行流量分类,将流量划分为多个优先级或多个服务类,如使用IP报文头的IP Preference来标记报文,可以将报文最多分成23 = 8类;若使用DSCP,则最多可分成26 =64类。在报文发送途径中的每一跳通过检查报文的DSCP或IP Preference字段,确定该数据包要求的QoS。
而在MPLS网络中,路由器不会检查IP报文头的内容,因此无法通过ToS或DSCP字段来进行流量分类。相关标准定义了两种方案实现MPLS网络的流量分类。
第一种方案:E-LSP
第一种方案是使用MPLS报文首部的3bit的Exp字段(如图8-1)来承载DiffServ信息。转发时报文根据标签转发,而由Exp字段决定PHB。
EXP可以从承载在LSP中的IP数据包的DSCP或IP Preference拷贝,也可以由MPLS网络运营商设置。这种从EXP位推导得出PHB的LSP称为E-LSP(EXP-Inferred-PSC(PHB Scheduling Class) LSP)。
这种方案适用于不超过8个PHB的网络。由于IP报文的优先级字段是3bits,与EXP的长度相同,可以直接形成一对一的映射。但IP报文的DSCP字段是6bits,与EXP的长度不一样,因此E-LSP与IP QoS不能完全映射。在IEEE标准的实现中,将DSCP的前3bits(即CSCP)与EXP进行映射,而忽略DSCP的后3bits。
E-LSP方案中,在MPLS报文进设备时进行流分类,将报文携带的EXP统一映射到设备内部的服务等级和丢弃优先级。流量分类后,流量整形、流量监管、拥塞避免等QoS实现方法就和IP网络中的完全相同了。
在报文出设备时,再将内部的服务等级和丢弃优先级映射为EXP,以便后续网络设备根据EXP提供相应的服务质量。
第二种方案:L-LSP
第二种解决方案适用于超过8个PHB的网络。由于Exp只有3bit,不能仅用Exp来区分超过8个的PHB,而MPLS报头其他字段中,可用于区分PHB的唯一一个字段只有标签。标签有20bit,可以与IP QoS完全映射。这种使用标签来传输所需PHB信息的LSP被称为L-LSP(Label-Only-Inferred-PSC LSP)。
L-LSP转发期间,标签决定数据包转发路径,并为其分配调度行为(Scheduling Treatment);而Exp位则携带分配给数据包的丢弃优先级(Drop Precedence)信息,因此PHB由标签和EXP位共同来决定。由于标签与PHB之间存在联系,因此当建立LSP信令时需要传输PHB信息。L-LSP可传输来自单一PHB的数据包,也可以传输采用相同调度策略但丢弃优先级不同的多个PHB的数据包。
两种方案的比较
采用L-LSP方案,必须为入口LSR和出口LSR所支持的不同服务类型分别建立LSP,即一个L-LSP只能提供一种服务类型。
采用E-LSP方案,在入口LSR和出口LSR之间只需要一条LSP便可以支持多达8种服务类型。
E-LSP | L-LSP |
---|---|
通过Exp域决定PHB(包括丢弃优先级) | 通过标签或Exp决定PHB |
不需要附加的信令 | 需要用信令建立LSP |
在ATM链路上不支持 | 支持ATM链路 |
每条LSP可以支持多达8个BA | 每条LSP只能支持1个BA |
L-LSP与E-LSP的使用选择取决于需要的服务种类、丢弃优先级以及是否是ATM节点。
- 基于链路层的考虑:在PPP与LAN上,可以根据需要,选用E-LSP、L-LSP或者两者结合起来使用。而在ATM网络上,由于EXP域不可见,只能够使用L-LSP。
- 基于服务类型多少的考虑:仅仅使用E-LSP,最多只能够支持8 个PHB。如果需要支持多于8个的PHB,必须使用L-LSP,或者E-LSP与L-LSP混合使用。
- 基于网络负荷的考虑:使用E-LSP,节省了LSP的数量、标签资源、信令的负荷;使用L-LSP,相对来说耗费资源。
一般目前网络上提供最多4种类型的服务,E-LSP就可以满足了。只有对于ATM节点,或者有着大量的服务类型与丢弃优先级需求的QoS网络部署需求,才需要利用L-LSP。因此,NE20E只实现E-LSP。
MPLS DiffServ COS处理模式
DiffServ体系结构允许DS域内的中间节点检查并修改IP Preference、DSCP或Exp值,统称COS(Class of Service)值,这会导致报文的COS值在IP网络和MPLS网络传输过程中都可能发生变化。
因此,在报文进入MPLS网络或从MPLS网络离开进入IP网络时,运营商需要在MPLS边缘路由器对COS(Class of Service)处理做出选择:是否信任IP/MPLS报文已经携带的COS信息。相关标准中定义了三种COS处理模式:Uniform、Pipe和Short Pipe。
Uniform模式
当运营商认为可以完全信任IP网络流量携带过来的COS(IP Preference/DSCP)时,可以采用Uniform模式:MPLS入节点将报文携带上来的COS直接复制到MPLS外层标签的EXP字段中,从而保证在MPLS中给予同样的QoS保证。报文离开MPLS网络时,出口节点再将EXP字段值复制回IP报文的IP Preference/DSCP。
Uniform模式,顾名思义,报文在IP网和MPLS网中的优先级标识是统一的,即报文进入MPLS域和出MPLS域都作优先级映射。但这样做的缺点是,如果报文在MPLS网络中改变了EXP字段的值,会导致报文离开MPLS网络后采用的PHB也发生改变,无法保留用户初始设置的COS值。
Pipe模式
当运营商认为IP网络流量携带过来的COS不可信任时,可以采用Pipe模式:忽略用户携带的COS,在MPLS域入节点为MPLS外层标签的EXP字段重新赋值,从MPLS入节点到出节点,流量都按照运营商的意愿进行QoS调度,直到流量出MPLS域之后再根据其原来携带的COS值转发。
在Pipe模式中,报文在进入MPLS域时,入节点不拷贝IP Precedence/DSCP到Exp。报文出MPLS域时,出节点也不拷贝Exp到IP Precedence/DSCP。如果报文在MPLS网络中改变了EXP字段的值,只在MPLS网络中有效。当报文离开MPLS网络后,报文之前携带的COS继续有效。
Short Pipe模式
Short Pipe模式是对Pipe模式的改进,报文在MPLS入节点的处理和Pipe模式相同,但在MPLS网络的出节点上,出节点先执行标签弹出操作,再进行QoS调度。即,在MPLS出节点上按照报文之前携带的初始的COS值进行调度,而从报文进入MPLS开始到MPLS倒数第二跳按照运营商的意愿进行QoS调度。
使用Pipe或Short Pipe模式,在运营商内部网络,运营商可以根据自己的自身情况来规划QoS,而不改变客户侧的QoS。
Pipe模式和Short Pipe模式的区别在于:PE上CE侧出方向的QoS调度,Pipe模式运营商用自己的QoS标记,Short Pipe则采用用户的QoS标记,如图8-8。