Để hiểu đợc nguyên tắc hoạt động cuả cơ chế chuyển mạch nhãn, trớc hết chúng ta phải làm quen với một số khái niệm mới dùng trong MPLS.
3.2.1. Nhãn ( Label )
Nhãn là một thực thể ngắn có chiều dài cố định, không có cấu trúc bên trong đợc gắn vào gói tin khi nó đợc chuyển xuống lớp 2. Nhãn của một gói tin cụ thể sẽ đại diện cho FEC ( Forwarding Equivalence Classes – lớp chuyển tiếp tơng đ- ơng ) mà gói tin đó đợc ấn định vào.
Đối với mạng sử dụng lớp liên kết dữ liệu không có cấu trúc nhãn, một đoạn đệm đợc chèn thêm để sử dụng cho nhãn. Định dạng chung cho đoạn đệm 4 byte có cấu trúc nh trong hình sau:
Hình 3.1: Khuôn dạng nhãn cho các gói không có cấu trúc nhãn gốc
Trong đó:
• Trờng Label : có độ dài 20 bits, đây chính là giá trị nhãn
• Trờng EXP ( experimental ): có độ dài 3 bits dùng cho mục đích dự trữ nghiên cứu và phân chia lớp dịch vụ (COS – Class of Service)
• Trờng S : có độ dài 1 bit dùng chỉ định nhãn cuối cùng của Label Stack. Với nhãn cuối cùng, S=1.
• Trờng TTL ( Time To Live ): Có ý nghĩa giống nh trờng TTL trong gói tin IP.
Riêng đối với các mạng dùng công nghệ lớp 2 là Frame Relay thì dùng DCLI ( data link connection identifiers), ATM dùng giá trị VPI/VCI để làm nhãn.
Hình 3.2: Nhãn MPLS với lớp 2 là ATM 3.2.2. Ngăn xếp nhãn:
Là một tập hợp có thứ tự các nhãn gắn theo gói để truyền tải thông tin về nhiều FEC mà gói nằm trong và về các LSP tơng ứng mà gói sẽ đi qua. Ngăn xếp nhãn cho phép MPLS hỗ trợ định tuyến phân cấp (một nhãn cho EGP và một nhãn cho IGP) và tổ chức đa LSP trong một trung kế LSP.
Nh vậy, có thể thấy rằng một gói tin có thể mang nhiều nhãn, tổ chức theo kiểu ngăn xếp LIFO ( Last in first out ). Ví dụ : một gói tin có chiều dài ngăn xếp
nhãn là d, thì nhãn ở đáy ngăn xếp là nhãn số 1, tiếp tục cho đến nhãn ở đỉnh là nhãn thứ d.
Hình 3.3 : Ngăn xếp nhãn
3.2.3. FEC( Forwarding Equivalence Classes-lớp chuyển tiếp t ơng đ ơng)
Một nhóm các gói tin đợc chuyển tiếp theo cùng một cách, với cùng một tuyến đờng và với cùng một cách xử lý nh nhau tạo thành một nhóm chuyển tiếp tơng đ- ơng – gọi là FEC. Mỗi FEC có thể đợc tạo bởi một nhóm các gói tin có cùng các yêu cầu về truyền tải hoặc dịch vụ( thoại, data, video, VPN...) hoặc cùng yêu cầu về QoS. Hay nói cách khác, MPLS thực hiện phân lớp dữ liệu để chuyển tiếp qua mạng. Thông thờng việc ấn định một gói tin vào FEC thờng dựa vào địa chỉ IP đích của gói. Việc này chỉ đợc thực hiện một lần duy nhất khi gói tin bắt đầu đi vào mạng MPLS ( tại router biên ).
Nh đã nói ở trên, nhãn là đại diện cho FEC. Tại các node tiếp theo sẽ không thực hiện việc phân tích header lớp mạng nữa. Thay vào đó, nhãn đợc dùng để tra cứu trong bảng chuyển tiếp nhằm xác định hop tiếp theo và nhãn mới thay thế cho nhãn cũ. Cuối cùng, khi gói đến router biên cuối trớc khi ra khỏi miền MPLS thì router sẽ thực hiện việc bỏ phần header MPLS và chuyển gói tin vào mạng IP.
3.2.4. Đ ờng chuyển mạch nhãn LSP ( Label Switching Path )
Là tuyến tạo ra từ đầu vào đến đầu ra của mạng MPLS dùng để chuyển tiếp gói của một FEC nào đó, sử dụng cơ chế hoán đổi nhãn. Khái niệm về FEC tơng tự nh khái niệm về kênh ảo ( virtual channel ) trong mạng IP, ATM, Frame Relay...
Gói tin khi đợc dán nhãn thì sẽ đợc ấn định tuyến đờng LSP trong mạng mà nó sẽ đi qua để đến đích. LSP đợc chọn dựa vào loại lu lợng cần vận chuyển. Ví dụ: cần chuyển lu lợng SQL để phục vụ cho ứng dụng cơ sở dữ liệu thì phải chọn tuyến LSP có tính bảo mật cao, trễ thấp , ít jitter,giá thành cao...Ngợc lại, để vận chuyển tải bình thờng thì có thể dùng tuyến LSP best – effort . Nh vậy, có thể thấy mạng MPLS có khả năng điều khiển lu lợng rất tốt.
MPLS hỗ trợ 2 cách định tuyến ( chọn LSP cho một FEC )
• Định tuyến theo từng chặng ( hop by hop routing ): cách này giống nh cách làm trong các mạng IP hiện nay. Mỗi LSR chọn nút tiếp theo cho mỗi FEC. Phơng thức định tuyến này mang lại một số u điểm nh có thể dùng ngăn xếp nhãn, xử lý khác nhau đối với các FEC khác nhau trên cùng một tuyến.Tuy nhiên do hạn chế về các tham số trong giao thức định tuyến này nên hop – by – hop routing không hỗ trợ xử lý lu lợng tốt và các chính sách quản trị.
• Định tuyến trớc (explicit routing ) tơng tự nh định tuyến nguồn, nghĩa là một LSR ( thờng là LER ) chỉ định một số hoặc tất cả các LSR trên đờng LSP của một FEC. Việc chọn tuyến có thể đợc cấu hình hay tự động. Do các tuyến có thể chọn trớc nên explicit routing làm đơn giản hoá công tác quản trị. Ngoài ra còn hỗ trợ tốt hơn trong việc quản lý lu lợng. Một thuật toán định tuyến có tính đến các yêu cầu về lu lợng của nhiều luồng và các tài nguyên hiện có ở các nút mạng đợc xem là thuật toán định tuyến có ràng buộc. Một mạng sử dụng thuật toán định tuyến ràng buộc biết đợc mức độ sử dụng mạng hiện tại, dung lợng mạng còn lại, và các dịch vụ đợc cam kết.
3.2.5. MPLS domain
Là tập hợp các router hỗ trợ MPLS đợc đặt liên tiếp nhau và đợc quản lý và điều khiển bởi cùng một nhà quản trị mạng, hay nói một cách đơn giản hơn là: một MPLS domain, có thể coi nh hệ thống mạng của một tổ chức nào đó ( chẳng hạn nhà cung cấp dịch vụ ).
Hình 3.4: Mô hình một mạng IP/MPLS
Thành phần quan trọng cơ bản của mạng MPLS là thiết bị định tuyến chuyển mạch nhãn LSR (Label Switch Router). Thiết bị này thực hiện chức năng chuyển tiếp gói thông tin trong phạm vi mạng MPLS bằng thủ tục phân phối nhãn.
Căn cứ vào vị trí và chức năng của LSR có thể phân thành các loại chính sau đây:
• Bộ định tuyến nhãn biên LER– ( Label Edge Router ): nằm ở biên của mạng MPLS. LER hỗ trợ các cổng kết nối tới các mạng khác (IP, Frame Relay,...). LSR biên gán hay loại bỏ nhãn cho các gói thông tin đến hoặc đi khỏi mạng MPLS. Các LSR này có thể là Ingress Router (router lối vào) hay egress router (router lối ra).
• LSR chuyển tiếp: nằm bên trong miền MPLS, chính là các bộ định tuyến
lõi của nhà cung cấp dịch vụ.
Cấu trúc của một LSR chia làm mặt phẳng chức năng: mặt phẳng điều khiển và mặt phẳng chuyển tiếp:
Hình 3.5: Kiến trúc nút mạng MPLS
• Mặt phẳng điều khiển: thực hiện chức năng xây dựng và cập nhật liên tục thông tin cho các bảng phục vụ quá trình forwarding. Do đó, các nút MPLS phải chạy các giao thức định tuyến IP ( nh OSPF, IS – IS ) để trao đổi
thông tin định tuyến với nhau. Ngoài ra, mỗi module điều khiển còn sử dụng các giao thức liên quan đến việc phân phối nhãn nh LDP, BGP và RSVP – TE để trao đổi các thông tin về liên kết nhãn giữa các các router lân cận.
• Mặt phẳng chuyển tiếp: có nhiệm vụ vận chuyển các gói dữ liệu dựa vào các giá trị nhãn. Thông tin sử dụng trong module forwarding nh nhãn và ánh xạ giữa chúng là do mặt phẳng điều khiển xây dựng nên. Mỗi một nút MPLS sẽ có 2 bảng phục vụ cho việc forward dữ liệu là: bảng thông tin nhãn LIB và bảng thông tin chuyển tiếp nhãn LFIB. Bảng LFIB sử dụng một tập con các nhãn trong bảng LIB để thực sự phục vụ cho quá trình chuyển gói tin qua mạng. Quá trình forwarding tại mỗi nút mạng chỉ đơn thuần là quá trình trao đổi nhãn và gửi gói tin đến nút tiếp theo dựa vào thông tin trong bảng LFIB.
Mỗi một LSR sẽ lu giữ 2 bảng thông tin liên quan đến phần chuyển tiếp MPLS đợc trình bày dới đây.
3.2.7. Cơ sở dữ liệu nhãn LIB ( Label information Base )
Là bảng kết nối trong LSR, lu tất cả các nhãn đợc gán bởi LSR này và ánh xạ các nhãn này đến các nhãn nhận đợc từ các router hàng xóm.
3.2.8. Bảng chuyển tiếp chuyển mạch nhãn LSFT ( Label Switching Forwarding Table ): Forwarding Table ):
Vì có nhiều router hàng xóm gửi nhãn cho cùng một FEC, nhng không phải tất cả các router này là hop chặng tiếp theo trong bảng định tuyến. Do đó không phải tất cả các nhãn trong LIB đều đợc sử dụng để chuyển tiêp gói tin.
Bảng thứ hai là LFIB là bảng chuyển tiếp nhãn có chứa thông tin về nhãn đầu vào, nhãn đầu ra, giao diện đầu ra và địa chỉ đến tiếp theo. Bảng này đợc sử dụng để chuyển tiếp gói và chỉ lu lại những nhãn đợc sử dụng gần đây của LSR.
3.2.9. Các thao tác với nhãn
3.2.9.1. Liên kết nhãn ( Label Binding )
Là thủ tục liên kết một nhãn với một FEC.
3.2.9.2. Điều khiển gán nhãn
• Điều khiển độc lập: Khi một LSR nhận đợc thông báo, nó sẽ tự động liên kết 1 nhãn với FEC này rồi thông báo liên kết này cho các LSR lân cận thông qua giao thức báo hiệu.
• Điều khiển tuần tự: thực hiện liên kết nhãn rối thông báo theo trình tự từ LSR đầu vào đến LSR đầu ra .
3.2.9.3. Thao tác với ngăn xếp nhãn
Kĩ thuật ngăn xếp nhãn cho phép hỗ trợ khả năng phân cấp nhằm đáp ứng sự mở rộng của mạng. Nhng các thao tác xử lý nhãn chỉ liên quan đến nhãn nằm trên cùng của ngăn xếp.
a. Push ( gán nhãn ): Khi gói tin bắt đầu đi vào mạng MPLS, nó đợc phân loại vào FEC và gán nhãn.
b. Pop ( tách nhãn ): thực hiện tại đầu ra của mạng MPLS, tách nhãn ra khỏi gói MPLS và chuyển gói vào mạng IP.
c. Swap ( hoán đổi nhãn ): đợc thực hiện giữa các router mạng lõi .
3.2.9.4. Các ánh xạ và bảng hỗ trợ
Các bảng và ánh xạ đợc sử dụng để hỗ trợ sự phối hợp hoạt động của nhãn vào và nhãn ra tại mỗi router, cũng nh việc quản lý ngăn xếp nhãn.
NHLFE ( Next Hop Label Forwarding Entry) đợc dùng để quản lý 1 gói tin đã đợc gán nhãn. Nó bao gồm các thông tin sau:
• Nút tiếp theo của gói tin
• Thao tác sẽ thực hiện với ngăn xếp nhãn. Nó có thể là: hoán đổi nhãn, gắn thêm nhãn hay tách nhãn.
• Thông tin về cách đóng gói dữ liẹu ở lớp 2, cách mã hoá ngăn xếp nhãn, và các thông tin về chính sách quản lý gói tin.
Có thể có nhiều NHLFE cho cùng một FEC trong bảng chuyển tiếp.
3.2.9.5. Trộn nhãn
Các gói đến LSR tại các cổng khác nhau, với các nhãn vào khác nhau nhng lại đi ra từ 1 cổng với cùng một nhãn. Để thực hiện đợc điều này thì LSR phải có khả năng trộn nhãn.
3.2.9.6. Phân phối nhãn
Khi xuất hiện một LSR mới trong mạng MPLS hay bắt đầu khởi tạo mạng MPLS, các thành viên LSR trong mạng MPLS phải liên lạc đợc với nhau trong quá trình khai báo thông qua bản tin Hello. Sau khi bản tin này đợc gửi , một phiên
giao dịch giữa 2 LSR đợc thực hiện. Thủ tục trao đổi là giao thức LDP. Việc liên kết các nhãn đợc quảng bá ngay đến tất cả các router thông qua phiên LDP. Chi tiết hoạt động LDP sẽ đợc mô tả trong phần sau.
Để có thể hiểu rõ hơn các khái niệm MPLS, chúng ta sẽ xét một ví dụ cụ thể d- ới đây.
3.3. Hoạt động chung của MPLS
Để chuyển tải dữ liệu qua một miền MPLS, cần thực hiện quá trình các bớc nh sau:
1. ấn định nhãn cho FEC và phân phối nhãn ( báo hiệu ) 2. Tạo bảng chuyển tiếp nhãn ở các LSR
3. Tạo đờng LSP
4. Dán nhãn cho gói tin (push) tại LSR hớng vào
5. Vận chuyển gói dữ liệu vào mạng ( thực hiện hoá đổi nhãn tại các router lõi )
6. Tách nhãn tại LSR hớng ra. Xét một mạng MPLS cụ thể nh dới đây:
Hình 3.6 : Quá trình vận chuyển dữ liệu trong mạng MPLS
Nh hình vẽ trên, dữ liệu cần chuyển từ Router 4 đến Router 1 qua mạng MPLS:
1. Tạo nhãn và phân phối nhãn ( báo hiệu giữa các router lân cận ): Trớc khi có lu lợng truyền trên mạng, các LSR sẽ trao đổi với nhau các bản tin Hello để thống nhất với nhau các thông tin về các nhãn sẽ gán cho các FEC xác định. Sau đó, mỗi router sẽ tự thiết lập bảng cơ sở dữ liệu
nhãn LIB. Để thực hiện đợc cần phải có 2 giao thức để trao đổi thông tin giữa các router: giao thức định tuyến bên trong một miền ( nh OSPF ) để trao đổi thông tin về đờng đi và giao thức phân phối nhãn ( nh LDP ) để đảm bảo các LSR thống nhất với nhau các thông tin về nhãn. 2. Đầu tiên, tại router 4 ( R4 – là LSR biên hớng vào ) nhận dữ liệu. Tại
đây sẽ thực hiện việc phân loại gói tin và đóng vào FEC dựa vào một số tiêu chí đặc biệt nh: có yêu cầu về truyền tải hoặc dịch vụ ( thoại, data, video, VPN...) hoặc về QoS. Vì là tải thông thờng nên ấn định FEC dựa vào địa chỉ IP đích, ở đây là 172.16.10.0.
3. R4 tiến hành gán nhãn (push) cho FEC này là 3 và chuyển đến R3.
4. R3 là node chuyển tiếp trong mạng. R3 nhận lấy gói đến, nó không phân tích IP header nữa ( khác hẳn với mạng IP truyền thống ) mà chỉ quan tâm đến nhãn của gói. R3 thực hiện việc hoán đổi nhãn 3 thành nhãn 2 và chuyển đến LSR2. Tại R2 lại thực hiện hoán đổi nhãn 2 thành nhãn 1 và chuyển tiếp đến router 1. Việc hoán đổi này dựa vào việc tra bảng LFIB ở mỗi LSR và thực hiện bằng phần cứng. Nhờ đó mà mạng MPLS có thể xây dựng dựa trên các mạng ATM, FR có sẵn. Cách chuyển tiếp dữ liệu dựa vào phần cứng giúp tăng tốc độ mạng lên rất nhiều so với việc kiểm tra địa chỉ IP nh trớc đây.
5. R1 là LSR hớng ra nên tại đây, gói tin đợc bóc nhãn, chuyển thành gói IP ban đầu và đa đến mạng 172.16.10.0.
3.4. Các giao thức sử dụng trong MPLS
Nh đã trình bày ở trên, mặt phẳng điều khiển của LSR phải sử dụng một số giao thức hỗ trợ để xây dựng và cập nhật các bảng phục vụ cho quá trình chuyển tiếp dữ liệu. Phần này sẽ trình bày chi tiết hơn về các giao thức đó.
Hình 3.7: Giao thức trong MPLS 3.4.1. Giao thức định tuyến
Để trao đổi thông tin về đờng đi, các giao thức định tuyến link – state của IP nh OSPF, IS – IS , BGP đợc sử dụng vì nó cung cấp cho nút MPLS một cái nhìn toàn mạng.
Nhằm giảm bớt lợng thông tin định tuyến giữa các router trong mạng, ngời ta sử dụng cấu trúc định tuyến phân cấp để phân nhỏ mạng Internet thành các mạng nhỏ hơn gọi là một AS ( autonomous system ). Một AS là một tập hợp các mạng chịu một sự quản lý chung, chia sẻ một chiến lợc định tuyến chung. Một AS có thể chia thành các miền nhỏ hơn gọi là miền định tuyến. Miền này là một tập các mạng sử dụng chung một giao thức định tuyến. Giao thức BGP đợc dùng để trao đổi thông tin định tuyến giữa các AS, trong nội vùng một AS thì hay sử dụng các giao thức OSPF hay IS – IS.
3.4.1.1. OSPF ( Open Shortest Path First )
OSPF là thuật toán định tuyến theo kiểu link – state, có u điểm về thời gian hội tụ nhanh ( 100s ms ) và bản tin điều khiển chiếm ít băng thông (<1%) nên th- ờng đợc triển khai trong các mạng doanh nghiệp và nhà cung cấp dịch vụ. Thành phần quan trọng của thuật toán này là cơ sở dữ liệu phân bố – mô tả cấu hình định tuyến của mạng hay bản đồ kết nối giữa các router trong miền định tuyến. Để xây dựng và duy trì bảng định tuyến, mỗi router phát ra bản tin LSA ( link – state advertisement ) theo chu kì đến tất cả các router trong mạng. LSA chứa thông tin về cấu hình mạng. Từ đó mỗi router có thể thiết lập nên LSDB (Link – state database) của riêng nó. Với LSDB này, khi cấu hình mạng thay đổi ( hoặc theo chu kì nhất định ) mỗi router chạy thuật toán SPF (Shortest Path First) để tính toán đ-