Симуляция не выполняется в течение определенных 10 секунд - PullRequest
0 голосов
/ 03 февраля 2020

Эта симуляция настроена на работу в течение 10 секунд, но останавливается на уровне 4,5, когда FTP должен начать отправку пакетов. не могли бы вы помочь мне исправить это? Я работал с NS2 в течение 3 часов. Сейчас я чертовски нуб.

#Creating a simulator object
set ns [new Simulator]
global $ns
set traceFile [open output.tr w]
$ns trace-all $traceFile
set namFile [open output.nam w]
$ns namtrace-all $namFile

#Defining the finish procedure
proc finish {} {
  global ns namFile traceFile fert
  $ns flush-trace

  close $namFile
  close $traceFile

  exec nam output.nam &
  exit 0
}

set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
set n6 [$ns node]
#for {set i 0} {$i<5} {incr i} {
#set n($i) [$ns node]
#}

#Creating the links
$ns duplex-link $n0 $n1 1Mb 20ms DropTail
$ns duplex-link $n0 $n2 1Mb 20ms DropTail
$ns duplex-link $n1 $n3 1Mb 20ms DropTail
$ns duplex-link $n2 $n3 1Mb 20ms DropTail
$ns duplex-link $n2 $n4 1Mb 20ms DropTail
$ns duplex-link $n2 $n6 1Mb 20ms DropTail
$ns duplex-link $n4 $n6 1Mb 20ms DropTail
$ns duplex-link $n4 $n5 1Mb 20ms DropTail

#Topology
$ns duplex-link-op $n0 $n1 orient down 
$ns duplex-link-op $n0 $n2 orient right  
$ns duplex-link-op $n1 $n3 orient right  
$ns duplex-link-op $n2 $n3 orient down 
$ns duplex-link-op $n2 $n4 orient right 
$ns duplex-link-op $n2 $n6 orient right-down
$ns duplex-link-op $n4 $n5 orient right-down 
$ns duplex-link-op $n4 $n6 orient down 

#Agents - Attach Agents - SInk and Null connetions
set udp0 [new Agent/UDP]
set tcp3 [new Agent/TCP]
set null4 [new Agent/Null]
set sink5 [new Agent/TCPSink]
$ns attach-agent $n0 $udp0
$ns attach-agent $n3 $tcp3
$ns attach-agent $n4 $null4
$ns connect $udp0 $null4
$ns connect $tcp3 $sink5


#CBR over UDP connection
set cbr0 [new Application/Traffic/CBR]
$cbr0 attach-agent $udp0
$cbr0 set type_ CBR
$cbr0 set packet_size_ 1500
$cbr0 set rate_ 830kb


#FTP over TCP connection
set ftp3 [new Application/FTP]
$ftp3 attach-agent $tcp3
$ftp3 set type_ FTP

#Queue Limit of n2-n4 and n4-n5
$ns queue-limit $n2 $n4 30
$ns queue-limit $n4 $n5 20

#Assigning a link variable for the link between n4 and n5



#Monitoring
set mon [open "mon.txt" w]
set qmon [$ns monitor-queue $n2 $n4 $mon 0.01]
[$ns link $n2 $n4] queue-sample-timeout
#set qmon24 [$ns monitor-queue $n2 $n4 "" 0.01]

#............................................
    set link01 [$ns link $n2 $n3]
# Create monitor 
    set fmonitor [$ns makeflowmon Fid]
    $ns attach-fmon $link01 $fmonitor
        set drop_count [$fmonitor set parrivals_]

#............................................
proc mon { } { 
global ns qmon 
set t [$ns now] 
puts "$t [$qmon set pkts_]" 

$ns at [expr $t + 0.5] "mon" 
}

#Link Down and Up at 5.0 and 7.0

        $ns rtmodel-at 5.0 down $n2 $n4
        $ns rtmodel-at 7.0 up $n2 $n4

#$ns rtproto LS

$ns at 0 "mon"

$ns color cbr "red"


$ns at 2.0 "$cbr0 start"
$ns at 4.5 "$ftp3 start"
$ns at 8.0 "$cbr0 stop"
$ns at 9.0 "$ftp3 stop"

$ns at 10.0 "finish"

$ns run

И еще один вопрос. Что такое очередь ссылок? Я должен следить за очередью связи между двумя узлами для моего проекта, но я не понимаю концепцию очереди ссылок! Да, и еще одна вещь. Nam не запускается автоматически, и я получаю следующее:

Classfier :: no-slot {} обработчик по умолчанию (tcl / lib / ns-lib.tcl) --- _o21: нет цели для слота 4294967295 _o21 Тип: Классификатор / Хэш / Назначение: дамп содержимого: классификатор _o21 0 смещение 0 смещение 1073741823 маска 1 слот слот 3: _o196 (классификатор / порт) -1 по умолчанию

1 Ответ

0 голосов
/ 04 февраля 2020

Classfier :: no-slot {} обработчик по умолчанию

Ошибка "Classfier :: no-slot {} обработчик по умолчанию .." указывает на ошибки кодирования (или слишком сложный файл .) Кроме того, ошибка приводит к тому, что симуляция не завершается sh.

РЕДАКТИРОВАТЬ: Типичные способы иметь "смешанные traffi c" → cbr, tcp, udp, ftp ... см. Примеры https://www.dropbox.com/s/63ultpb20ugqlvf/new-A-ex.tar.gz?dl=0

Примитивное исправление: с закомментированными записями ftp симуляция завершается в порядке, и открывается окно NAM. Фрагмент:

#FTP over TCP connection
#set ftp3 [new Application/FTP]     ;# edited
#$ftp3 attach-agent $tcp3           ;# edited
#$ftp3 set type_ FTP                ;# edited
.
#$ns at 4.5 "$ftp3 start"   ;# edited 
$ns at 8.0 "$cbr0 stop"
#$ns at 9.0 "$ftp3 stop"    ;# edited

Моделирование:

$ ns 3-no-ftp__2Aramesh.tcl
0 0
0.5 0
1 0
1.5 0
2 0
2.5 0
3 0
3.5 0
4 1
4.5 0
5 -4
5.5 -4
6 -4
6.5 -4
7 -4
7.5 -3
8 -4
8.5 -4
9 -4
9.5 -4

Создано файлов: mon.txt 1001 строк, output.nam 514,7 КБ, output.tr 203,7 КБ.

" Очередь ссылок "ns2 do c 49.2.2 https://www.isi.edu/nsnam/ns/doc/node634.html

Примечание. Установленное вами время является максимальным. Если симуляция заканчивается через две секунды, установка времени не продлит фактическое время симуляции.

...