Разработка эмулятора маршрутизируемой IP сети

Разработка программы – сетевого эмулятора, позволяющего представить в графическом виде топологию маршрутизируемой сети. Сравнительный анализ существующих программных эмуляторов сетей и сетевого оборудования. Моделирование протоколов маршрутизации.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 26.09.2014
Размер файла 512,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

ВВЕДЕНИЕ

Практически все сети (пожалуй, кроме самых небольших, состоящих из нескольких компьютеров) являются сегодня составными, т. е. состоящими из нескольких сетей, каждая из которых может работать на основе собственной технологии канального уровня (хотя это и не обязательно). Такое положение дел складывается по разным причинам: историческим - общая сеть создавалась постепенно, объединяя все большее число изолированных до этого сетей; техническим - разделенной на части сетью легче управлять и т. п. С развитием Internet количество сетей, не относящихся к составным, резко уменьшилось. Даже сети небольших офисов или домашние сети все чаще становятся постоянными или временными (на время подключения по телефонной сети) членами этой самой большой в мире составной сети.

Сложные составные сети состоят из большого количества элементов - маршрутизаторов, концентраторов, коммутаторов, модемов, мостов и т.п. телекоммуникационного оборудования.

При разработке сложных составных сетей нередко встает задача предварительного моделирования такой сети с целью проверки используемых технических решений. Анализ работы созданной модели сети позволяет до ее физической реализации оценить характеристики проектируемой сети, а также разработать необходимую конфигурацию интеллектуальных сетевых устройств.

Данная задача, при всей ее кажущейся простоте, является довольно сложной из-за большого разнообразия применяемого оборудования.

В сложных составных сетях почти всегда существует несколько альтернативных маршрутов для передачи пакетов между двумя конечными узлами. Задачу выбора маршрутов из нескольких возможных решают маршрутизаторы, а также конечные узлы.

Отработка вариантов выбора различных маршрутов в сети тоже является предметом моделирования. В данном случае - моделирование позволяет обнаружить потенциальные проблемы, связанные с использованием различных протоколов маршрутизации пакетов.

Итак, целью дипломного проекта является разработка программы - сетевого эмулятора, позволяющая представить в графическом виде топологию сети, описать характеристики различных сетевых устройств, а также в режиме демонстрации показать работу спроектированной сети.

1. ОБЗОР ЭМУЛЯТОРОВ СЕТЕВОГО ОБОРУДОВАНИЯ

1.1 Понятие термина «эмулятор». Понятие сети электросвязи

Эмулятор - это продукт, созданный для имитации одной системы другой и преследующий цель полного восприятия данных и достижения идентичных результатов, для запуска программного обеспечения (American Heritage Dictionary, Second College Edition, s.v. "emulate").

Сетевой эмулятор - это продукт, созданный для имитации работы сетевого телекоммуникационного оборудования, преследующий цель создания среды, отражающей работу реальной телекоммуникационной сети. В общем случае, любая телекоммуникационная сеть является частью сети электросвязи.

Сеть электросвязи представляет многофункциональную непрерывно меняющуюся и развивающуюся восстанавливаемую систему, срок жизни которой во много раз больше срока жизни ее многочисленных и разнородных элементов. Ее развитие идет как в направлении расширения, охвата и увеличения числа пользователей и требований по доставке, так и в направлении введения новых видов связи и услуг. К особенностям сети электросвязи как большой системы также относятся: большое число разнообразных (по функциям и объемам передаваемых сообщений) оконечных пунктов и узлов, неоднородное их распределение по территории страны; использование линий (каналов) с различной средой распространения и пропускной способностью; малая связность (непосредственная связь каждого пункта лишь с небольшим числом пунктов, как правило, соседних) и неоднородность тяготений (по видам связи и объемам) между отдельными оконечными пунктами

Основой сети связи является ее структура - пункты и линии (каналы) связи. Сеть с N пунктами характеризуется прежде всего их расположением - географией сети, что определяется либо перечнем координат всех пунктов а1,..., аn, либо расстояниями между ними: кратчайшими (по прямой) lijкр или по линиям сети lij. Расстояния могут быть записаны в виде матриц Lкр = || lijкр || или L= || lij ||.

Все пункты сети по своей роли в доставке информации можно разделить на два основных класса:

1. Оконечные пункты ? ОП, содержащие аппаратуру ввода, вывода, а иногда и обработки информации. Оконечный пункт обеспечивает взаимодействие пользователей с сетью по вводу, выводу и обработке сообщений, но не осуществляет функций транзита. Он характеризуется аппаратурой ввода и вывода, наличием дополнительных устройств, наличием персонала, а также стоимостью и областью обслуживания (индивидуальный абонент, квартира, предприятие или учреждение, район, город и т. п.). Оконечный пункт, расположенный непосредственно у определенного пользователя-абонента, называется абонентским пунктом (АП). В телекоммуникационной сфере для обозначения оконечного пункта используется такое понятие как хост (host). Хост это персональный компьютер, рабочая станция, сервер или иное устройство, подключенное к сети и обеспечивающее пользователю связь с другими хостами сети. Связь между пользователями осуществляется с помощью специальных программ (электронная почта, Telnet, FTP). Иногда для обозначения хостов используют термины data terminal equipment (терминальное оборудование), DTE, node (узел), station (станция).

В некоторых случаях в качестве оконечного пункта сети может рассматриваться узел другой сети. По отношению к сети оконечные пункты являются источниками и потребителями нагрузки, и с этой точки зрения они могут характеризоваться матрицей тяготений.

2. Узлы связи УС, осуществляющие распределение информации на сети:

а) коммутационные узлы КУ, обеспечивающие коммутацию каналов КК, сообщений КС или пакетов КП между сходящимися в узле каналами или линиями от оконечных пунктов и других узлов; б) сетевые (некоммутационные) узлы, в которых осуществляется кроссировка (долговременная коммутация) сходящихся в узле линий для организации пучков прямых каналов. В общем случае узлы всегда выполняют несколько функций, т. е. в коммутационном узле часть каналов может быть скроссирована и имеются каналы, которые не могут быть использованы для транзита. Всякий узел содержит каналообразующую аппаратуру и системы, обеспечивающие распределение сообщений: кросс, системы коммутации каналов, сообщений или пакетов, -- а также устройства управления УУ и может содержать ЭВМ или другие устройства для хранения и обработки информации.

Наиболее часто применяемыми устройствами на узлах связи являются маршрутизаторы. Маршрутизатор (router) - система, отвечающая за принятие решений о выборе одного из нескольких путей передачи сетевого трафика. Для выполнения этой задачи используются протоколы маршрутизации, обеспечивающие сведения о сети и алгоритмы выбора наилучшего пути на основе нескольких критериев, называемых метрикой маршрутизации ("routing metrics"). В терминах OSI маршрутизатор является промежуточной системой сетевого уровня. Иначе можно сказать что маршрутизатор это зависящий от протокола компонент межсетевого взаимодействия, настроенный так, чтобы знать какие сегменты ЛВС взаимодействуют с ним, и отвечающий за передачу пакетов между сегментами по наилучшему пути. Маршрутизатор должен распознавать различные протоколы сетевого уровня, которые могут использоваться для объединения сетей. Многопротокольные маршрутизаторы могут работать с различными протоколами.

Отдельные пункты сети соединяются между собой линиями связи, содержащими каналы для передачи сообщений. Пункты, соединенные непосредственно линиями связи или пучками прямых каналов, будем называть смежными. Под каналом связи или просто каналом в сети будем понимать комплекс устройств и среду распространения, обеспечивающие передачу сообщений (перенос сигналов) из одной точки пространства в другую, причем полюсами (концами) канала будем считать либо точки подключения устройств ввода или вывода информации, либо входы или выходы коммутационных систем. Канал может соединять либо смежные узлы, либо с помощью устройств кроссировки проходить через несколько узлов и соединять несмежные пункты сети. Такие каналы или их пучки будем называть прямыми. Для передачи сообщений между пунктами, не соединенными прямыми каналами, используются коммутационные узлы.

1.2 Классификация эмуляторов

Все эмуляторы телекоммуникационных сетей и сетевого оборудования можно разделить на две основные группы:

1. Аппаратно-реализованные эмуляторы.

2. Программно-реализованные эмуляторы.

К перовой группе относят, как правило, узко специализированное оборудование, позволяющее при подключении к нему реального телекоммуникационного оборудования имитировать работу реальной телекоммуникационной сети, либо какой-то ее части (как правило - каналов связи). В аппаратных эмуляторах на аппаратном уровне реализованы процессы, протекающие в реальных сетях - возникновение задержек, потерь пакетов, искажения передаваемых данных и т.п. событий. Основная цель разработки и применения аппаратных эмуляторов - исследование работы реального телекоммуникационного оборудования в различных условиях и при различных характеристиках каналов.

Ко второй группе эмуляторов относят специально разработанные программы, позволяющие имитировать работу оборудования и каналов связи, а также работу командных интерфейсов активного сетевого оборудования. Основная цель использования программных эмуляторов - применение в качестве обучающих систем для подготовки персонала коммутационных узлов. Также, данные программы используются в научно-исследовательской деятельности, для постановки научных экспериментов.

1.3 Сравнительный анализ существующих программных эмуляторов сетей и сетевого оборудования

Исходя из цели данного дипломного проекта, рассмотрим и сравним имеющиеся программные эмуляторы сетей и сетевого оборудования различных фирм - производителей. В настоящее время существует несколько программных продуктов, выполняющие функции сетевого эмулятора:

1. Network Emulator 3.0/4.0. Автор: Lev Walkin vlm@lionet.info

2. RouterSim's Network Visualizer 3.4/4.0 Автор: Cisco Systems

3. Boson NetSim 5.0/6.0 Авторы: John Swartz, Chad Altman, David Rajala.

4. SemSim 2.2 Автор: Batia InfoTech

Рассмотрим функциональные возможности каждой из представленных программ:

Network Emulator 3.0/4.0. - представляет собой платформу для проведения научных экспериментов, а также систему для углубленного изучения работы сетевых протоколов и моделирования различных сетей. Позволяет дописывать и добавлять в программу собственные модули. Обладает следующими достоинствами/характеристиками:

- поддержка IP маршрутизации

- IP фильтрация совместимая с Cisco маршрутизаторами

- поддержка пакетов следующих типов: ICMP, UDP, TCP, низкоуровневых ARP запросов

- TCP реализация, основанная на RFC 793

- ICMP переназначение и ICMP реализация, основанная на RFC 792

- Address Resolution Protocol (ARP) эмуляция

- реализация концепции интерфейсов

- эмуляция сетевых устройств: host (компьютер), концентратор (hub), коммутатор (switch).

- Реализация: низкоуровневых сокетов (raw socket), дейтаграмм (datagram), потоков (stream).

- Реализация процессов (processes):trace route процесс (UNIX traceroute), talk daemon процесс (UNIX talk daemon), talk client процесс (UNIX talk), telnet процесс (UNIX telnet), echo сервер (UNIX inet daemon internal echo service),

- BGP демон маршрутизации - эмуляция, основанная на RFC 1163

- Реализация каналов: поддержка уровня надежности (эмуляция шумов в линии), соединение точка-точка, Ethernet ЛВС - BNC и TP коннекторы.

- Возможность соединить два сетевых эмулятора через реальную сеть через TCP соединение.

- Простой генератор трафика

- Хорошая система предварительного просмотра

К недостаткам данной программы относится отсутствие привязки сетевых объектов к реальному оборудованию. По этой причине использовать данное программное обеспечение могут только опытные инженеры, хорошо знакомые с основами построения телекоммуникационных сетей.

RouterSim's Network Visualizer 3.0/4.0 - программное обеспечения, предназначенное для визуального построения сетей, реализованных на базе оборудования Cisco Systems. По сути данная программа представляет собой электронный макет, позволяющий произвести настройку небольшой сети. Обладает следующими достоинствами/характеристиками:

- поддержка протоколов IP/IPX/DECnet/AppleTalk, а также их маршрутизации

- поддержка стандартных и расширенных Cisco фильтров

- Address Resolution Protocol (ARP) эмуляция

- реализация концепции командных интерфейсов

- эмуляция сетевых устройств: host (компьютер), коммутатор Catalyst 1912 (switch), маршрутизаторы Cisco 2621 и Cisco 2501 (routers).

- Реализация: Cisco IOS - более 400 команд, включая поддержку протоколов маршрутизации (RIP, OSPF, IGRP, EIGRP, BGP).

- Реализация каналов: соединение точка-точка, Ethernet ЛВС - TP коннекторы.

- Хорошая система предварительного просмотра

Несомненным достоинством данного эмулятора является хорошая проработка поддержки Cisco IOS. Данное программное обеспечение позволяет детально разобраться с возможностями конфигурирования оборудования Cisco. Простота интерфейса позволяет даже слабо подготовленному специалисту создать небольшую сеть на базе оборудования Cisco и произвести его детальную настройку.

К недостаткам данной программы относится небольшое количество поддерживаемого оборудования - на одной сетевой карте можно одновременно использовать 5 маршрутизаторов Cisco 2501, один маршрутизатор Cisco 2621, шесть коммутаторов Catalyst 1912A, 8 компьютеров (hosts).

Boson NetSim 5.0/6.0 - программное обеспечение, предназначенное для визуального построения сетей, реализованных на базе оборудования, аналогичного оборудованию Cisco Systems. Данная программа представляет собой программный эмулятор, позволяющий произвести настройку достаточно большой сети. Обладает следующими достоинствами/характеристиками:

- поддержка протоколов IP/IPX, а также их маршрутизации

- поддержка стандартных и расширенных фильтров, аналогичных фильтрам Cisco

- Address Resolution Protocol (ARP) эмуляция

- реализация концепции командных интерфейсов

- эмуляция большого количества сетевых устройств: host (компьютер), коммутаторы (switch) 4-х моделей - начиная с 1900 серии до 5000-ых моделей, маршрутизаторы (routers) 8-ми моделей - начиная с 800-ых моделей и заканчивая 4500 серией.

- Реализация: Cisco IOS - более 200 команд, включая поддержку протоколов маршрутизации (RIP, OSPF, IGRP, EIGRP, BGP).

- Реализация каналов: соединение точка-точка, Ethernet ЛВС - TP коннекторы, ISDN.

- Хорошая система предварительного просмотра

Данное программное обеспечение позволяет детально разобраться с возможностями конфигурирования оборудования, аналогичному оборудованию Cisco. Интерфейса программы позволяет создать достаточно большую сеть (до 200 объектов) и произвести детальную настройку оборудования.

К недостаткам данной программы относится недостаточно удобный интерфейс - достаточно легко запутаться в контексте какого оборудования в данный момент находишься.

SemSim 2.2. - эмулятор, предназначенный для изучения программного обеспечения Cisco IOS. Данная программа представляет собой программный эмулятор, позволяющий произвести изучение функций Cisco IOS и провести ряд работ над виртуальным оборудованием. Данное программное обеспечение предназначено исключительно для использования в целях обучения. Оно обладает следующими достоинствами/характеристиками:

- поддержка протокола IP, а также его маршрутизации

- поддержка стандартных и расширенных фильтров, аналогичных фильтрам Cisco

- Address Resolution Protocol (ARP) эмуляция

- реализация концепции командных интерфейсов

- эмуляция Cisco маршрутизатора.

- Реализация: Cisco IOS - более 200 команд, включая поддержку протоколов маршрутизации (RIP, IGRP).

- Реализация каналов: соединение точка-точка, Ethernet.

- Хорошая справочная система

Данное программное обеспечение позволяет, выполняя задания, подготовленные разработчиком детально разобраться с возможностями конфигурирования Cisco IOS.

К недостатку данной программы относится невозможность создания собственных сценариев построения сети.

2. ПРОБЛЕМА МОДЕЛИРОВАНИЯ ПРОТОКОЛОВ СЕТВОГО УРОВНЯ

2.1 Понятие и суть моделирования. Моделирование протоколов сетевого уровня

Материальное моделирование - это моделирование, при котором исследование объекта выполняется с использованием его материального аналога (от греч. analogia - соответствие, соразмерность), воспроизводящего основные физические, геометрические, динамические и функциональные характеристики данного объекта.

Идеальное моделирование отличается от материального тем, что оно основано не на материальной аналогии объекта и модели, а на аналогии идеальной, мыслимой и всегда носит теоретический характер.

Под моделью (от лат. modulus - мера, образец, норма) понимают такой материальный или мысленно представляемый объект, который в процессе познания (изучения) замещает объект-оригинал, сохраняя некоторые важные для данного исследования типичные его черты. Процесс построения и использования модели называется моделированием.

Самым важным и наиболее распространенным предназначением моделей является их применение при изучении и прогнозировании поведения сложных процессов и явлений.

С помощью моделей помощью выявляются наиболее существенные факторы, формирующие те или иные свойства объекта, поскольку сама модель отражает лишь некоторые основные характеристики исходного объекта.

Модель позволяет научиться правильно управлять объектом, апробируя различные варианты управления на модели этого объекта.

Модель - это инструмент, ориентированный в первую очередь на исследование поведения и свойств конкретного объекта в целях управления этим объектом или предсказания его свойств.

Целью компьютерного моделирования протоколов сетевого уровня является создание программной среды отражающей реальные процессы, протекающие в сетях передачи данных, при использовании этих протоколов объектами сети передачи данных. Данная программная среда должна наиболее полно отражать все особенности работы протоколов сетевого уровня, а также особенности работы моделируемых сетевых устройств, поскольку невозможно рассматривать моделирование сетевого протокола в отрыве от моделирования сетевых объектов, использующих данные протоколы. Результатом создания компьютерной модели протоколов сетевого уровня станет программа, эмулирующая работу реального сетевого оборудования и набор данных в памяти, отражающий структуру моделируемого протокола.

2.2 Моделирование IP протокола

Цель моделирования: Создание в памяти компьютера структуры IP пакета, отражающего реальную структуру моделируемого пакета, с учетом дополнительных характеристик данного пакета.

Для определения характеристик IP пакета, подлежащих моделированию, рассмотрим структуру IP пакета и перечислим поля подлежащие моделированию.

IP-дейтаграмма состоит из заголовка и данных.

Заголовок дейтаграммы состоит из 32-разрядных слов и имеет переменную длину, зависящую от размера поля "Options", но всегда кратную 32 битам. За заголовком непосредственно следуют данные, передаваемые в дейтаграмме. Формат заголовка: Рисунок 1

Значения полей заголовка следующие.

Ver (4 бита) - версия протокола IP, в настоящий момент используется версия 4, новые разработки имеют номера версий 6-8.

IHL (Internet Header Length) (4 бита) - длина заголовка в 32-битных словах; диапазон допустимых значений от 5 (минимальная длина заголовка, поле "Options" отсутствует) до 15 (т.е. может быть максимум 40 байт опций).

TOS (Type Of Service) (8 бит) - значение поля определяет приоритет дейтаграммы и желаемый тип маршрутизации. Структура байта TOS: Рисунок 2

Три младших бита ("Precedence") определяют приоритет дейтаграммы:

111 - управление сетью

110 - межсетевое управление

101 - CRITIC-ECP

100 - более чем мгновенно

011 - мгновенно

010 - немедленно

001 - срочно

000 - обычно

Биты D,T,R,C определяют желаемый тип маршрутизации:

D (Delay) - выбор маршрута с минимальной задержкой,

T (Throughput) - выбор маршрута с максимальной пропускной способностью,

R (Reliability) - выбор маршрута с максимальной надежностью,

C (Cost) - выбор маршрута с минимальной стоимостью.

В дейтаграмме может быть установлен только один из битов D,T,R,C. Старший бит байта не используется.

Реальный учет приоритетов и выбора маршрута в соответствии со значением байта TOS зависит от маршрутизатора, его программного обеспечения и настроек. Маршрутизатор может поддерживать расчет маршрутов для всех типов TOS, для части или игнорировать TOS вообще. Маршрутизатор может учитывать значение приоритета при обработке всех дейтаграмм или при обработке дейтаграмм, исходящих только из некоторого ограниченного множества узлов сети, или вовсе игнорировать приоритет.

Total Length (16 бит) - длина всей дейтаграммы в октетах, включая заголовок и данные, максимальное значение 65535, минимальное - 21 (заголовок без опций и один октет в поле данных).

ID (Identification) (16 бит), Flags (3 бита), Fragment Offset (13 бит) используются для фрагментации и сборки дейтаграмм и будут подробнее рассмотрены ниже в п. 2.4.1.

TTL (Time To Live) (8 бит) - "время жизни" дейтаграммы. Устанавливается отправителем, измеряется в секундах. Каждый маршрутизатор, через который проходит дейтаграмма, переписывает значение TTL, предварительно вычтя из него время, потраченное на обработку дейтаграммы. Так как в настоящее время скорость обработки данных на маршрутизаторах велика, на одну дейтаграмму тратится обычно меньше секунды, поэтому фактически каждый маршрутизатор вычитает из TTL единицу. При достижении значения TTL=0 дейтаграмма уничтожается, при этом отправителю может быть послано соответствующее ICMP-сообщение. Контроль TTL предотвращает зацикливание дейтаграммы в сети.

Protocol (8 бит) - определяет программу (вышестоящий протокол стека), которой должны быть переданы данные дейтаграммы для дальнейшей обработки. Коды некоторых протоколов приведены в таблице 1.

Таблица 1

Код

Протокол

Описание

1

ICMP

Протокол контрольных сообщений

2

IGMP

Протокол управления группой хостов

4

IP

IP поверх IP (инкапсуляция)

6

TCP

TCP

8

EGP

Протокол внешней маршрутизации (устарел)

9

IGP

Протокол внутренней маршрутизации (устарел)

17

UDP

UDP

46

RSVP

Протокол резервирования ресурсов при мультикастинге

88

IGRP

Протокол внутренней маршрутизации от фирмы cisco

89

OSPF

Протокол внутренней маршрутизации

Header Checksum (16 бит) - контрольная сумма заголовка, представляет из себя 16 бит, дополняющие биты в сумме всех 16-битовых слов заголовка. Перед вычислением контрольной суммы значение поля "Header Checksum" обнуляется. Поскольку маршрутизаторы изменяют значения некоторых полей заголовка при обработке дейтаграммы (как минимум, поля "TTL"), контрольная сумма каждым маршрутизатором пересчитывается заново. Если при проверке контрольной суммы обнаруживается ошибка, дейтаграмма уничтожается.

Source Address (32 бита) - IP-адрес отправителя.

Destination Address (32 бита) - IP-адрес получателя.

Options - опции, поле переменной длины. Опций может быть одна, несколько или ни одной. Опции определяют дополнительные услуги модуля IP по обработке дейтаграммы, в заголовок которой они включены.

Padding - выравнивание заголовка по границе 32-битного слова, если список опций занимает нецелое число 32-битных слов. Поле "Padding" заполняется нулями.

Разрабатываемая модель IP пакета должна включать в себя все вышеперечисленные поля. Помимо данных полей необходимо ввести дополнительные поля, учитывающие следующее:

1. Местонахождение IP пакета в данный момент времени. Пакет может находиться в канале связи, либо обрабатываться в маршрутизаторе или другом объекте сети.

2. Время задержки прохождения IP пакета.

3. Источник - объект, отправивший данный пакет.

сетевой эмулятор маршрутизация

2.3 Моделирование протоколов маршрутизации

Цель моделирования: Создание в памяти компьютера механизма получения таблицы маршрутизации для любого сетевого объекта.

Процесс маршрутизации дейтаграмм состоит в определении следующего узла (next hop) в пути следования дейтаграммы и пересылки дейтаграммы этому узлу, который является либо узлом назначения, либо промежуточным маршрутизатором, задача которого - определить следующий узел и переслать ему дейтаграмму. Ни узел-отправитель, ни любой промежуточный маршрутизатор не имеют информации о всей цепочке, по которой пересылается дейтаграмма; каждый маршрутизатор, а также узел-отправитель, основываясь на адресе назначения дейтаграммы, находит только следующий узел ее маршрута.

Маршрутизация дейтаграмм осуществляется на уровне протокола IP.

Маршрутизация выполняется на основе данных, содержащихся в таблице маршрутов. Строка в таблице маршрутов состоит из следующих полей:

адрес сети назначения;

адрес следующего маршрутизатора (то есть узла, который знает, куда дальше отправить дейтаграмму, адресованную в сеть назначения);

вспомогательные поля.

Таблица может составляться вручную или с помощью специализированных протоколов. Каждый узел сети, в том числе и хост, имеет таблицу маршрутов, хотя бы самую простую.

Таблица маршрутов может заполняться различными способами. Статическая маршрутизация применяется в том случае, когда используемые маршруты не могут измениться в течение времени, например, в случае, где просто отсутствуют какие-либо альтернативные маршруты. Статические маршруты конфигурируются администратором сети или конкретного узла.

В случае объединения сетей со сложной топологией, когда существует несколько вариантов маршрутов от одного узла к другому и (или) когда состояние сетей (топология, качество каналов связи) изменяется с течением времени, таблицы маршрутов составляются динамически с помощью различных протоколов маршрутизации.

Протоколы маршрутизации не осуществляют собственно маршрутизацию дейтаграмм - она в любом случае производится модулем IP согласно записям в таблице маршрутов. Протоколы маршрутизации на основании тех или иных алгоритмов динамически редактируют таблицу маршрутов, то есть вносят и удаляют записи, при этом часть записей может по-прежнему статически вноситься администратором.

В зависимости от алгоритма работы различают дистанционно-векторные протоколы (distance vector protocols) и протоколы состояния связей (link state protocols).

По области применения существует разделение на протоколы внешней (exterior) и внутренней (interior) маршрутизации.

Дистанционно-векторные протоколы реализуют алгоритм Беллмана-Форда (Bellman-Ford). Общая схема их работы такова: каждый маршрутизатор периодически широковещательно рассылает информацию о расстоянии от себя до всех известных ему сетей ("вектор расстояний"). В начальный момент времени, разумеется, рассылается информация только о тех сетях, к которым маршрутизатор подключен непосредственно.

Также каждый маршрутизатор, получив от кого-либо вектор расстояний, в соответствии с полученной информацией корректирует уже имеющиеся у него данные о достижимости сетей или добавляет новые, указывая маршрутизатор, от которого получен вектор, в качестве следующего маршрутизатора на пути в данные сети. Через некоторое время алгоритм сходится и все маршрутизаторы имеют информацию о маршрутах до всех сетей.

Дистанционно-векторные протоколы хорошо работают только в небольших сетях.

При работе протоколов состояния связей каждый маршрутизатор контролирует состояние своих связей с соседями и при изменении состояния (например, при обрыве связи) рассылает широковещательное сообщение, после получения которого все остальные маршрутизаторы корректируют свои базы данных и пересчитывают маршруты. В отличие от дистанционно-векторных протоколов протоколы состояния связей создают на каждом маршрутизаторе базу данных, описывающую полный граф сети и позволяющую локально и, следовательно, быстро производить расчет маршрутов.

Распространенный протокол такого типа, OSPF, базируется на алгоритме SPF (Shortest Path First) поиска кратчайшего пути в графе, предложенном Дейкстрой (E.W.Dijkstra).

Протоколы состояния связей существенно сложнее дистанционно-векторных, но обеспечивают более быстрое, оптимальное и корректное вычисление маршрутов.

Протоколы внутренней маршрутизации (например, RIP, OSPF; собирательное название IGP - Interior Gateway Protocols) применяются на маршрутизаторах, действующих внутри автономных систем. Автономная система - это наиболее крупное деление Интернет, представляющее из себя объединение сетей с одинаковой маршрутизационной политикой и общей администрацией, например, совокупность сетей компании Глобал Один и ее клиентов в России.

Область действия того или иного протокола внутренней маршрутизации может охватывать не всю автономную систему, а только некоторое объединение сетей, являющееся частью автономной системы. Такое объединение мы будем называть системой сетей, или просто системой, иногда с указанием протокола маршрутизации, действующего в этой системе, например: RIP-система, OSPF-система.

Маршрутизация между автономными системами осуществляется пограничными (border) маршрутизаторами, таблицы маршрутов которых составляются с помощью протоколов внешней маршрутизации (собирательное название EGP - Exterior Gateway Protocols). Особенность протоколов внешней маршрутизации состоит в том, что при расчете маршрутов они должны учитывать не только топологию графа сети, но и политические ограничения, вводимые администрацией автономных систем на маршрутизацию через свои сети трафика других автономных систем. В настоящее время наиболее распространенным протоколом внешней маршрутизации является BGP

Типы записей в таблице маршрутизации:

Каждая запись в таблице маршрутизации считается маршрутом и может иметь один из следующих типов.

1) Маршрут к сети

Маршрут к сети ведет к сети, входящей в объединенную сеть и имеющей указанный код (идентификатор).

2) Маршрут к узлу

Маршрут к узлу ведет к конкретному узлу в объединенной сети, обладающему указанным адресом (кодом сети и кодом узла). Маршруты к узлу обычно используются для создания пользовательских маршрутов к отдельным узлам с целью оптимизации или контроля сетевого трафика.

3) Маршрут по умолчанию

Маршрут по умолчанию используется, если в таблице маршрутизации не были найдены подходящие маршруты. Например, если маршрутизатор или узел не могут найти нужный маршрут к сети или маршрут к узлу, то используется маршрут по умолчанию. Маршрут по умолчанию упрощает настройку узлов. Вместо того чтобы настраивать на узлах маршруты ко всем сетям объединенной сети, используется один маршрут по умолчанию для перенаправления всех пакетов с адресами сетей, не обнаруженными в таблице маршрутизации.

Рассмотрим структуру таблицы маршрутизации сетевого объекта. Данная структура подлежит моделированию наряду с моделированием структуры IP пакета.

Каждая запись таблицы маршрутизации состоит из следующих информационных полей.

1) Код сети

Код сети (или адрес узла для маршрута к узлу). На IP-маршрутизаторах существует дополнительное поле маски подсети, позволяющее выделить код IP-сети из IP-адреса назначения.

2) Адрес пересылки

Адрес, по которому перенаправляются пакеты. Адресом пересылки может быть аппаратный адрес или IP-адрес узла. Для сетей, к которым непосредственно подключен узел или маршрутизатор, поле адреса пересылки может содержать адрес интерфейса, подключенного к сети.

3) Интерфейс

Сетевой интерфейс, используемый при перенаправлении пакетов, предназначенных для сети с данным кодом. Он может задаваться номером порта или другим логическим идентификатором.

4) Метрика

Стоимость использования маршрута. Обычно лучшими считаются маршруты, имеющие наименьшую метрику. При наличии нескольких маршрутов к нужной сети назначения выбирается маршрут с наименьшей метрикой. Некоторые алгоритмы маршрутизации позволяют хранить в таблице маршрутизации только один маршрут к сети с данным кодом, даже при наличии нескольких таких маршрутов. В таком случае метрика используется маршрутизатором для выбора маршрута, заносимого в таблицу маршрутизации.

Вышеприведенный список содержит лишь список полей типичной таблицы маршрутизации, используемой маршрутизаторами. Поля реальных таблиц маршрутизации различных маршрутизируемых протоколов могут отличаться.

3. РАЗРАБОТКА ПРОГРАММНОГО КОМПЛЕКСА ПО МОДЕЛИРОВАНИЮ МАРШРУТИЗИРУЕМОЙ IP СЕТИ

3.1 Использованные средства разработки

В качестве среды разработки была использована среда Borland Delphy 7.0. Delphi - это достаточно новый продукт Borland International для быстрого создания приложений (RAD).

Высокопроизводительный инструмент визуального построения приложений, работающих с базами данных в архитектуре клиент-сервер, Internet/Intranet, а также для локальных машин и файл-серверной архитектуры. Этот инструментарий включает в себя настоящий компилятор кода и предоставляет средства визуального программирования, несколько похожие на те, что можно обнаружить в Microsoft Visual Basic или в других инструментах визуального проектирования. Лежащий в основе Delphi язык - Object Pascal, который является расширением объектно-ориентированного языка Pascal (Turbo/Borland Pascal, начиная с версии 5.5). В Delphi также входят локальный SQL-сервер InterBase 4.0, генераторы отчетов, библиотеки визуальных компонентов, и прочие компоненты, необходимое для того, чтобы чувствовать себя совершенно уверенным при профессиональной разработке информационных систем или просто программ для Windows-среды.

Delphi предназначен прежде всего профессиональным разработчикам, желающим очень быстро разрабатывать приложения. Delphi производит небольшие по размерам высокоэффективные исполняемые модули (.exe и.dll).

Преимущества Delphi по сравнению с аналогичными программными продуктами:

Быстрота разработки приложения.

Высокая производительность разработанного приложения.

Низкие требования разработанного приложения к ресурсам компьютера.

Наращиваемость за счет встраивания новых компонент и инструментов в среду Delphi.

Возможность разработки новых компонент и инструментов собственными средствами Delphi (существующие компоненты и инструменты доступны в исходниках)

Удачная проработка иерархии объектов

Де-факто уже доступно огромное количество визуальных компонентов третьих фирм, часть из которых freeware, часть shareware, часть - коммерческие.

3.2 Состав разрабатываемого комплекса эмулятора маршрутизируемой IP сети

При создании любой компьютерной модели, весь процесс моделирования делится на 2 этапа.

1. Подготовка исходных данных. Предусматривает подготовку необходимых данных для работы основной модели. Применительно к сетевому эмулятору такими данными являются: шаблоны сетевых объектов, таблицы маршрутизации шаблонов объектов, IP адреса интерфейсов шаблонов сетевых объектов и т.д.

2. Собственно сам процесс моделирования - заключающийся в создании из подготовленных ранее шаблонов сетевых объектов макета IP сети. В этом процессе задействуются данные, подготовленные на 1 этапе.

Учитывая вышесказанное, при разработке эмулятора маршрутизируемой IP сети, были спроектированы два программных модуля:

- модуль подготовки исходных данных - Network_object_editor.exe

- модуль эмулятора - IP_network_emulator.exe

На рисунке 3 изображена структурная схема программного комплекса «Эмулятор IP сети»

Модули «Редактор объектов сетевого эмулятора» и «Эмулятор сети» выполнены в виде отдельных исполняемых модулей в среде Windows. Вспомогательные компоненты хранятся в виде дополнительных файлов.

3.3 Структура модуля подготовки исходных данных

Рассмотрим структуру модуля подготовки данных. Функциональная структурная схема изображена на рисунке 4. Она включает в себя графический интерфейс пользователя, при помощи которого оператор выполняет необходимые действия по созданию шаблонов сетевых объектов, а также подмодули, осуществляющие непосредственно изменение данных объектов различных типов.

Основное назначение модуля редактора - создание конфигурационного файла Net-Objects.ini.

В данном модуле предусмотрена подготовка макетов сетевых объектов следующих типов:

1. Каналы.

2. Узлы (Host).

3. Модемы.

4. Мосты.

5. Конверторы.

6. Концентраторы.

7. Коммутаторы

8. Маршрутизаторы/коммутаторы с поддержкой маршрутизации 3-го уровня.

Устройства типов: 1,3,4,5,6,7 работают на 1 и 2 уровне эталонной модели OSI, устройства типов 1 и 8 - на 1,2 и 3 уровне.

Классификация объектов по типам произведена на основе анализа телекоммуникационного рынка. Выбранная классификация объектов позволяет создать необходимое количество шаблонов сетевых объектов для дальнейшего их использования в сетевом эмуляторе.

Характеристики шаблонов всех объектов сети заносятся в файл Net-Objects.ini в виде отдельных секций.

Имя каждой секции заносится в файл в виде [Имя_объекта+{номер}]. Таким образом, для каждого объекта формируются уникальные имена.

В каждой секции отдельный параметр записывается в виде:

Имя_Параметра = Значение_параметра.

Рассмотрим и приведем, учитывая их важность, структуру данных с указанием типов полей подготавливаемых шаблонов для объекта каждого типа.

1. Каналы.

Структура объекта:

Chanell_rec = record /// Запись для канала

Name: string; /// Имя канала

UIN: integer; /// Уникальный номер объекта

Description: string; /// Описание объекта

Bitmap: string; /// Название графического объекта из катлога bitmaps

Length: integer; /// Длина канала в метрах

CanDelete: boolean; /// Возможно-ли удалить запись в редакторе

Данная структура позволяет создать шаблон канала связи любого типа. Параметр Length позовляет вычислить задержку пакета при прохождении по каналу связи.

2. Узлы.

Структура объекта:

Host_rec = record

Name: string; /// Имя объекта

UIN: integer; /// Уникальный номер объекта

Description: string; /// Описание объекта

Bitmap: string; /// Название графического объекта из катлога bitmaps

Vendor_eq: Integer; /// эквивалент производителю

/// Основные характеристики хоста

IP_address: string; /// IP адрес

Mask: string; /// маска

Gateway: string; /// шлюз

DNS: string; /// IP адрес DNS сервера

Routing_table: string; /// Таблица маршрутизации (все роуты разделяются;)

Interface_type: integer; /// Тип интерфейса

Interface_type_description: string; /// Описание типа интерфейса

/// Дополнительные характеристики хоста

DNS_server: boolean; /// HOST - DNS server ?

FTP_server: boolean; /// HOST - FTP server ?

WWW_server: boolean; /// HOST - WWW server ?

TELNET_server: boolean; /// HOST - Telnet server ?

/// Параметры ДНС сервера

DNS_server_forward_table: string; /// Прямая зона ДНС сервера, все записи через;

DNS_server_reverse_table: string; /// Обратная зона ДНС сервера, все записи через;

/// Параметры FTP сервера

FTP_server_directories: string; /// Сисок катологов сервера через ";"

/// Параметры WWW сервера

WWW_server_HTML: string; /// HTML страница веб-сервера

/// Параметры Telnet сервера

TELNET_server_directories: string; /// Сисок катологов сервера через ";"

Connected_OBJIndex:integer; /// Индекс подключеного объекта

Connected_IFIndex:integer; /// Индекс подключеного интерфейса

Connected_IF_type:integer; /// Тип подключаемого интерфейса

IF_connected:boolean; /// Интерфейс подключен?

CanDelete: boolean; /// Возможно-ли удалить запись в редакторе

Данная структура позволяет описать оконечный узел (host), любого типа, а также определить определенную сетевую роль для узла. Наиболее важными параметрами узла являются IP_address, Mask, Gateway а также Routing_table.

3. Модемы.

Структура объекта:

Modem_rec = record /// Запись для модема

Name: string; /// Название

UIN: integer; /// Уникальный номер объекта

Description: string; /// Описание объекта

Bitmap: string; /// Название графического объекта из катлога bitmaps

Vendor_eq: Integer; /// эквивалент производителю

Remote_managment: boolean; /// Удаленное администрирование ?

Interface_type: integer; /// Тип интерфейса

Interface_type_description: string; /// Описание интерфейса

Line_code:integer; /// Тип кодирования

Line_code_description:string; /// Описание Кодирования линии

Line_length_max:integer; /// Максимальная длина линии

Line_type_code:integer; /// Тип линии (двух, 4-х пров, коаксиал, оптика, и т.п.

RM_Interface_type:integer; /// Тип управляющего интерфейса

RM_Interface_type_description:string; /// Описание управляющего интерфейса

RM_Interface_SPEED: integer; /// Скорость в упр. интерфейсе

RM_Interface_IP: string; /// IP адрес для упр.

RM_Interface_MASK: string; /// маска

RM_Interface_GW: string; /// шлюз

Delay: integer; /// Задержка, вносимая оборудованием в мсек.

CanDelete: boolean; /// Возможно-ли удалить запись в редакторе

Данная структура позволяет описать шаблон модема. В данном типе используется предустановленное количество интерфейсов (1) и линейных выходов (1).

4. Мосты

Структура объекта:

Bridge_rec = record /// Запись для моста

Name: string; /// Название

UIN: integer; /// Уникальный номер объекта

Description: string; /// Описание объекта

Bitmap: string; /// Название графического объекта из катлога bitmaps

Vendor_eq: Integer; /// эквивалент производителю

Remote_managment: boolean; /// Удаленное администрирование ?

Interface_type: integer; /// Тип интерфейса

Interface_type_description: string; /// Описание интерфейса

Line_code:integer; /// Тип кодирования

Line_length_max:integer; /// Максимальная длина линии

Line_code_description:string; /// Описание Кодирования линии

Line_type_code:integer; /// Тип линии (двух, 4-х пров, коаксиал, оптика, и т.п.

RM_Interface_type:integer; /// Тип управляющего интерфейса

RM_Interface_type_description:string; /// Описание управляющего интерфейса

RM_Interface_SPEED: integer; /// Скорость в упр. интерфейсе

RM_Interface_IP: string; /// IP адрес для упр.

RM_Interface_MASK: string; /// маска

RM_Interface_GW: string; /// шлюз

Delay: integer; /// Задержка, вносимая оборудованием в мсек.

CanDelete: boolean; /// Возможно-ли удалить запись в редакторе

Данная структура позволяет описать шаблон моста.

5. Конверторы

Структура объекта:

Media_converter_rec = record /// Запись для медиа конвертера

Name: string; /// Название

UIN: integer; /// Уникальный номер объекта

Description: string; /// Описание объекта

Bitmap: string; /// Название графического объекта из катлога bitmaps

Vendor_eq: Integer; /// эквивалент производителю

Remote_managment: boolean; /// Удаленное администрирование ?

Interface_type: integer; /// Тип интерфейса

Interface_type_description: string; /// Описание интерфейса

Line_code:integer; /// Тип кодирования

Line_length_max:integer; /// Максимальная длина линии

Line_code_description:string; /// Описание Кодирования линии

Line_type_code:integer; /// Тип линии (двух, 4-х пров, коаксиал, оптика, и т.п.

RM_Interface_type:integer; /// Тип управляющего интерфейса

RM_Interface_type_description:string; /// Описание управляющего интерфейса

RM_Interface_SPEED: integer; /// Скорость в упр. интерфейсе

RM_Interface_IP: string; /// IP адрес для упр.

RM_Interface_MASK: string; /// маска

RM_Interface_GW: string; /// шлюз

Delay: integer; /// Задержка, вносимая оборудованием в мсек.

CanDelete: boolean; /// Возможно-ли удалить запись в редакторе

Данная структура позволяет описать шаблон конвертора.

6. Концентраторы

Структура объекта:

L2hub_rec = record /// Запись для концентратора

Name: string; /// Название

UIN: integer; /// Уникальный номер объекта

Description: string; /// Описание объекта

Bitmap: string; /// Название графического объекта из катлога bitmaps

Vendor_eq: Integer; /// эквивалент производителю

Remote_managment: boolean; /// Удаленное администрирование ?

Interface1_count: integer; /// Количество интерфейсов 1-го типа

Interface1_type: integer; /// Тип интерфейса

Interface1_type_description: string; /// Описание интерфейса

Interface2_count: integer; /// Количество интерфейсов 2-го типа

Interface2_type: integer; /// Тип интерфейса

Interface2_type_description: string; /// Описание интерфейса

…………….

Interface10_count: integer; /// Количество интерфейсов 10-го типа

Interface10_type: integer; /// Тип интерфейса

Interface10_type_description: string; /// Описание интерфейса

RM_Interface_type:integer; /// Тип управляющего интерфейса

RM_Interface_type_description:string; /// Описание управляющего интерфейса

RM_Interface_SPEED: integer; /// Скорость в упр. интерфейсе

RM_Interface_IP: string; /// IP адрес для упр.

RM_Interface_MASK: string; /// маска

RM_Interface_GW: string; /// шлюз

Delay: integer; /// Задержка, вносимая оборудованием в мсек.

CanDelete: boolean; /// Возможно-ли удалить запись в редакторе

Данная структура позволяет описать шаблон концентратора. В данном типе возможно задание до 10 различных типов сетевых интерфейсов с произвольным количеством портов для каждого типа интерфейсов.

7. Коммутатор

Структура объекта:

L2switch_rec = record /// Запись для коммутатора

Name: string; /// Название

UIN: integer; /// Уникальный номер объекта

Description: string; /// Описание объекта

Bitmap: string; /// Название графического объекта из катлога bitmaps

Vendor_eq: Integer; /// эквивалент производителю

Remote_managment: boolean; /// Удаленное администрирование ?

Interface1_count: integer; /// Количество интерфейсов 1-го типа

Interface1_type: integer; /// Тип интерфейса

Interface1_type_description: string; /// Описание интерфейса

Interface2_count: integer; /// Количество интерфейсов 2-го типа

Interface2_type: integer; /// Тип интерфейса

Interface2_type_description: string; /// Описание интерфейса

…………

Interface10_count: integer; /// Количество интерфейсов 10-го типа

Interface10_type: integer; /// Тип интерфейса

Interface10_type_description: string; /// Описание интерфейса

RM_Interface_type:integer; /// Тип управляющего интерфейса

RM_Interface_type_description:string; /// Описание управляющего интерфейса

RM_Interface_SPEED: integer; /// Скорость в упр. интерфейсе

RM_Interface_IP: string; /// IP адрес для упр.

RM_Interface_MASK: string; /// маска

RM_Interface_GW: string; /// шлюз

Delay: integer; /// Задержка, вносимая оборудования

CanDelete: boolean; /// Возможно-ли удалить запись в редакторе

Данная структура позволяет описать шаблон коммутатора. В данном типе возможно задание до 10 различных типов сетевых интерфейсов с произвольным количеством портов для каждого типа интерфейсов.

8. Маршрутизатр/коммутатор третьего уровня

Структура объекта:

L3s_router_rec = record /// Запись для коммутатора 3 уровня, маршрутизатора

Name: string; /// Название

UIN: integer; /// Уникальный номер объекта

Description: string; /// Описание объекта

Bitmap: string; /// Название графического объекта из катлога bitmaps

Vendor_eq: Integer; /// эквивалент производителю

Remote_managment: boolean; /// Удаленное администрирование ?

Interface1_count: integer; /// Количество интерфейсов 1-го типа

Interface1_type: integer; /// Тип интерфейса

Interface1_type_description: string; /// Описание интерфейса

Interface2_count: integer; /// Количество интерфейсов 2-го типа

Interface2_type: integer; /// Тип интерфейса

Interface2_type_description: string; /// Описание интерфейса

……………………

Interface10_count: integer; /// Количество интерфейсов 10-го типа

Interface10_type: integer; /// Тип интерфейса

Interface10_type_description: string; /// Описание интерфейса

Static_routing_support: boolean; /// Статический роутинг ?

Static_routing_table: string; /// Таблица статического роутинга через ","

RIP_routing_support: boolean; /// RIP роутинг ?

RIP_networks: string; /// Таблица IP сетей через ","

OSPF_routing_support: boolean; /// OSPF роутинг ?

OSPF_parametrs: string; /// OSPF параметы через ","

OSPF_if: string; /// OSPF Интерфейсы через ","

EIGRP_routing_support: boolean; /// EIGRP роутинг ?

EIGRP_networks: string; /// Таблица IP сетей через ","

RM_Interface_type:integer; /// Тип управляющего интерфейса

RM_Interface_type_description:string; /// Описание управляющего интерфейса

RM_Interface_SPEED: integer; /// Скорость в упр. интерфейсе

RM_Interface_IP: string; /// IP адрес для упр.

RM_Interface_MASK: string; /// маска

RM_Interface_GW: string; /// шлюз

Delay: integer; /// Задержка, вносимая оборудования

CanDelete: boolean; /// Возможно-ли удалить запись в редакторе

Данная структура позволяет описать шаблон маршрутизатора. В данном типе возможно задание до 10 различных типов сетевых интерфейсов с произвольным количеством портов для каждого типа интерфейсов. Также, данная структура предусматривает наличие специфических параметров, описывающих возможности оборудования в плане применяемых протоколов динамической маршрутизации.

Дополнительно используются структуры, описывающие производителей оборудования, возможные варианты интерфейсов оборудования, типов кодирования сигналов и т.п. характеристики. Приведем краткий обзор этих данных:

/////////////////////////// Описание типов поставщиков оборудования

vendor_unknown: tip = (name: 'Неизвестный производитель'; data: 0);

vendor_cisco: tip = (name: 'Cisco Systems'; data: 1);

vendor_3com: tip = (name: '3com'; data: 2);

vendor_at: tip = (name: 'Allied Telesyn'; data: 3);

vendor_avaya: tip = (name: 'Alvaya'; data: 4);

vendor_tainet: tip = (name: 'Tainet'; data: 5);

vendor_rad: tip = (name: 'RAD'; data: 6);

vendor_zyx: tip = (name: 'ZyXel'; data: 7);

vendor_penril: tip = (name: 'Penril'; data: 8);

vendor_zelax: tip = (name: 'Zelax'; data: 9);

vendor_microsoft: tip = (name: 'Microsoft corp.'; data: 10);

vendor_Linux: tip = (name: 'Linux'; data: 11);

/////////////////////////// Описание типов интерфейсов оборудования на физическом уровне

if_unknown: tip = (name: 'Неизвестный физический интерфейс'; data: 0);

if_ehernet: tip = (name: 'Ethernet'; data: 1);

if_Fastehernet: tip = (name: 'Fast Ethernet'; data: 2);

if_Gigabitehernet:tip = (name: 'Gigabit Ethernet'; data: 3);

if_10Gigabitehernet:tip = (name: '10 Gigabit Ethernet'; data: 4);

if_async: tip = (name: 'Asyncnious interface (RS-232)'; data: 5);

if_sync: tip = (name: 'Synchro interface (RS-232, V.35, RS-449, RS-530)'; data: 6);

if_e1: tip = (name: 'E1 interface (G703)'; data: 7);

if_atm: tip = (name: 'ATM interface'; data: 8);

if_token_ring: tip = (name: 'Token Ring interface'; data: 9);

if_FDDI: tip = (name: 'FDDI interface'; data: 10);

/////////////////////////// Описание типов протоколов канального уровня

l2_enc_unknown: tip = (name: 'Неизвестный протокол канального уровня'; data: 0);

l2_enc_ppp: tip = (name: 'Point-to-point protocol (PPP)'; data: 1);

l2_enc_hdlc: tip = (name: 'HDLC protocol (HDLC)'; data: 2);

l2_enc_x25: tip = (name: 'X.25 protocol'; data: 3);

l2_enc_frame_relay: tip = (name: 'Frame relay protocol'; data: 4);

l2_enc_ethernet:tip = (name: 'Ethernet protocol (802.2, 802.3, ethernet-snap, ethernet II)'; data: 5);


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.