HƯƠNG 1. TỔNG QUAN VỀ MPLS 1.1. Chuyển tiếp IP và những hạn chế của nó 1.2. Như ta đã biết Internet là một tập hợp các mạng kết nối với nhau dùng để chuyển tiếp gói tin giữa các host sử dụng IP (Internet Protocol). IP cung cấp dịch vụ đóng gói vô hướng (connectionless), không có sự đảm bảo phân phối gói tin. Trong mô hình Internet, các hệ thống dùng để chuyển tiếp gói tin được gọi là router. Do đó, một trong những chức năng chính của router là chuyển tiếp gói tin đến đích. Để hoàn thành nhiệm vụ này, router cần thực hiện quyết định chuyển tiếp cho mỗi gói tin để xác định xem địa chỉ của next- hop và interface để gói tin đi ra. Thông tin này có được thông qua các giao thức định tuyến và được sử dụng để xây dựng bảng chuyển tiếp gói tin (Forwarding Information Base - FIB). Tiến trình chuyển tiếp bao gồm 3 hoạt động cụ thể là: • Tìm địa chỉ để xác định interface ngõ ra • Chuyển tiếp gói tin • Phân lịch (scheduling) Hình 1.1: Tiến trình chuyển tiếp gói tin của IP Mỗi router duy trì một bảng định tuyến học được thông qua các giao thức định tuyến hoặc định tuyến tĩnh. Bảng định tuyến này có thể có kích thước cực kì lớn, trong Internet nó có thể có đến 50 ngàn entry. Đối với mỗi gói tin đi vào router, địa chỉ IP đích sẽ được kiểm tra, dựa vào thông tin trong bảng định tuyến sẽ xác định hop kế tiếp và interface ngõ ra để chuyển tiếp gói tin. Quyết định chuyển tiếp được thực hiện độc lập trên mỗi router trong mạng. Ngoài ra, việc sử dụng subnet mask yêu cầu địa chỉ IP đích trong mào đầu của gói tin đi vào phải thích hợp với mask trong bảng định tuyến, nghĩa là dựa trên quy tắc "longest match" để xem thử entry nào có mask với số bit đúng nhất với địa chỉ gói tin sẽ được dùng làm thông tin chuyển tiếp. Do đó, chuyển tiếp IP có thể được xem là tiến trình ánh xạ mỗi địa chỉ IP đích đến hop kế tiếp. Vì mỗi router có số lượng next-hop giới hạn, nên chuyển tiếp IP có thể được xem như là quá trình ánh xạ tập hợp các gói tin vào số next-hop giới hạn đó hoặc tương đương với số lượng subnet trên router. Tất cả các gói tin trong một subnet không có sự phân biệt nhau và được chuyển tiếp theo cùng một phương thức xác định, chúng đi qua cùng một đường dẫn đến mạng. Một nhóm gói tin như vậy được gọi là lớp chuyển tiếp tương đương FEC (Forwarding Equivalence Class). Khi gói tin di chuyển đến đích cuối cùng, mỗi router dọc đường đi sẽ kiểm tra địa chỉ đích của gói tin và đăng kí nó đến FEC. Ta có thể thấy rõ rằng chuyển tiếp IP yêu cầu hoạt động tìm kiếm địa chỉ IP phức tạp ở mỗi router dọc đường đi của gói tin. Bất cứ sự thay đổi nào về thông tin điều khiển việc chuyển tiếp của gói tin sẽ được thông báo cho tất cả các thiết bị trong miền định tuyến. Dẫn đến để xử lý cho xong một gói tin làm tốn thời gian cho những việc sau: thời gian tìm kiếm, thời gian cập nhật, và tốn bộ nhớ xử lý, tốn CPU. Tất cả tiến trình định tuyến và chuyển tiếp nói trên đây diễn ra ở lớp Network. Các router có thể kết nối trực tiếp với nhau theo mô hình điểm-điểm, hoặc là có thể kết nối với nhau bằng các switch mạng LAN hay mạng WAN (ví dụ mạng Frame Relay, ATM). Nhưng không may, các switch lớp 2 này không có khả năng nắm giữ thông tin định tuyến lớp 3 hoặc để chọn đường đi cho gói tin bằng cách phân tích địa chỉ đích lớp 3 của gói tin. Do đó, các switch lớp 2 không tham gia vào quá trình chuyển tiếp gói tin. Các đường đi ở LAN lớp 2 được thiết lập khá đơn giản - tất cả LAN switch đều trong suốt với các thiết bị kết nối với chúng. Nhưng việc thiết lập đường đi trong mạng WAN lớp 2 lại phức tạp hơn nhiều. Đường đi của gói tin trong mạng WAN lớp 2 được thiết lập thủ công và chỉ được thiết lập khi có yêu cầu. Thiết bị định tuyến ở biên mạng lớp 2 (ingress router) muốn chuyển dữ liệu đến thiết bị ngõ ra (egress router) cần thiết lập hoặc là kết nối trực tiếp đến egress router (kết nối này được gọi là các kênh ảo) hoặc là gửi dữ liệu của nó đến một thiết bị khác để truyền dẫn đến đích. Để đảm bảo chuyển tiếp gói tin tối ưu trong mạng WAN lớp 2, các kênh ảo phải tồn tại giữa hai router bất kì kết nối vào mạng WAN đó. Điều này có vẻ đơn giản để xây dựng nó nhưng lại gặp một vấn đề khác là khả năng mở rộng bị hạn chế. Các vấn đề mà ta có thể gặp phải là: • Mỗi lần một router mới kết nối vào mạng WAN lõi, một kênh ảo phải được thiết lập giữa router này và router khác (nếu có nhu cầu cần chuyển tiếp gói tin tối ưu). • Với việc cấu hình giao thức định tuyến, mỗi router gắn vào mạng WAN lớp 2 (được xây dựng với các ATM hay Frame Relay switch) cần có một kênh ảo dành trước với mỗi router khác kết nối vào mạng lõi đó. Để đạt được độ dự phòng mong muốn, mỗi router cũng phải thiết lập mối quan hệ cận kề định tuyến với router khác. Kết quả là tạo ra mô hình mạng full-mesh, trong đó bản thân mỗi router sẽ nắm giữ một số lượng lớn láng giềng có mối quan hệ cận kề về giao thức định tuyến, từ đó tạo ra lưu lượng định tuyến với số lượng lớn. • Khó mà biết chính xác bao nhiêu lưu lượng chạy giữa trên hai router trong mạng. Từ những hạn chế nói trên rõ ràng cần phải có một cơ chế khác để có thể trao đổi thông tin lớp mạng giữa các router và WAN switch, và để cho phép các switch tham gia vào tiến trình quyết định chuyển tiếp gói tin tức là không cần phải có các kênh ảo giữa các router biên nữa. Để đạt được sự chuyển tiếp như vậy thì trong bất kì môi trường mạng nào các thiết bị chuyển tiếp không nên phụ thuộc vào thông tin có trong mào đầu gói tin, thiết bị này chỉ cần chuyển mạch gói tin từ ingress router đến egress router mà không cần phân tích địa chỉ IP đích có trong gói tin. Do đó, đối với mỗi gói tin được chuyển tiếp sẽ có một nhãn được thêm vào, nhãn này sẽ đảm trách các vấn đề chuyển tiếp gói tin đến đích, các vấn đề về QoS, v.v nghĩa là chuyển tiếp gói tin dựa trên nhãn. Bất kỳ sự thay đổi nào trong tiến trình quyết định sẽ được thông báo cho router khác trong mạng thông qua việc phân phối một nhãn mới. Đó là lý do ra đời của MPLS (Multiprotocol Label Switching) - công nghệ chuyển mạch nhãn đa giao thức. 1.2. Chuyển mạch nhãn đa giao thức - MPLS MPLS là công nghệ kết hợp ra đời để giải quyết các vấn đề còn tồn tại trong chuyển mạch IP truyền thống. MPLS được các thành viên IETF xây dựng và đưa ra các chuẩn cho nó. MPLS là cơ chế chuyển mạch mới kết hợp các ưu điểm của chuyển mạch lớp 2 với các ưu điểm của định tuyến lớp 3. MPLS sử dụng nhãn để chuyển tiếp gói tin. Khối kiến trúc của MPLS có hai thành phần chính: • Mặt phẳng điều khiển: Đáp ứng cho việc tạo và duy trì thông tin chuyển tiếp nhãn (gọi là binding) giữa một nhóm switch chuyển mạch nhãn kết nối với nhau. Mặt phẳng điều khiển quan tâm đến việc trao đổi thông tin định tuyến và trao đổi nhãn giữa các thiết bị cận kề. Các giao thức định tuyến như OSPF, ISIS, EIGRP và các giao thức trao đổi nhãn như LDP, BGP (được sử dụng trong MPLS VPN) là nằm trong mặt phẳng điều khiển. • Mặt phẳng dữ liệu (hay còn gọi là mặt phẳng chuyển tiếp): sử dụng cơ sở dữ liệu chuyển tiếp nhãn được duy trì bởi một thiết bị chuyển mạch nhãn để thực hiện chuyển tiếp gói tin dựa trên thông tin nhãn mang trên gói tin. Mặt phẳng dữ liệu chỉ là một thành phần chuyển tiếp dựa trên nhãn đơn giản độc lập với các giao thức định tuyến và các giao thức trao đổi nhãn. 1.2.1. Nhãn MPLS 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. 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. 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. Format của nhãn : Một chồng nhãn 32 bit bao gồm các trường sau: • Nhãn: là nhãn thực sự, có chiều dài là 20 bit. Do đó ta có thể tạo ra được 220 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. Trước khi tìm hiểu chi tiết, ta cần biết một số định nghĩa sau: • LSR (Label Switching Router): router chuyển mạch nhãn. Bất kì router hay switch nào thực hiện thủ tục phân bố nhãn và có thể chuyển tiếp gói tin dựa trên nhãn đều được xếp vào loại này. LSR còn được gọi là router P. • Edge-LSR: là router hay switch nằm ở biên mạng MPLS, còn được gọi là Router PE. Router có thể nhận gói tin IP, thực hiện tìm kiếm lớp 3, và gắn nhãn vào gói tin trước khi chuyển tiếp gói tin vào miền MPLS. Nó có thể nhận gói tin có gắn nhãn, loại bỏ nhãn, thực hiện tìm kiếm lớp 3 và chuyển tiếp gói tin IP đến next-hop. • ATM-LSR: chạy các giao thức MPLS trong mặt phẳng điều khiển để thiết lập các kênh ảo ATM. Chuyển tiếp gói tin có gắn nhãn là các ATM cell. • ATM edge-LSR: là router hoặc switch có thể nhận gói tin có gắn nhãn hoặc không có gắn nhãn, phân đoạn nó thành các ATM cell và chuyển tiếp các cell đến next-hop ATM- LSR. Nó có thể nhận ATM cell từ ATM-LSR cận kề, tái tạo lại luồng cell thành luồng dữ liệu ban đầu và chuyển tiếp gói tin như là gói tin có gắn nhãn hoặc không có gắn nhãn. 1.2.2. Chuyển tiếp gói tin trong MPLS Trong mạng IP thông thường, các quyết định chuyển tiếp cho gói tin được thực hiện bằng cách tìm kiếm địa chỉ trong IP FIB để xác định next-hop và interface ngõ ra. Tuy nhiên, trong mạng MPLS thì mỗi LSR duy trì một cơ sở thông tin chuyển mạch nhãn (Label Forwarding Information Base - LFIB). Bảng LFIB bao gồm nhiều entry cho nhiều loại như entry chuyển tiếp nhãn đến hop tiếp theo (Next-hop Label Forwarding Entry – NHLFE), entry ánh xạ nhãn vào ( Incoming Label Map – ILM), entry ánh xạ FEC-to- NHLFE (FTN). NHLFE được sử dụng khi chuyển tiếp gói tin có gắn nhãn. Entry NHLFE bao gồm nhiều trường như địa chỉ của next-hop, các hoạt động chồng nhãn (thay nhãn ở đỉnh chồng nhãn bằng nhãn mới, rút chồng nhãn), interface ngõ ra, thông tin mào đầu lớp hai. Entry ILM sẽ liên kết một nhãn vào cho một hoặc nhiều NHLFE entry. ILM được sử dụng khi chuyển tiếp gói tin có gắn nhãn. Nhãn của gói tin đi vào chọn một entry ILM cụ thể nào đó mà nó định nghĩa NHLFE (xác định được các giá trị có trong entry NHLFE). FTN ánh xạ mỗi FEC đến một hay nhiều NHLFE. Có nghĩa là, thông qua các entry FTN, gói tin không có nhãn (có trong FEC) sẽ được gán nhãn vào. Cơ chế chuyển tiếp của MPLS có thể được diễn tả bằng các hoạt động sau: • Chèn nhãn (label imposition/ push): được ingress router thực hiện, nó sẽ chuyển đổi từ gói tin không nhãn thành gói tin có gắn nhãn bằng cách chèn nhãn vào phía trước mào đầu của gói tin. Để thực hiện được điều này, ingress LSR đầu tiên phải ánh xạ gói tin đến FEC cụ thể nào đó bằng cách dò tìm địa chỉ trên bảng IP FIB, sau đó tham khảo bảng LFIB để xác định nhãn ngõ ra, interface ngõ ra, và loại hình thức đóng gói (encapsulation) lớp 2 cho gói tin. • Chuyển đổi nhãn (label swapping): Hoạt động chuyển tiếp này được các transit LSR sử dụng. Các router này sử dụng nhãn trên đỉnh của chồng nhãn trong gói tin để tìm entry ILM trong LFIB (tức là kiểm tra nhãn ngõ vào). Entry ILM sẽ nhận diện NHLFE tương ứng, vì NHLFE cung cấp tất cả thông tin cần thiết cho việc truyền gói tin. LSR trung gian sử dụng thông tin trong NHLFE để tìm interface ngõ ra, nhãn ngõ ra cho gói tin này. Sau đó nó chuyển đổi nhãn ngõ vào thành nhãn ngõ ra thích hợp và gửi gói tin ra ngoài interface đến next-hop. • Rút nhãn (label disposition/popping): hoạt động này được egress LSR sử dụng. LSR sử dụng nhãn ở đỉnh trong chồng nhãn trong gói tin để xác định entry ILM và NHLFE tương ứng trong LFIB. Hoạt động chồng nhãn cho biết gói tin này cần được truyền đi là gói tin không có gán nhãn. LSR sẽ rút nhãn ra và chuyển đi gói tin không nhãn đến next-hop. Do đó ta thấy egress LSR trong mạng MPLS có thể phải thực hiện hai quá trình kiểm tra trên gói tin mà nó nhận được từ transit LSR láng giềng với nó. Thứ nhất, nó phải kiểm tra nhãn trong mào đầu để quyết định xem hoạt động cần thiết đối với gói tin này, trong trường hợp này là rút nhãn ra khỏi gói tin. Thứ hai, nó phải thực hiện kiểm tra lớp 3 trên gói tin IP trước khi chuyển tiếp gói tin đến đích. Việc thực hiện cả hai lần kiểm tra có thể làm giảm hoạt động của node đó. Do đó khái niệm Penultimate Hop Popping (PHP) được ra đời để giải quyết vấn đề trên. Với PHP, egress LSR có thể yêu cầu hoạt động rút nhãn từ láng giềng upstream của nó (tức là từ transit router kết nối với nó) thông qua các giao thức phân phối nhãn như LDP (Label Distribution Protocol) bằng cách sử dụng các giá trị nhãn đặc biệt gọi là nhãn có giá trị implicit-null (giá trị bằng 3 cho LDP). Khi egress LSR yêu cầu PHP cho IP prefix, entry local LIB trong egress LSR và entry LIB đầu xa trong upstream LSR chỉ ra giá trị imp-null. Nghĩa là LDP phân phối nhãn Implicit-Null cho FEC. Tóm lại, quyết định chuyển tiếp IP thông thường dựa trên việc kiểm tra bảng FIB, trong khi đó quyết định chuyển tiếp MPLS chỉ dựa trên quá trình hoặc là tìm trong bảng LFIB hoặc là FIB và LFIB. Thuật toán chuyển tiếp MPLS sử dụng cơ chế chuyển đổi nhãn (label-swapping). Vì phần chủ yếu của thời gian tìm kiếm được sử dụng bộ nhớ, hoạt động của bất kì thuật toán tìm kiếm nào cũng được đo bằng việc truy nhập bộ nhớ. Do đó, số lần truy nhập bộ nhớ càng nhỏ thì thời gian tìm kiếm nhanh hơn. Chuyển tiếp MPLS đơn giản hơn chuyển tiếp IP vì nó sử dụng việc đúng chính xác nhãn ngõ vào với chiều dài cố định để xác định thông tin chuyển tiếp. Do đó, không như việc tìm kiếm địa chỉ IP, thuật toán chuyển mạch nhãn MPLS có thể xác định thông tin chuyển tiếp cần thiết chỉ cần một lần truy nhập bộ nhớ. Hoạt động tìm kiếm MPLS đơn giản này có thể là ưu điểm đối với các router có phần cứng nhạy cảm với các hoạt động tìm kiếm. Thời gian tìm kiếm nhanh và đơn giản trên tất cả các ứng dụng như mạng riêng ảo VPN, kỹ thuật lưu lượng TE đã làm cho chuyển mạch nhãn trở thành công nghệ thu hút cho việc xây dựng khối chuyển tiếp có khả năng mở rộng. 1.2.3. Mặt phẳng điều khiển và mặt phẳng dữ liệu trong MPLS 1.2.3.a. Bảng LIB Tương tự như IP có hai cơ sở dữ liệu riêng biệt là RIB và FIB thì trong MPLS cũng có hai cơ sở dữ liệu là LIB (Label Information Base) và LFIB. LIB có vai trò giống như RIB (Routing Information Base), nó nằm trong mặt phẳng điều khiển. LIB lưu các nhãn được đăng kí bởi LSR và các ánh xạ FEC-to-label mà LSR nhận được thông qua các giao thức phân phối nhãn. Khi một giao thức phân phối nhãn muốn liên kết một nhãn với FEC, nó sẽ yêu cầu nhãn ngõ vào từ LIB (tức là yêu cầu các nhãn cục bộ). Tương tự, khi một giao thức phân phối nhãn học được nhãn cho một FEC nào đó, nó cung cấp nhãn ngõ ra cho LIB (nhãn này là nhãn từ láng giềng downstream). LIB được xem là cơ sở dữ liệu nhãn cho tất cả các giao thức phân phối nhãn. Do đó bảng LIB có cấu trúc như sau: Hình 1.3: Cấu trúc bảng LIB 1.2.3.b. Bảng LFIB Cấu trúc của bảng LFIB đã được mô tả ở trên (trong mục 2). Bảng LFIB nằm trong mặt phẳng dữ liệu. Bảng LFIB chỉ sử dụng các nhãn dùng cho chuyển mạch gói tin. Việc xây dựng các entry LFIB yêu cầu thông tin được cung cấp bởi cả các giao thức định tuyến IP và các giao thức phân phối nhãn (thông qua LIB). Ví dụ, ánh xạ FEC đến next-hop được cung cấp bởi các giác thức định tuyến IP, ánh xạ FEC đến nhãn được cung cấp bởi các giao thức phân phối nhãn, và quan hệ cận kề được tạo ra thông qua ARP. Nó được sử dụng cho các hoạt động chồng nhãn mà ta đã nhắc ở phần trước. Bảng LFIB có cấu trúc như sau: Hình 1.4: Cấu trúc bảng LFIB . HƯƠNG 1. TỔNG QUAN VỀ MPLS 1. 1. Chuyển tiếp IP và những hạn chế của nó 1. 2. Như ta đã biết Internet là một tập hợp các mạng kết nối với. nhãn mới. Đó là lý do ra đời của MPLS (Multiprotocol Label Switching) - công nghệ chuyển mạch nhãn đa giao thức. 1. 2. Chuyển mạch nhãn đa giao thức - MPLS MPLS là công nghệ kết hợp ra đời. giao thức trao đổi nhãn. 1. 2 .1. Nhãn MPLS 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. MPLS được thiết kế để