Trong cấu trúc của MPLS chia thành 2 mặt phẳng riêng biệt : mặt phằng điều khiển control plane : tại đây các giao thức định tuyến lớp 3 thiết lập các đường đi được sử dụng cho việc chuyể
Trang 1MULTIPROTOCOL LABEL SWITCHING (MPLS)
Tác giả Nguyễn Thị Băng Tâm
Tổng quan về MPLS :
Định tuyến IP truyền thống có nhiều giới hạn , từ vấn đề khả năng mở rộng cho đến việc quản lí lưu lượng và tích hợp các mạng lớp 2 đã tồn tại trong mạng của các nhà cung cấp dịch vụ lớn Nhưng với sự phát triển nhanhchóng của Internet và hầu hết trong các môi trường đều chọn IP là giao thức lớp 3 thì những nhược điểm của IP truyền thống ngày càng bộc lộ rõ MPLS ra đời để liên kết các ưu điểm của định tuyến lớp 3 connectionless và chuyển tiếp lớp 2 connection-oriented
Trong cấu trúc của MPLS chia thành 2 mặt phẳng riêng biệt :
mặt phằng điều khiển (control plane) : tại đây các giao thức định tuyến lớp 3 thiết lập các đường đi được sử dụng cho việc chuyển tiếp gói tin Mặt phẳng điều khiển đáp ứng cho việc tạo ra và duy trì thông tin chuyển tiếp nhãn giữa các router chạy MPLS (còn gọi là binding )
mặt phằng dữ liệu (data plane) : sử dụng cơ sở dữ liệu chuyển tiếp nhãn được duy trì bởi các router chạy MPLS
để thức hiện việc chuyển tiếp các gói tin dựa trên thông tin nhãn
Mỗi MPLS node chạy một hoặc nhiều giao thức định tuyến IP (hoặc có thể sử dụng định tuyến tĩnh ) để trao đổithông tin định tuyến với MPLS node khác trong mạng Mỗi node MPLS (bao gồm cả ATM switch) là một router chạy IP trong mặt phẳng điều khiển
Trong MPLS , bảng định tuyến IP được sử dụng để quyết định việc trao đổi nhãn , tại đó các node MPLS cận kềtrao đổi nhãn với nhau theo tứng subnet riêng biệt có trong bảng định tuyến Việc trao đổi nhãn này đươc thực hiện bằng 2 giao thức là TDP và LDP TDP (tag distribution protocol) là sản phẩm của Cisco , LDP (label distribution protocol) là phiên bản của TDP nhưng do IETF tạo nên
Tiến trình điều khiển định tuyến IP MPLS sử dụng việc trao đổi nhãn với các node MPLS để xây dựng thành bảng chuyển tiếp nhãn (Label Forwarding Table) , bảng này là cơ sở dữ liệu của mặt phẳng dữ liệu được sử dụng để chuyển tiếp các gói tin có gắn nhãn qua mạng MPLS
Các thuật ngữ dùng trong MPLS :
LSR : Label Switching Router : là router hoặc switch thực hiện các thủ tục phân phối nhãn và có thể chuyển tiếp các gói tin dựa trên thông tin nhãn Chức năng cơ bản của thủ tục phân phối nhãn là cho phép một LSR phân phối nhãn của nó đến LSR khác trong mạng MPLS
Edge – LSR là router thực hiện hoặc là gắn nhãn (push) hoặc là gỡ nhãn ra (hành động này gọi là pop ) ở biên của mạng MPLS
Những LSR mà có láng giềng không phải là MPLS node thì được xem như là Edge-LSR Nếu LSR có bất kì interface nào nối qua mạng MPLS đến một ATM –LSR thì nó được gọi là ATM edge-LSR Edge-LSR sử dụngbảng chuyển tiếp IP truyền thống , cộng thêm thông tin nhãn để gắn nhãn đến các gói tin IP hoặc để gỡ bỏ nhãn
từ các gói tin có gắn nhãn trước khi gửi chúng đến các node không chạy MPLS
ATM –LSR : chạy giao thức MPLS trong mặt phẳng điều khiển để thiết lập các kênh ảo ATM , thực hiện chuyển tiếp các gói tin có gắn nhãn như là các tế bào ATM
ATM edge-LSR : là router có thể nhận các gói tin có gắn nhãn hoặc không có gắn nhãn, phân đoạn các gói tin
đó thành các tế bào và chuyển tiếp các tế bào đến ATM-LSR kế tiếp Có thể nhận các tế bào ATM từ các ATM-LSR cận kề, tập hợp các tế bào này thành gói tin ban đầu và chuyển tiếp gói tin đi
LSP : label-switched path : Mỗi gói tin tiến vào mạng MPLS ở ingress LSR và đi ra khỏi mạng MPLS ở egress LSR Cơ chế này tạo ra LSP , là tập hợp các LSR mà các gói tin có gắn nhãn phải đi qua để đi đến đích LSP là
Trang 2đường đi một hướng , có nghĩa là có một LSP khác dành cho việc đi ngược lại của lưu lượng
Mỗi LSR giữ hai bảng mang thông tin có liên quan đến các thành phần chuyển tiếp MPLS Thứ nhất , là Tag Information Base (TIB) là sản phẩm của Cisco ( hay là Label information Base (LIB) là từ ngữ chuẩn của MPLS ) nắm giữ tất cả các nhãn được đăng kí bởi LSR này và ánh xạ các nhãn đó thành các nhãn được nhận bởi các láng giềng Việc ánh xạ nhãn được phân phối thông qua việc sử dụng các giao thức phân bố nhãn Bảng thứ hai là Tag Forwarding Information Base (TFIB – là sản phẩm của Cisco) được sử dụng trong suốt quátrịnh chuyển tiếp gói tin và chỉ giữ các nhãn đang được sử dụng bởi các thành phần chuyển tiếp nhãn trong mạng MPLS
Như vậy , các gói tin từ router khách hàng đi vào mạng của nhà cung cấp dịch vụ là các gói không có nhãn Edge-LSR sẽ áp đặt một nhãn và chuyển tiếp gói tin mới này (gói tin sau khi đã gắn nhãn) đến LSR kế tiếp dọc LSP Mỗi LSR dọc LSP sẽ chuyển mạch gói tin dựa trên thông tin nhãn Router kế tiếp cuối cùng trong đường dẫn sẽ tháo nhãn ra thông qua cơ chế được gọi là puniltimate hop popping , gói tin sau khi được tháo nhãn ra được chuyển tiếp đến router của khách hàng dựa trên bảng định tuyến
Cấu hình :
Mục tiêu : Cấu hình một bài lab về MPLS cơ bản , nêu rõ được quá trình hoạt động gắn nhãn của gói tin khi đi qua một mạng của các nhà cung cấp dịch vụ
Mô hình mạng : Đây là mô hình tổng quát của mạng service provider
Các router CE1 và CE2 là các router của khách hàng , các router PE1 , P1 , P2 , PE2 là các router chạy trong mạng của nhà cung cấp dịch vụ PE1, PE2 là các edge-LSR , P1 và P2 là các LSR Yêu cầu các router chạy MPLS phải sử dụng Cisco IOS Release 12.1 Enterprise plus (các IOS có chữ js) hoặc các phiên bản IOS serviceprovider
Địa chỉ của các interface :
S0 204.138.83.1/24128.107.10.1/30
Trang 3128.107.10.2/30192.168.1.1/32
S0/0Lo0
192.168.1.9/30192.168.1.14/30192.168.1.2/32
E0/0Lo0
192.168.1.13/30192.168.1.18/30192.168.1.3/32
S0/0Lo0
192.168.1.17/30128.107.10.5/30192.168.1.4/32
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname CE1
Trang 6no voice hpi capture buffer
no voice hpi capture destination
Trang 7tag-switching ip
!
interface Serial0/0
ip address 128.107.10.2 255.255.255.252 clockrate 64000
neighbor 192.168.1.4 remote-as 1
neighbor 192.168.1.4 update-source Loopback0
no auto-summary
Trang 10router ospf 1
log-adjacency-changes
network 192.168.1.2 0.0.0.0 area 0 network 192.168.1.8 0.0.0.3 area 0 network 192.168.1.12 0.0.0.3 area 0 network 0.0.0.0 255.255.255.255 area 0
Trang 11tag-switching ip
!
interface Serial0/0
ip address 192.168.1.13 255.255.255.252 tag-switching ip
!
end
Router PE2 :
Trang 12PE2#sh run
!
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
Trang 14Cấu hình chi tiết :
Bước 1 : cấu hình địa chỉ cho các router :
CE1(config)#interface s0
CE1(config-if)#ip address 128.107.10.1 255.255.255.252
Trang 15CE1(config-if)#no shutdown
PE1(config)#interface s0/0
PE1(config-if)#ip address 128.107.10.2 255.255.255.252PE1(config-if)#clock rate 64000
PE1(config-if)#no shutdown
PE1(config-if)#exit
PE1(config)#interface e0/0
PE1(config-if)#ip address 192.168.1.10 255.255.255.252PE1(config-if)#no shutdown
PE1(config)#interface lo0
PE1(config-if)#ip address 192.168.1.1 255.255.255.255
P1(config)#interface s0/0
P1(config-if)#ip address 192.168.1.14 255.255.255.252P1(config-if)#clock rate 64000
P1(config-if)#no shutdown
P1(config-if)#exit
P1(config)#interface f0/0
Trang 16P1(config-if)#ip address 192.168.1.9 255.255.255.252P1(config-if)#clock rate 64000
P2(config-if)#no shutdown
P2(config-if)#exit
P2(config)#interface e0/0
P2(config-if)#ip address 192.168.1.18 255.255.255.252P2(config-if)#clock rate 64000
PE2(config-if)#no shutdown
PE2(config-if)#exit
PE2(config)#interface e0/0
PE2(config-if)#ip address 192.168.1.17 255.255.255.252PE2(config-if)#no shutdown
Trang 18P1(config)#router ospf 1
P1(config-router)# network 192.168.1.2 0.0.0.0 area 0
P1(config-router)# network 192.168.1.8 0.0.0.3 area 0
P1(config-router)# network 192.168.1.12 0.0.0.3 area 0
P1(config-router)# network 0.0.0.0 255.255.255.255 area 0
Bước 3 : Kiểm tra bảng định tuyến :
Tag-switching hay MPLS sẽ không làm việc nếu trong mạng service provider phần định tuyến không chạy
Trang 19CE1#sh ip route
Gateway of last resort is 128.107.10.2 to network 0.0.0.0
C 204.134.83.0/24 is directly connected, Ethernet0
C 128.107.10.0 is directly connected, Serial0/0
192.168.1.0/24 is variably subnetted, 5 subnets, 2 masks
C 192.168.1.8/30 is directly connected, Ethernet0/0
Trang 20Gateway of last resort is not set
128.107.0.0/30 is subnetted, 2 subnets
O 128.107.10.0 [110/74] via 192.168.1.10, 00:01:02, FastEthernet0/0
O 128.107.10.4 [110/138] via 192.168.1.13, 00:01:02, Serial0/0 192.168.1.0/24 is variably subnetted, 7 subnets, 2 masks
C 192.168.1.8/30 is directly connected, FastEthernet0/0
C 192.168.1.12/30 is directly connected, Serial0/0
Trang 21C 128.107.10.4 is directly connected, Serial0/0
192.168.1.0/24 is variably subnetted, 7 subnets, 2 masks
C 192.168.1.4/32 is directly connected, Loopback0
C 192.168.1.16/30 is directly connected, Ethernet0/0
CE2#sh ip route
Gateway of last resort is 128.107.10.5 to network 0.0.0.0
C 209.100.164.0/24 is directly connected, Ethernet0
Trang 22Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort
Sending 5, 100-byte ICMP Echos to 209.100.164.1, timeout is 2 seconds:
Success rate is 0 percent (0/5)
Trang 23Ping không thành công là do các router P1 và P2 không hề biết đến các mạng LAN của 2 router CE1 và CE2
Do đó nếu ta thực hiện ping từ CE1 đến CE2 thì gói tin sẽ bị P1 đánh rớt Để giải quyết vấn đề này , ta sử dụng MPLS trên các router của mạng ISP
Bước 4:
Cấu hình MPLS trên các router Như đã phân tích ở trên , vì các gói từ router CE1 và CE2 không cần phải gắn nhãn nên ta chỉ cấu hình MPLS trên các router của mạng ISP Cấu hình bằng cách sử dụng tag-switching Tag-switching phụ thuộc vào tag distribution protocol (TDP) để trao đổi gói tin giữa các tag switching router (TSR) Chỉ có các router của Cisco mới hiểu tag-switching Để cấu hình tag-switching , Cisco Express Forwarding (CEF) phải được bật lên cũng như tag-switching phải được bật trên các interface tương ứng
NOTE : Ta cũng có thể cấu hình MPLS thay vì cấu hình tag-switching , MPLS ra đời sau tag-switching , hoạt động và có cấu hình tương tự như tag-switching Tuy nhiên MPLS phụ thuộc vào Label Distribution protocol (LDP) để trao đổi nhãn với các láng giềng Khi cấu hình MPLS , các câu lệnh đều giống như tag-
switching nhưng chỉ khác ở chỗ thay vì sử dụng lệnh tag-switching ip ta sử dụng câu lệnh mpls ip.
Trang 24Bước 5: Để kiểm tra xem tag-switching đã được bật lên chưa , sử dụng câu lệnh show tag-switching interfaces
PE1#sh tag-switching interfaces
Interface IP Tunnel Operational
Ethernet0/0 Yes (tdp) No Yes
Trang 25P1#sh tag-switching interfaces
Interface IP Tunnel Operational
Serial0/0 Yes (tdp) No Yes
Ethernet0/0 Yes (tdp) No Yes
P2#sh tag-switching interfaces
Interface IP Tunnel Operational
Serial0/0 Yes (tdp) No Yes
Ethernet0/0 Yes (tdp) No Yes
PE2#sh tag-switching interfaces
Interface IP Tunnel Operational
Ethernet0/0 Yes (tdp) No Yes
Bước 6 : Cách tốt nhất để kiểm tra xem MPLS hoạt động hay chưa ta hãy thực hiện extended ping từ mạng LAN của CE1 đến mạng LAN của CE2
Trang 26Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort
Sending 5, 100-byte ICMP Echos to 209.100.164.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 92/93/96 ms
Ping thành công là nhờ vào quá trình chuyển mạch nhãn giữa các router trong mạng service provider Có thể giải thích quá trình này như sau :
Step 1 : Một host ở mạng 204.134.83.0 muốn gửi dữ liệu đến host ở mạng 209.100.164.0 Host này biết rằng
host đích là ở đầu xa và chuyển frame đến default gateway của nó là CE1
Step 2 : CE1 nhận frame , bỏ qua thông tin lớp 2 , kiểm tra thông tin lớp 3 để xem thử có đường đến mạng đích
209.100.164.0 hay không ? Không có route nào trong bảng định tuyến để đến mạng này (xem bảng định tuyến của CE1) nên nó chuyển gói tin đến router PE1 bằng route tĩnh
Step 3 : Router PE1 nhận gói tin và kiểm tra thông tin lớp 3 , nó biết có một route đến mạng đích mà nó học
được từ PE2 thông qua BGP Địa chỉ next-hop của mạng đầu xa là 192.168.1.4 Router PE1 gán nhãn vào gói tin và chuyển nó đến P1 :
PE1#sh tag-switching forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Untagged 204.134.83.0/24 0 Se0/0 point2point
17 Pop tag 192.168.1.2/32 0 Et0/0 192.168.1.9
18 16 192.168.1.3/32 0 Et0/0 192.168.1.9
Trang 2719 Pop tag 192.168.1.12/30 0 Et0/0 192.168.1.9
Step 4 : Tại router P1 , quan sát bảng định tuyến của P1 ta thấy P1 không có route đến mạng đích Nếu không
có gán nhãn , gói tin sẽ bị rớt tại đây như ta đã kiểm tra Do đó thay vì định tuyến gói tin , nó thực hiện chuyển mạch nhãn
P1#sh tag-switching forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Pop tag 192.168.1.3/32 0 Se0/0 point2point
17 Pop tag 192.168.1.16/30 0 Se0/0 point2point
18 Pop tag 128.107.10.0/30 1140 Fa0/0 192.168.1.10
19 Pop tag 192.168.1.1/32 1801 Fa0/0 192.168.1.10
Trang 28P2#sh tag-switching forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Pop tag 192.168.1.8/30 0 Se0/0 point2point
17 Pop tag 192.168.1.2/32 0 Se0/0 point2point
18 18 128.107.10.0/30 2160 Se0/0 point2point
19 19 192.168.1.1/32 2978 Se0/0 point2point
20 Pop tag 128.107.10.4/30 1140 Et0/0 192.168.1.17
21 Pop tag 192.168.1.4/32 1447 Et0/0 192.168.1.17
Tại router P2 , gói tin với nhãn 21 , P2 cũng không xử lí thông tin lớp 3 , nó thực hiện gỡ bỏ nhãn ra ( hành động này được gọi là pop , đối với tag-switching được gọi là tag pop ) P2 cũng không thực hiện định tuyến ,
nó chỉ đơn giản chuyển các gói tin untagged (các gói tin sau khi đã tháo nhãn) đến router PE2
Step 6 : router PE2 nhận gói tin và kiểm tra thông tin lớp 3 , PE2 biết mạng đích (quan sát bảng định tuyến của
PE2) , địa chỉ next- hop của mạng đích là 128.107.10.6 Router PE2 chuyển gói tin đến CE2
PE2#sh tag-switching forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Untagged 209.100.164.0/24 0 Se0/0 point2point
17 16 192.168.1.8/30 0 Et0/0 192.168.1.18
18 18 128.107.10.0/30 0 Et0/0 192.168.1.18
19 19 192.168.1.1/32 0 Et0/0 192.168.1.18
20 17 192.168.1.2/32 0 Et0/0 192.168.1.18
21 Pop tag 192.168.1.3/32 0 Et0/0 192.168.1.18
22 Pop tag 192.168.1.12/30 0 Et0/0 192.168.1.18