Знакомство с языком Tcl
Задание: Написать скрипт на языке Tcl. Номер первого примера выбирается в соответствии с вашим вариантом. Вариант выдается преподавателем. Второй пример выбирается произвольно (он должен быть не однотипен с первым)
Варианты заданий:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Содержание отчета:
· пример скрипта на языке OTcl;
· тестовые расчеты для примеров.
Контрольные вопросы:
· Языки Tcl/OTcl/Tk. Когда были созданы, для чего используются.
· Базовые команды и синтаксис.
Моделирование сети древовидной топологии
Задание. Написать скрипт на языке OTcl, в пакете ns2. Скрипт должен описывать топологию сети в соответствии с вашим вариантом (см. табл. 1.) Вариант выдается преподавателем. Полученные в результате моделирования данные сохранить и оформить в отчете.
Таблица 2.1.
Варианты заданий
Вариант | топология | Звенья | ||||||||||
a | b | c | - | - | - | - | - | - | - | - | ||
d | e | f | g | - | - | - | - | - | - | - | ||
a | b | c | d | e | f | g | h | - | - | - | ||
f | g | h | i | j | k | - | - | - | - | - | ||
h | i | j | k | a | b | c | d | e | f | - | ||
j | i | h | g | f | - | - | - | - | - | - | ||
e | f | g | h | i | j | k | a | b | - | - | ||
h | g | f | e | d | c | b | a | - | - | - | ||
c | d | c | d | c | d | c | d | c | d | c | ||
d | f | g | d | f | g | d | f | g | d | f | ||
j | k | j | k | g | h | g | h | g | h | a | ||
b | d | f | h | j | k | a | c | e | g | j | ||
i | j | k | k | k | k | k | a | - | - | - | ||
k | j | i | h | g | f | e | d | c | - | - | ||
k | a | b | c | d | - | - | - | - | - | - | ||
g | h | i | j | k | a | b | c | d | e | - | ||
a | b | c | d | f | g | - | - | - | - | - | ||
i | j | k | a | b | c | d | e | - | - | - | ||
h | i | j | k | - | - | - | - | - | - | - | ||
d | e | f | - | - | - | - | - | - | - | - |
Методические указания. Номер топологии соответствует номерам рисунков в приложении. Описание звеньев (буквы a, b, c…) соответствуют данным в табл. 2.2. Приложения, создающие трафик в сети, агенты и агенты- приемники даны в табл. 2.4. Большая латинская буква соответствует данным в табл.2.3.
Номер узла, написанный через знак «/» соответствует узлу-приемнику. Например в седьмом варианте в строчке n1 записано M/n8. Это значит, что в узле n1 необходимо создать приложение, распределенное по экспоненциальному закону, транспортным агентом которого будет являться UDP. UDP-приемник же должен находиться в узле n8. Параметры всех приложений необходимо ввести самостоятельно. Длительность моделирования и всех at-событий предлагается выбрать самим, но так, чтобы все приложения действовали одновременно хотя бы 1.5 секунды.
Таблица 2.2.
Описание параметров звеньев сети
Пропускная способность | Задержка | ДО | |
a | 2Мбит/с | 1мс | DropTail |
b | 512кбит/с | 10мс | RED |
с | 64кбит/с | 100мс | DropTail |
d | 10Мбит/с | 50мс | RED |
e | 100Мбит/с | 5мс | DropTail |
f | 256кбит/с | 12мс | RED |
g | 128кит/с | 4мс | DropTail |
h | 155Мбит/с | 500мс | RED |
i | 1Гбит/с | 130мс | DropTail |
j | 625Мбит/с | 156мс | RED |
k | 10Гбит/с | 750мс | DropTail |
Таблица 2.3.
Обозначения законов распределения и типов трафика, принятые в ns2
CBR | FTP | Exponential | Telnet | Pareto | |
TCP | A | B | C | D | E |
TCP/Reno | F | G | H | I | J |
UDP | K | L | M | N | O |
В результате моделирования необходимо получить рисунок топологии сети в визуализаторе nam, идентичный или похожий на рисунок в приложении 1. Также необходимо получить выходной трейс-файл с расширением *.tr, в котором зарегистрированы все события произошедшие в сети. При помощи программы Tracegraph 2.04 (можно и другим способом) определить общее количество отправленных и потерянных пакетов, количество пакетов, отправленных и потерянных каждым узлом. Для этого:
a. Запустить файл trgraph.exe
b. Откроется 4 окна 1 – dos, 2 – network information, 3 – graphs 4 – tracegraph 2.04
c. В четвертом окне нажать file->open
d. Найти свой трейс-файл и открыть его
e. После загрузки открыть 2 окно и на закладке network information
-> simulation information. Скопировать таблицу в отчет и проанализировать данные:
ü # of gen. – сгенерированных
ü sent посланных
ü dropped отброшенных
ü lost потерянных
f. Установить на закладке options ->automatically refresh information (для автоматической перестройки графиков и таблиц)
g. в окне tracegraph 2.04 изменять current node
h. Изменение данных отслеживать в таблице network information
-> current node information
Конструкции, обязательные для использования в лабораторной работе:
$ns_queue-limit <n1> <n2> <limit>
<n1> <n2> - узлы в сети
<limit> - размер очереди в пакетах
$nodecolor[color]; #setscolorofnode
$nodeshape[shape]; #setsshapeofnode
$nodelabel[label]; #setslabelonnode
$nodelabel-color[lcolor]; #setscoloroflabel
$nodelabel-at[ldirection]; #setspositionoflabel
$nodeadd-mark[name][color][shape]; #addsamarktonode
$nodedelete-mark[name]; #deletesmarkfromnode
$nsduplex-link-oporientright; #orientationissetasright.Theorder
#inwhichlinksarecreatedinnam
#dependsoncallingorderofthisfunction.
$nsduplex-link-opcolor"green"
$nsduplex-link-opqueuePos0.5
$nsduplex-link-oplabel"A"
Таблица 2.3.