Chương 3 CÁC GIAO THỨC ĐỊNH TUYẾN CHÍNH TRONG MẠNG MANET
5.2. Các tham số mô phỏng cho thay đổi để đánh giá ảnh hưởng tới dung
5.2.1. Số nút mạng
Trong luận văn chúng tôi sử dụng hai loại cấu hình cho các nút mạng, cấu hình các nút mạng tĩnh và cấu hình các nút mạng động. Thứ nhất là cấu hình mạng tĩnh, các nút được bố trí dưới dạng lưới vuông trong vùng mô phỏng 1000x1000m với số nút thay đổi từ 5x5, 7x7, 9x9, 11x11 đến 13x13. Thứ hai là cấu hình các nút mạng động, với mỗi số nút mạng chúng tôi cho vận tốc của các nút thay đổi từ 0, 5, 10, 15 đến 20m/s. Đoạn script thực hiện việc thiết lập số nút mạng như sau:
set val(nn) 25 set val(nn) 49 set val(nn) 81 set val(nn) 121 set val(nn) 169 5.2.2. Mức độ linh động của các nút mạng
Nút di động trong NS-2 được thiết kế để di chuyển trong cấu hình mạng không gian ba chiều. Tuy nhiên, cho đến phiên bản hiện nay (version 2.35) người ta không sử dụng chiều thứ ba. Vì thế nút di động được giả thiết di chuyển trong không gian hai chiều x và y. Có hai loại mô hình ngữ cảnh để tạo sự di chuyển cho các nút di động là mô hình Random Waypoint và mô hình Random Walk.
5.2.2.1. Sử dụng mô hình chuyển động Random Waypoint
Trong luận văn chúng tôi sử dụng công cụ setdest để tạo ngữ cảnh chuyển động của nút mạng, setdest là công cụ viết trên nền C++, giúp cho người nghiên cứu tạo ra các kịch bản bao gồm vị trí ban đầu của nút di động và sự di chuyển của chúng. Trong công cụ này, tọa độ z của các nút đều được cho bằng 0 và các nút di chuyển trên cùng một mặt phẳng. Thực hiện setdest bằng cách viết lệnh như sau:
./setdest -n <num of nodes> -p <pausetime> -s <maxspeed> -t <simtime> -x <maxx> -y <maxy> > <outdir>/<scenario-file>
Ví dụ: Để tạo ra tệp ngữ cảnh 25 nút, các nút chuyển động với vận tốc lớn nhất là 5m/s chúng tôi thực hiện lệnh như sau:
5.2.2.2. Sử dụng mô hình chuyển động Random Walk
Trong luận văn chúng tôi sử dụng chương trình Palm Calulus để tạo tệp ngữ cảnh theo mô hình Random Walk. Cấu trúc lệnh như sau:
./rwall 3 <number of nodes> <max –x> <max -y> <end time> <speed mean> <spead delta> <pause time> <pause time>[<travel time> <travel time delta>]
Ví dụ: Để tạo ra tệp ngữ cảnh 25 nút, các nút chuyển động với vận tốc 5m/s chúng tôi thực hiện lệnh như sau:
./rwall 3 25 1000 1000 600 5.0 0.0 0 0 5 0.1> scen_rw_25_static_5ms
5.3. Các tham số khác liên quan đến mô phỏng
5.3.1. Thời gian mô phỏng cần thiết
Quá trình mô phỏng diễn ra trong thời gian t = 600s = 10 phút. Đây là khoảng thời gian vừa đủ để chúng ta nghiên cứu các sự kiện xảy ra trong mạng. Thật vậy do các nút mạng di chuyển với vận tốc từ [0m/s – 20m/s] nên ta giả sử nút di chuyển với tốc độ gần như là thấp nhất thì quãng đường đi được sau 600s cũng lên tới 3000m.
S = v.t = 5 x 600 = 3000m
Với thời gian như vậy đủ để nút chậm nhất di chuyển ra ngoài vùng thu phát sóng của nút khác (radio range = 250m) và làm cho tô-pô mạng thay đổi. Quá trình đó cũng thể hiện rõ các tính chất đặc trưng của các mô hình chuyển động khác nhau:
Random Waypoint: Mô hình này tuy các nút có thêm các khoảng thời gian tạm dừng trước khi thay đổi hướng và tốc độ chuyển động nhưng thời gian tạm dừng này là rất nhỏ so với thời tổng toàn bộ thời gian mô phỏng. Do đó với 600s các nút mạng vẫn đủ thời gian để đạt được quãng đường di chuyển cần thiết tạo ra các thay đổi khác nhau đối với tô-pô mạng.
Random Walk: Mô hình này các nút di chuyển liên tục, không có thời gian tạm dừng nên đương nhiên với thời gian mô phỏng 600s là đủ để đánh giá các giao thức định tuyến khi tô-pô mạng thay đổi liên tục.
5.3.2. Dạng lưu lượng đưa vào mạng
Do mạng MANET có cấu hình động, các liên kết với dung lượng luôn thay đổi, băng tần hạn chế, các nút có năng lượng thấp, bảo mật hạn chế. Do đó khi phân tích, đánh giá dung lượng của mạng MANET ta cần phân tích dạng lưu lượng đưa vào trong mạng:
Trong luận văn chúng tôi sử dụng bộ tạo lưu lượng CBR – cbrgen tích hợp sẵn trong bộ mô phỏng NS2 và chúng tôi sử dụng cả hai dạng nguồn sinh lưu lượng là
CBR (vận chuyển bởi giao thức UDP) và FTP (vận chuyển bởi giao thức TCP). Số kết nối chúng tôi tạo ra là n/2 (n là số nút mạng), tốc độ truyền là 4 packet/s. Câu lệnh tạo tệp như sau:
ns cbrgen.tcl [-type cbr|tcp] [-nn nodes] [-seed seed] [-mc connections] [-rate rate] > <outdir>/<scenario-file>
Ví dụ: với n=25 chúng tôi tạo nguồn sinh lưu lượng như sau:
ns cbrgen.tcl -type cbr -nn 25 -seed 1.0 -mc 12 – rate 4.0>luu_luong_25_static
5.3.3.Các tham số khác
Diện tích mô phỏng
Chúng tôi sử dụng vùng mô phỏng 1000x1000m với đoạn mã sau: set val(x) 1000
set val(y) 1000
Băng thông
Trong toàn bộ quá trình mô phỏng mạng chúng tôi sử dụng băng thông của các kết nối mạng (không dây) là 2Mbps với đoạn mã sau:
set opt(bw) 2Mb
Radio Range
Trong toàn bộ quá trình mô phỏng mạng chúng tôi sử dụng phạm vi gửi/nhận tin cậy (radio scope) của các nút mạng là 250m với đoạn mã sau:
set nominal_range 250.0
5.4. Đánh giá sự phụ thuộc của dung lƣợng mạng vào số nút mạng, trƣờng hợp các nút không chuyển động
Trong luận văn, trước tiên chúng tôi mô phỏng, phân tích và đánh giá dung lượng của mạng ad hoc tĩnh với số nút mạng thay đổi trong vùng mô phỏng là 1000x1000m. Chúng tôi bố trí các nút mạng dưới dạng lưới vuông ở năm mức khác nhau là 5x5, 7x7, 9x9, 11x 11 và 13x13 nút, do đó khi số nút trong mạng tăng lên thì khoảng cách giữa các nút trong mạng là giảm dần. Trường hợp lưới nút mạng thấp nhất là 5x5 thì vẫn đảm bảo khoảng cách giữa các nút mạng là nằm trong phạm vi phủ sóng 250m.
Hình 5.1. Lưới 5x5 nút mạng.
Quá trình mô phỏng được thực hiện trên bộ mô phỏng NS2 phiên bản 2.34 bằng các script mô phỏng, trong đó mỗi script định nghĩa một ngữ cảnh mô phỏng với số nút, khoảng cách giữa các nút mạng (trong trường hợp số các nút mạng tăng lên), vị trí của mỗi nút mạng và giao thức sử dụng là khác nhau.
Để đánh giá dung lượng của mạng chúng tôi thiết lập thời gian mô phỏng với các topo mạng khác nhau cùng là 600 giây, tốc độ gửi là 4Mbps và kích thước của mỗi gói tin là 512 byte. Tất cả các chi tiết về tham số mô phỏng được cho dưới bảng 5.1.
Tham số mô phỏng Giá trị
Số nút 5x5, 7x7, 9x9, 11x11, 13x13 Kích thước mô phỏng 1000m x 1000m
Phạm vi truyền sóng 250m
Băng thông (Mbps) 2
Kích thước gói tin 512
Tốc độ truyền (packet/s) 4
Dạng truyền thông CBR, TCP
Số lượng nguồn phát n/2
Thời gian tạm dừng 0
Giao thức định tuyến DSR, AODV Thời gian mô phỏng 600s = 10 phút
Hình 5.2. Thông lượng của mạng khi số nút mạng thay đổi.
Dựa vào đồ thị hình 5.2 ta dễ dàng nhận thấy khi số nút mạng tăng từ 5x5 đến 11x11 nút thì thông lượng của mạng tăng lên tuyến tính rất nhanh đối với cả hai giao thức định tuyến AODV và DSR trong trường hợp sử dụng cả hai nguồn lượng là CBR và FTP. Tuy nhiên khi số nút mạng tăng từ 11x11 đến 13x13 nút thì dung lượng của mạng không còn tăng tuyến tính nữa mà có xu hướng tăng theo hàm log.
Hình 5.3. Chuỗi 6 nút mạng (nút 1 là nguồn, nút 6 là đích).
Thật vậy, khi tăng số nút mạng lên 13x13 nút trong khi vùng mô phỏng là hằng số thì thông lượng của mạng bị bão hòa (không tăng). Khi số nút mạng tăng lên đồng nghĩa với việc khoảng cách giữa các nút mạng giảm dần, dẫn đến giao thoa giữa các nút mạng xảy ra nhiều hơn, khi đó thông lượng được gửi từ các nút nguồn đến các nút đích cũng sẽ bị giảm dần. Qua mô hình 6 nút mạng bố trí theo chuỗi hình 5.3 ta có giải thích chi tiết hơn kết quả trên:
Trong hình 5.3 ta có chuỗi 6 nút mạng, mỗi nút mạng được bố trí cách nhau 200m, vùng phủ sóng (radio range) là 250m nhưng vùng giao thoa là 550m. Ta cho nút 1 là nút nguồn và nút 6 là nút đích thì ta có các phân tích sau: nút 1 và nút 2 không thể truyền trong cùng một thời gian vì nút 2 không thể vừa nhận và vừa gửi cùng lúc. Nút 1 và nút 3 không thể truyền cùng thời gian vì nút 2 không thể nghe được cả nút 1 và nút 3 đồng thời. Nút 1 và nút 4 có thể truyền cùng thời gian nhưng gói dữ liệu truyền từ nút 4 sẽ bị giao thoa với gói RTS của nút 1 gửi cho nút 2. Đây chính là một điểm
quan trọng của số nút mạng ứng với vùng mô phỏng và do đó khi tăng số nút mạng lên một giá trị đủ lớn nào đó thì thông lượng của mạng sẽ bị bão hòa và tuân theo quy luật hàm số log.
Qua hình 5.2 ta cũng nhận thấy khi số lượng nút mạng được bố trí cố định dưới dạng lưới vuông như phân tích trên thì thông lượng đạt được của mạng khi sử dụng giao thức AODV là lớn hơn so với thông lượng mạng khi sử dụng giao thức DSR. Kết quả này do chi phí định tuyến của giao thức AODV ít hơn so với giao thức DSR.
5.5. Đánh giá sự phụ thuộc của dung lƣợng mạng vào số nút mạng, trƣờng hợp các nút mạng chuyển động theo mô hình Random Waypoint
Đối với mô hình Random Waypoint, chúng tôi xây dựng mạng mô phỏng gồm 25, 49, 81, 121 và 169 nút di động, hình thành nên một mạng ad hoc. Các nút này di chuyển trong một khu vực địa lý rộng 1000m x 1000m (không gian phẳng). Thời gian tạm dừng của mỗi nút trước khi di chuyển là 0s. Toạ độ của các nút tại mỗi thời điểm là (x, y, z), trong đó tọa độ z = 0. Thời gian mô phỏng là 600 giây.
Tham số mô phỏng Giá trị
Số nút 25, 49, 81, 121, 169
Kích thước mô phỏng 1000m x 1000m
Phạm vi truyền sóng 250m
Băng thông (Mbps) 2
Kích thước gói tin 512
Tốc độ truyền (packet/s) 4
Dạng truyền thông CBR
Số lượng nguồn phát n/2
Tốc độ di chuyển của nút 0, 5, 10, 15, 20m/s
Giao thức định tuyến DSR, AODV
Thời gian mô phỏng 600s = 10 phút
Bảng 5.2. Các tham số mô phỏng mạng theo mô hình Random Waypoint
Do các nút mạng di chuyển một cách ngẫu nhiên trong vùng mô phỏng nên với mỗi tệp vết sinh ra chúng tôi đã thu được một giá trị thông lượng riêng. Để kết quả đạt độ chính xác cao hơn, ứng với mỗi vận tốc 5, 10, 15 và 20, chúng tôi tạo 5 tệp mẫu di chuyển khác nhau, sau đó lấy giá trị trung bình của 5 giá trị đó. Như vậy, tổng số tệp vết được tạo ra là: 2 (mô hình di chuyển) x 2 (giao thức định tuyến) x 5 (lần thay đổi số nút mạng) x 4 (vận tốc) x 5 (kiểu tệp mẫu di chuyển) = 400 tệp vết (*.tr). Sai số từ các tệp vết là khoảng 97,5%. Từ những tệp vết thu được ta dùng các script perl để thu thập dữ liệu và đưa kết quả vào bảng, sau đó dùng Gnuplot để vẽ đồ thị.
Hình 5.4. Thông lượng của mạng khi vận tốc của nút mạng thay đổi giao thức AODV – mô hình Random Waypoint
Hình 5.5. Thông lượng của mạng khi vận tốc của nút mạng thay đổi giao thức DSR – mô hình Random Waypoint
Qua đồ thị hình 5.4 và hình 5.5, trong cả hai giao thức định tuyến AODV (hình 5.4) và DSR (hình 5.5) thì khi số nút mạng là hằng số, vận tốc của các nút mạng tăng từ 0 đến 20 m/s ta thấy thông lượng của mạng ngày càng giảm và có xu hướng tiệm cận với trục hoành. Với mỗi cấu hình số nút mạng, thông lượng của mạng giảm nhanh khi tốc độ di chuyển của các nút mạng tăng từ 0m/s (trường hợp các nút mạng đứng yên) đến 5m/s và giảm từ từ khi tốc độ di chuyển của các nút mạng tăng từ 5m/s đến 20m/s. Qua hai đồ thị trên ta cũng nhận thấy mật độ các nút trong mạng càng cao thì khi cho các nút mạng di chuyển, thông lượng của mạng càng giảm nhiều hơn. Điều này là do các nút mạng di chuyển liên tục trong mạng dẫn đến tải định tuyến của mạng tăng lên, các gói tin định tuyến và trả lời định tuyến đã chiếm dụng hết băng thông của đường truyền.
Hình 5.6. Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường hợp 25 nút mạng – mô hình Random Waypoint
Hình 5.7. Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường hợp 49 nút mạng – mô hình Random Waypoint
Hình 5.8. Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường hợp 81 nút mạng – mô hình Random Waypoint
Hình 5.9. Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường hợp 121 nút mạng – mô hình Random Waypoint
Hình 5.10. Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường hợp 169 nút mạng – mô hình Random Waypoint
Từ các kết quả mô phỏng được trình bày bằng đồ thị trên các hình từ 5.6 đến 5.10, ta có thể đánh giá giao thức AODV đạt thông lượng tốt hơn giao thức DSR trong trường hợp khi số các nút mạng thay đổi từ 25 nút đến 169 nút. Những cải tiến từ DSR giúp AODV hoạt động tốt hơn, cụ thể là AODV dựa vào thiết lập động các bảng định tuyến ở các nút trung gian, điều này làm giảm rất nhiều tải định tuyến chuẩn hóa so với việc truyền từng gói tin dữ liệu chứa các tuyến đường nguồn trong tiêu đề như trong DSR. Có hai nguyên nhân: Một là, DSR là giao thức phản ứng dựa trên định tuyến nguồn; hai là, trong bộ mô phỏng ns-2.34 thời gian giữa các ROUTE REQUEST được phát lại chỉ là 500 ms trong khi thời gian giữ các gói tin chờ đường là 30s dẫn đến số lượng gói tin ROUTE REQUEST là rất lớn, điều này lý giải cho vấn đề thông lượng thấp của DSR. Còn đối với AODV, đây là giao thức định tuyến phản ứng dựa trên véc tơ khoảng cách với các bảng định tuyến của các nút hàng xóm được tổ chức để tối ưu hóa thời gian phản ứng các di chuyển cục bộ và cung cấp thời gian phản ứng
nhanh cho các yêu cầu thành lập tuyến đường mới. Chính sự linh hoạt này đã khiến AODV hoạt động ổn định, hiệu quả kể cả khi vận tốc các nút tăng.
5.6. Đánh giá sự phụ thuộc của dung lƣợng mạng vào số nút mạng, trƣờng hợp các nút mạng chuyển động theo mô hình Random Walk
Đối với mô hình Random Walk, chúng tôi cũng xây dựng mạng mô phỏng gồm 25, 49, 81, 121, 169 nút di động, hình thành nên một mạng ad hoc. Các nút này di chuyển trong một khu vực địa lý rộng 1000m x 1000m (không gian phẳng). Do các nút mạng di chuyển liên tục trong vùng mô phỏng lên thời gian tạm dừng của nút bằng không. Toạ độ của các nút tại mỗi thời điểm là (x, y, z), trong đó tọa độ z = 0. Thời gian mô phỏng là 600 giây.
Tham số mô phỏng Giá trị
Số nút 25, 49, 81, 121, 169
Kích thước mô phỏng 1000m x 1000m
Phạm vi truyền sóng 250m
Băng thông (Mbps) 2
Kích thước gói tin 512
Tốc độ truyền (packet/s) 4
Dạng truyền thông CBR
Số lượng nguồn phát n/2
Tốc độ di chuyển của nút 0, 5, 10, 15, 20m/s
Giao thức định tuyến DSR, AODV
Thời gian mô phỏng 600s = 10 phút
Bảng 5.3. Các tham số mô phỏng mạng theo mô hình Random Walk
Hình 5.11. Thông lượng của mạng khi vận tốc của nút mạng thay đổi giao thức AODV – mô hình Random Walk
Hình 5.12. Thông lượng của mạng khi vận tốc của nút mạng thay đổi giao thức DSR – mô hình Random Walk
Cũng giống như mô hình Random Waypoint, qua đồ thị hình 5.11 và hình 5.12, trong cả hai giao thức định tuyến AODV (hình 5.11) và DSR (hình 5.12) thì khi số nút mạng là hằng số, vận tốc của các nút mạng tăng từ 0 đến 20 m/s ta thấy thông lượng của mạng ngày càng giảm và có xu hướng tiệm cận với trục hoành. Với mỗi cấu hình