Định tuyến ràng buộc

Một phần của tài liệu Nghiên cứu kỹ thuật lưu lượng tái định tuyến nhanh FRR trong mạng MANE của VNPT Đà Nẵng (Trang 35 - 41)

CƠ CHẾ ĐỊNH TUYẾN LƯU LƯỢNG TRONG MPLS

2.3 ĐỊNH TUYẾN TRONG MPLS

2.3.1 Định tuyến ràng buộc

Định tuyến ràng buộc là một phương tiện để thực hiện xử lý tự động hóa kỹ thuật lưu lượng, khắc phục được các hạn chế của định tuyến theo đích. Nó xác định các route không chỉ dựa trên topology mạng (thuật toán chọn đường ngắn nhất SPF) mà còn sử dụng các metric đặc thù khác như băng thông, trễ, cost và biến động trễ.

Giải thuật chọn đường có khả năng tối ưu hóa theo một hoặc nhiều metric này, thông thường người ta dùng metric dựa trên số lượng hop và băng thông. Để đường được chọn có số lượng hop nhỏ nhất nhưng phải đảm bảo băng thông khả dụng trên tất cả các chặng liên kết, quyết định cơ bản như sau: Chọn đường ngắn nhất trong số tất cả các đường có băng thông khả dụng thỏa mãn yêu cầu.

Hình 2.14. Ví dụ định tuyến ràng buộc

Để minh họa hoạt động của định tuyến ràng buộc, xét cấu trúc mạng “con cá” kinh điển như hình 2.14. Giả sử rằng định tuyến ràng buộc sử dụng số hop và băng thông khả dụng làm các metric. Lưu lượng 600 Kbps được định tuyến trước tiên, sau đó là lưu lượng 500 Kbps và 200 Kbps. Cả 3 loại lưu lượng này đều hướng đến cùng một ER.

Vì lưu lượng 600 Kbps được định tuyến trước nên nó đi theo đường ngắn nhất là R8-R2-R3-R4-R5.Vì băng thông khả dụng là như nhau trên tất cả các chặng nên lưu lượng 600 Kbps chiếm 60% băng thông và vì băng thông khả dụng của đường ngắn nhất không đủ cho cả 2 lưu lượng 600Kbps và 500 Kbps, nên lưu lượng 500 Kbps được định tuyến đi theo đường mới qua R6 và R7 mặc dù nhiều hơn một hop so với đường cũ. Với lưu lượng 200 Kbps tiếp theo, vì vẫn còn băng thông khả dụng trên đường ngắn nhất nên đường này được chọn để chuyển lưu lượng 200 Kbps.

Định tuyến ràng buộc có thể hoạt động online hay offline. Kiểu online cho phép các router tính đường cho các LSP bất kỳ lúc nào.Trong kiểu offline, một server không trực tuyến sẽ tính toán đường cho các LSP theo định kỳ (chu kỳ có thể được chọn bởi nhà quản trị, thường là vài giờ hoặc vài ngày). Các LSP được báo hiệu thiết lập theo các đường đã được chọn. LSP sẽ được định hình để đưa ra cách tính toán đường dẫn.

Thuật toán định tuyến ràng buộc

Định tuyến ràng buộc phải tính toán xác định đường đi thoả mãn điều kiện:

- Tối ưu theo một tiêu chuẩn nào đó (Đường ngắn nhất, số chặng ít nhất,...) - Thoả mãn các điều kiện ràng buộc.

Thuật toán SPF thường được sử dụng để tìm đường tối ưu theo tiêu chuẩn nào đó. Các mạng IP truyền thống sử dụng thuật toán này để tìm đường tối ưu dựa trên số hop, đường đi ngắn nhất v.v… mà không tính tới các yếu tố bổ sung như trễ, biến thiên trễ v.v…Để thoả mãn tất cả các điều kiện ràng buộc thì thuật toán SPF cần phải thay đổi để bao gồm các điều kiện ràng buộc. Thuật toán mới này gọi là SPF cưỡng bức (CSPF).

Thuật toán SPF hoạt động khởi đầu tại một nút được gọi là gốc và bắt đầu tính toán xây đường ngắn nhất ứng với gốc là nút đó. Tại mỗi vòng của thuật toán sẽ có một danh sách các nút “ứng cử” không nhất thiết phải là ngắn nhất. Tuy nhiên ứng với nút “ứng cử” ở ngay kề nút gốc thì đường nối tới nút này phải là ngắn nhất.

Vì vậy tại mỗi vòng, thuật toán sẽ tách nút có đường ngắn nhất tới nút gốc từ danh sách nút “ứng cử”. Nút này sẽ được bổ sung vào cây đường ngắn nhất, thì các nút không nằm trên cây đường ngắn nhất nhưng liền kề ngay nút này cũng được kiểm tra để bổ sung hoặc sửa đổi danh sách nút “ứng cử”. Sau đó thuật toán lại được thực hiện lặp lại. Trong trường hợp tìm đường ngắn nhất từ một gốc đến tất cả các nút khác trong mạng thì thuật toán sẽ dừng khi nào danh sách các nút “ứng cử” là rỗng.

Trong trường hợp tìm đường ngắn nhất từ một gốc đến một nút cụ thể thì thuật toán sẽ dừng lại khi nào nút đó được bổ sung vào cây đường ngắn nhất. Thuật toán SPF để tính toán xác định đường ngắn nhất từ nút nguồn đến nút đích có thể được thực hiện theo các bước sau:

- Bước 1: Đặt danh sách các nút “ứng cử” bằng rỗng. Đặt cây đường ngắn nhất chỉ có gốc S. Đối với mỗi nút liền kề gốc đặt độ dài đường bằng độ dài kênh giữa gốc và nút. Đối với tất cả các nút khác, đặt độ dài này bằng vô cùng.

- Bước 2: Đặt tên nút bổ sung vào cây đường ngắn nhất là V. Kiểm tra các nút phía còn lại của mỗi kênh nối vào nút này. Đánh dấu các nút này là W.

Bước 2a: Nếu như nút W này đã có trong danh sách cây đường ngắn nhất thì kiểm tra tiếp với các kênh còn lại nối với nút V.

Bước 2b: Trong trường hợp ngược lại (W không nằm trong danh sách cây đường ngắn nhất) thì tính độ dài của đường nối từ gốc đến nút W (độ dài này bằng tổng độ dài của đường nối từ gốc đến nút V cộng với độ dài từ nút V đến nút W). Nếu W không nằm trong danh sách các nút “ứng cử” thì giá trị độ dài đường hiện thời lớn hơn giá trị độ dài đường mới tính và gán giá trị độ dài đường từ gốc đến nút W bằng độ dài mới tính.

- Bước 3: Trong danh sách nút “ứng cử”, tìm một nút với độ dài đường ngắn nhất. Bổ sung nút này vào cây đường ngắn nhất và xoá nút này khỏi danh sách nút

“ứng cử”. Nếu đây là nút đích D thì thuật toán kết thúc và ta được cây đường ngắn nhất từ nút nguồn SPF đến nút đích. Nếu ngược lại thì quay trở lại bước 2.

Từ các bước của thuật toán SPF để trở thành CSPF, ta phải sửa đổi bước thực hiện bổ sung sửa đổi danh sách nút “ứng cử”. Cụ thể là bước 2, khi chúng ta kiểm tra các kênh nối với nút V, đối với mỗi kênh trước hết chúng ta kiểm tra xem kênh đó có thoả mãn điều kiện ràng buộc không. Chỉ khi điều kiện này được thoả mãn, sau đó chúng ta mới kiểm tra nút W ở đầu kia của kênh. Thông thường chúng ta hay gặp bài toán tìm đường từ S đến D thoả mãn một số điều kiện ràng buộc là C1, C2,…,Cn. Khi đó tại bước 2 chúng ta sẽ kiểm tra tất cả các kênh nối với nút V, đối với mỗi kênh trước hết chúng ta kiểm tra xem nó có thoả mãn điều kiện C1, C2,.., Cn. Chỉ khi kênh thoả mãn tất cả các điều kiện ràng buộc thì chúng ta mới kiểm tra nút W ở phía đầu kia của kênh.

Về tổng quát, thủ tục kiểm tra xem kênh có thoả mãn một điều kiện ràng buộc cụ thể là đặc điểm của định tuyến ràng buộc. Để kiểm tra kênh có thoả mãn một điều kiện ràng buộc cụ thể nào đó thì ta phải biết trước các thông tin của kênh tương ứng có liên quan đến điều kiện ràng buộc. Ví dụ nếu điều kiện ràng buộc cần thoả mãn là độ rộng băng tần khả dụng thì chúng ta cần biết trước thông tin về độ rộng băng tần khả dụng của từng kênh và tiến hành kiểm tra độ rộng băng tần khả

dụng của kênh có lớn hơn một giá trị độ rộng băng tần được chỉ ra trong điều kiện ràng buộc và chỉ khi thoả mãn ta mới kiểm tra nút W ở đầu kia của kênh.

Thuật toán xác định đường sử dụng trong CSPF, yêu cầu bộ định tuyến thực hiện việc xác định đường phải có các thông tin về tất cả các kênh trong mạng. Do đó chỉ một số loại giao thức định tuyến có thể hỗ trợ định tuyến cưỡng bức đó là giao thức định tuyến theo trạng thái kênh (ví dụ: IS-IS, OSPF).

Để minh hoạ cho CSPF, ta hãy xem xét ví dụ ở hình 2.15. Giả sử rằng độ dài tất cả các kênh đều bằng nhau và có giá trị là 1, tất cả các kênh đều có độ rộng băng tần khả dụng là 150 Mb/s, ngoại trừ kênh nối từ LSR2 đến LSR4 có độ rộng băng tần khả dụng là 45Mb/s. Nhiệm vụ của chúng ta là tìm đường từ LSR1 đến LSR6 sao cho có độ dài ngắn nhất và độ rộng băng tần khả dụng phải lớn hơn hoặc bằng 100Mb/s. Ở đây điều kiện ràng buộc cần thoả mãn là độ rộng băng tần khả dụng.

Hình 2.15. Ví dụ về CSPF

Khởi đầu cây đường ngắn nhất (có gốc là LSR1) chỉ có nút LSR1. Tiếp theo chúng ta kiểm tra hai nút bên cạnh LSR1 đó là LSR2 và LSR3 với lưu ý rằng độ rộng băng tần khả dụng của kênh (LSR1-LSR2) và (LSR1-LSR3) đều lớn hơn giá trị cần thiết là 100Mb/s. Kết luận không kênh nào vi phạm điều kiện ràng buộc vì vậy chúng ta bổ sung LSR2 và LSR3 vào danh sách “ứng cử”. Tiếp theo chúng ta tìm nút có khoảng cách ngắn nhất đến LSR1 trong danh sách các nút “ứng cử”. Nút này là LSR2 (ở đây cả hai nút LSR2 và LSR3 đều có khoảng cách như nhau đến LSR1 vì vậy có thể chọn ngẫu nhiên là LSR2), chúng ta bổ sung nó vào cây đường ngắn nhất (LSR1, LSR2) và xoá nó khỏi danh sách các nút “ứng cử”. Kết thúc vòng một của thuật toán.

Vòng hai chúng ta kiểm tra nút cạnh nút LSR2 là LSR4. Với nút này chúng ta thấy rằng độ rộng băng tần khả dụng trên kênh (LSR2-LSR4) nhỏ hơn độ rộng băng tần yêu cầu. Vì vậy kênh này không thoả mãn điều kiện ràng buộc và chúng ta không bổ sung LSR4 vào danh sách nút “ứng cử”. Chúng ta vẫn còn LSR3 trong danh sách nút “ứng cử”, vì vậy ta bổ sung nó vào cây đường ngắn nhất (LSR1, LSR3) và xoá nó khỏi danh sách “ứng cử”. Kết thúc vòng hai của thuật toán.

Tại vòng 3 của thuật toán, ta kiểm tra cạnh nút LSR3 là nút LSR5 và thấy độ rộng băng tần khả dụng trên kênh (LSR3-LSR5), lớn hơn độ rộng băng tần yêu cầu.

Vì vậy kênh này thoả mãn điều kiện ràng buộc và ta bổ sung nó vào danh sách nút

“ứng cử”. Tiếp theo ta tìm trong danh sách các nút “ứng cử” nút có khoảng cách ngắn nhất tới LSR1 là nút LSR5. Do đó, ta bổ sung LSR5 vào cây đường ngắn nhất và xoá LSR5 khỏi danh sách “ứng cử”. Kết thúc vòng 3 của thuật toán.

Tại vòng thứ 4 của thuật toán, ta kiểm tra nút cạnh nút LSR5 là LSR4. Với nút này chúng ta thấy rằng độ rộng băng tần khả dụng trên kênh (LSR5-LSR4) lớn hơn độ rộng băng tần yêu cầu. Vì vậy kênh này thoả mãn điều kiện ràng buộc và ta bổ sung nó vào danh sách nút “ứng cử”. Tiếp theo chúng ta tìm trong danh sách các nút “ứng cử” nút có khoảng cách ngẵn nhất tới LSR1 là nút LSR4. Vì vậy ta bổ sung LSR5 vào cây đường ngắn nhất (LSR1, LSR3, LSR5, LSR4) và xoá LSR4 khỏi danh sách “ứng cử”. Kết thúc vòng thứ tư của thuật toán.

Tại vòng thứ 5 của thuật toán, ta kiểm tra nút cạnh nút LSR5 là LSR6 và LSR7. Với nút này ta thấy độ rộng băng tần khả dụng trên các kênh (LSR4-LSR6) và (LSR4-LSR7) lớn hơn độ rộng băng tần yêu cầu. Vì vậy kênh này thoả mãn điều kiện ràng buộc và ta bổ sung LSR6 và LSR7 vào danh sách nút “ứng cử”. Tiếp theo ta nhận thấy rằng trong danh sách các nút “ứng cử” có nút LSR6 có khoảng cách ngắn nhất tới LSR1. Vì vậy ta bổ sung LSR6 vào cây đường ngắn nhất (LSR1, LSR3, LSR5, LSR4, LSR6) và xoá LSR6 khỏi danh sách “ứng cử”. Tại đây ta nhận thấy cây đường ngắn nhất đã có nút LSR6 là nút đích của đường cần tìm. Do đó thuật toán kết thúc ở đây. Kết quả đường ngắn nhất tử LSR1 đến LSR6 là (LSR1, LSR3, LSR5, LSR4, LSR6). Chúng ta có thể nhận thấy đường này khác với đường được xác định theo thuật toán SPF có thể là (LSR1, LSR2, LSR4, LSR6).

Một phần của tài liệu Nghiên cứu kỹ thuật lưu lượng tái định tuyến nhanh FRR trong mạng MANE của VNPT Đà Nẵng (Trang 35 - 41)

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

(98 trang)
w