Lựa chọn phương pháp và công cụ đánh giá hiệu năng mạng [1]

Một phần của tài liệu Đánh giá ảnh hưởng của sự di động của nút mạng đến hiệu quả của các thuật toán định tuyến trong mạng MANET (Trang 41)

4.1.1. Lựa chọn phương pháp

Trong quá trình hình thành và phát triển của mạng máy tính từ xưa đến nay, những nhà thiết kế và người nghiên cứu mạng luôn dành sự quan tâm lớn đến vấn đề đánh giá và dự đoán hiệu năng mạng; mục đích chính là để nắm được và cải thiện đặc trưng giá - hiệu năng. Xuyên suốt trong quá trình thiết kế - xây dựng - vận hành - bảo trì

hệ thống mạng, ngay từ giai đoạn bắt đầu cho đến khi mạng đã được lắp đặt và đưa vào hoạt động thì yêu cầu đánh giá và dự đoán hiệu năng mạng luôn song hành. Trong giai đoạn đầu của quá trình thiết kế, người ta thường phải dự đoán hai vấn đề. Vấn đề thứ nhất là bản chất của các ứng dụng sẽ chạy trên mạng và các yêu cầu dịch vụ mà các ứng dụng này đòi hỏi hệ thống mạng phải đáp ứng. Vấn đề dự đoán thứ hai liên quan tới việc lựa chọn một trong các thiết kế kiến trúc, dựa trên các công nghệ phần cứng và phần mềm sẽ được phát triển và đưa ra thị trường trong tương lai, khi hệ thống mạng bước vào giai đoạn triển khai thực hiện.

Để tìm được các khiếm khuyết chính trong thiết kế hoặc các lỗi trong việc lập trình hệ thống, các nhà nghiên cứu thường so sánh hiệu năng dự đoán với hiệu năng thực tế đạt được. Ngày nay, việc dự đoán và đánh giá hiệu năng thường được coi là một phần không thể thiếu được của công việc thiết kế và triển khai thực hiện hệ thống nhằm đạt được mục tiêu là tối ưu hóa hiệu năng hệ thống.

Định cấu hình mạng: Sau khi hoàn thành triển khai và đưa mạng vào hoạt động, việc dự đoán và đánh giá hiệu năng mạng đối với các ứng dụng cụ thể cũng có ý nghĩa quan trọng. Để tối ưu hoá hiệu năng mạng, nhà sản xuất phải chỉ ra được các cách kết hợp và tổ chức phần cứng và phần mềm mạng để đem lại một giải pháp tốt nhất cho các yêu cầu của khách hàng, việc này thường được gọi là định cấu hình mạng.

Tinh chỉnh hệ thống: Sau khi hệ thống sản phẩm đã được lắp đặt tại địa điểm

của khách hàng, nhà cung cấp sản phẩm cần phải làm sao cho hệ thống mà họ bán cho khách hàng đạt được hiệu năng hoạt động như họ đã hứa hẹn khi chào hàng, việc này được gọi là tinh chỉnh hệ thống. Đối với các hệ thống mạng, việc tìm ra được điểm làm việc tối ưu và ổn định trên toàn mạng là rất khó.

4.1.1.1. Mô hình Giải tích

Đối với mạng máy tính, ta có thể thiết lập mô hình như một mạng hàng đợi. Khách hàng (customer) của các hàng đợi là các gói số liệu đến với yêu cầu được truyền đi, còn người phục vụ (server) chính là các phương tiện truyền, bao gồm hệ chuyển mạch và đường kết nối vật lý. Hầu hết các vấn đề liên quan đến hiệu năng đều liên quan tới thời gian mà các gói số liệu phải xếp hàng chờ được phục vụ. Trong các mạng chuyển mạch gói, gói số liệu là các khối dữ liệu có chiều dài thay đổi được, và được truyền qua mạng từ nguồn tới đích theo một con đường nào đó do hệ thống mạng quyết định. Khi các gói số liệu này đi qua mạng, chúng sẽ cùng nhau chia sẻ các tài nguyên mạng. Nói chung, tất cả các tham số như: số lượng và chiều dài các gói số liệu đi vào hoặc đi qua mạng tại mọi thời điểm, thời gian kéo dài các cuộc kết nối … thay đổi một cách thống kê. Do đó, cần phải sử dụng các khái niệm về xác suất để nghiên cứu sự tương tác của chúng với mạng khi xác định các tiêu chuẩn đo lường định lượng về hiệu năng. Lý thuyết Hàng đợi đóng vai trò mấu chốt trong việc phân tích mạng, bởi vì đó là công cụ Toán học thích hợp nhất để phát biểu và giải các bài toán về hiệu năng. Theo phương pháp này, chúng ta viết ra các mối quan hệ hàm giữa các tiêu chuẩn hiệu năng cần quan tâm và các tham số của hệ thống mạng bằng các phương trình có thể giải được bằng giải tích.

4.1.1.2. Mô phỏng mạng bằng chương trình máy tính

Mô phỏng, theo nghĩa chung nhất là sự bắt chước một hay nhiều khía cạnh của sự vật có thực, bằng một cách nào đó càng giống càng tốt. Trong các lĩnh vực nghiên cứu hiện đại nói chung và lĩnh vực đánh giá hiệu năng mạng nói riêng, mô phỏng được hiểu là một kỹ thuật sử dụng máy tính điện tử số để làm các thí nghiệm về mạng có liên quan đến thời gian. Chúng ta có thể xem hoạt động của mạng máy tính là một dãy các sự kiện xảy ra liên tiếp, tại các thời điểm xác định, rời rạc; mỗi sự kiện diễn ra trong một khoảng thời gian xác định. Do vậy, mô hình Mô phỏng hoàn toàn mô tả được hành vi động của mạng, ngay cả khi người nghiên cứu chỉ quan tâm đến giá trị trung bình của một số độ đo trong trạng thái dừng. Bằng cách sử dụng máy tính điện tử số, chúng ta có thể xây dựng các mô-đun chương trình phần mềm để mô phỏng các thành phần khác nhau của mạng thực cũng như hành vi của chúng. Các mô-đun chương trình phần mềm nói trên thường được gộp thành bộ mô phỏng với cấu trúc và độ phức tạp phụ thuộc vào phạm vi của thí nghiệm mô phỏng.

4.1.1.3. Đo trên mạng thực

Đây là phương pháp xác định hiệu năng dựa trên việc đo trên mạng thực các tham số mạng cấu thành độ đo hiệu năng cần quan tâm. Việc đo hiệu năng nhằm thực hiện một trong ba nhiệm vụ sau. Một là, giám sát hiệu năng của mạng . Hai là, thu thập số liệu để lập mô hình dữ liệu vào cho các phương pháp đánh giá hiệu năng bằng giải tích hoặc mô phỏng. Nhiệm vụ thứ ba là kiểm chứng các mô hình khác dựa trên các số liệu đo được. Đo hiệu năng không chỉ quan trọng trong các giai đoạn triển khai thực

hiện và tích hợp hệ thống mà còn cả trong các giai đoạn lắp đặt và vận hành hệ thống. Bởi vì sau khi lắp đặt và đưa vào sử dụng, mỗi một hệ thống cụ thể sẽ có một tải hệ thống và các độ đo hiệu năng được quan tâm riêng của nó, cho nên sau khi lắp đặt, người ta thường phải điều chỉnh cấu hình cho phù hợp. Các tham số cấu hình sẽ được chọn sau khi các phép đo hiệu năng cho thấy các tham số cấu hình này làm cho hệ thống đạt được hiệu năng tốt nhất.

4.1.1.4. Lý do sử dụng phương pháp mô phỏng để đánh giá hiệu năng mạng

Trong những trường hợp mô hình Giải tích mà chúng ta nhận được, dù đã được đơn giản hoá, hoặc phân rã nhưng vẫn không thể giải được bằng Toán học, khi đó, nói chung, chúng ta sẽ chỉ còn một phương pháp là mô phỏng. Phương pháp mô phỏng có thể được sử dụng ngay trong giai đoạn đầu của việc thiết kế hệ thống mạng, cho đến giai đoạn triển khai thực hiện và tích hợp hệ thống. Phương pháp này nói chung, đòi hỏi một chi phí rất cao cho việc xây dựng bộ mô phỏng cũng như kiểm chứng tính đúng đắn của nó. Tuy nhiên, sau khi đã xây dựng xong bộ mô phỏng, người nghiên cứu có thể tiến hành chạy chương trình mô phỏng bao nhiêu lần tuỳ ý, với độ chính xác theo yêu cầu và chi phí cho mỗi lần chạy thường là rất thấp. Các kết quả mô phỏng nói chung vẫn cần được kiểm chứng, bằng phương pháp giải tích hoặc đo. Phương pháp mô hình Giải tích và mô hình Mô phỏng đóng vai trò rất quan trọng trong việc thiết kế và triển khai thực hiện hệ thống, đặc biệt là ở giai đoạn đầu.

Trong luận văn này, tôi sử dụng bộ mô phỏng NS-2 kết hợp với các độ đo hiệu năng để đánh giá ảnh hưởng của sự di động của nút mạng đến hiệu quả của các giao thức định tuyến trong mạng MANET.

4.1.2. Công cụ mô phỏng NS-2 [1, 12, 15]

NS là chữ viết tắt của cụm từ Network Simulation, là bộ mô phỏng mạng theo sự kiện rời rạc do nhóm nghiên cứu tại Phòng thí nghiệm Quốc gia Lawrence Berkeley, Hoa Kỳ xây dựng và được tiếp tục phát triển bởi dự án VINT (Virtual InterNetwork Testbed) do Bộ Quốc phòng Mỹ cấp kinh phí. NS được phát triển từ bộ mô phỏng REAL (Realistic and Large) của S. Keshav từ năm 1989, còn REAL thì bắt nguồn từ bộ mô phỏng NEST (Network Simulation Testbed). Sau năm 1997, các phiên bản 2.xx của NS ra đời và bắt đầu từ đây người ta thường gọi bộ mô phỏng NS là NS- 2, nó có những khác biệt khá nhiều so với các phiên bản 1.xx ban đầu. Khi sử dụng NS-2, ta có thể lập trình thay đổi cấu hình và mở rộng mô hình mạng mô phỏng một cách dễ dàng, ngay cả khi chương trình mô phỏng đang chạy. Ban đầu, NS chỉ được thiết kế để chạy trên nền hệ điều hành Unix/Linux, sau này người ta cũng xây dựng một số phiên bản NS chạy trong môi trường Windows.

Hình 15. Kiến trúc NS-2

Hiện nay, cộng đồng sử dụng NS có trên 1000 trường đại học, viện nghiên cứu, công ty... với hơn 10 nghìn người sử dụng trên toàn thế giới. Cộng đồng sử dụng NS có một diễn đàn chung để trao đổi các vấn đề có liên quan.

Ba chủ đề chính thường được nghiên cứu bằng NS là: lựa chọn một trong một số cơ chế, nghiên cứu tỉ mỉ các hành vi phức tạp và điều tra các tương tác còn chưa biết giữa các giao thức.

Các đặc điểm nổi bật chính bộ mô phỏng NS là:

Khả năng trừu tượng hoá: có thể thay đổi độ mịn của mô phỏng cho phù hợp

với cả các mô phỏng chi tiết lẫn các mô phỏng mức cao.

Khả năng phát sinh ra kịch bản: NS có khả năng tạo ra một cách tự động các

mẫu lưu lượng, các hình trạng mạng, các sự kiện thay đổi động và phức tạp, kể cả việc mô phỏng các nút mạng và đường truyền bị hỏng.

Khả năng mô phỏng tương tác với mạng thực: NS có một giao diện đặc biệt,

cho phép lưu lượng thực đi qua nút mạng tương tác với bộ mô phỏng chạy trên nút mạng đó.

Khả năng hiển thị trực quan: Công cụ hiển thị NAM giúp chúng ta thấy được

hình ảnh hoạt động của mạng bằng trực giác và trợ giúp cho việc gỡ rối giao thức cần nghiên cứu. (adsbygoogle = window.adsbygoogle || []).push({});

Khả năng mở rộng được: Bộ mô phỏng NS có khả năng mở rộng được dễ dàng

khi người nghiên cứu muốn bổ sung các chức năng mới, thử nghiệm các kịch bản khác nhau và nghiên cứu các giao thức mới.

Các thành phần của bộ chương trình mô phỏng NS

Trong bộ chương trình mô phỏng mạng NS, hai thành phần quan trọng nhất là chương trình mô phỏng NS và các công cụ hiển thị trực quan. Khi sử dụng chương trình mô phỏng NS, ta có thể lập trình cho nó để định ra hình trạng (tô-pô) mạng là tĩnh hoặc động, cũng như tạo ra các luồng lưu lượng theo một số phân bố đã được định nghĩa trước. Mặt khác, ta có thể lựa chọn chính sách quản lý hàng đợi tại các nút mạng, cũng như có thể đưa các mô hình sinh lỗi vào các đường truyền.

Thành phần thứ hai là các công cụ hiển thị trực quan NAM và XGRAPH. NAM là công cụ hiển thị, cho phép người nghiên cứu nhìn thấy bằng đồ hoạ hình trạng mạng, gồm các nút mạng, các đường truyền nối các nút ở dạng tĩnh và động; NAM cũng có thể hiển thị hành vi động của hàng đợi tại các nút, cũng như sự chuyển động của các gói số liệu trên mạng. Đối với mạng di động không dây, các phiên bản mới của NAM có thể hiển thị hình trạng động của mạng, tức là sự chuyển động của các nút mạng trong không gian hai chiều.

Hiện nay, ta có thể sử dụng công cụ iNSpect để thay thế NAM trong hiển thị hình ảnh động của các mạng di động không dây. Công cụ mới này được phát triển bởi nhóm Toilers Research Group gồm những thành viên thuộc trường Colorado School of Mines và khoa Công nghệ an ninh – trường Fraunhofer Institute.

XGRAPH là một chương trình ứng dụng chạy trong X-Windows. Những tệp vết dạng text do chương trình mô phỏng sinh ra được XGRAPH sử dụng làm dữ liệu đầu vào để vẽ đồ thị trong không gian hai chiều. Các dạng đồ thị mà XGRAPH có thể vẽ là đồ thị dạng đường (Line graph), đồ thị điểm (Scatter plots) và đồ thị cột (Bar charts). Các đồ thị này có thể được sao lưu dưới dạng các file ảnh thông dụng và sử dụng cho các chương trình ứng dụng khác nhau.

4.1.2.1. Các chức năng mô phỏng chính của NS Đối với mạng có dây: Đối với mạng có dây:

 Các đường truyền điểm-điểm đơn công, song công, mạng cục bộ LAN.

 Các chính sách phục vụ hàng đợi.

 Các mô hình sinh lỗi.

 Vấn đề định tuyến Unicast/Multicast (Unicast/Multicast routing).

 Các giao thức tầng Giao vận: TCP/Tahoe/Reno/New-Reno/Sack/Vegas, UDP, điều khiển lưu lượng và điều khiển tắc nghẽn.

 Các giao thức tầng Ứng dụng, Web caching, truyền luồng dữ liệu đa phương tiện.

Đối với mạng không dây:

 Kênh truyền.

 Sự di chuyển của các nút mạng trong không gian hai chiều.

 Mạng LAN không dây (WLAN) 802.11.

 Mobile IP.

 Các thuật toán định tuyến trong mạng không dây đặc biệt (Adhoc networks): DSDV, DSR, AODV, TORA...

 Liên mạng sử dụng vệ tinh (Satellite Networking).

Trong lĩnh vực mạng hỗn hợp có dây và không dây:

 Trạm cơ sở (BS) đóng vai trò gateway giữa mạng có dây và mạng không dây.

4.1.2.2 Cấu trúc phần mềm của NS Lập trình tách biệt Lập trình tách biệt

Người ta đã xây dựng NS theo tư tưởng tạo cho nó khả năng mở rộng được dễ dàng khi người nghiên cứu muốn bổ sung các chức năng mới, thử nghiệm các kịch bản khác nhau và nghiên cứu các giao thức mới. Để đạt được mục tiêu trên, NS sử dụng một mô hình lập trình phân tách làm hai phần; ngôn ngữ C++ được sử dụng để triển khai thực hiện hạt nhân của bộ mô phỏng, gồm các chức năng căn bản nhất của mô phỏng cần chạy ở tốc độ cao. Phần thứ hai của NS sử dụng ngôn ngữ Tcl, thực hiện các nhiệm vụ định nghĩa, định cấu hình và điều khiển mô phỏng.

Lập trình hướng đối tượng

Việc phân chia NS làm hai phần được lập trình bằng các ngôn ngữ khác nhau cũng thường thay đổi trong quá trình nghiên cứu các giao thức. Vì vậy, việc tái sử dụng các môđun chương trình có ý nghĩa hết sức quan trọng, điều này dẫn đến sự lựa chọn lập trình hướng đối tượng. Tuy nhiên, ban đầu khi người ta thiết kế NS, ngôn ngữ Tcl không hỗ trợ việc lập trình hướng đối tượng, vì thế dự án VINT đã chấp nhận sử dụng các mở rộng hướng đối tượng của ngôn ngữ Tcl, được phát triển tại Viện Công nghệ Massachuset (MIT), ngôn ngữ này được gọi là OTcl. Ngoài ra, VINT cũng chấp nhận một sự mở rộng đơn giản của Tcl, đó là các lớp (TclCL). Nhờ đó có thể dễ dàng tạo ra một đối tượng được xây dựng bằng cả hai ngôn ngữ C++ và OTcl.

4.1.2.3. Lập trình mô phỏng bằng NS

Dưới đây chúng tôi liệt kê các thao tác cơ bản trong việc lập trình mô phỏng bằng NS, mỗi thao tác này nói chung được biểu diễn bằng một dòng lệnh trong chương trình mô phỏng, sử dụng “ngôn ngữ” của NS. Các hướng dẫn chi tiết hơn có thể tra cứu trong tài liệu ns-Manual.

1. Các thao tác đối với bộ lập lịch các sự kiện. 2. Tạo ra mạng. (adsbygoogle = window.adsbygoogle || []).push({});

3. Chọn thuật toán định tuyến. 4. Tạo ra kết nối và lưu lượng.

5. Đưa mô-đun sinh lỗi vào đường truyền của mạng mô phỏng. 6. Ghi lại vết của mô phỏng (Tracing) để xử lý và phân tích sau.

7. Ghi lại vết của các sự kiện để hiển thị trực quan bằng chương trình NAM.

Một phần của tài liệu Đánh giá ảnh hưởng của sự di động của nút mạng đến hiệu quả của các thuật toán định tuyến trong mạng MANET (Trang 41)