标签本身是聚合标签,这意味着标签没有附加的重写信息,因此它既不知道出口接口,也不知道出口MAC地址。聚合标签例如用于连接的网络。
聚合标签意味着在MPLS查找之后您不知道出口信息,因此必须进行常规IP查找才能确定出口信息。
普通标签附有出口重写信息,即根据标签查找将返回出口接口(包含所有必要信息,例如MAC地址,VLAN等)
假设所有链接都是IGP度量标准1,而BC是度量标准2。
为了使A发送到E的环回(192.0.2.5),将发生以下情况
- E将为192.0.2.5/32分配显式(0)或隐式(默认)
- E将使用LDP将前缀+标签(FEC)分配给C和D
- C将为此分配本地标签,例如100(可以是任何值)
- C将对FIB条目进行编程,以使标签100指向E的接口,如果显式为null,则MPLS标签操作为“ SWAP 0”,如果为隐式,则为“ POP”
- C将对FIB条目进行编程,以使前缀192.0.2.5/32指向E的接口,并且如果显式为null,则MPLS标签操作'PUSH 0'
- D将为此分配本地标签,例如200(可以是任何数字,甚至100、300、400)
- D将编程FIB条目,以便标签200指向E的接口,如果显式为null,则MPLS标签操作为'SWAP 0',如果为隐式,则为'POP'
- D将编程FIB条目,以便前缀192.0.2.5/32指向E的接口,并且如果显式为null,则MPLS标签操作'PUSH 0'
- D和C使用LDP将前缀+标签分配给B
- B将为此分配本地标签,例如300(可以是任何值)
- B将编程FIB条目,以便标签300指向D的接口(由于IGP度量!),并且MPLS标签操作“ SWAP 200”
- B将对FIB条目进行编程,以使前缀192.0.2.5/32指向D的接口,并且MPLS标签操作为“ PUSH 200”
- B将使用LDP将前缀+标签分发给A
- A将为此分配本地标签,例如400(可以是任何值)
- A将编程FIB条目,以便标签400指向B的接口,并且MPLS标签操作“ SWAP 300”
- A将对FIB条目进行编程,以使前缀192.0.2.5/32指向B的接口,并且MPLS标签操作为“ PUSH 300”
现在,当A发送到192.0.2.5/32时在转发平面中会发生什么
- A将推送(施加)标签300并发送给B
- B将向FIB咨询300,即接口D和SWAP 200
- D将向FIB咨询200,即接口E和POP(或SWAP 0)
- E将收到帧