本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案將介紹Inter-As第3層mpls vpn選項B功能的設定和驗證。IOS和IOS-XR平台用於說明和驗證。文中提供一個範例網路情境及其組態和輸出,以便更好瞭解。
雖然沒有此類要求,但是對MPLS(多協定標籤交換)的基本瞭解和IOS-XR平台的工作知識無疑會有所幫助。
本檔案所述內容不限於特定軟體和硬體版本。本檔案中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
MPLS在全球範圍內廣泛部署在ISP(網際網路服務提供商)中。其中一項服務是MPLS第3層VPN(虛擬專用網路)。MPLS第3層VPN主要將客戶的路由邊界從一個地理位置延伸到另一個地理位置,ISP主要用作中轉。在一個地理位置和另一個地理位置上與ISP對等,然後在CE(客戶邊緣)裝置上從PE(提供商邊緣/ISP)裝置接收客戶特定路由。
現在,如果客戶需要擴展路由邊界,則應針對兩個不同ISP所在的兩個不同地理位置。然後,兩個ISP需要協調,以便將MPLS第3層VPN提供給最終客戶。這種解決方案稱為Inter-As第3層MPLS VPN。
Inter-As MPLS第3層VPN可以以4種不同方式部署,稱為選項A、選項B、選項C和選項D。
本文檔將介紹使用選項B的實施。
Inter-As Option B交換的拓撲如下所示。
編址方案非常簡單。每台路由器都有描述為192.168.255.X的loopback1介面,其中X=1在路由器1存在問題時。介面地址屬於192.168.XY.X型別。假設考慮使用R1和R2,路由器R1下的介面配置為192.168.12.1(此處X =1,Y = 2)。
CE — 客戶邊緣
PE — 提供商邊緣
RR — 路由反射器
ASBR — 自治系統邊界路由器
在本文檔中,術語CE表示客戶邊緣裝置,如果必須針對特定裝置做出特定參考,則將其稱為CE1。這也適用於PE、RR和ASBR。
所有裝置都運行IOS,而ASBR2/R11和PE2/R12運行IOS-XR。
兩個ISP分別使用AS(自治系統)65000和AS 65001進行引用。使用AS 65000的ISP位於拓撲的左側,使用AS 65001的ISP位於拓撲的右側,使用ISP B進行引用。
裝置的配置如下所述。
CE1
interface Loopback1
ip address 192.168.255.1 255.255.255.255
!
interface FastEthernet0/0
ip address 192.168.12.1 255.255.255.0
!
router eigrp 1
network 0.0.0.0
PE1
vrf definition A
rd 192.168.255.2:65000
!
address-family ipv4
route-target export 99:99
route-target import 99:99
exit-address-family
!
interface Loopback1
ip address 192.168.255.2 255.255.255.255
ip ospf 1 area 0
!
interface FastEthernet0/0
vrf forwarding A
ip address 192.168.12.2 255.255.255.0
!
interface FastEthernet1/0
ip address 192.168.24.2 255.255.255.0
ip ospf 1 area 0
mpls ip
!
router eigrp 65000
!
address-family ipv4 vrf A autonomous-system 1
redistribute bgp 65000 metric 1500 10 255 1 1500
network 192.168.12.2 0.0.0.0
exit-address-family
!
router ospf 1
!
router bgp 65000
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 192.168.255.3 remote-as 65000
neighbor 192.168.255.3 update-source Loopback1
!
address-family ipv4
exit-address-family
!
address-family vpnv4
neighbor 192.168.255.3 activate
neighbor 192.168.255.3 send-community both
exit-address-family
!
address-family ipv4 vrf A
redistribute eigrp 1
exit-address-family
!
P1
interface Loopback1
ip address 192.168.255.4 255.255.255.255
ip ospf 1 area 0
!
interface FastEthernet0/0
ip address 192.168.24.4 255.255.255.0
ip ospf 1 area 0
duplex half
mpls ip
!
interface FastEthernet1/0
ip address 192.168.34.4 255.255.255.0
ip ospf 1 area 0
mpls ip
!
interface FastEthernet1/1
ip address 192.168.45.4 255.255.255.0
ip ospf 1 area 0
mpls ip
!
router ospf 1
!
RR1
interface Loopback1
ip address 192.168.255.3 255.255.255.255
ip ospf 1 area 0
!
interface FastEthernet0/0
ip address 192.168.34.3 255.255.255.0
ip ospf 1 area 0
mpls ip
!
router ospf 1
!
router bgp 65000
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 192.168.255.2 remote-as 65000
neighbor 192.168.255.2 update-source Loopback1
neighbor 192.168.255.5 remote-as 65000
neighbor 192.168.255.5 update-source Loopback1
!
address-family ipv4
exit-address-family
!
address-family vpnv4
neighbor 192.168.255.2 activate
neighbor 192.168.255.2 send-community both
neighbor 192.168.255.2 route-reflector-client
neighbor 192.168.255.5 activate
neighbor 192.168.255.5 send-community both
neighbor 192.168.255.5 route-reflector-client
exit-address-family
!
ASBR1
interface Loopback1
ip address 192.168.255.5 255.255.255.255
ip ospf 1 area 0
!
interface FastEthernet0/0
ip address 192.168.45.5 255.255.255.0
ip ospf 1 area 0
mpls ip
!
interface FastEthernet1/0
ip address 192.168.115.5 255.255.255.0
mpls bgp forwarding
!
router ospf 1
!
router bgp 65000
bgp log-neighbor-changes
no bgp default ipv4-unicast
no bgp default route-target filter
neighbor 192.168.115.11 remote-as 65001
neighbor 192.168.255.3 remote-as 65000
neighbor 192.168.255.3 update-source Loopback1
!
address-family ipv4
exit-address-family
!
address-family vpnv4
neighbor 192.168.115.11 activate
neighbor 192.168.115.11 send-community both
neighbor 192.168.255.3 activate
neighbor 192.168.255.3 send-community both
neighbor 192.168.255.3 next-hop-self
exit-address-family
!
ASBR2
interface Loopback1
ipv4 address 192.168.255.11 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 192.168.115.11 255.255.255.0
!
interface GigabitEthernet0/0/0/1
ipv4 address 192.168.116.11 255.255.255.0
!
route-policy DEFAULT
pass
end-policy
!
router static
address-family ipv4 unicast
192.168.115.5/32 GigabitEthernet0/0/0/0
!
router ospf 1
area 0
interface Loopback1
!
interface GigabitEthernet0/0/0/1
!
router bgp 65001
address-family vpnv4 unicast
retain route-target all
!
neighbor 192.168.115.5
remote-as 65000
address-family vpnv4 unicast
route-policy DEFAULT in
route-policy DEFAULT out
!
neighbor 192.168.255.7
remote-as 65001
update-source Loopback1
address-family vpnv4 unicast
next-hop-self
!
mpls ldp
address-family ipv4
!
interface GigabitEthernet0/0/0/1
!
P2
interface Loopback1
ip address 192.168.255.6 255.255.255.255
ip ospf 1 area 0
!
interface FastEthernet0/0
ip address 192.168.116.6 255.255.255.0
ip ospf 1 area 0
mpls ip
!
interface FastEthernet1/0
ip address 192.168.67.6 255.255.255.0
ip ospf 1 area 0
mpls ip
!
interface FastEthernet1/1
ip address 192.168.126.6 255.255.255.0
ip ospf 1 area 0
mpls ip
!
router ospf 1
!
RR2
interface Loopback1
ip address 192.168.255.7 255.255.255.255
ip ospf 1 area 0
!
interface FastEthernet0/0
ip address 192.168.67.7 255.255.255.0
ip ospf 1 area 0
mpls ip
!
router ospf 1
!
router bgp 65001
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 192.168.255.11 remote-as 65001
neighbor 192.168.255.11 update-source Loopback1
neighbor 192.168.255.12 remote-as 65001
neighbor 192.168.255.12 update-source Loopback1
!
address-family ipv4
exit-address-family
!
address-family vpnv4
neighbor 192.168.255.11 activate
neighbor 192.168.255.11 send-community both
neighbor 192.168.255.11 route-reflector-client
neighbor 192.168.255.12 activate
neighbor 192.168.255.12 send-community both
neighbor 192.168.255.12 route-reflector-client
exit-address-family
!
PE2
vrf A
address-family ipv4 unicast
import route-target
99:99
!
export route-target
99:99
!
interface Loopback1
ipv4 address 192.168.255.12 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 192.168.126.12 255.255.255.0
!
interface GigabitEthernet0/0/0/1
vrf A
ipv4 address 192.168.128.12 255.255.255.0
!
router ospf 1
address-family ipv4
area 0
interface Loopback1
!
interface GigabitEthernet0/0/0/0
!
router bgp 65001
address-family vpnv4 unicast
!
neighbor 192.168.255.7
remote-as 65001
update-source Loopback1
address-family vpnv4 unicast
!
vrf A
rd 192.168.255.12:65001
address-family ipv4 unicast
redistribute eigrp 1
!
mpls ldp
address-family ipv4
!
interface GigabitEthernet0/0/0/0
!
router eigrp 65001
vrf A
address-family ipv4
autonomous-system 1
redistribute bgp 65001
interface GigabitEthernet0/0/0/1
!
CE2
interface Loopback1
ip address 192.168.255.8 255.255.255.255
!
interface FastEthernet1/0
ip address 192.168.128.8 255.255.255.0
!
router eigrp 1
network 0.0.0.0
!
說明
將loopback1介面用作源從CE1 ping CE2的輸出如下所示。
R1#ping 192.168.255.8 source lo1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.255.8, timeout is 2 seconds:
Packet sent with a source address of 192.168.255.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 104/300/420 ms
將loopback1介面用作源從CE2 ping CE1的輸出如下所示。
R8#ping 192.168.255.1 source lo1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.255.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.255.8
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 168/303/664 ms
R1#show ip route 192.168.255.8
Routing entry for 192.168.255.8/32
Known via "eigrp 1", distance 90, metric 156416, type internal
R2#show bgp vpnv4 unicast all labels
Network Next Hop In label/Out label
Route Distinguisher: 192.168.255.2:65000 (A)
192.168.12.0 0.0.0.0 22/nolabel(A)
192.168.128.0 192.168.255.5 nolabel/26
192.168.255.1/32 192.168.12.1 23/nolabel
192.168.255.8/32 192.168.255.5 nolabel/27
R2#show mpls forwarding-table 192.168.255.5 255.255.255.255
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
21 21 192.168.255.5/32 0 Fa1/0 192.168.24.4
R2#show mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
23 No Label 192.168.255.1/32[V] \
5928 Fa0/0 192.168.12.1
R3#show bgp vpnv4 unicast all labels
Network Next Hop In label/Out label
Route Distinguisher: 192.168.255.2:65000
192.168.12.0 192.168.255.2 nolabel/22
192.168.255.1/32 192.168.255.2 nolabel/23
Route Distinguisher: 192.168.255.12:65001
192.168.128.0 192.168.255.5 nolabel/26
192.168.255.8/32 192.168.255.5 nolabel/27
R5#show bgp vpnv4 unicast all labels
Network Next Hop In label/Out label
Route Distinguisher: 192.168.255.2:65000
192.168.12.0 192.168.255.2 24/22
192.168.255.1/32 192.168.255.2 25/23
Route Distinguisher: 192.168.255.12:65001
192.168.128.0 192.168.115.11 26/24008
192.168.255.8/32 192.168.115.11 27/24009
R5#show mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched Interface
21 19 192.168.255.2/32 0 Fa0/0 192.168.45.4
27 24009 192.168.255.12:65001:192.168.255.8/32 \
26 Fa1/0 192.168.115.11
RP/0/0/CPU0:ios#show bgp vpnv4 unicast labels
Network Next Hop Rcvd Label Local Label
Route Distinguisher:192.168.255.2:65000
*> 192.168.12.0/24 192.168.115.5 24 24006
*> 192.168.255.1/32 192.168.115.5 25 24007
Route Distinguisher: 192.168.255.12:65001
*>i192.168.128.0/24 192.168.255.12 24000 24008
*>i192.168.255.8/32 192.168.255.12 24001 24009
RP/0/0/CPU0:ios#show mpls forwarding
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
24004 19 192.168.255.12/32 Gi0/0/0/1 192.168.116.6 2082
RP/0/0/CPU0:ios#show mpls forwarding
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
24007 25 2.255.168.192:65000:192.168.255.1/32 \
Gi0/0/0/0 192.168.115.5 10146
RP/0/0/CPU0:ios#show mpls forwarding
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
24001 Unlabelled 192.168.255.8/32[V] \
Gi0/0/0/1 192.168.128.8 5364
24003 20 192.168.255.11/32
Gi0/0/0/0 192.168.126.6 5712
RP/0/0/CPU0:ios#show bgp vpnv4 unicast labels
Network Next Hop Rcvd Label Local Label
Route Distinguisher: 192.168.255.12:65001 (default for vrf A)
*>i192.168.12.0/24 192.168.255.11 24006 nolabel
*> 192.168.128.0/24 0.0.0.0 nolabel 24000
*>i192.168.255.1/32 192.168.255.11 24007 nolabel
*> 192.168.255.8/32 192.168.128.8 nolabel 24001
從CE1到CE2的Traceroute。
R1#traceroute 192.168.255.8 source lo1
Type escape sequence to abort.
Tracing the route to 192.168.255.8
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.12.2 8 msec 16 msec 20 msec
2 192.168.24.4 [MPLS: Labels 21/27 Exp 0] 516 msec 504 msec 212 msec
3 192.168.45.5 [MPLS: Label 27 Exp 0] 280 msec 640 msec 280 msec
---- LSP 1 ----
4 192.168.115.11 [MPLS: Label 24009 Exp 0] 544 msec 548 msec 264 msec
---- LSP 2 ----
5 192.168.116.6 [MPLS: Labels 19/24001 Exp 0] 748 msec 444 msec 472 msec
6 192.168.126.12 [MPLS: Label 24001 Exp 0] 204 msec 316 msec 780 msec
---- LSP 3 ----
7 192.168.128.8 296 msec 892 msec 496 msec
從CE2到CE1的Traceroute。
R8#traceroute 192.168.255.1 source lo1
Type escape sequence to abort.
Tracing the route to 192.168.255.1
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.128.12 172 msec 164 msec 56 msec
2 192.168.126.6 [MPLS: Labels 20/24007 Exp 0] 472 msec 452 msec 368 msec
3 192.168.116.11 [MPLS: Label 24007 Exp 0] 692 msec 780 msec 772 msec
---- LSP 1 ----
4 192.168.115.5 [MPLS: Label 25 Exp 0] 484 msec 720 msec 232 msec
---- LSP 2 ----
5 192.168.45.4 [MPLS: Labels 19/23 Exp 0] 376 msec 448 msec 336 msec
6 192.168.12.2 [MPLS: Label 23 Exp 0] 168 msec 208 msec 432 msec
---- LSP 3 ----
7 192.168.12.1 464 msec 468 msec 776 msec
目前尚無適用於此組態的具體疑難排解資訊。