Các thuộc tính trong mạng

Một phần của tài liệu Đồ án tốt nghiệp GMLS (Trang 30)

3.1.1. Thuộc tính liên kết

Cho đến nay , trọng số cung của liên kết trên đồ thị mạng là đại lượng duy nhất được ưu tiên sử dụng cho một liên kết cụ thể trong quá trình lựa chọn đường đi. Không thể mô tả tất cả các yêu cầu lựa chọn con đường chỉ trong một giá trị trên mỗi liên kết. Một vector của nhiều thuộc tính phải được phép kết hợp được với mỗi liên kết. Trong chương này chúng tôi sử dụng các điều khoản liên kết và TE liên kết thay thế cho nhau) và quảng cáo thông qua các giao thức định tuyến TE (OPSF-TE hay ISIS-TE). Sau đây là những ví dụ về thuộc tính thường được gắn liền với một liên kết.

- Loại bảo vệ: Đây là một giá trị mô tả khả năng bảo vệsựtồn tại của liên kết; vì vậy lựa chọn con đường có thể được ràng buộc để liên kết có một số khả năng bảo vệ chấp nhận được.

- Nhóm liên kết chia sẻ rủi ro (Shared Risk Link Groups - SRLGs): việc thiết lập các liên kết có thể tạo thành một nhóm chia sẻ rủi ro, nơi có một nguồn tài nguyên mạng bị lỗi có thể ảnh hưởng đến tất cả các liên kết trong nhóm. Một SRLG được nhận diện bởi một số 32 bit, nó là duy nhất trong hệ thống. Bằng cách kết hợp mỗi liên kết vào nhóm SRLG mà nó phụ thuộc, việc lựa chọn đường đi có thể được ràng buộc xem như đường đi duy

nhất mà không chia sẻ bất kỳ tài nguyên mạng- đó là để được xác định đường đi là hoàn toàn không liền kề.

- Khả năng chuyển mạch liên kết: Một liên kết kết nối hai nút liền kề có thể có được khả năng mang một số loại lưu lượng. Ví dụ, nó có thể mang một tải trọng SDH, nhưng không phải các gói dữ liệu riêng biệt. Bằng cách cấu hình thuộc tính khả năng chuyển mạch liên kết cho mỗi liên kết, việc tính đường đi có thể được ràng buộc để lựa chọn đường đi thích hợp cho một loại dịch vụ đặc biệt. Ví dụ, một con đường cho một dịch vụ Ethernet 10G từ đỉnh S đến đỉnh Z có khả năng khác nhau từ một đường đi cho một dịch vụ SDH từ đỉnh S tới đỉnh Z, bởi vì các con đường sẽ đi qua liên kết với các khả năng

chuyển mạch khác nhau: L25C và TDM, tương ứng

- Loại mã hóa dữ liệu: Đây là một giá trị mô tả các định dạng mà trong đó lưu lượng được mã hóa khi gửi qua liên kết. Thuộc tính này cho phép liên kết lựa chọn ràng buộc để xem xét chỉ những liên kết ”Hiểu được” dữ liệu người dùng trong các định dạng quy định. Ví dụ, nếu một dịch vụ là để cung cấp một tải trọng SDH, nó phải đi theo con đường xây dựng các liên kết với các dữ liệu loại mã hóa SDH, và tránh sử dụng các liên kết là loại mã hóa dữ liệu802.3 Ethernet.

- Băng thông LSP không hạn chế tối đa: Đây là một giá trị nhận dang bao nhiêu băng thông có sẵn trên một liên kết cho một dịch vụ mới có cấp độ ưu tiên đặc biệt . Nó cho phép các thực thể tính đường đi xem xét chỉ có những liên kết có đủ băng thông với mức độ ưu tiên của dịch vụ mới sẽ được cung cấp

- Lớp tài nguyên (Resource Class): Đây là một thuộc tính liên kết để nhận dạng chắc chắn chất lượng của một liên kết và nó có thể ảnh hường đếncác thực thể tính đường đi để xem xét chỉ có các liên kết của một loại, hoặc, ngược lại, để bỏ qua các liên kết của một loại cụ thể.

Lưu ý rằng một thuật toán tính đường đi không cần phải xem xét tất cả các thuộc tính liên kết trong việc tính đường đi - chỉ những thuộc tính có liên quan đến ràng buộc được quy định có trong yêu cầu tính đường đi.

3.1.2. Thuộc tính đường đi

Thuộc tính đường đi là một đặctính của một con đường hay một đoạn của một con đường, mà có thể ảnh hưởng đến việc chấp nhận đường đi hoặc từ chối quyết định hoặc quá trình tối ưu. Thông thường tất cả các thành phần liên kết đường đi đóng góp vào giá trị thuộc tính đường đi. Do đó, thuộc tính đường đi có thể được tính theo:

Pathr(p) = f(Latr(a)) a p (1)

Latr (a) là thuộc tính của một liên kết được sử dụng bởi p đường đi và biểu diễn trên đồ thị bởi cung a.

3.2. Tính đường đi có ràng buộc

Về mặt lý thuyết, mỗi liên kết hay thuộc tính đường đi, hoặc sự kết hợp của cả hai, có thể là một vấn đề để tối ưu hóa trong suốt quá trình lựa chọn. Trong thực tế, một

phương pháp tiếp cận đơn giản được thực hiện. Thực thể tính đường đi vẫn yêu cầu để xác định một hoặc một vài đường đi ngắn nhất, nhưng với điều kiện là các kết quả đường đi đáp ứng tất cả các ràng buộc của việc tính đường đi. Nói cách khác, nó không cần thiết để tính đường đi tối ưu dựa vào quan điểm của nhiều tiêu chí. Thay vào đó, nó muốn xác định đường đi mà tài nguyên mạng được tiêu thu tối thiểu và được đủ “tốt” cho một vài dịch vụ cụ thể.

Tính đường đi có ràng buộc là một cách nói cho thuật tóan tính đường đi tại sao một liên kết cụ thể , nút, đường đi hoặc một phần đường đi không được chấp nhận như là một cách tính cho đường đi được tính cho một vài dịch vụ cụ thể. Tất cả các đường đi có ràng buộc có thể được chia làm bốn loại :

- Ràng buộc loại trừ (Exclusions) : không xem xét các liên kết và/ hoặc các nútnào đótrong suốt quá trình lựa chọn đường đi.

- Ràng buộc bao gồm (Inclusions) : hãy chắc chắn rằng chỉ rõ các liên kết và/hoặc liên kết của các nút định xuất hiện trong đường đi đã chọn theo trình tự nhất định. - Ràng buộc liên kết : không xem xét các liên kết là một trong những liên kết đánh

giá khả năng theo quy định của người sử dụng trả về False.

- Ràng buộc đường đi : bỏ qua các đường đi hay các đoạn đường đi,là một trong những đường đi đánh giá chức năng theo quy định của người sử dụng trả về False.

Ví d : bỏ qua những đường đi với tổng chiều dài của tất cả các thành phần liên kết lớn giá trị quy định cụ thể.

3.2.1. Ràng buộc loại trừ (Exclusions)

Nói chung, thực thể tính đường đi có thể được yêu cầu để tính đường đi giữa một hoặc nhiều cạnh, đỉnh không liên kề hoặc đường đi tốt nhất với một yêu cầu bổ sung để loại trừ một danh sách có thứ tự các liên kết và/hoặc các nút từ kết quả đường đi bất kỳ (loại trừ trên toàn bộ), một danh sách có thứ tự các liên kết và/hoặc các nút từ đường đi số một (loại trừ con đường đầu tiên), một danh sach có thứ tự các liên kết và/hoặc các nút từ con đường số hai (loại trừ con đường thứ hai)…

Vấn đề của việc tính k (k>=2) đường đi không liền kề với các thiết lập riêng của tập các loại trừ là khá phức tạp. Nó được giải quyết bằng thuật toán giả sử một số phân đoạn đường đi được trao đổi giữa các con đường. Vì những trao đổi này chỉ có tập loại trừ global có thể được chú ý tới. Các vấn đề riêng tập loại trừ có thể được giải quyết theo cùng một cách như của loại đường đi có ràng buộc , việc tính toán này rất tốn kém (vấn đề sẽ thảo luận sau). May mắn thay, trong hầu hết các trường hợp, chỉ có tập loại trừ toàn bộ cần được xử lý đó là, loại trừ khác nhau không áp dụng cho các đường đi khác nhau trong một tập tính toán, các tập loại trừ toàn bộ có thể được xử lý bằng cách cắt tỉa từ đồ thị mạng các cung và đỉnh đại diện cho các liên kết và các nút cần được loại trừ, và sau đó chạy thuật tóan tính đường đi đa dạng thích hợp trên đồ thị sửa đổi.

Ví d : tính dường đi giữa hai cạnh không liên kề nhau đi từ đỉnh S đến đỉnh Z trên đồ thị như trong hình 2 với cạnh AC được quy định như một loại trừ đối với một số chính sách có lý do. Sau khi cắt tỉa cạnh AC ra thì sẽ chaỵ thuật toán tính đường đi hai cạnh không liền kề trên đồ thị còn lại

Kết quả các đường đi là SADZ(12) và SBCEZ (4). Lưu ý rằng đường đi SADZ (12) chi phí cao hơn các đường SACDZ (4) và SBCEZ(4) có thể sẽ được tính trên đồ thị chưa sửa đổi. Cũng lưuý rằng nếu cạnh CE được quy định như một loại trừ tốt nhất, một

yêu cầu tính đường đi dẫn đến tính đường đi giữa hai cạnh không kề nhau từ đỉnh S đến đỉnh Z sẽ thất bại.

Hinh 5 :Sơ đồ mạngvới các cạnh có ràng buộc loại trừ 3.2.2. Ràng buộc liên kết (adsbygoogle = window.adsbygoogle || []).push({});

Người sử dụng có thể chỉ định các ràng buộc loại liên kết bằng việc thiết lập các hàm đánh giá liên kết, và sử dụng để tính một con đường duy nhất hoặc hai hoặc con đường có nhiều cạnh, đỉnh không liền kề hoặc con đường tốt nhất. Mỗi hàm đánh giá có đầu vào là một hoặc nhiều thuộc tính của một liên kết và trả về TRUE nếu liên kết được lựa chọn trong các đường đi được cung cấp cho dịch vụ hoặc FALSE nếu không. Ví dụ, hàm đánh giá băng thông của liên kết kiểm tra với đầu vào là mức tối đa không hạn chế thuộc tính băng thông LSP của liên kết và trả về TRUE nếu giá trị thuộc tính cho cấp độ ưu tiên quy định là lớn hơn hoặc bằng với yêu cầu cho dịch vụ mới.

Các ràng buộc loại liên kết có thể được xử lý theo một cách tương tự như ràng buộc loại trừ toàn bộ. Cụ thể, trong giai đoạn khởi tạo, một bước được bổ sung vào thông qua tất cả các cung của đồ thị phải được thực hiện. Cứ mỗi cung , tất cả các hàm đánh giá liên kết sẽ được gọi theo quy định, như là thuộc tính đầu vào của liên kết đại diện bởi các cung. Nếu hàm trả về ít nhất một giá trị FALSE, thì sẽ có cung bị loại ra khỏi đồ thị. Việc thực thi của thuật toán với k đỉnh, cạnh, đỉnh cạnh tốt nhất không liền kề nhau trên đồ thị sửa đổi sẽ mang lại đường đi tối ưu được chú ý tới chỉ rõ các ràng buộc loại liên kết.

Lưu ý rằng hoạt động này cũng có thể được thực hiện trong giai đoạn tính đường đi mà không đòi hỏi thêm một đường đi qua đồ thị, nhưng điều này sẽ không được hay lắm. Các hàm đánh giá liên kết không thật sự quan trọng, và hàm được gọi mỗi khi một liên kết được đánh giá (đặc biệt là trong nhiều đường đi) là ít thực tế hơn là việc chỉ đi qua các liên kết để loại bỏ những cái không phù hợp trước khi bắt đầu tính toán con đường thực tế. Nói cách khác, sự lựa chọn giữa việc đánh giá mỗi liên kết chỉ cần một lần bằng cách sử dụng một bước đi riêng biệt trên đồ thị để loại bỏ tất cả các liên kết không phù hợp (đề nghị), và đánh giá từng liên kết mỗi khi nó được kiểm tra bởi thuật toán.

3.2.3. Ràng buộc bao gồm (Inclusions)

Nói chung, thực thể tính đường đi có thể được yêu cầu để tính đường đi giữa một hoặc nhiều cạnh, đỉnh không liên kề hoặc đường đi tốt nhất với một yêu cầu bổ sung để bao gồm một danh sách có thứ tự các liên kết và/hoặc các nút từ đường đi số một (bao gồm con đường đầu tiên), một danh sách có thứ tự các liên kết và/hoặc các nút từ con đường số hai (bao gồm con đường thứ hai)…

Vấn đề của việc tính k (k>=2) đường đi không liền kề với thiết lập riêng của ràng buộc bao gồm đượcgiải quyết tương tự như ở phương pháp loại trừ. Cụ thể, thuật toán giả sử một số đoạn đường đi được trao đổi giữa các con đường, và, do đó, ràng buộc bao gồm có bảo đảm là một phần của kết quả đường đi chỉ khi nó được quy định trên tổng thể- đó là, nó được yêu cầu cho mỗi con đường.Trong nhiều trường hợp, người dùng chỉ muốn các dịch vụ chỉ rõ danh sách các nút lệnh có thứ tự . Đây là vấn đề tính đường đi có các ràng buộc bao gồm toàn bộ có thể được hình thành như là một yêu cầu để tính một hoặc nhiều cạnh hoặc con đường tốt nhất, mỗi đương đi tương ứng với danh sách các nút có thứ tự. Vấn đề tính đường đicác ràng buộc bao gồm toàn bộ có thể được giải quyết bằng cách sửa đổi không giới hạn tương ứng với thuật toán tính đường đi đa dạng.

Thuật toán tính đường đi đơn với ràng buộc bao gồm

Xét một đường đi duy nhất từ đỉnh nguồn S đến đỉnh đích Z qua một danh sách có thứ tự của nút A,B,C...,M. Xét cấu trúc tối ưu cho đường đi ngắn nhất, nó rất dễ dàng chứng minh rằng đường đi ngắn nhất từ S đến Z sẽ là đường đi ngắn nhất từ S đến A nối với đường đi ngắn nhất từ A đến B nối với đường đi ngắn nhất từ B đến C…và nối với đường đi ngắn nhất từ M đến Z.

Vì vậy, để cung cấp ràng buộc bao gồm trong việc tính đường đi duy nhất, chúng ta phải thay thế viêc tính đường đi ngắn nhất từ dịch vụ nguồn đến dịch vụ đích bằng cách tính nhiều đường đi ngắn nhất.

Đầu tiên, từ nguồn đến ràng buộc bao gồm đầu tiên, sau đó từ ràng buộc bao gồm đầu tiên đến ràng buộc bao gồm thứ hai, và như vậy cho đến khi đường đi ngắn nhất từ ràng buộc bao gồm cuối cùng đến đích. Bằng cách nối các đường đi đã được tính cùng nhau chúng ta sẽ có được đường đi ngắn nhất từ nguồn đến đích qua danh sách có thứ tự của đỉnh được chỉ rõ.

Có một vấn đề với việc tính đường đi với ràng buộc bao gồm, tuy nhiên, nó làm cho mọi thứ phức tạp hơn. Có thể nhận thấy rằng không có gì ngăn cản được mô tả thuật toán quay trở lại đường đi với vòng lặp. tại sao các vòng lặp có thể xuất hiện trong kết qua đường đi?

Trước hết, người sử dụng có thể chỉ định (có lẽ do nhầm lẫn) danh sách các ràng buộc bao gồm trong một cách mà có một hoặc một vài ràng buộc bao gồm xuất hiện trong danh sách nhiều hơn một lần. Trong trường hợp này, việc tính đường đi sẽ không có lựa chọn, nhưng để trở về kết quả đường đi với vòng lặp.

Thứ hai, tính đường đi để xác định các phân đoạn giữa các ràng buộc bao gồm được thực hiện độc lập, và do đó không có gì ngăn cản sự phân đoạn từ phân đoạn này dang phân đoạn khác. Điều này sẽ không xảy ra nếu các đoạn tiếp theo được tính với các ràng buộc loại trừ của tất cả các đỉnh được thực hiện bởi các đường đi của đoạn trước đó.

Cuối cùng, nếu việc tính đường đi cho một đoạn đường cụ thể được ràng buộc để loại trừ các đỉnh đã được tính với các đoạn đường trước đó, nếu việc tính đường đi cho

đoạn đường này thất bại không có nghĩa là đường đi từ nguồn đến đích không tồn tại. Nếu các đỉnh và cạnh đãđược tính trước đó thì sẽ bị loại trừ khỏi việc tính đường đi tiếp theo và việc tính sẽ có thể thành công. Như vậy, nếu việc tính đường đi trên đoạn đường i thất bại, thì sẽ nỗ lực để dùng đệ quy tính lại tất cả các đoạn đường trước bắt đầu từ đoạn đường i-1. Tại thời điểm một cung được loại bỏ từ đoạn đường i-1 thì đường đi sẽ được tính lại để xem xét các đường đi khác. Khi một con đường mới được tính cho đoạn đường i-1, các đỉnh đường đi nên được thêm vào danh sách các ràng buộc loại trừ cho việc tính đường đi cho đoạn đường i và cố gắng tính lại đường đi cho đoạn đường i. Nếu không có đường đi mới cho đoạn đường i-1 để đưa có kết quả đường đi cho đoạn đường đi i thì

Một phần của tài liệu Đồ án tốt nghiệp GMLS (Trang 30)