Mô tả
Mục tiêu của bài lab này là minh họa cấu hình EIGRP PE-CE, việc quảng bá tuyến EIGRP khi các PE thuộc vào cùng EIGRP AS và khác EIGRP AS với một VRF. Hình sau cho thấy một MPLS VPN cung cấp các dịch vụ MPLS VPN cho các site của Customer A và Customer B.
Mạng của Customer B – Customer B có CE1-B và CE2-B trong cùng VPN-B và thuộc hai EIGRP AS khác nhau, 201 và 202. PE1-AS1 và PE2-AS1 cấu hình hai EIGRP AS, 201 và 202, cho VRF CustomerB.
Thực hiện
Các bước cấu hình định tuyến EIGRP PE-CE như sau:
Cho phép tiến trình định tuyến EIGRP toàn cục (global EIGRP routing process) trên các router PE, PE1-AS1 và PE2-AS1.
Thực hiện cấu hình cho hai bước (1) và (2):
PE1-AS1(config)#router eigrp 1
PE1-AS1(config-router)#address-family ipv4 vrf CustomerB
PE1-AS1(config-router-af)#network 172.16.0.0
PE1-AS1(config-router-af)#no auto-summary
PE1-AS1(config-router-af)#autonomous-system 201
PE1-AS1(config-router-af)#exit-address-family
PE2-AS1(config)#router eigrp 1
PE2-AS1(config-router)#address-family ipv4 vrf CustomerB
PE2-AS1(config-router-af)#network 172.16.0.0
PE2-AS1(config-router-af)#no auto-summary
PE2-AS1(config-router-af)#autonomous-system 202
PE2-AS1(config-router-af)#exit-address-family
Thực hiện tương tự cho CustomerA.
PE1-AS1(config)#router eigrp 1
PE1-AS1(config-router)#address-family ipv4 vrf Cust_A
PE1-AS1(config-router-af)#redistribute bgp 1 metric 1000 100 255 1 1500
PE1-AS1(config)#router bgp 1
PE1-AS1(config-router)#address-family ipv4 vrf Cust_A
PE1-AS1(config-router-af)#redistribute eigrp 101
PE2-AS1(config)#router bgp 1
PE2-AS1(config-router)#address-family ipv4 vrf Cust_A
PE2-AS1(config-router-af)#redistribute eigrp 101
Thực hiện tương tự để hoàn thành cấu hình cho VRF CustomerA và CustomerB trên các router PE.
Cấu hình
Router P1-AS1
hostname P1-AS1
!
ip subnet-zero
!
ip cef
mpls ldp logging neighbor-changes
!
interface Loopback0
ip address 10.10.10.200 255.255.255.255
!
interface Serial0/0
description Connected to PE1-AS1
ip address 10.10.10.2 255.255.255.252
tag-switching ip
!
interface Serial0/1
description Connected to PE2-AS1
ip address 10.10.10.6 255.255.255.252
tag-switching ip
!
router ospf 1
log-adjacency-changes
network 10.0.0.0 0.255.255.255 area 0
!
ip http server
ip classless
!
end
Router PE1-AS1
hostname PE1-AS1
!
ip subnet-zero
!
ip vrf CustomerA
rd 1:100
route-target export 1:100
route-target import 1:100
!
ip vrf CustomerB
rd 1:200
route-target export 1:200
route-target import 1:200
!
ip cef
mpls ldp logging neighbor-changes
!
interface Loopback0
ip address 10.10.10.101 255.255.255.255
!
interface Serial0/0
description Connected to P1-AS1
ip address 10.10.10.1 255.255.255.252
tag-switching ip
clockrate 64000
no fair-queue
!
interface Serial1/1
description Connected to CE1-A
ip vrf forwarding CustomerA
ip address 172.16.1.1 255.255.255.252
clockrate 64000
!
interface Serial1/3
description Connected to CE1-B
ip vrf forwarding CustomerB
ip address 192.168.1.1 255.255.255.252
tag-switching ip
!
router eigrp 1
auto-summary
!
address-family ipv4 vrf CustomerB
redistribute bgp 1 metric 1000 100 255 1 1500
network 192.168.1.0
no auto-summary
autonomous-system 201
exit-address-family
!
address-family ipv4 vrf CustomerA
redistribute bgp 1 metric 1000 100 255 1 1500
network 172.16.0.0
no auto-summary
autonomous-system 101
exit-address-family
!
router ospf 1
router-id 10.10.10.101
log-adjacency-changes
network 10.0.0.0 0.255.255.255 area 0
!
router bgp 1
no synchronization
bgp log-neighbor-changes
neighbor 10.10.10.102 remote-as 1
neighbor 10.10.10.102 update-source Loopback0
no auto-summary
!
address-family vpnv4
neighbor 10.10.10.102 activate
neighbor 10.10.10.102 send-community extended
no auto-summary
exit-address-family
!
address-family ipv4 vrf CustomerB
redistribute eigrp 201
no auto-summary
no synchronization
exit-address-family
!
address-family ipv4 vrf CustomerA
redistribute eigrp 101
no auto-summary
no synchronization
exit-address-family
!
ip http server
ip classless
!
end
Router PE2-AS1
hostname PE2-AS1
!
ip subnet-zero
!
ip vrf CustomerA
rd 1:100
route-target export 1:100
route-target import 1:100
!
ip vrf CustomerB
rd 1:200
route-target export 1:200
route-target import 1:200
!
ip cef
mpls ldp logging neighbor-changes
!
interface Loopback0
ip address 10.10.10.102 255.255.255.255
!
interface Ethernet0/0
no ip address
shutdown
half-duplex
!
interface Serial0/0
no ip address
shutdown
no fair-queue
!
interface Serial0/1
description Connected to P1-AS1
ip address 10.10.10.5 255.255.255.252
tag-switching ip
clockrate 64000
!
interface Serial1/2
description Connected to CE2-A
ip vrf forwarding CustomerA
ip address 172.16.2.1 255.255.255.252
!
interface Serial1/4
description Connected to CE2-B
ip vrf forwarding CustomerB
ip address 192.168.2.1 255.255.255.252
clockrate 64000
!
router eigrp 1
auto-summary
!
address-family ipv4 vrf CustomerB
redistribute bgp 1 metric 1000 100 255 1 1500
network 192.168.2.0
no auto-summary
autonomous-system 202
exit-address-family
!
address-family ipv4 vrf CustomerA
redistribute bgp 1 metric 1000 100 255 1 1500
network 172.16.0.0
no auto-summary
autonomous-system 101
exit-address-family
!
router ospf 1
router-id 10.10.10.102
log-adjacency-changes
network 10.0.0.0 0.255.255.255 area 0
!
router bgp 1
no synchronization
bgp log-neighbor-changes
neighbor 10.10.10.101 remote-as 1
neighbor 10.10.10.101 update-source Loopback0
no auto-summary
!
address-family vpnv4
neighbor 10.10.10.101 activate
neighbor 10.10.10.101 send-community extended
no auto-summary
exit-address-family
!
address-family ipv4 vrf CustomerB
redistribute eigrp 202
no auto-summary
no synchronization
exit-address-family
!
address-family ipv4 vrf CustomerA
redistribute eigrp 101
no auto-summary
no synchronization
exit-address-family
!
ip http server
ip classless
!
end
Router CE1-A
hostname CE1-A
!
ip subnet-zero
!
interface Ethernet0/0
description VPN-A Site 1 network
ip address 172.16.10.1 255.255.255.0
half-duplex
no keepalive
!
interface Serial0/0
description Connected to PE1-AS1
ip address 172.16.1.2 255.255.255.252
no fair-queue
!
router eigrp 101
network 172.16.0.0
no auto-summary
!
ip http server
ip classless
!
end
Router CE2-A
hostname CE2-A
!
interface Ethernet0/0
description VPN-A Site 2 network
ip address 172.16.20.1 255.255.255.0
no ip directed-broadcast
no keepalive
!
interface Serial0/0
description Connected to PE2-AS1
ip address 172.16.2.2 255.255.255.252
no ip directed-broadcast
no ip mroute-cache
no fair-queue
clockrate 64000
!
router eigrp 101
network 172.16.0.0
no auto-summary
!
ip classless
!
end
Router CE1-B
hostname CE1-B
!
ip subnet-zero
!
interface Ethernet0/0
description VPN-B Site 1 network
ip address 192.168.10.1 255.255.255.0
no ip directed-broadcast
no keepalive
!
interface Serial0/0
description Connected to PE1-AS1
ip address 192.168.1.2 255.255.255.252
no ip directed-broadcast
no ip mroute-cache
no fair-queue
clockrate 64000
!
router eigrp 201
network 192.168.1.0
network 192.168.10.0
no auto-summary
!
ip classless
!
end
Router CE2-B
hostname CE2-B
!
ip subnet-zero
!
interface Ethernet0/0
description VPN-B Site 2 network
ip address 192.168.20.1 255.255.255.0
no ip directed-broadcast
no keepalive
!
interface Serial0/0
description Connected to PE2-AS1
ip address 192.168.2.2 255.255.255.252
no ip directed-broadcast
no ip mroute-cache
no fair-queue
!
router eigrp 202
network 192.168.2.0
network 192.168.20.0
no auto-summary
!
ip classless
!
end
Kiểm tra
Các bước kiểm tra định tuyến EIGRP PE-CE như sau:
PE1-AS1#show ip eigrp vrf CustomerA neighbors
IP-EIGRP neighbors for process 201
H Address Interface Hold Uptime SRTT RTO Q Seq Type
(sec) (ms) Cnt Num
0 192.168.1.2 Se1/3 12 05:27:05 214 1284 0 2
PE2-AS1#show ip eigrp vrf CustomerA neighbors
IP-EIGRP neighbors for process 202
H Address Interface Hold Uptime SRTT RTO Q Seq Type
(sec) (ms) Cnt Num
0 192.168.2.2 Se1/4 11 05:19:21 903 5000 0 2
PE2-AS1#show ip bgp vpnv4 vrf CustomerB 192.168.20.1
BGP routing table entry for 1:200:192.168.20.0/24, version 9
Paths: (1 available, best #1, table CustomerB)
Advertised to non peer-group peers:
10.10.10.101
Local
192.168.2.2 from 0.0.0.0 (10.10.10.102)
Origin incomplete, metric 20537600, localpref 100, weight 32768, valid, sourced, best
Extended Community: RT:1:200 0x8800:32768:0 0x8801:202:537600 0x8802:62209:20000000 0x8803:62209:1500
PE1-AS1#show ip bgp vpnv4 vrf CustomerB 192.168.20.1
BGP routing table entry for 1:200:192.168.20.0/24, version 17
Paths: (1 available, best #1, table CustomerB)
Not advertised to any peer
Local
10.10.10.102 (metric 129) from 10.10.10.102 (10.10.10.102)
Origin incomplete, metric 20537600, localpref 100, valid, internal, best
Extended Community: RT:1:200 0x8800:32768:0 0x8801:202:537600 0x8802:62209:20000000 0x8803:62209:1500
Ta thấy EIGRP metric không đổi (metric 20537600) khi đi qua MP-BGP domain.
PE2-AS1#show ip route vrf CustomerA eigrp
172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks
D 172.16.20.0/24 [90/20537600] via 172.16.2.2, 05:18:44, Serial1/2
PE2-AS1#show ip bgp vpnv4 vrf CustomerA 172.16.20.1
BGP routing table entry for 1:100:172.16.20.0/24, version 7
Paths: (1 available, best #1, table CustomerA)
Advertised to non peer-group peers:
10.10.10.101
Local
172.16.2.2 from 0.0.0.0 (10.10.10.102)
Origin incomplete, metric 20537600, localpref 100, weight 32768, valid, sourced, best
Extended Community: RT:1:100 0x8800:32768:0 0x8801:101:537600 0x8802:62209:20000000 0x8803:62209:1500
PE1-AS1#show ip bgp vpnv4 vrf CustomerA 172.16.20.1
BGP routing table entry for 1:100:172.16.10.0/24, version 7
Paths: (1 available, best #1, table CustomerA)
Advertised to non peer-group peers:
10.10.10.102
Local
172.16.2.2 from 0.0.0.0 (10.10.10.101)
Origin incomplete, metric 20537600, localpref 100, weight 32768, valid, sourced, best
Extended Community: RT:1:100 0x8800:32768:0 0x8801:101:537600 0x8802:62209:20000000 0x8803:62209:1500
CE1-A#show ip route eigrp
172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks
D 172.16.20.0/24 [90/21049600] via 172.16.1.1, 04:40:11, Serial0/0
D 172.16.2.0/30 [90/21024000] via 172.16.1.1, 04:40:11, Serial0/0
CE1-B#show ip route eigrp
D EX 192.168.20.0/24 [170/3097600] via 192.168.1.1, 04:38:14, Serial0/0
192.168.2.0/30 is subnetted, 1 subnets
D EX 192.168.2.0 [170/3097600] via 192.168.1.1, 04:38:14, Serial0/0
CE1-A#ping 172.16.20.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.20.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 116/116/117 ms
CE1-B#ping 192.168.20.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.20.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 116/116/117 ms
Vòng lặp tuyến (Routing loop)
Routing loop có thể xảy ra trong các trường hợp sau:
Multihomed Site gửi lại các tuyến cho Backbone
Hình sau mô tả một mạng MPLS VPN cho Customer A có 3 site, Site 1, Site 2 và Site 3. Site 3 là multihomed. Site 3 nhận được tuyến EIGRP 172.16.20.0/24 và redistribute lại vào backbone tại PE1-AS1.
Thứ tự thực hiện khi tuyến EIGRP được gửi lại vào backbone như sau:
PE1-AS1 phải ra quyết định chọn đường đi:
Hơn nữa, bảng định tuyến sẽ chọn đường có chỉ số AD (administrative distance) thấp hơn (EIGRP là 90 hoặc 170; iBGP là 200).
Backbone gửi lại tuyến vào Multihomed Site
Trường hợp truyến 172.16.50.0/24 xuất phát từ multihomed site được gửi ngược lại qua kết nối với PE.
Tình trạng này không xảy ra nếu mạng giữ nguyên AD mặc định vì PE ưu tiên cho các tuyến học từ EIGRP hơn.
Đếm ra vô cực (Count to Infinity)
Hình trên cho thấy PE1-AS1 và/hoặc PE2-AS1 có hai đường đi cho 172.16.50.0/24: một học từ MP-iBGP và một học trực tiếp bằng EIGRP. Nếu 172.16.50.0/24 gặp sự cố (down), trình tự xử lý xảy ra như sau:
Hiện tượng này được gọi là “count to infinity”.
Định tuyến kém tối ưu (Suboptimal Routing)
Hiện tượng này xảy ra do AD của EIGRP tốt hơn của iBGP. Một bảng định tuyến luôn luôn ưu tiên cho các tuyến học được từ IGP vì có AD nhỏ hơn iBGP. Hình bên dưới cho thấy các gói dữ liệu từ CE1-A tới CE2-A sẽ được chuyển tiếp bởi PE1-AS1 tới cho CE3-A tạo nên định tuyến kém tối ưu.
Lặp tuyến và định tuyến kém tối ưu có thể tránh được bằng cách sử dụng:
BGP Cost Community
BGP cost community (BGP CC) là một thuộc tính community mở rộng mới của BGP. BGP CC là một thuộc tính non-transitive extended community, nó chỉ qua iBGP và các confederation peer nhưng không đến được external BGP peer.
BGP CC cho phép PE so sánh các tuyến đến từ các giao thức khác nhau sử dụng giá trị AD khác nhau dựa trên metric của chúng. Các tuyến BGP mang thuộc tính BGP cost community sẽ dùng EIGRP AD thay vì iBGP AD để so sánh mà không cần cấu hình tĩnh giá trị AD.
Các tuyến được redistribute từ EIGRP vào MP-BGP, chúng sẽ được đánh dấu (tag) với thuộc tính BGP cost community để mang composite EIGRP metric thêm vào các thuộc tính EIGRP riêng. Thuộc tính BGP CC được mô tả trong hình sau:
Giá trị Điểm chèn (POI – point of insertion) để chắc rằng tuyến BGP được chọn sử dụng BGP CC. Điều này cho phép so sánh các tuyến iBGP với các tuyến EIGRP. BGP CC có thể phân biệt giữa các tuyến EIGRP internal và external bằng trường ID: internal có ID là 128, external có ID là 129. Tuyến có BGP CC ID nhỏ nhất sẽ được chọn. Tuyến internal EIGRP có ID thấp hơn tuyến external. Sự lựa chọn tuyến thường dựa trên giá trị trong trường Cost của BGP CC vì nó mang composite EIGRP metric.
Trình tự xảy ra với PE1-AS1 để chọn đường đi tốt nhất dựa trên EIGRP metric và không dựa trên AD giữa EIGRP và iBGP (hình trên):
EIGRP SoO
EIGRP SoO được thêm vào để gắn với các các tuyến internal và external EIGRP. Thuộc tính này được trao đổi tự động giữa các giao thức định tuyến (SoO-cho phép EIGRP và MP-BGP) để chống lặp tuyến trong môi trường multihome nơi có sử dụng redistribute hai chiều. Tất cả các router CE, hay ít nhất tại các multihomed site, phải hỗ trợ đặc tính này để cho phép quảng bá qua VPN. EIGRP SoO được dùng trên PE và CE để chống lặp tuyến hiệu quả nhất. Các tuyến backdoor được cấu hình với EIGRP SoO để hội tụ nhanh nhất cho việc mất tuyến.
Multihomed Site và EIGRP SoO
Các tuyến được đẩy vào một multihomed site và bị tag với một giá trị EIGRP SoO 1:101. Router PE nhận được sẽ kiểm tra mọi cập nhật giá trị SoO được cấu hình trên giao tiếp nhận cập nhật đó. Nếu giá trị bằng nhau, cập nhật đó sẽ bị hủy, giúp chống lặp tuyến và tối ưu việc định tuyến.
Trình tự xảy ra khi 172.16.20.0/24 được quảng bá tới CE1-A:
Backdoor Link và EIGRP SoO
Tiến trình chọn tuyến như sau: