Layer 2 Vpn Architectures [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Layer 2 Vpn Architectures [Electronic resources] - نسخه متنی

Carlos Pignataro, Dmitry Bokotey, Anthony Chan

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید









Pseudowire Emulation in Multi-AS Networks



When two attachment circuits (ACs) should be connected by a pseudowire but the attached PE routers are in different autonomous systems, the PE routers cannot exchange IGP routes with each other. In multi-AS networks, autonomous system border routers (ASBRs) establish Border Gateway Protocol (BGP) connections with each other to exchange routes between different autonomous systems.


Figure 9-6 illustrates an example of connecting ACs across the autonomous system boundary. Suppose that the AC of Ethernet VLAN 100 on CE1 in AS100 needs to be connected to the one on CE4 in AS200, and the AC of Ethernet VLAN 200 on CE2 in AS100 needs to be connected to the one on CE3 in AS200. The following case studies present three different solutions to accomplish the goal. Each solution has its own merits and applicable deployment scenarios.




Figure 9-6. Pseudowire Emulation in Multi-AS Networks



[View full size image]





Case Study 9-7: Interconnecting Pseudowires with Dedicated Circuits



The configuration and routing that are necessary for forwarding IP traffic in a multi-AS environment are complex, and adding pseudowire emulation services does not make network operation much easier. However, the solution discussed in this case study takes a simplistic approach.


Instead of building end-to-end pseudowires across the autonomous system boundary, each ASBR acts as a PE router and provides pseudowire emulation services. Essentially, each ASBR treats the peering ASBR in a different domain as a CE router and the links between the ASBRs as ACs. In the pseudowire emulation architecture, the connectivity between CE and PE devices is at Layer 2. In theory, Layer 3 connectivity is not required between ASBRs if only pseudowire emulation services are required. However, ASBRs typically provide interdomain routing services, too, so Layer 3 connectivity is configured in the example. MPLS forwarding is not required between ASBRs in this deployment model.


As shown in Figure 9-7, a pseudowire with VC ID 100 is provisioned between PE1 and ASBR1 in AS100. A pseudowire with VC ID 100 is also provisioned between PE4 and ASBR2 in AS200. To have end-to-end connectivity between CE1 and CE4, ASBR1 and ASBR2 allocate a dedicated Ethernet VLAN 100 and use it as the common AC for both pseudowires. It is not mandatory for both pseudowires to have the same VC ID, but it is a good self-documenting practice. Similarly, CE2 and CE3 are connected by concatenating a pseudowire to a dedicated Ethernet VLAN 200 and then to another pseudowire. BGP is configured between ASBRs to exchange interdomain routing information, but it is not essential for inter-AS pseudowire emulation in this particular case.




Figure 9-7. Inter-AS Pseudowire Emulation with Dedicated Circuits


[View full size image]




The following configuration examples give you some ideas of how to configure the PE and ASBR routers to use dedicated circuits between autonomous systems to provide inter-AS pseudowire connectivity.


On PE1, configure the pseudowire with VC ID 100 on the AC that connects to CE1, as shown in Example 9-22.



Example 9-22. PE1 Pseudowire Configuration



hostname PE1
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 10.1.1.1 255.255.255.255
!
interface Ethernet0/0
no ip address
!
interface Ethernet0/0.1
encapsulation dot1Q 100
xconnect 10.1.1.3 100 encapsulation mpls
!
interface Ethernet1/0
ip address 10.23.12.1 255.255.255.0
mpls ip
!
interface Serial3/0
ip address 10.23.11.1 255.255.255.0
mpls ip
!
router ospf 1
network 10.1.1.1 0.0.0.0 area 0
network 10.23.11.0 0.0.0.255 area 0
network 10.23.12.0 0.0.0.255 area 0


On PE2, configure the pseudowire with VC ID 200 on the AC that connects to CE2, as shown in Example 9-23.



Example 9-23. PE2 Pseudowire Configuration


hostname PE2
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 10.1.1.2 255.255.255.255
!
interface Ethernet0/0
no ip address
!
interface Ethernet0/0.2
encapsulation dot1Q 200
xconnect 10.1.1.3 200 encapsulation mpls
!
interface Ethernet1/0
ip address 10.23.23.1 255.255.255.0
mpls ip
!
interface Serial3/0
ip address 10.23.21.2 255.255.255.0
mpls ip
!
router ospf 1
network 10.1.1.2 0.0.0.0 area 0
network 10.23.21.0 0.0.0.255 area 0
network 10.23.23.0 0.0.0.255 area 0


On PE3, configure the pseudowire with VC ID 200 on the AC that connects to CE3, as shown in Example 9-24.


Example 9-24. PE3 Pseudowire Configuration



hostname PE3
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 172.16.1.1 255.255.255.255
!
interface Ethernet0/0
no ip address
!
interface Ethernet0/0.2
encapsulation dot1Q 200
xconnect 172.16.1.3 200 encapsulation mpls
!
interface Serial2/0
ip address 172.16.34.1 255.255.255.0
mpls ip
!
router ospf 1
network 172.16.1.1 0.0.0.0 area 0
network 172.16.34.0 0.0.0.255 area 0


On PE4, configure the pseudowire with VC ID 100 on the AC that connects to CE4, as shown in Example 9-25.


Example 9-25. PE4 Pseudowire Configuration



hostname PE4
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 172.16.1.2 255.255.255.255
!
interface Ethernet0/0
no ip address
!
interface Ethernet0/0.1
encapsulation dot1Q 100
xconnect 172.16.1.3 100 encapsulation mpls
!
interface Serial2/0
ip address 172.16.44.1 255.255.255.0
mpls ip
!
router ospf 1
network 172.16.1.2 0.0.0.0 area 0
network 172.16.44.0 0.0.0.255 area 0


When you are using dedicated circuits between ASBRs, ensure that the encapsulation of these circuits matches that of the ACs between CE and PE routers, because the ASBRs effectively act as PE routers. In this example, the connection between ASBR1 and ASBR2 is Ethernet.


On ASBR1, configure the pseudowire with VC ID 100 and the pseudowire with VC ID 200 on the corresponding dedicated circuits, as shown in Example 9-26.


Example 9-26. ASBR1 Pseudowire Configuration



hostname ASBR1
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 10.1.1.3 255.255.255.255
!
interface Ethernet0/0
description Connect to ASBR2 in AS200
ip address 172.16.100.1 255.255.255.0
!
interface Ethernet0/0.1
encapsulation dot1Q 100
xconnect 10.1.1.1 100 encapsulation mpls
!
interface Ethernet0/0.2
encapsulation dot1Q 200
xconnect 10.1.1.2 200 encapsulation mpls
!
interface Ethernet1/0
ip address 10.43.11.2 255.255.255.0
mpls ip
!
router ospf 1
network 10.1.1.3 0.0.0.0 area 0
network 10.43.11.0 0.0.0.255 area 0
!
router bgp 100
no synchronization
neighbor 172.16.100.2 remote-as 200
no auto-summary


On ASBR2, configure the pseudowire with VC ID 100 and the pseudowire with VC ID 200 on the corresponding dedicated circuits, as shown in Example 9-27.


Example 9-27. ASBR2 Pseudowire Configuration



hostname ASBR2
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 172.16.1.3 255.255.255.255
!
interface Ethernet0/0
description Connect to ASBR1 in AS100
ip address 172.16.100.2 255.255.255.0
!
interface Ethernet0/0.1
encapsulation dot1Q 100
xconnect 172.16.1.2 100 encapsulation mpls
!
interface Ethernet0/0.2
encapsulation dot1Q 200
xconnect 172.16.1.1 200 encapsulation mpls
!
interface Ethernet1/0
ip address 172.16.24.2 255.255.255.0
mpls ip
!
router ospf 1
network 172.16.1.3 0.0.0.0 area 0
network 172.16.24.0 0.0.0.255 area 0
!
router bgp 200
no synchronization
neighbor 172.16.100.1 remote-as 100
no auto-summary


When considering this deployment model for inter-AS pseudowire emulation services, you need to evaluate the following restrictions that are associated with it:



To be interconnected, the Layer 2 encapsulation of the links between ASBRs must be identical to that of the ACs.



The number of dedicated circuits or virtual circuits between ASBRs can be limited. For example, ASBR1 and ASBR2 are connected through an Ethernet connection that can support up to 4096 802.1q VLANs, which is 4096 dedicated circuits at most.




In the future, when you can replace dedicated circuits with pseudowires for inter-AS pseudowire emulation services, these restrictions should be eliminated.



Note


A new pseudowire emulation solution is being developed at press time to replace the dedicated circuits between ASBRs with pseudowires. In other words, disjointed pseudowires of different autonomous systems can be interconnected through another set of pseudowires that is established between ASBRs. You can imagine that the end-to-end connectivity is provided by "stitching" several pseudowires together. By replacing dedicated circuits with pseudowires, pseudowire emulation in multi-AS networks achieves better flexibility and scalability.



Case Study 9-8: BGP IPv4 Label Distribution with IGP Redistribution



To provide edge-to-edge network connectivity for pseudowires within a single autonomous system, you need to have the /32 host routes of PE routers and the corresponding labels, which you learn through IGP and LDP (or RSVP if you are using MPLS traffic engineering). One solution for obtaining the same level of connectivity in a multi-AS environment is by using external BGP (eBGP) to exchange the /32 host routes of PE devices and the corresponding labels across the autonomous system boundaries and then redistributing the /32 host routes learned through EBGP into IGP. From the point of view of the PE routers, this is similar to the single autonomous system scenario except that the /32 host routes appear to be of IGP external types in the routing tables. Instead of using LDP, ASBRs piggyback IPv4 label information along with the host route advertisements in BGP update messages so that ASBRs can set up LSPs between one another for these host routes. Figure 9-8 illustrates such an example.




Figure 9-8. Inter-AS Pseudowire Emulation with IGP Redistribution


[View full size image]




To provide the same end-to-end inter-AS pseudowire emulation services, you configure PE1, PE2, PE3, and PE4 identically to "Case Study 9-7: Interconnecting Pseudowires with Dedicated Circuits," except the pseudowire endpoint addresses. On ASBR1 and ASBR2, BGP is configured to announce /32 host routes of PE1, PE2, PE3, and PE4 to the remote autonomous system. To distribute IPv4 labels for these routes, ASBR1 and ASBR2 specify the send-label keyword in the BGP neighbor command.


The following configuration gives you some examples of how to configure the PE and ASBR routers to use BGP IPv4 label distribution with IGP redistribution to provide inter-AS pseudowire connectivity.


On PE1, configure the router ID and the pseudowire with VC ID 100 on the AC that connects to CE1, as shown in Example 9-28.


Example 9-28. PE1 Pseudowire Configuration



interface Loopback0
ip address 10.1.1.1 255.255.255.255
interface Ethernet0/0.1
encapsulation dot1Q 100
xconnect 172.16.1.2 100 encapsulation mpls


On PE2, configure the router ID and the pseudowire with VC ID 200 on the AC that connects to CE2, as shown in Example 9-29.



Example 9-29. PE2 Pseudowire Configuration



interface Loopback0
ip address 10.1.1.2 255.255.255.255
interface Ethernet0/0.2
encapsulation dot1Q 200
xconnect 172.16.1.1 200 encapsulation mpls


On PE3, configure the router ID and the pseudowire with VC ID 200 on the AC that connects to CE3, as shown in Example 9-30.


Example 9-30. PE3 Pseudowire Configuration



interface Loopback0
ip address 172.16.1.1 255.255.255.255
interface Ethernet0/0.2
encapsulation dot1Q 200
xconnect 10.1.1.2 200 encapsulation mpls


On PE4, configure the router ID and the pseudowire with VC ID 100 on the AC that connects to CE4, as shown in Example 9-31.


Example 9-31. PE4 Pseudowire Configuration



interface Loopback0
ip address 172.16.1.2 255.255.255.255
interface Ethernet0/0.1
encapsulation dot1Q 100
xconnect 10.1.1.1 100 encapsulation mpls


On ASBR1, configure BGP IPv4 label distribution and redistribute BGP routes into OSPF, as shown in Example 9-32.


Example 9-32. ASBR1 BGP and OSPF Configuration



hostname ASBR1
!
ip cef
mpls label protocol ldp
!
interface Loopback0
ip address 10.1.1.3 255.255.255.255
!
interface Ethernet0/0
description Connect to ASBR2 in AS200
ip address 172.16.100.1 255.255.255.0
!
interface Ethernet1/0
ip address 10.43.11.2 255.255.255.0
mpls ip
!
router ospf 1
redistribute bgp 100 subnets
network 10.1.1.3 0.0.0.0 area 0
network 10.43.11.0 0.0.0.255 area 0
default-metric 20
!
router bgp 100
neighbor 172.16.100.2 remote-as 200
!
address-family ipv4
neighbor 172.16.100.2 activate
neighbor 172.16.100.2 send-label
no auto-summary
no synchronization
network 10.1.1.1 mask 255.255.255.255
network 10.1.1.2 mask 255.255.255.255
exit-address-family


On ASBR2, configure BGP IPv4 label distribution and redistribute BGP routes into OSPF, as shown in Example 9-33.


Example 9-33. ASBR2 BGP and OSPF Configuration



hostname ASBR2
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 172.16.1.3 255.255.255.255
!
interface Ethernet0/0
description Connect to ASBR1 in AS100
ip address 172.16.100.2 255.255.255.0
!
interface Ethernet1/0
ip address 172.16.24.2 255.255.255.0
mpls ip
!
router ospf 1
redistribute bgp 200 subnets
network 172.16.1.3 0.0.0.0 area 0
network 172.16.24.0 0.0.0.255 area 0
default-metric 20
!
router bgp 200
neighbor 172.16.100.1 remote-as 100
!
address-family ipv4
neighbor 172.16.100.1 activate
neighbor 172.16.100.1 send-label
no auto-summary
no synchronization
network 172.16.1.1 mask 255.255.255.255
network 172.16.1.2 mask 255.255.255.255
exit-address-family


On ASBR1 and ASBR2, the /32 addresses of the PE routers appear as BGP routes, as shown in Example 9-34.


Example 9-34. Host Routes of PE Routers on ASBR1 and ASBR2



ASBR1#show ip route bgp
172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks
B 172.16.1.1/32 [20/75] via 172.16.100.2, 03:29:45
B 172.16.1.2/32 [20/75] via 172.16.100.2, 03:29:45
ASBR2#show ip route bgp
10.0.0.0/32 is subnetted, 2 subnets
B 10.1.1.2 [20/31] via 172.16.100.1, 03:31:51
B 10.1.1.1 [20/31] via 172.16.100.1, 03:31:51


These routes are redistributed into OSPF and appear as OSPF External type 2 routes in the routing tables of the PE devices. Example 9-35 shows the routing table entries for PE1 in AS100 and PE3 in AS200.


Example 9-35. Redistributed BGP Routes in OSPF Routing Table



PE1#show ip route ospf
172.16.0.0/32 is subnetted, 2 subnets
O E2 172.16.1.1 [110/20] via 10.23.12.2, 03:16:11, Ethernet1/0
O E2 172.16.1.2 [110/20] via 10.23.12.2, 03:16:11, Ethernet1/0
10.0.0.0/8 is variably subnetted, 12 subnets, 2 masks
O 10.23.21.0/24 [110/84] via 10.23.12.2, 03:16:11, Ethernet1/0
O 10.1.2.1/32 [110/21] via 10.23.12.2, 03:16:11, Ethernet1/0
O 10.1.1.2/32 [110/31] via 10.23.12.2, 03:16:11, Ethernet1/0
O 10.1.1.3/32 [110/31] via 10.23.12.2, 03:16:11, Ethernet1/0
O 10.23.23.0/24 [110/30] via 10.23.12.2, 03:16:11, Ethernet1/0
O 10.1.2.3/32 [110/21] via 10.23.12.2, 03:16:11, Ethernet1/0
O 10.1.2.2/32 [110/11] via 10.23.12.2, 03:16:11, Ethernet1/0
O 10.43.11.0/24 [110/30] via 10.23.12.2, 03:16:11, Ethernet1/0
O 10.33.23.0/24 [110/20] via 10.23.12.2, 03:16:11, Ethernet1/0
PE3#show ip route ospf
172.16.0.0/16 is variably subnetted, 6 subnets, 2 masks
O 172.16.44.0/24 [110/128] via 172.16.34.2, 03:16:07, Serial2/0
O 172.16.24.0/24 [110/74] via 172.16.34.2, 03:16:07, Serial2/0
O 172.16.1.3/32 [110/75] via 172.16.34.2, 03:16:07, Serial2/0
O 172.16.1.2/32 [110/129] via 172.16.34.2, 03:16:07, Serial2/0
10.0.0.0/32 is subnetted, 2 subnets
O E2 10.1.1.2 [110/20] via 172.16.34.2, 03:16:07, Serial2/0
O E2 10.1.1.1 [110/20] via 172.16.34.2, 03:16:07, Serial2/0


One caveat for this deployment model is that /32 host routes are injected into the IGP routing domain through redistributions; therefore, every transit router in the same IGP routing domain installs these host routes. As shown in Example 9-36, transit routers P1, P2, and P3 all see the host routes for PE3 and PE4 in their routing tables, and P4 has host routes for PE1 and PE2.


Example 9-36. Transit Routers Learn Host Routes for PE1 and PE2



P1#show ip route ospf
172.16.0.0/32 is subnetted, 2 subnets
O E2 172.16.1.1 [110/20] via 10.43.11.2, 00:01:31, Ethernet1/0
O E2 172.16.1.2 [110/20] via 10.43.11.2, 00:01:31, Ethernet1/0
10.0.0.0/8 is variably subnetted, 12 subnets, 2 masks
O 10.1.1.2/32 [110/21] via 10.33.23.3, 08:34:35, Ethernet0/0
O 10.1.1.3/32 [110/11] via 10.43.11.2, 08:34:35, Ethernet1/0
O 10.23.23.0/24 [110/20] via 10.33.23.3, 08:34:35, Ethernet0/0
O 10.1.2.3/32 [110/11] via 10.33.23.3, 08:34:35, Ethernet0/0
O 10.1.2.2/32 [110/11] via 10.33.23.2, 08:34:35, Ethernet0/0
O 10.1.1.1/32 [110/21] via 10.33.23.2, 08:34:35, Ethernet0/0
O 10.23.12.0/24 [110/20] via 10.33.23.2, 08:34:35, Ethernet0/0



Case Study 9-9: BGP IPv4 Label Distribution with IBGP Peering



Using IGP redistribution of BGP routes, all transit routers in the IGP routing domain install the routes to their routing tables. If the BGP routing database also contains Internet routes, the number of entries that is redistributed into IGP is enormous. Applying route maps that only allow PE host routes to be redistributed at ASBRs can mitigate the IGP routing table explosion. However, when the number of host routes to be filtered increases, the configuration task becomes quite tedious and the routing table size of the transit routers still grows. To solve this problem, PE routers can establish internal BGP (IBGP) sessions with ASBRs within the same autonomous system so that external routes are distributed via IBGP sessions. This confines the external routes within the BGP routing domain, and the transit routers that do not participate in BGP routing never see these external routes.


Figure 9-9 shows an example of inter-AS pseudowire emulation that uses IBGP peering. PE1, PE2, and ASBR1 belong to the same autonomous system. PE1 and PE2 are configured with IBGP peering to ASBR1 to learn host routes for PE3 and PE4. Similarly, PE3 and PE4 are configured with IBGP peering to ASBR2 to learn host routes for PE1 and PE2.




Figure 9-9. Inter-AS Pseudowire Emulation with IBGP Peering


[View full size image]




After the IBGP sessions are established, these host routes are still missing in the routing tables on PE devices. For example, the routing table on PE1 does not have the entry for PE4 (see Example 9-37).


Example 9-37. Host Route for PE4 Not in IP Routing Table on PE1



PE1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 12 subnets, 2 masks
O 10.23.21.0/24 [110/84] via 10.23.12.2, 02:59:03, Ethernet1/0
O 10.1.2.1/32 [110/21] via 10.23.12.2, 02:59:03, Ethernet1/0
O 10.1.1.2/32 [110/31] via 10.23.12.2, 02:59:03, Ethernet1/0
O 10.1.1.3/32 [110/31] via 10.23.12.2, 02:59:03, Ethernet1/0
O 10.23.23.0/24 [110/30] via 10.23.12.2, 02:59:03, Ethernet1/0
O 10.1.2.3/32 [110/21] via 10.23.12.2, 02:59:03, Ethernet1/0
O 10.1.2.2/32 [110/11] via 10.23.12.2, 02:59:03, Ethernet1/0
C 10.1.1.1/32 is directly connected, Loopback0
C 10.23.12.0/24 is directly connected, Ethernet1/0
C 10.23.11.0/24 is directly connected, Serial3/0
O 10.43.11.0/24 [110/30] via 10.23.12.2, 02:59:03, Ethernet1/0
O 10.33.23.0/24 [110/20] via 10.23.12.2, 02:59:03, Ethernet1/0


A closer examination of the BGP routing table on PE1 reveals the problem. The host route entry 172.16.1.2 for PE4 exists in the BGP routing table, but its next-hop address, 172.16.100.2, is inaccessible from PE1 (see Example 9-38).



Example 9-38. Host Route for PE4 in BGP Routing Table on PE1


PE1#show ip bgp 172.16.1.2
BGP routing table entry for 172.16.1.2/32, version 68
Paths: (1 available, no best path)
Not advertised to any peer
200
172.16.100.2 (inaccessible) from 10.1.1.3 (10.1.1.3)
Origin IGP, metric 75, localpref 100, valid, internal


The address 172.16.100.2 is of the interface Ethernet0/0 on ASBR2, which announces the host route 172.16.1.2 with the next-hop address set to 172.16.100.2. When ASBR1 relays this host route to PE1 through IBGP, the next-hop address is kept intact by default. The interface Ethernet0/0 on ASBR1 is directly connected to the interface Ethernet0/0 on ASBR2. Typically, IGP routing is not enabled on these interfaces, which means the interfaces are not reachable from the PE routers through IGP routing. You can fix this problem in several ways. For example, you can enable IGP routing on these interfaces and set them as passive interfaces, or you can configure the ASBRs as the next hop in the IBGP peering. For the sake of simplicity, the ASBRs are configured with the next-hop-self keyword in the BGP neighbor command for the IBGP peers in this case study.


PE1 sees that the host route of PE4 is reachable through ASBR1 in its routing table, and transit routers such as P2 do not have these host routes in their routing table (see Example 9-39).


Example 9-39. Host Route for PE4 in IP Routing Table on PE1, But Not on P2



PE1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR
Gateway of last resort is not set
172.16.0.0/32 is subnetted, 2 subnets
B 172.16.1.1 [200/75] via 10.1.1.3, 00:37:57
B 172.16.1.2 [200/75] via 10.1.1.3, 00:37:57
10.0.0.0/8 is variably subnetted, 12 subnets, 2 masks
O 10.23.21.0/24 [110/84] via 10.23.12.2, 04:25:50, Ethernet1/0
O 10.1.2.1/32 [110/21] via 10.23.12.2, 04:25:50, Ethernet1/0
O 10.1.1.2/32 [110/31] via 10.23.12.2, 04:25:50, Ethernet1/0
O 10.1.1.3/32 [110/31] via 10.23.12.2, 04:25:50, Ethernet1/0
O 10.23.23.0/24 [110/30] via 10.23.12.2, 04:25:50, Ethernet1/0
O 10.1.2.3/32 [110/21] via 10.23.12.2, 04:25:50, Ethernet1/0
O 10.1.2.2/32 [110/11] via 10.23.12.2, 04:25:50, Ethernet1/0
C 10.1.1.1/32 is directly connected, Loopback0
C 10.23.12.0/24 is directly connected, Ethernet1/0
C 10.23.11.0/24 is directly connected, Serial3/0
O 10.43.11.0/24 [110/30] via 10.23.12.2, 04:25:51, Ethernet1/0
O 10.33.23.0/24 [110/20] via 10.23.12.2, 04:25:51, Ethernet1/0
P2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 12 subnets, 2 masks
O 10.23.21.0/24 [110/74] via 10.33.23.1, 12:06:10, Ethernet0/0
O 10.1.2.1/32 [110/11] via 10.33.23.1, 12:06:10, Ethernet0/0
O 10.1.1.2/32 [110/21] via 10.33.23.3, 12:06:10, Ethernet0/0
O 10.1.1.3/32 [110/21] via 10.33.23.1, 12:06:10, Ethernet0/0
O 10.23.23.0/24 [110/20] via 10.33.23.3, 12:06:10, Ethernet0/0
O 10.1.2.3/32 [110/11] via 10.33.23.3, 12:06:10, Ethernet0/0
C 10.1.2.2/32 is directly connected, Loopback0
O 10.1.1.1/32 [110/11] via 10.23.12.1, 12:06:10, Ethernet1/0
C 10.23.12.0/24 is directly connected, Ethernet1/0
O 10.23.11.0/24 [110/74] via 10.33.23.1, 12:06:10, Ethernet0/0
[110/74] via 10.23.12.1, 12:06:10, Ethernet1/0
O 10.43.11.0/24 [110/20] via 10.33.23.1, 12:06:10, Ethernet0/0
C 10.33.23.0/24 is directly connected, Ethernet0/0


In previous case studies, in which host routes of PE routers are exchanged through IGP, having /32 host routes and the corresponding labels is sufficient for establishing pseudowires. In this example, PE1 has a /32 route and the corresponding label to PE4. If the AToM pseudowire is configured and its status is up, it gives the impression that the pseudowire functions fully. Based on the output of the show ip cef and show mpls l2transport vc commands in Example 9-40, the pseudowire with VC ID 100 has a label stack of {27 16}. Label 27 is the tunnel label, and label 16 is the VC label.


Example 9-40. Reachability Information for PE4 and Pseudowire Status for VC ID 100



PE1#show ip cef 172.16.1.2
172.16.1.2/32, version 83, epoch 0, cached adjacency 10.23.12.2
0 packets, 0 bytes
tag information from 10.1.1.3/32, shared, all rewrites owned
local tag: 28
fast tag rewrite with Et1/0, 10.23.12.2, tags imposed {27}
via 10.1.1.3, 0 dependencies, recursive
next hop 10.23.12.2, Ethernet1/0 via 10.1.1.3/32 (Default)
valid cached adjacency
tag rewrite with Et1/0, 10.23.12.2, tags imposed {27}
PE1#show mpls l2transport vc 100 detail
Local interface: Et0/0.1 up, line protocol up, Eth VLAN 100 up
Destination address: 172.16.1.2, VC ID: 100, VC status: up
Preferred path: not configured
Default path: active
Tunnel label: 27, next hop 10.23.12.2
Output interface: Et1/0, imposed label stack {27 16}
Create time: 00:00:35, last status change time: 00:00:30
Signaling protocol: LDP, peer 172.16.1.2:0 up
MPLS VC labels: local 21, remote 16
Group ID: local 0, remote 0
MTU: local 1500, remote 1500
Remote interface description:
Sequencing: receive disabled, send disabled
VC statistics:
packet totals: receive 0, send 6
byte totals: receive 0, send 728
packet drops: receive 0, send 0


When you send packets from CE1 to CE4, CE4 never receives anything even though the counters for packets sent increase on PE1. Apparently, IP connectivity is fine between PE1 and PE4, because the LDP session that is used for pseudowire signaling functions properly. With that in mind, the problem might be related to how the pseudowire packets are forwarded.


Tracking down the pseudowire packet forwarding path from PE1 through the intermediate routers and all the way to ASBR1, use the show mpls forwarding-table command to examine the MPLS label forwarding actions. On Router P2, label 27 gets swapped with label 24, which results in a new label stack {24 16} for the pseudowire packets (see Example 9-41).


Example 9-41. Label Operation for Label 27 on P2 Router



P2#show mpls forwarding-table labels 27
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
27 24 10.1.1.3/32 640453 Et0/0 10.33.23.1


On Router P3, the top label 24 is removed, which leaves the label stack at {16} (see Example 9-42). Note that label 16 is the VC label for the pseudowire packets.


Example 9-42. Label Operation for Label 24 on P3 Router



P3#show mpls forwarding-table labels 24
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
24 Pop tag 10.43.11.0/24 0 Et0/0 10.33.23.1


When labeled pseudowire packets arrive at ASBR1, the last label 16 in the label stack is removed according to the MPLS forwarding table, which leaves the pseudowire packets unlabeled (see Example 9-43).


Example 9-43. Label Operation for Label 16 on ASBR1 Router



ASBR1#show mpls forwarding-table labels 16
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Pop tag 10.33.23.0/24 0 Et1/0 10.43.11.1


Under normal operations, PE routers that are provisioned with pseudowires assign the VC labels. Therefore, they should be the label switching routers that remove the VC labels and process the rest of the pseudowire packets. In other words, intermediate label switching routers should not remove VC labels from the label stack. ASBR1 does not act as a PE router in this case study, so removing VC labels on ASBR1 is a mistake.


The cause of the problem lies in the interaction between the routing process and the label distribution process. In all previous case studies, a router that advertises a given route through a routing protocol also advertises the label that is associated with that route through a label distribution protocol, but that is not the case here. PE1 learns the host route 172.16.1.2 from ASBR1 through IBGP with the next-hop address set to ASBR1, but PE1 does not learn the label that is associated with the host route from ASBR1. You can observe this behavior by using the show ip bgp labels command, as shown in Example 9-44.



Example 9-44. Labels Learned Through BGP on PE1



PE1#show ip bgp labels
Network Next Hop In label/Out label
172.16.1.1/32 10.1.1.3 nolabel/nolabel
172.16.1.2/32 10.1.1.3 nolabel/nolabel


The absence of the label for 172.16.1.2 does not impose a problem for IP packets because IP packets can always be forwarded unlabeled in an MPLS network. This fact explains how PE1 and PE4 can establish a targeted LDP session and exchange VC labels for the pseudowire. On the other hand, PE1 does not have an end-to-end contiguous LSP to reach PE4, which means the MPLS packets cannot reach PE4. The partial LSP is between PE1 and ASBR1 because PE1 does have an LSP to reach the next-hop address 10.1.1.3.


To eliminate the MPLS connectivity problem and create an end-to-end contiguous LSP, ASBR1 needs to send the corresponding label and the host route for 172.16.1.2 to PE1. In other words, besides enabling IPv4 label distribution over the EBGP session between ASBR1 and ASBR2, as described in "Case Study 9-8: BGP IPv4 Label Distribution with IGP Redistribution," the IBGP sessions between PE and ASBR also need to distribute IPv4 labels for the host routes that are being advertised. After adding the send-label keyword to the BGP neighbor command for the IBGP peers on PE and ASBR, PE1 obtains label 32 for the host route 172.16.1.2 from IBGP (see Example 9-45).



Example 9-45. Labels Learned Through BGP on PE1 After Enabling IPv4 Label Distribution in IBGP


PE1#show ip bgp label
Network Next Hop In label/Out label
172.16.1.1/32 10.1.1.3 nolabel/31
172.16.1.2/32 10.1.1.3 nolabel/32


From the show ip cef and show mpls l2transport vc commands, the pseudowire with VC ID 100 now has a label stack of {27 32 16}. Label 16 is still the VC label, but to reach PE4, it requires two labels: Label 27 is the IGP label to reach ASBR1 that has the address 10.1.1.3, and label 32 is the BGP IPv4 label assigned by ASBR1 to reach PE4 that has the address 172.16.1.2 (see Example 9-46).



Example 9-46. Reachability Information for PE4 and Pseudowire Status for VC ID 100 After Fixing the MPLS Connectivity Problem


PE1#show ip cef 172.16.1.2
172.16.1.2/32, version 85, epoch 0, cached adjacency 10.23.12.2
0 packets, 0 bytes
tag information set, all rewrites owned
local tag: BGP route head
fast tag rewrite with Et1/0, 10.23.12.2, tags imposed {27 32}
via 10.1.1.3, 0 dependencies, recursive
next hop 10.23.12.2, Ethernet1/0 via 10.1.1.3/32 (Default)
valid cached adjacency
tag rewrite with Et1/0, 10.23.12.2, tags imposed {27 32}
PE1#show mpls l2transport vc 100 detail
Local interface: Et0/0.1 up, line protocol up, Eth VLAN 100 up
Destination address: 172.16.1.2, VC ID: 100, VC status: up
Preferred path: not configured
Default path: active
Tunnel label: 32, next hop 10.23.12.2
Output interface: Et1/0, imposed label stack {27 32 16}
Create time: 07:38:14, last status change time: 07:38:09
Signaling protocol: LDP, peer 172.16.1.2:0 up
MPLS VC labels: local 21, remote 16
Group ID: local 0, remote 0
MTU: local 1500, remote 1500
Remote interface description:
Sequencing: receive disabled, send disabled
VC statistics:
packet totals: receive 29, send 465
byte totals: receive 8308, send 176142
packet drops: receive 0, send 8


When sending packets from CE1 to CE4 again, they arrive at ASBR1 with a label stack {32 16} this time. The show mpls forwarding-table command on ASBR1 further confirms that pseudowire packets are properly forwarded to ASBR2 through an LSP, as shown in Example 9-47.


Example 9-47. Label Operation for Label 32 on ASBR1 Router



ASBR1#show mpls forwarding-table labels 32
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
32 17 172.16.1.2/32 36750 Et0/0 172.16.100.2


After you complete the configuration on all PEs and ASBRs, you can accomplish the end-to-end inter-AS pseudowire connectivity by using BGP IPv4 label distribution with IBGP peering.


The following configuration gives you some examples of how to configure the PE and ASBR routers to use BGP IPv4 label distribution with IBGP peering to provide inter-AS pseudowire connectivity.


On PE1, configure BGP IPv4 label distribution with IBGP peering and the pseudowire with VC ID 100, as shown in Example 9-48.


Example 9-48. PE1 BGP and Pseudowire Configuration



hostname PE1
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 10.1.1.1 255.255.255.255
!
interface Ethernet0/0
no ip address
!
interface Ethernet0/0.1
encapsulation dot1Q 100
xconnect 172.16.1.2 100 encapsulation mpls
!
interface Ethernet1/0
ip address 10.23.12.1 255.255.255.0
mpls ip
!
interface Serial3/0
ip address 10.23.11.1 255.255.255.0
mpls ip
!
router ospf 1
network 10.1.1.1 0.0.0.0 area 0
network 10.23.11.0 0.0.0.255 area 0
network 10.23.12.0 0.0.0.255 area 0
!
router bgp 100
neighbor 10.1.1.3 remote-as 100
neighbor 10.1.1.3 update-source Loopback0
!
address-family ipv4
neighbor 10.1.1.3 activate
neighbor 10.1.1.3 send-label
no auto-summary
no synchronization
exit-address-family


On PE2, configure BGP IPv4 label distribution with IBGP peering and the pseudowire with VC ID 200, as shown in Example 9-49.



Example 9-49. PE2 BGP and Pseudowire Configuration



hostname PE2
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 10.1.1.2 255.255.255.255
!
interface Ethernet0/0
no ip address
!
interface Ethernet0/0.2
encapsulation dot1Q 200
xconnect 172.16.1.1 200 encapsulation mpls
!
interface Ethernet1/0
ip address 10.23.23.1 255.255.255.0
mpls ip
!
interface Serial3/0
ip address 10.23.21.2 255.255.255.0
mpls ip
!
router ospf 1
network 10.1.1.2 0.0.0.0 area 0
network 10.23.21.0 0.0.0.255 area 0
network 10.23.23.0 0.0.0.255 area 0
!
router bgp 100
neighbor 10.1.1.3 remote-as 100
neighbor 10.1.1.3 update-source Loopback0
!
address-family ipv4
neighbor 10.1.1.3 activate
neighbor 10.1.1.3 send-label
no auto-summary
no synchronization
exit-address-family


On PE3, configure BGP IPv4 label distribution with IBGP peering and the pseudowire with VC ID 200, as shown in Example 9-50.


Example 9-50. PE3 BGP and Pseudowire Configuration



hostname PE3
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 172.16.1.1 255.255.255.255
!
interface Ethernet0/0
no ip address
!
interface Ethernet0/0.2
encapsulation dot1Q 200
xconnect 10.1.1.2 200 encapsulation mpls
!
interface Serial2/0
ip address 172.16.34.1 255.255.255.0
mpls ip
!
router ospf 1
network 172.16.1.1 0.0.0.0 area 0
network 172.16.34.0 0.0.0.255 area 0
!
router bgp 200
neighbor 172.16.1.3 remote-as 200
neighbor 172.16.1.3 update-source Loopback0
!
address-family ipv4
neighbor 172.16.1.3 activate
neighbor 172.16.1.3 send-label
no auto-summary
no synchronization
exit-address-family


On PE4, configure BGP IPv4 label distribution with IBGP peering and the pseudowire with VC ID 100, as shown in Example 9-51.


Example 9-51. PE4 BGP and Pseudowire Configuration



hostname PE4
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 172.16.1.2 255.255.255.255
!
interface Ethernet0/0
no ip address
!
interface Ethernet0/0.1
encapsulation dot1Q 100
xconnect 10.1.1.1 100 encapsulation mpls
!
interface Serial2/0
ip address 172.16.44.1 255.255.255.0
mpls ip
!
router ospf 1
network 172.16.1.2 0.0.0.0 area 0
network 172.16.44.0 0.0.0.255 area 0
!
router bgp 200
neighbor 172.16.1.3 remote-as 200
neighbor 172.16.1.3 update-source Loopback0
!
address-family ipv4
neighbor 172.16.1.3 activate
neighbor 172.16.1.3 send-label
no auto-summary
no synchronization
exit-address-family


On ASBR1, configure BGP IPv4 label distribution with both EBGP and IBGP peers, as shown in Example 9-52.


Example 9-52. ASBR1 BGP Configuration



hostname ASBR1
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 10.1.1.3 255.255.255.255
!
interface Ethernet0/0
description Connect to ASBR2 in AS200
ip address 172.16.100.1 255.255.255.0
!
interface Ethernet1/0
ip address 10.43.11.2 255.255.255.0
mpls ip
!
router ospf 1
network 10.1.1.3 0.0.0.0 area 0
network 10.43.11.0 0.0.0.255 area 0
!
router bgp 100
neighbor 10.1.1.1 remote-as 100
neighbor 10.1.1.1 update-source Loopback0
neighbor 10.1.1.2 remote-as 100
neighbor 10.1.1.2 update-source Loopback0
neighbor 172.16.100.2 remote-as 200
!
address-family ipv4
neighbor 10.1.1.1 activate
neighbor 10.1.1.1 next-hop-self
neighbor 10.1.1.1 send-label
neighbor 10.1.1.2 activate
neighbor 10.1.1.2 next-hop-self
neighbor 10.1.1.2 send-label
neighbor 172.16.100.2 activate
neighbor 172.16.100.2 send-label
no auto-summary
no synchronization
network 10.1.1.1 mask 255.255.255.255
network 10.1.1.2 mask 255.255.255.255
exit-address-family


On ASBR2, configure BGP IPv4 label distribution with both EBGP and IBGP peers, as shown in Example 9-53.


Example 9-53. ASBR2 BGP Configuration


hostname ASBR2
!
ip cef
mpls label protocol ldp
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 172.16.1.3 255.255.255.255
!
interface Ethernet0/0
description Connect to ASBR1 in AS100
ip address 172.16.100.2 255.255.255.0
!
interface Ethernet1/0
ip address 172.16.24.2 255.255.255.0
mpls ip
!
router ospf 1
network 172.16.1.3 0.0.0.0 area 0
network 172.16.24.0 0.0.0.255 area 0
!
router bgp 200
neighbor 172.16.1.1 remote-as 200
neighbor 172.16.1.1 update-source Loopback0
neighbor 172.16.1.2 remote-as 200
neighbor 172.16.1.2 update-source Loopback0
neighbor 172.16.100.1 remote-as 100
!
address-family ipv4
neighbor 172.16.1.1 activate
neighbor 172.16.1.1 next-hop-self
neighbor 172.16.1.1 send-label
neighbor 172.16.1.2 activate
neighbor 172.16.1.2 next-hop-self
neighbor 172.16.1.2 send-label
neighbor 172.16.100.1 activate
neighbor 172.16.100.1 send-label
no auto-summary
no synchronization
network 172.16.1.1 mask 255.255.255.255
network 172.16.1.2 mask 255.255.255.255
exit-address-family


/ 101