CHƢƠNG II FLOODING TRONG MANET VÀ PHƢƠNG PHÁP CẢI TIẾN
2.2. Broadcast xác suất dùng trong kỹ thuật flooding
2.2.2. Ứng dụng hiện tượng chuyển pha vào kỹ thuật flooding
Tương tự như trong các mạng hữu tuyến, chúng ta có thể mô hình một MANET bằng một đồ thị. Gọi G = (V,E) là một đồ thị không định hướng. Mỗi đỉnh vi Є V đại diện cho một nút di động, và mỗi cạnh eij Є E nối hai đỉnh vi và vj cho biết hai nút i và j nằm trong phạm vi phủ sóng của nhau. Giả sử rằng tất cả các nút đều có chung một phạm vi phủ sóng và không quan tâm đến các thuộc tính khác như là mức năng lượng hay tiêu thụ năng lượng.
Cho trước một nút nguồn broadcast S, gọi GB là đồ thị con liên thông của G chứa tất cả các nút sẽ nhận gói tin broadcast được flooding từ S (S Є GB). Một thuật toán xác suất hiệu quả sẽ bỏ dần các cạnh của GB trong khi vấn giữ được ngưỡng pc
của GB. Khi flooding với xác suất p ≥ pc (hệ thống ở trạng thái trên tới hạn), chúng ta hy vọng sẽ quan sát được sự suy giảm đáng kể các gói tin dư thừa trong khi vẫn tối ưu được tính đến nơi của quá trình flooding (tính đến nơi được tính bằng tỉ số giữa số lượng nút nhận được gói tin broadcast và số lượng các nút trong mạng).
Hình 7. Đồ thị con GB
Thực tế thì các mạng MANET thực bao giờ cũng có những sự khác biệt nhất định so với các đồ thị toán học. Theo [22], sự khác biệt có ảnh hưởng tới hiện tượng chuyển pha là:
i. Mạng MANET thực nói chung không phải là vô hạn các nút nhưng cũng có thể lên đến hàng nghìn nút. Do đó các hiệu ứng biên có thể ảnh hưởng đến hành vi của hệ thống.
ii. Các nút có thể tham gia hoặc rời khỏi mạng với rất nhiều lý do nên mật độ mạng cũng sẽ thay đổi thường xuyên. Điều này ảnh hưởng trực tiếp đến hiện tượng chuyển pha.
iii. Sự mất mát gói tin: các gói tin trong MANET thường bị thất lạc do các vấn đề đụng độ, tranh chấp cũng như do sự chuyển động của các nút.
Chúng ta sẽ đi vào xem xét hai mô hình sau để có thể nghiên cứu kỹ hơn các điểm trên.
2.2.2.1. Mô hình lƣới vuông (square grid model)
Định nghĩa của mô hình này như sau. Xét một lưới vuông kích thước m x m với các nút được đặt tại các giao điểm của lưới (hình 8). Mỗi nút liên lạc với hàng xóm của nó nằm theo chiều dọc và ngang của lưới, như vậy, mỗi nút có chính xác 4 hàng xóm. Khi broadcast một gói tin từ nút nguồn đặt tại trung tâm của lưới thì với kỹ thuật flooding mù, tổng số gói tin được truyền đi trên mạng sẽ là m2 [22].
Hình 8. Mô hình lưới vuông (square grid model)
Với cách tiếp cận xác suất cho kỹ thuật flooding, mỗi nút khi nhận được gói tin lần đầu tiên sẽ không broadcast lại gói tin ngay mà sẽ chỉ broadcast gói tin này với một xác suất p nào đó. Ngoại lệ duy nhất đó là nguồn phát luôn broadcast gói tin với p = 1
tương ứng với tiến trình khởi tạo flooding. Với cách tiếp cận này, quá trình flooding sẽ tương đương với mô hình thẩm thấu khung được mô tả trong 2.2.1.1. Do p là hằng số trong quá trình flooding và tất cả các nút đều dùng chung một giá trị p nên cách tiếp cận này sẽ giống như đầu tiên ta sẽ bỏ các liên kết trong đồ thị với xác suất p và sau đó thực hiện flooding mù đối với phần còn lại của đồ thị. Giá trị ngưỡng trong trường hợp này theo [5] là pc ≈ 0.59. Bằng cách chọn giá trị p > pc, chúng ta hy vọng sẽ thấy được gói tin broadcast sẽ đến được hầu hết các nút trong mạng.
2.2.2.2. Mô hình bán kính cố định (fixed radius model)
Mô hình được nêu ở phần trước chỉ phù hợp với các mạng MANET có cấu hình đơn giản và dễ đưa ra được sự so sánh với mô hình thẩm thấu. Nhược điểm của mô hình này là chỉ cho phép chúng ta làm việc với các đồ thị có bậc của nút là 4 mà thôi. Một mô hình phù hợp với các mạng MANET hơn sẽ được định nghĩa như sau. Gọi R là phạm vi liên lạc của các nút. Các nút được đặt vào một khung có kích thước m x m
dựa vào một sự phân bố xác suất nào đó. Một liên kết lịj kết nối hai nút i và j sẽ được đặt vào đồ thị nếu khoảng cách Euclidean giữa chúng là nhỏ hơn R (hình 9) [22].
Rõ ràng mô hình này phù hợp với mạng MANET hơn nhiều so với mô hình trước bởi vì số lượng hàng xóm của các nút khác nhau là khác nhau và hai nút là hàng xóm của nhau chỉ khi chúng nằm trong phạm vi phủ sóng của nhau. Áp dụng kỹ thuật flooding xác suất vào mô hình này như sau: một nút sẽ chỉ broadcast gói tin đến tất cả các nút hàng xóm nằm trong phạm vi truyền sóng của nó với xác suất p mà thôi.
Để có thể tìm được giá trị p cũng như khả năng áp dụng hiện tượng chuyển pha vào mạng MANET, hai mô hình trên sẽ được mô phỏng trên phần mềm để có thể đưa ra được các đánh giá chi tiết.
2.3. Kết luận chƣơng
Broadcast đóng một vai trò quan trọng và được sử dụng rất thường xuyên trong các hoạt động mạng. Rất nhiều ứng dụng và giao thức sử dụng broadcast như là một cơ chế đơn giản mà hiệu quả để đạt được mục đích công việc, điển hình là các ứng dụng truyền thông điệp cảnh bảo tình trạng mạng hoặc các giao thức định tuyến… Điều này càng đúng đối với mạng không dây và đặc biệt là MANET bởi những đặc thù của loại mạng này khiến cho các ứng dụng hoặc giao thức từng triển khai thành công trên các mạng hữu tuyến không thể làm việc được.
Kỹ thuật được sử dụng chủ yếu cho broadcast là flooding. Kỹ thuật này rất thích hợp với môi trường mạng MANET vì nó hoạt động mà không cần đến thông tin về hình trạng mạng. Tuy nhiên, nhược điểm lớn nhất của kỹ thuật này là gây ra sự dư thừa gói tin, tăng khả năng xảy ra xung đột và tranh chấp trong mạng, từ đó dẫn tới lãng phí một lượng lớn băng thông. Khá nhiều cải tiến cho kỹ thuật flooding đã được đề xuất, một trong những đề xuất mang tính hiệu quả cao là flooding dựa trên xác suất. Kỹ thuật flooding cải tiến này giúp giảm thiểu được lượng gói tin dư thừa khi hoạt động trong khi vẫn đảm bảo đạt được mục đích của flooding. Tuy vậy, việc tìm ra chính xác xác suất cho mỗi mạng lại khá phức tạp và không có cách tính tổng quát.
Ngoài việc xác định giá trị xác suất bằng lý thuyết, nhiều thực nghiệm cũng đã được tiến hành và các thực nghiệm này chủ yếu được thực hiện trên các mô hình mô phỏng. Lưới vuông và bán kính cố định là hai mô hình được dùng chủ yếu cho xây dựng các mô phỏng thực nghiệm cho kỹ thuật flooding dựa trên xác suất. Chương sau của luận văn sẽ trình bày về các kịch bản mô phỏng và đánh giá các kết quả tìm được thông qua các mô phỏng này.
CHƢƠNG III
THỬ NGHIỆM THÔNG QUA MÔ PHỎNG VÀ ĐÁNH GIÁ KẾT QUẢ
3.1. Giới thiệu về thử nghiệm thông qua mô phỏng
Chúng ta đều biết rằng, việc xây dựng, phát triển một ứng dụng, một giao thức mới trên một mạng bao giờ cũng cần phải có giai đoạn thử nghiệm và đánh giá kết quả trước khi có thể đem ra ứng dụng trong thực tế. Thông thường, nếu các phòng thí nghiệm có đủ điều kiện về thiết bị, tài chính thì các thử nghiệm có thể được thực hiện ngay trên những mạng thực do các thiết bị mạng thực tạo nên, qua đó, kết quả đo được sẽ có độ tin cậy cao. Tuy nhiên, không phải lúc nào điều này cũng có thể thực hiện được, ví dụ như khi cần một mạng máy tính cần đến hàng nghìn máy tính để thực hiện một giao thức hoặc một mạng không dây cần đến một không gian rộng lớn với rất nhiều các thiết bị không dây tham gia… Trong các trường hợp này, biện pháp được hầu hết các nhà nghiên cứu lựa chọn là triển khai thử nghiệm trên các công cụ mô phỏng. Lựa chọn này sẽ giúp cho các nhà nghiên cứu đơn giản hóa việc thử nghiệm, tiết kiệm được nhiều công sức cũng như tài chính. Nhưng ngược lại với các ưu điểm trên, độ chính xác của các kết quả đo được lại phụ thuộc nhiều vào thiết kế của các công cụ mô phỏng. Tuy vậy, các công cụ mô phỏng cho đến thời điểm hiện nay đều đã phát triển đến độ chính xác rất cao, khiến cho các kết quả đo được thông qua mô phỏng khá gần với các kết quả đo được khi triển khai trong thực tế.
Các nghiên cứu trên mạng MANET hiện nay đều gặp phải các vấn đề khó khăn như vừa được nêu ở trên. Chúng ta đều biết, một mạng MANET là một tập hợp của các thiết bị tính toán di động với số lượng từ vài chục đến vài nghìn và trải rộng trên một phạm vi có thể lên đến hàng km2. Rõ ràng là việc thiết lập được một mạng MANET thực sự như vậy là không hề đơn giản. Ngoài ra, việc dò lỗi cũng như điều kiện thông kê về kết quả cũng rất phức tạp và khó chịu. Với những lý do trên, hầu hết các nghiên cứu liên quan đến mạng MANET đều được các tác giả của chúng tiến hành thử nghiệm trên các công cụ mô phỏng mạng. Hiện nay, rất nhiều kết quả nghiên cứu có được thông qua mô phỏng đã được công bố trên các tạp chí khoa học có uy tín lớn.
Công việc thiết kế và cài đặt các thử nghiệm mô phỏng đều theo một số bước chung như sau:
Lựa chọn công cụ mô phỏng: công cụ hỗ trợ tốt nhất cho việc thiết kế mô hình mạng (cấu hình và số lượng thiết bị có thể hỗ trợ, độ rộng của môi
trường…), giao thức mà mình nghiên cứu (đã có sẵn hoặc khả năng thiết kế mới dễ dàng…) và độ chính xác của các mô phỏng.
Thiết kế mô hình mạng và giao thức cần thử nghiệm: cấu hình mạng (hình trạng, thiết bị tham gia…), thiết kế giao thức cần thử nghiệm trên công cụ đã chọn, xây dựng mô hình biểu diễn dữ liệu đầu ra.
Xây dựng các kịch bản thử nghiệm và tiến hành mô phỏng các kịch bản. Phân tích kết quả và đưa ra nhận xét đánh giá.
Việc tiến hành thử nghiệm kỹ thuật flooding xác suất mà luận văn nghiên cứu cũng không nằm ngoài xu hướng chung của các nghiên cứu khác, đó là được thực hiện trên công cụ mô phỏng. Tiến trình xây dựng cài đặt thử nghiệm mô phỏng cũng đã được tác giả thực hiện theo các bước vừa nêu trên và được trình bày trong các phần sau.
3.2. Lựa chọn công cụ mô phỏng
3.2.1. Một số công cụ mô phỏng phổ biến
Hiện nay trên thế giới có khá nhiều các công cụ mô phỏng cho phép những người nghiên cứu triển khai các thử nghiệm mạng không dây của mình và ba công cụ phổ biến được dùng nhiều nhất hiện nay là OPNET [6], NS-2 [7] và GloMoSim [8]. Cả ba công cụ này đều cung cấp các môi trường mô phỏng nâng cao cho phép kiểm tra và gỡ lỗi hầu hết các giao thức mạng, bao gồm cả các ứng dụng mạng không dây. Sau đây là một số nét cơ bản về ba công cụ này.
Hình 10. Tỷ lệ sử dụng một số công cụ mô phỏng [11]
OPNET Modeler là một công cụ mô phỏng mạng rất mạnh được xây dựng bởi OPNET. Công cụ này có thể mô phỏng tất cả các loại mạng hữu tuyến, đồng thời cung cấp các cài đặt lớp MAC tương thích với chuẩn 802.11. Mặc dù mục đích của OPNET là giúp cho các doanh nghiệp chuẩn đoán hoặc cải tổ lại hệ thống mạng của mình, tuy
nhiên công cụ này cũng cho phép phát triển các giao thức mới bằng cách sử dụng những thành phần sẵn có. Hầu hết các bước triển khai bằng OPNET đều được thực hiện thông qua một giao diện người dùng đồ họa phân cấp. Hiện nay đây là công cụ được ưa chuộng nhất trên thị trường các phần mềm thương mại mô phỏng mạng.
NS là phần mềm mã nguồn mở mô phỏng mạng sự kiện rời rạc được phát triển từ năm 1989 dưới dạng một biến thể của phần mềm mô phỏng mạng REAL [9] và NS- 2 là phần mềm NS phiên bản 2. Từ năm 1995, sự phát triển của NS đã được hỗ trợ bởi DARPA thông qua dự án VINT tại LBNL, Xerox PARC, UCB, và USC/ISI [46].Ban đầu, phần mềm này chỉ dùng để mô phỏng các mạng hữu tuyến, tuy nhiên sau đó Monarch Group của CMU [13] đã thêm vào NS-2 thành phần mô phỏng mạng không dây cho phép mô phỏng các mạng như MANET hay LAN không dây. Kiến trúc của NS-2 tuân thủ chặt chẽ mô hình OSI. Hầu hết các giao thức dùng cho MANET và các cài đặt lớp MAC tương thích 802.11 đều có trong NS-2. Đây là công cụ mô phỏng rất quen thuộc với các nhà nghiên cứu về mạng.
GloMoSim là một môi trường mô phỏng hỗ trợ rất nhiều kiểu mạng hữu tuyến và không dây, được phát triên bởi phòng thí nghiệm tính toán UCLA [10]. Công cụ này được thiết kế bằng cách sử dụng khả năng mô phỏng sự kiện rời rạc song song được cung cấp bởi ngôn ngữ mô phỏng song song dựa trên C là Parsec [10]. Hiện nay, GloMoSim chỉ hỗ trợ các giao thức dùng cho các mạng hoàn toàn là không dây. Kiến trúc của công cụ này được xây dựng dựa trên cách tiếp cận theo lớp. Các API chuẩn được sử dụng ở giữa các lớp khác nhau. Điều này cho phép sự tích hợp một cách nhanh chóng các mô hình được phát triển trên các lớp khác nhau.
Hiện nay, sự so sánh giữa ưu và nhược điểm cũng như hiệu suất của các công cụ vẫn còn đang được xem xét và đánh giá. Tuy vậy, việc sử dụng các công cụ này đã được nhiều nhà nghiên cứu sử dụng và các kết quả có được thông qua mô phỏng trên các công cụ này đã được đăng trên nhiều tạp chí có uy tín. Trong khuôn khổ và điều kiện của luận văn, tác giả đã chọn NS-2 làm công cụ mô phỏng cho nghiên cứu của mình.
3.2.2. Network simulator 2 (NS-2)
Mã nguồn của NS-2 là sự kết hợp của ngôn ngữ C++, dùng để xây dựng các đối tượng lõi, và ngôn ngữ Otcl dùng để cấu hình và viết các kịch bản mô phỏng. Sự kết hợp này cho phép người sử dụng dung hòa được hai yếu tố là hiệu suất và tính đơn giản trong sử dụng.
Phiên bản NS-2 được sử dụng trong luận văn là NS-2.29 (phát hành năm 2006). Đây là phiên bản được đánh giá là có tính ổn định cao. Ngoài ra, phiên bản này đã
được tích hợp nhiều cải tiến về mô phỏng MANET và các công cụ giúp tạo ra bối cảnh mô phỏng của các cộng tác viên như CMU Monarch Group, LST của học viện ETH Zurich…
Việc xây dựng và thực hiện các kịch bản mô phỏng trong NS-2 sẽ bao gồm 4 bước sau (1) cài đặt giao thức bằng cách thêm các đoạn mã viết trên C++ và Otcl vào mã nguồn cơ sở của NS-2; (2) mô tả tiến trình mô phỏng bằng một kịch bản viết trên Otcl; (3) chạy mô phỏng và (4) phân tích các tệp lưu vết được tạo ra.
Phần sau của luận văn sẽ mô tả cấu hình cài đặt của các mô phỏng, các kết quả đạt được cũng như các đánh giá tương ứng.
3.3. Xây dựng các kịch bản mô phỏng
3.3.1. Một số tham số chung cho các kịch bản
Để có thể đánh giá được chính xác tính hiệu quả của kỹ thuật flooding xác suất, chúng ta sẽ thiết lập một loạt các mô hình mạng MANET từ đơn giản đến phức tạp và xây dựng các kịch bản flooding tương ứng cho các mô hình đó. Trên thực tế, có rất nhiều yếu tố có thể ảnh hưởng đến sự hoạt động của mạng MANET, tuy nhiên, trong mô phỏng chúng ta sẽ chỉ quan tâm đến một số yếu tố có sự ảnh hưởng chủ yếu mà thôi. Các mạng MANET mô phỏng sẽ được xây dựng dựa trên các yếu tố sau đây.