The first two pictures show you TOS reflection. By default, the IP precedence (or first three bits of DSCP) is copied to the imposed labels. This is MPLS QoS Rule 1. The third picture shows you that the EXP bits of the top label of the incoming packet are copied to the swapped label and the pushed label(s). This is MPLS QoS Rule 2. The fourth and fifth pictures are again examples of MPLS QoS Rule 2, but now they show that the EXP bits of the labels, which are below the top label at the ingress interface, are not changed (MPLS QoS Rule 5). The sixth picture shows you an example of MPLS QoS Rule 3, and the seventh picture is an example of MPLS QoS Rule 4.
DiffServ隧道模型
MPLS QoS规则4会导致有趣的行为:无论MPLS Exp值是否在Ingress LSR或任何其他LSR中更改为内容,那么该值不会复制到MPLS网络的出口LSR处的暴露IP数据包。实际上,这使得MPLS云的操作员能够通过MPLS网络透明地承载IP分组的QoS值。无论exp比特如何更改,默认情况下,保留了IP数据包的IP优先级或DSCP位;EGRING LSR处的值与IP数据包输入MPLS网络时相同。您现在可以通过MPLS网络隧道通过MPLS网络隧道隧道(IP数据包的DiffServ值)(因此DiffServ隧道)。显而易见的优点是MPLS网络可以具有与连接到它的客户不同的QoS方案,因为MPLS QoS方案可以独立于客户的IP QoS方案。IETF已定义三种模型来隧道隧道信息。所有三种型号都不同,有自己的优点。此外,三种模型之间的区别仅在边缘LSR处。P路由器在不同的DiffServ隧道模型方面不会发挥作用。
Consider图12-7.
MPLS DiffServ隧道模型的一般操作
隧道DiffServ信息是标记分组的QoS或IP数据包的IP分组的优先/ DSCP进入MPLS网络的INGress LSR。LSP DiffServ信息是从Ingress LSR传输到出口LSR的MPLS分组的QoS(Exp Bits的值)。隧道DiffServ信息是QoS信息,需要透明地跨越MPLS网络,而LSP DiffServ信息是在转发标记数据包时,此MPLS网络中所有LSR的QoS信息。
Pipe Model
在管道模型中,以下规则适用:
LSP DiffServ信息is not necessarily (but might be) derived from the Tunneled DiffServ information on the ingress LSR.
On an intermediate LSR (a P router), the LSP DiffServ information of the outgoing label is derived from the LSP DiffServ information of the incoming label.
在出口LSR上,分组的转发处理基于LSP DiffServ信息,并且LSP DiffServ信息不会传播到隧道DiffServ信息。
注意 -Forwarding treatment here means classifying the packet for scheduling and discarding behavior at the output interface.
如果MPLS网络在入口LSR和MPLS网络上接收到IP数据包,则仅使用E-LSPS,管道模型变得更易于解释。隧道的DiffServ信息是IP数据包的优先比特或DSCP。LSP DiffServ信息是MPLS网络中标签的exp位值。IP数据包的转发处理(分类和丢弃行为)基于IP标题中的优先位或DSCP。此后称为IP PHB(每跳行为)。转发处理OP MPLS数据包基于EXP比特。此后称为MPLS PHB(每跳行为)。
The rules for the Pipe model now translate into the following:
可以从IP优先级复制exp比特,也可以通过INGress LSR上的配置进行设置。
在P路由器上,exp位将从传入标签传播到传出标签。
在EGRING LSR上,数据包的转发处理基于MPLS PHB(EXP BITS),并且exp比特不会传播到IP优先级。
Short Pipe Model
The Short Pipe model is similar to the Pipe model, with one difference. The forwarding treatment on the egress LSR is different for the Short Pipe model. Therefore, the third bullet becomes this:
On the egress LSR,数据包的转发处理基于隧道差异信息,并且LSP DiffServ信息不会传播到隧道DiffServ信息。
如果MPLS网络在入口LSR上接收IP数据包,则第三个项目组成:
On the egress LSR,数据包的转发处理基于IP PHB(IP优先级),exp比特不会传播到IP优先级。
统一的模型
The Uniform model is quite different from the Pipe or Short Pipe model. In the Uniform model, the following rules apply:
LSP DiffServ信息must从Ingress LSR上的隧道DiffServ信息派生。
On an intermediate LSR (a P router), the LSP DiffServ information of the outgoing label is derived from the LSP DiffServ information of the incoming label.
在EGRING LSR上,LSP DiffServ信息必须传播到隧道DiffServ信息。
注意第一个子弹的变化:LSP DiffServ信息一定是来自Ingress LSR上的隧道DiffServ信息。在出口LSR上,隧道DiffServ信息来自LSP DiffServ信息。这意味着数据包随时属于相同的QoS类。如果未标记数据包,则QoS信息始终存在于最顶层标签或IP标头中。MPLS网络对QoS信息没有影响,但当然,它会通过MPLS网络切换数据包。
You can instruct the router to change the EXP bits of the top label(s) through configuration (by using MQC in Cisco IOS) anywhere in the MPLS cloud. This only changes the outer QoS information, or the LSP DiffServ information. This change in the LSP DiffServ information is not propagated down to the Tunneled DiffServ information in the Pipe model and Short Pipe model on the egress LSR. It is, however, propagated on the egress LSR when you are using the Uniform model.
在Cisco IOS, the configuration that you need to enable one of the three DiffServ Tunneling models is MQC. MQC is configurable per interface. Therefore, you can choose the DiffServ Tunneling model per interface—hence, per customer connecting to the MPLS network. The only LSRs where this configuration is needed are the ingress and egress LSRs. On those routers, the specific DiffServ Tunneling model is determined.
图12-8在MPLS虚拟专用网络(VPN)的情况下,为您显示三种隧道模型。进入和退出MPLS VPN的数据包是IP数据包。因此,隧道DiffServ信息转换为IP报头中的DSCP位,并且LSP DiffServ信息转换为MPLS标签中的EXP比特。
用于MPLS VPN的三种DiffServ隧道模型
注意 -MPLS DiffServ隧道型模型在RFC 3270中描述,“多协议标签交换(MPLS)支持的差异化服务”。
Advantages of the DiffServ Tunneling Models
统一模型的有用性是数据包只有一个Diffserv信息。这是在顶部标签中编码的DiffServ信息。无论这与底层DiffServ信息不同都不重要,因为顶部DiffServ信息在LSP的出口LSR处被传播。
短管模型和管道模型的优点是当数据包离开MPLS网络时保留原始隧道差别信息。这意味着IP DiffServ信息或隧道MPLS DiffServ信息保持不变。当客户连接到MPLS网络时,它们的QoS信息将通过MPLS网络透明地隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道隧道连接。此外,如果客户有自己的QoS规则,那么MPLS服务提供商,在不改变数据包的原始QoS的情况下对eNGress LSR的数据包强加他自己的规则,可以忽略客户的规则。这比为每个客户的QoS提供更可扩展。由于标签只有三个exp比特,因此MPLS服务提供商必须将每个客户的每个QoS级别符合MPLS网络中最多八个级别的QoS之一。
短管模型与管道模型之间的差异仅在出口LSR处可见。当您具有管道模型时,EORTER LSR根据LSP DiffServ信息转发数据包,并且当您有短管模型时根据隧道差异信息。这意味着在短管模型中,根据对每个客户的一些不同的QoS,在出口LSR上转发数据包。在管道模型中,数据包根据MPLS网络的LSP的QoS在出口LSR上转发。后一个模型大大降低了QoS配置,因为所有流量都是相同的。相比之下,通过短管道模型,您需要为每个客户(或每个传出链路)不同的QoS配置。
管道模型确实有一个要求它工作。出口LSR必须基于LSP DiffServ信息转发数据包。这意味着在普通的IP-over-MPLS的情况下不能使用隐式空标签(在这种情况下,标记的数据包在标签堆栈中只有一个标签),如下段落所述。在图12-9,您可以看到具有隐式NULL标签的纯IP-over-MPLS网络。
具有隐式空标签的纯IP-over-MPLS
从第3章“转发标记的数据包”,您知道使用隐式空标签称为PHP,并且它导致倒数膜LSR将数据包转发,其中一个标签更少,因为POP操作。如果这是一个普通的IP-over-MPLS网络,则只有一个标签位于该LSR上的传入数据包之上,因此将数据包转发到最后一个LSR作为IP数据包。如果您正在运行管道模型,则出口LSR不能根据MPLS Exp Bits(LSP DiffServ信息)转发数据包,因为数据包不再具有标签。此外,如果您正在运行统一模型,则无法再将Exp位值从标签复制到EGRING LSR上的IP优先级或DSCP位。此问题的显而易见的解决方案是使用显式空标签而不是隐式空标签,默认情况下使用Cisco IOS使用。然后出口LSR向倒数第二个LSR发出显式空标签。如您所见,LDP和RSVP(用于流量工程)都可以发出显式空标签。显式空标签的唯一功能是在Exp位中携带QoS信息。图12-10.显示相同的网络图12-9,但现在使用显式空标签。
具有显式空标签的纯IP-over-MPLS
The problem is not present only with plain IP-over-MPLS. What if you have an MPLS VPN network? By default, it also has PHP. What if someone alters the EXP bits on a P router? The result will be that the top label will have a different value for the EXP bits than the label underneath. That is okay as long as no labels are popped off. However, when a label is popped off at the penultimate LSR, the value of the EXP bits is not copied to the newly exposed label. Therefore, in the case of MPLS VPN and PHP, the label on top of the packet on the egress LSR is the VPN label, and it has the EXP bits that were set on the ingress PE. That means the alteration of the EXP bits on a P router is lost. Also, in the case of MPLS VPN, the solution is to have the egress PE advertise the explicit NULL label. In that instance, the packet arrives at the egress PE with two labels. The top label is the explicit NULL label that holds the MPLS QoS information.
如何实现三个DiffServ隧道模型
三种型号之间的区别仅在进入和出口LSR上进行。对于这三种型号,Invress LSR中不需要配置,假设服务提供商愿意接受客户设置的DiffServ信息作为MPLS核心中的LSP DiffServ信息。这是MPLS QoS规则1和2的原因。然而,对于统一的模型,这是一个要求,而对于管道和短管道模型,Ingress LSR可以为Exp比特设置其他值。由于连接到MPLS服务提供商的客户可以将数据包的DiffServ信息设置为任何内容,因此服务提供商很可能会选择将Ingress LSR的Exp Bits设置为所选择的值。
On the egress LSR, all three models are distinct. For the Uniform model, the LSP DiffServ informationmust将传播到隧道差异信息。默认情况下,在Cisco IOS中尚未完成。因此,您必须使用MQC在路由器上配置QoS组。您可以匹配EMORT LSR的入口接口上的Exp Bits并分别设置QoS组。相比之下,在出口LSR的出口接口上,您可以匹配QoS组并设置传出标记的数据包的Exp位或传出IP数据包的IP优先级/ DSCP。如果exp Bits在上游的某个地方更改,则还必须在POP标签操作的情况下在P路由器上完成exp路由器的传播。出口LSR上的传播无法为管道和短管道模型完成,因为当时LSP DiffServ信息将覆盖原始隧道差别信息。