MPLS中的标签分发协议(LDP)


9

最近,我一直在研究MPLS技术。在阅读了MPLS的一些功能后,我心中对此有疑问。

A---B---c
    |    |
    D----E

假设路由器A,E是LER,而路由器B,C,D是LSR,我们要从A-> E发送流量。我了解到,只有LSR可以初始分配标签,而在LDP中,下游路由器会启动标签的分发以及标签/ FEC绑定。

Can someone please explain me
1.)how A(LER) can transmit the packets to B(LSR).
2.)how can B know which label and port to forward,if it receives the distribution from C(Where C and D are downstream routers)

谢谢。

Answers:


12

标签本身是聚合标签,这意味着标签没有附加的重写信息,因此它既不知道出口接口,也不知道出口MAC地址。聚合标签例如用于连接的网络。
聚合标签意味着在MPLS查找之后您不知道出口信息,因此必须进行常规IP查找才能确定出口信息。

普通标签附有出口重写信息,即根据标签查找将返回出口接口(包含所有必要信息,例如MAC地址,VLAN等)

假设所有链接都是IGP度量标准1,而BC是度量标准2。

为了使A发送到E的环回(192.0.2.5),将发生以下情况

  1. E将为192.0.2.5/32分配显式(0)或隐式(默认)
  2. E将使用LDP将前缀+标签(FEC)分配给C和D
  3. C将为此分配本地标签,例如100(可以是任何值)
    1. C将对FIB条目进行编程,以使标签100指向E的接口,如果显式为null,则MPLS标签操作为“ SWAP 0”,如果为隐式,则为“ POP”
    2. C将对FIB条目进行编程,以使前缀192.0.2.5/32指向E的接口,并且如果显式为null,则MPLS标签操作'PUSH 0'
  4. D将为此分配本地标签,例如200(可以是任何数字,甚至100、300、400)
    1. D将编程FIB条目,以便标签200指向E的接口,如果显式为null,则MPLS标签操作为'SWAP 0',如果为隐式,则为'POP'
    2. D将编程FIB条目,以便前缀192.0.2.5/32指向E的接口,并且如果显式为null,则MPLS标签操作'PUSH 0'
  5. D和C使用LDP将前缀+标签分配给B
  6. B将为此分配本地标签,例如300(可以是任何值)
    1. B将编程FIB条目,以便标签300指向D的接口(由于IGP度量!),并且MPLS标签操作“ SWAP 200”
    2. B将对FIB条目进行编程,以使前缀192.0.2.5/32指向D的接口,并且MPLS标签操作为“ PUSH 200”
  7. B将使用LDP将前缀+标签分发给A
  8. A将为此分配本地标签,例如400(可以是任何值)
    1. A将编程FIB条目,以便标签400指向B的接口,并且MPLS标签操作“ SWAP 300”
    2. A将对FIB条目进行编程,以使前缀192.0.2.5/32指向B的接口,并且MPLS标签操作为“ PUSH 300”

现在,当A发送到192.0.2.5/32时在转发平面中会发生什么

  1. A将推送(施加)标签300并发送给B
  2. B将向FIB咨询300,即接口D和SWAP 200
  3. D将向FIB咨询200,即接口E和POP(或SWAP 0)
  4. E将收到帧

1
谢谢同伴。如果BC也是度量1,会发生什么?
starkk92 2013年

2
如果BC指标也是1并且禁用了负载平衡,则有一些决胜局,例如router-id。如果启用了负载平衡,则将使用ECMP(等价多路径)。在负载平衡的情况下,MPLS不会改变正常的IPv4 / IPv6行为,因此,如果您了解IPv4在这种情况下的工作原理,则完全相同,只是在帧上添加了标签。因此,在步骤6.1和6.2中,您将添加两个 FIB条目,流量将通过HASH(keys)-> [12]来决定使用哪个。
ytti
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.