4.5.1. Thiết lập topo mạng Ad hoc
Để thiết lập mô hình mô phỏng mạng Ad hoc tôi xây dựng một kịch bản mô phỏng bao gồm 50 nút (mỗi nút được tạo theo cấu trúc như trên), các nút được thiết lập ở các vị trí ngẫu nhiên trong một vùng 2000m x 2000m với vùng phủ sóng của mỗi trạm là 250m. Trên mỗi trạm có gắn một thực thể truyền thông CBR (Constrant Bit Rate) hoặc FPT dựa trên giao thức tầng giao vận UDP hoặc TCP với kích thước gói tin là 1500 bytes tốc độ phát của CBR không đổi 100 bps, phát đến các trạm được kết nối theo mô phỏng. Để đánh giá hiệu năng hoạt động của các giao thức định tuyến tôi thực hiện đánh giá dựa vào tải đưa vào mạng cùng với việc đánh giá các thông số gồm thông lượng (throughput), độ trễ (delay), độ thăng gián (jitter) và tỉ lệ mất gói tin
(packet loss ratio). Thời gian mô phỏng dành cho toàn bộ kịch bản là 30 phút, các tham số và tải đưa vào mạng là như nhau đối với các giao thức định tuyến
Do đặc thù của mạng Ad Hoc là topo mạng động, băng thông hạn chế, khả năng liên kết giữa các nút mạng có thể thay đổi, lên việc phân tích hiệu năng của các giao thức định tuyến trong mạng Ad Hoc ta cần xét đến các đặc tính như: độ lớn của mạng được thể hiện bằng số các nút mạng, các nút mạng được kết nối thông qua số lượng nút hàng xóm của nó, quá trình thay đổi cấu hình vật lý của mạng theo thời gian (do các nút có thể di chuyển trong khi mạng vẫn đang hoạt động) và dạng truyền thông trong mạng có thể là đồng dạng, không đồng dạng hoặc bùng phát. Đây chính là mức độ tải trong mạng.
4.5.2. Thực hiện mô phỏng
Sau khi xây dựng script mô phỏng cho cả bốn giao thức, ta thực hiện mô phỏng theo từng giao thức định tuyến bằng cách chọn giao thức định tuyến cần mô phỏng rồi thực hiện lệnh sau: ns dsdv_aodv_dsr_olsr_09.tcl ta được màn hình nam mô phỏng sau:
Hình 4.6: Đồ hình mô phỏng 50 node mạng ah hoc
Mỗi một giao thức sau khi mô phỏng ta sẽ có một tệp vết ghi lại toàn bộ các sự kiện xảy ra của mạng. dựa vào các tệp vết này ta sẽ sử dụng mã script perl để đánh giá hiệu năng cho từng giao thức.
4.5.3. Đánh giá hiệu năng các giao thức mạng
Để đánh giá hiệu năng hoạt động của các giao thức mạng tôi thực hiện đánh giá các thông số gồm thông lượng (throughput), độ trễ (delay), thăng giáng đ ộ t r ễ (jitter) và tỉ lệ mất gói tin (packet loss ratio) theo các kết nối TCP lưu lượng vận chuyển FTP và kết nối UDP luồng sinh lưu lượng không đổi CBR (Constant Bit Rate), các giao thức đều được thực hiện tren cùng một kịch bản mô phỏng, nghĩa là đồ hình mạng là như nhau, quá trình di chuyển của các nút cũng như thời gian mô phỏng của các nút là như nhau cùng với tải đưa vào mạng để đánh giá hiệu năng của các giao thức định tuyến cũng như nhau. Ứng với mỗi giao thức định tuyến sẽ cho ta kết quả đánh giá thông qua từng biểu đồ
4.5.3.1. Thông lượng trung bình
Thông lượng trung bình của toàn mạng được tính bằng tổng thông lượng trung bình của từng kết nối. Thông lượng trung bình của từng kết nối bằng tổng kích thước các gói tin nhận được chia cho thời gian truyền lưu lượng qua kết nối.
Thông lượng trung bình 1 kết nối (Mbps) = Tổng (Kích thước gói tin) / (Thời gian gian nhận gói tin cuối cùng - Thời gian gửi gói tin đầu tiên) (Mbps)
Hình 4-7: Thông lượng trung bình của toàn mạng
Đồ thị trên biểu thị thông lượng trung bình của các giao thức định tuyến khác nhau trong suốt khoảng thời gian mô phỏng. Trục hoành biểu thị khoảng thời gian mô phỏng, ở đây khoảng thời gian mô phỏng được tính bằng giây, trục tung biểu diễn thông lượng trung bình của toàn mạng, (bao gồm tất cả các kết nối, tất các thực thể có tham gia vào quá trình truyền thông) theo đơn vị tính mêgabít. Vậy biểu đồ trên sẽ biểu diễn thông lượng trung bình theo Mbps.
Nhìn vào biểu đồ ta thấy thông lượng trung bình vào thời gian đầu mô phỏng các giao thức đạt dưới 3Mbps, do vào thời gian này tải đưa vào mạng chưa cao. Sau đó
các giao thức dần dần đi vào ổn định. Giao thức DSR đạt hiệu năng cao nhất, thông lượng trên dưới 10Mbps, Còn giao thức AODV cũng đạt thông lượng trung bình cao xấp xỉ ngưỡng 6Mbps, OLSR ổn định ở mức 4Mbps giao thức DSDV có thông lượng trung bình thấp nhất ở mức dưới 3Mbps.
4.5.3.2. Độ trễ trung bình
Độ trễ trung bình của toàn mạng được tính bằng tổng độ trễ của từng kết nối. Độ trễ trung bình của từng kết nối bằng tổng độ trễ của từng gói tin gửi thành công chia cho tổng số lượng gói tin nhận được
Độ trễ trung bình của một kết nối = Tổng(Thời gian nhận gói tin – thời gian gửi gói tin) / Số gói tin nhận được
Độ trễ trung bình của toàn mạng = Tổng (Độ trễ trung bình của các kết nối)
Hình 4-8: Độ trễ trung bình của toàn mạng
Trục hoành của biểu đồ biểu diễn số gói tin truyền được, trục tung biểu diễn độ trễ truyền thông tính theo giây. Nhìn vào biểu đồ ta thấy độ trễ trung bình của giao thức AODV có giá trị cao nhất, đạt đến gần 800 giậy trên 500 gói tin. Độ trên trung bình của giao thức DSR và giao thức DSDV có vẻ tăng theo số lượng gói tin truyền trong mạng. Giao thức OLSR là giao thức có độ trễ thấp nhất, đạt dưới 100 giây trên gần 3500 gói tin và có vẻ không táng nhiều khi số lượng gói tin truyền trong mạng tăng cao.
4.5.3.3. Thăng giáng độ trễ trung bình
Thăng giáng độ trễ so với độ trễ trung bình hay còn gọi là sự biến đổi độ trễ so với độ trễ trung bình, được tính bằng mức độ chênh lệch so với độ trễ trung bình.
Thăng giáng độ trễ trung bình = Độ trễ của từng gói tin trong mạng / Độ trễ trung bình của toàn mạng
Hình 4-9: Thăng giáng độ trễ trung bình của toàn mạng
Nhìn vào biểu đồ ta thấy thăng giáng độ trễ so với độ trễ trung bình của các giao thức DSDV, DSR,OLSR ổn định ở mức trên dưới 50 giây cho toàn bộ các gói tin truyền trong mạng, với giao thức AODV có thăng giáng độ trễ so với độ trễ trung bình có khoảng lên tới trên 100 giây rồi sau đó dần đi vào ổn định dưới 100 giây.
4.5.3.4. Tỷ lệ mất gói tin
Tỷ lệ mất gói tin của toàn mạng được tính bằng tổng số gói tin gửi đi trừ số gói tin nhận được chia cho số gói tin gửi đi tính theo một đơn vị thời gian.
Tỉ lệ mất gói tin = Tổng (Số gói tin gửi đi – Số gói tin nhận được) / Số gói tin gửi đi (%)
Thông số trên biểu đồ trục hoành diễn tả thời gian mô phỏng, trục tung biểu diễn tỷ lệ mất gói tin tính theo đơn vị phần trăm. Nhìn vào biểu đồ ta thấy tỷ lệ mất gói tin của các giao thức AODV có tỷ lệ mất gói tin tăng đột biến vào các khoảng thời gian từ 25 đến 30 giây cuối cùng còn tỷ lệ mất gói tin trung bình của các giao thức OLSR, DSDV, DSR đạt gần xấp xỉ như nhau khoảng từ 1% đến 1,5% và OLSR có tỷ lệ mất gói tin thấp nhất.
Như vậy đánh giá hiệu năng chung của các giao thức ta nhận thấy:
- Với giao thức DSR và giao thức AODV có thông lượng cao nhất trong bốn giao thức tuy nhiên có độ trễ cao và tăng theo số lượng gói tin truyền trong mạng cũng như tỷ lệ mất gói tin cho toàn mạngcó thời điểm cao vút.
- Giao thức DSDV và OLSR hai giao thức này có thông lượng trung bình ở mức độ vừa phải với OLSR gần 5Mbps, DSDV thì thấp hơn tuy nhiên lại có độ trễ trung bình và tỷ lệ mất gói tin trên toàn mạng lại thấp nhất.
4.5.4. Đánh giá các tuyến đường được thiết lập trong thời gian mô phỏng
Để đánh giá các tuyến được thiết lập vào các thời điểm khác nhau theo từng giao thức, ta dựa vào tệp kết quả mô phỏng để tìm ra các tuyến và sự di chuyển của các nút đã làm hỏng tuyến từ đó nút nguồn sẽ phải tìm ra tuyến mới.
Kết quả mô phỏng tuyến đường từ nút 6 đến nút 23 theo giao thức DSDV trong khoảng thời gian 10 giây đầu ta được:
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _DSDV_50.tr 6 23 10
Tuyến đường từ nút 6 đến nút 23 có độ dài bằng: 5 6 --> 10 --> 27 --> 18 --> 9 --> 23
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _DSDV_50.tr 6 23 20
Vào 15.00000 (s) node 9 di chuyển từ: (850.00, 950.00, 0.00), đến: (910.00, 730.00), vận tốc:200.00 (m/s)
Tuyến đường từ nút 6 đến nút 23 có độ dài bằng: 4
Do nút 9 di chuyển vào giây thứ 15 lên tuyến đường cũ đã bị hỏng, DSDV xá lập lại tuyến mới: 6 --> 27 --> 18 --> 9 --> 23
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _DSDV_50.tr 6 23 30
Vào 9.00000 (s) node 25 di chuyển từ: (1350.00, 1250.00, 0.00), đến: (950.00, 100.00), vận tốc:100.00 (m/s) lên tuyến đường từ nút 6 đến nút 23 có độ dài bằng 2 được DSDV xác lập lại: 6 --> 25 --> 23
Đánh giá tuyến đường theo giao thức AODV:
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _AODV_50.tr 6 23 10
Tuyến đường từ nút 6 đến nút 23 có độ dài bằng: 4 6 --> 27 --> 18 --> 9 --> 23
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _AODV_50.tr 6 23 20
Vào 9.00000 (s) node 25 di chuyển từ: (1350.00, 1250.00, 0.00), đến: (950.00,
100.00), vận tốc:100.00 (m/s) khi đó AODV xác lập lại tuyến đường từ nút 6 đến nút 23 có độ dài bằng: 2 6 --> 25 --> 23
Vào 9.00000 (s) node 25 di chuyển từ: (1350.00, 1250.00, 0.00), đến: (950.00,
100.00), vận tốc:100.00 (m/s). Ta thấy nút 25 di chuyển nhưng vẫn lằm trong khoảng truyền thông của nút 6 và 23 lên tuyến vẫn được giữ nguyên trong suốt thời gian mô phỏng 6 --> 25 --> 23
Đánh giá tuyến đường theo giao thức OLSR:
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _OLSR_50.tr 6 23 10
Tuyến đường từ nút 6 đến nút 23 có độ dài bằng: 4 6 --> 27 --> 18 --> 9 --> 23
Ta thấy theo giao thức OLSR, khoảng 10 giây đầu tiên cũng không khác gì so với hai giao thức trước AODV và DSDV
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _OLSR_50.tr 6 23 20
Vào 9.00000 (s) node 25 di chuyển từ: (1350.00, 1250.00, 0.00), đến: (950.00, 100.00), vận tốc:100.00 (m/s)
Tuyến đường từ nút 6 đến nút 23 có độ dài bằng: 2 6 --> 25 --> 23
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _OLSR_50.tr 6 23 30
Vào 9.00000 (s) node 25 di chuyển từ: (1350.00, 1250.00, 0.00), đến: (950.00, 100.00), vận tốc:100.00 (m/s) nút 25 có di chuyển nhưng vẫn nằm trong phạm vi truyền sóng của nút 6 và 23 lên OLSR xác lập tuyến có độ dài bằng: 2
6 --> 25 --> 23
Đánh giá tuyến đường theo giao thức DSR
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _DSR_50.tr 6 23 10
Tuyến đường từ nút 6 đến nút 23 có độ dài bằng: 4 6 --> 27 --> 18 --> 9 --> 23
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _DSR_50.tr 6 23 20
Vào 9.00000 (s) node 25 di chuyển từ: (1350.00, 1250.00, 0.00), đến: (950.00, 100.00), vận tốc:100.00 (m/s)
Tuyến đường từ nút 6 đến nút 23 có độ dài bằng: 2 6 --> 25 --> 23
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _DSR_50.tr 6 23 30
Vào 9.00000 (s) node 25 di chuyển từ: (1350.00, 1250.00, 0.00), đến: (950.00, 100.00), vận tốc:100.00 (m/s)
Tuyến đường từ nút 6 đến nút 23 có độ dài bằng: 2 6 --> 25 --> 23
Cuối cùng ta thấy với giao thức DSR cũng giống như DSDV hay AODV hay OLSR giao thức trước. Tuy nhiên kết quả mô phỏng lại khác nhau khi ta thay đổi liên kết:
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _DSR_50.tr 12 29 10
Tuyến đường từ nút 12 đến nút 29 có độ dài bằng: 8 12 --> 7 --> 44 --> 20 --> 23 --> 35 --> 33 --> 19 --> 29
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _DSR_50.tr 12 29 30
Không tìm thấy tuyến nào từ 12 đến 29 ....
Tuyến đường từ nút 12 đến nút 29 có độ dài bằng: 8 12 --> 7 --> 44 --> 20 --> 23 --> 35 --> 33 --> 19 --> 29
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _DSDV_50.tr 12 29 20
Vào 9.00000 (s) node 25 di chuyển từ: (1350.00, 1250.00, 0.00), đến: (950.00, 100.00), vận tốc:100.00 (m/s)
Vào 15.00000 (s) node 19 di chuyển từ: (1400.00, 850.00, 0.00), đến: (1300.00, 580.00), vận tốc:300.00 (m/s)
Tuyến đường từ nút 12 đến nút 29 có độ dài bằng: 6 12 --> 7 --> 44 --> 15 --> 25 --> 19 --> 29
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _DSDV_50.tr 12 29 30
Vào 6.00000 (s) node 6 di chuyển từ: (250.00, 600.00, 0.00), đến: (1450.00, 50.00), vận tốc:50.00 (m/s)
Vào 15.00000 (s) node 19 di chuyển từ: (1400.00, 850.00, 0.00), đến: (1300.00, 580.00), vận tốc:300.00 (m/s)
Tuyến đường từ nút 12 đến nút 29 có độ dài bằng: 4 12 --> 6 --> 24 --> 19 --> 29
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _AODV_50.tr 12 29 10
Tuyến đường từ nút 12 đến nút 29 có độ dài bằng: 8 12 --> 7 --> 44 --> 20 --> 23 --> 35 --> 33 --> 19 --> 29
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _AODV_50.tr 12 29 20
Vào 6.00000 (s) node 6 di chuyển từ: (250.00, 600.00, 0.00), đến: (1450.00, 50.00), vận tốc:50.00 (m/s)
Vào 9.00000 (s) node 25 di chuyển từ: (1350.00, 1250.00, 0.00), đến: (950.00, 100.00), vận tốc:100.00 (m/s)
Vào 15.00000 (s) node 19 di chuyển từ: (1400.00, 850.00, 0.00), đến: (1300.00, 580.00), vận tốc:300.00 (m/s)
Tuyến đường từ nút 12 đến nút 29 có độ dài bằng: 4 12 --> 6 --> 25 --> 19 --> 29
tannd@tannd-laptop: ~/Desktop/NS2 $ perl routerlist.pl _OLSR_50.tr 12 29 20
Vào 6.00000 (s) node 6 di chuyển từ: (250.00, 600.00, 0.00), đến: (1450.00, 50.00), vận tốc:50.00 (m/s)
Vào 9.00000 (s) node 25 di chuyển từ: (1350.00, 1250.00, 0.00), đến: (950.00, 100.00), vận tốc:100.00 (m/s)
Vào 15.00000 (s) node 19 di chuyển từ: (1400.00, 850.00, 0.00), đến: (1300.00, 580.00), vận tốc:300.00 (m/s)
Tuyến đường từ nút 12 đến nút 29 có độ dài bằng: 4 12 --> 6 --> 25 --> 19 --> 29 Bây giờ ta thấy vào cuối của thời gian mô phỏng kết quả khám phá tuyến của DSDV, DSR, AODV, OLSR lại rất khác nhau khi mà AODV và DSDV, OLSR lại tìm ra được tuyến tối ưu còn DSR thì không tìm được.
4.6. Tóm tắt chương
Chương này đã thực hiện xây dựng chương trình mô phỏng đánh giá mạng vô tuyến Ad Hoc với 50 nút tham gia kết nối mạng tác giả đã thực hiện mô phỏng các kết
nối thực hiện truyền dữ liệu dựa trên giao thức truyền có kết nối, điều khiển cửa sổ trượt TCP và giao thức truyền không kết nối UDP dựa theo mô hình truyền không đổi cbr. Sau khi mô phỏng luận văn đã trình bày biểu đồ biểu thị thông lượng trung bình của toàn mạng, điộ trễ trung bình, thăng giáng độ trễ so với độ trễ trung bình, tỷ lệ mất gói tin và liệt kê các tuyến. Từ chương trình mô phỏng này, tác giả mong muốn phần nào giải quyết được yêu cầu đặt ra của bài toán.
KẾT LUẬN
Mạng vô tuyến Ad Hoc là mạng mà các nút mạng được tổ chức một cách ngang hàng với nhau, nghĩa là trong mạng không có máy chủ, không có bộ định tuyến lên các nút mạng vừa là máy chủ, vừa là máy khách, lại vừa là bộ định tuyến, hơn nữa các nút trong mạng cần có tính tự tổ chức, tự thích ứng khi trạng thái, đồ hình mạng thay đổi như sự gia nhập mạng của nút mới, quá trình ngắt bỏ kết nối,... Hơn nữa do đặc thù của mạng Ad Hoc các nút chủ yếu sử dụng năng lượng pin để duy trì quá trình hoạt động trong mạng do vậy sử dụng giao thức định tuyến nào để hệ thống ít tốn năng lượng hoạt động hiệu quả là vấn đề cần được quan tâm.
Đề tài luận văn tốt nghiệp "Định tuyến trong mạng Ad Hoc vô tuyến" đây là