5. Cấu trúc của luận văn
3.1 Giới thiệu môi trường mô phỏng NS
3.1.1 Tổng quan về NS2
NS (Network Simulation) là phần mềm mô phỏng mạng điều khiển sự kiện riêng lẻ hướng đối tượng, được phát triển tại UC Berkely, viết bằng ngôn ngữ C++ và Otcl [18]. NS rất hữu ích cho việc mô phỏng các hệ thống mạng hữu tuyến và vô tuyến, NS có các đặc điểm cơ bản sau:
- Khả năng kiểm tra tính ổn định của các giao thức mạng đang tồn tại. - Khả năng đánh giá các giao thức mạng mới trước khi đưa vào sử dụng. - Khả năng thực thi những mô hình mạng lớn mà gần như ta không thể thực thi được trong thực tế.
- Khả năng mô phỏng nhiều loại mạng khác nhau.
Mục đích của NS2 là tạo ra một môi trường giả lập cho việc nghiên cứu, kiểm tra, thiết kế các giao thức, các kiến trúc mới so sánh các giao thức và tạo ra các mô hình mạng phức tạp. Phiên bản thứ nhất của NS được phát triển vào năm 1995 và phiên bản thứ hai ra đời vào năm 1996. NS2 là phần mềm mã nguồn mở có thể chạy được trên nền của Linux và Window.
NS thực thi các giao thức mạng như: Giao thức điều khiển truyền tải (TCP) và giao thức gói người dùng (UDP), các dịch vụ nguồn lưu lượng như giao thức truyền tập tin (FTP), Telnet, Web, tốc độ bit cố định (CBR) và tốc độ bit thay đổi (VBR), các kỹ thuật quản lý hàng đợi như Vào trước Ra trước (Drop Tail), Dò sớm ngẫu nhiễn (RED) và CBQ, các thuật toán định tuyến như Dijkstra… NS cũng thực thi multicasting và giao thức lớp điều khiển truy cập đường truyền (MAC) đối với mô phỏng LAN.
3.1.2 Kiến trúc của NS2
NS2 là một công cụ giả lập hướng đối tượng được viết bằng ngôn ngữ C++ trong phần nhân và ngôn ngữ thông dịch Otcl ở phần giao tiếp.
Bộ giả lập NS2 bao gồm 3 module chính:
- Module nhân được gọi là Compiler Hierarchy. - Module giao tiếp được gọi là Interpreted Hierarchy.
- Module liên kết là module có tác dụng như một lớp keo dùng để gắn kết các lớp, các đối tượng, các biến tương ứng trong hai module nhân và module giao tiếp với nhau.
NS và bộ biên dịch Tcl mở rộng hướng đối tượng, bao gồm các đối tượng bộ lập lịch sự kiện, các đối tượng thành phần mạng và các mô đun trợ giúp thiết lập mạng.
- OTcl Script: Kịch bản OTcl
- Simulation Program: Chương trình mô phòng - Otcl: Bộ biên dịch Tcl mở rộng hướng đối tượng - NS Simulation Library: Thư viện mô phỏng NS
- Event Scheduler Objects: Các đối tượng bộ lập lịch sự kiện - Network Component Objects: Các đối tượng thành phần mạng - Network Setup Helping Modules: Các mô đun trợ giúp thiết lập mạng - Plumbling Modules: Các mô đun Plumbling
- Simulation Results: Các kết quả mô phỏng - Analysis: Phân tích
- NAM (Network Animator): Minh họa mạng NAM
Để sử dụng NS2, user lập trình bằng ngôn ngữ kịch bản OTcl. User có thể thêm các mã nguồn Otcl vào NS2 bằng cách viết các lớp đối tượng mới trong OTcl. Những lớp này khi đó sẽ được biên dịch cùng với mã nguồn gốc. Kịch bản OTcl có thể thực hiện những việc sau:
- Khởi tạo bộ lập lịch sự kiện
- Thiết lập mô hình mạng dùng các đối tượng thành phần mạng
- Báo cho nguồn traffic khi nào bắt đầu truyền và ngưng truyền packet trong bộ lập lịch sự kiện
Thuật ngữ plumbing được dùng để chỉ việc thiết lập mạng, vì thiết lập một mạng nghĩa là xây dựng các đường dữ liệu giữa các đối tượng mạng bằng cách thiết lập con trỏ “neighbour” cho một đối tượng để chỉ đến địa chỉ của đối tượng tương ứng. Module plumbing OTcl trong thực tế thực hiện việc trên rất đơn giản. Plumbing làm nên sức mạnh của NS.
Thành phần lớn khác của NS bên cạnh các đối tượng Thành phần mạng là bộ lập lịch sự kiện. Bộ lập lịch sự kiện trong NS2 thực hiện những việc sau:
- Huỷ các sự kiện trong hàng đợi sự kiện - Gọi các thành phần mạng trong mô phỏng
Phụ thuộc vào mục đích của user đối với kịch bản mô phỏng OTcl mà kết quả mô phỏng có thể được lưu trữ như file trace. Định dạng file trace sẽ được tải vào trong các ứng dụng khác để thực hiện phân tích:
- File nam trace (file.nam) được dùng cho công cụ minh họa mạng NAM - File Trace (file.tr) được dùng cho công cụ lần vết và giám sát mô phỏng XGRAPH hay TRACEGRAPH
- NAM Visual Simulation: Mô phỏng ảo NAM
- Tracing and Monitoring Simulation: Mô phỏng lần vết và giám sát
3.2 Mô phỏng mạng không dây trong môi trường NS
Thực chất mô hình wireless bao gồm MobileNode trong lõi (core) cùng với các đặc tính hỗ trợ thêm vào cho phép các trình mô phỏng của mạng multi-hop với thủ tục Ad-Hoc, mạng LAN wireless… Đối tượng MobileNode là một đối tượng tách biệt. Lớp MobileNode trong C++ xuất phát từ lớp cha là lớp Node. Vì vậy, một MobileNode là một đối tượng Node cơ sở cộng thêm các chức năng của wireless, có khả năng di chuyển bên trong một topo và nhận hoặc truyền tín hiệu thông qua một kênh wireless [16], [17].
3.3 Mô phỏng giao thức định tuyến lai ZRP và SD-ZRPXây dựng kịnh bản Xây dựng kịnh bản
Việc thiết kế và thử nghiệm cho các giao thức dựa trên phần mềm mô phỏng NS2. Mô hình thiết kế cho các nút mạng cố định và di chuyển ngẫu nhiên trong khu vực bán kính 10000m x 10000. Các gói tin phát dựa vào dịch vụ CBR (constant bit race), với kích thước gói tin 512 byte/1 gói tin, chu kỳ gửi tin 4 gói/1 giây. Hàng đợi kiểu FIFO, các gói tin định tuyến sẽ có độ ưu tiên cao hơn các gói tin dữ liệu.
Hình 3.2 Mô hình mô phỏng mạng ZRP đang hoạt động
Các nhân tố chính ảnh hưởng đến hiệu năng của giao thức ZRP và SD- ZRP là bán kính vùng định tuyến r, số lượng nút N và tốc độ di chuyển v của các nút. Trong đó, tham số bán kính vùng định tuyến r có vai trò quyết định tác động đến kết quả hoạt động của giao thức. Đối với mỗi cấu hình mạng nhất định sẽ xác định một bán kính r tối ưu. Mỗi kịch bản mô phỏng được đặc trưng bởi: số lượng nút N, vận tốc di chuyển của các nút v và bán kính vùng định tuyến r.
3.4 Phân tích mô phỏng
Để đánh giá hiệu năng hoạt động của giao thức, chúng tôi sử dụng phần mềm Tracegraph 2.04 để phân tích kết quả mô phỏng dựa trên tỷ lệ gói tin gửi thành công và thời gian trễ trung bình.
3.4.1 Sự tác động của số lượng nút mạng đến hiệu năng của giao thức ZRP
- Khu vực mô phỏng 10000m x 10000m
- Vận tốc di chuyển của các nút được cố định: v = 5
- Số lượng nút mạng N lần lượt nhận các giá trị 50, 100, 150. - Bán kính vùng định tuyến r lần lượt nhận các giá trị: 1, 3, 5 Kết quả mô phỏng:
Bảng 3.1 Kết quả mô phỏng về sự tác động của số lượng nút mạng đến hiệu năng của giao thức ZRP
R
N 1 3 5
50 18.50% 47.25% 66.87%
100 12.04% 43.67% 74.95%
150 9.28% 42.67% 75.09%
(a) Tỷ lệ gói tin gởi thành công(%)
R N 1 3 5 50 0.022 0.0009 0.00027 100 0.067 0.044 0.00023 150 0.086 0.07 0.00023
(b) Thời gian trễ(giây)
Kết quả mô phỏng cho thấy, trong cả ba trường hợp, tỷ lệ gói tin gửi thành công thấp nhất khi bán kính vùng định tuyến là 1. Khi bán kính r = 1, giao thức ZRP hoạt động như một giao thức định tuyến bị động, khi đó bất cứ truy vấn đường đi nào cũng phải khởi động quá trình khám phá tuyến đường bị động. Sự cân bằng lưu lượng gói tin điểu khiển hẳn về phía các gói tin điều khiển bị động. Điều này làm cho giao thức kém hiệu quả, tỷ lệ gói tin gửi thành công rất thấp, lần lượt là 18.50%, 12.04% và 9.28%. Đồng thời, do đặc điểm của cơ chế định tuyến bị động, thời gian trễ khi bán kính r = 1 lần lượt
là 0.022s, 0.067s, 0.086s rất lớn so với các trường hợp bán kính lớn hơn. Chẳng hạn như khi r=3 thì thời gian trễ lần lượt là 0.0009s, 0.044s và 0.070s tương ứng với N lần lượt là 50, 100, và 150.
Hình 3.3 Biểu đồ kết quả mô phỏng về sự tác động của số lượng nút mạng đến hiệu năng của giao thức ZRP
Khi bán kính r tăng lên, hoạt động của giao thức có sự phối hợp giữa cơ chế định tuyến bị động và chủ động. Điều này làm hiệu năng của giao thức tăng lên. Khi bán kính r đạt giá trị thích hợp, giao thức sẽ có hiệu năng tốt nhất. Lúc này nếu tiếp tục tăng r thì hiệu năng sẽ giảm xuống. Nguyên nhân là do lúc đó cơ chế định tuyến chủ động hoạt động nhiều hơn gây mất cân đối trong sự phối hợp hoạt động với cơ chế định tuyến bị động.
Ngoài ra, khi bán kính r càng nhỏ, thời gian trễ càng lớn. Nguyên nhân chủ yếu là khi r nhỏ, cơ chế định tuyến bị động hoạt động nhiều hơn. Khi r tăng, cơ chế định tuyến chủ động dần chiếm ưu thế nên thời gian trễ giảm. Và khi r đạt đến giá trị nhất định (r=5) thì thời gian trễ sẽ ổn định ở giá trị 0.00023s.
Như vậy, với giao thức ZRP với vùng định tuyến lớn phù hợp với mạng có số lượng nút mạng lớn.
3.4.2 Sự tác động của vận tốc di chuyển của nút đến hiệu năng của giao thức ZRP
Cấu hình mạng mô phỏng:
- Số lượng nút mạng được cố định: N=100
- Vận tốc di chuyển của các v lần lượt nhận các giá trị 0m/s, 5m/s, 10m/s, 15m/s
- Bán kính vùng định tuyến r lần lượt nhận các giá trị: 1, 3, 5. Kết quả mô phỏng:
Bảng 3.2 Kết quả mô phỏng về sự tác động của vận tốc di chuyển của nút đến hiệu năng của giao thức ZRP
R v(m/s) 1 3 5 0 11.29% 39.88% 68.87% 5 12.04% 43.67% 74.95% 10 13.06% 48.01% 78.71% 15 15.79% 50.96% 78.74%
Kết quả mô phỏng cho thấy có sự tác động của vận tốc di chuyển đến hiệu năng của giao thức ZRP. Khi vận tốc di chuyển của các nút v tăng lên, hiệu năng mạng sẽ thay đổi tùy thuộc vào cấu hình (bán kính vùng định tuyến
r) của giao thức ZRP. Với một bán kính r xác định, ban đầu khi vận tốc v tăng
lên, hiệu năng của giao thức sẽ tăng lên. Nhưng khi v tăng đến một ngưỡng nào đó tùy thuộc vào bán kính r thì hiệu năng của giao thức ZRP sẽ đạt cực đại, nếu v tiếp tục tăng lên thì hiệu năng của giao thức sẽ bắt đầu giảm.
Hình 3.4. Biểu đồ kết quả mô phỏng về sự tác động của vận tốc di chuyển của nút đến hiệu năng của giao thức ZRP
3.4.3 Sự tác động của số lượng nút mạng đến hiệu năng của giao thức SD- ZRP
Cấu hình mạng mô phỏng:
- Khu vực mô phỏng 10000m x 10000m
- Vận tốc di chuyển của các nút được cố định: v = 5
- Số lượng nút mạng N lần lượt nhận các giá trị 50, 100, 150. - Bán kính vùng định tuyến r lần lượt nhận các giá trị: 1, 3, 5
Kết quả mô phỏng:
Bảng 3.3 Kết quả mô phỏng về sự tác động của số lượng nút mạng đến hiệu năng của giao thức SD-ZRP
R N 1 3 5 50 93.57% 98.90% 98.17% 100 87.57% 95.82% 97.82% 150 84.10% 96.05% 99.80%
Tỷ lệ gói tin gởi thành công(%)
Kết quả mô phỏng cho thấy cũng như kết quả của giao thức ZRP, trong cả ba trường hợp, tỷ lệ gói tin gửi thành công thấp nhất khi bán kính vùng định tuyến là 1.
Hình 3.5 Biểu đồ kết quả mô phỏng về sự tác động của số lượng nút mạng đến hiệu năng của giao thức SD-ZRP
3.4.4 So sánh kết quả mô phỏng giữa giao thức ZRP và SD-ZRP
Cấu hình mạng mô phỏng:
- Khu vực mô phỏng 10000m x 10000m
- Số lượng nút mạng N lần lượt nhận các giá trị 50, 100, 150. - Bán kính vùng định tuyến r lần lượt nhận các giá trị: 1, 3, 5
Kết quả mô phỏng:
Bảng 3.3 Kết quả mô phỏng của giao thức ZRP và SD-ZRP N Giao thức 50 100 150 ZRP 18.50% 12.04% 9.28% SD_ZRP 93.57% 87.57% 84.10% (a) Trường hợp r = 1 N Giao thức 50 100 150 ZRP 47.25% 43.67% 42.67% SD_ZRP 98.90% 95.82% 96.05% (b) Trường hợp r = 3 N Giao thức 50 100 150 ZRP 66.87% 74.95% 75.09% SD_ZRP 98.17% 97.82% 99.80% (c) Trường hợp r = 5
Kết quả mô phỏng cho thấy, giao thức SD-ZRP hoạt động có hiệu quả hơn giao thức ZRP trong mọi trường hợp, bán kính vùng thay đổi r = 1,3,5
(c) Trường hợp r = 5
Hình 3.6 So sánh kết quả mô phỏng của giao thức ZRP và SD-ZRP Khi bán kính vùng được thay đổi, kiến trúc mạng cũng thay đổi. Giao thức ZRP phải tốn nhiều chi phí hơn cho việc duy trì bảng nội vùng. Trong khi giao thức SD-ZRP lồng thông tin dịch vụ vào thông tin định tuyến nên chỉ tốn ít chi phí và năng lượng hơn cho việc cập nhật bảng nội vùng. Do đó, hiệu năng của SD-ZRP tốt hơn so với giao thức ZRP.
3.5 Kết luận chương 3
Việc triển khai thí nghiệm các hệ thống mạng trong thế giới thực là một công việc khá phức tạp, đòi hỏi tốn nhiều thời gian và chi phí cao. Bên cạnh đó, độ rủi ro không thành công khá cao. Phương pháp sử dụng các phần mềm mô phỏng sẽ khắc phục được những hạn chế này. Trong chương này, chúng tôi đã trình bày các bước thực hiện để mô phỏng mạng trong NS2, các tập lệnh để thiết lập mô phỏng mạng không dây trên NS2. Từ đó, chúng tôi xây dựng mô hình mạng MANET để thực hiện mô phỏng cho giao thức ZRP. Từ kết quả mô phỏng thu được, so sánh với kết quả mô phỏng của giao thức SD- ZRP, chúng tôi có những đánh giá hiệu năng như sau:
- Đối với giao thức ZRP, bán kính vùng định tuyến lớn thích hợp cho các mạng có số lượng nút mạng lớn. Ngược lại, bán kính vùng định tuyến nhỏ sẽ thích hợp cho các mạng có các nút di chuyển nhanh.
- Khi bán kính vùng được thay đổi, kiến trúc mạng cũng thay đổi. Giao thức ZRP phải tốn nhiều chi phí hơn cho việc duy trì bảng nội vùng. Trong khi giao thức SD-ZRP lồng thông tin dịch vụ vào thông tin định tuyến nên chỉ tốn ít chi phí và năng lượng hơn cho việc cập nhật bảng nội vùng. Do đó, hiệu năng của SD-ZRP tốt hơn so với giao thức ZRP.
KẾT LUẬN
Mạng MANET hiện đang là một thách thức của các nhà nghiên cứu trong việc tìm ra những giao thức mạng, chuẩn mạng mới với mục đích cuối cùng là đạt được một hệ thống mạng ổn định và hiệu suất khai thác cao trên các dịch vụ truyền thông đa phương tiện.
Qua thời gian 6 tháng nghiên cứu một số giao thức định tuyến điều khiển theo yêu cầu trên mạng MANET. Luận văn đã đạt được một số kết quả:
1. Kết quả đạt được:
- Trình bày một cách tổng thể về mạng MANET, các đặc điểm và phân loại mạng MANET, các thuật toán và các giao thức định tuyến trong mạng MANET, các ứng dụng của mạng MANET trong cuộc sống.
- Tìm hiểu, phân tích cơ chế hoạt động của giao thức định tuyến lai ghép thông qua giao thức ZRP, BL-SD-ZRP. Đánh giá những ưu điểm, khuyết điểm của hai giao thức để nhằm áp dụng hợp lý các giao thức trong mô hình mạng cụ thể.
- Thiết kế một số mô hình mạng MANET trên công cụ mô phỏng mạng NS2. Cài đặt, mô phỏng giao thức ZRP và SD-ZRP để minh họa hoạt động. Từ kết quả mô phỏng thu được, đánh giá hiệu năng trên các kịch bản khác nhau theo tỷ lệ gói tin gửi thành công.
2. Hướng phát triển:
Cài đặt, mô phỏng thêm một số giao thức định tuyến lai ghép khác để