CHƯƠNG 1 : TỔNG QUAN VỀ MẠNG MANET
3.3. Mô phỏng, đánh giá ảnh hưởng của tấn công lỗ đen
3.3.3. Các kịch bản mô phỏng
Kịch bản mô phỏng trong mạng MANET được cấu thành bởi các yếu tố như tô-pô mạng, mơ hình chuyển động các node mạng, mơ hình sinh lưu lượng truyền thông, kích thước khơng gian mơ phỏng (2D) và hình dạng vùng mô phỏng, thời gian hoạt động của các nguồn sinh lưu lượng, thời gian mô phỏng. Bằng cách thay đổi các yếu tố kể trên sẽ cho chúng ta những ngữ cảnh mạng khác nhau.
Sau khi tham khảo một số nghiên cứu liên quan đến luận văn như đề tài “Nghiên cứu giải pháp chống tấn công lỗ đen (black hole attack)” trong mạng không dây di động (mobile Ad-hoc-Network), bảo vệ năm 2011 của tác giả Ngô Thành Huyên và một số nghiên cứu tác giả khác sử dụng kịch bản là đánh giá ảnh hưởng của tấn công lỗ đen dựa trên tốc độ di chuyển của các node mạng.
Trong luận văn này, kịch bản mô phỏng được xây dựng dựa trên số lượng kết nối trong mạng và độ linh động của Node mạng (thời gian tạm dừng)
Mơ hình mạng mơ phỏng các node mạng có vị trí khởi tạo ngẫu nhiên (Ramdom) trong một vùng địa lý có kích thước 1000m x 1000m với phạm vi truyền sóng vơ tuyến của mỗi node là 250m (bán kính). Tọa độ của mỗi node tại một vị trí trong vùng mơ phỏng có dạng (x,y,z) trong đó z có giá trị bằng 0 (2D).
57
Node di chuyển theo mơ hình Random Waypoint, được hiểu là đầu tiên Node có một vị trí ngẫu nhiên trong khu vực mơ phỏng (vị trí khởi tạo) và ở tại đó một khoảng thời gian gọi là thời gian tạm dừng (Pause time). Khi quãng thời gian này hết hạn, node chọn ngẫu nhiên một đích trong khu vực mô phỏng và một tốc độ được phân bố đều giữa [min Speed, max Speed]. Sau đó, node di chuyển tới vị trí mới với tốc độ đã chọn. Khi tới vị trí mới, node dừng một khoảng thời gian được chọn theo phân bố đồng đều giữa [Pmin, Pmax] và sau đó tiếp tục lại q trình. Trong mơ phỏng việc khởi tạo vị trí các node và q trình di chuyển theo mơ hình trên được thực hiện bằng cách sử dụng công cụ “./setdest”- một ứng dụng đã được cài đặt trong bộ mô phỏng NS-2.
Chạy bộ setdest với các tham số để tạo kịch bản di chuyển các node trong mạng với các tốc độ di chuyển khác nhau. Định dạng bộ thiết lập setdest như sau:
./setdest -n <num of nodes> -p <pausetime> -M|s <maxspeed> -t <simtime> -x <maxx> -y <maxy> > ~/<scenario-file> 3.1.a
Trong đó:
-n: số tham gia mô phỏng node -p: thời gian tạm dừng (s)
-M với bộ công cụ version 1; -s: vận tốc di chuyển node tối đa (m/s) đối với bộ công cụ version 2
-t: thời gian mô phỏng(s) -x: chiều X vùng mô phỏng(m) -y: chiều Y vùng mô phỏng(m)
-scenario-file: là file lưu kết quả tạo kịch bản di chuyển nodes
Bộ công cụ cbrgen.tcl viết bằng ngôn ngữ tcl dùng để tạo ra lưu lượng truyền thông. Việc sinh ra các lưu lượng được tạo bởi cơng cụ cbrgen đã được tích hợp sẵn trong phần mềm NS-2 với cú pháp như sau:
ns cbrgen.tcl [-type cbr|tcp] [-nn nodes] [-seed seed] [-mc connections] [-rate rate] > ~/<scenario-file> 3.1.b
58
-type: kiểu giao thức đặc tả hình thức tạo lưu lượng(cbr|tcp) -nn: Số lượng nodes mô phỏng
-seed: Ramdom seed
-mc: số lượng kết nối của các node trong mạng -rate: tốc độ gửi gói tin
scenario-file: file lưu kết quả
Việc sử dụng các công cụ setdest và cbrgen này giúp người nghiên cứu dễ dàng tạo ra các kịch bản truyền thông khác nhau là tương dễ dàng.
Sau khi đã tạo các ngữ cảnh về mơ hình di chuyển, nguồn lưu lượng, vấn đề tiếp đến là khởi tạo node chạy bằng giao thức AODV và giao thức blackholeAODV
Việc tạo cấu hình các node khơng dây cho bởi đoạn mã sau:
# configure node, please note the change below. $ns_ node-config -adhocRouting $val(rp) \ -llType $val(ll) \ -macType $val(mac) \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \ -antType $val(ant) \ -propType $val(prop) \ -phyType $val(netif) \ -topoInstance $topo \ -agentTrace ON \ -routerTrace ON \ -macTrace ON \ -movementTrace ON \
59
-channel $chan_1_
Tạo các node với vòng lặp for và thay đổi giao thức cho mỗi kịch bản được cho bởi đoạn mã sau:
for {set i 0} {$i < $val(nnaodv)} {incr i} { set node_($i) [$ns_ node]
$node_($i) random-motion 0 ;#disable random motion }
# Creating Black Hole nodes for simulation
$ns_ node-config -adhocRouting blackholeAODV for {set i $val(nnaodv)} {$i < $val(nn)} {incr i} { set node_($i) [$ns_ node]
$node_($i) random-motion 0 ;#disable random motion $ns_ at 0.01 "$node_($i) label \"blackhole node\
Trong đó các giá trị:
- nn là tổng số lượng node có trong mạng
- nnaodv là số lượng node chạy giao thức AODV
- hiệu số nn-nnaodv: là số lượng node blackhole xuất hiện trong mạng.
- biến rp là biến khai báo giao thức (gọi Agent AODV) giá trị rp có thể thay đổi tùy từng ngữ cảnh.
Trong mỗi Kịch bản mô phỏng, các số tham số mô phỏng được tôi giữ khơng thay đổi, trình bày ở bảng sau:
Thơng số Giá trị thiết lập
Số node mô phỏng 50 node
Không gian mô phỏng 1000x1000(m2) Vùng thu phát sóng 250(m)
60
Tốc độ di chuyển Max = 20m/s Nguồn sinh lưu lượng (Application Layer) CBR
Giao thức truyền (tầng Transport Layer) UDP
Pause time Thay đổi
Kích thước gói tin 512 (bytes) Tốc độ phát gói 4 (gói/s) Số kết nối lớn nhất Thay đổi
Giao thức mô phỏng AODV, blackholeAODV Số Node blackhole 0,1,3,6 (node)
Sử dụng mơ hình di động Random waypoint
Bảng 3. 1. Bảng tham số mô phỏng
Kịch bản 1: Ảnh hưởng của blackhole và số lượng kết nối tối đa (ngẫu nhiên) của
các node lên hiệu năng của mạng s dụng giao thức AOD
Trong kịch bản này ta sử dụng các thông số như bảng 3.1 và thay đổi đại lượng mô phỏng là số kết nối giữa các nút mạng hay chính là thay đổi số lượng nguồn phát với các giá trị mc = 10, 20, 30 và 40 (kết nối), có nghĩa là ta sẽ tạo ra các tệp lưu lượng tương ứng (sử dụng công cụ trong thư mục ~/ns-2.35/indep- until/cme-scen-agen), cụ thể như sau:
ns cbrgen.tcl -type cbr -nn 50 -seed 1.0 -mc 10 -rate 4.0 > ~ /cbr_50_10 ns cbrgen.tcl -type cbr -nn 50 -seed 1.0 -mc 20 -rate 4.0 > ~ /cbr_50_20 ns cbrgen.tcl -type cbr -nn 50 -seed 1.0 -mc 30 -rate 4.0 > ~ /cbr_50_30 ns cbrgen.tcl -type cbr -nn 50 -seed 1.0 -mc 40 -rate 4.0 > ~ /cbr_50_40 Mạng được mô phỏng cho Node di động cao hay là giữ cố định thời gian tạm dừng Pause time = 0 (s). Khi đó ta sử dụng cơng cụ setdest để tạo ra chuyển động cho các node bằng cách sử dụng câu lệnh 3.a.1, cụ thể như sau
61
Kết quả của việc tạo ra nguồn phát và hình thức chuyển động của các Node là thu được các bộ dữ liệu cung cấp đầu vào cho file. tcl trong phụ lục 1 thông qua 2 biến “cc” và “cp”
Từ việc thay đổi số lượng kết nối trên ta xem xét, so sánh các thông số hiệu năng mạng khi trong mạng chạy giao thức định tuyến thuần AODV, xuất hiện 1, 3, 6 lỗ đen.
Kịch bản 2: Ảnh hưởng của blackhole khi thay đổi thời gian tạm dừng (Pause time)
trong việc tạo chuyển động
Để nghiên cứu ảnh hưởng của tính di động, mơ phỏng được thực hiện với các mẫu chuyển động được tạo ra cho các thời gian tạm dừng (Pause time) khác nhau. Tạm dừng thời gian 0 giây tương ứng với chuyển động liên tục và thời gian tạm dừng là 160 (s). Một tập hợp các tệp kịch bản chuyển động tương ứng với tính di động khác nhau được tạo ra bằng cách thay đổi thời gian tạm dừng. Chương trình mơ phỏng NS setdest của bộ mô phỏng NS-2 được sử dụng để tạo các tệp chuyển động nút bằng cách sử dụng „Random Waypoint‟.
Các giá trị Pausetime từ 0 giây (high mobility) đến 160 giây (low mobility). Trong nghiên cứu mô phỏng thời gian tạm dừng mẫu là 0, 10, 20, 30, 40 , 80 và 160 giây đã được xem xét. Các lệnh 3.1.a được sử dụng để tạo các chuyển động ngẫu nhiên của các nút như sau:
./setdest -n 50 -p 0 -M 20.0 -t 300 -x 1000 -y 1000 > ~/ Scenario_0 ./setdest -n 50 -p 10 -M 20.0 -t 300 -x 1000 -y 1000 > ~/ Scenario_10 ./setdest -n 50 -p 20 -M 20.0 -t 300 -x 1000 -y 1000 > ~/ Scenario_20 ./setdest -n 50 -p 40 -M 20.0 -t 300 -x 1000 -y 1000 > ~/ Scenario_40 ./setdest -n 50 -p 80 -M 20.0 -t 300 -x 1000 -y 1000 > ~/ Scenario_80 ./setdest -n 50 -p 160 -M 20.0 -t 300 -x 1000 -y 1000 > ~/ Scenario_160 - Số lượng kết nối chọn: mc = 20
62
- Các thông số mạng khác không thay đổi trong suốt q trình mơ phỏng được mơ tả như 3.1.
Sau khi thiết lập xong các kịch bản mơ phỏng ta viết chương trình Tcl chạy các kịch bản đã xây dựng ở trên. Nội dung của file.tcl được trình bày tại phụ lục 1
Khi chạy file .tcl với các kịch bản khác nhau ta sử dụng câu lệnh $]ns file.tcl kết quả đầu ra là 2 file Nam và file Trace.
File.nam là tên của tệp theo dõi NAM do NS tạo ra hoặc chúng ta có thể thực hiện trực tiếp từ tập lệnh mô phỏng Tcl để hiển thị mô phỏng mơ phỏng đồ họa và dấu vết gói tin trong khơng gian và thời gian mô phỏng. Việc chạy file.nam sử dụng câu lệnh như sau: $] nam file.nam
Hình 3.1 cho thấy một ảnh chụp màn hình của một cửa sổ NAM. Người dùng sau khi đưa ra các tham số lưu lượng và kịch bản, trình giả lập mạng sẽ vẽ cấu trúc liên kết và sẽ hiển thị cấu trúc liên kết trong vùng hoạt hình của trình hoạt hình mạng. Hình 3.1 và Hình 3.2 là những ví dụ cho thấy cấu trúc liên kết liên quan đến giao thức AODV khi quá trình mơ phỏng chưa có lỗ đen (blackhole) và quá trình mơ phỏng xuất hiện lỗ đen.
63
Hình 3. 4 file.nam hiển thị các Node AOD khơng có lỗ đen
64
File trace là file có đi .tr lưu vết tất cả các sự kiện diễn ra trong suốt q trình mơ phỏng, nó là file quan trọng nhất trong q trình phân tích, lọc dữ liệu, tính tốn hiệu năng của mạng.