3.3.1 Mô phỏng mạng không dây di động
3.3.1.1 Nút di động mô phỏng
Cấu tạo nút di động mô phỏng trong NS2 được cho trong hình 7 [31]. Các thành phần mạng chính được dùng để cấu trúc nên tầng giao thức cho mỗi nút di
động gồm có kênh (channel), giao tiếp mạng (network interface), mô hình truyền sóng vô tuyến (radio propagation model), các giao thức MAC, hàng đợi giao diện (interface queue), lớp liên kết (link layer), mô hình giao thức phân giải địa chỉ ARP và thành phần định tuyến (routing agent).
Hình 7: Nút di động mô phỏng trong NS2
Đặc tả của mô hình phát sóng trong NS2 tương tự như giao tiếp sóng vô tuyến Lucent’s WaveLAN với tốc độ bit danh định có thể đạt tới 2,5Mb/s và phạm vi truyền sóng vô tuyến là 250m. Mô hình cũng thể hiện độ trễ truyền và cảm nhận sóng mang.
b/ Mô phỏng lớp MAC
Lớp liên kết của bộ mô phỏng cài đặt hoàn chỉnh chuẩn giao thức MAC của IEEE 802.11 DCF (Distributed Coordination Function). 802.11 là giao thức CSMA/CA, hỗ trợ hoạt động tiết kiệm năng lượng và bảo mật. Một trong các đặc
điểm quan trọng nhất của 802.11 là chế độ MANET cho phép xây dựng các mạng WLAN không có cơ sở hạ tầng.
c/ Mô phỏng giao thức phân giải địa chỉ ARP: giao thức ARP dịch địa chỉ IP thành địa chỉ phần cứng MAC. Việc này được thực hiện trước khi gói tin được gửi tới lớp MAC.
d/ Hàng đợi giao diện: Mỗi nút có hàng đợi các gói tin đang chờ để được truyền bởi giao diện mạng. Hàng đợi được cài đặt là DropTail và có khả năng chứa 50 gói tin.
e/ Giao diện sóng vô tuyến: Đây là mô hình phần cứng thực sự chuyển gói tin vào kênh. Giao diện sóng vô tuyến được mô hình với các mức năng lượng và lược
đồđiều biến.
f/ Năng lượng truyền: Bán kính thu phát sóng phụ thuộc vào dạng ăngten, nhiều dạng ăng ten được hỗ trợ bởi bộ mô phỏng.
g/ Các giao thức định tuyến mạng MANET: Hiện tại có bốn giao thức được cài đặt sẵn trong NS2 là DSDV, AODV, TORA và DSR.
3.3.1.2 Mô hình phương tiện chia sẻ
Mô hình không dây được dựa trên phương tiện chia sẻ (Ethernet trong không khí) (hình 8) [31]. Tất cả các nút di động có một hoặc nhiều giao diện mạng kết nối vào một kênh. Kênh là một dải tần số vô tuyến cụ thể với lược đồ điều biến và mã
hóa riêng. Các kênh là trực giao, có nghĩa là các gói tin được gửi trên một kênh không làm nhiễu các gói tin được truyền và nhận trên một kênh khác. Hoạt động cơ
bản như sau, mọi gói tin được gửi hoặc đặt vào kênh sẽ được nhận hoặc sao chép bởi tất cả các nút di động có kết nối tới cùng kênh. Khi nút di động nhận được gói tin, đầu tiên nút xem xét nó có được nhận gói tin hay không. Điều này được quyết
định bởi mô hình phát sóng vô tuyến, dựa trên dải truyền thông, khoảng cách gói tin
đã di chuyển và lượng bit lỗi.
Hình 8: Mô hình phương tiện chia sẻ trong NS2
4.3.1.3 Hoạt động của nút di động
Hoạt động của nút di động được thể hiện trong hình 9 như sau. Mỗi nút di
động sử dụng thành phần định tuyến (routing agent) để tính toán đường tới các nút khác trong mạng MANET. Các gói tin được gửi từ ứng dụng và được nhận bởi thành phần định tuyến. Bộ phận này sẽ quyết định đường đi của gói tin để tới đích và gắn vào gói tin thông tin này. Gói tin sau đó được gửi xuống lớp liên kết. Lớp liên kết sử dụng giao thức phân giải địa chỉ ARP để quyết định địa chỉ phần cứng của nút hàng xóm và ánh xạđịa chỉ IP tới giao diện chính xác. Sau đó, gói tin được gửi xuống hàng đợi giao diện và đợi tín hiệu từ giao thức MAC. Khi lớp MAC quyết định gói tin có thểđược gửi vào kênh, gói tin được lấy từ hàng đợi chuyển tới giao diện mạng và sau đó được gửi ra kênh vô tuyến. Gói tin được sao chép và được phân phát tới tất cả các giao diện mạng tại thời điểm bít đầu tiên của gói tin bắt đầu
đến giao diện trong hệ thống vật lý. Mỗi giao diện mạng đánh dấu gói tin với các thuộc tính của giao diện nhận và sau đó gọi tới mô hình phát sóng.
Nút di động Nút di động
Nút di động
Mô hình phát sóng sử dụng các đánh dấu truyền và nhận để quyết định mức năng lượng mà giao diện nhận gói tin. Các giao diện nhận sử dụng các thuộc tính của chúng để quyết định việc nhận gói tin thật sự thành công hay không và gửi gói tin tới lớp MAC nếu thích hợp. Nếu lớp MAC nhận gói tin không có lỗi và không có xung đột, gói tin được gửi tới điểm đầu vào của nút di động. Từđó, gói tin tới bộ
phân tách kênh (demultiplexer) để xác định gói tin có được chuyển tiếp nữa hay không hoặc đã tới nút đích. Nếu tới được nút đích, gói tin được gửi tới bộ phân tách cổng (port demultiplexer) để quyết định ứng dụng nhận của gói tin. Nếu gói tin
được chuyển tiếp, thành phần định tuyến sẽđươc gọi và thủ tục được lặp lại.
3.3.2 Tạo ngữ cảnh
Các mạng MANET được mô phỏng dựa trên hai mô hình là mô hình di chuyển thể hiện chuyển động của các nút trong mạng và mô hình thông lượng thể
hiện dạng truyền thông giữa các nút trong mạng.
3.3.2.1 Các mô hình di chuyển
Các mô hình di chuyển đóng một vai trò quan trọng trong mô phỏng mạng MANET [28]. Mô hình cần thể hiện chính xác các ngữ cảnh có thể của mạng và góp phần xác định đúng hiệu suất của các giao thức trước khi được triển khai trong thực tế. Đối với các mạng không dây, có hai loại mô hình di chuyển được sử dụng là mô hình vết (trace model) và mô hình tổng hợp (synthetic model). Các mô hình vết là các dạng di chuyển được quan sát trong hệ thống thực. Mô hình vết cung cấp thông tin chính xác, đặc biệt khi chúng liên quan tới nhiều bên tham gia và quãng thời gian quan sát đủ dài. Tuy nhiên, với môi trường mạng mới, là mạng MANET, không dễ dàng xây dựng được mô hình vết. Trong trường hợp này cần thiết phải sử
dụng các mô hình tổng hợp.
Các mô hình tổng hợp cố gắng thể hiện giống thực tế hành vi của các nút di
động mà không sử dụng tới mô hình vết bằng việc mô tả các di chuyển của nút một cách thống kê. Mỗi nút được gán một giải thuật dùng để ngẫu nhiên hóa sự di chuyển. Dạng di chuyển của mạng là tập hợp các di chuyển từ việc áp dụng mô hình
di chuyển vào một hoặc nhiều nút. Ba mô hình di chuyển tiêu biểu mô phỏng các mạng MANET là Random Waypoint, Random Walk và Random Direction [28].
a. Mô hình Random Waypoint
Theo mô hình Random Waypoint, đầu tiên nút có một ví trí ngẫu nhiên trong khu vực mô phỏng và ở tại đó một khoảng thời gian gọi là thời gian tạm dừng. Khi quãng thời gian này hết hạn, nút chọn ngẫu nhiên một đích trong khu vực mô phỏng và một tốc độ được phân bố đồng đều giữa [Speedmin, Speedmax]. Sau đó, nút di chuyển tới vị trí mới với tốc độ đã chọn. Khi tới vị trí mới, nút dừng một khoảng thời gian được chọn theo phân bố đồng đều giữa [Pmin, Pmax] và sau đó tiếp tục lại quá trình. Minh hoạ trực quan sự di chuyển của một nút theo mô hình Random Waypoint bởi chương trình ứng dụng Gnuplot được biểu diễn trên hình 9.
Các tham số mô phỏng cho Random Waypoint được cho trong bảng 4
Tham số Ý nghĩa
Speedmin Tốc độ thấp nhất Speedmax Tốc độ cao nhất
Pmin Thời gian tạm dừng nhỏ nhất Pmax Thời gian tạm dừng lớn nhất
Bảng 4: Các tham số của mô hình Random Waypoint
Mô hình Random Waypoint rất linh động, cho phép tạo ra dạng di chuyển như
trong thực tế mọi người đi trong các hội nghị. Do vậy, đây là mô hình được dùng phổ biến nhất trong các nghiên cứu về mạng MANET [6,13,25,33,..]. Trong NS2, mô hình Random Waypoint được tạo bởi công cụ setdest.
b. Mô hình Random Walk
Mô hình Random Walk thể hiện chuyển động thất thường, khó dự đoán của nhiều thực thể di chuyển trong thực tế. Nút di động di chuyển từ vị trí hiện tại tới vị
trí mới bằng việc chọn ngẫu nhiên hướng [0,180độ], tốc độ [Speedmin, Speedmax]. Mỗi chuyển động diễn ra trong khoảng thời gian travel_time hoặc khoảng cách hằng số, không có khoảng thời gian tạm dừng trước khi nút thay đổi hướng và tốc
độ. Minh họa trực quan sự di chuyển của một nút theo mô hình Random Walk bởi chương trình Gnuplot trên hình 10.
Các tham số mô phỏng cho Random Walk được cho trong bảng 5
Tham số Ý nghĩa
Speedmin Tốc độ thấp nhất Speedmax Tốc độ cao nhất
Travel_time Thời gian di chuyển của nút trước khi thay đổi hướng và tốc độ
Bảng 5: Các tham số của mô hình Random Walk
Trong mô hình Random Walk, tham số thay đổi hướng của nút di động quyết
định mức độ thay đổi của mạng. Nếu tham số này có giá trị nhỏ, sự di chuyển ngẫu nhiên giới hạn trong một phạm vi nhỏ của khu vực mô phỏng, mạng nửa tĩnh và còn
được gọi là di chuyển Brao-ning. Nếu tham số có giá trị lớn, mạng thay đổi trên phạm vi rộng.
Hình 10: Di chuyển của một nút theo mô hình Random Walk
c. Mô hình Random Direction
Trong mô hình Random Direction, nút di động chọn một hướng ngẫu nhiên và di chuyển theo tốc độ được phân bố đồng đều giữa [Speedmin, Speedmax]. Khi tới biên của khu vực mô phỏng theo hướng đó, nút dừng một khoảng thời gian ngẫu nhiên trong khoảng [Pmin, Pmax] trước khi chọn một hướng khác và tiếp tục quá trình. Minh hoạ trực quan sự di chuyển của một nút theo mô hình Random Direction bởi chương trình Gnuplot trên hình 11.
Các tham số mô phỏng cho Random Direction được cho trong bảng 6.
Tham số Ý nghĩa
Speedmin Tốc độ thấp nhất Speedmax Tốc độ cao nhất
Pmin Thời gian dừng tại biên nhỏ nhất Pmax Thời gian dừng tại biên lớn nhất
Hình 11: Di chuyển của một nút theo mô hình Random Direction
Mô hình Random Direction được tạo ra để khắc phục số trung bình các hàng xóm cao trong mô hình Random Waypoint và Random Walk với sự tập trung của các nút tại trung tâm của khu vực mô phỏng. Số chặng trung bình của các gói tin dữ
liệu sử dụng mô hình Random Direction sẽ lớn hơn số chặng trung bình trong các mô hình di chuyển khác.
3.3.2.2 Các mô hình thông lượng
Hình 12: Các mô hình thông lượng trong NS2
Các mô hình thông lượng được mô phỏng trong NS2 (hình 12) gồm hai loại bộ
tạo thông lượng (traffic generator) và các ứng dụng mô phỏng (simulated application) [31]. Các các bộ tạo thông lượng sử dụng giao thức UDP để gửi các gói tin và các ứng dụng mô phỏng sử dụng giao thức TCP.
• Bộ tạo thông lượng lũy thừa: tạo thông lượng theo một phân bố bật-tắt lũy thừa. Các gói tin có kích thước không đổi. Bộ tạo thông lượng lũy thừa có thể cấu hình để hoạt động như một quá trình Poisson.
• Bộ tạo thông lượng Parero: tạo thông lượng theo phân bố bật-tắt Pareto. Các nguồn này có thể được dùng để tạo các thông lượng kết hợp thể hiện sự phụ
thuộc.
• Bộ tạo thông lượng CBR: tạo thông lượng theo một tốc độ không đổi, xác định. Kích thước gói tin là không đổi. Ngoài ra, một số các dao động ngẫu nhiên được thực hiện giữa các quãng khởi đầu của các gói tin.
• Bộ tạo thông lượng theo file trace: tạo thông lượng theo một file vết (trace file), thu được từ mạng thực, xác định thời gian phát và ngừng phát gói tin cùng các thông số khác.
Các ứng dụng mô phỏng gồm hai loại: Telnet và FTP.
3.4 Tổng quan quá trình mô phỏng
Tổng quan quá trình mô phỏng mạng MANET trong NS2 được thể hiện trong hình 13. Quá trình bao gồm việc tạo hai tệp đầu vào cho NS2:
• Tệp ngữ cảnh (scenario file): là file kịch bản mô tả khuôn dạng di chuyển của các nút.
• Tệp truyền thông (communication file): là file kịch bản mô tả các truyền thông trong mạng
Khi chương trình mô phỏng được cho chạy, bộ mô phỏng ghi nhận các hoạt
động mạng tại các lớp trong một file vết (trace file). Trước khi mô phỏng, các tham số cần cho việc ghi tệp vết được lựa chọn. Tệp vết sau đó có thểđược duyệt và phân tích để xác định các tham số cần tính toán. Các kết quả tính toán, phân tích có thể
dùng là dữ liệu cho các chương trình vẽ như gnuplot, xgraph, tracegraph. Tệp vết cũng có thểđược dùng để trực quan hóa việc chạy mô phỏng bằng Ad-hoc key hoặc NAM (Network Animator).
3.5 Mô phỏng các giao thức định tuyến
Hiện tại có bốn giao thức định tuyến mạng MANET được cài đặt trong NS2 là DSDV, DSR, AODV và TORA [31,13]. Ngoài ra, mã mô phỏng của giao thức OLSR cho NS2 được cung cấp bởi Francisco J. Ros [10]. Sau đây là các giá trị tham số hoạt động và các lưu ý cài đặt của các giao thức trong mô phỏng theo tài liệu của NS2 và các file cài đặt các giao thức.
3.5.1 DSDV
Các tham số hoạt động của DSDV trong mô phỏng:
Tham số Giá trị
Quãng cập nhật đường định kỳ 15s Số cập nhật định kỳ bị mất trước khi liên kết được
xem là bị hỏng
Thời gian cập nhật tức thời đầu tiên được giữ trong hiệu ứng hãm
6s
Thời gian kết hợp các quảng cáo đường 1s Số lượng các gói tin lớn nhất trong bộđệm mỗi nút 5
Bảng 7: Các tham số hoạt động của DSDV trong NS2
Tại nút di động DSDV, tất cả các gói tin có đích là nút di động được bộ phân tách địa chỉ (address mux) chuyển tới bộ phân tách cổng (port mux). Bộ phân tách cổng chuyển các gói tin tới ứng dụng đích tương ứng. Khi đích của gói tin không
được tìm thấy bởi bộ phân tách địa chỉ, nút di động không phải đích của gói tin, gói tin sẽ được chuyển cho đích mặc định là thành phần định tuyến. Thành phần định tuyến gắn chặng tiếp theo của gói tin và gửi nó xuống lớp liên kết.
3.5.2 AODV
Các tham số hoạt động của AODV trong mô phỏng:
Tham số Giá trị
Thời gian đường được xem là hợp lệ 300s Thời gian tồn tại của RREP được gửi bởi đích 600s
Số RREQ được phát lại 3
Thời gian trước khi một RREQ được phát lại 6s Thời gian broadcastID của một gói tin RREQ được giữ 3s
Thời gian đường đi ngược lại cho RREP được giữ 3s Thời gian trước khi liên kết bị hỏng được xóa khỏi bảng
định tuyến
3s
Phát hiện liên kết hỏng bằng lớp MAC có
Trong đặc tả của giao thức AODV, việc phát hiện hàng xóm được thực hiện bằng việc gửi thông điệp HELLO định kỳ. Trong phiên bản mô phỏng của AODV trong NS2, việc phát hiện liên kết hỏng được thay thế bằng thông báo từ lớp MAC. Cách tiếp cận này đã cho thấy ưu điểm là loại bỏđược tổng phí của việc gửi định kỳ
các thông điệp HELLO.
3.5.3 DSR
Các tham số hoạt động của DSR trong mô phỏng:
Tham số Giá trị
Thời gian giữa các ROUTE REQUEST được phát lại
500 ms
Kích thước tiêu đề gói tin mang địa chỉ đường với n chặng
4n+ 4byte
Thời gian hết hạn tìm kiếm đường trong các hàng xóm
30 ms
Thời gian giữ các gói tin chờđường 30s Tốc độ cao nhất việc gửi các gói tin REPLY cho
một đường
1/s
Bảng 9: Các tham số hoạt động của DSR trong NS2
Nút di động của DSR không sử dụng bộ phân tách hay phân loại địa chỉ, tất cả
các gói tin nhận bởi nút đều được chuyển tới thành phần định tuyến theo mặc định. Thành phần định tuyến DSR hoặc nhận gói tin cho chính nó bằng việc chuyển gói