1. MPLS TE over MPLS VPN
Khi 2 đường hầm tồn tại giữa cặp router biên PE và BGP kế tiếp của vpnv4 phải chỉ ra đường hầm TE nào và luồng dữ liệu VRF đi qua đường hầm đó. Giói tin sẽ có 2 nhãn:
• Nhãn trên cùng là nhãn TE
• Nhãn dưới cùng là nhãn VPN.
Nếu TE được bật trên tất cả router nhà cung cấp dịch vụ trong LDP không bật thì tất cả lưu lượng VRF sẽ phải đi qua đường hầm TE. LDP không được dùng cho đường hầm TE trong trường hợp các router biên PE là router đầu nhánh và cuối nhánh của đường hầm TE. Còn trong trường hợp khác thì LDP phải được bật trên đường hầm TE. Nếu luồng dữ liệu chỉ có nhãn VPN thì sẽ không bao giờ đến được router biên PE.
Định tuyến VRF vào đường hầm TE : Trong trường hợp có nhiều bảng VRF và nhiều đường hầm TE, ta có thể dẫn VRF khách hàng một vào đường hầm TE 1 trong khi đó VRF khách hàng 2 vào đường hầm TE 2. Việc này là cần thiết khi muốn giảm thiểu độ trể của luồng dữ liệu bằng cách dẫn VRF vào đường kết nối có độ trễ thấp hơn.
2. Thực hiện cấu hình MPLS TE over VPN
Yêu cầu:
- Thực hiện MPLS cho khách hàng A và khách hàng B
- Khách hàng A đi theo đường Tunnel 10: “R3-R4-R5-R7”
- Khách hàng B đi theo đường Tunnel 20: “R3-R6-R7”
Bước 1: đặt ip cho khách hàng và router nhà cung cấp dịch vụ như hình vẽ và đặt default gateway về hướng router PE nhà cung cấp dịch vụ
Bước 2: Chạy giao thức định tuyến nội OSPF giữa các router PE và P của nhà cung cấp dịch vụ
Bước 3: Bật MPLS-TE các cổng chạy MPLS-TE trên router R3, R4, R5, R6, R7
Bước 4: Tạo bảng VRF A cho khách hàng A và VRF B cho khách hàng B trên 2 router PE (R3, R7)
Bước 5: gán các cổng tương ứng vào bảng vrfA và vrfB
Bước 6: cấu hình để OSPF mang thông tin MPLS-TE trên các router nhà cung cấp dịch vụ (R3, R4, R5, R6, R7)
Bước 7: cấu hình BGP cho 2 router PE nhà cung cấp dịch vụ
Bước 8: Tạo đường đi tĩnh cho MPLS-TE cho 2 router biên PE (R3, R7)
Bước 9: Tạo đường hầm MPLS-TE cho 2 router biên R3, R7
Bước 10: Khách hàng A đi theo đường Tunnel 10: “R3-R4-R5-R7”. Khách hàng B đi theo đường Tunnel 20: “R3-R6-R7”
Bước 11: Kiểm tra: Bảng định tuyến của khách hàng A và B tại router R3
Kiểm tra đường hầm MPLS-TE: tunnel 10 và tunnel 20 trên R3
Ping kiểm tra:
Khi 2 đường hầm tồn tại giữa cặp router biên PE và BGP kế tiếp của vpnv4 phải chỉ ra đường hầm TE nào và luồng dữ liệu VRF đi qua đường hầm đó. Giói tin sẽ có 2 nhãn:
• Nhãn trên cùng là nhãn TE
• Nhãn dưới cùng là nhãn VPN.
Nếu TE được bật trên tất cả router nhà cung cấp dịch vụ trong LDP không bật thì tất cả lưu lượng VRF sẽ phải đi qua đường hầm TE. LDP không được dùng cho đường hầm TE trong trường hợp các router biên PE là router đầu nhánh và cuối nhánh của đường hầm TE. Còn trong trường hợp khác thì LDP phải được bật trên đường hầm TE. Nếu luồng dữ liệu chỉ có nhãn VPN thì sẽ không bao giờ đến được router biên PE.
Định tuyến VRF vào đường hầm TE : Trong trường hợp có nhiều bảng VRF và nhiều đường hầm TE, ta có thể dẫn VRF khách hàng một vào đường hầm TE 1 trong khi đó VRF khách hàng 2 vào đường hầm TE 2. Việc này là cần thiết khi muốn giảm thiểu độ trể của luồng dữ liệu bằng cách dẫn VRF vào đường kết nối có độ trễ thấp hơn.
2. Thực hiện cấu hình MPLS TE over VPN
Yêu cầu:
- Thực hiện MPLS cho khách hàng A và khách hàng B
- Khách hàng A đi theo đường Tunnel 10: “R3-R4-R5-R7”
- Khách hàng B đi theo đường Tunnel 20: “R3-R6-R7”
Bước 1: đặt ip cho khách hàng và router nhà cung cấp dịch vụ như hình vẽ và đặt default gateway về hướng router PE nhà cung cấp dịch vụ
Code:
R(config)#ip route 0.0.0.0 0.0.0.0 f0/0
Code:
R3(config)#router ospf 10 R3(config-router)#router-id 3.3.3.3 R3(config-router)#network 3.3.3.3 0.0.0.0 area 0 R3(config-router)# network 15.1.1.0 0.0.0.3 area 0 R3(config-router)# network 15.3.1.0 0.0.0.3 area 0
Code:
R4(config)# router ospf 10 R4(config-router)#router-id 4.4.4.4 R4(config-router)# network 4.4.4.4 0.0.0.0 area 0 R4(config-router)# network 15.1.1.0 0.0.0.3 area 0 R4(config-router)# network 15.2.1.0 0.0.0.3 area 0
Code:
R5(config)# router ospf 10 R5(config-router)#router-id 5.5.5.5 R5(config-router)#network 5.5.5.5 0.0.0.0 area 0 R5(config-router)# network 15.2.1.0 0.0.0.3 area 0 R5(config-router)# network 15.5.1.0 0.0.0.3 area 0
Code:
R6(config)# router ospf 10 R6(config-router)#router-id 6.6.6.6 R6(config-router)#network 6.6.6.6 0.0.0.0 area 0 R6(config-router)# network 15.3.1.0 0.0.0.3 area 0 R6(config-router)# network 15.4.1.0 0.0.0.3 area 0
Code:
R7(config)#router ospf 10 R7(config-router)# router-id 7.7.7.7 R7(config-router)#network 7.7.7.7 0.0.0.0 area 0 R7(config-router)# network 15.4.1.0 0.0.0.3 area 0 R7(config-router)# network 15.5.1.0 0.0.0.3 area 0
Code:
R(config)#mpls traffic-eng tunnels R(conf ig-if)#mpls ip R(conf ig-if)#mpls traffic-eng tunnels
Code:
R(config)#ip vrf A R(config-vrf)#rd 65:1 R(config-vrf)# route-target export 65:1 R(config-vrf)# route-target import 65:1 R(config)#ip vrf B R(config-vrf)#rd 65:2 R(config-vrf)#route-target export 65:2 R(config-vrf)#route-target import 65:2
Code:
R3(config)#int f0/0 R3(config-if)#ip vrf forwarding A R3(config-if)#ip add 10.250.10.2 255.255.255.252 R3(config)#int f0/1 R3(config-if)#ip vrf forwarding B R3(config-if)#ip add 10.250.20.2 255.255.255.252
Code:
R7(config)#int f0/0 R7(config-if)#ip vrf forwarding A R7(config-if)#ip add 10.250.80.2 255.255.255.252 R7(config)#int f0/1 R7(config-if)#ip vrf forwarding B R7(config-if)#ip add 10.250.90.2 255.255.255.252
Code:
R(config)#router ospf 10 R(config-router)# mpls traffic-eng router-id Loopback10 R(config-router)# mpls traffic-eng area 0
Code:
R3(config)#router bgp 65000 R3(config-router)#neighbor 7.7.7.7 remote-as 65000 R3(config-router)#neighbor 7.7.7.7 update-source Loopback10 R3(config-router)#address-family vpnv4 R3(config-router-af)#neighbor 7.7.7.7 activate R3(config-router-af)#exit-address-family R3(config-router)# address-family ipv5 vrf A R3(config-router-af)#redistribute connected R3(config-router-af)#exit-address-family R3(config-router)# address-family ipv5 vrf B R3(config-router-af)#redistribute connected
Code:
R7(config)#router bgp 65000 R7(config-router)#neighbor 3.3.3.3 remote-as 65000 R7(config-router)#neighbor 3.3.3.3 update-source Loopback10 R7(config-router)#address-family vpnv4 R7(config-router-af)#neighbor 3.3.3.3 activate R7(config-router-af)#exit-address-family R7(config-router)# address-family ipv4 vrf A R7(config-router-af)#redistribute connected R7(config-router-af)#exit-address-family R7(config-router)# address-family ipv4 vrf B R7(config-router-af)#redistribute connected
Code:
R3(config)#ip explicit-path name R3-R4-R5-R7 enable R3(cfg-ip-expl-path)# next-address 15.1.1.2 R3(cfg-ip-expl-path)# next-address 15.2.1.2 R3(cfg-ip-expl-path)# next-address 15.5.1.2 R3(cfg-ip-expl-path)# next-address 7.7.7.7
Code:
R7(config)#ip explicit-path name R7-R5-R4-R3 enable R7(cfg-ip-expl-path)#next-address 15.5.1.1 R7(cfg-ip-expl-path)#next-address 15.2.1.1 R7(cfg-ip-expl-path)#next-address 15.1.1.1 R7(cfg-ip-expl-path)#next-address 3.3.3.3
Code:
R3(config)#interface Tunnel10 R3(config-if)#ip unnumbered Loopback10 R3(config-if)#tunnel destination 7.7.7.7 R3(config-if)#tunnel mode mpls traffic-eng R3(config-if)#tunnel mpls traffic-eng autoroute announce R3(config-if)#tunnel mpls traffic-eng path-option 1 dynamic R3(config)#interface Tunnel20 R3(config-if)#ip unnumbered Loopback10 R3(config-if)#tunnel destination 7.7.7.7 R3(config-if)#tunnel mode mpls traffic-eng R3(config-if)#tunnel mpls traffic-eng autoroute announce R3(config-if)#tunnel mpls traffic-eng path-option 1 explicit name R3-R4-R5-R7
Code:
R7(config)#interface Tunnel10 R7(config-if)#ip unnumbered Loopback10 R7(config-if)#tunnel destination 3.3.3.3 R7(config-if)#tunnel mode mpls traffic-eng R7(config-if)#tunnel mpls traffic-eng autoroute announce R7(config-if)#tunnel mpls traffic-eng path-option 1 dynamic R7(config)#interface Tunnel20 R7(config-if)#ip unnumbered Loopback10 R7(config-if)#tunnel destination 3.3.3.3 R7(config-if)#tunnel mode mpls traffic-eng R7(config-if)#tunnel mpls traffic-eng autoroute announce R7(config-if)#tunnel mpls traffic-eng path-option 1 explicit name R7-R5-R4-R3
Code:
R3(config)#ip route vrf A 0.0.0.0 0.0.0.0 Tunnel10 R3(config)#ip route vrf B 0.0.0.0 0.0.0.0 Tunnel20
Code:
[I][B]R3#sh ip route vrf A[/B][/I] B 10.250.80.0 [200/0] via 7.7.7.7, 01:29:36 C 10.250.10.0 is directly connected, FastEthernet0/0 S* 0.0.0.0/0 is directly connected, Tunnel10
Code:
[B][I]R3#sh ip route vrf B[/I][/B] B 10.250.90.0 [200/0] via 7.7.7.7, 01:29:44 C 10.250.20.0 is directly connected, FastEthernet0/1 S* 0.0.0.0/0 is directly connected, Tunnel20
Code:
[B]R3#sh mpls traffic-eng tunnels tunnel 10[/B] Name: R3_t10 (Tunnel10) Destination: 7.7.7.7 Status: Admin: up Oper: up Path: valid Signalling: connected path option 1, type dynamic (Basis for Setup, path weight 1626) Config Parameters: Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) AutoRoute: enabled LockDown: disabled Loadshare: 0 bw-based auto-bw: disabled InLabel : – OutLabel : Serial0/1, 20 RSVP Signalling Info: Src 3.3.3.3, Dst 7.7.7.7, Tun_Id 10, Tun_Instance 98 RSVP Path Info: My Address: 3.3.3.3 Explicit Route: 15.3.1.2 15.4.1.2 7.7.7.7 Record Route: NONE Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits RSVP Resv Info: Record Route: NONE Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits Shortest Unconstrained Path Info: Path Weight: 1626 (TE) Explicit Route: 15.3.1.2 15.4.1.2 7.7.7.7 History: Tunnel: Time since created: 2 hours, 30 minutes Time since path change: 1 hours, 44 minutes Current LSP: Uptime: 1 hours, 44 minutes
Code:
[B]R3#sh mpls traffic-eng tunnels tunnel 20 [/B] Name: R3_t20 (Tunnel20) Destination: 7.7.7.7 Status: Admin: up Oper: up Path: valid Signalling: connected path option 1, type explicit R3-R4-R5-R7 (Basis for Setup, path weight 1690) Config Parameters: Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF Metric Type: TE (default) AutoRoute: enabled LockDown: disabled Loadshare: 0 bw-based auto-bw: disabled InLabel : – OutLabel : Serial0/0, 26 RSVP Signalling Info: Src 3.3.3.3, Dst 7.7.7.7, Tun_Id 20, Tun_Instance 96 RSVP Path Info: My Address: 3.3.3.3 Explicit Route: 15.1.1.2 15.2.1.2 15.5.1.2 7.7.7.7 Record Route: NONE Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits RSVP Resv Info: Record Route: NONE Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits Shortest Unconstrained Path Info: Path Weight: 1626 (TE) Explicit Route: 15.3.1.2 15.4.1.2 7.7.7.7 History: Tunnel: Time since created: 2 hours, 35 minutes Time since path change: 1 hours, 41 minutes Current LSP: Uptime: 1 hours, 41 minutes
Code:
R1#ping 10.250.80.1
Code:
Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.250.80.1, timeout is 2 seconds:!!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 64/127/168 ms
Code:
[B]R2#ping 10.250.90.1[/B] Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.250.90.1, timeout is 2 seconds:!!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 92/127/172 ms
Lê Sơn Hà – VnPro