Ns2 Имитировать локальную сеть Ethernet с использованием n узлов и установить несколько окон перегрузки графика трафика для разных источников и пунктов назначения?
// скрипт ns-2 для моделирования локальной сети Ethernet с n узлами.
// Окно графика пробок на дорогах будет установлено для разных
// пары источник-назначение.
// Импортируем необходимые пакеты.
импортировать ns_lib;
импортировать tcl_lib;
// Создаем сеть.
установите sim_time 100 с; // Время моделирования в секундах
установите число_узлов 10; // Количество узлов в сети
установите ifq 1000; // Размер интерфейсной очереди в пакетах
for {set i 0} {$i <$num_nodes} {incr i} {
# Создайте узел.
set node($i) [новый источник агента/TCP];
# Подключите узел к сети.
$ns Attach-агент $node($i)
# Установите MAC-адрес узла.
$node($i) установить MAC # Установите IP-адрес узла. $node($i) set addr_ # Установите размер окна перегрузки узла. $node($i) установить cwnd_ 20 } for {set i 0} {$i <$num_nodes} {incr i} { # Установите исходный трафик для каждого узла. $node($i) установить тип трафика CBR $node($i) установить start_time_ 0 с $node($i) устанавливает cbr_rate_ 100 Кбит/с $node($i) устанавливает rtt_ 50 мс # Установите IP-адрес назначения для каждого источника. $node($i) set packageDest_ 10.$i.2.1 # Установите трафик приемника для каждого узла. set раковина($i) [новый агент/ноль] $sink($i) set addr_ 10.$i.2.1 $ns Attach-агент $sink($i) } установить переключатель [новый CMUcsma] for {set i 0} {$i <$num_nodes} {incr i} { $ns Connect $node($i) $switch } $ns в 0,1 "$node(0) начинает отправку" $ns в версии 1.1 "$node(1) начинает отправку" $ns в версии 2.1 "$node(2) начинает отправку" $ns в версии 3.1 "$node(3) начинает отправку" $ns в версии 4.1 «$node(4) начинает отправку» $ns в версии 5.1 «$node(5) начинает отправку» $ns в версии 6.1 «$node(6) начинает отправку» $ns в версии 7.1 «$node(7) начинает отправку» $ns в 8.1 «$node(8) начинает отправку» $ns в версии 9.1 "$node(9) начинает отправку" $ns запустить установить график [новый график/Xgraph - ширина 640 - высота 480] $plot устанавливает панели стилей $plot set xlabel "Время (с)" $plot set ylabel «Размер окна перегрузки» for {set i 0} {$i <$num_nodes} {incr i} { $plot добавить $node($i) cwnd_ } for {set i 0} {$i <$num_nodes} {incr i} { $plot добавить легенду $node($i) } $plot включает автомасштабирование $plot сохранить график.png ```
Настройте источники и приемники трафика.
Создайте коммутатор Ethernet.
Прикрепите переключатель к узлам.
Запустите симуляцию.
Показать результаты
Выберите стиль печати.
Установите метки осей X и Y.
Добавьте трассировки для разных узлов, чтобы построить окно перегрузки.
Установите легенду для графика.
Установите автоматическое масштабирование графика.
Сохраните график как изображение PNG.