拓扑

实验01 - MPLS Basic - 图1

配置

几个重点

  • VRF BGP
  • VRF
  • MPLS

校验

  • R2的VRF 收到了6.6.6.6 的路由,下一跳是5.5.5.5,但是VRF不知道怎么去到5.5.5.5

实验01 - MPLS Basic - 图2

  • R2的路由表(底层IGP学习得到)中有5.5.5.5 的路由,下一跳是10.23.1.3

实验01 - MPLS Basic - 图3

  • 这个时候就需要依靠MPLS协议。5.5.5.5 对R5来说是已知路由,R5 会通过MPLS发给R4
  • CE1 发出去往6.6.6.6 的数据时,PE1会先查询VRF,发现下一跳是5.5.5.5 . 通过查看cef,发现需要给数据增加标签18,这个18 是从R3发过来的
    • 1:15:42 说NP开头讲过CEF,NP开头说NA里讲过CEF,但是NA里并没有讲CEF

实验01 - MPLS Basic - 图4

  • R3收到数据包,发现Label IN 是18,然后查自己的 forwarding-table,发现IN 18 对应的 OUT 是18,并且是去往10.34.1.4 R4,于是将Label Out 换成18 ,发给R4

实验01 - MPLS Basic - 图5

  • R4 收到数据包,发现Label Out 是 Pop,于是将Label 拿到,变成了1个纯粹的IP包,发给R5

实验01 - MPLS Basic - 图6

  • R5收到数据包,要做的就是查询VRF,发现去6.6.6.6 需要给到10.56.1.6

实验01 - MPLS Basic - 图7

  • 这样,在ISP 核心网络里,就实现了依赖MPLS 的转发,摆脱了BGP
  • 现在有个新的问题,不同的VRF 在宣告相同的网络6.6.6.6。R4 发给R5 不带标签,只有IP的数据包,R5就不知道该给谁了.解决方法是多增加1个标签,来识别这个数据包属于哪个VRF,使得R5 可以识别。这个新增的Label 就叫做VPN Label。
  • show mpls forwarding-table vrf ABC —— 可以看到R5 给来自VRF ABC 的6.6.6.6分配的VPN Label
  • show mpls ip binding