Это команда nam, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
nam - Сетевой аниматор VINT / LBL
СИНТАКСИС
Нама [ -g геометрия ] [ -t графВвод ][ -i интервал ] [ -P одноранговое имя ] [ -N Название приложения ] [ -c
размер кэша ] [ -f файл конфигурации ] [ -S ] файл трассировки
ОПИСАНИЕ
Nam это инструмент анимации на основе Tcl / TK для просмотра трассировок сетевого моделирования и реального мира.
данные трассировки пакетов.
Первый шаг к использованию nam - создание файла трассировки. Файл трассировки должен содержать
информация о топологии, например узлы, ссылки, а также трассировки пакетов. Подробный формат
описано в разделе TRACE FILE. Обычно файл трассировки создается ns(1), В течение
при моделировании нс пользователь может создавать конфигурации топологии, информацию о компоновке и пакетные
трассировки с использованием трассировки событий в нс. Ссылаться на ns(1) для получения подробной информации.
Когда файл трассировки сгенерирован, он готов к анимации с помощью nam. При запуске nam
прочитает файл трассировки, создаст топологию, откроет окно, при необходимости выполнит разметку, затем
пауза во время первого пакета в файле трассировки. Через свой пользовательский интерфейс nam
обеспечивает контроль над многими аспектами анимации. Эти функции будут описаны.
подробно в разделе ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.
Эта версия nam является экспериментальной - в ней будут ошибки !. Пожалуйста, напишите ns-
[электронная почта защищена] если вы обнаружите какие-либо ошибки, или с предложениями по желанию
функциональность.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-g Укажите геометрию окна при запуске. Формат описан в X(1)
-t [Информация не завершена] Дайте указание nam использовать tkgraph и укажите имя входного файла.
для ткграф.
-i [Информация для этого параметра может быть неточной] Укажите скорость (реальные) миллисекунды
как скорость обновления экрана. Скорость по умолчанию составляет 50 мс (т. Е. 20 кадров в секунду).
Обратите внимание, что X-сервер может не справиться с этой скоростью, и в этом случае
анимация будет работать настолько быстро, насколько это позволяет X-сервер (при 100% загрузке процессора).
-N Укажите имя приложения для этого экземпляра nam. Это имя приложения может быть позже
использоваться в одноранговой синхронизации.
-P Укажите имя приложения экземпляра однорангового имени, выполнение которого будет
синхронизируется с выполнением этого экземпляра nam. См. Вариант выше
(-N) как указать имена приложений.
Общее использование: (1) запуск первого экземпляра nam (ведомого):
Нама -N <имя # 1> <след файл имя # 1>
Затем запустите второй экземпляр nam (который будет мастером):
Нама -N <имя # 2> <след файл имя # 2>
Затем каждый элемент управления анимацией (воспроизведение, остановка, назад, но исключать другой осмотр
и интерактивные операции, такие как мониторинг) будут синхронизированы между двумя
экземпляров.
Обратите внимание: поскольку этот механизм использует команду отправки Tcl, он требует, чтобы
ваш X-сервер использовал xauth в качестве аутентификации. В частности, вам следует добавить опцию
`-auth 'когда вы запускаете свой X-сервер. Без этого
вариант, X будет использовать xhost в качестве аутентификации, которая слишком слабая и считается
ненадежный. Обратитесь к странице руководства Xsecurity, xauth и Xserver для получения подробной информации, а также
доступные протоколы аутентификации.
-c [Информация неполная] Максимальный размер кеша, используемого для хранения "активных"
объекты при выполнении обратной анимации.
-f Имя файлов инициализации, загружаемых при запуске. В этом файле пользователь
может определять функции, которые будут вызываться в файле трассировки. Примером этого является
события 'link-up' и 'link-down' динамических ссылок в нс. (Ссылаться на $ нс ртмодель
для подробностей и, например, tcl / ex / simple-dyn.tcl в вашем каталоге ns). Пример
Файлы инициализации можно найти в ex / sample.nam.tcl и ex / dynamic-nam.conf.
-S Включите синхронное поведение X, чтобы упростить отладку графики. Для UNIX
система работает только с X.
файл трассировки - имя файла, содержащего данные трассировки для анимации (формат
описано в разделе ТРАССИРОВКА ФАЙЛА ниже). Если файл трассировки не читается, Нама попробую открыть
файл трассировки.нам.
ОБЪЕКТЫ IN ДН
nam выполняет анимацию, используя следующие строительные блоки: узел, ссылка, очередь, пакет, агент,
монитор. Они определены ниже:
узел Узлы создаются из события трассировки «n» в файле трассировки. Он представляет собой
источник / хост / маршрутизатор и т. д. nam будет прекращен, если есть повторяющиеся определения для
тот же узел. Узел может иметь много форм (круг, квадрат и шестиугольник), но один раз
созданный, он не может изменить свою форму. Узел тоже может иметь много цветов, он может меняться
его цвет во время анимации. Ссылаться на ns(1) для связанных событий трассировки.
ссылке. Связи создаются между узлами, чтобы сформировать топологию сети. нам ссылки
внутренне симплексный, но невидимый для пользователей. Событие трассировки l создает
две симплексные ссылки и другие необходимые настройки, поэтому для пользователей он выглядит идентично
дуплексное соединение. Ссылка может иметь много цветов, она может менять свой цвет во время анимации.
Обратитесь к ns(1) для связанных событий трассировки.
очередь Очередь нужно построить между двумя узлами. В отличие от ссылки, очередь имен
связано с симплекс ссылка. Событие трассировки q создает очередь только для
симплексная ссылка. В nam очереди визуализируются как уложенные пакеты. Пакеты
сложены по линии, угол между линией и горизонтальной линией может быть
указанное в событии трассировки 'q'.
пакет Пакет отображается в виде блока со стрелкой. Направление стрелки показывает
направление потока пакета. Пакеты в очереди показаны маленькими квадратами. Пакет
может быть удален из очереди или ссылки. Отброшенные пакеты показаны вращающимися
квадраты и исчезнут в конце экрана. Сброшенные пакеты не видны
во время обратной анимации.
агент Агенты используются для отделения состояний протокола от узлов. Они всегда связаны
с узлами. У агента есть имя, которое созданного идентификатор-го агента. это
отображается в виде квадрата с его названием внутри, а линия связывает квадрат с его
связанный узел.
Автоматические Палубы Prestige XXNUMX
В nam топология задается чередованием узловых объектов с граничными объектами. Но
отобразить топологию в доступной форме, нужен механизм верстки. В настоящее время имя
предоставляет два метода компоновки.
Во-первых, пользователь может указать ориентацию краев. Ориентация кромки - это угол между
край и горизонтальная линия в интервале [0, 2 * pi). Во время макета nam будет учитывать
с учетом ориентации краев. Обычно он сначала выбирает ссылочный узел, а затем размещает
другие узлы используют ориентацию кромки и длину кромки, которая определяется задержкой связи.
Это хорошо работает для небольших топологий, созданных вручную.
Во-вторых, когда мы имеем дело со случайно сгенерированными топологиями, большими или маленькими, мы
может захотеть сделать макет автоматически. Алгоритм автоматического построения графика ([1] [2])
адаптировано и реализовано. Основная идея алгоритма - смоделировать граф в виде шаров.
(узлы) соединены пружинами (ребрами). Шарики будут отталкивать друг друга, а пружины тянут
их вместе. Эта система (надеюсь) сойдется после некоторых итераций. На практике,
после небольшого количества итераций (десятки или сотни) большинство графиков сходятся к
визуально понятная структура.
Есть 3 параметра для настройки процесса автоматического макета:
Ca Константа силы притяжения, которая контролирует силу пружины между шариками. Дефолт
значение 0.15
Cr Константа силы отталкивания, которая контролирует силу отталкивания между шарами.
Значение по умолчанию - 0.15.
Количество итераций
Я объяснил. Значение по умолчанию - 10.
Для небольших топологий с десятками узлов, используя параметры по умолчанию (возможно, с
Еще 20-30 итераций) будет достаточно, чтобы получить красивый макет. Но для большего
топологии, необходима тщательная настройка параметров. Ниже приводится эмпирический метод
макет 100-узловой случайной топологии транзитной заглушки, созданной ITM Технологического института Джорджии
разработчик топологии Интернета. Сначала установите Ca_ и Cr_ на 0.2, сделайте около 30 итераций,
затем установите Cr_ на 1.0, Ca_ примерно на 0.01, затем выполните около 10 итераций, затем установите Ca_
до 0.5, Cr_ до 1.0, сделайте около 6 итераций.
USER ИНТЕРФЕЙС
Верхняя часть Нама Нама окно - это МЕНЮ . Два раскрывающихся меню находятся слева от
строка меню. В настоящее время меню «Файл» содержит только кнопку «Выйти». В нем есть "Открыть ..."
кнопка тоже, но это еще не реализовано. В меню «Просмотр» есть 4 кнопки:
- Кнопка «Новый вид»: создает новый вид той же анимации. Пользователь может прокручивать и масштабировать
на новый взгляд. Все виды будут анимированы синхронно.
- Флажок Показать мониторы: если этот флажок установлен, в нижней половине окна будет отображаться панель,
где будут отображаться мониторы.
- Флажок Показывать автоматическое размещение: если этот флажок установлен, панель будет отображаться в нижней половине окна,
который содержит поля ввода и кнопку для автоматической настройки макета. Эта коробка может
не всегда включается. Если файл трассировки имеет собственные спецификации макета, это
коробка будет отключена. Если и только если файл трассировки не имеет полного макета
спецификации (т.е. каждая ссылка имеет ориентацию, указанную в трассировках), будет ли это
поле быть включено.
- Флажок "Показать аннотацию": если этот флажок установлен, в нижней половине окна отображается список.
window, которое будет использоваться для перечисления аннотаций в возрастающем порядке времени.
Меню «Справка» находится в правой части строки меню. На нем есть две кнопки. Щелкнув
кнопка «Справка» откроет новое окно с информацией об использовании имени.
При нажатии кнопки «О программе» откроется новое окно с историей и статусом
Нам.
Клавиши ускорения
ALT + 'f' откроет меню «Файл». ALT + 'v' откроет меню «Открыть ...».
ESC прервет текущий выбор меню.
Под строкой меню есть контроль бар содержащий 6 кнопок, метку и
малая полоса прокрутки (масштаб). Их можно нажимать в любом порядке. Мы объясним им
слева направо.
Кнопка 1 (<<)
Перемотка назад. При нажатии время анимации вернется в 25 раз больше, чем
текущая частота обновления экрана.
Кнопка 2 (<)
Обратная игра. При нажатии анимация будет воспроизводиться в обратном времени.
Кнопка 3 (квадратная)
Стоп. При нажатии анимация приостанавливается.
Кнопка 4 (>)
Игра вперед. При нажатии анимация будет воспроизводиться в возрастающем порядке.
Кнопка 5 (>>)
Перемотка вперед. При нажатии время анимации увеличивается в 25 раз.
текущая частота обновления экрана.
Кнопка 6 (логотип Chevron)
Покидать.
Метка времени
Показать текущее время анимации (т.е. время моделирования, как в файле трассировки).
Ползунок оценки
Управляет частотой обновления экрана (детализацией анимации). Текущая ставка
отображается в метке над ползунком.
Под первой панелью управления находится Главная Дисплей, который содержит панель инструментов и основной
панель просмотра с двумя полосами прокрутки панорамирования. Все новые представления создаются кнопкой меню "Файл / новый".
view 'будет иметь эти три компонента.
Панель инструментов содержит две кнопки масштабирования. Кнопка со стрелкой вверх увеличивает масштаб, кнопка
со стрелкой вниз уменьшает масштаб. Две полосы прокрутки используются для панорамирования основного представления анимации.
При нажатии левой кнопки на любом из объектов на главной панели просмотра появится всплывающее окно.
информационное окно в точке щелчка. Для объектов пакета и агента существует
кнопка «монитор» во всплывающем окне. При нажатии на эту кнопку откроется панель монитора.
(если его там нет), и добавьте к объекту монитор. Для объекта ссылки будет
Кнопка «График». Щелчок по этой кнопке откроет другое всплывающее окно, в котором пользователь может
выберите построение графика использования полосы пропускания или графика потери связи одного из двух симплексов
ссылки дуплексной ссылки, на которые щелкнули. Эти функции также доступны в представлениях
создается "Файл / новое представление". ЗАМЕТКА: Эти функции ВЫСОКО ЭКСПЕРИМЕНТАЛЬНАЯ И
НЕСТАБИЛЬНЫЙ в этом выпуске (v1.0a2).
Под гаджетами, которые мы обсуждали до сих пор, может быть, а может и не быть Монитор хлеб,
в зависимости от того, установлен ли флажок «Просмотр / отображение мониторов». (По умолчанию не установлено). Все
на этой панели будут показаны мониторы. Монитор выглядит как большая кнопка на панели.
В настоящее время монитор может иметь только пакет и агент.
Монитор пакетов показывает размер, идентификатор и время отправки. Когда пакет достигает своего
назначения, монитор все еще будет там, но сообщит, что пакет невидим.
Монитор агента показывает имя агента, и если есть какие-либо следы переменных
связанные с этим агентом, они также будут там показаны.
Под панелью монитора (или на ее месте, если панели монитора нет) есть Время
Слайдер. Это похоже на масштабированное правило с тегом "ВРЕМЯ", который можно перетаскивать
правило. Используется для установки текущего времени анимации. При перетаскивании тега "ВРЕМЯ" текущий
Время анимации будет отображаться на метке времени на панели управления выше. Левый край
ползунка представляет время самого раннего события в файле трассировки, а правый край
представляет время последнего события.
Нажатие левой кнопки на правиле (не на теге) имеет тот же эффект, что и «Перемотка назад» или «Быстрая».
Вперед, в зависимости от позиции щелчка.
Команда Автоматический Планировка хлеб могут быть видимыми или скрытыми. Если виден, то он ниже времени
слайдер. Он имеет три поля ввода и одну кнопку реле. Помеченные поля ввода позволяют
пользователь настраивает две автоматические константы макета и количество итераций в течение следующих
макет. Когда пользователь нажимает ENTER в любом из полей ввода или нажимает кнопку «реле»,
это количество итераций будет выполнено. Обратитесь к разделу АВТОМАТИЧЕСКАЯ ПЛАТА для
подробности использования.
Нижний компонент окна nam - это аннотирование Список, где аннотации
отображается. Аннотация - это пара (время, строка), которая описывает событие, происходящее в
то время. Ссылаться на ns(1) для функций для создания аннотаций. Дважды щелкните значок
аннотация в списке приведет к названию времени, когда эта аннотация будет записана.
Когда указатель находится внутри списка, нажатие правой кнопки остановит анимацию и вызовет
всплывающее меню с 3 вариантами: Добавить, Удалить, Информация. `Добавить 'вызовет диалоговое окно с
ввод текста и добавьте новую запись аннотации с текущим временем анимации. Пользователь может
введите строку аннотации в диалоговом окне. `Delete 'удалит запись аннотации
указано указателем. `Информация 'откроет панель, которая показывает время аннотации
и строка аннотации.
КЛАВИАТУРА КОМАНДЫ
[Некомпетентный, но точный] Большинство кнопок имеют эквиваленты клавиатуры. Обратите внимание, они только
функция, когда курсор мыши находится внутри окна nam.
Ввод пробела или возврата приведет к приостановке nam, если она еще не приостановлена. Если nam приостановлено,
пробел или возврат переместят анимацию на один смоделированный такт часов. (Если ваша клавиатура
автоповторах, удерживание пробела - хороший способ замедлить прохождение некоторой части
анимация.)
`p 'или` P'
Пауза, но не шаг в случае паузы.
`c 'или` C'
Продолжайте после паузы.
`b 'или` B'
Уменьшите время анимации на один интервал обновления экрана.
`r 'или` R'
Перемотка назад.
`f 'или` F'
Fast Forward.
`n 'или` N'
Перейти к следующему событию.
`x 'или` X'
Отменить последнее изменение ставки
`u 'или` U'
Отменить последнее перетаскивание ползунка.
`> 'или`.'
Увеличьте степень детализации (ускорение) на 5%.
`<'или`,'
Уменьшите степень детализации (замедление) на 5%.
ПРОБЕЛ Переключение состояния паузы nam.
`q ',` Q' или Control-c
Выход
ЗАПИСЫВАЕМ АНИМАЦИЯ
Чтобы записать анимацию nam, выберите параметр `` Записать анимацию '' в меню файлов. А
будет создана серия файлов namXXX.xwd (где XXX - номер кадра), по одному за раз.
шаг. Эти файлы затем могут быть собраны в анимированные GIF-файлы или MPEG-файлы с соответствующими
инструменты постобработки.
СЛЕД ФАЙЛОВ ФОРМАТ
События файла трассировки можно разделить на 6 типов, в зависимости от того, для какого объекта произошло событие.
связано. Ниже мы их подробно обсудим.
Пакетные события пакета Basic представляют собой типовой символ, за которым следуют некоторые теги:
-t -e -s -d -c -я
один из:
`h '- Хмель. Пакет начал передаваться по ссылке от src_addr к
dst_addr
`r '- Получить. Пакет завершил передачу и начал прием в
место назначения.
`d '- Капля. Пакет был удален из очереди или ссылки с src_addr на dst_addr.
`+ '- войти в очередь. Пакет поступил в очередь от src_addr до dst_addr.
`- '- Выйти из очереди. Пакет покинул очередь от src_addr до dst_addr.
Drop here не делает различий между удалением из очереди или ссылки. Это решено
по времени сброса.
Флаги имеют следующие значения:
-t время, когда произошло событие.
-e размер (в байтах) пакета.
-s является исходным узлом.
-d это целевой узел.
-c это идентификатор разговора.
-я это идентификатор пакета в разговоре.
-а - это атрибут пакета, который в настоящее время используется как идентификатор цвета.
Для некоторых протоколов могут быть добавлены дополнительные флаги. Этот список может быть расширен как
обязательный:
-П дает строку ASCII, определяющую список пакетов, разделенных запятыми
типы. Вот некоторые значения: TCP - пакет данных tcp. ACK - общее подтверждение.
NACK - общее отрицательное подтверждение. SRM - пакет данных SRM.
-n дает порядковый номер пакета.
Состояние ссылки / очереди
л-т -s -d -S [-c ] [-р -D ]
q -t -s -d -а
дает переход состояния ссылки. Имеет 3 возможных значения: ВВЕРХ и ВНИЗ.
отмечает сбой и восстановление связи, ЦВЕТ отмечает изменение цвета ссылки. Если задан ЦВЕТ,
следующий -c ожидается, что дает новое значение цвета. В событии ссылки
[-р -D ] дает полосу пропускания канала и задержку соответственно. Это только используется
когда nam создает ссылку, т. е. загружает файл трассировки.
задает позицию в очереди, т. е. угол между звеном, по которому
Пакеты в очереди отображаются горизонтальной линией.
Состояние узла
н-т -s -S [-c ] [-o ] [-A ]
Флаги `-t ',` -S' и `-c 'имеют то же значение, что и в Link. Флаг `-A 'используется
для добавления произвольной строки к метке узла. Его можно использовать для отображения
объяснения состояния узла. Флаг `-o 'используется при обратной трассировке для восстановления старых
цвета узла.
Отметка узла
Метки узлов представляют собой цветные кружки вокруг узлов. Их создают:
м-т -n -s -c -час [-o ]
и могут быть удалены:
м-т -n -s -ИКС
Обратите внимание, что после создания метка узла не может изменить свою форму. Возможные варианты
для форм - круг, квадрат и шестиугольник. Они определяются как строчные строки
точно так же, как указано выше.
Состояние протокола
Агенты могут быть созданы:
в -n -s -d
Их можно разрушить:
в -n -s -d -ИКС
Чтобы визуализировать переменные состояния протокола, связанные с агентом, мы используем имя
`особенность '. В настоящее время мы допускаем три типа функций: таймеры, списки и просто
переменные. Но только последний реализован в ns(1) API трассировки.
Функции могут быть добавлены или изменены в любое время после создания агента с помощью:
f -t -а -T -n -v -о
это `l 'для списка,` v' для простой переменной, `s 'для остановленного таймера,` u'
для таймера с обратным отсчетом, `d 'для таймера с обратным отсчетом.
-v дает новое значение переменной. Технология значения - простые ASCII
строки, подчиняющиеся соглашениям о цитировании строк TCL. Список значения подчиняются списку TCL
конвенций. Таймер значения представляют собой числовые значения ASCII.
-о дает предыдущее значение переменной. Это для того, чтобы
игра анимации.
Функции могут быть удалены с помощью:
f -t -а -n -o -ИКС
Разное v -t TCL скрипт string
используется для аннотации, он может включать произвольный tcl-скрипт, который будет выполняться в
заданное время, пока сценарий находится в одной строке (не более 256 символов). В
порядок флага и строки важен.
c -t -я -n
определяет цвет. Название цвета должно быть одним из названий, перечисленных в базе данных цветов.
в X11 (/usr/X11/lib/rgb.txt). После этого определения можно указать цвет.
используя его идентификатор.
ПРИМЕРЫ
Используйте nam онлайн с помощью сервисов onworks.net