MPLS标记栈的正确使用

2020-11-10 17:39:15 云杰通信 123

企业网络专线,MPLS-VPN,SD-WAN,广域网

  由于一个MPLS标记占20位,因此从理论上讲,在设置MPLS时可以使用标记的所有20位, ICM7228因而可以同时客纳高达220个流(即1 048 576个流)。但是,实际上几乎没有哪个MPLS实例会使用很大数目的流,因为通常需要管理员人工管理和设置每条交换径。

  MPLS还有一个功能就是可以使用多个标记,并把这些标记都放入标记栈(label stack)。其实MPLS的标记栈就在MPLS酋部的位置。当MPLS首部加到IP数据报首部的前面时,我们就可以把这个MPLS首部看成是MPLS的标记栈,不过这时的标记栈里只有一个标记。如果再产生一个MPLS标记,那么就要把它加入到标记栈中,也就是放置在原来老的标记的前方(离IP数据报首部更远的位置)。栈是一种后进先出的数据结构。后入栈的要先出栈。MPLS协议规定,标记栈的栈顶(最后进入栈的标记)最靠近以太网帧的帧首部彤,而栈底(最先入栈的标记)最靠近IP首部。S为1表示这个MPLS首部是栈底(bottom ofstack)。在其他情况下S都为0。

  MPLS的标记栈用于当MPLS域出现嵌套的情况。下面我们用一个例子来说明。如图10-18所示的工厂有多个厂区(这里只画出两个),而每个厂区又有多个厂房。每个厂房内的网络使用普通的路由器,而各厂房之间IP数据报的传输则使用MPLS,我们可以构建两个MPLS域。一个叫做MPLS域1,用于厂房之间的通信,而另一个叫做MPLS域2,用于厂区之间的通信(例如,在厂房B和C之间通信)。如果IP数据报是在某厂区的两个厂房之间进行传输,那么这个IP数据报就只携带一个标记(到达目的厂房后该标记就被去除)。如果IP数据报必须在厂区之间传输,然后再到达目的厂区中的某个厂房,那么这个IP数据报就要携带两个标记。

  假定IP数据报进入MPLS域1的LSR A(即厂房A中的标记交换路由器A)’并且还要再经过LSRB和LSRC到达LSRD。在MPLS域1中的标记交换路径LSP是“A—B—C-D”。lP数据报在到达入口结点LSR A时被压入一个标记。当到达LSR B时就进入了MPLS域2。在域2中的标记交换路径LSP是“B—C”,因此LSR B要压入另一个标记。当IP数据报到达LSR C时就弹出栈顶的标记。最后当IP数据报到达LSR D时弹出标记栈剩下的标记。