Xem xét các ràng buộc khống chế

Một phần của tài liệu đồ án: Kỹ thuật lưu lượng trong MPLS và cơ chế bảo vệ khôi phục đường và dựng chương trình mô phỏng MPLS-TE (Trang 53)

Tham số tiếp theo được kiểm tra trong q trình tính tốn đường ràng buộc là TE cost (trọng số quản trị) của mỗi liên kết mà đường hầm khả năng đi qua. Nếu khơng xét tài ngun thì đường R1-R4-R6 có tổng cost thấp nhất là 30. Tất cả các đường khả thi khác đều có tổng cost cao hơn.

Khi tài ngun được đưa vào tính tốn, thấy rằng trên đường ngắn nhất khơng có đủ băng thơng thỏa mãn các địi hỏi của trung kế lưu lượng (đòi hỏi 30 Mbps trong khi chỉ có 20 Mbps khả dụng). Kết quả là R4-R6 cũng bị loại khỏi phép tính đường LSP.

Hình 2.9: Xem xét tài nguyên khả dụng

Sau khi loại bỏ các liên kết không thỏa mãn các đòi hỏi của trung kế lưu lượng, kết quả có hai đường LSP là : R1-R2-R3-R6 và R1-R5-R6. Cả hai đường đều khơng có tổng cost là 40, để chọn đường phải giải quyết bằng luật “tie-break” (hình 2.10).

Hình 2.10: Chọn đường tốt nhất.

Trước tiên băng thông tối thiểu trên đường được so sánh. Sau khi so sánh, vẫn cịn cả hai đường vì chúng đều cung cấp ít nhất 50 Mbps băng thơng. Tiếp theo, luật số hop nhỏ nhất trên đường LSP được áp dụng. Vì đường R1-R5-R6 có hop-count nhỏ hơn nên cuối cùng nó được chọn và q trình tính tốn ràng buộc kết thúc.

2.4.5 Tái tối ưu hóa

Các đặc trưng và trạng thái mạng biến động theo thời gian. Ví dụ các tài nguyên mới trở nên khả dụng, các tài nguyên bị lỗi được kính hoạt, các tài nguyên đã cấp phát được thu hồi lại. Do vậy, các đường của trung kế lưu lượng đã được thiết lập tối ưu

trước có thể khơng cịn tối ưu nữa. Để duy trì mạng ln ln ở trạng thái tối ưu nhất, các trung kế lưu lượng phải được tái tối ưu hóa (re-optimization).

Tái tối ưu hóa được thực hiện theo chu kỳ. Sau những khoảng thời gian nhất định, MPLS-TE thực hiện kiểm tra đường tối ưu nhất cho các đường hầm LSP. Nếu xuất hiện đường cho LSP tốt hơn đường hiện dùng thì:

• Bộ định tuyến đầu nguồn cố gắng báo hiệu thiếp lập LSP mới tốt hơn.

• Nếu thành cơng, thay đường LSP cũ bằng đường LSP mới tốt hơn.

Tái tối ưu hóa phải khơng gây ra sai hỏng dịch vụ. Để thực hiện điều này, đường LSP hiện có phải được duy trì cho đến khi LSP mới được thiết lập xong và chuyển trung kế lưu lượng từ đường cũ sang đường mới. Sau đó, đường LSP cũ mới được giải tỏa. Khái niệm này gọi là “make before break”.

2.5 Bảo vệ và khôi phục đường

Các cơ chế bảo vệ và khôi phục đường trong MPLS cung cấp một dịch vụ tin cậy cho việc chuyển tải lưu lượng trong mạng MPLS và tái định tuyến lưu lượng qua một đường chuyển mạch nhãn LSP. Trong phần này, ta có một khái niệm sau:

 Đường làm việc: Là đường chuyển tải trung kế lưu lượng trước khi xảy ra lỗi. Đây là đường được bảo vệ bởi cơ chế khôi phục.

 Đường khôi phục: Là đường mà trung kế lưu lượng sẽ được tái định tuyến sau khi xảy ra lỗi, được thiết lập để bảo vệ cho đường làm việc.

 PSL (Path Switch LSR): Là LSR đứng trước vị trí lỗi trên đường làm việc chịu trách nhiệm chuyển mạch hoặc tái tạo lưu lượng sang đường khôi phục.

 PML (Path merge LSR): Là LSR chịu trách nhiệm nhận lưu lượng trên đường khôi phục và sẽ: tái hợp nhất lưu lượng trở về đường làm việc, hoặc chuyển lưu lượng ra khỏi miền MPLS nếu bản thân nó là đích.

 POR (Point of Repair): POR là một LSR chịu trách nhiệm sửa chữa một LSR, nó có thể là một PSL hoặc PML tùy ý theo cơ chế khôi phục nào được dùng.

 FIS (Fault Indication Signal): Là bản tin chỉ thị có một lỗi xảy ra trên đường làm việc đã sửa chữa xong. FRS được chuyển tiếp cho tới khi nó đến được một LSR đảm nhận việc trả lại đường nguyên thủy.

2.5.1 Phân loại các cơ chế bảo vệ khôi phục 2.5.1.1 Sửa chữa toàn cục và sửa chữa cục bộ

Sửa chữa toàn cục là bảo vệ khi có bất kì sự cố ở vị trí nào trên đường làm việc. Điểm sửa chữa POR (ở đây chính là ingress-LSR) thường cách xa vị trí lỗi và thường được thơng báo bằng tín hiệu FIS. Việc khơi phục đường là end-to-end, trong đó đường làm việc và đường bảo vệ tách rời nhau (disjoint) hoàn toàn.

Sửa chữa cục bộ nhằm bảo vệ khi sự cố liên kết hoặc nút nhưng khôi phục nhanh hơn do việc sửa chữa được thực hiện cục bộ tại thiết bị phát hiện sự cố. Nút nằm kề trực tiếp trước vị trí lỗi sẽ đóng vai trị PSL khởi tạo cơng tác khơi phục. Sửa chữa cục bộ có thể được thiết lập theo hai trường hợp:

 Khôi lục liên kết: Để bảo vệ khôi phục liên kết trên đường làm việc. Nếu một lỗi xảy ra trên liên kết này được khôi phục sẽ nối liền PSL và PML ở hai đầu liên kết lỗi. Đường khôi phục và đường làm việc tách rời nhau đối với liên kết được bảo vệ.

 Khôi phục nút: Để bảo vệ nút trên đường làm việc. Đường khôi phục và đường làm việc phải tách rời nhau đối với nút được bảo vệ, hoặc PLM là egress-LSP.

2.5.1.2 Tái định tuyến và chuyển mạch bảo vệ

Đối với khôi phục bằng tái định tuyến (re-router), đường khôi phục được thiết lập theo yêu cầu sau khi đã xảy ra sự cố. Khi phát hiện sự cố trên đường làm việc, một LSR đứng trước vị trí lỗi có vai trị là POR mới bắt đầu báo hiệu một đường khơi phục đi vịng qua điểm lỗi và mối (merge) vào một nút nào đó nằm sau điểm lỗi trên đường làm việc. Đường khơi phục này có thể được tính tốn sẵn trước hoặc tính tốn sau khi phát hiện sự cố. Khi đường khôi phục được thiết lập xong, PSL bắt đầu chuyển lưu lượng trên đường này.

Trong chuyển mạch bảo vệ thì đường khơi phục được tính tốn và thiết lập trước khi xảy ra sự cố trên đường làm việc. PLS được cấu hình để chuyển mạch lưu lượng sang đường khơi phục ngay khi nó biết có lỗi trên đường làm việc (trực tiếp phát hiện lỗi hoặc nhờ nhận được FIS). Vì đường khơi phục đã thiết lập trước nên chuyển mạch bảo vệ nhanh hơn so với khôi phục bằng tái định tuyến.

2.5.2 Mơ hình Makam

Đây là mơ hình khơi phục MPLS đầu tiên được đề xuất (hình 2.11). Nó cung cấp bảo vệ toàn cục cho một đường LSP bằng cách thiết lập đường khôi phục giữa ingress- LSR và egress-LSR. Đường làm việc và khôi phục tách rời nhau (disjoint) cả về liên kết và nút. Khi phát hiện lỗi ở bất kì vị trí nào trên đường làm việc, tín hiệu FIS được dùng để chuyển thông báo lỗi về ingress-LSR (PSL). Ingress-LSR sẽ thực hiện chuyển mạch lưu lượng sang đường khơi phục. Mơ hình này hỗ trợ cả các đường khơi phục thiết lập sẵn (chuyển mạch bảo vệ ) và đường khôi phục thiết lập động (tái định tuyến). (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.11: Mơ hình MAKAM

Ưu điểm: Chỉ cần một đường dự phòng cho mọi sự cố trên đường làm việc và chỉ cần một LSR có chức năng làm PSL.

Nhược điểm: Mơ hình này có một khoảng thời gian trễ để tín hiệu FIS truyền ngược về tới PSL. Trong thời gian này, lưu lượng trên đường làm việc bị mất.

2.5.3 Mơ hình Haskin

Mơ hình Haskin (Reverse Backup) khắc phục được nhược điểm mất gói ở mơ hình Makam (hình 2.12). Ngay khi một LSR phát hiện sự cố trên đường làm việc, nó chuyển hướng lưu lượng đến trên đường làm việc sang một đường dự phòng đảo đi ngược về PSL. Khi quay trở về đến PSL, lưu lượng được chuyển sang đường khơi phục tồn cục. Đường dự phịng đảo và đường khơi phục phải thiết lập sẵn nên cách này tốn kém tài nguyên.

Hình 2.12: Mơ hình Haskin

Một cải tiến khác cho phép PSL chuyển trực tiếp lưu lượng sang đường khôi phục tồn cục ngay khi nó thấy đường dự phịng đảo được dùng. Các gói đầu tiên trong phần lưu lượng được đảo chiều có tác dụng như tín hiệu FIS. Cách này tối ưu hơn vì đường đi của lưu lượng được bảo vệ ngắn hơn. Tuy nhiên trong thời gian đầu, lưu lượng mới chuyển đi trên đường khôi phục sẽ trộn lẫn với phần lưu lượng được đảo chiều làm thay đổi thứ tự gói ban đầu.

2.5.4 Mơ hình Hundessa

Mơ hình Hundessa giống như mơ hình Haskin cải tiến nhưng khắc phục được vấn đê xáo trộn thứ tự gói. Khi gói đầu tiên quay trở về PSL trên đường dự phịng đảo có tác dụng như tín hiệu FIS báo cho PSL biết đã có lỗi. PSL đánh dấu gói cuối cùng truyền ra đường làm việc (đang có lỗi) bằng cách đặt một bit trong trường EXP nhãn, sau đó ngưng đẩy gói ra đường lỗi. Khi gói được đánh dấu quay trở về PSL trên đường đảo, PSL mới tiếp tục chuyển các gói mới trực tiếp ra đường khơi phục.

Trong mơ hình này chỉ có đường làm việc được thiết lập. Khi một nút phát hiện sự cố liên kết thì nó phải tính tốn rồi báo hiệu thiết lập một đường hầm (hình 2.13).

LSP ngắn nhất đi từ nó đến nút ở phía bên kia liên kết sự cố và sau đó chuyển mạch lưu lượng (bằng cách xếp chồng nhãn để “luồn” đường làm việc chui qua đường hầm tránh lỗi này) .

Hình 2.13: Mơ hình Shortest-Dynamic

2.5.6 Mơ hình Simple-Dynamic

Giống như Shortest-Dynamic, cơ chế này cũng là một cơ chế cục bộ. Nút phát hiện sự cố liên kết sẽ chuyển mạch lưu lượng. Sự khác nhau giữa hai cơ chế này là nút cuối cùng của đường làm việc phải là PML. Sau đó, đường khơi phục sẽ là từ nút phát hiện sự cố đến nút PML. Trong trường hợp này khơng tính tốn trước đường LSP khơi phục (hình 2.14).

Hình 2.14: Mơ hình Simple_Dynamic

2.5.6 Mơ hình Simple-Static

Ý tưởng này là giống cơ chế simple-dynamic, nhưng với đường khơi phục đã được tính tốn trước khi xảy ra lỗi.

2.6. Kết luận

Chương này đã trình bày các yêu cầu cho kỹ thuật lưu lượng qua MPLS. Bài toán cơ bản của kỹ thuật lưu lượng MPLS là làm sao cho ánh xạ đồ thị nghiệm suy (induced graph) lên trên topology vật lý của mạng một cách hiệu quả nhất.

MPLS cũng cung cấp các cơ chế bảo vệ và khôi phục lưu lượng ở lớp MPLS một cách tin cậy .

CHƯƠNG III

XÂY DƯNG CHƯƠNG TRÌNH MƠ PHỎNG CƠ CHẾ BẢO VỆ VÀ KHƠI PHỤC ĐƯỜNG TRONG MPLS SỬ DỤNG NS2

3.1 Môi trường mơ phỏng NS2

NS-2 là chương trình mơ phỏng mạng theo phương pháp mô phỏng các sự kiện rời rạc. NS-2 hỗ trợ mơ phỏng mạng có dây và khơng dây, TCP, UDP, các giao thức truyền thông điểm - đa điểm, các phương pháp định tuyến, ...vv. NS-2 viết bằng C++ và ngôn ngữ hướng đối tượng Tcl (Otcl: Object – Oriented Toll Command Language).

So với các phần mềm mô phỏng mạng khác. NS-2 có những ưu thế sau:

 NS-2 có mã nguồn mở miễn phí.

 NS-2 có kiến trúc mở, tạo điều kiện cho việc mở rộng.

 NS-2 được phát triển từ các phần mềm nổi tiếng trên thế giới như REAL. NEST nên có những điểm mạnh và đã khắc phục được những yếu điểm của các phần mềm này.

 NS-2 hỗ trợ các tính năng cơ bản của mạng IP, từ đó có thể phát triển thêm các phần tử mạng.

 NS-2 có cấu trúc modul, rất thuận tiện cho việc nghiên cứu tìm hiểu và phát triển. (adsbygoogle = window.adsbygoogle || []).push({});

Nhìn từ phía người sử dụng, NS-2 là chương trình biên dịch mã Otcl được liên kết tới thư viện C++. Các đối tượng cơ sở như TCP, CBR, … được xây dựng trong C+ +. Đầu vào NS-2 là tập mã lệnh Otcl, đầu ra là tập tin mơ phỏng tiến trình theo u cầu được thể hiện trong tập lệnh Otcl.

Kết quả mơ phỏng có thể quan sát bằng hình ảnh mơ tả trực quan với ứng dụng Nam (the Network Animator), bằng đồ thị (Xgraph, Trace graph) hoặc có thể được xử lý bằng các tệp lệnh tuỳ chọn. Với cấu trúc này, việc sử dụng NS-2 trở nên đơn giản hơn nhiều so với sử dụng trực tiếp C++ nhưng vẫn có những tính năng của C++.

Với những đặc điểm trên, NS-2 thực sự là một công cụ phần mềm hữu ích cho việc học tập, nghiên cứu mạng thông tin, giúp cho việc thực hành mạng trở nên hiệu quả hơn.

3.1.1 Kiến trúc NS2

NS thực thi các giao thức mạng như Giao thức điều khiển truyền tải (TCP) và Giao thức gói người dùng (UDP); các dịch vụ nguồn lưu lượng như Giao thức truyền tập tin (FTP), Telnet, Web, Tốc độ bit cố định (CBR) và Tốc độ bit thay đổi (VBR) ; các kỹ thuật quản lý hàng đợi như Vào trước Ra trước (Drop Tail), Dò sớm ngẫu nhiễn (RED) và CBQ; các thuật toán định tuyến như Dijkstra… NS cũng thực thi multicasting và vài giao thức lớp Điều khiển truy cập đường truyền (MAC) đối với mô phỏng LAN.

Hình 3.1: Tổng quan về NS dưới góc độ người dùng

Trong hình 3.1, NS là Bộ biên dịch Tcl mở rộng hướng đối tượng; bao gồm các đối tượng Bộ lập lịch Sự kiện, các đối tượng Thành phần Mạng và các mô đun Trợ giúp Thiết lập Mạng (hay các mô đun Plumbing).

Để sử dụng NS-2, người sử dụng lập trình bằng ngơn ngữ kịch bản OTcl. Người dùng có thể thêm các mã nguồn Otcl vào NS-2 bằng cách viết các lớp đối tượng mới trong OTcl. Những lớp này khi đó sẽ được biên dịch cùng với mã nguồn gốc. Kịch bản OTcl có thể thực hiện những việc sau:

• Khởi tạo Bộ lập lịch Sự kiện

• Thiết lập Mơ hình mạng dùng các đối tượng Thành phần Mạng

• Báo cho nguồn traffic khi nào bắt đầu truyền và ngưng truyền packet trong Bộ lập lịch Sự kiện

Thuật ngữ plumbing được dùng để chỉ việc thiết lập mạng, vì thiết lập một mạng nghĩa là xây dựng các đường dữ liệu giữa các đối tượng mạng bằng cách thiết lập con trỏ “neighbour” cho một đối tượng để chỉ đến địa chỉ của đối tượng tương ứng. Mô đun plumbing OTcl trong thực tế thực hiện việc trên rất đơn giản. Plumbing làm nên sức mạnh của NS.

Thành phần lớn khác của NS bên cạnh các đối tượng Thành phần Mạng là Bộ lập lịch Sự kiện. Bộ lập lịch Sự kiện trong NS-2 thực hiện những việc sau:

• Tổ chức Bộ định thời Mơ phỏng

• Huỷ các sự kiện trong hàng đợi sự kiện

• Triệu gọi các Thành phần Mạng trong mơ phỏng

Phụ thuộc vào mục đích của người dùng đối với kịch bản mô phỏng OTcl mà kết quả mơ phỏng có thể được lưu trữ như file trace. Định dạng file trace sẽ được tải vào trong các ứng dụng khác để thực hiện phân tích:

• File nam trace (file.nam) được dùng cho công cụ Minh họa mạng NAM

• File Trace (file.tr) được dùng cho cơng cụ Lần vết và Giám sát Mô phỏng XGRAPH hay TRACEGRAPH

Hình 3.2: Luồng các sự kiện cho file Tcl chạy trong NS

• NAM Visual Simulation Mơ phỏng ảo NAM

• Tracing and Monitoring Simulation Mơ phỏng Lần vết và Giám sát 3.1.2 C++ và OTcl

Hình 3.3 biểu diễn kiến trúc chung của NS. Người dùng có thể tưởng tượng mình đang đứng ở góc trái dưới, thiết kế và chạy các mô phỏng trong Tcl. Tcl dùng các đối tượng mô phỏng trong OTcl. Các đối tượng Bộ lập lịch Sự kiện và hầu hết các đối tượng Thành phần Mạng thực thi bằng C++ và sẵn có cho OTcl qua một liên kết OTcl.

Liên kết OTcl này được thực thi dùng TclCL. Tất cả đã làm nên NS, bộ biên dịch Tcl mở rộng hướng đối tượng và các thư viện mơ phỏng mạng.

Tcl OTcl OTcl TclCL TclCL ns-2 Ev en t Sc he du le r Network Components Ev en t Sc he du le r Network Components C/C++ Hình 3.3: Kiến trúc của NS-2

• NS sử dụng hai ngơn ngữ lập trình: Ngôn ngữ kịch bản (Tcl – Tool

Một phần của tài liệu đồ án: Kỹ thuật lưu lượng trong MPLS và cơ chế bảo vệ khôi phục đường và dựng chương trình mô phỏng MPLS-TE (Trang 53)