7. Bố cục của luận văn
3.2.3. Các bước viết mã tcl để thực thi mô phỏng mạng wireless:
- Bƣớc 1: Thiết lập mô phỏng và xác định các h ng số. [1]
Bước đầu tiên của mô phỏng là định nghĩa các tham số môi trường vật lý không dây và khởi tạo mô phỏng
# Định nghĩa lớp vật lý
set val(chan) Channel/WirelessChannel set val(prop) Propagation/TwoRayGround set val(netif) Phy/WirelessPhy
set val(mac) Mac/802_11
set val(ifq) Queue/DropTail/PriQueue
set val(ll) LL
set val(ant) Antenna/OmniAntenna
# Các tham số kịch bản
set val(x) 2000;# X dimension of the topography set val(y) 2000;# Y dimension of the topography set val(ifqlen) 100;# max packet in queue
set val(seed) 0.0;# random seed set val(adhocRouting) [routing protocol]
set val(nn) [no. of nodes];# number of nodes set val(cp) [traffic pattern file]
set val(sc) [mobility scenario file]
set val(stop) [simulation duration];# simulation time - Bƣớc 2: Tạo một thể hiện mô phỏng
set ns_ [new Simulator]
- Bƣớc 3: Tạo đối tượng kiến trúc mạng lưu vết của tất cả các nút trong phạm vi set topo [new Topography]
- Bƣớc 4: Tạo các file lưu vết
set tracefd [open output trace file name w] $ns_ use-newtrace
set namtrace [open nam trace file name w] $ns_ trace-all $tracefd
$ns_ namtrace-all-wireless $namtrace $val(x) $val(y) - Bƣớc 5: Định nghĩa kiến trúc mạng
$topo load_flatgrid $val(x) $val(y) - Bƣớc 6: Tạo đối tượng GOD
- Bƣớc 7: Cấu hình nút.
$ns_ node-config -adhocRouting $val(adhocRouting) \ -llType $val(ll) \ -macType $val(mac) \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \ -antType $val(ant) \ -propType $val(prop) \ -phyType $val(netif) \ -channelType $val(chan) \ -topoInstance $topo \ -agentTrace ON \ -routerTrace ON \ -macTrace ON
M c định, một nút được xác định là nút unicast. Nếu có một giao thức multicast được yêu cầu, thì phải khai báo cụ thể như sau:
set ns [new Simulator -multicast on] - Bƣớc 8:Tạo các nút di chuyển ngẫu nhiên.
for {set i 0} {$i < $val(nn) } {incr i} { set node_($i) [$ns_ node]
$node_($i) random-motion 0 ;# disable random motion }
- Bƣớc 8:Thiết lập vị trí ban đầu cho nút for {set i 0} {$i < $val(nn) } {incr i} { $node_($i) set X_ [x1]
$node_($i) set Y_ [y1] $node_($i) set Z_ [z1] }
- Bƣớc 9:Thiết lập nút di chuyển
$ns_ at 0.1 “$node_(1) setdest 25.0 20.0 20.0”
- Bƣớc 10: Thiết lập luồng truyền tải giữa các nút (đoạn mã sau thiết lập luồng cho nút 0 và nút i).
for {set i 0} {$i < $val(nn)} {incr i} { set sink_($i) [new Agent/LossMonitor] $ns attach-agent $n_($i) $sink_($i) set tcp_($i) [new Agent/TCP]
$ns attach-agent $n_(0) $tcp_($i) }
#Thủ tục thiết lập luồng
proc attach-CBR-traffic { node sink size interval } { set ns [Simulator instance]
set cbr [new Agent/CBR] $ns attach-agent $node $cbr $cbr set packetSize_ $size $cbr set interval_ $interval
$ns connect $cbr $sink return $cbr }
#Thiết lập luồng cho nút 0 và nút 1
set cbr0 [attach-CBR-traffic $n_(0) $sink_(1) 512 0.25] - Bƣớc 11:Kết thúc và thực thi mô phỏng.
# Xác định thời điểm kết thúc mô phỏng của các nút for {set i 0} {$i < $val(nn) } {incr i} {
$ns_ at $val(stop).0 "$node_($i) reset"; }
$ns_ at $val(stop).0002 "puts \"NS EXITING...\" ; $ns_halt"
# Đưa các thông tin mô phỏng ban đầu vào các file lưu vết
puts $tracefd "M 0.0 nn $val(nn) x $val(x) y $val(y) rp $val(adhocRouting)"
puts $tracefd "M 0.0 sc $val(sc) cp $val(cp) seed $val(seed)"
puts $tracefd "M 0.0 prop $val(prop) ant $val(ant)" - Bƣớc 12:Lệnh cuối c ng bắt đầu mô phỏng
puts "Starting Simulation..." $ns_ run
3.3. Mô ph ng giao thức định tuyến ZRP
3.3.1. Cài đặt module mô phỏng ZRP
Bản NS2 khi cài đ t, m c định sẽ không có module mô phỏng ZRP. Để có thể thực hiện việc mô phỏng giao thức ZRP, ta cần phải cài đ t bổ sung module ZRP [2]. Việc tiến hành cài đ t module ZRP được thực hiện qua các bước sau:
+ Bước 1: Cài đ t NS2, trong trường hợp này tôi cài đ t NS2 phiên bản ns2- allinone2.33.
+ Bước 2: Chép các file cài đ t module ZRP vào thư mục home (thư mục cài đ t NS2). Các file cài đ t bao gồm:
- ns-allinone-2.33_zrp.tar.gz: chứa mã nguồn của module ZRP.
- PatchZRP.patch: chứa các thay đổi cần thiết trong các file NS để module ZRP có thể hoạt động được.
- patchmyZRP.sh: file kịch bản được chạy từ dòng lệnh. + Bước 3: Thực thi patchmyZRP.sh từ dòng lệnh.
3.3.2. Xây dựng kịch bản mô phỏng
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 di chuyển ngẫu nhiên trong khu vực bán kính 5000m. 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.
Các yếu tố chính ảnh hưởng đến hiệu năng của giao thức ZRP là bán kính vùng định tuyến p, số lượng nút N và tốc độ di chuyển v của các nút. Trong đó, bán kính vùng định tuyến p có vai trò quyết định đế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 p tối ưu. Mỗi kịch bản mô phỏng sẽ đượ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 p.
Từ những kết quả mô phỏng thu được, tôi tiến hành so sánh với kết quả mô phỏng CBRP trong [7] và đưa ra những nhận xét đánh giá hiệu năng của giao thức.
3.4. Phân tích kết quả mô ph ng
Để đánh giá hiệu năng hoạt động của giao thức, tôi sử dụng phần mềm Tracegraph 2.02 để 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à độ trễ trung bình.
3.4.1. Đánh giá hiệu năng của giao thức định tuyến ZRP
Các yếu tố chính ảnh hưởng đến hiệu năng của giao thức ZRP là bán kính vùng định tuyến p, số lượng nút N và tốc độ di chuyển v của nút mạng.
Sự tác động của số lƣợng nút mạng N, bán kính vùng định tuyến p đến hiệu năng hoạt động của giao thức ZRP.
Để đánh giá sự tác động của số lượng nút mạng, bán kính v ng định tuyến đến hiệu năng của giao thức ZRP, chúng tôi sử dụng cấu hình mạng mô phỏng:
- Vận tốc di chuyển của các nút được cố định: v = 20 m/s - Số lượng nút mạng N lần lượt nhận các giá trị 100, 200, 300.
- Bán kính vùng định tuyến p lần lượt nhận các giá trị: 1, 3, 4, 7, 10. Từ cấu hình mạng trên tôi thực hiện mô phỏng và có được kết quả:
p: bán kính v ng định tuyến chủ động. N: số lượng nút mạng
Bảng 3.1. Tỷ lệ gói tin gửi thành công theo N p
N p=1 p=3 p=4 p=7 p=10
100 37,50% 74,32% 85,99% 89,13% 85,43%
200 34,38% 77,36% 91,10% 94,54% 89,30%
300 34,29% 84,17% 92,68% 96,54% 89,16%
Theo kết quả mô phỏng, trong ba trường hợp số lượng nút mạng là 100, 200 và 300, chúng tôi thấy tỷ lệ gói tin gửi thành công (%) khi bán kính vùng định tuyến p = 1 là thấp nhất, lần lượt là 37,50%; 34,38%; 34,29%. Nguyên nhân tỷ lệ gói tin gửi thành công thấp là do khi bán kính v ng định tuyến p = 1, giao thức ZRP hoạt động như một giao thức định tuyến bị động, v ng định tuyến chủ động chỉ
có 1 bước nhảy nên bất cứ yêu cầu truy vấn đường đi nào cũng đều phải sử dụng giao thức định tuyến liên v ng (IERP) để khởi động quá trình khám phá tuyến đường bị động. Các gói tin điều khiển đa số là các gói tin điều khiển bị động. Nguyên nhân này làm cho giao thức ZRP hoạt động kém hiệu quả khi bán kính v ng định tuyến
p = 1. Đồng thời khi số lượng nút mạng tăng thì với bán kính p = 1 thì hiệu năng hoạt động của ZRP cũng giảm.
Đối với các bán kính v ng định tuyến khác (p ≠ 1), khi số lượng nút mạng tăng thì hiệu năng hoạt động của giao thức cũng tăng, ví dụ như bán kính v ng định tuyến p = 4, khi số lượng nút mạng N = 100 thì tỷ lệ gói tin thành công là 85,99%, khi N = 200 thì tỷ lệ gói tin thành công là 91,10%, khi N = 300 thì tỷ lệ gói tin thành công là 92,68% và điều này cũng tương tự như các bán kính v ng định tuyến p khác.
Điều này cho thấy, số lượng nút mạng ảnh hưởng đến hiệu năng hoạt động của giao thức ZRP, khi số lượng nút mạng càng lớn thì hiệu năng hoạt động của giao thức ZRP càng tăng. Nhưng, chúng tôi thấy với bán kính v ng định tuyến p=10 tỷ lệ gói tin gửi thành công tương ứng với số lượng nút mạng 200, 300 là 89,30%; 89,16%. Từ đó cho thấy khi số lượng nút tăng, với bán kính v ng định tuyến thích hợp thì hiệu năng hoạt động của giao thức ZRP sẽ tăng, nhưng với bán kính không thích hợp thì hiệu năng hoạt động của giao thức sẽ giảm.
Hình 3.3. Biểu đồ về sự tác động của N
Theo kết quả mô phỏng, khi bán kính p tăng lên (p=3, p=4, p=7) thì tỷ lệ gói tin gửi thành công tăng lên, cụ thể như với số lượng nút mạng là 100 nút mạng thì tỷ lệ gói tin gửi thành công của ZRP tương ứng với p = 3; 4; 7 là 74,32%; 85,99%;
89,13%. Nguyên nhân là khi p tăng thì hoạt động của giao thức đã có sự phối hợp giữa hai giao thức định tuyến nội v ng (IARP) và giao thức định tuyến liên v ng (IERP). Điều này đã làm cho hiệu năng hoạt động của giao thức ZRP tăng lên.
Nhưng chúng tôi thấy, khi tăng bán kính v ng định tuyến lên nhiều (đến một giá trị nào đó) thì hiệu năng hoạt động của giao thức sẽ giảm xuống, không hiệu quả, theo kết quả mô phỏng khi p=7 thì tỷ lệ gói tin gửi thành công là 89,13%; 94,54% tương ứng với số nút mạng là 100, 200; trong khi đó với p=10 thì tỷ lệ gói tin gửi thành công là 85,43%; 89,30% (tỷ lệ gói tin gửi thành công của p=10 nhỏ hơn p=7). Nguyên nhân là bán kính v ng định tuyến lớn thì sẽ gây ra sự mất cân b ng trong sự phối hợp hoạt động của hai giao thức định tuyến nội v ng và giao thức định tuyến liên vùng, giao thức định tuyến nội v ng sẽ hoạt động nhiều hơn giao thức định tuyến liên vùng. Bảng 3.2. Độ trễ trung bình theo N p N p=1 p=3 p=4 p=7 p=10 100 0,000676 0,000417 0,000305 0,000248 0,000272 200 0,000538 0,000401 0,000326 0,000276 0,000293 300 0,000539 0,000438 0,000417 0,000371 0,000328
Hình 3.4. Biểu đồ về độ trễ trung bình theo N
Ngoài ra, với bán kính p=1 thì độ trễ trung bình tương ứng với số lượng nút mạng là 0,000676(s), 0,000538(s), 0.000539(s), nhưng nếu tăng p, như khi p=7 thì độ trễ trung bình tương ứng với số lượng nút mạng là 0,000248(s), 0,000376(s), 0.000371(s). Chúng tôi thấy khi bán kính v ng định tuyến càng tăng thì độ trễ trung bình có xu hướng giảm dần vì khi đó giao thức định tuyến nội v ng sẽ dần chiếm vị thế chủ động trong quá trình khám phá tuyến đường.
Từ kết quả mô phỏng trên, chúng tôi thấy số lượng nút mạng và bán kính v ng định tuyến p ảnh hưởng đến hiệu năng hoạt động của giao thức ZRP. Khi số lượng nút mạng N tăng thì hiệu năng hoạt động của giao thức cũng tăng; với bán kính v ng định tuyến p thích hợp với số lượng nút mạng thì hiệu năng hoạt động của giao thức sẽ cao. Như vậy, giao thức ZRP hoạt động tốt ở những hệ thống mạng có số lượng nút mạng lớn và bán kính v ng định tuyến thích hợp.
Sự tác động của vận tốc di chuyển v của các nút, bán kính vùng định tuyến vùng p đến hiệu năng hoạt động của giao thức ZRP.
Để đánh giá sự tác động của vận tốc di chuyển của các nút, bán kính v ng định tuyến đến hiệu năng của giao thức ZRP, chúng tôi sử dụng cấu hình mạng mô phỏng:
- Vận tốc di chuyển của các nút lần lượt là: v = 0m/s, 10m/s, 20m/s và 30m/s - Số lượng nút mạng N được cố định là 200.
- Bán kính vùng định tuyến p lần lượt nhận các giá trị: 1, 3, 4, 7, 10. Từ cấu hình mạng trên chúng tôi thực hiện mô phỏng và có được kết quả:
p: bán kính v ng định tuyến chủ động. v: vận tốc di chuyển của nút mạng
Bảng 3.3. Tỷ lệ gói tin gửi thành công theo v
p v(m/s) p=1 p=3 p=4 p=7 p=10 0 24,04% 73,18% 81,02% 94,68% 93,05% 10 34,15% 76,45% 86,82% 95,13% 92,69% 20 34,38% 77,36% 91,10% 94,54% 89,30% 30 38,46% 81,27% 93,17% 92,54% 85,14%
Khi vận tốc của nút mạng tăng lên thì tỷ lệ gói tin gửi thành công cũng tăng lên nhưng đến một giá trị vận tốc nào đó thì tỷ lệ gói tin gửi thành công sẽ giảm, điều này t y thuộc vào bán kính v ng định tuyến p.
Từ kết quả mô phỏng cho thấy, với các bán kính v ng định tuyến nhỏ như
p = 1; 3; 4 tỷ lệ gói tin gởi thành công đều tăng; nhưng với bán kính v ng định tuyến lớn khi vận tốc của nút mạng tăng mạnh thì tỷ lệ gói tin gởi thành công giảm. Cụ thể như: đối với p=7 khi vận nút di chuyển nút mạng tăng từ 10m/s đến 30m/s thì tỷ lệ gói tin gởi thành công đều giảm từ 95,13% xuống 92,54%, đối với p=10 thì tỷ lệ gói tin gởi thành công giảm từ 92,69% xuống còn 85,14%.
Nguyên nhân là khi nút mạng di chuyển càng nhanh thì cho cấu trúc liên kết của hệ thống mạng thay đổi nhanh. Do đó giao thức định tuyến liên v ng
IARP sẽ phải hoạt động nhiều và lưu lượng gói tin điều khiển để duy trì bảng định tuyến nội v ng sẽ tăng (do v ng định tuyến sẽ thay đổi khi nút mạng di chuyển).
Hình 3.5. Biểu đồ sự tác động của v
Khi vận tốc di chuyển của nút mạng tăng vượt qua một mức nào đó, t y thuộc vào bán kính v ng định tuyến thì sẽ làm tăng lưu lượng của gói tin điều khiển chủ động, điều này sẽ ảnh hưởng hiệu năng hoạt động của giao thức. Vì vậy, với bán kính v ng định tuyến càng lớn thì lưu lượng gói tin điều khiển chủ động sẽ lớn và tăng nhanh khi vận tốc tăng thì sẽ làm giảm hiệu năng hoạt động của giao thức.
Kết quả mô phỏng cho thấy khi vận tốc di chuyển của nút mạng càng tăng giao thức định tuyến ZRP với bán kính định tuyến v ng nhỏ thì độ trễ trung bình sẽ tăng ít hơn so với bán kính v ng định tuyến lớn.
Bảng 3.4. Độ trễ trung bình theo v p v(m/s) p=1 p=3 p=4 p=7 p=10 0 0,000696 0,000524 0,000534 0,000399 0,000393 10 0,000562 0,000396 0,000315 0,000399 0,000357 20 0,000538 0,000401 0,000326 0,000276 0,000293 30 0,000492 0,000382 0,000336 0,000486 0,000402
Hình 3.6. Biểu đồ về độ trễ trung bình theo v
Từ đó cho thấy, khi vận tốc di chuyển của nút mạng lớn thì giao thức ZRP với bán kính v ng định tuyến nhỏ sẽ thích ứng tốt hơn là bán kính v ng định tuyến lớn.
3.4.2. So sánh hiệu năng hoạt động của giao thức ZRP với CBRP
So sánh hiệu năng hoạt động của giao thức ZRP và CBRP dựa trên số lƣợng nút mạng
Theo tài liệu [7], tác giả đã tiến hành mô phỏng hoạt động của giao thức CBRP với cấu hình mô phỏng
- Vận tốc di chuyển của các nút được cố định: v = 5km/h
- Số lượng nút mạng N lần lượt nhận các giá trị 50, 100, 150, 200, 250, 300. Sử dụng kết quả mô phỏng của [7] đối với CBRP và kết quả mô phỏng của chúng tôi tiến hành mô phỏng hoạt động của giao thức ZRP trên c ng một cấu hình mô phỏng, chúng tôi có bảng sau:
Bảng 3.5. Tỷ lệ gói tin gửi thành công của ZRP so với CBRP theo N N
(số lƣợng nút mạng)
Tỷ lệ gói tin gửi thành công
ZRP CBRP 50 86.67% 93.00% 100 94.90% 97.50% 150 97.99% 97.00% 200 97.96% 96.50% 250 98.06% 96.00% 300 97.93% 97.00%
Theo kết quả mô phỏng, chúng tôi thấy khi số lượng nút mạng nhỏ thì giao thức định tuyến CBRP hoạt động tốt hơn do giao thức CBRP kiểm soát trên định tuyến nhỏ, tắc nghẽn mạng ít hơn và thời gian tìm kiếm trong quá trình định tuyến tốt hơn. Nhưng khi số lượng nút mạng càng tăng thì giao thức định tuyến CBRP lại giảm, trong khi đó giao thức định tuyến ZRP lại tăng, vì khi đó chi phí cho mỗi gói tin của giao thức