Option C

    在PE之间起MP-ebgp邻居,直接传递客户的***v4路由。实现的关键在PE的邻居关系的建立。

    一种方法是在ASBR上宣告PE的环回口路由,然后在ASBR上将学到的对端PE的环回口重分发进IGP;

    另一种方法就是PE和ASBR之间起ipv4 的邻居关系;

    第一种方法在传递的过程中需要2层标签;第二种需要3层标签。

关于标签的传递:R4和R5之间、R5和R6之间、R6和R7之间要为PE环回口的bgp路由分配标签,只能由bgp来分配,就需要在bgp邻居之间send-label。R5和R6之间要运行LDP,并且要环回口建立邻居。

此处仅列出R2、R4、R5

R1的配置为普通PE-CE路由协议

R2的配置:

ip vrf A  

 rd 100:29

 route-target export 100:29

 route-target import 100:29

!

mpls label range 200 299

!

interface Loopback0

 ip address 2.2.2.2 255.255.255.255

!

interface Ethernet0/0

 ip address 23.1.1.2 255.255.255.0

 mpls ip

!

interface Ethernet0/1

 ip vrf forwarding A

 ip address 12.1.1.2 255.255.255.0

!

!         

router eigrp 90

 network 2.2.2.2 0.0.0.0

 network 23.1.1.0 0.0.0.255

 no auto-summary

!

router ospf 110 vrf A

 log-adjacency-changes

 redistribute bgp 100 subnets

 network 12.1.1.0 0.0.0.255 area 0

!

router bgp 100

 no bgp default ipv4-unicast

 bgp log-neighbor-changes

 neighbor 9.9.9.9 remote-as 200

 neighbor 9.9.9.9 ebgp-multihop 255

 neighbor 9.9.9.9 update-source Loopback0

 !

 address-family ipv4

  no synchronization

  no auto-summary

 exit-address-family

 !

 address-family ***v4

  neighbor 9.9.9.9 activate

  neighbor 9.9.9.9 send-community extended

 exit-address-family

 !

 address-family ipv4 vrf A

  no synchronization

  redistribute ospf 110 vrf A match internal external 1 external 2 nssa-external 1 nssa-external 2

 exit-address-family

R4的关键配置:

mpls label range 400 499

!

interface Loopback0

 ip address 4.4.4.4 255.255.255.255

!

interface Ethernet0/0

 ip address 45.1.1.4 255.255.255.0

 mpls bgp forwarding

!

interface Ethernet0/1

 ip address 34.1.1.4 255.255.255.0

 mpls ip

!

router eigrp 90

 network 4.4.4.4 0.0.0.0

 network 34.1.1.0 0.0.0.255

 redistribute bgp 100 metric 10000 100 255 1 1500 route-map R9

 no auto-summary

!

router bgp 100

 no synchronization

 bgp log-neighbor-changes

 network 2.2.2.2 mask 255.255.255.255

 neighbor 45.1.1.5 remote-as 120

 neighbor 45.1.1.5 send-label

 no auto-summary

!

access-list 1 permit 9.9.9.9

!

route-map R9 permit 10

 match ip address 1

!         

R5:

mpls label range 500 599

interface Loopback0

 ip address 5.5.5.5 255.255.255.255

!

interface Ethernet0/0

 ip address 56.1.1.5 255.255.255.0

 mpls ip

!

interface Ethernet0/1

 ip address 45.1.1.5 255.255.255.0

 mpls bgp forwarding

!

!

router ospf 110

 log-adjacency-changes

 network 5.5.5.5 0.0.0.0 area 0

 network 56.1.1.0 0.0.0.255 area 0

!

router bgp 120

 no synchronization

 bgp log-neighbor-changes

 neighbor 6.6.6.6 remote-as 120

 neighbor 6.6.6.6 update-source Loopback0

 neighbor 6.6.6.6 next-hop-self

 neighbor 6.6.6.6 send-label

 neighbor 45.1.1.4 remote-as 100

 neighbor 45.1.1.4 send-label

 no auto-summary

!

    

R1#traceroute 10.10.10.10 source l0

Type escape sequence to abort.

Tracing the route to 10.10.10.10

  1 12.1.1.2 0 msec 0 msec 0 msec

  2 23.1.1.3 [MPLS: Labels 302/904 Exp 0] 0 msec 0 msec 0 msec

  3 34.1.1.4 [MPLS: Labels 404/904 Exp 0] 0 msec 4 msec 4 msec

  4 45.1.1.5 [MPLS: Labels 503/904 Exp 0] 4 msec 4 msec 4 msec

  5 56.1.1.6 [MPLS: Labels 603/904 Exp 0] 8 msec 4 msec 4 msec

  6 67.1.1.7 [MPLS: Labels 703/904 Exp 0] 4 msec 8 msec 4 msec

  7 78.1.1.8 [MPLS: Labels 801/904 Exp 0] 4 msec 4 msec 8 msec

  8 19.1.1.9 [MPLS: Label 904 Exp 0] 4 msec 4 msec 4 msec

  9 19.1.1.10 4 msec *  0 msec

第二种方法:将PE的环回口用bgp传递,下面仅将左侧的AS用bgp传递,右边还是重分发到IGP,看区别

R1#traceroute 10.10.10.10 sou l0

Type escape sequence to abort.

Tracing the route to 10.10.10.10

  1 12.1.1.2 4 msec 0 msec 0 msec

  2 23.1.1.3 [MPLS: Labels 301/404/904 Exp 0] 0 msec 0 msec 0 msec

  3 34.1.1.4 [MPLS: Labels 404/904 Exp 0] 0 msec 0 msec 0 msec

  4 45.1.1.5 [MPLS: Labels 502/904 Exp 0] 4 msec 0 msec 0 msec

  5 56.1.1.6 [MPLS: Labels 602/904 Exp 0] 0 msec 0 msec 0 msec

  6 67.1.1.7 [MPLS: Labels 703/904 Exp 0] 0 msec 0 msec 0 msec

  7 78.1.1.8 [MPLS: Labels 801/904 Exp 0] 0 msec 4 msec 0 msec

  8 19.1.1.9 [MPLS: Label 904 Exp 0] 0 msec 0 msec 0 msec

  9 19.1.1.10 0 msec *  4 msec

R2和R4的配置如下:

R2:

router bgp 100

 no bgp default ipv4-unicast

 bgp log-neighbor-changes

 neighbor 4.4.4.4 remote-as 100

 neighbor 4.4.4.4 update-source Loopback0

 neighbor 9.9.9.9 remote-as 200

 neighbor 9.9.9.9 ebgp-multihop 255

 neighbor 9.9.9.9 update-source Loopback0

 !

 address-family ipv4

  no synchronization

  neighbor 4.4.4.4 activate

  neighbor 4.4.4.4 send-label

  no auto-summary

 exit-address-family

 !

 address-family ***v4

  neighbor 9.9.9.9 activate

  neighbor 9.9.9.9 send-community extended

 exit-address-family

 !

 address-family ipv4 vrf A

  no synchronization

  redistribute ospf 110 vrf A match internal external 1 external 2 nssa-external 1 nssa-external 2

 exit-address-family

R4:

router eigrp 90

 network 4.4.4.4 0.0.0.0

 network 34.1.1.0 0.0.0.255

 no auto-summary

router bgp 100

 bgp log-neighbor-changes

 neighbor 2.2.2.2 remote-as 100

 neighbor 2.2.2.2 update-source Loopback0

 neighbor 45.1.1.5 remote-as 120

 !

 address-family ipv4

  no synchronization

  network 2.2.2.2 mask 255.255.255.255

  neighbor 2.2.2.2 activate

  neighbor 2.2.2.2 next-hop-self

  neighbor 2.2.2.2 send-label

  neighbor 45.1.1.5 activate

  neighbor 45.1.1.5 send-label

  no auto-summary

 exit-address-family