Khả năng mô phỏng cho IEEE802.11 trong NS-2

Một phần của tài liệu Đánh giá và so sánh hiệu suất giao thức tầng MAC theo chuẩn IEEE802 11, IEEE802 15 4 và IEEE802 15 3 (Trang 86 - 87)

5.3.2.1 Tạo một nút di động (Mobile Node)

Nút di động là một node mạng cơ bản có các chức năng truyền thông không dây và khả năng di chuyển trong mô hình hệ thống mạng. Mỗi nút di động bao gồm các thành phần mạng như tầng liên kết dữ liệu (Link Layer – LL), hàng đợi tại giao diện mạng (Interface Queue - IfQ), tầng điều khiển truy cập môi trường truyền MAC, kênh truyền thông không dây, giao thức định tuyến … Trong phần đầu của một mô phỏng mạng không dây, chúng ta cần định nghĩa kiểu của những thành phần mạng này nhờ sử dụng một mảng opt() trong ngôn ngữ Tcl như sau:

set opt(chan) Channel/WirelessChannel ;# Kiểu kênh truyền thông set opt(prop) Propagation/TwoRayGround ;# Mô hình truyền thông set opt(ant) Antenna/OmniAntenna ;# Mô hình anten

set opt(ll) LL ;# Kiểu tầng liên kết dữ liệu

set opt(ifq) Queue/DropTail/PriQueue ;# Kiểu hàng đợi giao diện set opt(ifqlen) 50; #Số gói tin lớn nhất có trong hàng đợi giao diện set opt(netif) Phy/WirelessPhy ;# Kiểu giao diện mạng

set opt(mac) Mac/802_11 ;# Kiểu giao thức MAC set opt(rp) DSDV ;# Giao thức định tuyến

set opt(nn) 20 ;# Số mobile node mạng trong mô phỏng

5.3.2.1 Lập mô hình mạng không dây

set topo [new Topography]

$topo load_flatgrid $opt(x) $opt(y)

$ns_ node-config -adhocRouting $opt(rp) \ -llType $opt(ll) \

-macType $opt(mac) \ -ifqType $opt(ifq) \

-ifqLen $opt(ifqlen) \ -antType $opt(ant) \ -propType $opt(prop) \ -phyType $opt(netif) \ -channel [new $opt(chan)] \ -topoInstance $topo \ -agentTrace ON \ -routerTrace OFF \ -macTrace OFF \ -movementTrace OFF

5.3.2.3 Thiết lập vị trí và chuyển động cho Mobile Node

Đặt tọa độ ban đầu cho một mobile node sau khi khởi tạo, ta dùng các hàm sau:

$mobilenode set X_ <x1> $mobilenode set Y_ <y1> $mobilenode set Z_ <z1>

Có hai cách để tạo kịch bản chuyển động cho một mobile node. Các thứ nhất chúng ta sử dụng một tiện ích mà NS cung cấp nhằm tạo sự chuyển động ngẫu nhiên cho các mobile node. Ta sử dụng hàm sau:

$ns at <time> “$mobilenode start”

Khi được thiết lập chuyển động theo phương pháp này, tốc độ và hướng chuyển động của các mobile node sẽ luôn thay đổi ngẫu nhiên. Khi đó, kịch bản di chuyển trong mỗi mô phỏng là khác nhau. Đối với các mô phỏng cần giữ nguyên kịch bản mô phỏng thì cách này sẽ không sử dụng được. Khi đó ta phải sử dụng cách thứ hai được mô tả sau đây.

Cách thứ hai ta xác định rõ ràng thời gian, tốc độ và hướng đi chuyển cho mobile node như sử dụng hàm:

$ns at <time> “$mobilenode setdest <x2> <y2> <speed>”

Sử dụng hàm này, ta sẽ lập lịch cho một mobile node tại thời điểm <time> (tính theo giây) tại vị trí hiện tại (x1, y1, z1) di chuyển tới vị trí đích có tọa độ (x2, y2, z2) với vận tốc là <speed>. Ở đây, coi mobile node là di chuyển trong cùng một mặt phẳng (hiện tại, NS-2 chưa hỗ trợ việc mô phỏng node mạng di chuyển theo chiều z).

Một phần của tài liệu Đánh giá và so sánh hiệu suất giao thức tầng MAC theo chuẩn IEEE802 11, IEEE802 15 4 và IEEE802 15 3 (Trang 86 - 87)