SlideServe
Menu
Préférences
© SlideServe · v2026

ВВЕДЕНИЕ В NS2

teddy avatar
15 diapositives · 481 Views · Aug 31, 2014

ВВЕДЕНИЕ В NS2. Киричёк Р.В. Network Simulator (ns-2) Почему специалисты используют имитационное моделирование сетей связи? подтверждение правильности работы протоколов ; создание экспериментальных топологий сетей; низкая цена в $, время, сотрудничество. Почему мы выбираем пакет ns 2?

ВВЕДЕНИЕ В NS2 - slide 1
01 / 15ВВЕДЕНИЕ В NS2
1 / 17

Télécharger la présentation

ВВЕДЕНИЕ В NS2
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. ВВЕДЕНИЕ В NS2 Киричёк Р.В.

  2. Network Simulator (ns-2) • Почему специалисты используют имитационное моделирование сетей связи? • подтверждениеправильностиработыпротоколов; • создание экспериментальных топологий сетей; • низкая цена в $, время, сотрудничество. • Почему мы выбираем пакет ns2? • Обеспечиваетимитацию: • протоколов: TCP, UDP, HTTP и т.д. • Модели трафика: Web Traffic, CBR и др. • Инструментызаданиянужнойтопологии • Большойпакетинструментоввизуализации • (люди верят, когда видят работу сети)

  3. Языки программирования в NS2 • C++ планировщик событий и протоколы (чаще всего) • TCL scriptsпротоколы (главным образом расширения к ядру C ++) • TCL objectsвыставляют интерфейс языка C ++ (скрытые сценарии) в соответствии с конфигурацией системы (значения по умолчанию и т.д.)

  4. Пример использования языка TCL set a 1 set b [expr $a + 2] proc list_total {list} { set tmp 0 foreach l $list { incr tmp $l } return $tmp } set c [list_total {1 2 3 4 5}] puts "a: $a b: $b c: $c" Пример использования объектного расширения языка TCL: oTCL Class car car instproc init (args) { $self instvar wheels set wheels 4 } Class vw -superclass car vw instproc init {args} { $self instvar wheels vendor set vendor "vw" eval $self next $args } set a [new car] puts "A: a car with [$a set wheels ] wheels" set b [new vw] puts "B: a [$b set vendor ] with [$b set wheels ] wheels"

  5. Стадии моделирования простейшей сети:Шаг 1: Создание топологииСначала мы создаем объект моделирования (Simulator object), который будем использовать, чтобы сгенерировать узлы и каналы. Нижеописанный код создаст топологию (2 узла, 1 связь между ними), но не будет генерировать трафик. Можно задать любой другой код tcl с большим числом узлов, а время моделирования будет задаваться с помощью комады $ns at... Здесь мы зададим модельное время равное 5 секундам.#Создание объекта моделированияset ns [new Simulator] Ask ns for nodes set nO [$ns node] set nl [$ns node]#Создание дуплексного звена между узлами n0 & n1 $ns duplex-link $n0 $n1 1Mb 10ms DropTail#Вызов команды «exit 0»через 5 секунд модельного времени $ns at 5.0 "exit 0“#Запуск моделирования $ns run

  6. Шаг 2: Создание агентов приложений Агенты осуществляют различные связи между узлами. Эти связи имеют различные типы протоколов: TCP, UDP и т.д. Здесь мы показываем простой пример создания UDP агента. Также необходимо создать агент - приемник UDP, для этого мы создадим Null agent (только в случае использования UDP!!!). #Создание агента UDP set udp1 [new Agent/UDP] #Создание агента-получателя set sink1 [new Agent/Null] #Присоединени агента UDP к node n0 $ns attach-agent $n0 $udp1 #Attach agent sinkl to node n1 $ns attach-agent $nl $sink1 #Connect the agents $ns connect $udp1 $sink1

  7. TCP агенты Конечно вместо того, чтобы использовать UDP мы могли использовать TCP, но тогда мы должны будем использовать специализированный агент-приемник, чтобы сгенерировать подтверждения о доставке. #Create a TCP agent set tcp1 [new Agent/TCP] #Create a Null agent set sink1 [new Agent/TCPSink] #Attach agent tcp1 to node n0 $ns attach-agent $n0 $tcp1 #Attach agent sinkl to node n1 $ns attach-agent $nl $sink1 #Connect the agents $ns connect $tcp1 $sink1

  8. Шаг 3: Создание приложений источниковОднако, наша сеть не будет передавать данные. Мы должны создать источник данных, который будет снабжать байтами нашего агента. Здесь мы генерируем источник с постоянной битовой скоростью передачи (CBR).#Create Source set cbr1 [new Application/Traffic/CBR]#Configure Source $cbrl set packetSize 500 $cbrl set interval 0.005#Attach source to agent $cbr1 attach-agent $udp1#Schedule cbr on$ns at 0.5 "$cbr1 start“#Schedule cbr off$ns at 4.5 "$cbr1 stop"

  9. Шаг 4: Трассировка До текущего момента моделирования мы создали источники и генерируемый трафик, который передается в заданном нами направлении, но это не интересно для нас так как мы не можем сделать выводы о результатах моделирования. Далее мы зададим команды для отслеживания всех процессов в модели. Укажите в полном файле кода, что команды trace-all и nam-trace-all должны выполняться прежде, чем будут созданы узлы и агенты, но временные команды трассировки должны быть выполнены впоследствии: # all packet trace: $ns trace-all [open out.tr w] # animator trace: $ns namtrace-all [open out.nam w] #variable trace: set tf [open "cwnd.tr" w] set tracer [new Trace/Var] $tracer attach $tf $tcp trace cwnd $tracer

  10. Шаг 4: Анимация работы сете в «nam» (Network Animator) Вы можете запускать network animator используя команду nam. %nam out.nam

  11. Trace Graph

  12. СПАСИБО за ВНИМАНИЕ !