Cấu hình mạng chuyển mạch IP đến năm 2010

Một phần của tài liệu Thiết kế mạng truyền tải cho mạng NGN của VNPT trong giai đoạn 2010 2015 (Trang 52)

Trong phần này tôi sẽ đưa ra thuật toán xác định cấu trúc (topology) của mạng chuyển mạch IP. Đây là một thuật toán tính đồ thị hai hướng với giới hạn

đường kính từ một đồ thị hoàn toàn mesh. Để thực hiện mục tiêu này, bài toán

được chia nhỏ ra làm hai bài toán con riêng biệt: bài toán phân vùng và bài toán mở rộng. Bài toán đầu tiên giảm tập các cạnh ban đầu xem các trọng được gán cho các cạnh đến khi đạt một ngưỡng (bài toán thu nhỏ). Trong trường hợp giải pháp cho bài toàn thứ nhất không cho ta một đồ thị hai hướng, thuật toán cho bài toán thứ hai thêm các cạnh cho đến khi thực hiện các phép toán cần thiết để có một đồ thị hai hướng.

Thuật toán được áp dụng cho thiết kế topology cho mạng lõi IP/MPLS thế hệ

sau, xây dựng phần quy hoạch tổng thể và định cỡ cho NGN. Mục đích của công cụ phần mềm này là cung cấp một thiết kế tối ưu của phần mạng logic. Tầng

định tuyến xem xét các kiểu lưu lượng khác nhau từ các thuê bao kết nối tới mạng trục NGN thông qua các topology truy nhập tương ứng. Cuối cùng, phần này đưa ra một ví dụứng dụng thuật toán cho một trường hợp thực tế để thiết kế

topo mạng, bên cạnh đó, đưa ra các thông tin cơ bản liên quan đến vấn đề hai hướng cũng như các ứng dụng hai hướng đối với quy hoạch và thiết kế mạng viễn thông.

8.1. Xác định vn đề

Đồ thị thường được áp dụng cho mô hình mạng viễn thông và các loại mạng khác. Rất nhiều bài toán của mạng được chuyển thành bài toán trên đồ thị một cách dễ dàng, và các giải pháp đồ thị được chuyển ngược lại thành các giải pháp thực tế. Một vấn đề quan trọng trong mạng viễn thông là làm thế nào để duy trì kết nối giữa tất cả các node mạng trong trường hợp có một link bịđứt. Mặt khác, mục đích chính trong thiết kế mạng viễn thông là đạt được giải pháp tối ưu về

chi phí có nghĩa là các topology dạng cây tổng quát và do đó có sự cân bằng giữa việc kết nối mạng và dung lượng của mạng để khôi phục sau khi có lỗi xảy ra.

Bài toán cổđiển xuất phát từ vị trí các node và tính toán giải pháp kết nối để

tối thiểu tổng chiều dài áp dụng một thuật toán cây mở rộng nhỏ nhất.

Trong trường hợp mạng viễn thông, thuật toán này không được áp dụng vì hai lý do: trước tiên là bài toán không tính đến trọng liên kết giữa các node, và lý do thứ hai là tính chất bắt buộc của một số link (ví dụ, giữa các thành phốđông dân hơn trong một nước). Ngoài ra kết quả chỉ ra rằng trong mạng dữ liệu, số

hop tối đa của một path có thể bị giới hạn, do đó, cần xem xét ràng buộc về đường kính trong đồ thị. Các điều kiện này yêu cầu một cách tiếp cận khác cho vấn đề thiết kế mạng logic, thường bắt đầu từ mạng hoàn toàn mesh và cố gắng trước tiên thay đổi để giảm số lượng các liên kết theo các quy tắc cụ thể (bài toán thu nhỏ). Nhưng dù sao, đây không phải là cách giải quyết bài toán cho vấn đề

bảo vệ tránh lỗi trong tầng logic mạng. Mạng cần được xây dựng bảo vệ đảm bảo bất kỳ hai node nào không bị mất liên kết trong trường hợp xảy ra số lỗi tối

đa nào đó trong cùng một thời điểm. Để xây dựng một mạng tin cậy hơn, ta cần tăng số path không trực tiếp giữa hai cặp node bất kỳ. Con số này được gọi là số

liên kết đỉnh (vertex-connectivity number). Do đó, thuật toán phải đảm bảo mạng mục tiêu trước hết là kết nối song hướng sau khi thực hiện vấn đề phân vùng và mở rộng. Giả sử đồ thị vô hướng G(V,E,w) với các trọng wi tương ứng với các cạnh ei. Với bài toán thu nhỏ, thuật toán có thể giảm số cạnh còn E0_E khi tính

đến giới hạn về đường kính tại bất kỳ thời điểm nào. Mục đích của bài toán nhỏ

thứ hai (bài toán phân vùng và mở rộng) là tìm ra một tập AUG_E_E0 của các cạnh mở rộng sao cho đồ thị (G(V,E0 | AUG)) ít nhất là đồ thị liên kết song hướng. Bài toán này được xem có độ phức tạp tính toán là NP. Nhìn chung, việc tính toán có chi phí cao để giải quyết vấn đề một cách tối ưu, vì thế, các kỹ thuật chính xác yêu cầu quá nhiều thời gian và/hoặc bộ nhớ. Do đó, ta xem xét các thuật toán heuristic có thể giải quyết bài toán này tối ưu đến một mức nào đó trong khoảng thời gian theo tính theo hàm đa thức. Các ứng dụng của bài toán này không chỉ cho lĩnh vực viễn thông, mà còn cho các lĩnh vực khác như thiết kế VLSI, thiết kế kiến trúc đa xử lý, …

Định nghĩa kết ni song hướng

Một đồ thị kết nối G(V,E) bao gồm một tập giới hạn các đỉnh và tập các cạnh nối giữa các đỉnh đó. Thêm vào đó, ta giả sử có trọng liên kết trên mỗi đường link đó. Một tính chất quan trọng của đồ thị liên quan đến nhiều đường đi là k- kết nối. Một đồ thị được gọi là kết nối k cạnh nếu cần phải xoá ít nhất k cạnh để đồ thị trở thành đồ thị không kết nối; kết nối k đỉnh cũng được định nghĩa tương tự như thế. Cụ thể, nếu đồ thị là đồ thị kết nối 2 cạnh (thường được xem là đồ thị

song hướng), nó cần phải xoá đi ít nhất hai cạnh để trở thành đồ thị không kết nối. Do đó, khi xảy ra trường hợp một link bị lỗi, mạng kết nối song hướng vẫn có thể truy cập đến một node bất kỳ. Với đồ thì G (không chứa các vòng tự lặp),

đồ thị là song hướng khi và chỉ khi thoả mãn một trong các điều kiện sau:

1. Với mọi cặp node xy, có ít nhất hai đường đi gián tiếp nối giữa chúng. 2. Với mọi cặp node x vày, tồn tại ít nhất một vòng chứa chúng.

3. Với mọi node x và mọi cạnh e, tồn tại một vòng chứa chúng. 4. Với mọi bộ 3 node x, y, z, tồn tại một đường đi (x,y) chứa z.

Đỉnh a là một điểm khớp (cắt) nếu khi xoá nó sẽ có nhiều hơn các thành phần kết nối hơn trước. Tổng quát hoá định nghĩa ban đầu, ta có thể kết luận như sau: Một

đồ thịG(V,E) là đồ thị k-kết nối khi và chỉ khi với mỗi cặp node x và y, tồn tại ít nhất k đường đi gián tiếp nối giữa chúng.

8.2. Mô t thut toán

Tư tưởng chung của thuật toán gồm các bước sau:

1. Lấy ra một cạnh từ tập cạnh ban đầu 2. Tính các trọng mới của tập cạnh E

3. Xây dựng block-cut tree (cây chứa tất cả các khối và các điểm cắt là một tập các đỉnh)

4. Đưa ra các cạnh mới thuộc cây 5. Mở rộng block-cut tree

6. Tìm ra tập AUG từ tập các cạnh mở rộng thuộc cây. Chú ý rằng thuật toán bao gồm 2 khối:

Khối đầu tiên thường được gọi là bài toán thu nhỏ bao gồm các bước 1) và 2) của thuật toán được trình bày trong tài liệu này tính toán nó theo một số vòng lặp.

Khối con thứ hai bao gồm bước 3) đến bước 6) và có thể chia nhỏ ra 2 vấn đề

con trong đó vấn đề thứ nhất bao gồm bước 3) và vấn đề thứ hai gồm bước 4)

đến bước 6). Vấn đề con thứ nhất là vấn đề phân vùng và nó phải tính các cạnh cắt với các đồ thị con kết nối hai chiều phải được xem xét để đảm bảo tính kết nối hai chiều ám chỉ các kết nối cổ chai ở đó phải chèn các cạnh bổ sung vào. Bài toán con thứ hai là bài toán mở rộng. Bài toán này xác định ra các nguyên tắc cho việc chèn một link tương ứng để tạo ra topology kết nối hai chiều. Phần tiếp sẽđưa ra mô tả chi tiết của từng bài toán con khác nhau này.

Bài toán thu nhỏ

Giả sử E là tập các cạnh (trong trường hợp của chúng ta, E gồm tập đầy đủ các cạnh giữa một đỉnh và tất cả các đỉnh còn lại). Mục đích của bài toán thu nhỏ là giảm số các cạnh của tập E trong đó, tạo một tập con E0(E0 - E) thực hiện kết hợp vào trong các trọng của các cạnh và xem xét đến vấn đề giới hạn số bước nhảy. Có hai mục đích chính của bài toán này là, trước tiên giảm số cạnh của đồ

thị và thứ hai là tăng trọng của các cạnh thu được. Chú ý là trong một trường hợp thực tế (ví dụ trong thiết kế mạng viễn thông) hàm trọng bao gồm rất nhiều các yếu tố (nhu cầu lưu lượng, số thuê bao từ một node nguồn đến node đích, khoảng cách giữa node nguồn và node đích). Thuật toán chỉ ra dưới đây được trình bày dưới dạng ngôn ngữ giả trình.

Thuật toán hoạt động có hai ngưỡng, một là ngưỡng của trọng sốđược dùng để

xác định xem một cạnh nào đó sẽ bị loại hay không (có thể được xem như một yếu tố kết hợp với ý nghĩa yếu tố này xác định việc kết hợp trọng trên các cạnh). Ngưỡng thứ hai là số hop tối đa, đảm bảo rằng các đỉnh nối giữa các cạnh sẽ được loại được kết nối bằng một đường với số hop thấp hơn ngưỡng này. Thuật toán thu nhỏ có thể được mô tả như sau: Nó duyệt tất cả các cạnh thuộc tập E. Với mỗi cạnh ei trong E, nếu trọng của cạnh này wi thấp hơn ngưỡng, cạnh đó

node liên quan đến cạnh i có thể đi đến với số bước nhảy thấp hơn ngưỡng về số

hop. Nếu cả hai điều kiện đều thoả mãn, cạnh i bị loại khỏi tập E. Chú ý rằng cách giải phụ thuộc vào dãy các cạnh và do đó, thuật toán tính một nhánh duy nhất của cây lời giải kết hợp đầy đủ và chuẩn của dãy này phải được xác định phụ thuộc vào từng ứng dụng. Tại bước cuối cùng của quá trình thực hiện thuật toán, tập con E-E0 tương ứng với tập con của các cạnh đã bị xoá.

Hình 2.11 Ví dụ về thuật toán thu nhỏ

Hình trên minh họa thực hiện thuật toán thu nhỏ bằng một ví dụ. Đặt cạnh e4 = [2,4] là một cạnh được xem xét việc loại bỏ nó khỏi tập E do trọng của cạnh này nhỏ hơn ngưỡng, xem hình a. Trong hình b, thuật toán kiểm tra số bước nhảy của path từ 4 đến 2 (trong ví dụ là 4-5, 5-2, hai bước nhảy) thoả mãn ngưỡng về số

hop hay không. Cả hai điều kiện đều thoả mãn, do đó, cạnh 2-4 bị loại bỏ. Để ý rằng thuật toán thu nhỏ có thể dẫn đến một vài trường hợp cho kết quả vẫn là kết nối hai hướng. Đây là trường hợp hay xảy ra khi người dùng kết nối vào mạng yêu cầu các giá trị lưu lượng cao và/hoặc một giới hạn ngắn cho số bước nhảy

tối đa. Khi trường hợp này xảy ra, thụât toán kết thúc trong khối này và các bước tính toán phân vùng hay mở rộng là không cần thiết.

Bài toán phân vùng

Bài toán phân vùng tương đương với việc tìm kiếm các cạnh được gọi là cầu.

Một cạnh được gọi là cầu nếu xoá nó đi sẽ dẫn đến đồ thị là đồ thị không kết nối giữa hai phần và cần mở rộng cạnh. Chúng tôi áp dụng tìm các cầu bằng thuật toán tìm kiếm theo chiều sâu (DFS – Depth First Search). Thuật toán đưa ra một cách thức để duyệt hay tìm kiếm đồ thị. Bằng trực giác, việc tìm kiếm bắt đầu chọn ra một node nào đó trong đồ thị và xem là node gốc, mở rộng mỗi nhánh càng sâu càng tốt. Nhìn chung, DFS là thuật toán tìm kiếm không thông minh, thực hiện mở rộng node con đầu tiên của cây tìm kiếm khi nó xuất hiện và do đó duyệt sâu hơn so với trạng thái đích cần đạt được hay gặp phải node không có node con. Sau đó việc tìm kiếm quay lui và bắt đầu với cạnh tiếp theo. Dưới đây là thuật toán phân vùng bao gồm cả thuật toán DFS theo dạng mã giả.

Thuật toán hoạt động như sau, với mỗi cạnh ei thuộc tập E0, trước tiên, xoá cạnh

ei và thực hiện DFS trên đồ thị G. Nếu DFS(G) xác định được các node không

được chấp nhận, cạnh ei là một cầu được lưu trong tập E1. Sau đó, thuật toán trả

lại cạnh ei cho đồ thịđể thực hiện bước lặp tiếp theo. Tập E1 chứa các cạnh cuối cùng sau khi kết thúc thuật toán. Sau khi xác định các cầu, việc phân vùng đồ thị

thành các đồ thị con kết nối hai chiều được tiến hành. Tại thời điểm này, ta tạo ra một đồ thị mới sao cho thuật toán thay thế các node và các cạnh của mỗi đồ thị

con kết nối hai chiều bằng một đỉnh đặc trưng cho đồ thị con đó. Mỗi đỉnh thuộc tập đỉnh đại diện cho các đồ thị con này được gán cho một trọng được gọi là trọng tương đương được tính từ các trọng của mỗi đồ thị con ban đầu. Việc tính trọng tương đương phụ thuộc vào chuẩn tối ưu hoá và phải được định nghĩa trong từng trường hợp cụ thể, ví dụ là số node của thành phần kết nối hai chiều, tổng tất cả lưu lượng vào và ra của node, …Hình 2.12 minh họa ví dụ trong đó thuật toán phân vùng được xác định 3 cầu dẫn đến đồ thị tổng chứa 4 phần kết nói hai chiều thể hiện trên hình a trong khi đó, hình b thể hiện đồ thị mới thu

được bao gồm 4 đỉnh tương ứng với 4 phần và 3 cầu.

Hình 2.12 Ví dụ về thuật toán phân vùng

Bi toán m rng

Trước tiên có các cầu được xác định và các đồ thị con kết nối hai chiều, thuật toán mở rộng phải đưa ra các cạnh cần bổ sung đểđảm bảo tính kết nối hai chiều của đồ thị gốc.

Rõ ràng là, bước đầu tiên của thuật toán mở rộng là phải tính lại các trọng tương

các đồ thị con có được sau thuật toán phân vùng được chuyển thành các đỉnh với trọng tương đương được tính. Như đã chỉ ra trong phần trước, chú ý rằng trọng tương đương trong phần này của thuật toán là của một đỉnh còn trong phần trước, khi nói về trọng là đề cập đến một cạnh.

Hình 2.13 Biểu diễn trạng thái ban đầu của thuật toán mở rộng

Hình trên minh họa các kết quả từ các bước đầu của thuật toán mở rộng. Dưới

đây là mã giả của thuật toán mở rộng đầy đủ. Chú ý rằng thuật toán tính lại trọng tương đương của một đỉnh mới cũng như tập đỉnh mới G0. Sau đó, thuật toán tìm kiếm cho mỗi đỉnh vi thuộc tập G0 và với degree bằng 1, một đỉnh vj với trọng tương đương lớn nhất và với điều kiện không tồn tại một cạnh giữa các đỉnh vi

vj. Sau khi thực hiện xong phần mở rộng, thuật toán phải chuyển đồ thị với các đỉnh đặc trưng cho các đồ thị con vềđồ thị ban đầu.

Hình 2.14 Ví dụ về thuật toán mở rộng

Trong bước chuyển đổi này, ta cần phải xem xét đến thuật toán tính các cạnh giữa các cặp “đỉnh ảo” và chúng phải được chuyển đổi sang việc gán kết nối giữa hai đỉnh thực. Trong bước gán lại cho phép một degree nào đó bất kỳ trong thuật toán có thể được xem là các điều kiện bổ sung. Khi xấp xỉ đầu tiên, cạnh

được kết nối giữa cặp đỉnh với khoảng cách gần nhất được xem là hàm địa lý hoàn toàn hay việc kết hợp cần xem xét các tham số khác như lưu lượng, đỉnh, degree …Hình b minh hoạ trạng thái cuối cùng của thuật toán mở rộng đối với cùng ví dụ nhưở trên.

Một phần của tài liệu Thiết kế mạng truyền tải cho mạng NGN của VNPT trong giai đoạn 2010 2015 (Trang 52)