• Độ phức tạp lưu trữ: kích thước lưu trữ mỗi nút cần để lưu các thông tin cần thiết cho việc định tuyến.
• Độ phức tạp thời gian: số các bước cần để thực hiện một hoạt động của giao thức.
• Độ phức tạp truyền thông: số thông điệp cần để thực hiện một hoạt động của giao thức.
Các ký hiệu trong bảng gồm có: M: số nút chuyển tiếp sóng (MPR); N: Tổng số nút trong mạng, A: Số trung bình các nút liền kề (các nút hàng xóm); D: Đường kính mạng (số chặng lớn nhất trong mạng); Dd: Số các đích giao tiếp lớn nhất. Giao thức Độ phức tạp lưu trữ Độ phức tạp thời gian Độ phức tạp truyền thông
DSDV O(N) O(D) O(N)
OLSR O(NxM) O(D) O(N)
AODV O(Dd) O(2D) O(2N)
DSR O(D) O(2D) O(2N)
TORA O(DdxA) O(2D) O(2N)
Bảng 1: So sánh độ phức tạp của các giao thức
Bảng 2 và 3 tổng kết và so sánh các đặc điểm của các giao thức. Trong đó:
• Thông tin lưu trữ: Thông tin được lưu tại mỗi nút
• Thời gian cập nhật: Áp dụng trong các giao thức định tuyến chủứng. Các giá trị
so sánh là: định kỳ, theo sự kiện và lai (kết hợp cả hai cơ chế). Đối với các giao thức phản ứng, khi liên kết bị hỏng, cơ chế duy trì đường được thực hiện, việc xây dựng lại đường được gọi là hướng sự kiện.
• Thông tin cập nhật: Thông tin về trạng thái liên kết. Đối với các giao thức phản
ứng, cơ chế duy trì đường theo sự kiện, thông tin cập nhật là các thông điệp ROUTE-ERROR.
• Đối tượng cập nhật: là các hàng xóm hoặc các nút nguồn bịảnh hưởng.
• Phương pháp cập nhật: quảng bá (broadcast) hoặc unicast.
• Tính toán đường: Khi nào đường được tính toán. Có ba trường hợp: tính toán trước, theo yêu cầu và lai giữa hai cơ chế. Đối với các giao thức định tuyến trước, việc tính toán có thể thực hiện bởi nút hoặc hợp tác, phân tán giữa các nút. Tuy nhiên, trong các giao thức định tuyến phản ứng, việc tính toán đường thông thường là việc gửi quảng bá thông điệp truy vấn đường được truyền qua toàn mạng để phát hiện đường.
• Sốđường: Sốđường tìm thấy được lưu trữ.
• Duy trì đường: Việc có áp dụng hay không cơ chế duy trì đường trong các giao thức.
Giao thức Thông tin lưu trữ Thời gian cập nhật Thông tin cập nhật Đối tượng cập nhật DSDV Véc tơ khoảng cách Định kỳ và theo sự kiện Véc tơ khoảng cách Các hàng xóm OLSR Toàn bộ cấu hình mạng Định kỳ Thông điệp Hello: thông tin liên kết cục bộ và hàng xóm (MPR). Thông điệp TC: thông tin về các MPR Tất cả các nút trong mạng
AODV Chặng tiếp theo tới đích có giao tiếp Cơ chế duy trì đường theo sự kiện Thông điệp lỗi đường (route error) Nút nguồn DSR Đường đi tới các đích có giao tiếp Cơ chế duy trì đường theo sự kiện Thông điệp lỗi đường (route error) Nút nguồn TORA Độ cao của các nút hàng xóm Theo sự kiện Độ cao của nút Các hàng xóm Bảng 2: So sánh giữa các giao thức Giao thức Phương pháp cập nhật Tính toán đường Sốđường Duy trì đường DSDV Quảng bá tới các hàng xóm Trước, phân tán Một đường (đường đi ngắn nhất) Gửi các cập nhật định kỳ và theo sự kiện OLSR Quảng bá Trước, thực hiện bởi nút Một đường (đường đi ngắn nhất) Gửi các cập nhật
AODV Unicast Phản ứng theo yêu cầu, quảng bá thông điệp truy vấn Một đường (đường đầu tiên nhận được bởi thông điệp trả lời) Xóa đường, thông báo tới tất cả các nút nguồn bịảnh hưởng DSR Unicast Phản ứng theo yêu cầu, quảng bá thông điệp truy vấn
Nhiều đường Xóa đường, thông báo cho nút nguồn
TORA Quảng bá Phản ứng theo yêu cầu, quảng bá thông điệp truy vấn
Nhiều đường Đảo ngược liên kết, sửa
đường
Chương 3:
CÁC MẠNG MANET MÔ PHỎNG
3.1 Mô hình các mạng MANET
Có nhiều cách khác nhau để mô hình hoá các mạng máy tính: phân tích hình thức, đo thực và mô phỏng [1]. Phân tích hình thức là mô hình hóa giải tích sử dụng các công cụ toán học để mô phỏng và xác định các thông số hiệu suất của hệ thống. Một số kỹ thuật hình thức được dùng để mô hình các mạng tĩnh là các Lưới Petri, các quá trình ngẫu nhiên (stochastic processes), lý thuyết hàng đợi (queuing theory) và lý thuyết đồ thị (graph theory). Tuy nhiên, không có kỹ thuật nào kể trên thích hợp cho việc nghiên cứu các mạng động như mạng MANET.
Phương pháp đo thực thường được áp dụng khi các yếu tốđảm bảo về kỹ thuật cho phép và chi phí cho các thiết bị đo và các phép đo là có thể chấp nhận. Đối với các hệ thống đang hoạt động, việc phân tích và đánh giá hiệu suất hoạt động dựa trên các số liệu thu thập được bởi các bộ giám sát bằng phần cứng, bộ giám sát phần mềm hoặc hệ thống giám sát lai bằng phương pháp thử ngẫu nhiên hoặc được kích hoạt bởi các sự kiện qui định trong và ngoài hệ thống tại các giao diện vào và ra của hệ thống. Do các mạng MANET vẫn còn là một chủđề đang được nghiên cứu, hầu hết các ngữ cảnh sử dụng mạng thực chưa được biết đến. Với nhiều yếu tố không chắc chắn và động, việc sử dụng phương pháp đo thực hầu như không thể thực hiện
được và sẽ rất tốn kém.
Mô hình hoá mô phỏng là việc sử dụng các chương trình máy tính để mô phỏng kiến trúc và quá trình hoạt động của một hệ thống và trên cơ sở đó, xác định các thông số hiệu suất của hệ thống. Mô phỏng cho phép thể hiện nhiều đặc điểm phức tạp cần thiết về các hiện tượng được nghiên cứu. Ngoài ra, sử dụng mô phỏng có chi phí thấp, có thể tạo ra một lượng lớn các lần chạy thử nghiệm. Vì những lý
do này, lựa chọn phổ biến cho nghiên cứu hành vi của các giao thức trong mạng MANET vẫn là mô phỏng.
Bộ mô phỏng mạng mà chúng tôi sử dụng để nghiên cứu các giao thức định tuyến mạng MANET là NS2 của trường đại học UC Berkeley thuộc dự án VINT (Virtual Network Testbed) [27]. NS2 là bộ mô phỏng đa giao thức, mã nguồn mở.
3.2 Bộ mô phỏng NS2
NS2 (Network Simulation 2) [27] là bộ mô phỏng đa giao thức thuộc dự án nghiên cứu và phát triển của các nhà nghiên cứu tại trường đại học UC Berkeley từ
năm 1989 phục vụ cho các nghiên cứu về sự làm việc của mạng. NS2 có chứa một thư viện phong phú các mô hình khác nhau dùng cho việc nghiên cứu mạng. Khác với các chương trình mô phỏng riêng lẻ được phát triển cho các mục đích nghiên cứu cụ thể, ví dụ các chương trình mô phỏng ATM hoặc PIM muticast, khả năng mô phỏng của NS2 bao gồm các mạng có dây và không dây.
Bên cạnh đó, NS2 là phần mềm mã nguồn mởđược quan tâm và phát triển bởi nhiều nhà nghiên cứu thuộc các viện, trường đại học và các trung tâm nghiên cứu. Trong hỗ trợ mô phỏng mạng MANET, phần mã mô phỏng lớp vật lý, lớp liên kết và lớp MAC được xây dựng bởi nhóm Mornach trường CMU [17,31]. Với các hỗ
trợ mô phỏng này, NS2 được dùng rộng rãi trong nghiên cứu mạng MANET. Đặc biệt, việc mở rộng các chức năng mô phỏng mạng MANET của NS2 nằm trong mối quan tâm và chủđề thảo luận của nhóm làm việc MANET, tổ chức IETF [12].
Về thiết kế chung, NS2 là bộ mô phỏng vận hành theo các sự kiện rời rạc (Discrete Event-Drivent Simulator) [17]. Để thực hiện điều đó, NS2 sử dụng một hàng đợi chứa các sự kiện được sắp xếp theo thứ tự thời gian xảy ra. Bộ lập lịch sự
kiện quản lý thời gian mô phỏng và cho thi hành các sự kiện trong hàng đợi sự kiện tại thời điểm được lập lịch và gọi tới thành phần mạng thích hợp. Ví dụ, một thành phần chuyển mạch mạng (switch) được mô phỏng với thời gian trễ chuyển mạch là 20 ms, gói tin qua chuyển mạch sẽ được làm trễ 20 ms trước khi phát ra đường ra thích hợp.
Để tối ưu hóa việc chạy mô phỏng và mở rộng, NS2 sử dụng mô hình lập trình phân tách, hướng đối tượng gồm hai thành phần: C++ được dùng để phát triển hạt nhân của bộ mô phỏng (bộ lập lịch sự kiện, các đối tượng thành phần mạng cơ bản)
để làm giảm thời gian xử lý gói tin và các sự kiện là thời gian không tính vào thời gian mô phỏng; OTcl thực hiện việc định cấu hình và điều khiển mô phỏng.
NS2 có thể thoã mãn các nhu cầu của người nghiên cứu mạng với các hỗ trợ
như sau [19]:
• Khả năng trừu tượng hóa: Người nghiên cứu có thể nghiên cứu các giao thức mạng ở nhiều mức khác nhau, từ chi tiết hành vi của một giao thức đơn lẻ
cho đến sự kết hợp của nhiều luồng dữ liệu và tương tác của nhiều giao thức. Do vậy, cho phép so sánh dễ dàng các kết quả chi tiết và trừu tượng.
• Khả năng tương tác với mạng thực: cho phép chương trình mô phỏng
đang chạy tương tác với các nút mạng thực sự, đang hoạt động.
• Khả năng tạo ngữ cảnh: Việc kiểm chứng các giao thức dưới các điều kiện mạng thích hợp là quan trọng để đạt được các kết quả hợp lệ và hữu ích. NS2 hỗ trợ khả năng tạo tựđộng các mẫu lưu lượng, hình trạng mạng phức tạp và các sự kiện động như lỗi liên kết để tạo các ngữ cảnh mạng theo yêu cầu của người nghiên cứu.
• Khả năng trực quan hóa: Người nghiên cứu cần các công cụ để giúp hiểu được các hành vi phức tạp trong mô phỏng mạng. Với công cụ NAM người nghiên cứu có thể hiển thị động, trực quan về giao thức và do đó dễ
dàng gỡ rối các giao thức.
• Khả năng mở rộng được: Bộ mô phỏng cho phép mở rộng dễ dàng các chức năng mới và do đó cho phép thực hiện các nghiên cứu về giao thức mới.
3.3 Thiết lập mạng MANET mô phỏng trong NS2 3.3.1 Mô phỏng mạng không dây di động 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ử