MPLS và các giao thực sử dụng ở lớp 3: Theo lý thuyết, cấu trúc MPLS được xác định làm việc với hầu hết các giao thức lớp mạng bởi vì MPLS sử dụng như một header chèn thêm. Tuy nhiên khởi đầu nó chỉ chấp nhận với IPv4. Với IPv6 thì đang tiếp tục phát triển thêm.
MPLS và IPv4: hiện tại MPLS được thực hiện sử dụng được với IPv4 như là một giao thức lớp mạng. Hầu hết các nhà cung cấp dịch vụ mạng đều sử dụng IPv4. Header chèn thêm của MPLS được đặt trước header lớp mạng của IPv4, tùy thuộc vào giao thực lớp 2 được sử dụng mà header MPLS có thể đặt sau hay ngay bên trong header giao thức lớp 2.
MPLS và IPv6: cũng như IPv4, với IPv6 đặt header của MPLS trước header của lớp mạng và tùy thuộc vào giao thức lớp 2 được sử dụng mà header MPLS có thể đặt sau hay ngay bên trong header giao thức lớp 2. Sự sử dụng MPLS và IPv6 hiện nay đã được một số hãng thiết bị phát triển và cung cấp.
MPLS và các giao thức lớp mạng khác: Theo lý thuyết, MPLS có thể sử dụng với bất kỳ giao lớp mạng nào. Khởi đầu MPLS được thiết kế với IPX, Apple Talk, DECnet, và CLNP. Nhưng hiện tại các giao thức đó ít được phát triển, phổ biến nhất là IP được sử dụng với MPLS.
Sự đóng gói ở lớp liên kết dữ liệu: tùy thuộc vào giao thức lớp 2 sẽ xác định dạng đóng gói MPLS tương ứng. Nhãn trên cùng dùng để xác định dạng của giao
thức lớp liên kết, các nhãn tiếp theo sử dụng kiểu nhãn chèn thêm và được chèn vào giữa header lớp mạng và lớp liên kết dữ liệu.
MPLS và PPP: MPLS có sử dụng với PPP. PPP là giao thức được dùng để truyền gói dữ liệu qua các đường điểm nối điểm. PPP định rõ cách thức đóng gói dữ liệu lớp mạng từ nhiều giao thức lớp mạng khác nhau, như LCP (Link Control Protocol) dùng để thiết lập, cấu hình và bảo dưỡng tuyến kết nối. NCP (Network Control Protocol) dùng cho việc điều khiển các giao thức mạng khác nhau. NCP cho MPLS cũng được định nghĩa để điều khiển việc truyền các gói MPLS qua tuyến điểm nối điểm, nó được biết đến như là MPLS CP.
MPLS và Ethernet: sử dụng MPLS over Ethernet, đặc biệt trong các mạng Metro tốc độ cao, là ưu tiên phát triển của MPLS. Khi sử dụng với Ethernet, mỗi nhãn sẽ được đặt trong mỗi frame. Các phần tử trong chống nhãn MPLS sẽ được đặt giữa header lớp mạng và header lớp liên kết dữ liệu.
Remaining Shim Label Entries IP Header Data ATM : VCI/VPI FR : DLCI Ethernet : Top Shim Label Entry
PPP : Top Shim Label Entry Layer 2 Layer 2.5 Layer 3 Layer 4...7 Hình 3.2. Kiểu đóng gói MPLS
Hình 3.2 trình bày sự đóng gói MPLS có thể sử dụng với hầu hết các cơng nghệ lớp 2. Nhãn trên cùng có thể sử dụng cho các dạng sẵn có của lớp 2 (VPI/VCI, DLCI), như trường hợp của ATM và FR. Đối với trường hợp lớp 2 là Ethernet hay PPP được sử dụng thì nó có thể được đặt như là một mào đầu chèn thêm giữa header của lớp 2 và header của lớp 3. Hiện nay, khi nói đến MPLS thường người ta nghĩ đến lớp 2 là ATM, đặc biệt dùng trong trường hợp vận chuyển IP qua mạng ATM. Các chuyển mạch ATM có khả năng MPLS thường chạy thủ tục định tuyến
IP và sử dụng ATM cho cơ chế chuyển tiếp dữ liệu, các chuyển mạch này được gọi là ATM-LSR (ATM – Label Switch Router). Bên trong các ATM-LSR, nhãn MPLS trên cùng được đặt trong các vùng VCI/VPI của header ATM và các mục trong chồng nhãn được đặt trong phần payload của cell ATM.
3.1.2. Kiến trúc MPLS.
Các kiểu tiến trình khác nhau chạy trong một bộ định tuyến IP có thể được xem như một chống các lớp khác nhau, mỗi lớp bao gồm các tiến trình giống nhau được xem như là một mặt phẳng. Trong mỗi bộ định tuyến đều có 4 mặt phẳng chính đó là:
Mặt phẳng điều khiển người sử dụng (User Control Plane). Mặt phẳng điều khiển quản lý (Management Control Plane). Mặt phẳng điều khiển định tuyến (Routing Control Plane). Mặt phẳng chuyển tiếp dữ liệu (Data Forwarding Plane).
3.1.2.1. Cấu trúc bộ định tuyến IP không hỗ trợ MPLS.
Bộ định tuyến IP khơng hỗ trợ MPLS có 2 mặt phẳng là mặt phẳng điều khiển định tuyến (Routing Control Plane) và mặt phẳng chuyển tiếp dữ liệu (Data Forwarding Plane). Nhiệm vụ chính của 2 mặt phẳng này là nhận vào các luồng dữ liệu và ra quyết định chuyển đi trên các giao tiếp thích hợp.
Transport and Application Layers
Routing Control Plane
Data Forwarding Plane
Network Layer
Data Link Layer
Physical Layer
Mặt phẳng điều khiển định tuyến thực hiện các công việc như thiết lập và quản lý các đường đi, tất cả các thơng tin về đường đi đó được lưu trữ trong bảng RIB (Routing Information Base). Dựa trên bảng RIB, router sẽ chọn lọc ra các đường đi tốt nhất đến tất cả các đích và chứa chúng vào bảng FIB (Forwarding Infomation Base). Sau đó bảng FIB sẽ được chuyển xuống mặt phẳng chuyển tiếp dữ liệu.
Mặt phẳng chuyển tiếp dữ liệu thực hiện nhận các gói dữ liệu đến, dựa trên các thông tin về đường đi sẵn có được chứa trong bảng FIB sẽ chọn ngõ ra thích hợp cho từng gói dữ liệu.
3.1.2.2. Cấu trúc bộ định tuyến IP có hỗ trợ MPLS.
Transport and Application Layers
Routing Control Plane Data Forwarding Plane
Network Layer
Data Link Layer Physical Layer
MPLS
Hình 3.4. Cấu trúc IP Router có MPLS.
Ở cấu trúc này mặt phẳng điều khiển và chuyển tiếp được đặt sát nhau ở giao tiếp giữa lớp 2 và lớp 3 tạo thành một lớp con gọi là lớp 2.5 hay lớp MPLS. Vậy trong lớp MPLS có 2 mặt phẳng chính:
1. Mặt phẳng điều khiển (Control Plane):
Có nhiệm vụ trao đổi các thông tin định tuyến lớp 3 và trao đổi nhãn giữa các thiết bị liền kề nhau. MPLS dùng các giao thực định tuyến lớp 3 như OSPF, EIGRP, IS-IS, RIP và BGP dùng để trao đổi các thông tin định tuyến. Để trao đổi thông tin nhãn, MPLS dùng các giao thức trao đổi nhãn như TDP (Tag Distribution Protocol), LDP (Label Distribution Protocol), BGP (Border Gateway Protocol)
được sử dụng bởi MPLS VPN, RSVP (Resource Reservation Protocol) được sử dụng bởi MPLS TE (MPLS Traffic Engineering).
2. Mặt phẳng dữ liệu (Data plane):
Còn gọi là mặt phẳng chuyển tiếp. Có nhiệm vụ chuyển tiếp các gói dựa trên thơng tin về địa chỉ IP đích và nhãn. Các thơng tin này được lấy từ mặt phẳng quản lý. Control Plane OSPF LDP LFIB 24 17 Data Plane OSPF : 10.0.0.0/8 OSPF : 10.0.0.0/8 LDP : 10.0.0.0/8 Label : 17 LDP : 10.0.0.0/8 Label : 24 Labeled Packet Label : 24 Labeled Packet Label : 17 Upstream Downstream Hình 3.5. Hoạt động của lớp MPLS.
Trong hình 3.5, mặt phẳng điều khiển dùng giao thức định tuyến OSPF để trao đổi thơng tin định tuyến có nhiệm vụ nhận và chuyển tiếp các gói IP cho mạng có địa chỉ 10.0.0.0/8. Giao thức LDP trao đổi thông tin về nhãn, khi nhận được gói có nhãn với giá trị 17 được sử dụng cho gói IP có địa chỉ 10.0.0.0/8 được gửi lên từ trạm downstream, nó sẽ phát sinh ra một nhãn khác có giá trị 24 và gửi lên trạm upstream kế bên. LDP sẽ chèn vào bảng LFIB nằm trong mặt phẳng dữ liệu một phần tử chỉ định rằng nhãn có giá trị 24 sẽ ánh xạ vào nhãn có giá trị 17. Dựa vào thông tin này mặt phẳng dữ liệu sẽ chuyển tiếp tất cả các gói có nhãn 24 ra giao tiếp thích hợp và thay nhãn 24 thành nhãn 17.
này sẽ di chuyển theo chiều ngược lại, từ thiết bị upstream sang thiết bị downstream.
3.1.3. Hoạt động của MPLS.
3.1.3.1. Lớp chuyển tiếp tƣơng đƣơng – FEC.
FEC (Forwarding Equivalence Class) là một nhóm gói lớp mạng được chuyển tiếp trên cùng một con đường đi với cùng một cách thức qua mạng. Một FEC được định nghĩa là một tập các luật xác định một nhóm các gói lớp mạng cụ thể sẽ được chuyển tiếp theo cùng một cách thức như nhau quan mạng. FEC dùng để phân biệt các luồng thơng tin có đặc tính nào đó khác nhau. Với mỗi nút MPLS, tất cả các đích đến có thể đến được sẽ được phân ra thành các nhóm đích đến nhỏ hơn, mỗi nhóm này được gọi là một FEC. Tất cả các gói trong cùng một FEC sẽ được chuyển tiếp trên cùng một đường đi với một cách thức truyền giống nhau. Sau khi nút MPLS phân loại gói nhận được vào các FEC, nó sẽ ánh xạ mỗi FEC vào một chặng kế tiếp thích hợp, do đó việc chuyển tiếp các gói này sẽ được thực hiện một cách chính xác. Đây là điểm nổi bật của MPLS so với định tuyến IP, việc phân tích thơng tin định tuyến lớp 3 chỉ được thực hiện một lần khi gói dữ liệu đi vào vùng MPLS ngay tại router biên vào (Ingress LSR), trong vùng MPLS việc định tuyến đơn giản là việc trao đổi các nhãn có sẵn. Điều này làm giảm thời gian trì hỗn gói dữ liệu khi truyền trên mạng.
(1) Ingress LSR (1..n) Transit LSR (1) Egress LSR
IPv4 MPLS domain IPv4
Hình 3.6. Mơ hình vùng MPLS.
Hình 3.6 mơ tả sơ đồ chức năng tổng quát của một vùng MPLS. Mỗi LSR (Label Switch Router) là một nút mạng, có thể là một bộ định tuyến IP hoặc một bộ chuyển mạch ATM có phần mềm và phần cứng hỗ trợ MPLS. Chức năng của phần
mềm và phần cứng hỗ trợ MPLS này là nhận biết được các thủ tục điều khiển MPLS, hoạt động của một hoặc nhiều thủ tục định tuyến lớp 3 và các thao tác nhãn MPLS (chuyển tiếp và chuyển mạch). Node mạng tại điểm vào của vùng MPLS được gọi là LSR biên vào (Ingress LSR). Các gói dữ liệu thuộc lớp mạng đi vào sẽ được phân loại vào các đường đi qua vùng MPLS bằng cách gán nhãn. Các nhãn này được chứa trong bảng, dựa vào bảng đó các node MPLS trung gian trong vùng MPLS chuyển tiếp các gói đến điểm ra thích hợp. LSR tại điểm ra được gọi là Egress LSR. Tại đây header MPLS sẽ được gỡ bỏ và gửi gói IP ra ngồi dựa vào thơng tin định tuyến trong header lớp mạng.
Incoming Packet Incoming Interface Incoming Packet Partioning Process Set of All Possible Incoming Packets FEC #1 FEC #2 …... FEC #n Outgoing Packet Mapping Process Outgoing Interface Outgoing Packet
Hình 3.7. Hoạt động chọn chặng kế cho gói MPLS.
Hình 3.7 trình bày hoạt động của một LSR ở lối vào mạng, hoạt động chính của LSR là chọn chặng kế tiếp cho bất kỳ một gói nào tới node này bằng cách xác định loại FEC của gói tới, sau đó nó dựa vào bảng ánh xạ FEC (bảng kết hợp giữa FEC và giá trị nhãn) để chọn một nhãn thích hợp cho gói MPLS tương ứng với FEC đã ấn định và chuyển tiếp chúng ra giao tiếp thích hợp.
Trước khi chuyển tiếp các gói MPLS, mỗi LSR lối vào phải tạo ra bảng ánh xạ FEC riêng của nó bằng cách thực hiện phân định luồng gói tới.
Bảng 3.1. Ánh xạ FEC:
FEC #1- Tập các qui luật xác định các nhóm gói lớp mạng cụ thể này sẽ được chuyển tiếp trong cùng một cách thức
Sử dụng nhãn - 1
----------- ------
FEC #n- Tập các qui luật xác định các nhóm gói lớp mạng cụ thể này sẽ được chuyển tiếp trong cùng một cách thức.
Sử dụng nhãn -n
Một trong những thuận lợi lớn của MPLS đó là tập các luật cho một tư cách thành viên của FEC có thể được cấu hình và nó khơng bị ràng buộc với một giải thuật định tuyến sử dụng trong một thủ tục định tuyến nội tại nào đó.
3.1.3.2. Cấu trúc và chức năng LSR. 10.1.1.1 20.1.1.1 L=31 L=21 L=25 10.1.1.1 20.1.1.1 L=43 Edge LSR LSR MPLS domain
Hình 3.8. Hoạt động của LSR trong vùng MPLS.
Cấu trúc và chức năng của LSR tùy thuộc vào vị trí của nó trong vùng MPLS. Dựa vào sơ đồ vùng hoạt động MPLS trên hình 3.9 ta thấy LSR có 2 chức năng chính.
LSR biên (Edge LSR): Là router chỉ có một vài giao tiếp tham gia hoạt động MPLS. Edge LSR chuyển tiếp gói IP dựa vào địa chỉ đích của gói IP và các giá trị nhãn đã có theo 3 trường hợp có thể xảy ra:
- Nhận 1 gói IP và chuyển tiếp dựa trên địa chỉ IP để gửi gói đi như một gói IP bình thường.
- Nhận 1 gói IP, chuyển tiếp dựa trên địa chỉ đích gởi gói đi với một giá trị nhãn.
- Nhận một gói đã gán nhãn, chuyển tiếp dựa trên giá trị nhãn đã có, đổi giá trị nhãn chặng tiếp theo và gởi gói ra ngồi.
- Một số gói bị loại bỏ ra ngồi trong các trường hợp sau:
- Một gói đến đã được gán nhãn, nhưng nếu giá trị nhãn khơng có trong bẳng LFIB, ngay cả khi địa chỉ IP vẫn tồn tại trong bảng định tuyến IP (bảng FIB).
- Một gói IP đến, nếu địa chỉ đích đến khơng tìm thấy trong bảng FIB.
Routing protocol IP Routing table LDP IP Forwarding Table Edge LSR Control plane Data plane Exchange of routing inforomation Exchange of label Incoming Labeled packet outgoing IP packet
Label Forwarding Table outgoing Labeled packet Incoming IP packet
Hình 3.9. Cấu trúc của LSR biên.
LSR: Được gọi là Router chuyển tiếp, là router có tất cả các giao tiếp đều hoạt động MPLS, chức năng cơ bản của nó là nhận các gói MPLS, chuyển đổi nhãn cho chặng tiếp theo, và gửi gói đến LSR tiếp theo
router chuyển tiếp khác. Vì thế mỗi LSR cần một giao thức định tuyến lớp 3 như OSPF, EIGRP, IS-IS và một giao thức phân phối nhãn như LDP, TDP. Cấu trúc của một LSR như sau:
Routing protocol
IP Routing table
LDP
Label Forwarding Table LSR Control plane Data plane Exchange of routing inforomation Exchange of label Incoming Label packet outgoing Label packet Hình 3.10. Cấu trúc của LSR.
3.1.3.3. Cấu trúc các bảng định tyến trong LSR. 1. LIB – Label Information Base:
Bảng 3.2. Bảng LIB.
Network LSR Label
x.x.x.x
A 25
Local 24
Bảng LIB thuộc mặt phẳng điều khiển, có nhiệm vụ chỉ định một giá trị nhãn nội bộ cho một địa chỉ IP, giá trị nhãn nội bộ này sẽ ánh xạ với nhãn của chặng tiếp theo (next-hop) được cập nhật từ thiết bị downstream kế cận. Cấu trúc bảng LIB gồm có 3 trường:
Trường Network: chứa địa chỉ IP của mạng đích.
Trường LSR: Chứa tên của LSR đã phát sinh ra giá trị nhãn tương ứng. Nếu giá trị nhãn do chính LSR phát sinh thì có giá trị Local.
Trường label: chứa giá trị nhãn.
2. LFIB – Label Forwarding Information Base:
Bảng 3.3. Bảng LFIB:
Label Action Nexthop
25 47 C
24 Pop D
Bảng LFIB nằm trong mặt phẳng dữ liệu, dùng để chuyển tiếp các gói đã được gán nhãn. Bảng LFIB gồm có 3 trường:
Trường Label: chứa giá trị nhãn dùng để so sánh với giá trị nhãn của gói đến.
Trường action: nếu bộ định tuyến là LSR thì action sẽ chứa giá trị nhãn của chặng tiếp theo. Nếu bộ định tuyến là LSR thì action sẽ chứa giá trị nhãn của chặng tiếp theo. Nếu bộ định tuyến là LSR biên thì trường action có giá trị “pop”, khi đó gói sẽ được gỡ bỏ nhãn trên cùng trong chồng nhãn MPLS.
Trường Next-hop: chứa tên của LSR kế tiếp.
3. FIB – Forwarding Information Base:
Bảng 3.4. Bảng FIB:
Network Nexthop Label
X B 25
Y C 24
Bảng FIB nằm trong mặt phẳng dữ liệu, dùng để chuyển những gói IP chưa được gán nhãn. Một gói chuyển tiếp sẽ được gán nhãn nếu nhãn của chặng tiếp theo được xác định sẵn cho địa chỉ IP đích. Ngược lại gói chuyển tiếp sẽ khơng được gán nhãn. Bảng FIB có 3 trường:
Trường network: chứa địa chỉ IP mạng đích. Trường next-hop: chứa tên của LSR kế tiếp. Trường Label : chứa giá trị nhãn chặng tiếp theo.
3.2. Các dịch vụ trền nền MEN [5,9].
Trong các chương trước chúng ta đã nhắc đến một số các dịch vụ chạy trên nền mạng MEN. Tuy nhiên trong trường này chúng ta xem xét một cách tổng quan