Название нашего проекта — «Искусственная иммунная система для протокола маршрутизации (DSR)» в MANET.
В этом проекте наша цель — обнаружить неправильно работающий узел в MANET.
Мы знакомы с TCL и хотим знать, как реализовать DSR в симуляторе ns2 в Ubuntu.
Что я должен делать дальше, или где я должен искать дальше, или что я должен читать дальше, постарайтесь помочь, даже простая ссылка была бы заметной.
Для реализации протокола DSR вам не нужно ничего делать, потому что это уже доступно во всех версиях ns2, вы можете использовать строку ниже в сценарии TCL, чтобы использовать протокол DSR.
$ns node-config -adhocRouting DSR \
для реализации вредоносного узла, смотрите ссылку ниже
http://elmurod.net/en/index.php/archives/196
здесь они реализовали вредоносный (неправильное) поведение узла в AODV. сделать то же самое для DSR.
Я также начал работать над DSR. Вот что я обнаружил, что для понимания любого встроенного протокола необходимо пройти через эти файлы. это также поток создания / клонирования любого протокола в ns 2.35.
но до сих пор DSR Это необязательный случай. Может быть, я буду комментировать снова в будущем с дополнительной информацией.
Можете ли вы попробовать этот код, это работает для меня нормально
#===================================
# Simulation parameters setup
#===================================
Phy/WirelessPhy set bandwidth_ 10Mb ;#Data Rate
Mac/802_11 set dataRate_ 10Mb ;#Rate for Data Frames
set val(chan) Channel/WirelessChannel ;# channel type
set val(prop) Propagation/TwoRayGround ;# radio-propagation model
set val(netif) Phy/WirelessPhy ;# network interface type
set val(mac) Mac/802_11 ;# MAC type
set val(ifq) Queue/DropTail/PriQueue ;# interface queue type
set val(ll) LL ;# link layer type
set val(ant) Antenna/OmniAntenna ;# antenna model
set val(ifqlen) 50 ;# max packet in ifq
set val(nn) 25 ;# number of mobilenodes
set val(rp) DSR ;# routing protocol
set val(x) 2146 ;# X dimension of topography
set val(y) 380 ;# Y dimension of topography
set val(stop) 10.0 ;# time of simulation end
#===================================
# Initialization
#===================================
#Create a ns simulator
set ns [new Simulator]
#Setup topography object
set topo [new Topography]
$topo load_flatgrid $val(x) $val(y)
create-god $val(nn)
#Open the NS trace file
set tracefile [open outm.tr w]
$ns trace-all $tracefile
#Open the NAM trace file
set namfile [open outm.nam w]
$ns namtrace-all $namfile
$ns namtrace-all-wireless $namfile $val(x) $val(y)
set chan [new $val(chan)];#Create wireless channel
#===================================
# Mobile node parameter setup
#===================================
$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) \
-channel $chan \
-topoInstance $topo \
-agentTrace ON \
-routerTrace ON \
-macTrace ON \
-movementTrace ON
#===================================
# Nodes Definition
#===================================
#Create nodes
set n0 [$ns node]
$n0 set X_ 573
$n0 set Y_ 357
$n0 set Z_ 0.0
$ns initial_node_pos $n0 20
set n1 [$ns node]
$n1 set X_ 227
$n1 set Y_ 294
$n1 set Z_ 0.0
$ns initial_node_pos $n1 20
set n2 [$ns node]
$n2 set X_ 103
$n2 set Y_ 109
$n2 set Z_ 0.0
$ns initial_node_pos $n2 20
set n3 [$ns node]
$n3 set X_ 882
$n3 set Y_ 112
$n3 set Z_ 0.0
$ns initial_node_pos $n3 20
set n4 [$ns node]
$n4 set X_ 739
$n4 set Y_ 46
$n4 set Z_ 0.0
$ns initial_node_pos $n4 20
set n5 [$ns node]
$n5 set X_ 830
$n5 set Y_ -68
$n5 set Z_ 0.0
$ns initial_node_pos $n5 20
set n6 [$ns node]
$n6 set X_ 905
$n6 set Y_ 336
$n6 set Z_ 0.0
$ns initial_node_pos $n6 20
set n7 [$ns node]
$n7 set X_ 161
$n7 set Y_ 20
$n7 set Z_ 0.0
$ns initial_node_pos $n7 20
set n8 [$ns node]
$n8 set X_ 1187
$n8 set Y_ 99
$n8 set Z_ 0.0
$ns initial_node_pos $n8 20
set n9 [$ns node]
$n9 set X_ 934
$n9 set Y_ -79
$n9 set Z_ 0.0
$ns initial_node_pos $n9 20
set n10 [$ns node]
$n10 set X_ 416
$n10 set Y_ 120
$n10 set Z_ 0.0
$ns initial_node_pos $n10 20
set n11 [$ns node]
$n11 set X_ 601
$n11 set Y_ 151
$n11 set Z_ 0.0
$ns initial_node_pos $n11 20
set n12 [$ns node]
$n12 set X_ 354
$n12 set Y_ 419
$n12 set Z_ 0.0
$ns initial_node_pos $n12 20
set n13 [$ns node]
$n13 set X_ 1020
$n13 set Y_ 199
$n13 set Z_ 0.0
$ns initial_node_pos $n13 20
set n14 [$ns node]
$n14 set X_ 513
$n14 set Y_ -54
$n14 set Z_ 0.0
$ns initial_node_pos $n14 20
set n15 [$ns node]
$n15 set X_ 1019
$n15 set Y_ -17
$n15 set Z_ 0.0
$ns initial_node_pos $n15 20
set n16 [$ns node]
$n16 set X_ 351
$n16 set Y_ -184
$n16 set Z_ 0.0
$ns initial_node_pos $n16 20
set n17 [$ns node]
$n17 set X_ 54
$n17 set Y_ -84
$n17 set Z_ 0.0
$ns initial_node_pos $n17 20
set n18 [$ns node]
$n18 set X_ 278
$n18 set Y_ 267
$n18 set Z_ 0.0
$ns initial_node_pos $n18 20
set n19 [$ns node]
$n19 set X_ 319
$n19 set Y_ -13
$n19 set Z_ 0.0
$ns initial_node_pos $n19 20
set n20 [$ns node]
$n20 set X_ 768
$n20 set Y_ -156
$n20 set Z_ 0.0
$ns initial_node_pos $n20 20
set n21 [$ns node]
$n21 set X_ 962
$n21 set Y_ 198
$n21 set Z_ 0.0
$ns initial_node_pos $n21 20
set n22 [$ns node]
$n22 set X_ 747
$n22 set Y_ 293
$n22 set Z_ 0.0
$ns initial_node_pos $n22 20
set n23 [$ns node]
$n23 set X_ 589
$n23 set Y_ -56
$n23 set Z_ 0.0
$ns initial_node_pos $n23 20
set n24 [$ns node]
$n24 set X_ 627
$n24 set Y_ -225
$n24 set Z_ 0.0
$ns initial_node_pos $n24 20#===================================
# Generate movement
#===================================
$ns at 0.3 " $n8 setdest 750 55 50 "$ns at 0.5 " $n15 setdest 739 46 80 "$ns at 0.4 " $n16 setdest 742 280 50 "$ns at 0.2 " $n17 setdest 720 170 80 "$ns at 0.2 " $n23 setdest 450 144 50 "
#===================================
# Agents Definition
#===================================
#Setup a UDP connection
set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
set null1 [new Agent/Null]
$ns attach-agent $n20 $null1
$ns connect $udp0 $null1
$udp0 set packetSize_ 1500
#===================================
# Applications Definition
#===================================
#Setup a CBR Application over UDP connection
set cbr0 [new Application/Traffic/CBR]
$cbr0 attach-agent $udp0
$cbr0 set packetSize_ 1000
$cbr0 set rate_ 1.0Mb
$cbr0 set random_ null
$ns at 1.0 "$cbr0 start"$ns at 5.0 "$cbr0 stop"
#===================================
# Termination
#===================================
#Define a 'finish' procedure
proc finish {} {
global ns tracefile namfile
$ns flush-trace
close $tracefile
close $namfile
exec nam out.nam &
exit 0
}for {set i 0} {$i < $val(nn)} { incr i } {
$ns at $val(stop) "\$n$i reset"}
# malicious node add
$ns at 0.5 "[$n11 set ragent_] hacker"#$ns at 0.4 "[$n7 set ragent_] hacker 99"#$ns at 0.4 "[$n4 set ragent_] hacker 99"
$ns at $val(stop) "$ns nam-end-wireless $val(stop)"$ns at $val(stop) "finish"$ns at $val(stop) "puts \"done\" ; $ns halt"$ns run