- Để nắm được các đặc trưng về giá- hiệu suất (cost-performamce): nhằm đưa ra
các đánh giá và dự đoán hiệu suất của mạng ngay từ khi thiết kế cho tới khi lắp đặt và đưa vào hoạt động.
- Định cấu hình mạng: nhằm tìm ra giải pháp tốt nhất cho các yêu cầu của khách
hàng.
- Tinh chỉnh hệ thống: đảm bảo hiệu suất hoạt động như thiết kế ban đầu và cố tìm ra điểm làm việc tối ưu và ổn định trên toàn mạng.
3.2.3. Phân loại các phƣơng pháp đánh giá hiệu suất[1]
Có nhiều phương pháp đánh giá hiệu suất mạng, có thể chia chúng ra làm 3 loại: mô hình giải tích (Analytic Models), mô hình mô phỏng (Simulation Models) và đo (Measurement).
a. Mô hình giải tích
Là phương pháp sử dụng các công cụ toán học để phát biểu, mô tả và giải quyết các bài toán về hiệu suất. 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. 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 suất 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.
Tuy nhiên, các mô hình giải tích mà chúng ta xây dựng thường là không thể giải được nếu không được đơn giản hóa nhờ các giả thiết, hoặc được phân rã thành các mô hình nhiều cấp. Các mô hình giải tích thường đơn giản và khác xa với thực tế, cho nên phương pháp này chỉ được sử dụng trong giai đoạn đầu của việc thiết kế mạng, nhằm giúp người thiết kế dự đoán được các giá trị giới hạn của hiệu năng.
b. Mô phỏng
Mô phỏng là sự bắt chước một hay nhiều khía cạnh của sự vật có thực. Trong lĩnh vực đánh giá hiệu suất mạng, mô phỏng là kỹ thuật sử dụng máy tính điện tử số để làm các thí nghiệm về mạng. Mô hình mô phỏng mô tả 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 ở trạng thái dừng. Cấu trúc và độ phức tạp của bộ mô phỏng phụ thuộc vào phạm vi của thí nghiệm mô phỏng. Nó thường được xây dựng có cấu trúc, cho phép mô-đun hóa chương trình mô phỏng thành tập các chương trình con, sao cho việc sửa đổi, bổ sung các chương trình con được dễ dàng. Ngoài ra, chương trình mô phỏng cũng phải được xây dựng sao cho đạt được tốc độ cao nhằm làm giảm thời gian chạy mô phỏng càng nhiều càng tốt.
Mô phỏng là phương pháp có thể 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 đòi hỏi một chi phí khá cao để xây dựng bộ mô phỏng. Tuy nhiên, chi phí cho mỗi lần chạy mô phỏng là rất thấp và người nghiên cứu có thể chạy chương trình mô phỏng bao nhiêu lần tùy ý, với độ chính xác theo yêu cầu.
c. Đo
Đo là phương pháp xác định hiệu suất 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 suất cần quan tâm. Việc đo hiệu suất nhằm thực hiện một trong các nhiệm vụ sau. Một là, giám sát hiệu suất 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 suất bằng giải tích hoặc mô phỏng. Ba là, kiểm chứng các mô hình khác dựa trên các số liệu đo được. Các tham số cấu hình sẽ được chọn sau khi các phép đo hiệu suất cho thấy các tham số cấu hình này làm cho hệ thống đạt được hiệu suất tốt nhất.
Đo chỉ được thực hiện khi hệ thống đã được triển khai. Tuy nhiên, trong nhiều trường hợp, phương pháp đo là không thể thực hiện được do chi phí cho các công cụ đo, thời gian đo là quá lớn. Mặt khác, để đo đạt được hiệu quả thì đòi hỏi người nghiên cứu phải có kiến thức về Lý thuyết thống kê thì mới có thể rút ra được các kết luận hữu ích từ các số liệu đo được. Tuy nhiên, kết quả từ phép đo luôn là một số liệu tin cậy và cụ thể nhất khi thực hiện đánh giá hiệu suất mạng.
3.2.4. Các vấn đề cần giải quyết khi đánh giá hiệu suất
Mỗi bài toán về đánh giá hiệu suất đều có những đặc trưng riêng. Tuy nhiên, các bài toán về đánh giá hiệu suất đều phải giải quyết chung một số các vấn đề để đảm bảo kết quả đánh giá là trung thực và ý nghĩa nhất đối với người thực hiện. Các vấn đề cơ bản cần giải quyết khi đánh giá hiệu suất là:
Lựa chọn các kỹ thuật, các tiêu chí đánh giá, các độ tải của hệ thống một cách chính xác đáp ứng được với mục tiêu ban đầu.
Lên danh sách các tham số và các yếu tố để nghiên cứu: cần liệt kê ra danh sách tất cả các tham số ảnh hưởng đến hiệu suất. Danh sách này có thể bao gồm các tham số hệ thống và các tham số tải. Các tham số hệ thống thường là không thay đổi trong các lần cài đặt khác nhau. Trong khi, các tham số tải thường thay đổi theo đặc trưng yêu cầu của người sử dụng. Do vậy, khi tiến hành đánh giá hiệu suất, để tránh lỗi mắc phải thì nên lựa chọn tham số có ảnh hưởng lớn nhất đến hiệu suất làm yếu tố để nghiên cứu.
Thiết kế mô phỏng để thu được các thông tin mới nhất, có ý nghĩa nhất với ít công sức nhất. Thông thường, có nhiều yếu tố ảnh hưởng đến hiệu suất của hệ thống nên đôi khi cần tách biệt các yếu tố đó độc lập trong các lần mô phỏng khác nhau để rút ra được kết quả khách quan.
Tiến hành các phép đo một cách chính xác: để đo được hiệu suất của một hệ thống máy tính. Người thực hiện cần sử dụng ít nhất 2 công cụ. Một công cụ để đưa tải vào hệ thống và một công cụ để đo lường các kết quả.
Sử dụng các kỹ thuật thống kê và biểu diễn kết quả thích hợp: các kết quả của phép đo hay mô phỏng là các đại lượng ngẫu nhiên. Do vậy, kết quả thu được trong những lần thí nghiệm được lặp lại có thể khác nhau. Các kết quả thu được sẽ là cơ sở để người thực hiện mô phỏng rút ra các kết luận có nghĩa. Do đó, biểu diễn kết quả đo được sao cho dễ hiểu và khoa học cũng là cả một vấn đề cần quan tâm.
3.3. Các công cụ mô phỏng mạng WSN [8]
Trong lĩnh vực nghiên cứu mạng máy tính, việc xây dựng kịch bản cho một hệ thống mạng trong thời gian thực là rất khó khăn. Hơn nữa, chi phí và thời gian cho mỗi cuộc thử nghiệm này thường là khá lớn. Vì vậy việc triển khai một hệ thống mạng trong thế giới thực để nghiên cứu không phải là một điều dễ dàng. Mô phỏng mạng giúp cho các nhà nghiên cứu có thể kiểm tra các kịch bản mà khó hoặc tốn kém để mô phỏng trong thế giới thực. Mô phỏng mạng đặc biệt hữu ích trong việc kiểm tra các giao thức mạng mới hoặc để thay đổi các giao thức hiện có trong môi trường điều khiển hoặc tái sản xuất. Người ta có thể dễ dàng thiết kế cấu trúc liên kết mạng khác nhau, sử dụng các loại nút mạng khác nhau như các máy chủ, máy khách, các bộ định tuyến hay các bộ chuyển mạch, dồn kênh…
Hiện nay, có nhiều công cụ mô phỏng mạng với các tính năng và sự ưu việt riêng. Mỗi công cụ mô phỏng mạng đều phải chỉ ra phạm vi, cách xác định các nút mạng, liên kết và lưu lượng giữa các nút mạng,... Ngoài ra, các công cụ mô phỏng mạng cũng phải chỉ ra các giao thức được sử dụng để xử lý lưu lượng trong mạng, các ứng dụng đồ họa, các ứng dụng dựa trên văn bản,.. Để mô phỏng mạng WSN, hầu hết các công cụ mô phỏng mạng phổ hiện nay đều đã tích hợp hay hỗ trợ các module cho loại mạng này như: NS2, Omnet++, Tossim, Opnet,…
3.3.1. NS2 (Network Simulatior version 2)
NS2 là công cụ được sử dụng rất phổ biến để mô phỏng các sự kiện rời rạc của mạng WSN. NS2 sử dụng mô hình lập trình phân tách thành hai thành phần dựa trên sự kết hợp của ngôn ngữ C++ và OTCL (Object Tool Command Language)- ngôn ngữ kịch bản hướng đối tượng. C++ được sử dụng để triển khai các giao thức và thư viện NS2 mở rộng. OTCL được sử dụng để định nghĩa, định cấu hình và điều khiển mô phỏng, bao hàm cả việc lựa chọn các dữ liệu đầu ra. Công cụ hiển thị trực quan NAM (Network AniMator) cho phép hiển thị cấu hình liên kết mạng dưới dạng đồ họa. NS2 hỗ trợ nhiều tính năng của mạng WSN như mô hình di động, mô hình kênh truyền không dây và mô hình năng lượng của nút cảm biến. Những tính năng này có thể được cải thiện và tăng thêm bằng các ứng dụng bên ngoài hay mở rộng (ví dụ như ManaSim- chứa các module mới cho việc thiết kế, triển khai và phân tích các ứng dụng khác nhau của mạng WSN).
3.3.2. Omnet ++
OMNET++ là công cụ mô phỏng các sự kiện rời rạc trên mạng dựa trên các thành phần mã nguồn công khai. Mô hình trong OMNET++ chứa các module lồng
nhau theo cấu trúc phân cấp. Các module đơn giản được triển khai bằng ngôn ngữ lập trình C++ và sau đó được tập hợp lại thành những thành phần hay module lớn hơn thông qua ngôn ngữ NED (Network Description). Công cụ mô phỏng này chứa các trình biên tập đồ họa giúp xây dựng và đánh giá kết quả mô phỏng theo thời gian thực. Ngoài ra, OMNET++ còn có thể triển khai các mô phỏng mà cấu trúc liên kết mạng là lớn. Thêm vào đó, có rất nhiều các tiện ích mở rộng, các Framework và các mô phỏng cho mạng WSN dựa trên OMNET++ như MiXiM, Castalia, Mobility FrameWork, EYES,… MiXiM cung cấp các mô hình chi tiết cho kênh truyền không dây, các kết nối không dây, sự di động, các chướng ngại hay các giao thức MAC. Castalia là một tiện ích mở rộng khác cung cấp các mô hình giao thức MAC, các mô hình vô tuyến và kênh truyền không dây dựa trên dữ liệu đo. Tiện ích Mobility Framework hỗ trợ khi cần triển khai các nút mạng di động, quản lý các kết nối động và mô hình kênh truyền không dây. EYES được viết cho các mạng WSNs có khả năng tự tổ chức và hợp tác năng lượng hiệu quả,…
3.3.3. TOSSIM
TOSSIM là công cụ mô phỏng các sự kiện rời rạc được thiết kế và triển khai cho mô phỏng mạng cảm biến TinyOS. Kiến trúc của TOSSIM bao gồm 5 phần. TOSSIM có thể thực thi các ứng dụng TinyOS cùng với các mã ứng dụng trên nút cảm biến thực. Hơn nữa, TOSSIM có thể mô phỏng cả phần cứng của những nút cảm biến siêu nhỏ bao gồm các thành phần như I/O, ADC và bộ phận cảm biến. Cùng với khả năng mô phỏng một ứng dụng, hệ điều hành và các ngăn xếp mạng, TOSSIM còn có khả năng cung cấp các kết quả một cách thực tế hơn. Với một module trực quan chi tiết, các kết quả có thể dễ dàng hiểu được. Nhược điểm của TOSSIM là không hỗ trợ mô hình tiêu thụ năng lượng, đây là thành phần quan trọng trong mạng cảm biến không dây. Ngoài ra, có một số tiện ích mở rộng cho TOSSIM như TinyViz-một công cụ trực quan và PowerTOSSIM – một mô hình tiêu thụ năng lượng được bổ sung.
3.3.4. OPNET
OPNET là công cụ mô phỏng mạng thương mại, có khả năng mô phỏng các ứng dụng TinyOS. OPNET cho phép quản lý các kịch bản và các số liệu thống kê – những chức năng không được hỗ trợ từ TOSSIM. Mô hình của nó là sự kết hợp của các mã OPNET triển khai các ứng dụng TinyOS với các mã ứng dụng cụ thể. Các đặc trưng này sẽ phản ánh sự tương tác giữa một ứng dụng với TinyOS. OPNET cung cấp khả năng rộng lớn cho mô phỏng mạng không dây bao gồm các giao thức MAC trong mạng WSN, các mô hình truyền tải vô tuyến có độ chính xác cao và khả năng mô hình hóa các kịch bản 3D ngoài trời. OPNET sử dụng mô hình phân cấp 3 mức độ để định nghĩa các khía cạnh của hệ thống: trình biên tập dự án – nơi thiết kế cấu trúc liên kết mạng, các cấp độ của nút mạng – nơi mà từng nút mạng và các mô hình lưu lượng dữ liệu được định nghĩa, và cuối cùng là trình biên tập xử lý – sử dụng máy trạng thái hữu hạn để hỗ trợ các giao thức cụ thể, các tài nguyên, các ứng dụng và các chính sách của hàng đợi.
3.3.5. So sánh các công cụ mô phỏng mạng WSN
Hiện nay, các công cụ mô phỏng mạng WSN khá đa dạng. Mỗi công cụ mô phỏng có những thế mạnh và hạn chế khác nhau. Do đó, tùy vào từng trường hợp cụ thể, từng tiêu chí mà người mô phỏng lựa chọn công cụ thích hợp.
Bảng 3.1: Tổng quan một số công cụ mô phỏng mạng WSN
Các thuộc tính Các công cụ mô phỏng mạng WSN
NS2 OMNET++ OPNET TOSSIM
Giấy phép GPL Nghiên cứu,
thương mai Thương mại
Mã nguồn mở Hỗ trợ nền tảng cảm biến Phổ biến Phổ biến, (TinyOS) Phổ biến TinyOS (Berkeley Mica Mote) Hỗ trợ ngôn ngữ mô phỏng C++, C C++, C, (nesC) C++, C C++, C, nesC Thiết kế giao thức Có thể Có thể Có thể Có thể Mô phỏng mạng di động Có Có Có Không Có thể thay đổi kiến trúc mạng tự động Có Có Có Không Mô hình năng lượng tiêu chuẩn
Thô sơ/TX, RX, nghỉ Thô sơ/TX, RX, Ngủ Thô sơ/TX, nghỉ, ngủ Không Các phần mở rộng cho mạng WSN Mô hình năng lượng, các giao thức, SenSor Sim Mô hình năng lượng, các giao thức, SenSor Sim, EW SNSIM, Castalia Một số cần giấy phép TinyViz, Power TOSSIM Triển khai các mô hình không dây Shawdowing, 2-ray ground, free space Free space, 2- ray ground Free space, CCIR, Hata, Longley-Rice, TIREM, Walfish- lkegami
Dựa vào bảng 3.1 trên, NS2 và Omnet++ thể hiện là hai công cụ mô phỏng mạng WSN khá tuyệt vời. Trong khi TOSSIM mang nhiều hạn chế về khả năng mô phỏng
mạng di động, khả năng thay đổi kiến trúc mạng tự động và mô hình năng lượng thì OPNET lại là một phần mềm thương mại khá đắt tiền[9,10].
3.4. Mô tả bộ mô phỏng NS2 [10,11] 3.4.1. Giới thiệu
NS (Network Simulation) là một trong những công cụ mô phỏng mạng có nhiều tính năng mạnh mẽ cũng như có cộng đồng người dùng đông đảo. NS được nghiên cứu tại Phòng thí nghiệm Quốc gia Lawrence Berkeley - Hoa Kỳ, sau đó được phát triển thành dự án VINT (Virtual InterNetwork Testbed) dưới kinh phí của Bộ Quốc Phòng Mỹ. NS được phát triển từ bộ mô phỏng REAL (Realistic và 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). Các phiên bản 2.xx của NS ra đời sau năm 1997 và từ đó người ta gọi nó là bộ mô phỏng NS2. NS2 cho phép người dùng có thể 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.
Hình 3.1: Mô hình của NS2 dưới hướng nhìn của người dùng
Kịch bản mô phỏng trên NS2 là hướng đối tượng. Bộ thông dịch của NS2 chứa thư viện mô phỏng bao gồm các đối tượng như: bộ lập lịch các sự kiện (Event Scheduler), các thành phần mạng (Network Componet) và các modun hỗ trợ việc thiết lập mạng (Network Sertup Helping Modules). Nói một cách tổng quan, người dùng NS2 xây dựng chương trình bằng kịch bản OTcl, thông qua bộ thông dịch NS2 để đưa kết quả ra 2 loại tệp chính là: tệp vết (trace file) với đuôi mở rộng ra *.tr, tệp vết ghi lại tất cả các sự kiện xảy ra trên mạng trong toàn thời gian mô phỏng. Loại tệp thứ hai, có đuôi mở rộng là *.nam, có khuôn dạng tương tự như tệp vết, được NAM sử dụng để hiển thị kết quả mô phỏng dưới dạng đồ họa.
3.4.2. Đặc điểm của bộ mô phỏng NS2