1.3.3.1 Cấu trúc dữ liệu MPLS
Mỗi LSR duy trì ba cấu trúc dữ liệu quan trọng. Thứ nhất là cơ sở dữ liệu thông tin nhãn LIB ( Lable Information Base). LIB lưu chữ tất cả các nhãn đã được quảng bá bởi các LSR khác trong mạng MPLS. LSR cần thiết sự trao đổi ánh xạ của các nhãn đến các FEC của chúng. Điều này được thực hiện nhờ các giao thức phân
phối nhãn khác nhau như LDP (Label Ditribution Protocal), RSVP (Resource
Reservation Protocal) hay MP-BGP (Multiprotocal BGP).
Cấu trúc dữ liệu thứ hai lưu trong bộ nhớ truy cập nhanh được gọi là LFIB (Lable Forwarding Information Base). LFIB được sử dụng trong quá trình xử lý
chuyển tiếp gói tin. Quá trình này tương tự sử dụng cơ sở dữ liệu chuyển tiếp IP trong quá trình định tuyến IP, chỉ khác là nó chứa các thông tin liên quan đến MPLS. LFIB chứa các thông tin như: giá trị nhãn vào, giá trị nhãn ra, Prefix/FEC, giao diện ra nó phải chuyển gói tin đến. LFIB chứa tất cả các thông tin cần thiết để
chuyển gói tin qua LSR.
Cấu trúc dữ liệu thứ ba mà tất cả các MPLS LSR duy trì là bảng định tuyến IP bình thường. Nó được sử dụng để xác định nút mạng tiếp theo cho LFIB. Nội dung của bảng định tuyến IP là kết quả của việc trao đổi thông tin về các tuyến
đường có thể trong mạng thông qua một số giao thức định tuyến và các thông tin này được tính toán theo một số thuật toán định tuyến. Kết quả tính toán được từ các thuật toán định tuyến là thông tin được lưu trong bảng định tuyến.
Thông tin trong LFIB là kết quả kiểm tra bảng định tuyến IP và nội dung của LIB để xác định địa chỉ IP đích nào được ánh xạđến nhãn MPLS.
Sau khi các IGP (như là RIP, … OSPF hoặc IS-IS) hoàn thành việc trao đổi thông tin về các tuyến đường khả dụng giữa tất cả các nút mạng. Chúng sẽ chạy trên tuyến đường ngắn nhất được tính toán ra nhờ các thông tin có được. Khi quá trình này hoàn tất các giao thức định tuyến được gọi là hội tụ. Tại những điểm này bảng
định tuyến sẽ phản ánh Topology lớp 3 hiện thời của mạng, như là những tuyến
đường ngắn nhất đi đến nút mạng mong muốn. Bảng định tuyến lưu giữ thông tin về
Prefix đích, Metric tương ứng với đích này, địa chỉ nút tiếp theo và giao diện mà gói tin phải được gửi ra để đến được nút tiếp theo. Ví dụ LSR 1 có một lối vào trong bảng định tuyến của nó cho mạng B, nơi LSR2 lập một danh sách nút tiếp theo để đến mạng B. Đi từ LSR1 đến mạng B có Metric là 10. Chúng ta thấy tồn tại trong bảng định tuyến một tuyến đường khác đến mạng B thông qua LSR3. Tuyến đường này có Metric là 20 lớn hơn tuyến đường đi qua LSR2. Giả sử chúng ta không sử
dụng các kỹ thuật chia tải (Load balancing) Metric khác nhau thì LSR1 sẽ luôn chọn LSR2 là nút tiếp theo tối ưu đểđến mạng B.
Sau khi quá trình định tuyến hội tụ, LDP sẽ xây dựng các phiên giữa các LDP láng giềng hay LDP Peer đó là những kết nối trực tiếp đến LSR.
FEC là một tập con các gói căn cứ theo một số thông tin trong header IP
được dùng bởi FIB. Một FEC được dùng thường dựa theo luật “longest prefix match” trên địa chỉ IP đích. Ví dụ: các địa chỉ IP so trùng 16 bit đầu có dạng “a.b.*.*” (trong đó * đại diện cho giá trị hợp lệ bất kỳ) được biểu diễn là “a.b/16” cho entry FEC đầu tiên trong bảng FIB. FEC còn có thể căn cứ bổ sung theo các trường khác trong header IP như ToS hay Diffserv. FIB sử dụng FEC để xác định ra giao tiếp đi đến hop kế cho các gói IP, cách thực hiện giống như các router cổđiển.
Hình 1-20: Bên trong mặt phẳng chuyển tiếp MPLS
Xét hoạt động của LFIB ở hình 1-20. Phần ILM (incoming label map) của LFIB thao tác trên một gói có nhãn và ánh xạ một nhãn vào (incoming label) tới một tập các entry NHLFE. ILM được thể hiện trong hình bởi các cột IN-IF và IN- LBL, nhưng cũng có thể là một bảng riêng rẽ cho một giao tiếp. FTN (FEC-to- NHLFE) của FIB ánh xạ một FEC tới một tập hợp gồm một hoặc nhiều NHLFE. Như ví dụ trong hình, nhãn A được gắn (push) lên các gói IP thuộc FEC “d.e/16”. Lưu ý là ILM hoặc FTN có thể ánh xạ tới nhiều NHLFE, chẳng hạn để dùng trong cân bằng tải.
Một tối ưu hóa quan trọng mà MPLS hỗ trợ là tránh việc tra cứu nhãn (label lookup) phải xử lý ở egress-LER trong trường hợp một gói đi trên một LSP mà yêu cầu tra cứu IP (IP lookup) tiếp ngay sau đó. Ở trong hình 1-20, một gói đến có nhãn A được gỡ nhãn (pop) và chuyển sang FIB để tra cứu tiếp trên header IP. Để tránh việc xử lý phát sinh thêm này, MPLS định nghĩa một tiến trình gọi là gỡ nhãn ở hop áp cuối PHP (penultimate hop popping), trong đó router áp cuối trên LSP sẽ gỡ
nhãn thay vì egress-LER phải làm việc đó. Nhờ vậy cắt giảm được việc xử lý ở
router cuối cùng trên LSP.
1.3.3.4 Một ví dụ hoạt động chuyển tiếp gói
Hình 1-21: Ví dụ về hoạt động chuyển tiếp gói
Trong ví dụ này thể hiện đường đi và các hoạt động chuyển tiếp được thực hiện ở mỗi nút cho 2 LSP là LSP-1 và LSP-2. LSP-1 bắt đầu từ LER E1, tại đó có một gói IP đến với địa chỉ đích là “a.b.c.d”. LER E1 kiểm tra bảng FIB của nó và xác định rằng gói này thuộc về FEC “a.b.c/24”, nó gắn nhãn A lên gói và xuất ra trên giao tiếp số 2. Tiếp theo, LSR S1 thấy có gói gắn nhãn A đến trên giao tiếp số
1, LFIB của nó chỉ thị rằng gói sẽ xuất ra trên giao tiếp số 4 và nhãn sẽ được thay thế bằng nhãn D. Gói có nhãn đi ra trên giao tiếp số 4 trên LSR S1 nối đến giao tiếp số 1 trên LSR S4.
Vì LSR S4 là hop áp cuối của LSP-1 nên thao tác được chỉ thị trong LFIB của nó là gỡ nhãn (pop) và gởi gói đi ra trên giao tiếp số 4. Cuối cùng, ở đích là LER E4, entry FIB thao tác trên FEC “a.b.c/24” và chuyển phát gói đến hop kế trên giao tiếp ra số 3.
Đối với ví dụ ở LSP-2, các entry trong FIB và LFIB cũng được thể hiện tương tự nhưđã trình bày đối với LSP-1.