MPLS-Linux đ c tri n khai t i l p n m gi a hai l p Ethernet và IP. Ethernet là l p giao th c MAC th c hi n vi c đóng gói các gói IP trong các khung. Trong m c I.2.2, đã trình bày các ho t đ ng c a các b đnh tuy n MPLS đ i v i gói tin (g n, tráo đ i và lo i b nhãn) và ta c ng đã đ c p đ n c s d li u chuy n ti p thông tin (FIB) có ch a thông tin ph c v vi c chuy n ti p gói tin c a các b đnh tuy n MPLS. Sau đây ta đi vào trình bày cách th c đ tri n khai các ho t đ ng MPLS và FIB trong MPLS-Linux. MPLS-Linux đnh ngh a 5 l nh đ th c hi n vi c g n, tráo
đ i và lo i b nhãn. M i l nh này có th tác d ng lên các gói tin IP ho c khung Ethernet t i l p MPLS khi chỳng đ c x lý t i ph n lừi c a Linux. Trong b ng B ng V-1 li t kê các l nh này và các vai trò c a chúng trong các ho t đ ng c a MPLS đ c th hi n trong B ng V-2. L nh PUSH g n Shim Header vào các gói tin đ n t l p IP. L nh SET chuy n các gói tin IP đã đ c g n Shim Header t l p MPLS cho l p Ethernet và ch ra cho l p Ethernet đa ch giao di n mà gói tin MPLS c n đ c chuy n ti p đ n. Hai l nh PUSH và SET k t h p v i nhau th c hi n ho t đ ng “g n nhãn” c a MPLS. L nh POP lo i b Shim Header kh i các gói tin đ n t l p Ethernet. Sau khi đ c l nh POP x lý, các gói tin s đ c x lý b ng l nh FWD ho c SET. L nh FWD đ c s d ng trong tr ng h p sau khi đ c l nh POP x lý, các gói tin g i l nh PUSH. Các l nh POP, FWD, PUSH và SET k t h p v i nhau th c hi n ho t đ ng “tráo đ i nhãn”. Trong ph n còn l i c a m c này ta s nh n th y vai trò c a l nh FWD trong ho t đ ng “tráo đ i nhãn”. Cu i cùng sau khi đ c x lý b ng l nh POP, các gói tin s đ c x lý b i l nh DLV tr c khi chúng đ c chuy n giao cho l p IP. Các l nh POP và DLV k t h p v i nhau th c hi n ho t đ ng “lo i b nhãn” .
B ng V-1. Các l nh c a MPLS-Linux Unicast.
L nh L p vào L p ra Mô t
PUSH IP MPLS G n mào đ u MPLS Shim vào gói tin IP
SET MPLS Ethernet Chuy n gói tin MPLS Unicast cho giao di n Ethernet POP Ethernet MPLS Lo i b mà đ u MPLS Shim kh i các khung Ethernet FWD MPLS MPLS G i l nh PUSH cho các gói tin sau khi đ c x lý b ng
l nh POP
DLV MPLS IP Chuy n gói tin MPLS cho l p IP
B ng V-2. Th c hi n các ho t đ ng MPLS d a trên các l nh c a MPLS-Linux.
Ho t đ ng MPLS Trình t các l nh trong MPLS-Linux
G n nhãn PUSH, SET
Tráo đ i nhãn POP, FWD, PUSH, SET Lo i b nhãn POP, DLV
Ti p theo chúng ta đi vào tri n khai ho t đ ng c a FIB trong MPLS-Linux. FIB đ c chia thành 3 b ng bao g m: b ng vào/ra MPLS và b ng đnh tuy n IP. MPLS- Linux đnh ngh a l p chuy n ti p t ng đ ng (FEC) t ng ng v i m t prefix (P) và đ dài prefix (Plen). M t P là đa ch IP 32-bit và Plen có giá tr n m trong kho ng gi a 1 và 32. M t gói tin có đa ch IP đích (IPd) t ng ng v i m t FEC P/Plen khi và ch khi Plen bit đ u tiên c a IPd và P gi ng nhau. Yêu c u đ i v i MPLS-Linux đó là ph i th hi n trong b ng đnh tuy n IP đ a ch t ng ng v i m i FEC và nó đ c đnh ngh a t i c ng vào c a LER. Không th đnh ngh a FEC n u nh không có đa ch phù h p trong b ng đnh tuy n. Th c v y MPLS-Linux d a vào b ng đnh tuy n IP đ xác đnh FEC c a m t gói tin IP. Trong MPLS-Linux, các ph n t b ng đ nh tuy n IP đ c m r ng có ch a thêm thông tin FEC t ng ng v i NHLFE (FTN). C hai b ng MPLS vào và ra đ u có ch a ph n t nhãn chuy n ti p t i nút ti p theo (NHLFE), ngoài ra b ng MPLS vào còn th c hi n chuy n đ i nhãn vào (ILM).
Hình V-1. X lý gói tin t i l p MPLS trong MPLS-Linux Unicast
Hình V-2. X lý gói tin t i l p MPLS trong MPLS-Linux Multicast
Hình V-1(a) th hi n ph ng th c g n Shim Header vào khung Ethernet t i các c ng vào LER. L p Ethernet c a LER nh n khung Ethernet có tr ng mào đ u 0x0800 (mã giao th c ng v i IPv4) sau đó khung đ c chuy n ti p cho l p IP. B đnh tuy n MPLS s c n c đa ch IP và thông tin trong b ng đnh tuy n đ đnh tuy n. Tuy nhiên c ch này đ c thay đ i, khi tìm th y đa ch IP ng v i m t FEC thì gói tin s đ c chuy n ti p cho l p MPLS thay vì đ c đnh tuy n b i l p IP.
Thông tin đ c b sung trong b ng đ nh tuy n IP đó là FTN, nó ch đ n m t ph n t c a b ng MPLS ra. Ph n t n m trong b ng ra này là m t NHLFE bao g m hai l nh. L nh PUSH đ nh ngh a nhãn c a gói tin và l nh SET đ nh ngh a giao di n mà gói tin c n đ c g i t i. L p MPLS s g n vào ph n đ u c a gói tin m t mào đ u MPLS có ch a nhãn đ c tìm th y trong NHLFE và chuy n ti p gói tin cho l p Ethernet. T i l p Ethernet s t o ra các khung v i tr ng nh n d ng giao th c có mã là 0x8847 t ng ng v i gói tin MPLS Unicast, sau đó các khung này đ c t i trên l p v t lý.
Hình V-1(b) th hi n c ch tráo đ i nhãn t i LSR. L p Ethernet c a LSR nh n đ c các khung có tr ng nh n d ng giao th c trong mào đ u Ethernet là 0x8847.
Do 0x8847 là mã đ c n đnh cho các gói tin MPLS Unicast đ c đóng gói trong các khung Ethernet, nên l p Ethernet s chuy n các khung tin này cho l p MPLS c a LSR. L p MPLS s tìm trong b ng MPLS vào ph n t t ng ng v i nhãn có trong Shim Header c a gói tin. B ng vào s th c hi n ILM và báo cho l p MPLS
các x lý c n thi t đ i v i gói tin. Ph n t trong b ng vào bao g m hai l nh. POP báo cho LSR vi c lo i b mào đ u MPLS và FWD ch đ n m t ph n t c a b ng MPLS ra. Ph n t này l i bao g m hai l nh: PUSH có ch a nhãn m i c a gói tin và báo cho LSR vi c b sung vào Shim Header c a gói tin nhãn m i này, và l nh SET báo cho LSR c n g i gói tin t i giao di n nào Ethernet nào. Sau đó l p Ethernet s th c hi n đóng khung v i tr ng nh n d ng giao th c 0x8847 và g i khung tin xu ng l p v t lý. NHLFE s báo cho b đnh tuy n MPLS th c hi n lo i b hay tráo đ i nhãn. Trong MPLS-Linux ho t đ ng SWAP đ c th c hi n b ng cách lo i b và g n Shim Header. Các l nh yêu c u lo i b và g n nhãn đ c đnh v trong m i b ng MPLS. Trong tr ng h p này NHLFE s đ ng th i n m trong b ng vào và b ng ra.
Cu i cùng Hình V-1(c) th hi n vi c lo i b nhãn t i c ng ra LSR. Khi l p Ethernet c a LSR nh n đ c khung v i tr ng nh n d ng giao th c trong mào đ u Ethernet có giá tr là 0x8847 thì nó s đ c chuy n ti p đ n l p MPLS. Ph n t trong b ng MPLS vào t ng ng v i nhãn c a gói tin s bao g m hai l nh. POP báo cho LER vi c lo i b Shim Header kh i gói tin và DLV báo cho LER vi c chuy n ti p gói tin cho l p IP và t i đây chúng s đ c x lý nh b t c gói IP nào khác. Trong tr ng h p đó, NHLFE có trong ph n t c a b ng vào và yêu c u lo i b Shim Header c a gói tin.
Không gian nhãn đnh ngh a ph m vi c a lu t chuy n ti p. N u nh hai giao di n c a cùng m t b đ nh tuy n MPLS thu c vào m t không gian nhãn thì chúng s s d ng cùng m t t p h p lu t chuy n ti p các gói tin MPLS. Ví d nh n u các giao di n “2” và “4” thu c cùng m t không gian nhãn, thì hai gói tin có cùng nhãn đ n trên hai giao di n “2” và “4” s đ c chuy n ti p theo cùng m t lu t. M t khác n u nh nhi u giao di n không thu c m t không gian nhãn thì các gói tin MPLS đ n s đ c chuy n ti p theo các lu t khác nhau.