Нажмите Далее>, чтобы запустить процесс установки.
Рисунок 8 – Выбор компонентов Cygwin
Несколько окон, не требующих вмешательства пользователя, были пропущены при описании, как правило, они требуют одного действия – нажать Да-
лее>.
После запуска процесса установки, вы увидите окно, представленное на рисунке 9.
По завершении вы увидите окно как на рисунке 10. Крыжиками отметьте, какие иконки программы вы хотите создать (на рабочем столе, в главном меню), нажмите Готово установка завершена (рисунок 11).
1.1.1.Команды Cygwin
После окончания установки необходимо запустить файл Cygwin.exe. При этом автоматически будут созданы домашняя директория и системные файлы для пользователя Windows.
Следует учесть, что строчные и прописные буквы в Cygwin различаются. Переход в графический режим (X-сервер) осуществляется командой startx
в командном режиме. Работа с ns2 происходит в графическом режиме.
11
Рисунок 9 Процесс установки Cygwin
Рисунок 10 – Окончание установки
12
Рисунок 11 – Установка завершена
Нет необходимости подробно описывать работу в Cygwin, рассмотрим основные команды:
ls – просмотреть содержимое директории;
cd – перейти в указанную директорию;
cp – скопировать файл;
mv – переместить/переименовать файл;
rm – удалить файл;
mkdir – создать директорию;
pwd – вывести текущую директорию.
1.2.Установка ns2
Прежде всего, необходимо загрузить текущую версию пакета (например, ns-allinone-2.35.tar.gz) с официального сайта. Затем распаковать (любым архиватором, поддерживающим данный формат, например, 7-zip) в какую-либо пап-
ку Cygwin.
Будем считать, что пакет ns2 находится в папке C/Cygwin/ns-allinone-2.35/. После запуска Cygwin (Cygwin.bat) нужно перейти в каталог с установочными файлами ns2 командой cd C/Cygwin/ns-allinone-2.35/ и запустить процесс установки командой ./install (точка-слеш-install).
Должно появиться окно, представленное на рисунке 12.
13
Рисунок 12 – Процесс установки пакета ns2 в эмуляторе Cygwin
При успешном завершении установки должно появиться сообщение об этом.
В конце появятся important notices (важные указания), их необходимо выполнить.
Для этого в Windows открыть папку C:/cygwin/etc и найти файл profile. Открыть его с помощью редактора, поддерживающего перенос строк Unix. В Windows можно использовать редактор Notepad++ (http://notepad-plus-plus.org/).
Поместить в данный файл следующие строки:
export NS_HOME=/ns-allinone-2.33/ export
LD_LIBRARY_PATH=$NS_HOME/otcl:$NS_HOME/lib:$LD_LIBRARY_ PATH
export TCL_LIBRARY=$NS_HOME/lib export PATH=$NS_HOME/bin:$PATH
Примечание: Если вы установили ns2 в директорию, отличную от
C:/cygwin/ns-allinone-2.33/, то путь к NS_HOME (верхняя строчка) будет отли-
чаться от приведённого.
Сохранить файл profile, закрыть Сygwin, если он запущен, и запустить его заново. Для проверки можно набрать в командной строке ns. Если установка и настройка пакета были выполнены правильно, то появится приглашение ns: знак %.
Для проверки работоспособности ns2 введите startx. Зайдите в папку
C:/cygwin/ns-allinone-2.33/ns-2.33/tcl/ex и запустите скрипт simple.tcl с помо-
14
щью команды ns simple.tcl. Появится визуализатор Nam, c помощью которого можно увидеть модель сети.
2. Компоненты модели ns2
Создание модели начинается с создания объекта ns класса Simulator командой:
set ns [new Simulator]
Основными компонентами моделирования ns2 являются:
планировщик событий;
сетевые объекты;
события (at события и пакеты).
2.1.Планировщик событий
Основой моделирования в ns2 является планировщик событий (Event Scheduler). Есть два вида планировщиков реального времени и модельного време-
ни. Первый используется для взаимодействия модели с реальной сетью. Мы в дальнейшем будем использовать планировщик событий модельного времени.
Планировщик по очереди (в хронологическом порядке) выбирает из таблицы события и извещает соответствующие сетевые объекты о наступлении этих событий, сообщая также момент времени, в который произошло это событие.
Помещать события в таблицу планировщика могут как сами сетевые объекты, так и пользователь при описании модели. В первом случае событие называется пакетом, во втором – at-событием.
Любое взаимодействие между сетевыми объектами осуществляется через посредство планировщика. Отправка пакета одним сетевым объектом другому есть не что иное, как постановка отправителем в таблицу события, адресованного получателю и помеченного тем моментом времени, когда пакет должен до этого получателя дойти (возможно, с учетом задержки при передаче). Получение пакета, соответственно, представляет собой извещение планировщиком получателя о событии и обработка этого события получателем. На рисунке 13 приведён пример работы планировщика.
Календарь в планировщике модельного времени установлен по умолчанию.
Планировщик служит также для моделирования таких событий как старт приложения, запуск и окончание моделирования, запуск процедуры и т.д.
Пример добавки at-события (запуск процедуры «procedure_primer» через 30 с.):
…
$ns at 30 "procedure_primer"
…
15