Trong phần này, giới thiệu một số thuật toán định tuyến QoS trong mạng MPLS đã được đề xuất như: Thuật toán Bước nhảy tối thiểu (Minhop -MHA), thuật toán tìm đường ngắn nhất và rộng nhất (Widest Shortest Path -WSPA), thuật toán tìm đường rộng nhất và ngắn nhất (Shortest Widest Path - SWPA), thuật toán định tuyến nhiễu tối thiểu MIRA. Hầu hết các phương pháp định tuyến trên đều chạy trên cơ sở thuật toán Dijkstra và tóm lược các ưu, nhược điểm của thuật toán sẽ được trình bày dưới đây theo từng thuật toán.
Thuật toán bước nhảy tối thiểu (MHA)
Thuật toán bước nhảy tối thiểu là thuật toán đơn giản nhất nhằm tìm ra một đường dẫn với số bước nhảy tối thiểu từ nguồn tới đích, mặc dù thuật toán này có khả năng tìm được đường dẫn đáp ứng được yêu cầu băng thông và có ưu điểm là tính toán nhanh, nhưng MHA gây ra hiện tượng nghẽn cổ chai tại liên kết tải lớn trong mạng. MHA có khuynh hướng sử dụng cùng một đường dẫn cho tới khi đạt tới tình trạng bão hoà trước khi chuyển sang các đường dẫn khác có mức tải thấp hơn.
Thuật toán tìm đường rộng nhất và ngắn nhất (SWPA)
Thuật toán tìm đường rộng nhất và ngắn nhất (SWPA) sử dụng băng thông như là một tham số đo lượng và lựa chọn đường dẫn với băng thông nghẽn cổ chai tối đa. Băng thông nghẽn cổ chai tối đa của một đường dẫn là băng thông dư tối thiểu trong tất cả các liên kết của một đường dẫn. Nếu có nhiều hơn một đường dẫn có cùng băng thông dư tối thiểu, thuật toán sẽ chọn đường có số lượng bước nhảy ít nhất. Nhược điểm của thuật toán này là ưu tiên băng thông nhằm tối ưu tải liên kết mà bỏ qua các tham số khác.
Giải thuật tìm đường đi ngắn nhất và rộng nhất (WSP)
Thuật toán tìm đường đi ngắn nhất và rộng nhất (WSP) là thuật toán được nâng cấp từ thuật toán bước nhảy tối thiểu,WSP cố gắng cân bằng tải trọng của lưu lượng mạng. Trên thực tế thì WSP chọn một đường dẫn khả thi nhất cùng với số bước nhảy bé nhất và nếu có nhiều hơn một đường dẫn khả thi cùng với số bước nhảy như vậy thì một đường dẫn sẽ được chọn ra cùng với độ dư băng thông lớn nhất, như vậy sẽ làm giảm liên kết tải trọng nặng. Mục tiêu của thuật toán WSP là để chọn một con đường ngắn nhất mà là một con đường có tính khả thi theo sự rằng buộc về băng thông của lưu lượng. Số đo chính trong thuật toán WSP là số bước nhảy và số đo thứ 2 là băng thông sẵn có (còn dư), trong giai đoạn một tồn tại tất cả các con đường ngắn nhất giữa mỗi nguồn và tất cả các đích trong mạng là một sự tính toán. Trong giai đoạn 2 băng thông được sử dụng. WSP có thể tính toán bằng phiên bản sửa đổi của Bellman-Ford hoặc thuật toán Dijkstra. Sự mở rộng để thuật toán Dijkstra thay thế cho sự tính toán của WSP. Mục đích chính của WSP là để giảm tải chi phí cho mạng. Từ đó sự duy trì tài nguyên mạng là đặc biệt quan trọng khi mạng bị tắc nghẽn, kiểu thuật toán này mang lại hiệu quả cao khi mạng có tải trọng cao. WSP thực thi tốt bởi vì tài nguyên được bảo vệ đồng thời bằng cách chọn con đường ngắn và cân băng tải trọng bằng cách chọn con đường rộng giữa các con đường có độ dài như nhau.
Mục tiêu của thuật toán này là cung cấp đường dẫn có nhiễu ít nhất với các yêu cầu kết nối đường dẫn chuyển mạch nhãn (LSP) trong tương lai giữa các cặp nguồn - đích khác (Sj,Tj). thuật toán này giả thiết có một số nhận định về tiềm năng của các cặp nguồn- đích. Nhận định về tiềm năng của cặp nguồn- đích cho phép định tuyến lưu lượng mới dọc theo các đường dẫn không bị tới hạn bởi yêu cầu trong tương lai, vì vậy nó giảm được các số từ chối yêu cầu kết nối. Nhiễu của một đường dẫn có thể được định nghĩa như là sự suy giảm giá trị luồng tối đa của một cặp nguồn đích do vấn đề định tuyến trên cùng một LSP của các cặp nguồn đích khác. Các liên kết tới hạn là các liên kết khi sử dụng trong một hướng mới giữa một cặp nguồn-đích, nó làm suy giảm tốc độ luồng tối đa giữa các cặp khác. Nó tính toán đường dẫn ngắn nhất bằng cách đặt giá liên kết là tham số tới hạn và chạy thuật toán Dijkstra. Nhược điểm của thuật toán này là sử dụng phương pháp tính nhằm đạt được tối đa số các yêu cầu, vì vậy nó có thể chọn các đường dẫn dài và tải cao thay vì các đường dẫn có số bước nhảy ngắn nhưng rơi vào tới hạn, điều đó sẽ dẫn tới tải tổng thể của mạng sẽ tăng lên. Hơn nữa, khi sử dụng các cặp nguồn –đích để tính các liên kết tới hạn, thuật toán không xác nhận tải thực tế sử dụng trên các cặp liên kết này, vì vậy mức ảnh hưởng của các cặp liên kết có tải khác nhau là khác nhau. Nhược điểm cuối cùng là MIRA không tính toán cho các yêu cầu trên cùng một cặp nguồn - đích (trường hợp tự can nhiễu).
. Giải pháp báo hiệu đảm bảo QoS
Tham gia vào quá trình chuyển thông tin trong mạng MPLS có một số giao thức như LDP, RSVP. Trong phần này chúng ta sẽ tìm hiểu về các giao thức báo hiệu đảm bảo QoS trong mạng MPLS.
1. Mô hình IntServ và MPLS
MPLS tái sử dụng các giao thức của IP, RSVP cũng là một trong các giao thức được tái sử dụng cà được cải thiện. RSVP nguyên thủy [RFC 2205] được thiết kế cho các ứng dụng thời gian thực qua mạng Internet. Đã có rất nhiều các ứng dụng mở rộng của RSVP để hỗ trợ thêm các đặc tính như bảo mật và khả năng mềm dẻo, hỗ trợ các giao diện tới các thiết bị trong miền DiffServ, hỗ trợ kỹ thuật lưu lượng các ứng dụng mới như MPLS và GMPLS (RSVP-TE).
Hình 3.19: Thực hiện phân bổ nhãn qua RSVP-TE
Các đặc tính của RSVP-TE [RFC 3209] là sự mở rộng phần lõi của RSVP để thiết lập các tuyến đường hiện dựa trên định tuyến ràng buộc các LSP trong mạng MPLS sử dụng RSVP làm giao thức báo hiệu. Dự trữ tài nguyên là thành phần rất quan trọng cảu xử lý lưu lượng. Đây là một trong các lý do để nhóm làm việc MPLS chon RSVP hơn là đi xây dựng một giao thức mới hoàn toàn để hỗ trợ kỹ thuật lưu lượng. RSVP mở rộng thành giao thức báo hiệu để hỗ trợ việc tạo LSPs có thể được định tuyến tự động tránh khỏi lỗi mạng và tắc nghẽn. RSVP đơn giản hóa việc vận hành mạng bằng quá trình sử lý lưu lượng một cách tự động. RSVP-TE sử dụng các bộ định tuyến chuyển mạch để thiết lập, duy trì các đường ống LSP và để phục vụ tài nguyên cho các LSP đó.
Mục tiêu đầu tiên của việc bổ sung hỗ trợ RSVP vào MPLS là cho phép các LSR dựa vào việc phân loại gói tin theo nhãn chứ không phải theo mào đầu IP nhận biết các gói tin thuộc các luồng của cổng dành riêng. Nói cách khác, cần phải tạo và kết hợp phân phối giữa các luồng và các nhãn cho các luồng có các cổng dành riêng RSVP. Chúng ta có thể xem một tập các gói tin tạo ra bởi cổng dành riêng RSVP như là một trường hợp riêng khác của FEC.
Điều này trở nên khá dễ dàng để kết hợp các nhãn với các luồng dành riêng trong RSVP, ít nhất là với unicast. Chúng ta định nghĩa một đối tượng RSVP mới là đối tượng LABEL được mang trong bản tin RSVP Resv. Khi một LSR muốn gửi bản tin RESV cho một luồng RSVP mới, LSR cấp phát một nhãn từ trong tập nhãn rỗi, tại một lối vào trong LFIB của nó với nhãn lối vào được đặt cho nhãn cấp phát, và gửi đi bản tin RESV có chứa nhãn này. Chú ý là các bản tin RESV truyền từ bộ nhận tới bộ gửi là dưới dạng cấp phát nhãn xuôi.
Khi nhận được bản tin RESV chứa đối tượng LABEL, một LSR thiết lập LFIB của nó với nhãn này là nhãn lối ra. Sau đó nó cấp phát một nhãn để sử dụng như là nhãn lối vào và chèn nó vào bản tin RESV trước khi gửi nó đi. Rõ ràng là, khi các bản tin RESV truyền đến LSR ngược thì LSP được thiết lập dọc theo tuyến đường. Cũng chú
ý là, khi các nhãn được cung cấp trong các bản tin RESV, mỗi LSR có thể dễ dàng kết hợp các tài nguyên QoS phù hợp với LSP. Hình 3.20 minh hoạ quá trình trao đổi này. Trong trường hợp này chúng ta giả sử các máy chủ không tham dự vào việc phân phối nhãn. LSR R3 cấp phát nhãn 5 cho cổng dành riêng này và thông báo nó với R2. R2 cấp phát nhãn 9 cũng cho cổng dành riêng này và thông báo nó tới R1. Bây giờ đã có một LSP cho luồng dành riêng từ R1 tới R3. Khi các gói tin tương ứng với cổng dành riêng này (ví dụ gói tin gửi từ H1 tới H2 với số cổng nguồn, đích thích hợp và số giao thức giao vận thích hợp) tới R1, R1 phân biệt nó bằng các thông tin mào đầu IP và lớp truyền tải để tạo ra QoS thích hợp cho cổng dành riêng ví dụ như đặc điểm và hàng đợi các gói tin trong hàng đợi lối ra. Nói cách khác, nó thực hiện các chức năng của một bộ định tuyến tích hợp dịch vụ sử dụng RSVP. Hơn nữa, R1 đưa mào đầu nhãn vào các gói tin và chèn giá trị nhãn lối ra là 9 trước khi gửi chuyển tiếp gói tin tới R2.
Khi R2 nhận gói tin mang nhãn 9, nó tìm kiếm nhãn đó trong LFIB và tìm tất cả các trạng thái liên quan đến QoS để xem kiểm soát luồng, xếp hàng đợi gói tin, v.v.. như thế nào. Điều này tất nhiên không cần kiểm tra tiêu đề lớp IP hay lớp truyền tải. Sau đó R2 thay thế nhãn trên gói tin với một nhãn lối ra từ LFIB của nó (mang giá trị 5) và gửi gói tin đi.
Hình 3.20: Nhãn phân phối trong bảng tin RESV