Hình 2 .15 Hình thành đồ thị con trong MECN
Hình 2.21 Hoạt động của SNGF
Hoạt động của SNGF được mô tả ở hình 2.21. Ở đó nút gửi A nhằm mục đích chuyển tiếp các gói tin của nó tới đích D. Đầu tiên, các nút nằm trong phạm vi truyền dẫn của A và gần đích D hơn nút A sẽ được lựa chọn là những ứng cử viên để chuyển
tiếp (E, F, G). Sau đó tốc độ chuyển tiếp giữa nút A và một nút j є {E,F,G} đến đích D được tính cho mỗi ứng cử viên như sau:
Trong đó dA,D và dj,D là các khoảng cách để đến được đích D từ nút A và nút j. HopDelayA,j là sự chậm trễ ước tính giữa nút A và j.
SNGF lựa chọn nút kế tiếp trong số các ứng cử viên với tốc độ ước tính cao hơn SSetpoint . Kết quả là, các gói tin được chuyển tiếp sẽ đảm bảo đạt được tốc độ tối thiểu. Tuy nhiên, nếu không nút nào thỏa mãn được tốc độ này, gói tin sẽ bị hủy một cách ngẫu nhiên dựa theo vòng phản hồi khu vực lân cận (NFL).
Thành phần NFL của SPEED điều khiển thủ tục hủy gói tin trong trường hợp không có nút lân cận nào đáp ứng được tốc độ tối thiểu đã đề ra. Với mục đích này, tốc độ bỏ lỡ của mỗi nút lân cận là tốc độ mà nút đó không đáp ứng được tốc độ yêu cầu. Dựa trên tốc độ bỏ lỡ của các nút lân cận, NFL xác định hoặc là chuyển tiếp, hoặc là hủy bỏ gói tin.
Trong một vài trường hợp, các gói tin có thể được định tuyến tới một vài điểm nóng, nơi mà có sự cạnh tranh cao. Để ngăn chặn việc các gói tin tiếp tục được chuyển tới những vùng này, SPEED sử dụng cơ chế “áp lực phản hồi”. Các nút mà có tốc độ bỏ lỡ lớn sẽ gửi tín hiệu “áp lực phản hồi” đến các nút phía trên. Các tín hiệu “áp lực
phản hồi” này được sử dụng để loại bỏ những nút lân cận từ danh sách các nút lân cận
và kết quả là các gói tin được định tuyến vòng qua các điểm nóng để tránh tắc nghẽn. SPEED sử dụng hiệu quả năng lượng do chi phí thiết lập các tuyến đường là rất nhỏ. Tuy nhiên, SPEED có một số hạn chế là nó chỉ đảm bảo một tốc độ duy nhất có thể được hỗ trợ trên mạng. Điều này, cản trở việc áp dụng các ứng dụng có các lớp lưu lượng khác nhau.
2.7.4. Đánh giá chất lƣợng các giao thức định tuyến theo chất lƣợng dịch vụ
Các giao thức định tuyến dựa trên chất lượng dịch vụ xem xét nhiều yếu tố hơn ngoài mức độ tiêu thụ năng lượng trong việc xây dựng các tuyến đường. Điều này giúp mạng WSNs có thể đáp ứng và triển khai thêm nhiều ứng dụng phức tạp. Tuy nhiên, những tính năng bổ sung sẽ làm tăng chi phí tiêu hao năng lượng và do đó giảm tuổi thọ của mạng. Do vậy, sự cân bằng giữa các tính năng mở rộng và chi phí cần phải được xem xét cẩn thận khi thiết kế giao thức nhằm đảm bảo những yêu cầu mà ứng dụng đó hướng tới.
CHƢƠNG 3: LÝ THUYẾT VỀ ĐÁNH GIÁ HIỆU SUẤT VÀ CÁC CÔNG CỤ MÔ PHỎNG MẠNG WSN
3.1. Giới thiệu
Hiệu suất là một tiêu chí quan trọng trong thiết kế, sản xuất và sử dụng các hệ thống máy tính. Do đó, đánh giá hiệu suất là công việc cần thiết ở mọi giai đoạn trong vòng đời phát triển của hệ thống. Việc đánh giá hiệu suất được thực hiện khi cần so sánh một vài hệ thống với nhau nhằm chọn ra được hệ thống hiệu quả và phù hợp nhất cho một tập các yêu cầu và ứng dụng cụ thể.
Ngày nay, các ứng dụng của máy tính đã trở thành thiết yếu trong nhiều lĩnh vực. Đặc biệt sự kết nối các máy tính với nhau để tạo nên các hệ thống mạng được coi là một trong những cuộc cách mạng của khoa học-công nghệ. Mạng cảm biến không dây (WSN) ra đời như một điều tất yếu của sự phát triển. Tuy nhiên, những hạn chế về năng lượng, khả năng lưu trữ và khả năng xử lý trong mạng WSN phần nào hạn chế phạm vi ứng dụng của nó. Nhưng không vì thế mà mạng WSN ngừng phát triển, các nhà khoa học vẫn không ngừng nỗ lực tìm ra các giải pháp nhằm khắc phục những hạn chế trên để đưa mạng WSN vào cuộc sống. Mỗi một kết quả nghiên cứu, mỗi một cải tiến mới đều được thuyết phục và công nhận dựa trên đánh giá của các tiêu chuẩn hiệu suất khác nhau thông qua kỹ thuật và phương pháp đánh giá phù hợp.
3.2. Đánh giá hiệu suất
3.2.1. Khái niệm hiệu suất và các độ đo [1]
Hiệu suất là một độ đo công việc mà một hệ thống thực hiện được. Hiệu suất chủ yếu được xác định bởi sự kết hợp của các nhân tố : tính sẵn sàng, thông lượng và thời gian đáp ứng. Tùy theo mỗi loại mạng, hiệu suất được xác định dựa trên các nhân tố khác nhau nữa như: thời gian trễ, độ tin cậy, tỷ suất lỗi và hiệu suất của các ứng dụng,…
Tùy theo mục đích nghiên cứu cụ thể, hiệu suất có thể bao gồm một nhân tố nào đó hoặc là sự kết hợp của một số trong các nhân tố nêu trên.
Có thể phân các độ đo hiệu suất thành hai loại: các độ đo hướng tới người sử dụng và các độ đo hướng tới hệ thống. Trong các độ đo hướng tới người sử dụng,
“thời gian đáp ứng” thường được sử dụng trong các hệ thời gian thực hoặc các môi
trường hệ thống tương tác. Đó là khoảng thời gian từ khi có một yêu cầu đến hệ thống cho tới khi nó được hệ thống thực hiện xong. Trong các hệ thống tương tác, đôi khi người ta sử dụng độ đo “thời gian phản ứng của hệ thống” thay cho thời gian đáp ứng. Đó là khoảng thời gian tính từ khi input đến hệ thống cho tới khi yêu cầu chứa input đó nhận được khe thời gian phục vụ đầu tiên. Độ đo này đo mức độ hiệu dụng của bộ lập lịch của hệ thống trong việc nhanh chóng cung cấp dịch vụ cho một yêu cầu mới đến.
Các độ đo hướng tới hệ thống điển hình là “thông lượng” và “thời gian trễ”.
“Thông lượng” được định nghĩa là số đơn vị thông tin tính trung bình được vận chuyển
số liệu,… Nếu các đơn vị thông tin đi vào mạng theo một cơ chế độc lập với trạng thái của mạng, thì “thông lượng” cũng chính bằng tốc độ đến trung bình của mạng nếu mạng vẫn còn khả năng vận chuyển, không dẫn đến trạng thái bị tắc nghẽn. “Thời gian
trễ” là thời gian trung bình để vận chuyển một gói số liệu qua mạng, từ nguồn tới đích.
3.2.2. Tầm quan trọng của việc đánh giá hiệu suất mạng[1]
- Để 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