эмуляция живой сети с помощью ns-2 - PullRequest
0 голосов
/ 29 ноября 2011

Я - новичок в NS2 (и даже в Linux). Моя задача - продемонстрировать очень простой пример эмуляции, чтобы показать, что можно использовать ns2 для эмуляции. Я был пытаясь заставить любой простой скрипт эмуляции работать в течение последних нескольких недель, но провалился. Я уверен, что эксперту потребуется всего несколько минут, чтобы напишите пару строк кода, чтобы сделать это. Большинство объяснений, которые я прочитал подобные проблемы даже слишком сложны для моего понимания либо с точки зрения NS2 или Linux. Если бы кто-то мог помочь мне на уровне студента, это было бы
с благодарностью

Я использую компьютер с Linux, и до сих пор я скачал и установил Allinone NS-2,34. Я также погуглил для простого примера эмуляции скрипты.

Например, я нашел это:

# Create simulator set ns [new Simulator] $ns use-scheduler RealTime

# Emulator address set me [exec hostname]

# Packet input set bpf0 [new Network/Pcap/Live] $bpf0 set promisc_ true set nd0 [$bpf0 open readonly fxp0] set filt "(not ip host $me)" $bpf0 filter $filt

# Packet output set ipnet [new Network/IP] $ipnet open writeonly

# Input agent set pfa [new Agent/Tap] $pfa network $bpf0

# Output agent set ipa [new Agent/Tap] $ipa network $ipnet

# ICMP ECHO agent set echoagent [new Agent/PingResponder]

set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] $ns simplex-link $n0 $n2 100Mb 1000ms DropTail $ns simplex-link $n2 $n1 100Mb 1000ms DropTail $ns attach-agent $n0 $pfa $ns attach-agent $n1 $ipa $ns attach-agent $n2 $echoagent $ns simplex-connect $pfa $echoagent $ns simplex-connect $ipa $echoagent

# Wait for ping to come in... $ns run

Когда я пытаюсь запустить этот скрипт, я получаю сообщение:

неверное имя команды "Сеть / Pcap / Live" во время выполнения "Сеть / Pcap / Live create o_11" вызывается изнутри "catch" $ className create $ o $ args "msg" (процедура «новая» строка 3) вызывается в "Новая сеть / Pcap / Live" вызывается изнутри "set bpf0 [новая сеть / Pcap / Live]" (файл "./vince/emu1.tcl" строка 12)

Может кто-нибудь помочь мне с этой проблемой, пожалуйста? Так как я еще не ns2 эксперт, я не очень хорошо знаю, как работает этот код. Я считаю, что это пинг Ответчик. Все, что мне нужно, это очень простой пример эмуляции, чтобы показать, что это работает, так что любые другие предложения или примеры сценариев будут отличными!

Спасибо

1 Ответ

2 голосов
/ 11 октября 2012

вам нужно перейти в каталог ns и скомпилировать эмулятор.

make nse

вы можете увидеть в каталоге эмуляции файл README_TCP_EMULATE

также, если make nse нене работает:

  1. apt-get install libpcap-dev
  2. добавьте в файл make "-lpcap" в: emulate / net-pcap.o -lpcap \
  3. . / Configure
  4. make nse

и при запуске эмулятора вам нужно запускать из корня: ./nse

...