Định tuyến dựa trên QoS:

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 90)

5.3.1.1 Cơ sở tính toán QoS:

Cơ sở để xây dựng phương án QoS gồm 2 phần: Phân loại gói tin và cơ chế

quản lý QoS. Dưới đây là tóm tắt các phương pháp chính để thực hiện QoS:

• Cơ chế phân loại gói tin: Việc phân loại gói tin được thực hiện bởi các router biên mạng trên các giao diện kết nối đến khách hàng. Cơ chếđược thực hiện dựa vào giá trị IP Precedence trong gói tin IP.

• Cơ chế chống tắc nghẽn: Để chống tắc nghẽn trong mạng Core, cơ chế này sử dụng phương pháp hàng đợi, theo đó, các gói tin sẽ được đưa vào hàng

đợi, xử lý chống tắc nghẽn bằng việc đánh giá lưu lượng, drop gói tin nếu cần thiết. Hai phương pháp được sử dụng là: Hàng đợi ưu tiên (Strict-priority quece) và WRED (Weight Random Early Detection).

o Hàng đợi ưu tiên: Được sử dụng với các lưu lượng cần độ trễ thấp, không bị mất gói tin và được ưu tiên chuyển tiếp khi có tắc nghẽn xảy ra.

o WRED: Cơ chế loại bỏ gói tin dựa trên cơ sở dự đoán sớm tắc nghẽn xảy ra. WRED sẽđề ra các mức giới hạn trên và dưới dựa vào độ trễ

yêu cầu của từng loại lưu lượng. Nếu tắc nghẽn xảy ra, các lưu lượng

ở trong hàng đợi sẽ bị drop theo thứ tự ưu tiên của từng lưu lượng. Lưu lượng nào có giới hạn có giới hạn dưới nhỏ sẽ bị drop trước, lưu lượng nào có giới hạn dưới lớn hơn bị drop sau. Công thức tính giới hạn hàng đợi như sau:

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

Queue limit = (Bandwidth / (MTU*8)) * delay

Trong đó mức độ trễ được quy định là 70ms với giới hạn dưới là v 100ms với giới hạn trên

5.3.1.2 Cơ chế thực hiện QoS:

Mô hình quản lý chất lượng dịch vụ QoS được chia làm 2 phần với chức năng khác nhau:

• Chuyển mạch lõi (Core Router): Làm nhiệm vụ xếp hàng đợi, lập lịch chuyển gói, chống tắc nghẽn.

• Lớp truy nhập (Access Router):

o Với các port đầu vào (ingress port): Làm nhiệm vụ phân loại, đánh dấu, áp dụng các chính sách.

o Với các port đầu ra (egress port): Làm nhiệm vụ xếp hàng đợi.

Cơ chế hoạt động của QoS được chi tiết như sau:

• Phân loại, đánh dấu nhóm dịch vụ: Router sẽ phân loại các gói tin thành từng lớp (Class) khác nhau dựa trên trường IP Precedence và MPLS Experimental của gói tin khi đi vào Router. Các lớp được phân loại gồm:

o Realtime: Dành cho các ứng dụng thoại cần xử lý thời gian thực, độ

trễ và mất gói thấp.

o Data-Hight: Dành cho các dữ liệu có độưu tiên cao được truyền trong mạng.

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

o Controll: Dành cho các thông tin điều khiển trong mạng. o Data_Low: Dành cho các dữ liệu có độưu tiên thấp. o Video: Dành cho các dữ liệu video.

• Định nghĩa chính sách cho từng lớp dữ liệu: Các dữ liệu sau khi được phân loại, sẽ được định nghĩa các chính sách tương ứng theo độ ưu tiên của từng loại dữ liệu. Chính sách được sử dụng trong mạng là WRED và Priority Quece

o Lớp Realtime với yêu cầu cao vềđộ trễ nhỏ và không drop gói tin nên sẽđược đưa vào hàng đợi ưu tiên (Priority Quece). Như vậy router sẽ

không drop gói tin khi xảy ra hiện tượng nghẽn trong mạng.

o Các lớp còn lại sẽ được áp dụng kỹ thuật WRED nhằm dựđoán trước tắc nghẽn và loại bỏ các gói tin có độ ưu tiên thấp khi xảy ra tắc nghẽn.

Các cơ chế thực hiện QoS này sẽ được kết hợp với phần định tuyến dựa trên lưu lượng tạo thành hệ thống định tuyến chung của toàn mạng.

5.3.2 Định tuyến dựa trên lưu lượng

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

Với mô hình mạng lõi, đường truyền giữa các Core Router là GE cung cấp tốc độ

1Gbps, trong khi đường truyền từ 63 tỉnh thành về các Core Router là STM1 (tốc độ

155 Mbps). Nếu 63 tỉnh thành này sử dụng tối đa đường truyền STM1 thì chắc chắn với những hoạt động định tuyến đơn giản sẽ xảy ra hiện tượng nghẽn với một số

link, đồng thời lại dư thừa băng thông trong một số link khác, làm giảm hiệu suất của mạng. Trong trường hợp này hoạt động định tuyến có vai trò quan trọng trong việc sử dụng tối đa hiệu năng của mạng. Do mạng truyền số liệu mới hoàn thành nên đã sử dụng những ưu điểm nổi bật của một mạng MPLS, đó là sử dụng kỹ thuật lưu lượng trong việc định tuyến lưu lượng. Trong việc định tuyến dựa trên lưu lượng, mạng truyền số liệu dựa trên thuật toán định tuyến cân bằng tải động, điều khiển tránh tắc nghẽn nhưđã nói trong phần 5.2.2, 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 trong việc điều khiển lưu lượng, chống tắc nghẽn, tận dụng tối đa tài nguyên mạng. Cơ chế cân bằng tải được thực hiện như sau:

- Mỗi Access Router tại các tỉnh sẽ có 2 đường kết nối đến Core Router (hình 5.6), lưu lượng từ các Access Router về Core sẽđược load-balancing trên cả 2 đường này - Với mạng lõi bao gồm các Core Router sẽ được định tuyến lưu lượng dựa trên thuật toán định tuyến cân bằng tải, chống tắc nghẽn (như đã nói trong 5.2.2), có nghĩa là các luồng lưu lượng vào từ 1 Core Router đến 1 Core Router khác sẽ có thể đi theo nhiều đường khác nhau theo cách cân bằng tải, do đó sẽ tận dụng hết tài nguyên, hiệu suất của mạng, tránh được tối đa các trường hợp tắc nghẽn xảy ra. (điều này được minh họa trong chương 6 về kết quả mô phỏng và thực tế).

5.4 Tổng kết chương

Chương này tập trung nghiên cứu, so sánh, phân loại một số thuật toán định tuyến cơ bản trong mạng MPLS. Các thuật toán định tuyến sẽ được chia ra làm hai loại là thuật toán định tuyến dựa trên QoS (định tuyến đảm bảo chất lượng dịch vụ) và thuật toán định tuyến dựa trên lưu lượng. Với mỗi mạng MPLS cụ thể, hoạt động

định tuyến sẽ là sự kết hợp giữa thuật toán định tuyến dựa trên QoS và thuật toán

định tuyến dựa trên lưu lượng. Chương này cũng đã đưa ra phương pháp định tuyến nâng cao của một mạng MPLS trên thực tế đã được triển khai tại Việt Nam.

Chương 6: Kết qu mô phng và thc tế

CHƯƠNG 6: KT QU MÔ PHNG VÀ THC T

6.1 Sơ lược về Network Simulator

Phần mềm mô phỏng mạng Network Simulator (NS) được phát triển ở

UC Berkeley nhằm mô phỏng các mạng IP. Phần mềm này thực thi các giao thức mạng như là TCP, UDP, hoạt động của những tài nguyên mạng như FPT, Telnet, Web, CBR và VBR, các cơ chế quản lý hàng đợi router như Drop Tail, RED và CBQ, các thuật toán định tuyến như Dijkstra, và nhiều hơn nữa. NS cũng mô phỏng mạng multicasting… Nó là môt phần của dự án VINT phát triển các công cụ để hiển thị kết quả mô phỏng, phân tích và chuyển đổi các topo mạng. Hiện nay, NS version 2 được viết trên C++ và Otcl (ngôn ngữ Tcl hướng đối tượng mở rộng do MIT phát triển)

Hình 6.1Cách nhìn đơn giản về NS

Như đã chỉ ra ở hình 6.1, NS là tập lệnh biên dịch Tcl hướng đối tượng (Otcl) có một lập biểu (scheduler) sự kiện mô phỏng và các thư viện đối tượng thành phần mạng cũng như những thư viện module thiết lập mạng (tuy nhiên các module thiết lập được thực thi như là các hàm thành phần của đối tượng mô phỏng cơ bản). Hay nói cách khác, để sử dụng NS, chúng ta lập trình trên ngôn ngữ tập lệnh OTcl. Để thiết lập và chạy một mạng mô phỏng, người dùng phải viết một tập lệnh Otcl và khởi động một lập biểu sự kiện, thiết lập cấu hình mạng sử dụng các đối tượng mạng và các hàm chức năng trong thư viện, chỉ cho tài nguyên lưu lượng biết khi nào thì bắt đầu và kết thúc việc truyền gói thông qua

Chương 6: Kết qu mô phng và thc tế

tượng mạng bằng cách set các lân cận pointer của đối tượng đến địa chỉ của các

đối tượng tương ứng. Khi người dùng muốn tạo một đối tượng mạng mới, họ có thể dễ dàng tạo một đối tượng bằng cách viết tập lệnh hay tạo một đối tượng gộp từ thư viện đối tượng và thiết lập dòng data qua những đối tượng này. Ưu thế của NS chính là ởđiểm này.

Một thành phần chính của NS bên cạnh đối tượng mạng là lập biểu sự

kiện. Một sự kiện trong NS là một ID gói, duy nhất của một gói với thời gian biểu và pointer chỉ đến đối tượng nắm giữ sự kiện. Trong NS, một lập biểu sự

kiện theo dõi thời gian mô phỏng và tính thời gian trong chuỗi các sự kiện được lập biểu bằng cách gọi các thành phần mạng tương ứng. Những thành phần mạng này giao tiếp với nhau thông qua các gói. Tuy nhiên điều này sẽ không tính vào thời gian mô phỏng

NS không chỉ được viết trên OTcl mà còn viết bằng C++. Đó là bởi vì, NS phân biệt việc thực thi đường dẫn dữ liệu với việc thực thi đường dẫn điều khiển. Để giảm thời gian xử lý sự kiện và gói, lập biểu sự kiện và các đối tượng thành phần mạng cơ bản ở đường dẫn dữ liệu được viết và biên dịch trên C++. Những đối tượng đã biên dịch này sẽ sẵn sàng trong biên dịch Otcl thông qua liên kết OTcl. Liên kết Otcl sẽ tạo ra một đối tượng OTcl phù hợp với mỗi đối tượng C++ và tạo hàm điều khiển cùng các biến cấu hình chỉ định bởi hoạt động của đối tượng C++ như là các hàm và các biến thành phần của đối tượng OTcl tương ứng. Bằng cách này, việc điều khiển của đối tượng C++ được ghi nhận

đến OTcl. Cũng có thể cộng các hàm và biến thành phần đến C++ được liên kết

đối tượng OTcl.

Chương 6: Kết qu mô phng và thc tế

Đối tượng trong C++ không cần thiết được điều khiển trong một chương trình mô phỏng. Tương tự như thế, một đối tượng (không thuộc đường dẫn dữ liệu) có thể được thực thi hoàn toàn ở OTcl. Hình 6.2 chỉ một hệ đẳng cấp

đối tượng ví dụ trong C++ và OTcl

Hình 6.3Kiến trúc NS

Hình 6.3 thể hiện kiến trúc tổng quát của NS. Trong hình này, vị trí người dùng được hình dung là ở góc dưới bên trái. Tại vị trí này người dùng sẽ thiết kế và chạy mô phỏng ở Tcl sử dụng các đối tượng mô phỏng trong thư viện OTcl. Lập biểu sự kiện và hầu hết các thành phần mạng (được thực thi trong C++ và có sẵn ở OTcl thông qua liên kết OTcl) sẽđược thi hành sử dụng Tcl.

Chúng ta có thể tự hỏi bằng cách nào có thể lưu lại được kết quả mô phỏng. Như đã nói ở Hình 6.1, khi mô phỏng kết thúc, NS sẽ xuất một hay nhiều file text ra, ở đó sẽ chứa các dữ liệu mô phỏng chi tiết nếu chúng ta yêu cầu trong tập lệnh Tcl. Dữ liệu có thể được sử dụng cho phân tích mô phỏng hay xem như là dữ liệu đầu vào cho công cụ hiển thị mô phỏng gọi là Network Animator (NAM). NAM có giao diện người dùng như Hình 6.4. Ở đó ta có thể

dễ dàng điều khiển tốc độ hiển thị, hay xem các gói rơi,…

Lưu ý rằng, NS cũng như NAM đều chỉ chạy trên môi trường UNIX. Tuy nhiên đối với những ai không quen dùng Linux có thể chạy chương trình Cygwin giả lập môi trường UNIX trong Win. Cygwin có thể tương thích với

Chương 6: Kết qu mô phng và thc tế

các version Windows như Win 98, Win 2000 hay Windows XP. Tuy nhiên đây là chương trình đang hoàn thiện dần nên cách cài đặt Cygwin cũng như NS, NAM trên chúng rất phức tạp và tùy loại phiên bản Windows sẽ có cách cài đặt và vá những lỗi riêng. Trong luận văn này tôi đã dùng phiên bản NS-allinone-2.32 cài đặt trên Cygwin và đã chạy tốt.

Ngoài ra, để hiển thị các kết quả dạng đồ thị, cần sử dụng một công cụ, thực chất là một chương trình, có tên gọi là Xgraph. Trong các chương trình mô phỏng, sử dụng chương trình Xgraph để vẽ các đồ thị về băng thông theo thời gian. Sau đây là dạng một đồ thị tiêu biểu trong Xgraph.

Hình 6.4Giao diện đồ thị trong Xgraph

Một bổ sung cho NS-2 để mô phỏng mạng MPLS, đó là chương trình mô phỏng mạng MPLS MNS v2.0 (MPLS Network Simulator version 2.0).

MNS có thể mô phỏng việc chuyển tiếp và phân phối nhãn trong MPLS. Ngoài ra, nó còn bổ sung cơ chế phục hồi, tạo một đường đi dự phòng cho đường đi hiện hành.

6.2. Mô phỏng hoạt động định tuyến trong mạng MPLS

Mô hình và các cài đặt mạng sử dụng trong các mô phỏng sau là giống nhau cho tất cả các trường hợp mô phỏng. Hình vẽ bên dưới biểu diễn mô hình mạng thực tế (ởđây ta chỉ xét đến phần định tuyến trong mạng lõi).

Chương 6: Kết qu mô phng và thc tế

Hình 6.5Mô hình mạng thực tế

Từ mô hình mạng thực tế trên hình 6.6 ta có thể thấy rằng sẽ có khoảng 20 Access Router với từng khu vực, có nghĩa là mỗi Core Router tại HNI, DNG, HCM sẽ có khoảng 20 kết nối STM1 (cung cấp tốc độ tới 155Mbps) đến 20 Access Router tại các tỉnh thành. Trong khi mỗi kết nối giữa các Core Router chỉ là đường quang tốc độ 1Gbps. Do có nhiều sự hạn chế so với thực tế nên trong phần mô phỏng, mô hình được đưa ra như sau:

Chương 6: Kết qu mô phng và thc tế

Với mô hình trên thì các node 2, 3 xem như Core Router tại HNI trên thực tế, node 4,5 xem như Core Router tại DNG, node 6, 7 xem như Core Router tại HCM. Node 1 đại diện cho tập các Access Router tại miền Bắc, node 9 đại diện cho tập các Access Router tại miền Nam (trong phần mô phỏng này chỉ xét ví dụ đường đi từ node 1 đến node 9). Đường truyền giữa các Core Router có băng thông là 10M,

đường truyền từ các Access Router (node 1, 9) lên Core Router có băng thông 30M. Trễđường truyền từ node 1 đến node 2, 3 là 5ms.

Trễđường truyền từ node 9 đến node 6, 7 là 5ms. Trễđường truyền giữa các node 2, 4, 6 là 10ms. Trễđường truyền giữa các node 3, 5, 7 là 10ms. Trễ trên các đường còn lại coi như bằng 0ms.

Các nguồn phát lưu lượng đặt trên node 0, 12 và các đích nhận lưu lượng đặt trên node 11, 13.

6.2.1 Mô phỏng mạng IP không hỗ trợ MPLS 6.2.1.1 Mô hình 6.2.1.1 Mô hình

Mô hình như trong hình 6.7, trong đó các node đều là router IP thông thường, không hỗ trợ MPLS (được đặt tên tương ứng từ R0 đến R13).

Có 2 luồng lưu lượng được tạo ra src1 gắn vào node R0, src2 gắn vào node R12. Tương ứng có 2 đích lưu lượng sink1 gắn vào node R11, sink2 gắn vào node R13. Mỗi nguồn phát với tốc độ 6Mbps, kích thước gói 600B.

6.2.1.2 Thực hiện và kết quả

- Thời điểm 0.5s: Luồng 1 (src1 - sink1) bắt đầu truyền. - Thời điểm 2.0s: Luồng 2 (src2 - sink2) bắt đầu truyền. - Thời điểm 5.0s: Cả 2 luồng ngưng truyền.

Kết quả:

Chương 6: Kết qu mô phng và thc tế

• Luồng 2 đã truyền 3749 gói, tỷ lệ mất gói là 16.4%.

Hình 6.7Kết quả băng thông nhận được

6.2.1.3 Nhận xét

Mạng IP sử dụng giải thuật định tuyến chọn đường ngắn nhất, do vậy cả 2 luồng lưu lượng đều đi theo con đường là 1-2-6-9. Băng thông trên đường này không đủ cho cả 2 luồng, do vậy sẽ xảy ra tình trạng nghẽn. Kết quảđược chỉ ra trong hình 6.9, cả 2 luồng đều bị mất gói tại router R2. Trong khi đó, các đường khác có đủ băng thông nhưng lại không được sử dụng. Đây chính là vấn đề sử dụng tài nguyên không hiệu quả.

Chương 6: Kết qu mô phng và thc tế

6.2.2 Mô phỏng cơ chế định tuyến cân bằng tải, chống tắc nghẽn trong mạng MPLS MPLS

6.2.2.1 Mô hình mô phỏng.

Mô hình như trong hình 6.7, trong đó các node R0, R12, R11 và R13 là router IP

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 90)