Vị trí ban đầu của các nút đƣợc khởi tạo ngẫu nhiên nhƣ vậy nhằm làm tăng tính khách quan trong quá trình mô phỏng.
Tổng quan về mạng mô phỏng với các tham số cấu hình chung, cấu hình di chuyển và cấu hình truyền dữ liệu đƣợc thể hiện trong bảng 3-3.
Bảng 3-3: Cấu hình mạng mô phỏngg Giá trị g Giá trị Cấu hình chung Khu vực địa lý 1500x900 Tổng số nút 50 nút Vùng thu phát sóng 250m Cấu hình di chuyển Tốc độ di chuyển nhanh nhất 30 m/s 180 km/h Tốc độ di chuyển chậm nhất 0 m/s Đứng yên
Cấu hình truyền dữ liệu
Số nguồn phát 10 nguồn, nằm trên 8 nút mạng: 4, 5, 7, 12, 15, 16, 18, 19
Thực thể nhận 8 nút mạng: 5, 6, 8, 13, 16, 17, 19, 20
Kích thƣớc gói tin 512 bytes
Kiểu – Kích thƣớc hàng đợi DropTail - 50
3.5.2 Thiết lập tham số của mô hình chuyển động của các nút mạng và thời gian mô phỏng gian mô phỏng
a. Mô hình Random WayPoint
NS-2 hỗ trợ một số công cụ để tạo ra các file ngữ cảnh một cách tự động và ngẫu nhiên. Các công cụ này nằm trong thƣ mục: …/ns-2/indep-utils/cmu-scen-gen
• 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ảnbao 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, chúng ta coi tọa độ z của các nút đều bằng 0 và các nút di chuyểntrên cùng một mặt phẳng. Thực hiện setdest bằng cách gõ lệnh nhƣ sau:
./setdest –v 1 -n <num of nodes> -p <pausetime> -M<maxspeed> -t <simtime> -x <maxx> -y <maxy>><outdir>/<scenario-file>
-v: phiên bản loại 1, -n : số lƣợng nút,-p: thời gian tạm dừng thực hiện mô phỏng, - M tốc độ lớn nhất, -t thời gian toàn bộ thực hiện mô phỏng, -x tọa độ X của không gian mô phỏng, -y tọa độ Y của không gian mô phỏng, scenario-file: ten file kết xuất.
./setdest -v <2> -n < nodes> -s <speed_type> -m <min_speed> -M <max_speed> -t<simulation_time> -P <pause_type> -p <pause_time> -x <max X> -y <max Y>
Trong đó: -v: version; -n: số tham gia mô phỏng nút; -P: kiểu thời gian tạm dừng; -p: thời gian tạm dừng; -m: vận tốc di chuyển nút nhỏ nhất; -M: vận tốc di chuyển nút tối đa; -t: thời gian mô phỏng; -x: chiều X vùng mô phỏng; -y: chiều Y vùng mô phỏng.
b. Mô hình Random Walk
Để tạo các tệp di chuyển nút di động với mô hình Random Walk tôi dùng công cụ rwalk đƣợc mô tả chi tiết tại [7]. Tiến hành tải mã của chƣơng trình tại
http://monarch.cs.rice.edu/~santa/research/mobility/code.tar.gz rồi giải nén ra ta sẽ thấy ba thƣ mục là palm-general, palm-graph và palm-rw. Tiếp đến ta chuyển vào thƣ mục palm-rw rồi tiến hành gõ lệnh make, chƣơng trình rwalk sẽ đƣợc cài đặt. Thực hiện rwall bằng cách gõ lệnh nhƣ sau:
./rwall 3 <number of nodes><max -x><max -y><end time><speed mean><speed delta><pause time><pause time delta>
Trong đó: <number of nodes>: số nút tham gia mô phỏng; <max–x>: chiều X vùng mô phỏng; <max–y>: chiều Y vùng mô phỏng; <end time>: thời gian mô phỏng; <speed mean>: vận tốc nút; <speed delta>: vận tốc delta; <pause time>: thời gian tạm dừng; <pause time delta>: thời gian tạm dừng delta
3.5.3 Thiết lập các nguồn sinh lƣu lƣợng đƣa vào mạng
• cbrgen.tcl: Là công cụ viết bằng ngôn ngữ tcl, sử dụng thông qua bộ thông dịch ns-2,giúp ngƣời nghiên cứu có thể tạo ra các kịch bản truyền thông trên nền giao thức giao vận TCP. Câu lệnh:
ns cbrgen.tcl [-type cbr|tcp] [-nn nodes] [-seed seed] [-mc connections] [-rate rate] ><outdir>/<scenario-file>
Trong đó: -type: kiểu lƣu lƣợng kết nối cbr hay tcp; -nn: số lƣợng nút; -seed: giá trị seed; -mc: số lƣợng kết nối; -rate: vận tốc nút; -outdir: đƣờng dẫn đến thƣ mục chứa tệp cần tạo; -file_name: tên tệp lƣu lƣợng
Sử dụng các công cụ này giúp ngƣời nghiên cứu tạo ra các kịch bản truyền thông cũngnhƣ di chuyển của mạng với số lƣợng các nút di động là tƣơng đối lớn. Tuy nhiên việc tạo ra các kịch bản này là ngẫu nhiên, có thể không theo ý muốn của ngƣời nghiên cứu, nên trong nhiều trƣờng hợp ngƣời nghiên cứu phải tự viết ra các kịch bản truyền thông có ý nghĩa mô phỏng điển hình.
3.5.4 Lựa chọn thời gian mô phỏng
Quá trình mô phỏng diễn ra trong thời gian t = 900s = 15 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 – 30m/s] nên ta giả sử nút di chuyển với tốc độ
gần nhƣ là thấp nhất ứng với ngƣời đi bộ là 1m/s thì quãng đƣờng đi đƣợc sau 900s cũng lên tới 900m.
S = v.t = 1 x 900 = 900m
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 900s các nút mạng vẫn đủ thời gian để đạt đƣỡng 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 900s là đủ để đánh giá các giao thức định tuyến khi tô-pô mạng thay đổi liên tục.
CHƢƠNG 4: MÔ PHỎNG 4.1 Các độ đo hiệu năng đƣợc dùng trong luận văn
Theo nghĩa chung, hiệu năng là một độ đo công việc mà một hệ thống thực hiện đƣợc. Hiệu năng chủ yếu đƣợc xác định bởi tính sẵn sàng để dùng, thông lƣợng và thời gian đáp ứng. Trong mạng Adhoc, các giới hạn về tài nguyên mạng yêu cầu các giao thức bên cạnh các yếu tố hiệu suất nêu trên cần đảm bảo việc dùng hiệu quả các tài nguyên hạn chế này. Với các giao thức định tuyến, đó chính là chi phí để thực hiện các yêu cầu định tuyến đƣợc thể hiện bởi mức tải định tuyến.
Do vậy, chúng tôi sử dụng các độ đo sau để đánh giá hiệu quả các giao thức định tuyến trong các mạng mô phỏng:
Phần trăm gói tin đƣợc phân phát thành công (Packet delivery fraction):Là tỷ lệ giữa số các gói tin đƣợc phân phát thành công tới đích so với số các gói tin tạo ra bởi nguồn phát.
Trễ đầu cuối trung bình của các gói dữ liệu (Average end to end data packet delay): Là độ trễ toàn phần đƣợc tính từ khi gói tin phát đi từ ứng dụng phát cho tới khi đƣợc nhận bởi ứng dụng nhận bao gồm các trễ có thể nhƣ trễ do quá trình phát hiện đƣờng, xếp hàng tại các hàng đợi, trễ phát lại tại tầng MAC, và thời gian trễ truyền.
Thông lƣợng dữ liệu đầu cuối (End-to-end data throughput): Tổng số dữ liệu của các gói tin tạo bởi mọi nguồn đo đƣợc trong một khoảng thời gian mô phỏng, tính bằng kbit/s.
Tải định tuyến chuẩn hóa (Normalized Routing Load): Là tỷ lệ giữa số các gói tin định tuyến trên số gói tin dữ liệu đƣợc phân phát thành công. Nếu gói tin định tuyến đi qua nhiều chặng thì mỗi chặng đƣợc tính nhƣ một lần truyền thông. Hai độ đo đầu đánh giá kết quả làm việc của các giao thức. Các độ đo này có ý nghĩa đối với hoạt động của các giao thức lớp trên nhƣ các giao thức giao vận và các giao thức ứng dụng. Độ đo tải định tuyến chuẩn hóa thể hiện việc sử dụng các tài nguyên mạng.
4.2 Thực nghiệm mô phỏng
4.2.1 Thiết lập giá trị cho các thông số mô phỏng
Mạng MANET có những đặc điểm là: cấu hình mạng động, các liên kết với dung lƣợng thay đổi - băng tần hạn chế, các nút có năng lƣợng thấp và bảo mật vật lý hạn chế. Do đó, khi phân tích hiệu suất các giao thức định tuyến ADHOC ta cần xem xét một số tham số của ngữ cảnh mạng nhƣ sau:
Kích thƣớc mạng: đƣợc thể hiện bằng kích thƣớc diện tích mô phỏng và số nút trong mạng.
Kết nối mạng: đƣợc thể hiện bằng số trung bình các hàng xóm của một nút. Tốc độ thay đổi mạng: là tốc độ thay đổi tô-pô của mạng theo thời gian.
Khả năng của liên kết: là băng thông của liên kết không dây, đƣợc tính bằng bps. Dạng truyền thông: đƣợc thể hiện bằng các mức độ tải trong mạng, có thể là
đồng dạng, không đồng dạng hoặc bùng phát.
Dạng di chuyển: đƣợc thể hiện các mô hình chuyển động cụ thể.
Mục đích các thí nghiệm của tôi là đánh giá khả năng của các giao thức định tuyến trong việc phản hồi lại các thay đổi cấu hình mạng gây ra bởi sự di động của các nút mạng. Phƣơng pháp của tôi là áp dụng nhiều dạng di chuyển với vận tốc chuyển động của các nút khác nhau. Các mạng Adhoc mô phỏng đƣợc xây dựng dựa trên các mô hình di chuyển và mô hình truyền thông. Đối với mô hình di chuyển, chúng tôi sử dụng hai mô hình tiêu biểu Random Waypoint và Random Walk thể hiện các dạng di chuyển khác nhau đƣợc mô tả trong phần 3.3. Đối với mỗi mô hình, chúng tôi thay đổi các giá trị tham số để thay đổi các trạng thái của mạng nhƣ vận tốc chuyển động của các nút mạng, lần lƣợt là 0, 5, 10, 15, 20, 25, 30 m/s.
Khi so sánh các giao thức định tuyến, để đảm bảo tính công bằng, điều quan trọng là phải áp dụng các điều kiện tải và môi trƣờng giống nhau với từng giao thức. Chính vì vậy, với mỗi mô hình di chuyển tôi xây dựng các file ngữ cảnh mô tả chính xác chuyển động của mỗi nút cùng với thời gian diễn ra sự thay đổi của nút. Còn đối với các mô hình truyền thông, các file ngữ cảnh truyền thông đƣợc tạo ra thể hiện chính xác các kết nối giữa các nút và thời gian các truyền thông này diễn ra. Do đó, tập các file ngữ cảnh chuyển động và truyền thông giống nhau đƣợc áp dụng cho từng giao thức.
Trong tất cả các thí nghiệm, tôi lựa chọn mô hình truyền thông là nguồn sinh lƣu lƣợng với tốc độ không đổi CBR (Constant Bit Rate). Tôi không sử dụng các mô hình truyền thông là các ứng dụng mô phỏng sử dụng TCP để gửi các gói tin. Vì TCP điều phối tải theo tình trạng mạng, có nghĩa là thời gian gửi gói tin thay đổi dựa trên khả năng truyền tải hiện tại của mạng. Do vậy, thời gian mỗi gói tin đƣợc tạo ra tại bên gửi và vị trí của nút khi gửi các gói tin sẽ khác nhau giữa các giao thức do vậy khó có thể thực hiện các so sánh giữa các giao thức với nhau. Lần lƣợt áp dụng các giao thức AODV, DSDV vào các ngữ cảnh mạng khác nhau. Bộ mô phỏng ghi nhận lại các hoạt động mạng diễn ra tại các lớp. Từ các ghi nhận này, ta đánh giá khả năng làm việc của các giao thức, chủ yếu là trên lớp ứng dụng và lớp mạng. Các thí nghiệm và các đánh giá đƣợc thể hiện trong các phần sau bao gồm thí nghiệm với mô hình Random Waypoint và thí nghiệm với mô hình Random Walk.
4.2.2 Xây dựng và thi hành chƣơng trình mô phỏng:
Chƣơng trình mô phỏng của tôi đƣợc đặt tên là: nguyenthanhtrung-83.tcl, đƣợc trình bày tại phụ lục.
Tôi đã cho thi hành chƣơng trình mô phỏng nhƣ sau: Ns nguyenthanhtrung-83.tcl
Kết xuất thông tin ra tệp aodv-cbr10-scenv5-out.tr để phân tích bằng các script perl nhƣ sau:
perl average_end-end_delay.pl aodv-cbr10-scenv5.tr 5>>average_end-end_delay.data perl normalized_routing_overhead.pl aodv-cbr10-scenv5.tr 5 >>normalized_routing_overhead.data
perl packet_delivery_fraction.pl aodv-cbr10-scenv5.tr 5 >> packet_delivery_fraction.data
perl throughput.pl aodv-cbr10-scenv5.tr 5>> throughput.data. Kết quả nhận đƣợc lƣu trong các file sau:
average_end-end_delay.data normalized_routing_overhead.data packet_delivery_fraction.data throughput.data
4.3 Phân tích số liệumô phỏng và đánh giá, so sánh các giao thức định tuyến AODV, DSDV tuyến AODV, DSDV
4.3.1 Kết quả thực hiện
4.3.1.1 Đánh giá, so sánh tỷ lệ phân phát gói tin thành công theo tốc độ chuyển động tăng dần của các nút mạng chuyển động tăng dần của các nút mạng
Tôi đã thực hiện chƣơngtrình mô phỏng mạng gồm 50 nút di động theo 2 mô hình Random Waypoint và Random Walk với 10 nguồn sinh lƣu lƣợng gắn trên 10 nút mạng khác nhau, truyền dữ liệu tới 10 nút khác (chƣơng trình mô phỏng đƣợc trình bày ở phụ lục 1). Sau đó tôi đã dùng đoạn mã Perl (trình bày ở phụ lục 4) phân tích số liệu mô phỏng để nhận đƣợc kết quả là tỉ lệ phân phát gói tin thành công, kết quả trình bày trên Bảng 4.1 và 4.2. Kết quả trong bảng đƣợc trình bày dƣới dạng đồ thị bằng công cụ Gnuplot, nhƣ trên hình 4.1 và 4.2
a. Mô hình Random Waypoint
Bảng 4-1: Bảng dữ liệu tỷ lệ phân phát gói tin thành công với mô hình RandomWaypoint
Vận tốc AODV DSDV 0 99.9911845082455 100 5 98.2857478902643 78.6427086437 10 95.6026249487315 75.6468654367 15 88.9228778163421 65.6578908653 20 93.6444915005976 78.7443256009 25 88.684790595150 74.9765489074 30 86.967526653708 59.7654689976
Nhận xét:
Hình 4-1 thể hiện tỷ lệ phân phát gói tin thành công với các nút mạng chuyển động theo mô hình Random Waypoint với 10 nguồn phát. Khi các nút mạng không chuyển động (vận tốc bằng 0), tỉ lệ phân phát gói tin thành công của cả hai giao thức là nhƣ nhau và đều xấp xỉ bằng 100%. Khi các nút mạng chuyển động với các vận tốc khác nhau, giao thức AODV đều có tỉ lệ phân phát gói tin cao hơn. Trong miền các giá trị vận tốc mà tôi khảo sát, tỉ lệ phân phát gói tin thành công tính trung bình là 92% đối với AODV và 72,3% đối với DSDV. Nhìn chung, cả hai giao thức đều hoạt động khá tốt khi các nút mạng đứng yên hoặc chuyển động với vận tốc thấp, khoảng dƣới 3m/s, khi đó tỷ lệ rớt gói là khá nhỏ, không quá 15%.
b. Mô hình Random Walk
Bảng 4-2: Bảng dữ liệu tỷ lệ phân phát gói tin thành công với mô hình RandomWalk
Vận tốc (m/s) AODV (%) DSDV(%) 0 99.9943453456899 100 5 65.7304572457025 38.545634578056 10 81.4535624957920 43.558964826589 15 70.5493458794837 37.583459904579 20 71.9576544328579 36.568937995476 25 67.7894362956899 18.578945648886 30 69.86402364234545 19.4667437456362
Nhận xét:
Với mô hinh Radom Walk, tỷ lệ phân phát gói tin thành công đƣợc thể hiện trong hình 4-2. Hai giao thức cũng có tỷ lệ phân phát gói tin thành công nhìn chung là giảm dần khi tốc độ chuyển động của các nút mạng tăng lên; So với trƣờng hợp trên - các nút chuyển động theo mô hình Random Waypoint, thì tỉ lệ phân phát gói tin thành công của AODV và DSDV ứng với các tốc độ cụ thể là thấp hơn; ngoài ra, tỉ lệ phân phát gói tin thành công của giao thức DSDV giảm nhanh hơn theo sự tăng của vận tốc chuyển động của các nút mạng. Hiện tƣợng trên là do khi áp dụng mô hình chuyển động Random Walk, mặc dù tham số vận tốc chuyển động đƣợc thiết lập giống nhƣ với mô hình chuyển động Random Waypoint, nhƣng thực tế các nút mạng linh động hơn, không có các khoảng thời gian tạm dừng.
4.3.1.2 Đánh giá, so sánh trễ đầu cuối trung bìnhtheo tốc độ chuyển động tăng dần của các nút mạng tăng dần của các nút mạng
Tôi đã thực hiện chƣơng trình mô phỏng mạng gồm 50 nút di động theo 2 mô hình Random Waypoint và Random Walk với 10 nguồn sinh lƣu lƣợng gắn trên 10 nút mạng khác nhau, truyền dữ liệu tới 10 nút khác (chƣơng trình mô phỏng đƣợc trình bày ở phụ lục 1). Sau đó tôi đã dùng đoạn mã Perl (trình bày ở phụ lục x) phân tích số liệu mô phỏng để nhận đƣợc kết quả là trễ đầu cuối trung bình, kết quả trình bày trên Bảng 4.3 và 4.3. Kết quả trong bảng đƣợc trình bày dƣới dạng đồ thị bằng công cụ Gnuplot, nhƣ trên hình 4.3 và 4.3.
Bảng 4-3: Bảng dữ liệu độ trễ đầu cuối trung bình với mô hình Random Waypoint Vận tốc (m/s) AODV DSDV 0 0.00654535963 0.085437658934 5 0.08335524678 0.388349620476 10 0.08945784628 0.378683468264 15 0.29857345738 0.514347629478 20 0.12445765804 0.424856294658