1. Nhãn (Label)
Nhãn là một thực thể có độ dài ngắn và cố định không có cấu trúc bên trong. Nhãn không trực tiếp mã hoá thông tin của mào đầu lớp mạng như địa chỉ mạng. Nhãn là giá trị có chiều dài cố định dùng để nhận diện một FEC nào đó. Sự kết hợp giữa FEC và nhãn được gọi là ánh xạ nhãn - FEC.
Thường thì một gói tin được ấn định một FEC (hoàn toàn hoặc một phần) dựa trên địa chỉ đích lớp mạng của nó. Tuy nhiên nhãn không phải là mã hoá của địa chỉ đó. MPLS được thiết kế để sử dụng ở bất kì môi trường và hình thức đóng gói lớp 2 nào.
Hầu hết các hình thức đóng gói lớp 2 là dựa trên frame, và MPLS chỉ đơn giản thêm vào nhãn 32 bit giữa mào đầu lớp 2 và lớp 3, gọi là shim header. Phương thức đóng gói này gọi là Frame-mode MPLS.
ATM là một trường hợp đặc biệt sử dụng cell có chiều dài cố định. Do đó nhãn không thể được thêm vào trong mỗi cell. MPLS sử dụng các giá trị VPI/VCI trong mào đầu ATM để làm nhãn. Phương thức đóng gói này được gọi là Cell-mode MPLS. Trong khi đó FrameRelay sử dụng DLCI làm nhãn.
Đối với các dạng gói tin không có cấu trúc nhãn, thì một khung 4 bytes được chèn vào như trong hình vẽ:
• Label: là nhãn thực sự, có chiều dài là 20 bit. Do đó ta có thể tạo ra được 220 - 1 hay 1.048.575 giá trị nhãn khác nhau.
• Exp: trường Experimental có 3 bit, được dùng để định nghĩa lớp dịch vụ.
• S: bit S là bit bottom-of-stack (dưới cùng của chồng nhãn). Một gói tin có thể có nhiều nhãn, nếu nhãn thêm vào chồng nhãn là cuối cùng thì bit này được thiết lập lên 1.
• TTL: trường Time to live có 8 bit, trường này mang ý nghĩa giống như bên IP. Tức là nó sẽ giảm đi 1 khi qua mỗi hop để ngăn chặn routing loop. Đối với các khung PPP hay Ethernet giá trị nhận dạng giao thức P-Id (hoặt Ethetype) được chèn vào đầu khung tương ứng để thông báo khung là MPLS unicast hay multicast
2. Ngăn xếp nhãn (Label Stack)
Nhãn của gói tin đi ra gói là nhãn ngõ ra, tương tự cho nhãn của gói tin đi vào gói là nhãn ngõ vào. Một gói tin có thể có cả nhãn ngõ ra và ngõ vào, có thể có nhãn ngõ vào mà không có nhãn ngõ ra hoặc là ngược lại.
Thường thường, một gói tin có thể có nhiều nhãn được gọi là chồng nhãn (lable stack). Các nhãn trong chồng nhãn được tổ chức theo kiểu chồng nhãn LIFO (last-in, first-out).
Một gói tin không có gắn nhãn được xem là có chiều sâu chồng nhãn bằng 0. Chiều sâu d của chồng nhãn tương ứng với trình từ của nhãn trong chồng nhãn <1,2,3....,d-1,d> với nhãn 1 ở đáy chồng nhãn và nhãn d ở đỉnh của chồng nhãn.
Ở nhãn cuối cùng của ngăn xếp, giá trị Bos được thiết lập là 1, còn những nhãn còn lại được thiết lập là 0
Một số ứng dụng MPLS thực tế cần nhiều hơn 1 nhãn trong ngăn xếp nhãn đã chuyển gói tin, ví dụ như MPLS VPN và AtoM đẩy 2 nhãn vào trong ngăn xếp nhãn.
3. MPLS và mô hình tham chiếu OSI
Lớp 2, tầng liên kết dữ liệu, quan tâm đến việc định dạng của các frame. Ví dụ của tầng liên kết dữ liệu là: Ethernet, PPP, HDLC, va Frame Relay. Điểm quan trọng của tầng liên kết dữ liệu là chỉ có một liên kết giữa hai máy tính, nhưng không vượt quá. Điều này có nghĩa là tiêu đề tầng liên kết dữ liệu luôn luôn được thay đổi bởi máy tính ở đầu kia của liên kết.
Lớp 3, tầng mạng, liên quan đến định dạng của gói tin từ điểm cuối đến điểm cuối. Nó có ý nghĩa vượt ra ngoài liên kết dữ liệu. Ví dụ được biết nhiều nhất của một giao thức hoạt động ở lớp là IP.
Trường hợp nào MPLS phù hợp? MPLS không đơn thuần là một giao thức thuộc lớp 2 bởi vì sự đóng gói ở lớp 2 vẫn còn hiện diện cùng với các gói tin đã được dán nhãn, nó được thiết kế để hoạt động tương thích các yêu cầu của nhiều công nghệ mạng liên kết dữ liệu khác nhau. MPLS cũng không thực sự là một giao thức lớp 3 bởi vì nó không có khả năng tự định tuyến hoặc có sơ đồ địa chỉ (điều kiện buộc phải có ở lớp 3).
Đối với môi trường ứng dụng IP, MPLS sử dụng cách đánh địa chỉ và các giao thức định tuyến hiện có với sự điều chỉnh và bổ sung. Do đó, MPLS không phù hợp trong mô hình phân lớp OSI quá tốt. Có lẽ việc dễ nhất để làm là xem MPLS như là một công nghệ lớp 2,5 và được làm việc với nó. Mô hình này chỉ ra rằng MPLS không phải là lớp mới mà nó là một phần ảo của mặt bằng điều khiển dưới lớp mạng và trên lớp liên kết dữ liệu.
Giao thức MPLS hoạt động dựa trên sự kết hợp giữa chuyển mạch lớp 2 và định tuyến lớp 3 để chuyển tiếp gói tin bằng cách sử dụng các nhãn có chiều dài cố định.
4. Cấu trúc một nút MPLS
Một nút của MPLS có hai mặt phẳng là mặt phẳng chuyển tiếp MPLS và mặt phẳng điều khiển MPLS. Các thành phần của hai mặt phẳng này minh họa rõ trong hình (Hình 1 1).
Cụ thể ý nghĩa từng thành phần được mô tả tiếp như sau:
+ Cơ sở thông tin nhãn LIB (Label Information Base): Được xem là cơ sở dữ liệu cho tất cả các giao thức phân phối nhãn.
+ Bảng định tuyến IP RIB : Được xem là cơ sở dữ liệu cho tất cả các giao thức phân phối IP.
+ Kỹ thuật chuyển mạch nhãn Cisco Express Forwarding (CEF): Là nền tảng cho MPLS và hoạt động trên các bộ định tuyến của Cisco.
CEF tránh việc viết lại cache trong môi trường lõi IP bằng cách sử dụng một cơ sở thông tin chuyển tiếp FIB để quyết định chuyển mạch. Nó phản ánh toàn bộ nội dung của bảng định tuyến IP, ánh xạ 1-1 giữa FIB và bảng định tuyến. Khi bộ định tuyến sử dụng CEF, nó duy trì tối thiểu 1 FIB, chứa một ánh xạ các mạng đích trong bảng định tuyến với các trạm kế tiếp tương ứng.
+ FIB (Forwarding information based): Sẽ ánh xạ từ một gói tin IP không nhãn thành gói tin MPLS có nhãn ở ngõ vào của router biên hoặc từ gói tin IP không nhãn thành gói tin IP không nhãn ở ngõ ra của router biên, bảng này được hình thành từ bảng routing table, từ giao thức phân phối nhãn LDP và từ bảng tra LFIB.
+ LFIB (Label Forwarding Information Base): Là bảng chứa đựng thông tin các nhãn đến các mạng đích, một gói tin có nhãn khi đi vào một router nó sẽ sử dụng bảng tra LFIB để tìm ra hop kế tiếp, ngõ ra của gói tin này có thể là gói tin có nhãn cũng có thể là gói tin không nhãn. Hai bảng tra FIB và LFIB có giá trị như bảng routing table trong mạng IP, nhưng trong mạng IP thì bảng routing table có số entry rất lớn khoảng vài ngàn, còn với FIB và LFIB số nhãn mà nó nắm giữa rất ít khoảng vài chục là tối đa.
Nhãn là một thực thể có độ dài ngắn và cố định không có cấu trúc bên trong. Nhãn không trực tiếp mã hoá thông tin của mào đầu lớp mạng như địa chỉ mạng. Nhãn là giá trị có chiều dài cố định dùng để nhận diện một FEC nào đó. Sự kết hợp giữa FEC và nhãn được gọi là ánh xạ nhãn - FEC.
Thường thì một gói tin được ấn định một FEC (hoàn toàn hoặc một phần) dựa trên địa chỉ đích lớp mạng của nó. Tuy nhiên nhãn không phải là mã hoá của địa chỉ đó. MPLS được thiết kế để sử dụng ở bất kì môi trường và hình thức đóng gói lớp 2 nào.
Hầu hết các hình thức đóng gói lớp 2 là dựa trên frame, và MPLS chỉ đơn giản thêm vào nhãn 32 bit giữa mào đầu lớp 2 và lớp 3, gọi là shim header. Phương thức đóng gói này gọi là Frame-mode MPLS.
ATM là một trường hợp đặc biệt sử dụng cell có chiều dài cố định. Do đó nhãn không thể được thêm vào trong mỗi cell. MPLS sử dụng các giá trị VPI/VCI trong mào đầu ATM để làm nhãn. Phương thức đóng gói này được gọi là Cell-mode MPLS. Trong khi đó FrameRelay sử dụng DLCI làm nhãn.
Đối với các dạng gói tin không có cấu trúc nhãn, thì một khung 4 bytes được chèn vào như trong hình vẽ:
• Label: là nhãn thực sự, có chiều dài là 20 bit. Do đó ta có thể tạo ra được 220 - 1 hay 1.048.575 giá trị nhãn khác nhau.
• Exp: trường Experimental có 3 bit, được dùng để định nghĩa lớp dịch vụ.
• S: bit S là bit bottom-of-stack (dưới cùng của chồng nhãn). Một gói tin có thể có nhiều nhãn, nếu nhãn thêm vào chồng nhãn là cuối cùng thì bit này được thiết lập lên 1.
• TTL: trường Time to live có 8 bit, trường này mang ý nghĩa giống như bên IP. Tức là nó sẽ giảm đi 1 khi qua mỗi hop để ngăn chặn routing loop. Đối với các khung PPP hay Ethernet giá trị nhận dạng giao thức P-Id (hoặt Ethetype) được chèn vào đầu khung tương ứng để thông báo khung là MPLS unicast hay multicast
2. Ngăn xếp nhãn (Label Stack)
Nhãn của gói tin đi ra gói là nhãn ngõ ra, tương tự cho nhãn của gói tin đi vào gói là nhãn ngõ vào. Một gói tin có thể có cả nhãn ngõ ra và ngõ vào, có thể có nhãn ngõ vào mà không có nhãn ngõ ra hoặc là ngược lại.
Thường thường, một gói tin có thể có nhiều nhãn được gọi là chồng nhãn (lable stack). Các nhãn trong chồng nhãn được tổ chức theo kiểu chồng nhãn LIFO (last-in, first-out).
Một gói tin không có gắn nhãn được xem là có chiều sâu chồng nhãn bằng 0. Chiều sâu d của chồng nhãn tương ứng với trình từ của nhãn trong chồng nhãn <1,2,3....,d-1,d> với nhãn 1 ở đáy chồng nhãn và nhãn d ở đỉnh của chồng nhãn.
Ở nhãn cuối cùng của ngăn xếp, giá trị Bos được thiết lập là 1, còn những nhãn còn lại được thiết lập là 0
Một số ứng dụng MPLS thực tế cần nhiều hơn 1 nhãn trong ngăn xếp nhãn đã chuyển gói tin, ví dụ như MPLS VPN và AtoM đẩy 2 nhãn vào trong ngăn xếp nhãn.
3. MPLS và mô hình tham chiếu OSI
Lớp 2, tầng liên kết dữ liệu, quan tâm đến việc định dạng của các frame. Ví dụ của tầng liên kết dữ liệu là: Ethernet, PPP, HDLC, va Frame Relay. Điểm quan trọng của tầng liên kết dữ liệu là chỉ có một liên kết giữa hai máy tính, nhưng không vượt quá. Điều này có nghĩa là tiêu đề tầng liên kết dữ liệu luôn luôn được thay đổi bởi máy tính ở đầu kia của liên kết.
Lớp 3, tầng mạng, liên quan đến định dạng của gói tin từ điểm cuối đến điểm cuối. Nó có ý nghĩa vượt ra ngoài liên kết dữ liệu. Ví dụ được biết nhiều nhất của một giao thức hoạt động ở lớp là IP.
Trường hợp nào MPLS phù hợp? MPLS không đơn thuần là một giao thức thuộc lớp 2 bởi vì sự đóng gói ở lớp 2 vẫn còn hiện diện cùng với các gói tin đã được dán nhãn, nó được thiết kế để hoạt động tương thích các yêu cầu của nhiều công nghệ mạng liên kết dữ liệu khác nhau. MPLS cũng không thực sự là một giao thức lớp 3 bởi vì nó không có khả năng tự định tuyến hoặc có sơ đồ địa chỉ (điều kiện buộc phải có ở lớp 3).
Đối với môi trường ứng dụng IP, MPLS sử dụng cách đánh địa chỉ và các giao thức định tuyến hiện có với sự điều chỉnh và bổ sung. Do đó, MPLS không phù hợp trong mô hình phân lớp OSI quá tốt. Có lẽ việc dễ nhất để làm là xem MPLS như là một công nghệ lớp 2,5 và được làm việc với nó. Mô hình này chỉ ra rằng MPLS không phải là lớp mới mà nó là một phần ảo của mặt bằng điều khiển dưới lớp mạng và trên lớp liên kết dữ liệu.
Giao thức MPLS hoạt động dựa trên sự kết hợp giữa chuyển mạch lớp 2 và định tuyến lớp 3 để chuyển tiếp gói tin bằng cách sử dụng các nhãn có chiều dài cố định.
4. Cấu trúc một nút MPLS
Một nút của MPLS có hai mặt phẳng là mặt phẳng chuyển tiếp MPLS và mặt phẳng điều khiển MPLS. Các thành phần của hai mặt phẳng này minh họa rõ trong hình (Hình 1 1).
Cụ thể ý nghĩa từng thành phần được mô tả tiếp như sau:
+ Cơ sở thông tin nhãn LIB (Label Information Base): Được xem là cơ sở dữ liệu cho tất cả các giao thức phân phối nhãn.
+ Bảng định tuyến IP RIB : Được xem là cơ sở dữ liệu cho tất cả các giao thức phân phối IP.
+ Kỹ thuật chuyển mạch nhãn Cisco Express Forwarding (CEF): Là nền tảng cho MPLS và hoạt động trên các bộ định tuyến của Cisco.
CEF tránh việc viết lại cache trong môi trường lõi IP bằng cách sử dụng một cơ sở thông tin chuyển tiếp FIB để quyết định chuyển mạch. Nó phản ánh toàn bộ nội dung của bảng định tuyến IP, ánh xạ 1-1 giữa FIB và bảng định tuyến. Khi bộ định tuyến sử dụng CEF, nó duy trì tối thiểu 1 FIB, chứa một ánh xạ các mạng đích trong bảng định tuyến với các trạm kế tiếp tương ứng.
+ FIB (Forwarding information based): Sẽ ánh xạ từ một gói tin IP không nhãn thành gói tin MPLS có nhãn ở ngõ vào của router biên hoặc từ gói tin IP không nhãn thành gói tin IP không nhãn ở ngõ ra của router biên, bảng này được hình thành từ bảng routing table, từ giao thức phân phối nhãn LDP và từ bảng tra LFIB.
+ LFIB (Label Forwarding Information Base): Là bảng chứa đựng thông tin các nhãn đến các mạng đích, một gói tin có nhãn khi đi vào một router nó sẽ sử dụng bảng tra LFIB để tìm ra hop kế tiếp, ngõ ra của gói tin này có thể là gói tin có nhãn cũng có thể là gói tin không nhãn. Hai bảng tra FIB và LFIB có giá trị như bảng routing table trong mạng IP, nhưng trong mạng IP thì bảng routing table có số entry rất lớn khoảng vài ngàn, còn với FIB và LFIB số nhãn mà nó nắm giữa rất ít khoảng vài chục là tối đa.
Lê Sơn Hà – VnPro