Thuật toán cân bằng tải động, điều khiển tắc nghẽn (Dynamic load

Một phần của tài liệu Phân tích hiệu năng hoạt động định tuyến trong mạng MPLS và ứng dụng vào thực tế (Trang 84 - 89)

balancing algorithm)

Mục đích chính của cơ chế này là cân bằng tải động trong việc sử dụng hiệu quả nguồn tài nguyên băng thông của mạng MPLS thông qua một thuật toán tìm kiếm nội bộ mạng. Thuật toán này được dựa trên một chuỗi các bước thực hiện nhỏ

bởi vì một sự thay đổi lớn của cơ chếđịnh tuyến lớn có thể phá vỡ cấu trúc mạng. Ý tưởng này là làm giảm tối thiểu mức độ nghẽn của mạng. Với mỗi liên kết (link) xuất hiện tình trạng nghẽn thì các luồng lưu lượng chạy trên nó sẽ được định tuyến sang các đường thay thế khác.

Hình 5.3 đưa ra mã pseudo-code của thuật toán Dynamic Load Balancing. Tham số x cho biết ngưỡng của băng thông dư còn lại trên các liên kết và nó cho biết một liên kết có thể coi là nghẽn cho các mức độ tải lưu lượng trên mạng. Thuật toán này được kích hoạt khi thiết lập một LSP mới và LSP này là nguyên nhân gây ra nghẽn của mạng (khi chỉ 5% băng thông dư còn lại trên các liên kết). Đầu tiên là sự thiết lập các đường dẫn thay thế dùng để định tuyến lại một LSP chạy trên một liên kết nghẽn được tìm thấy. Sau đó LSP đó sẽđược tái định tuyến sang đường dẫn thay thế tốt nhất.

Chương 5: Định tuyến trong mng MPLS

Thuật toán cân bằng tải động như trên hình 5.3 được giải thích chi tiết như sau: Hầu hết các liên kết nghẽn xác định bởi tối thiểu khả năng sẵn có của mạng được

đưa vào trong tập các congestedLinkSet, được tính toán thông qua chức năng calculateNetworkLoad. Việc thiết lập candidateRerouteSet chứa đựng các đường truyền ứng cử thay thế những đường đi qua các liên kết nghẽn.

Hình 5.3Thuật toán cân bằng tải động

Phần đầu từ dòng 4 - 14 là phần chính của thuật toán. Chúng ta coi mỗi liên kết nghẽn nằm trong tập hợp congestedLinkSet, ký hiệu là (cFrom, cTo). Với mỗi LSP chạy qua liên kết (cFrom, cTo) sẽ phải cố gắng định tuyến lại tuyến đường của nó sang một tuyến đường thay thế khác, chấp nhận định tuyến ngay cả khi tuyến

đường mới không tăng khả năng sẵn có của mạng. Để làm được điều này, trước tiên tạm thời loại bỏ tải lưu lượng của các LSP hiện tại chạy trên liên kết nghẽn đó và tính toán một đường mới bắt đầu từ LER của các LSP, với điều kiện là các liên kết tránh được nghẽn.

Đường truyền thay thế tốt nhất, với tải lưu lượng lớn nhất sẽ nằm trong tập hợp candidateRerouteSet, dòng lưu lượng tối thiểu sẽ được lưu trong bestCandidateLoad. Nếu tải lưu lượng đạt được sau khi LSP này định tuyến lại ngang bằng với bestCandidateLoad, khi đó LSP thay thế sẽđược thêm vào trong tập

Chương 5: Định tuyến trong mng MPLS

các đường ứng cử; nếu tải lưu lượng nhỏ hơn thì tập các ứng cử sẽ khởi đầu lại với LSP thay thế hiện tại (được coi là tốt nhất). Cuối cùng, sau khi tìm thấy các đường thay thế, từng phần tải lưu lượng của các LSP gốc sẽđược định tuyến vào trong các

đường thay thế mới với các LSP khác nhau.

Trong phần thứ hai của thuật toán (dòng 15-17), nếu kết quả của việc thiết lập tập candidateRerouteSet là không rỗng thì một phần tử ngẫu nhiên sẽ được chọn, và quá trình định tuyến lại sẽ thực hiện hiệu quả trên mạng.

Hình 5.4 đưa ra một ví dụ về quá trình định tuyến lại của thuật toán này. Mỗi liên kết trong mạng có dung lượng băng thông là 1 đơn vị. Lượng băng thông yêu cầu cho mỗi LSP là một phần băng thông của các liên kết. Trong (a), liên kết (cFrom, cTo) phát hiện tình trạng nghẽn, vì vậy thuật toán bắt đầu được khởi tạo tìm kiếm trên các LSP chạy qua liên kết (cFrom, cTo). Đường LSP chiếm băng thông lớn nhất trong mạng sẽ là LSP1, nên router đầu vào I-LER sẽ tái định tuyến lưu lượng này vào một đường mới (trong hình 5.4b.)

Hình 5.4Cơ chếđịnh tuyến lại của thuật toán cân bằng tải động: (a) khi phát hiện ra tình trạng nghẽn, (b) sau khi định tuyến lại tuyến LSP1

Chương 5: Định tuyến trong mng MPLS

Thuật toán này có thể thực hiện được trong cả cấu trúc tập trung (centralized) hay phân tán (distributed).

Trong cấu trúc centralized một cho cơ chế làm việc tựđộng trên các khoảng thời gian ngắn sẽ được thực hiện bởi hệ thống quản lý mạng, hệ thống này sẽ tập hợp tất cả thông tin của các phần tử trong mạng sớm nhất ngay xuất hiện tình trạng nghẽn (ví dụ khi băng thông dư còn lại trên mỗi liên kết chỉ còn 5% dung lượng).

Trong cấu trúc phân tán, thuật toán này được sử dụng hiệu quả nhất trong mạng MPLS nhưng lại phức tạp hơn so với các thuật toán trước. Trong trường hợp này, mỗi router đầu vào LER sẽ tính toán chính xác các tuyến LSP bằng cách sử

dụng thông tin tựđộng mà nó có thể lấy được từ các giao thức định tuyến trạng thái liên kết hiện tại. Việc sử dụng những thông tin này, một hay nhiều LERs có thể phát hiện ra những xuất hiện nghẽn, và những router này sẽ cần phải sử dụng một số

giao thức báo hiệu như là RSVP-TE hay CR-LDP. Dưới đây là một ví dụ thể hiện

ưu điểm của thuật toán này so với thuật toán MIRA. Mô hình này tương tự như mô hình trên hình 5.2 tuy nhiên trong mô hình 4.2 tất cả các liên kết đều có băng thông là 1 đơn vị, trong mô hình 4.5 thì ngoài liên kết (3,9) có băng thông là 2 Mbps thì các liên kết còn lại đều có băng thông là 1 Mbps.

Chương 5: Định tuyến trong mng MPLS

Với mô hình trên, các node 0, 1, 2 được coi như là các nguồn, các node 10, 11, 12

được xem như là các đích nhận lưu lượng.

Trường hợp 1: Mô hình sử dụng thuật toán MIRA

- Đầu tiên ta cho các nguồn lưu lượng vào các node đầu vào đều là 1 Mbps, khi đó ta sẽ có được các tuyến đường chính xác như sau:

Set-up order Bandwidth from to Explicit route

LSP1 1 Mbps 2 12 4-3-9-8

LSP2 1 Mbps 1 11 3-9

LSP3 1 Mbps 0 10 Blocked

Với mô hình và các thông số như thế này thì liên kết (3,9) không là một liên kết tới hạn, do vậy khi LSP1 giữa (2,12) được thiết lập nó sẽ được định tuyến theo con

đường 4-3-9-8, tiếp theo sau đó LSP2 giữa (1,11) sẽđược định tuyến theo đường 3- 9 và như vậy 2 tuyến LSP1 và LSP2 sẽ chiếm toàn bộ băng thông của liên kết 3-9 cũng như 3-4 và do đó sẽ không còn băng thông dư nào để cho LSP3 giữa (0, 10)

đi qua. Như vậy tuyến LSP3 sẽ bị blocked.

- Lần này ta cho các luồng lưu lượng đầu vào như sau:

Set-up order Bandwidth From To Explicit route Average delay

LSP1 0.8 Mbps 2 12 4-3-9-8 0.0667 sec

LSP2 0.8 Mbps 1 11 3-9 0.0348 sec

LSP3 1 Mbps 0 10 3-4-5-6-7-8-9 0.2306 sec

Ở trường hợp này băng thông dư trên liên kết 3-9 cũng như 3-4 vẫn còn nên LSP3 vẫn có thể thiết lập truyền lưu lượng, tuy nhiên băng thông dư này không đủ đáp

ứng yêu cầu của LSP3 nên sẽ xuất hiện tình trạng mất gói lớn đồng thời độ trễ cũng sẽ cao và làm giảm hiệu năng của mạng.

Trường hợp 2: Mô hình sử dụng thuật toán cân bằng tải động

Chương 5: Định tuyến trong mng MPLS

thuật toán cân bằng tải động ta có kết quả như sau:

Set-up order Bandwidth from to Explicit route Notes

LSP1 1 Mbps 2 12 4-3-9-8

LSP2 1 Mbps 1 11 3-9 link 3-9 congested

LSP1 1 Mbps 2 12 4-5-6-7-8 LSP rerouted

LSP3 1 Mbps 0 10 3-9

Ta có thể thấy rằng khi LSP2 được thiết lập xong sẽ phát hiện nghẽn trên link 3-9, khi đó thuật toán định tuyến động được kích hoạt và đường dự phòng cho LSP1 được tìm thấy, và tuyến LSP1 sẽ được định tuyến lại sang đường 4-5-6-7-8, và tuyến 3-9 sẽ giành cho LSP3.

- Ở trường hợp khác, khi băng thông yêu cầu của LSP1, LSP2 là 0.8 Mbps, của LSP3 là 1 Mbps ta có kết quả như sau:

Set-up order Bandwidth from to Explicit route Average delay

LSP1 0.8 Mbps 2 12 4-3-9-8 0.0667 sec

LSP2 0.8 Mbps 1 11 3-9 0.0348 sec

LSP1 1 Mbps 2 12 4-5-6-7-8 (rerouted) 0.0802 sec

LSP3 1 Mbps 0 10 3-9 0.0352 sec

Trong trường hợp này LSP1 sẽ được định tuyến lại sang tuyến 4-5-6-7-8, còn LSP2, LSP3 sẽ đi theo tuyến 3-9. Ta có thể nhận thấy băng thông của 2 tuyến này

đủ cho các luồng lưu lượng đi qua, do đó sẽ không còn tình trạng mất gói, đồng thời độ trễ của các tuyến cũng sẽ giảm hơn so với khi sử dụng thuật toán MIRA. Từ các ví dụ trên ta thấy thuật toán cân bằng tải động tuy có phức tạp hơn so với các thuật toán khác nhưng lại có những ưu điểm vượt trội, nhất là khi được sử dụng trong những mạng có cấu trúc lớn.

Một phần của tài liệu Phân tích hiệu năng hoạt động định tuyến trong mạng MPLS và ứng dụng vào thực tế (Trang 84 - 89)

Tải bản đầy đủ (PDF)

(116 trang)