Các bước cơ bản của một kịch bản mô phỏng NS-2

Một phần của tài liệu Đánh giá hiệu năng một số giao thức Proactive của công nghệ mạng Ad-Hoc (Trang 53 - 56)

Một kịch bản mô phỏng của NS-2 thông thường bao gồm các bước sau : + Khởi tạo lịch biểu sự kiện

+ Bật chế độ tracing nếu cần + Khởi tạo topo mạng

+ Thiết đặt các giao thức định tuyến + Khởi tạo các tác nhân vận chuyển + Khởi tạo các lưu lượng source/sink + Chèn các thông báo lỗi nếu cần

Khởi tạo lịch biểu sự kiện

Cú pháp :Set ns [new Simulator]

-Lịch biểu các sự kiện :$ns at <time><event> -Bắt đầu lịch biểu :$ns run

Mở một file cho trace data

Set nf [open out.nam w] $ns namtrace-all $nf

hoặc $ns namtrace-all-wireless $nf -Bật tracing trên các liên kết đặc biệt $ns namtrace-queue $n0 $n1

-Thủ tục để đóng file và bắt đầu phần mềm NAM

Proc finish{}{ Global ns nf $ns flush-trace Close $nf

Exec nam out.nam & Exit 0

}

Khởi tạo topo mạng + Nút :set n0 [$ns node] Set n1 [$ns node] + Các liên kết và hàng đợi

$ns duplex-link $n0 $n1 <băng thông><độ trễ><kiểu hàng đợi>

Kiểu hang đợi có thể :DropTail,RED,CBQ,FQ,SFQ,DRR + Khởi tạo một tác nhân UDP và gắn nó với nút n0

Set udp [new agent/udp] $ns attach-agent $n0 $udp

+ Khởi tạo một nguồn lưu lượng CBR và gắn nó với udp0

Set cbr [new application/traffic/cbr] $cbr attach-agent $udp

+ Khởi tạo một tác nhân rỗng để làm suy giảm lưu lượng

Set null [new agent/null] $ns attach-agent $n2 $null + Kết nối chúng

$ns connect $udp $null + Thực thi lịch biểu sự kiện

$ns at 0.5 “$cbr start” $ns at 3.5 “$cbr stop ”

+ Khởi tạo một tác nhân TCP và gắn nó với nút n0

Set tcp [new agent/tcp] $ns attach-agent $n0 $tcp

+ Khởi tạo một nguồn lưu lượng FTP và gắn nó với tcp0

Set ftp [new application/traffic/ftp] $ftp attach-agent $tcp

+ Khởi tạo một TCPSink để làm suy giảm lưu lượng

Set sink [new agent/tcpsink] $ns attach-agent $n2 $sink + Thực thi lịch biểu sự kiện

$ns at 0.5 “$FTP start” $ns at 3.5 “$FTP stop ” Thiết đặt sự định tuyến + Unicast :

$ns rtproto <kiểu> (adsbygoogle = window.adsbygoogle || []).push({});

Kiểu :Static,Session,DV,cost ,multi-path + Multicast:

$ns multicast (ngay sau khi [new Simulator])

hoặc set ns [new Simulator-multicast on] $ns mrtproto <kiểu >

Kiểu CtrMcast,DM,ST,BST Chèn các thông báo lỗi + Khởi tạo modul lỗi

Set loss_module [new errrormodel] $loss_module set rate_0.01

$loss_module unit pkt

$loss_module ranvar[new random variable/uniform] $loss_module drop-target[new agent/null]

+ Chèn module lỗi

Một phần của tài liệu Đánh giá hiệu năng một số giao thức Proactive của công nghệ mạng Ad-Hoc (Trang 53 - 56)