Рефераты - Афоризмы - Словари
Русские, белорусские и английские сочинения
Русские и белорусские изложения
 

Разработка системы маршрутизации в глобальных сетях(протокол RIP для IP)

Работа из раздела: «Программирование и комп-ры»
   Введение 3
   1 Протоколы TCP/IP . Принципы, протоколы и архитектура     6
   1.1 Структура стека протоколов TCP/IP     6
   1.2 Протокол IP     12
   1.3 Принципы построения IP-адресов  14
   1.4 IPing - новое поколение протоколов IP 16
   1.5. Протокол пользовательских датаграмм - UDP 20
   2 Классификация алгоритмов маршрутизации и общие сведения  23
   2.1 Цели разработки алгоритмов маршрутизации   23
   2.2 Типы алгоритмов 25
   2.3 Показатели алгоритмов (метрики) 28
   2.4 Таблицы маршрутизации      30
   2.4.1 Типы записей в таблице маршрутизации     30
   2.4.2 Структура таблицы маршрутизации     31
   3 Создание объединенной IP-сети со статической маршрутизацией   32
   3.1 Среда со статической маршрутизацией   32
   3.2 Вопросы проектирования среды со статической маршрутизацией  33
   3.3 Среды с использованием вызова по требованию      33
   3.4 Безопасность статической маршрутизации     34
   3.5 Развертывание статической маршрутизации    34
   4 Протоколы динамической маршрутизации    36
   4.1 Общие сведения  36
   4.2 Внутренний протокол маршрутизации RIP 39
   4.3 Протокол маршрутизации OSPF     47
   4.4 Протокол маршрутизации IGRP     63
   4.5 Внешний протокол маршрутизации BGP-4  68
   4.6 Протокол внешних маршрутизаторов EGP. 78
   5 Создание объединенной сети с протоколом маршрутизации RIP для IP    82
   5.1 Среды с протоколом RIP для IP   82
   5.2 Стоимость маршрутов RIP    83
   5.3 Смешанные среды RIP версии 1 и RIP версии 2      83
   5.4 Проверка подлинности RIP версии 2     84
   5.5 Модель с одним адаптером   84
   5.6 Модель с несколькими адаптерами 85
   5.7 Пассивные RIP-узлы   85
   5.8 Безопасность протокола RIP для IP     86

   5.9 Задание равных маршрутизаторов  86
   5.10 Фильтры маршрутов   86
   5.11 Соседи   86
   6 Реализация маршрутизатора на основе протокола RIP. 88
   6.1 Описание алшоритма работы сервиса RIP
            88
   7 Технико – экономическое обоснованин.    93
   7.1. Характеристика программного продукта 93
   7.2. Определение затрат труда на разработку программного продукта     94
   7.2.1. Определение условного количества операторов программы,
   трудоемкости  94
   7.2.2. Определение численности исполнителей    97
   7.3 Расчет затрат на разработку     100
   7.4 Экономический эффект от реализации и внедрения программного продукта
   103
   8. Безопасность жизнедеятельности
                  106
   8.1   Анализ   опасных   и   вредных   производственных   факторов    при
   работе                           с                            компьютером
                        106
   8.2 Производственная санитария, основные мероприятия по созданию
   нормальных метеорологических условий      108
   8.3 Освещение рабочих мест     110
   8.3.1 Проектирование и расчеты естественного освещения     110
   8.3.2 Расчет искусственного освещения     112
   8.4 Расчет вентиляции.   113
   8.4.1 Расчет обще обменной вентиляции     114
   8.4.2 Расчет местной вентиляции     114
   8.5 Общие требования безопасности труда на рабочем месте   114
   8.5.1 Требования к видеодисплейным терминалам (ВДТ) и персональным
   компьютерам   115
   8.5.2 Требования к помещениям для эксплуатации ВДТ и ПЭВМ  116
   8.6 Защита от статического электричества. Поражение электрическим током
   117
   8.7 Требования по обеспечению пожаробезопасности     120
   8.8 Водоснабжение и канализация     121
   8.9 Охрана труда программистов 122
   8.10 Определение оптимальных условий труда инженера – программиста    122
   Список литературы:  125



   Введение

   Сеть Internet - это сеть сетей, объединяющая как локальные сети,  так  и
глобальные  сети.  Поэтому  центральным  местом  при  обсуждении   принципов
построения сети является семейство протоколов межсетевого обмена TCP/IP.
   Под термином 'TCP/IP' обычно понимают все, что связано с протоколами TCP
и IP. Это не только собственно сами  проколы  с  указанными  именами,  но  и
протоколы построенные на использовании TCP и IP, и прикладные программы.
   Главной задачей  стека  TCP/IP  является  объединение  в  сеть  пакетных
подсетей через шлюзы. Каждая сеть работает  по  своим  собственным  законам,
однако предполагается, что  шлюз  может  принять  пакет  из  другой  сети  и
доставить его по указанному адресу. Реально, пакет из одной сети  передается
в другую  подсеть  через  последовательность  шлюзов,  которые  обеспечивают
сквозную маршрутизацию пакетов по всей сети. В  данном  случае,  под  шлюзом
понимается точка соединения сетей. При этом соединяться могут как  локальные
сети,  так  и  глобальные  сети.  В  качестве  шлюза  могут  выступать   как
специальные устройства, маршрутизаторы, например, так и компьютеры,  которые
имеют программное обеспечение, выполняющее функции маршрутизации пакетов.
   Маршрутизация - это процедура  определения  пути  следования  пакета  из
одной сети в другую. Такой механизм доставки становится возможным  благодаря
реализации  во  всех  узлах  сети  протокола  межсетевого  обмена  IP.  Если
обратиться  к  истории  создания  сети  Internet,   то   с   самого   начала
предполагалось  разработать  спецификации  сети  коммутации   пакетов.   Это
значит, что любое сообщение, которое отправляется по сети, должно  быть  при
отправке разделино на фрагменты. Каждый из фрагментов  должен  быть  снабжен
адресами  отправителя  и  получателя,  а  также  номером  этого   пакета   в
последовательности  пакетов,  составляющих  все  сообщение  в  целом.  Такая
система позволяет на каждом шлюзе выбирать маршрут, основываясь  на  текущей
информации о состоянии сети, что повышает надежность системы  в  целом.  При
этом каждый пакет  может  пройти  от  отправителя  к  получателю  по  своему
собственному  маршруту.  Порядок  получения  пакетов  получателем  не  имеет
большого значения, т.к. каждый пакет несет в себе информацию о  своем  месте
в сообщении.
При создании этой системы принципиальным было  обеспечение  ее  живучести  и
надежной доставки сообщений, т.к. предполагалось, что  система  должна  была
обеспечивать управление Вооруженными Силами США в случае нанесения  ядерного
удара по территории страны.
   Коммутаторы,  организующие  рабочую  группу,  мосты,   соединяющие   два
сегмента сети и локализующие трафик в  пределах  каждого  из  них,  а  также
switch, позволяющий соединять несколько сегментов  локальной  вычислительной
сети - это все устройства, предназначенные для работы  в  сетях  IEEE  802.3
или  Еthernet.  Однако,  существует  особый  тип  оборудования,   называемый
маршрутизаторами  (routегs),  который  применяется  в   сетях   со   сложной
конфигурацией для связи ее участков с  различными  сетевыми  протоколами  (в
том числе и для доступа  к  глобальным  (WАN)  сетям),  а  также  для  более
эффективного разделения трафика и использования альтернативных  путей  между
узлами  сети.  Основная  цель  применения  маршрутизаторов   -   объединение
разнородных сетей и обслуживание альтернативных путей.
   Различные типы маршрутизаторов  отличаются количеством  и  типами  своих
портов, что собственно и определяет места их использования.  Маршрутизаторы,
например,  могут  быть  использованы   в   локальной   сети   Ethernet   для
эффективного управления трафиком при наличии большого числа сегментов  сети,
для соединения сети типа Еthernet с  сетями  другого  типа,  например  Тоkеn
Ring, FDDI, а также для обеспечения выходов локальных  сетей  на  глобальную
сеть.
   Маршрутизаторы  не  просто  осуществляют  связь  разных  типов  сетей  и
обеспечивают доступ к глобальной сети, но  и  могут  управлять  трафиком  на
основе протокола сетевого уровня (третьего в модели OSI), то есть  на  более
высоком  уровне  по  сравнению  с  коммутаторами.  Необходимость   в   таком
управлении возникает при усложнении топологии сети и росте числа  ее  узлов,
если  в  сети  появляются  избыточные  пути,  когда  нужно   решать   задачу
максимально  эффективной  и  быстрой  доставки   отправленного   пакета   по
назначению. При этом существует два основных алгоритма определения  наиболее
выгодного пути и способа доставки данных:  RIP  и  OSPF.  При  использовании
протокола   маршрутизации   RIР,   основным   критерием   выбора    наиболее
эффективного пути является минимальное число 'хопов'  (hops),  т.е.  сетевых
устройств  между  узлами.  Этот  протокол  минимально  загружает   процессор
мартрутизатора и предельно  упрощает  процесс  конфигурирования,  но  он  не
рационально  управляет  трафиком.  При  использовании  OSPF  наилучший  путь
выбирается не только с точки зрения минимизации числа хопов, но и  с  учетом
других критериев: производительности сети, задержки при  передаче  пакета  и
т.д.  Сети  большого  размера,  чувствительные  к   перегрузке   трафика   и
базирующиеся на сложной маршрутизирующей аппаратуре,  требуют  использования
протокола   ОSРF.   Реализации   этого   протокола   возможна   только    на
маршрутизаторах  с  достаточно  мощным  процессором,  т.к.  его   реализация
требует существенных процессинговых затрат.
   Маршрутизация в сетях, как правило, осуществляться  с  применением  пяти
популярных сетевых протоколов - ТСР/IР, Nоvеll  IРХ,  АррlеТаlk  II,  DECnеt
Phase IV и Хегох ХNS.  Если  маршрутизатору  попадается  пакет  неизвестного
формата, он начинает с  ним  работать  как  обучающийся  мост.  Кроме  того,
маршрутизатор обеспечивает более высокий уровень  локализации  трафика,  чем
мост,  предоставляя  возможность  фильтрации  широковещательных  пакетов,  а
также  пакетов  с  неизвестными   адресами   назначения,   поскольку   умеет
обрабатывать адрес сети.



   1 Протоколы TCP/IP . Принципы, протоколы и архитектура


   1.1 Структура стека протоколов TCP/IP

   При рассмотрении процедур межсетевого взаимодействия всегда опираются на
стандарты, разработанные  International  Standard  Organization  (ISO).  Эти
стандарты получили название 'Семиуровневой модели  сетевого  обмена'  или  в
английском варианте  'Open  System  Interconnection  Reference  Model'  (OSI
Ref.Model). В данной модели обмен информацией может быть представлен в  виде
стека, представленного на рисунке 1.1. Как видно из рисунка, в  этой  модели
определяется все - от стандарта физического соединения сетей  до  протоколов
обмена прикладного программного обеспечения. Дадим некоторые  комментарии  к
этой модели.
   Физический уровень данной модели  определяет  характеристики  физической
сети передачи данных,  которая  используется  для  межсетевого  обмена.  Это
такие параметры, как: напряжение в  сети,  сила  тока,  число  контактов  на
разъемах и  т.п.  Типичными  стандартами  этого  уровня  являются,  например
RS232C, V35, IEEE 802.3 и т.п.
   К  канальному  уровню  отнесены  протоколы,   определяющие   соединение,
например,  SLIP  (Strial  Line  Internet  Protocol),  PPP  (Point  to  Point
Protocol), NDIS, пакетный протокол, ODI и т.п. В данном случае речь  идет  о
протоколе взаимодействия между драйверами устройств и устройствами, с  одной
стороны, а с  другой  стороны,  между  операционной  системой  и  драйверами
устройства. Такое определение  основывается  на  том,  что  драйвер  -  это,
фактически, конвертор данных из оного формата  в  другой,  но  при  этом  он
может иметь и свой внутренний формат данных.
   К сетевому (межсетевому) уровню относятся протоколы, которые отвечают за
отправку  и  получение  данных,  или,   другими   словами,   за   соединение
отправителя и получателя. Вообще говоря, эта  терминология  пошла  от  сетей
коммутации   каналов,   когда   отправитель   и   получатель   действительно
соединяются на время работы каналом связи.  Применительно  к  сетям  TCP/IP,
такая терминология не очень приемлема.  К  этому  уровню  в  TCP/IP  относят
протокол IP (Internet Protocol). Именно  здесь  определяется  отправитель  и
получатель, именно  здесь  находится  необходимая  информация  для  доставки
пакета по сети.
Транспортный уровень  отвечает  за  надежность  доставки  данных,  и  здесь,
проверяя контрольные суммы, принимается решение о сборке  сообщения  в  одно
целое. В Internet транспортный уровень представлен

             Семиуровневая модель протоколов межсетевого обмена
                                     OSI

                                 Рисунок 1.1

двумя протоколами TCP (Transport Control Protocol)  и  UDP  (User  Datagramm
Protocol). Если  предыдущий  уровень  (сетевой)  определяет  только  правила
доставки  информации,  то  транспортный  уровень  отвечает  за   целостность
доставляемых данных.
   Уровень  сессии  определяет   стандарты   взаимодействия   между   собой
прикладного   программного   обеспечения.   Это   может    быть    некоторый
промежуточный стандарт данных или правила обработки  информации.  Условно  к
этому уровню можно отнеси механизм портов протоколов TCP и  UDP  и  Berkeley
Sockets. Однако обычно, рамках архитектуры TCP/IP  такого  подразделения  не
делают.
   Уровень обмена данными с прикладными  программами  (Presentation  Layer)
необходим для преобразования  данных  из  промежуточного  формата  сессии  в
формат  данных  приложения.  В  Internet  это  преобразование  возложено  на
прикладные программы.
   Уровень прикладных программ или приложений определяет  протоколы  обмена
данными этих прикладных программ. В  Internet  к  этому  уровню  могут  быть
отнесены такие протоколы, как: FTP, TELNET, HTTP, GOPHER и т.п.
   Вообще  говоря,  стек  протоколов   TCP   отличается   от   только   что
рассмотренного стека модели OSI. Обычно его можно представить в виде  схемы,
представленной на рисунке 1.2

                      Структура стека протоколов TCP/IP
                                    [pic]
                                 Рисунок 1.2

   В этой схеме на  уровне  доступа  к  сети  располагаются  все  протоколы
доступа к физическим устройствам. Выше располагаются  протоколы  межсетевого
обмена IP, ARP, ICMP. Еще выше основные транспортные протоколы  TCP  и  UDP,
которые кроме сбора пакетов в сообщения еще и определяют  какому  приложению
необходимо данные отправить  или  от  какого  приложения  необходимо  данные
принять.  Над  транспортным  уровнем  располагаются  протоколы   прикладного
уровня, которые используются приложениями для обмена данными.
   Базируясь на классификации OSI (Open System Integration) всю архитектуру
протоколов  семейства  TCP/IP  попробуем  сопоставить  с  эталонной  моделью
(рисунок 1.3).

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

      Схема модулей, реализующих протоколы семейства TCP/IP в узле сети

                                    [pic]
                                 Рисунок 1.3

   Сетевой интерфейс -  физическое  устройство,  подключающее  компьютер  к
сети. В нашем случае - карта Ethernet.
   Кадр - это блок данных, который принимает/отправляет сетевой интерфейс.
   IP-пакет - это блок данных, которым обменивается  модуль  IP  с  сетевым
интерфейсом.
   UDP-датаграмма - блок данных, которым обменивается модуль IP  с  модулем
UDP.
   TCP-сегмент - блок данных, которым обменивается модуль IP с модулем TCP.

   Прикладное сообщение  -  блок  данных,  которым  обмениваются  программы
сетевых приложений с протоколами транспортного уровня.
   Инкапсуляция - способ упаковки  данных  в  формате  одного  протокола  в
формат другого протокола. Например, упаковка IP-пакета в кадр  Ethernet  или
TCP-сегмента  в  IP-пакет.  Согласно   словарю   иностранных   слов   термин
'инкапсуляция' означает 'образование  капсулы  вокруг  чужих  для  организма
веществ (инородных тел, паразитов и  т.д.)'.  В  рамках  межсетевого  обмена
понятие инкапсуляции имеет несколько более расширенный смысл. Если в  случае
инкапсуляции IP в Ethernet речь идет действительно о помещении пакета  IP  в
качестве данных Ethernet-фрейма,  или,  в  случае  инкапсуляции  TCP  в  IP,
помещение TCP-сегмента в качестве данных в IP-пакет, то при передаче  данных
по коммутируемым каналам происходит дальнейшая 'нарезка' пакетов теперь  уже
на пакеты SLIP или фреймы PPP.

   Инкапсуляция протоколов верхнего уровня в протоколы TCP/IP
                                    [pic]
                                 Рисунок 1.4

   Вся схема (рисунок 1.4) называется стеком протоколов TCP/IP  или  просто
стеком TCP/IP. Чтобы  не  возвращаться  к  названиям  протоколов  расшифруем
аббревиатуры TCP, UDP, ARP, SLIP, PPP, FTP, TELNET,  RPC,  TFTP,  DNS,  RIP,
NFS:
   TCP - Transmission Control Protocol  -  базовый  транспортный  протокол,
давший название всему семейству протоколов TCP/IP.
   UDP - User Datagram Protocol - второй  транспортный  протокол  семейства
TCP/IP. Различия между TCP и UDP будут обсуждены позже.
   ARP  -  Address  Resolution  Protocol  -   протокол   используется   для
определения соответствия IP-адресов и Ethernet-адресов.
   SLIP - Serial  Line  Internet  Protocol  (Протокол  передачи  данных  по
телефонным линиям).
   PPP - Point to Point Protocol (Протокол обмена данными 'точка-точка').
   FTP - File Transfer Protocol (Протокол обмена файлами).
   TELNET - протокол эмуляции виртуального терминала.
   RPC  -  Remote   Process   Control   (Протокол   управления   удаленными
процессами).
   TFTP - Trivial File Transfer  Protocol  (Тривиальный  протокол  передачи
файлов).
   DNS - Domain Name System (Система доменных имен).
   RIP - Routing Information Protocol (Протокол маршрутизации).
   NFS - Network File System (Распределенная  файловая  система  и  система
сетевой печати).
   При работе с такими программами прикладного уровня, как FTP или  telnet,
образуется стек протоколов с использованием модуля  TCP,  представленный  на
рисунке 1.5.

                Стек протоколов при использовании модуля TCP
                                    [pic]
                                 Рисунок 1.5

   При  работе  с  прикладными  программами,   использующими   транспортный
протокол UDP, например, программные  средства  Network  File  System  (NFS),
используется другой стек, где вместо модуля TCP будет использоваться  модуль
UDP (рисунок 1.6).

         Стек протоколов при работе через транспортный протокол UDP

                                    [pic]
                                 Рисунок 1.6

   При обслуживании блочных потоков данных модули TCP, UDP и  драйвер  ENET
работают как мультиплексоры, т.е. перенаправляют данные с  одного  входа  на
несколько выходов и наоборот, с многих входов на один  выход.  Так,  драйвер
ENET может направить кадр либо модулю IP, либо модулю ARP, в зависимости  от
значения поля 'тип' в заголовке кадра. Модуль IP  может  направить  IP-пакет
либо модулю TCP, либо  модулю  UDP,  что  определяется  полем  'протокол'  в
заголовке пакета.
   Получатель UDP-датаграммы или TCP-сообщения  определяется  на  основании
значения поля 'порт' в заголовке датаграммы или сообщения.
   Все указанные выше значения прописываются в заголовке сообщения модулями
на отправляющем компьютере. Так как схема протоколов - это дерево, то к  его
корню ведет  только  один  путь,  при  прохождении  которого  каждый  модуль
добавляет  свои  данные  в  заголовок  блока.   Машина,   принявшая   пакет,
осуществляет демультиплексирование в соответствии с этими отметками.
   Технология Internet поддерживает разные  физические  среды,  из  которых
самой распространенной является Ethernet. В последнее время большой  интерес
вызывает подключение отдельных машин к сети через TCP-стек по  коммутируемым
(телефонным) каналам. С появлением новых магистральных технологий  типа  ATM
или FrameRelay активно ведутся исследования по  инкапсуляции  TCP/IP  в  эти
протоколы.  На  сегодняшний  день  многие  проблемы  решены   и   существует
оборудование для организации TCP/IP сетей через эти системы.

   1.2 Протокол IP

   Протокол IP является самым главным во всей иерархии протоколов семейства
TCP/IP. Именно он используется для управления рассылкой  TCP/IP  пакетов  по
сети Internet. Среди различных функций, возложенных на  IP  обычно  выделяют
следующие:
   а) определение пакета, который  является  базовым  понятием  и  единицей
передачи данных в сети Internet. Многие зарубежные авторы называют такой IP-
пакет датаграммой;
   б) определение адресной схемы, которая используется в сети Internet;
   в)  передача данных между канальным уровнем (уровнем доступа к  сети)  и
транспортным  уровнем  (другими  словами  мультиплексирование   транспортных
датаграмм во фреймы канального уровня);
   г)  маршрутизация пакетов по сети, т.е. передача пакетов от одного шлюза
к другому с целью передачи пакета машине-получателю;
   д)  'нарезка' и сборка из фрагментов пакетов транспортного уровня.
   Главными особенностями протокола IP является  отсутствие  ориентации  на
физическое или виртуальное соединение. Это значит, что  прежде  чем  послать
пакет в сеть, модуль операционной  системы,  реализующий  IP,  не  проверяет
возможность установки соединения, т.е. никакой управляющей информации  кроме
той, что содержится в самом IP-пакете, по сети не передается.  Кроме  этого,
IP не заботится о проверке целостности информации в поле данных пакета,  что
заставляет отнести его к протоколам ненадежной доставки. Целостность  данных
проверяется  протоколами  транспортного   уровня   (TCP)   или   протоколами
приложений.
   Таким образом, вся информация о пути, по которому  должен  пройти  пакет
берется из самой сети в момент прохождения пакета. Именно  эта  процедура  и
называется маршрутизацией в отличии от коммутации, которая используется  для
предварительного установления маршрута следования данных, по которому  потом
эти данные отправляют.
   Принцип маршрутизации является одним из тех факторов, который  обеспечил
гибкость сети Internet  и  ее  победу  в  соревновании  с  другими  сетевыми
технологиями.   Надо   сказать,   что   маршрутизация   является    довольно
ресурсоемкой процедурой, так как требует  анализа  каждого  пакета,  который
проходит через шлюз  или  маршрутизатор,  в  то  время  как  при  коммутации
анализируется  только   управляющая   информация,   устанавливается   канал,
физический или виртуальный, и все пакеты пересылаются по  этому  каналу  без
анализа  маршрутной  информации.  Однако,  эта  слабость   IP   одновременно
является  и  его  силой.  При  неустойчивой   работе   сети   пакеты   могут
пересылаться по различным маршрутам и затем собираться в  единое  сообщение.
При коммутации  путь  придется  каждый  раз  вычислять  заново  для  каждого
пакета, а в этом случае коммутация потребует больше  накладных  затрат,  чем
маршрутизация.
   Вообще говоря, версий протокола IP  существует  несколько.  В  настоящее
время  используется  версия   Ipv4   (RFC791).   Формат   пакета   протокола
представлена на рисунке 1.7.
                             Формат пакета Ipv4

                                    [pic]
                                 Рисунок1.7

   Фактически, в этом заголовке определены все основные данные, необходимые
для перечисленных выше функций протокола IP: адрес отправителя  (4-ое  слово
заголовка), адрес получателя (5-ое  слово  заголовка),  общая  длина  пакета
(поле Total Lenght) и тип пересылаемой датаграммы (поле Protocol).
   Используя данные заголовка, машина может  определить  на  какой  сетевой
интерфейс отправлять пакет. Если IP-адрес получателя  принадлежит  одной  из
ее сетей, то на интерфейс этой сети пакет и  будет  отправлен,  в  противном
случае пакет отправят на другой шлюз.
   Если пакет слишком долго 'бродит'  по  сети,  то  очередной  шлюз  может
отправить ICMP-пакет на машину-отправитель для того, чтобы уведомить о  том,
что надо использовать другой шлюз. При этом, сам IP-пакет  будет  уничтожен.
На этом принципе работает программа ping, которая используется  для  деления
маршрутов прохождения пакетов по сети.
   Зная    протокол    транспортного    уровня,    IP-модуль     производит
раскапсулирование информации из своего пакета и  ее  направление  на  модуль
обслуживания соответствующего транспорта.
   При  обсуждении  формата  заголовка  пакета  IP  вернемся  еще   раз   к
инкапсулированию.   Как    уже    отмечалось,    при    обычной    процедуре
инкапсулирования пакет просто помещается в поле данных фрейма, а  в  случае,
когда это не  может  быть  осуществлено,  то  разбивается  на  более  мелкие
фрагменты. Размер  максимально  возможного  фрейма,  который  передается  по
сети, определяется величиной MTU (Maximum Transsion Unit), определенной  для
протокола канального уровня. Для того, чтобы  потом  восстановить  пакет  IP
должен держать информацию о своем  разбиении.  Для  этой  цели  используется
поля 'flags' и 'fragmentation offset'.  В  этих  полях  определяется,  какая
часть пакета получена в данном фрейме, если этот  пакет  был  фрагментирован
на более мелкие части.
   Обсуждая протокол IP и вообще все семейство протоколов TCP/IP нельзя  не
упомянуть, что в настоящее  время  перед  Internet  возникло  множество  по-
настоящему сложных проблем, которые  требуют  изменения  базового  протокола
сети.



   1.3 Принципы построения IP-адресов

   IP-адреса определены в том же самом  RFC,  что  и  протокол  IP.  Именно
адреса являются той базой, на  которой  строится  доставка  сообщений  через
сеть TCP/IP.
   IP-адрес - это 4-байтовая последовательность. Принято каждый  байт  этой
последовательности  записывать   в   виде   десятичного   числа.   Например,
приведенный ниже адрес  является  адресом  одной  из  машин  Выч.центра  ВПИ
ВолгГТУ:
          195.209.133.14
   Каждая точка доступа к сетевому интерфейсу имеет свой IP-адрес.
   IP-адрес состоит из двух частей: адреса  сети  и  номера  хоста.  Вообще
говоря,  под  хостом  понимают  один  компьютер,  подключенный  к  Сети.   В
последнее время, понятие 'хост' можно толковать более расширено.  Это  может
быть и принтер с сетевой картой, и Х-терминал, и  вообще  любое  устройство,
которое имеет свой сетевой интерфейс.
   Существует 5 классов IP-адресов. Эти классы  отличаются  друг  от  друга
количеством битов, отведенных на  адрес  сети  и  адрес  хоста  в  сети.  На
рисунке 1.8 показаны эти пять классов.

                              Классы IP-адресов
                                    [pic]
                                 Рисунок 1.8

   Опираясь на  эту  структуру,  можно  подсчитать  характеристики  каждого
класса в терминах числа сетей и числа машин в каждой сети.
   Таблица 1.1 Характеристики классов IP-адресов
|Класс   |Диапазон значений    |Возможное количество|Возможное количество|
|        |первого октета       |сетей               |узлов               |
|А       |1 - 126              |126                 |16777214            |
|B       |128 – 191            |16382               |65534               |
|C       |192 – 223            |2097150             |254                 |
|D       |224 – 239            |-                   |228                 |
|E       |240 – 247            |-                   |227                 |


   При  разработке  структуры  IP-адресов  предполагалось,  что  они  будут
использоваться по разному назначению.
   Адреса класса A предназначены для использования в больших  сетях  общего
пользования.  Адреса  класса  B  предназначены  для  использования  в  сетях
среднего   размера   (сети   больших   компаний,    научно-исследовательских
институтов, университетов). Адреса класса C предназначены для  использования
в сетях с небольшим числом компьютеров (сети  небольших  компаний  и  фирм).
Адреса класса D используют для обращения к  группам  компьютеров,  а  адреса
класса E - зарезервированы.
   Среди  всех   IP-адресов   имеется   несколько   зарезервированных   под
специальные нужды. Ниже приведена таблица зарезервированных адресов.
   Таблица 1.2 Выделенные IP-адреса
|IP-адрес                    |Значение                               |
|Все нули                    |Данный узел сети                       |
|номер сети | все нули       |данная IP-сеть                         |
|все нули | номер узла       |узел в данной (локальной) сети         |
|все единицы                 |все узлы в данной локальной IP-сети    |
|номер сети | все единицы    |все узлы указанной IP-сети             |
|127.0.0.1                   |'петля'                                |

   Особое  внимание  в  таблице  1.2  уделяется  последней  строке.   Адрес
127.0.0.1 предназначен для тестирования программ и взаимодействия  процессов
в рамках одного компьютера. В большинстве случаев в  файлах  настройки  этот
адрес обязательно должен  быть  указан,  иначе  система  при  запуске  может
зависнуть (как это  случается  в  SCO  Unix).  Наличие  'петли'  чрезвычайно
удобно с точки зрения использования сетевых приложений  в  локальном  режиме
для их тестирования и при разработке интегрированных систем.
   Вообще, зарезервирована вся сеть 127.0.0.0. Эта сеть класса A реально не
описывает ни одной настоящей сети.
   Некоторые зарезервированные адреса  используются  для  широковещательных
сообщений.  Например,  номер  сети  (строка  2)  используется  для   посылки
сообщений этой сети (т.е. сообщений всем  компьютерам  этой  сети).  Адреса,
содержащие все единицы,  используются  для  широковещательных  посылок  (для
запроса адресов, например).
   Реальные адреса выделяются организациями, предоставляющими IP-услуги, из
выделенных для них пулов  IP-адресов.  Согласно  документации  NIC  (Network
Information Centre) IP-адреса предоставляются бесплатно, но в  прейскурантах
наших организаций (как коммерческих,  так  и  некоммерческих),  занимающихся
Internet-сервисом предоставление IP-адреса стоит отдельной строкой.

   1.4 IPing - новое поколение протоколов IP

   До сих пор, при обсуждении IP-технологии,  основное  внимание  уделялось
проблемам межсетевого обмена  и  путям  их  решения  в  рамках  существующей
технологии. Однако, все эти задачи, вызванные необходимостью  приспособления
IP к новым физическим средам передачи  данных  меркнут  перед  действительно
серьезной проблемой - ростом числа пользователей Сети. Казалось бы, что  тут
страшного?   Число   пользователей   увеличивается,   следовательно   растет
популярность сети. Такое положение дел должно только радовать.  Но  проблема
заключается в том, что Internet стал слишком большой, он перерос  заложенные
в него возможности. К 1994 году ISOC опубликовало данные, из  которых  стало
ясно, что номера сетей класса B практически  все  уже  выбраны,  а  остались
только сети класса A и класса  C.  Класс  A  -  это  слишком  большие  сети.
Реальные пользователи сети,  такие  как  университеты  или  предприятия,  не
используют  сети  этого  класса.  Класс  С   хорош   для   очень   небольших
организаций. При современной  насыщенности  вычислительной  техникой  только
мелкие конторы будут удовлетворены возможностями этого класса. Но если  дело
пойдет и дальше такими темпами, то  класс  C  тоже  быстро  иссякнет.  Самое
парадоксальное заключается в том, что реально не все адреса,  из  выделенных
пользователям сетей, реально используются. Большое число  адресов  пропадает
из-за различного рода просчетов при организации подсетей, например,  слишком
широкая маска, или наоборот слишком  'дальновидного  планирования,  когда  в
сеть закладывают большой запас 'на  вырост'.  Не  следует  думать,  что  эти
адреса так и останутся невостребованными. Современное 'железо' позволяет  их
утилизировать достаточно эффективно, но это стоит  значительно  дороже,  чем
простые способы, описанные выше. Одним словом, Internet, став  действительно
глобальной сетью, оказался зажатым в тисках  своих  собственных  стандартов.
Нужно  было  что-то  срочно  предпринимать,  чтобы  во  время   пика   своей
популярности не потерпеть сокрушительное фиаско.
   В начале 1995  года  IETF,  после  3-x  лет  консультаций  и  дискуссий,
выпустило предложения по новому стандарту протокола IP - IPv6,  который  еще
называют IPing. К слову, следует заметить,  что  сейчас  Internet-сообщество
живет по стандарту IPv4. IPv6 призван не только  решить  адресную  проблему,
но и попутно помочь решению других задач, стоящих в  настоящее  время  перед
Internet.
   Нельзя сказать,  что  до  появления  IPv6  не  делались  попытки  обойти
адресные  ограничения  IPv4.  Например,  в   протоколах   BOOTP   (BOOTstrap
Protocol)  и  DHCP  (Dynamic  Host  Configuration   Protocol)   предлагается
достаточно простой и естественный  способ  решения  проблемы  для  ситуации,
когда число физических подключений ограничено, или реально все  пользователи
не работают в сети одновременно. Типичной ситуацией  такого  сорта  является
доступ к Internet по коммутируемом  каналу,  например  телефону.  Ясно,  что
одновременно несколько пользователей физически  не  могут  разговаривать  по
одному телефону, поэтому каждый из них при установке соединения  запрашивает
свою конфигурацию, в том числе и IP-адрес. Адреса выдаются из  ограниченного
набора  адресов,   который   закреплен   за   телефонным   пулом.   IP-адрес
пользователя  может  варьироваться  от  сессии.  Фактически,  DHCP   -   это
расширение  BOOTP  в  сторону  увеличения  числа  протоколов,  для   которых
возможна динамическая настройка удаленных машин. Следует заметить, что  DHCP
используют  и  для  облегчения   администрирования   больших   сетей,   т.к.
достаточно иметь только базу данных  машин  на  одном  компьютере  локальной
сети, и из нее загружать настройки удаленных компьютеров  при  их  включении
(под включением понимается, в  данном  случае  не  подключение  к  локальной
компьютерной сети, а  включение  питания  у  компьютера,  подсоединенного  к
сети).
   Совершенно очевидно,  что  приведенный  выше  пример  -  это  достаточно
специфическое решение, ориентированное  на  специальный  вид  подключения  к
сети. Однако,  не  только  адресная  проблема  определила  появление  нового
протокола.  Разработчики  позаботились  и  о  масштабируемой  адресации  IP-
пакетов,  ввели  новые  типы  адресов,  упростили  заголовок  пакета,  ввели
идентификацию  типа  информационных  потоков  для  увеличения  эффективности
обмена данными, ввели поля идентификации и конфиденциальности информации.

             Новый заголовок IP-пакета показан на рисунке 1.13.
                                    [pic]
                         Рисунок 1.13 Заголовок IPv6

   В этом заголовке поле  'версия'  -  номер  версии  IP,  равное  6.  Поле
'приоритет'  может  принимать  значения  от  0  до  15.  Первые  8  значений
закреплены за пакетами, требующими  контроля  переполнения,  например,  0  -
несимвольная информация; 1 - информация заполнения (news), 2 - не  критичная
ко времени передача данных (e-mail); 4  -  передача  данных  режима  on-line
(FTP, HTTP, NFS и т.п.); 6 - интерактивный обмен данными (telnet,  X);  7  -
системные данные или данные  управления  сетью  (SNMP,  RIP  и  т.п.).  Поле
'метка потока' предполагается  использовать  для  оптимизации  маршрутизации
пакетов. В IPv6 вводится понятие потока, который состоит из пакетов.  Пакеты
потока имеют одинаковый адрес отправителя и одинаковый  адрес  получателя  и
ряд других  одинаковых  опций.  Подразумевается,  что  маршрутизаторы  будут
способны  обрабатывать  это  поле  и  оптимизировать   процедуру   пересылки
пакетов, принадлежащих одному потоку. В настоящее время алгоритмы и  способы
использования поля 'метка  потока'  находятся  на  стадии  обсуждения.  Поле
длины пакета  определяет  длину  следующей  за  заголовком  части  пакета  в
байтах. Поле 'следующий заголовок' определяет тип следующего  за  заголовком
IP-заголовка. Заголовок IPv6 имеет меньшее количество полей,  чем  заголовок
IPv4.  Многие  необязательные  поля  могут  быть  указаны  в  дополнительных
заголовках, если это необходимо.  Поле  'ограничение  переходов'  определяет
число  промежуточных  шлюзов,  которые  ретранслируют  пакет  в  сети.   При
прохождении шлюза это число уменьшается на единицу. При достижении  значения
'0' пакет уничтожается. После первых 8 байтов в заголовке указываются  адрес
отправителя пакета и адрес получателя пакета. Каждый из этих  адресов  имеет
длину 16 байт. Таким образом, длина заголовка IPv6 составляет 48 байтов.
   После 4 байтов IP-адреса стандарта IPv4, шестнадцать байт IP-адреса  для
IPv6 выглядят достаточными для удовлетворения любых  потребностей  Internet.
Не  все  2128  адресов  можно  использовать  в  качестве   адреса   сетевого
интерфейса  в  сети.  Предполагается  выделение  отдельных  групп   адресов,
согласно специальным префиксам  внутри  IP-адреса,  подобно  тому,  как  это
делалось при определении типов сетей в IPv4.  Так,  двоичный  префикс  '0000
010' предполагается закрепить за отображением  IPX-адресов  в  IP-адреса.  В
новом стандарте выделяются несколько  типов  адресов:  unicast  addresses  -
адреса сетевых интерфейсов,  anycast  addresses  -  адреса  не  связанные  с
конкретным сетевым интерфейсом, но и не связанные с  группой  интерфейсов  и
multicast addresses -  групповые  адреса.  Разница  между  последними  двумя
группами  адресов  в  том,  что  anycast  address  это   адрес   конкретного
получателя, но определяется адрес сетевого  интерфейса  только  в  локальной
сети, где этот  интерфейс  подключен,  а  multicast-сообщение  предназначено
группе интерфейсов, которые имеют один multicast-адрес. Пока  IPv6  не  стал
злобой дня, нет смысла  углубляться  в  форматы  новых  IP-адресов.  Отметим
только, что существующие узлы Internet  будут  функционировать  в  сети  без
каких-либо  изменений  в  их  настройках  и  программном  обеспечении.  IPv6
предполагает две схемы включения 'старых' адресов  в  новые.  Предполагается
расширять 4-х байтовый адрес за счет лидирующих байтов  до  16-и  байтового.
При этом, для  систем,  которые  не  поддерживают  IPv6,  первые  10  байтов
заполняются нулями, следующие два байта состоят из  двоичных  единиц,  а  за
ними следует 'старый' IP-адрес. Если система в состоянии поддерживать  новый
стандарт, то единицы в 11 и 12 байтах заменяются нулями.
   Маршрутизировать IPv6-пакеты предполагается также,  как  и  IPv4-пакеты.
Однако, в стандарт  были  добавлены  три  новых  возможности  маршрутизации:
маршрутизация  поставщика  IP-услуг,   маршрутизация   мобильных   узлов   и
автоматическая  переадресация.  Эти  функции   реализуются   путем   прямого
указания промежуточных адресов шлюзов при маршрутизации пакета.  Эти  списки
помещаются в дополнительных заголовках, которые  можно  вставлять  вслед  за
заголовком IP-пакета.
   Кроме перечисленных  возможностей,  новый  протокол  позволяет  улучшить
защиту IP-трафика. Для  этой  цели  в  протоколе  предусмотрены  специальные
опции. Первая опция предназначена для защиты от  подмены  IP-адресов  машин.
При  ее  использовании  нужно  кроме  адреса  подменять  и  содержимое  поля
идентификации, что усложняет задачу злоумышленника, который маскируется  под
другую машину. Вторая опция связана с шифрацией трафика. Пока IPv6  не  стал
реально действующим стандартом, говорить о  конкретных  механизмах  шифрации
трудно.
   Завершая описание нового стандарта,  следует  отметить,  что  он  скорее
отражает  современные   проблемы   IP-технологии   и   является   достаточно
проработанной попыткой их решения.  Будет  принят  новый  стандарт  или  нет
покажет ближайшее будущее. Во  всяком  случае  первые  образцы  программного
обеспечения и 'железа' уже существуют.
   После протоколов межсетевого уровня перейдем к протоколам  транспортного
уровня и первым из них рассмотрим протокол UDP.

   1.5. Протокол пользовательских датаграмм - UDP

   В стеке пpотоколов TCP/IP UDP  (Протокол  пользовательских  датаграмм  )
обеспечивает основной механизм,  используемый  пpикладными  пpогpаммами  для
пеpедачи  датагpамм  другим  приложениям.  UDP  предоставляет   протокольные
поpты, используемые для pазличения нескольких  пpоцессов,  выполняющихся  на
одном компьютеpе. Помимо посылаемых  данных  каждое  UDP-сообщение  содеpжит
номеp  поpта-пpиемника  и  номеp  поpта-отпpавителя,  делая  возможным   для
программ UDP  на  машине-получателе  доставлять  сообщение  соответствующему
реципиенту, а для получателя посылать ответ соответствующему отправителю.
   UDP использует Internet Protocol для пеpедачи сообщения от одной  мащины
к дpугой и обеспечивает ту же самую ненадежную  доставку  сообщений,  что  и
IP. UDP не использует  подтвеpждения  пpихода  сообщений,  не  упоpядочивает
пpиходящие  сообщения  и  не  обеспечивает  обpатной  связи  для  управления
скоростью передачи инфоpмации между машинами. Поэтому,  UDP-сообщения  могут
быть потеpяны, pазмножены или пpиходить не по поpядку.  Кpоме  того,  пакеты
могут пpиходить pаньше, чем получатель сможет обpаботать их. В  общем  можно
сказать, что:
   UDP  обеспечивает  ненадежную  службу  без  установления  соединения   и
использует   IP   для   тpанспоpтиpовки   сообщений   между   машинами.   Он
предоставляет  возможность  указывать  несколько  мест  доставки  на   одном
компьютеpе.
   Пpикладные пpогpаммы, использующие UDP, несут полную ответственность  за
пpоблемы  надежности,  включая  потеpю  сообщений,  дублирование,  задеpжку,
неупоpядоченность  или  потеpю  связи.  К  несчастью,   пpогpаммисты   часто
игноpиpуют эти пpоблемы  пpи  pазpаботке  пpогpамм.  Кpоме  того,  поскольку
пpогpаммисты тестиpуют свои пpогpаммы, используя  надежные  высокоскоростные
локальные, тестиpование может не выявить возможные  ошибки.  Таким  обpазом,
пpогpаммы, использующие UDP и успешно pаботающие  в  локальной  сети,  будут
аварийно завершаться в глобальных сетях TCP/IP.
   UDP-заголовок состоит из двух 32-битных слов:
                                    [pic]
   Значения полей:
   Source Port - номер порта процесса-отправителя.
   Destination Port - номер порта процесса-получателя.
   Length - длина UDP-пакета вместе с заголовком в октетах.
   Checksum - контрольная сумма. Контрольная  сумма  вычисляется  таким  же
образом, как и в TCP-заголовке; если UDP-пакет имеет нечетную длину, то  при
вычислении контрольной суммы к нему добавляется нулевой октет.
   После  заголовка  непосредственно   следуют   пользовательские   данные,
переданные модулю  UDP  прикладным  уровнем  за  один  вызов.  Протокол  UDP
рассматривает эти данные как целостное сообщение; он  никогда  не  разбивает
сообщение для передачи  в  нескольких  пакетах  и  не  объединяет  несколько
сообщений для пересылки в  одном  пакете.  Если  прикладной  процесс  N  раз
вызвал модуль UDP для отправки данных (т.е. запросил отправку N  сообщений),
то модулем UDP  будет  сформировано  и  отправлено  N  пакетов,  и  процесс-
получатель будет должен N раз вызвать свой модуль  UDP  для  получения  всех
сообщений.
   При  получении  пакета  от  межсетевого  уровня  модуль  UDP   проверяет
контрольную сумму и передает содержимое сообщения прикладному процессу,  чей
номер порта указан в поле ?Destination Port+.
   Если проверка  контрольной  суммы  выявила  ошибку  или  если  процесса,
подключенного к требуемому порту, не существует,  пакет  игнорируется.  Если
пакеты поступают быстрее,  чем  модуль  UDP  успевает  их  обрабатывать,  то
поступающие  пакеты  также  игнорируются.  Протокол  UDP  не  имеет  никаких
средств подтверждения безошибочного приема данных или сообщения  об  ошибке,
не  обеспечивает  приход  сообщений  в  порядке  отправки,   не   производит
предварительного установления сеанса  связи  между  прикладными  процессами,
поэтому он является ненадежным протоколом без установления соединения.  Если
приложение нуждается в подобного рода услугах, оно  должно  использовать  на
транспортном уровне протокол TCP.
   Максимальная длина UDP-сообщения равна максимальной длине IP-дейтаграммы
(65535 октетов) за вычетом минимального IP-заголовка  (20)  и  UDP-заголовка
(8), т.е. 65507 октетов. На практике обычно  используются  сообщения  длиной
8192 октета.
   Примеры прикладных процессов, использующих протокол  UDP:  NFS  (Network
File System  -  сетевая  файловая  система),  TFTP  (Trivial  File  Transfer
Protocol  -  простой  протокол  передачи  файлов),  SNMP   (Simple   Network
Management Protocol - простой протокол управления сетью), DNS  (Domain  Name
Service - доменная служба имен), RIP (Routing Information Protocol).

   2 Классификация алгоритмов маршрутизации и общие сведения

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

   2.1 Цели разработки алгоритмов маршрутизации

   При  разработке  алгоритмов  маршрутизации  часто  преследуют  одну  или
несколько из перечисленных ниже целей:
   1. Оптимальность
   2. Простота и низкие непроизводительные затраты
   3. Живучесть и стабильность
   4. Быстрая сходимость
   5. Гибкость
   Оптимальность
   Оптимальность, вероятно, является  самой  общей  целью  разработки.  Она
характеризует  способность  алгоритма  маршрутизации  выбирать   'наилучший'
маршрут.  Наилучший  маршрут  зависит  от  показателей  и  от  'веса'   этих
показателей,  используемых  при  проведении  расчета.   Например,   алгоритм
маршрутизации  мог  бы  использовать  несколько  пересылок  с   определенной
задержкой, но при расчете 'вес' задержки может  быть  им  оценен  как  очень
значительный.  Естественно,  что  протоколы   маршрутизации   дожны   строгo
определять свои алгоритмы расчета показателей.
   Простота и низкие непроизводительные затраты
   Алгоритмы  маршрутизации  разрабатываются  как  можно  более   простыми.
Другими словами, алгоритм маршрутизации должен эффективно обеспечивать  свои
функциональные   возможности,   с   мимимальными   затратами    программного
обеспечения и коэффициентом
использования. Особенно важна эффективность в том случае, когда
  программа,  реализующая  алгоритм   маршрутизации,   должна   работать   в
компьютере с ограниченными физическими ресурсами.
   Живучесть и стабильность :
   Алгоритмы маршрутизации должны обладать живучестью. Другими словми,  они
должны  четко  функционировать  в  случае  неординарных  или  непредвиденных
обстоятельств, таких как  отказы  аппаратуры,  условия  высокой  нагрузки  и
некорректные реализации. Т.к. маршрутизаторы расположены  в  узловых  точках
сети, их отказ может вызвать значительные проблемы.

Часто  наилучшими  алгоритмами   маршрутизации   оказываются   те,   которые
выдержали  испытание  временем  и  доказали  свою  надежность  в   различных
условиях работы сети.
   Быстрая сходимость :
   Алгоритмы  маршрутизации  должны  быстро  сходиться.  Сходимость  -  это
процесс соглашения между всеми маршрутизаторами  по  оптимальным  маршрутам.
Когда какое-нибудь  событие  в  сети  приводит  к  тому,  что  маршруты  или
отвергаются, или ставновятся доступными, маршрутизаторы рассылают  сообщения
об  обновлении  маршрутизации.   Сообщения   об   обновлении   маршрутизации
пронизывают сети, стимулируя пересчет оптимальных маршрутов  и,  в  конечном
итоге, вынуждая все маршрутизаторы придти к соглашению  по  этим  маршрутам.
Алгоритмы  мааршрутизации,  которые  сходятся  медленно,  могут  привести  к
образованию петель маршрутизации или выходам из строя сети.
   На Рисунке 2.1 изображена петля маршрутизации. В данном случае, в момент
времени t1 к маршрутизатору 1  прибывает  пакет.  Маршрутизатор  1  уже  был
обновлен и поэтому он знает, что оптимальный  маршрут  к  пункту  назначения
требует,  чтобы  следующей   остановкой   был   маршрутизатор   2.   Поэтому
маршрутизатор 1 пересылает пакет в маршрутизатор 2. Маршрутизатор 2  еще  не
был обновлен, поэтому он  полагает,  что  следующей  оптимальной  пересылкой
должен быть маршрутизатор 1.

Поэтому маршрутизатор 2 пересылает пакет обратно в  маршрутизатор  1.  Пакет
будет продолжать скакать взад и вперед между двумя маршрутизаторами  до  тех
пор, пока маршрутизатор 2 не получит корректировку маршрутизации,  или  пока
число  коммутаций  данного  пакета  не  превысит  допустимого  максимального
числа.
   Гибкость :
   Алгоритмы маршрутизации должны  быть  также  гибкими.  Другими  словами,
алгоритмы   маршрутизации   должны   быстро   и   точно   адаптироваться   к
разнообразным обстоятельствам в сети.  Например,  предположим,  что  сегмент
сети отвергнут. Многие алгоритмы
                             Петля маршрутизации


                                 Рисунок 2.1

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

   2.2 Типы алгоритмов

   Алгоритмы маршрутизации могут быть классифицированы по типам.  Например,
алгоритмы могут быть:
   1. Статическими или динамическими
   2. Одномаршрутными или многомаршрутными
   3. Одноуровневыми или иерархическими
   4. С интеллектом в главной вычислительной машине или в маршрутизаторе
   5. Внутридоменными и междоменными
   6. Алгоритмами состояния канала или вектора расстояний
   Статические или динамические алгоритмы
   Статические алгоритмы маршрутизации вообще вряд ли являются алгоритмами.
Распределение    статических     таблиц     маршрутизации     устанавливется
администратором сети до начала маршрутизации. Оно не меняется,  если  только
администратор сети  не  изменит  его.  Алгоритмы,  использующие  статические
маршруты, просты для разработки и хорошо работают в окружениях,  где  трафик
сети относительно предсказуем, а схема сети относительно проста.
   Т.к. статические системы маршрутизации не могут реагировать на изменения
в сети, они, как правило, считаются непригодными  для  современных  крупных,
постоянно   изменяющихся   сетей.   Большинство   доминирующих    алгоритмов
маршрутизации 1990гг. - динамические.
   Динамические  алгоритмы  маршрутизации  подстраиваются  к   изменяющимся
обстоятельствам сети в масштабе реального времени. Они выполняют  это  путем
анализа поступающих сообщений об обновлении маршрутизации. Если в  сообщении
указывается,  что  имело  место  изменение  сети,  программы   маршрутизации
пересчитывают  маршруты  и  рассылают  новые   сообщения   о   корректировке
маршрутизации. Такие сообщения пронизывают сеть,  стимулируя  маршрутизаторы
заново прогонять свои алгоритмы и соответствующим образом  изменять  таблицы
маршрутизации.  Динамические   алгоритмы   маршрутизации   могут   дополнять
статические маршруты там,  где  это  уместно.  Например,  можно  разработать
'маршрутизатор  последнего  обращения'  (т.е.   маршрутизатор,   в   который
отсылаются все  неотправленные  по  определенному  маршруту  пакеты).  Такой
маршрутизатор выполняет роль хранилища неотправленных  пакетов,  гарантируя,
что все сообщения будут хотя бы определенным образом обработаны.
   Одномаршрутные или многомаршрутные алгоритмы
   Некоторые  сложные  протоколы   маршрутизации   обеспечивают   множество
маршрутов к одному  и  тому  же  пункту  назначения.  Такие  многомаршрутные
алгоритмы   делают   возможной   мультиплексную    передачу    трафика    по
многочисленным линиям;  одномаршрутные  алгоритмы  не  могут  делать  этого.
Преимущества многомаршрутных алгоритмов  очевидны  -  они  могут  обеспечить
заначительно большую пропускную способность и надежность.
   Одноуровневые или иерархические алгоритмы
   Некоторые алгоритмы маршрутизации оперируют в плоском пространстве, в то
время  как  другие  используют  иерархиии  маршрутизации.  В   одноуровневой
системе маршрутизации все маршрутизаторы равны по отношению друг к другу.  В
иерархической системе маршрутизации некоторые маршрутизаторы  формируют  то,
что составляет основу (backbone - базу) маршрутизации. Пакеты  из  небазовых
маршрутизаторов перемещаются к базовыи маршрутизаторам и пропускаются  через
них до тех пор, пока не достигнут общей области пункта  назначения.  Начиная
с этого момента, они  перемещаются  от  последнего  базового  маршрутизатора
через один или  несколько  небазовых  маршрутизаторов  до  конечного  пункта
назначения.
   Системы  маршрутизации  часто  устанавливают  логические  группы  узлов,
называемых доменами,  или  автономными  системами  (AS),  или  областями.  В
иерархических  системах  одни  маршрутизаторы   какого-либо   домена   могут
сообщаться  с  маршрутизаторами  других  доменов,  в  то  время  как  другие
маршрутизаторы  этого  домена  могут  поддерживать  связь  с  маршрутизаторы
только в пределах своего домена. В очень крупных  сетях  могут  существовать
дополнительные    иерархические    уровни.     Маршрутизаторы     наивысшего
иерархического уровня образуют базу маршрутизации.
   Основным преимуществом иерархической маршрутизации является то, что  она
имитирует организацию большинства компаний  и  следовательно,  очень  хорошо
поддерживает их схемы трафика. Большая часть сетевой  связи  имеет  место  в
пределах групп небольших компаний (доменов). Внутридоменным  маршрутизаторам
необходимо знать только о других маршрутизаторах в пределах  своего  домена,
поэтому их алгоритмы маршрутизации могут  быть  упрощенными.  Соответственно
может  быть  уменьшен  и  трафик  обновления  маршрутизации,  зависящий   от
используемого алгоритма маршрутизации.
   Алгоритмы  с  игнтеллектом  в  главной  вычислительной  машине   или   в
маршрутизаторе
   Некоторые  алгоритмы  маршрутизации  предполагают,  что  конечный   узел
источника определяет весь маршрут. Обычно  это  называют  маршрутизацией  от
источника. В системах маршрутизации от  источника  маршрутизаторы  действуют
просто как устойства  хранения  и  пересылки  пакета,  без  всякий  раздумий
отсылая его к следующей остановке.
   Другие алгоритмы предполагают, что главные вычислительные машины  ничего
не знают о  маршрутах.  При  использовании  этих  алгоритмов  маршрутизаторы
определяют маршрут через об'единенную сеть, базируясь на  своих  собственных
расчетах. В первой  системе,  рассмотренной  выше,  интеллект  маршрутизации
находится в главной  вычислительной  машине.  В  системе,  рассмотренной  во
втором случае, интеллектом маршрутизации наделены маршрутизаторы.
   Компромисс между маршрутизацией с интеллектом в  главной  вычислительной
машине и маршрутизацией с интеллектом  в  маршрутизаторе  достигается  путем
сопоставления  оптимальности  маршрута   с   непроизводительными   затратами
трафика.  Системы  с  интеллектом  в  главной  вычислительной  машине   чаще
выбирают наилучшие маршруты, т.к. они, как правило,  находят  все  возможные
маршруты к пункту назначения, прежде чем пакет будет действительно  отослан.
Затем  они  выбирают  наилучший   мааршрут,   основываясь   на   определении
оптимальности  данной  конкретной  системы.  Однако  акт  определения   всех
маршрутов часто требует  значительного  трафика  поиска  и  большого  об'ема
времени.
   Внутридоменные или междоменные алгоритмы
   Некоторые алгоритмы маршрутизации действуют только в  пределах  доменов;
другие - как в пределах доменов, так и между ними. Природа этих  двух  типов
алгоритмов   различная.   Поэтому   понятно,   что   оптимальный    алгоритм
внутридоменной маршрутизации не  обязательно  будет  оптимальным  алгоритмом
междоменной маршрутизации.
   Алгоритмы состояния канала или вектора расстояния
   Алгоритмы   состояния   канала   (известные    также    как    алгоритмы
'первоочередности наикратчайшего  маршрута')  направляют  потоки  маршрутной
информации во  все  узлы  об'единенной  сети.  Однако  каждый  маршрутизатор
посылает только ту часть маршрутной  таблицы,  которая  описывает  состояние
его собственных каналов. Алгоритмы вектора расстояния ( известные также  как
алгоритмы Бэлмана-Форда) требуют от каждогo маршрутизатора посылки всей  или
части  своей  маршрутной  таблицы,  но  только  своим   соседям.   Алгоритмы
состояния каналов фактически  направляют  небольшие  корректировки  по  всем
направлениям, в то время как алгоритмы  вектора  расстояний  отсылают  более
крупные корректировки только в соседние маршрутизаторы.
   Отличаясь  более  быстрой  сходимостью,  алгоритмы   состояния   каналов
несколько меньше склонны к образованию петель маршрутизации,  чем  алгоритмы
вектора  расстояния.  С   другой   стороны,   алгоритмы   состояния   канала
характеризуются более сложными расчетами в сравнении с  алгоритмами  вектора
расстояний, требуя большей процессорной мощности  и  памяти,  чем  алгоритмы
вектора расстояний. Вследствие  этого,  реализация  и  поддержка  алгоритмов
состояния канала может быть более дорогостоящей. Несмотря  на  их  различия,
оба   типа   алгоритмов   хорошо   функционируют   при    самых    различных
обстоятельствах.

   2.3 Показатели алгоритмов (метрики)

   Маршрутные таблицы содержат  информацию,  которую  используют  программы
коммутации для выбора наилучшего маршрута.  Чем  характеризуется  построение
маршрутных  таблиц?  Какова  особенность  природы  информации,  которую  они
содержат? В данном  разделе,  посвященном  показателям  алгоритмов,  сделана
попытка  ответить  на  вопрос  о  том,  каким  образом  алгоритм  определяет
предпочтительность одного маршрута по сравнению с другими.
   В алгоритмах маршрутизации  используется  много  различных  показателей.
Сложные алгоритмы маршрутизации при выборе маршрута  могут  базироваться  на
множестве  показателей,  комбинируя  их  таким  образом,  что  в  результате
получается  один  отдельный   (гибридный)   показатель.   Ниже   перечислены
показатели, которые используются в алгоритмах маршрутизации:
   1. Длина маршрута
   2. Надежность
   3. Задержка
   4. Ширина полосы пропускания
   5. Нагрузка
   6. Стоимость связи
   Длина маршрута
   Длина  маршрута  является  наиболее  общим  показателем   маршрутизации.
Некоторые протоколы маршрутизации позволяют администраторам  сети  назначать
произвольные цены  на  каждый  канал  сети.  В  этом  случае  длиной  тракта
является  сумма  расходов,  связанных  с   каждым   каналом,   который   был
траверсирован.  Другие  протоколы   маршрутизации   определяют   'количество
пересылок', т.е. показатель, характеризующий число проходов,  которые  пакет
должен совершить на пути от источника до  пункта  назначения  через  изделия
об'единения сетей (такие как маршрутизаторы).
   Надежность
   Надежность, в контексте алгоритмов маршрутизации, относится к надежности
каждого канала сети (обычно описываемой в терминах соотношения  бит/ошибка).
Некоторые каналы сети  могут  отказывать  чаще,  чем  другие.  Отказы  одних
каналов сети могут быть устранены  легче  или  быстрее,  чем  отказы  других
каналов. При назначении оценок надежности могут быть приняты в расчет  любые
факторы  надежности.  Оценки  надежности  обычно  назначаются  каналам  сети
администраторами сети. Как правило, это произвольные цифровые величины.
   Задержка
   Под задержкой маршрутизации обычно понимают отрезок времени, необходимый
для  передвижения  пакета  от   источника   до   пункта   назначения   через
об'единенную сеть. Задержка  зависит  от  многих  факторов,  включая  полосу
пропускания   промежуточных   каналов   сети,   очереди   в   порт   каждого
маршрутизатора на пути передвижения пакета,  перегруженность  сети  на  всех
промежуточных каналах сети и физическое расстояние,  на  которое  необходимо
переместить пакет. Т.к. здесь имеет место  конгломерация  нескольких  важных
переменных, задержка является наиболее общим и полезным показателем.
   Полоса пропускания
   Полоса пропускания относится к имеющейся  мощности  трафика  какого-либо
канала.  При   прочих   равных   показателях,   канал   Ethernet   10   Mbps
предпочтителен любой арендованной линии с полосой пропускания 64  Кбайт/сек.
Хотя полоса пропускания является оценкой максимально  достижимой  пропускной
способности канала, маршруты, проходящие  через  каналы  с  большей  полосой
пропускания, не обязательно будут лучше маршрутов,  проходящих  через  менее
быстродействующие каналы.

   2.4 Таблицы маршрутизации

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

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

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

   2.4.2 Структура таблицы маршрутизации

   Каждая запись таблицы маршрутизации состоит из следующих  информационных
полей.
   1) Код сети
   Код сети (или адрес узла для маршрута  к  узлу).  На  IP-маршрутизаторах
существует дополнительное поле маски подсети, позволяющее выделить  код  IP-
сети из IP-адреса назначения.
   2) Адрес пересылки
   Адрес, по которому перенаправляются пакеты. Адресом пересылки может быть
аппаратный адрес или IP-адрес узла. Для  сетей,  к  которым  непосредственно
подключен узел или маршрутизатор,  поле  адреса  пересылки  может  содержать
адрес интерфейса, подключенного к сети.
   3) Интерфейс
   Сетевой   интерфейс,   используемый   при    перенаправлении    пакетов,
предназначенных для сети с данным кодом. Он может задаваться  номером  порта
или другим логическим идентификатором.
   4) Метрика
   Стоимость использования маршрута.  Обычно  лучшими  считаются  маршруты,
имеющие наименьшую метрику. При наличии нескольких маршрутов к  нужной  сети
назначения выбирается маршрут с  наименьшей  метрикой.  Некоторые  алгоритмы
маршрутизации позволяют хранить в таблице маршрутизации только один  маршрут
к сети с данным кодом, даже при наличии нескольких таких маршрутов. В  таком
случае метрика используется маршрутизатором для выбора маршрута,  заносимого
в таблицу маршрутизации.
   Примечание
    . Вышеприведенный список содержит лишь  список  полей  типичной  таблицы
      маршрутизации, используемой  маршрутизаторами.  Поля  реальных  таблиц
      маршрутизации различных маршрутизируемых протоколов могут отличаться.



   3 Создание объединенной IP-сети со статической маршрутизацией

   Объединенная  IP-сеть  со  статической  маршрутизацией   не   использует
протоколы  маршрутизации,  такие  как  RIP  для  IP  или  OSPF,  для  обмена
информацией   маршрутизации   между   маршрутизаторами.    Вся    информация
маршрутизации хранится в статических таблицах  маршрутизации  на  каждом  из
маршрутизаторов. Нужно проследить за  тем,  чтобы  в  таблице  маршрутизации
каждого маршрутизатора присутствовали маршруты, необходимые для  обеспечения
трафика между любыми двумя конечными точками объединенной IP-сети.
   В этом разделе собраны сведения по следующим вопросам.
а) Среда со статической маршрутизацией
б) Вопросы проектирования среды со статической маршрутизацией
в) Безопасность статической маршрутизации
г) Развертывание статической маршрутизации

   3.1 Среда со статической маршрутизацией

   Среда  со   статической   IP-маршрутизацией   подходит   для   небольших
статических объединенных IP-сетей с единственными путями.
а) Под термином «небольшая объединенная сеть»  понимается  сеть,  содержащая
от 2 до 10 сетей.
б) Термин «сеть с единственными путями» означает, что  передача  пакетов  в)
между любыми двумя конечными точками объединенной сети  возможна  только  по
одному маршруту.
г)  Термином  «статическая  сеть»  называются  сети,  топология  которых  со
временем не меняется.
   Среды со статической маршрутизацией  могут  использоваться  в  следующих
случаях:
   1) малый бизнес;
   2) небольшая офисная объединенная IP-сеть;
   3) единственная сеть офиса подразделения.
   Вместо того  чтобы  использовать  протокол  маршрутизации  в  достаточно
медленном канале глобальной связи,  на  маршрутизаторе  офиса  подразделения
задается  единственный  маршрут  по  умолчанию,  обеспечивающий  передачу  в
главный офис всего трафика, не имеющего
адресатов в сети подразделения.

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

   3.2 Вопросы проектирования среды со статической маршрутизацией

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

   3.3 Среды с использованием вызова по требованию

   Статическую маршрутизацию при использовании вызова по  требованию  можно
реализовать одним из двух способов.
   1) Маршрут по умолчанию
   На  маршрутизаторе  офиса  подразделения  можно  настроить  маршрут   по
умолчанию,  использующий  интерфейс  вызова  по   требованию.   Преимущество
маршрута по умолчанию состоит в том, что  его  нужно  добавить  только  один
раз. Недостатком маршрута  по  умолчанию  является  то,  что  любой  трафик,
адресаты которого находятся  вне  сети  офиса  подразделения,  в  том  числе
трафик к  недостижимым  узлам,  вызывает  подключение  маршрутизатора  офиса
подразделения к сети главного офиса.
   2) Автостатические маршруты
   Автостатические   маршруты —   это   статические    маршруты,    которые
автоматически  добавляются  в  таблицу  маршрутизации  маршрутизатора  после
запроса маршрутов  с  помощью  протокола  RIP  для  IP  при  подключении  по
требованию. Преимущество автостатических маршрутов заключается  в  том,  что
для недостижимых узлов  маршрутизатор  не  подключается  к  главному  офису.
Недостаток   автостатических   маршрутов   состоит   в   необходимости    их
периодического обновления в соответствии  с  достижимыми  сетями  в  главном
офисе. Если в главном офисе добавлена новая сеть, а  в  офисе  подразделения
не было выполнено автостатическое обновление, то все узлы в этой новой  сети
будут недостижимы из офиса подразделения.

   3.4 Безопасность статической маршрутизации

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

   3.5 Развертывание статической маршрутизации

   Если для вашей объединенной IP-сети подходит статическая  маршрутизация,
для ее развертывания нужно выполнить следующие действия.
   1. Создайте схему топологии объединенной IP-сети, на которой должны  быть
      показаны отдельные сети и места расположения маршрутизаторов  и  узлов
      (компьютеров,   использующих   протокол   TCP/IP   и   не   являющихся
      маршрутизаторами).
   2. Каждой IP-сети (системе кабелей, связанной с другими такими  системами
      с помощью одного или нескольких маршрутизаторов) присвойте  уникальный
      код (идентификатор) IP-сети (также называемый адресом IP-сети).
   3. Назначьте IP-адреса  всем  интерфейсам  маршрутизаторов.  Общепринятой
      практикой является назначение интерфейсам маршрутизаторов  первых  IP-
      адресов из выделенного данной сети диапазона адресов.  Например,  если
      IP-сеть имеет код 192.168.100.0  и  маску  подсети  255.255.255.0,  то
      интерфейсу маршрутизатора назначается IP-адрес 192.168.100.1.
   4. Для периферийных маршрутизаторов настройте маршрут  по  умолчанию  для
      интерфейса,  для   которого   имеется   соседствующий   маршрутизатор.
      Использовать маршруты по умолчанию на периферийных маршрутизаторах  не
      обязательно.
   5. Для каждого  маршрутизатора,  не  являющегося  периферийным,  создайте
      список  маршрутов,  которые  нужно  добавить  в  качестве  статических
      маршрутов  в  таблицу  маршрутизации  маршрутизатора.  Каждый  маршрут
      содержит код сети назначения, маску подсети, IP-адрес шлюза  (или  IP-
      адрес для перенаправления), метрику (число прыжков  до  этой  сети)  и
      адрес интерфейса, который используется для достижения этой сети.
   6. На каждый из маршрутизаторов,  не  являющийся  периферийным,  добавьте
      вычисленные на шаге 5 статические маршруты. Статические маршруты можно
      добавить в окне «Маршрутизация  и  удаленный  доступ»  или  с  помощью
      команды route. Если используется команда route, укажите  параметр  -p,
      чтобы сделать статические маршруты постоянными.
   7. После завершения  настройки  проверьте  связь  между  узлами  по  всем
      маршрутам с помощью команд ping и tracert. Дополнительные  сведения  о
      командах ping и tracert см. в разделах Использование  команды  ping  и
      Использование команды tracert.



   4 Протоколы динамической маршрутизации


   4.1 Общие сведения

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

                   Схема взаимодействия автономных систем

                                    [pic]
                                 Рисунок 4.1
Сама идеология автономных  систем  возникла  в  тот  период,  когда  ARPANET
представляла  иерархическую  систему.  В  то  время  было  ядро  системы,  к
которому  подключались  внешние  автономные  системы.  Информация  из  одной
автономной системы в другую могла попасть только через маршрутизаторы  ядра.
Такая структура до сих пор сохраняется в MILNET.
   На рисунке 4.1 автономные системы связаны только одной линией связи, что
больше соответствует тому, как российский сектор  подключен  к  Internet.  В
классических публикациях по Internet взаимодействие автономных  частей  чаще
обозначают пересекающимися кругами, подчеркивая тот факт, что  маршрутов  из
одной автономной системы в другую может быть несколько.
   Обсуждение этой  модели  Internet  необходимо  только  для  того,  чтобы
объяснить наличие двух типов протоколов динамической маршрутизации:  внешних
и внутренних.
   Внешние протоколы  служат  для  обмена  информацией  о  маршрутах  между
автономными системами.
   Внутренние протоколы служат для обмена информацией  о  маршрутах  внутри
автономной системы.
   В реальной практике построения локальных сетей, корпоративных сетей и их
подключения к провайдерам нужно знать, главным  образом,  только  внутренние
протоколы  динамической  маршрутизации.   Внешние   протоколы   динамической
маршрутизации необходимы только  тогда,  когда  следует  построить  закрытую
большую систему, которая с внешним миром будет  соединена  только  небольшим
числом защищенных каналов данных.
   К внешним  протоколам  относятся  Exterior  Gateway  Protocol  (EGP)  и<
Protocol Gateway> .
   EGP  предназначен  для  анонсирования  сетей,   которые   доступны   для
автономных  систем  за  пределами  данной  автономной  системы.  По  данному
протоколу шлюз одной AS передает шлюзу  другой  AS  информацию  о  сетях  из
которых состоит его AS.  EGP  не  используется  для  оптимизации  маршрутов.
Считается, что этим должны заниматься протоколы внутренней маршрутизации.
   BGP - это другой протокол внешней маршрутизации, который появился  позже
EGP. В  своих  сообщениях  он  уже  позволяет  указать  различные  веса  для
маршрутов, и, таким  образом,  способствовать  выбору  наилучшего  маршрута.
Однако,  назначение  этих  весов  не  определяется  какими-то   независимыми
факторами типа времени доступа  к  ресурсу  или  числом  шлюзов  на  пути  к
ресурсу. Предпочтения устанавливаются администратором и потому иногда  такую
маршрутизацию называют политической маршрутизацией,  подразумевая,  что  она
отражает техническую политику администрации данной  автономной  системы  при
доступе из других автономных систем к ее информационным  ресурсам.  Протокол
BGP используют практически все российские  крупные  IP-провайдеры,  например
крупные узлы сети Relcom.
   К внутренним протоколам относятся протоколы Routing Information Protocol
(RIP), HELLO, Intermediate System to Intermediate  System  (ISIS),  Shortest
Path First (SPF) и Open Shortest Path First (OSPF).
   Протокол   RIP   (Routing   Information   Protocol)   предназначен   для
автоматического  обновления  таблицы  маршрутов.   При   этом   используется
информация  о   состоянии   сети,   которая   рассылается   маршрутизаторами
(routers).  В  соответствии  с  протоколом  RIP  любая  машина  может   быть
маршрутизатором.  При  этом,  все  маршрутизаторы  делятся  на  активные   и
пассивные.  Активные  маршрутизаторы  сообщают  о  маршрутах,  которые   они
поддерживают в сети. Пассивные маршрутизаторы читают  эти  широковещательные
сообщения и исправляют свои таблицы маршрутов, но сами при  этом  информации
в  сеть  не  предоставляют.  Обычно  в  качестве  активных   маршрутизаторов
выступают шлюзы, а в качестве пассивных - обычные машины (hosts).
   В основу алгоритма маршрутизации по протоколу RIP положена простая идея:
чем больше шлюзов надо пройти  пакету,  тем  больше  времени  требуется  для
прохождения маршрута. При обмене сообщениями маршрутизаторы сообщают в  сеть
IP-номер сети и число 'прыжков' (hops), которое  надо  совершить,  пользуясь
данным маршрутом. Надо сразу заметить, что такой алгоритм справедлив  только
для сетей, которые имеют одинаковую скорость  передачи  по  любому  сегменту
сети.  Часто  в   реальной   жизни   оказывается,   что   гораздо   выгоднее
воспользоваться  оптоволокном  с   3-мя   шлюзами,   чем   одним   медленным
коммутируемым телефонным каналом.
   Другая идея, которая призвана решить проблемы RIP, - это учет  не  числа
hop'ов, а  учет  времени  отклика.  На  этом  принципе  построен,  например,
протокол  OSPF.  Кроме  этого   OSPF   реализует   еще   и   идею   лавинной
маршрутизации. В RIP каждый маршрутизатор обменивается информацией только  с
соседями. В результате, информации о потере маршрута в  сети,  отстоящей  на
несколько hop'ов от локальной сети, будет получена  с  опозданием.  Лавинная
маршрутизация  позволяет  решить  эту  проблему  за  счет  оповещения   всех
известных шлюзов об изменениях локального участка сети.
   К сожалению, многовариантную маршрутизацию поддерживает не  очень  много
систем.  Различные  клоны  Unix  и  NT,  главным  образом  ориентированы  на
протокол RIP. Достаточно посмотреть на программное обеспечение  динамической
маршрутизации, чтобы убедится в этом. Программа routed  поддерживает  только
RIP, программа gated поддерживает RIP, HELLO, OSPF, EGP и BGP, в Windows  NT
поддерживается только RIP.

   4.2 Внутренний протокол маршрутизации RIP

   Этот протокол маршрутизации предназначен для  сравнительно  небольших  и
относительно однородных сетей (алгоритм Белмана-Форда). Протокол  разработан
в университете Калифорнии (Беркли), базируется на разработках фирмы  Ксерокс
и  реализует  те  же  принципы,  что  и  программа   маршрутизации   routed,
используемая в  ОC  UNIX  (4BSD).  Маршрут  здесь  характеризуется  вектором
расстояния до места назначения.  Предполагается,  что  каждый  маршрутизатор
является отправной точкой нескольких  маршрутов  до  сетей,  с  которыми  он
связан. Описания этих маршрутов хранится в специальной  таблице,  называемой
маршрутной.  Таблица  маршрутизации  RIP  содержит  по  записи   на   каждую
обслуживаемую машину (на каждый маршрут). Запись должна включать в себя:
   IP-адрес места назначения. Метрика маршрута (от 1 до 15; число шагов  до
места назначения). IP-адрес ближайшего маршрутизатора (Gateway)  по  пути  к
месту назначения. Таймеры маршрута.
   Первым двум полям записи мы обязаны появлению термина вектор  расстояния
(место назначение – направление; метрика  –  модуль  вектора).  Периодически
(раз в 30 сек) каждый маршрутизатор посылает  широковещательно  копию  своей
маршрутной  таблицы  всем   соседям-маршрутизаторам,   с   которыми   связан
непосредственно.  Маршрутизатор-получатель  просматривает  таблицу.  Если  в
таблице присутствует новый путь или сообщение  о  более  коротком  маршруте,
или произошли изменения длин пути, эти изменения фиксируются  получателем  в
своей маршрутной таблице. Протокол RIP  должен  быть  способен  обрабатывать
три типа ошибок:
   1. Циклические маршруты. Так как в  протоколе  нет  механизмов  выявления
      замкнутых маршрутов, необходимо  либо  слепо  верить  партнерам,  либо
      принимать меры для блокировки такой возможности.
   2. Для подавления нестабильностей RIP должен использовать малое  значение
      максимально возможного числа шагов (<16).
   3.  Медленное  распространение  маршрутной  информации  по  сети  создает
      проблемы при динамичном  изменении  маршрутной  ситуации  (система  не
      поспевает за изменениями). Малое предельное значение метрики  улучшает
      сходимость, но не устраняет проблему.
   Несоответствие маршрутной таблицы реальной ситуации  типично  не  только
для  RIP,  но  характерно  для  всех  протоколов,  базирующихся  на  векторе
расстояния, где информационные сообщения актуализации несут  в  себе  только
пары кодов: адрес места назначение и расстояние до него.
   Основное преимущество  алгоритма  вектора  расстояний  -  его  простота.
Действительно, в процессе работы маршрутизатор общается только  с  соседями,
периодически обмениваясь с ними копиями своих таблиц маршрутизации.  Получив
информацию о возможных  маршрутах  от  всех  соседних  узлов,  маршрутизатор
выбирает путь с наименьшей стоимостью и вносит его в свою таблицу.
   Достоинство этого элегантного алгоритма -  быстрая  реакция  на  хорошие
новости (появление в сети  нового  маршрутизатора),  а  недостаток  -  очень
медленная реакция на плохие известия (исчезновение одного из соседей).
   В качестве примера мы рассмотрим сеть (см. Рисунок  4.2)  из  нескольких
последовательно соединенных маршрутизаторов,  где  метрикой  является  число
транзитных узлов на пути к точке назначения (как в протоколе RIP).

                  Распространение 'хорошей' новости в сети
                                 Рисунок 4.2

   Пусть в начальный момент времени маршрутизатор A не был доступен, т.  е.
расстояние до него во всех таблицах - бесконечность. При включении А  пошлет
сообщение своему соседу - узлу B. Все  остальные  маршрутизаторы  узнают  об
этом через последовательный обмен сообщениями (для простоты  будем  считать,
что  обмен  между  всеми  соседними  узлами  происходит   синхронно   каждые
несколько секунд).
   Во время первого обмена узел B узнает, что A заработал и вносит  в  свою
таблицу маршрутизации '1' как расстояние до A; все  остальные  узлы  в  этот
момент по-прежнему считают  A  недоступным.  При  следующем  обмене,  спустя
несколько секунд, узел C  также  узнает  о  появлении  маршрутизатора  A.  В
результате последовательности таких обменов информация достигнет и  узла  E,
для которого стоимость маршрута до А будет '4'.
   Таким образом, для сети с максимальной длиной  маршрута  N  сообщение  о
новом маршрутизаторе дойдет до самого  удаленного  узла  в  сети  через  N-1
циклов обмена таблицами маршрутизации. На  этом  этапе  никаких  проблем  не
возникает.
   Теперь мы рассмотрим обратный случай (см. Рисунок  4.3),  когда  узел  А
перестает работать вследствие сбоя. При очередном обмене (мы  будем  считать
его первым в этой серии) узел В не получает никакого сообщения от  молчащего
маршрутизатора А. Это верный сигнал о том, что  у  А  возникли  проблемы,  и
информацию о нем необходимо удалить из таблицы. Однако в то же  самое  время
узел C сообщает, что ему известен путь до А и стоимость этого пути '2'.  Тот
факт, что путь до А, объявленный узлом  C,  проходит  через  сам  B  (т.  е.
образуется петля), ускользает от внимания маршрутизатора,  и  он  заносит  в
таблицу путь до неработающего А стоимостью '3'.

                   Проблема возрастания до бесконечности.
                                 Рисунок 4.3

   Во время следующего обмена C замечает, что оба  его  соседа  рекламируют
путь до A стоимостью '3', и немедленно  делает  поправки  в  своей  таблице.
Теперь длина пути от С до A - '4'. Если этот процесс не  остановить,  то  он
может  продолжаться  до  бесконечности,  и  никто  так  и  не  узнает,   что
маршрутизатор А давно вышел  из  строя.  Соответственно  данные  к  А  будут
посылаться и дальше.
   Эта проблема алгоритма вектора  расстояний  получила  название  проблемы
возрастания  до  бесконечности  (count-to-infinity  problem).  Она  является
основной причиной задания ограничений на максимальную  длину  пути  во  всех
протоколах вектора расстояния.
   Протокол RIP, например, считает маршрут длиной более чем в 15 транзитных
узлов  бесконечным.  Такой  путь  будет   немедленно   удален   из   таблицы
маршрутизации. Т.  е.  в  последнем  примере  узел  B  поймет,  что  узел  А
недоступен, когда получит  объявление  пути  до  А  со  стоимостью  '15'.  К
сожалению, такая процедура занимает слишком много времени.
   Для предотвращения образования ложных маршрутов  используется  несколько
методов, один из них - метод расщепления горизонта  (split-horizon).  Данное
правило не так сложно, как может показаться  из  названия:  'Если  известно,
что путь до узла X лежит через соседний узел Y, то узлу Y не  надо  посылать
объявления маршрута до X'.
   Мы рассмотрим тот же пример, что и на Рисунке 4.3 , но в условиях, когда
действует   правило   расщепления   горизонта.   После   выхода   из   строя
маршрутизатора А узел В узнает о недееспособности А при  первом  же  обмене.
Узлу С правило расщепления горизонта запрещает посылать информацию об  А  на
В, так как путь к А лежит через В. Таким образом, узел  С  не  может  теперь
(непреднамеренно) обманывать своего соседа слева, и узел В тут  же  помечает
маршрутизатор А как недоступный. После следующего обмена уже С узнает  от  В
о недоступности А, вместе с тем ложная информация от  узла  D,  который  все
еще считает маршрутизатор А действующим, на С не поступит.
   Как видим, с введением  правила  расщепления  горизонта  плохая  новость
распространяется в нашей сети  так  же  быстро,  как  и  хорошая.  При  этом
никаких петель не возникает. К сожалению, даже  при  минимальном  усложнении
топологии правило расщепления горизонта перестает действовать.
   Рассмотрим пример сети  с  избыточной  топологией  (см.  Рисунок  3).  В
начальный момент времени А и B знают, что расстояние до узла  D  равно  '2'.
После выхода D  из  строя  маршрутизатор  C,  не  получив  от  D  сообщения,
определяет, что узел D недоступен. А и В продолжают считать D доступным,  но
правило расщепления горизонта запрещает им сообщать  эту  ложную  информацию
маршрутизатору С. При следующем обмене C уведомляет A и  B  о  недоступности
D. Но одновременно с этим узел А  получает  от  В  сообщение  о  пути  до  D
стоимостью '2', а узел В получает аналогичное сообщение от А.
   Информация об аварии на D не будет  услышана.  Проблема  возрастания  до
бесконечности возникла вновь.
   В качестве метрики RIP  использует  число  шагов  до  цели.  Если  между
отправителем  и  приемником  расположено   три   маршрутизатора   (gateway),
считается, что между ними 4  шага.  Для  всех  непосредственно  подключенных
интерфейсов счетчик пересылок равен 1.  Рассмотрим  маршрутизаторы  и  сети,
показанные   на   рисунке   4.5.   Четыре   пунктирные   линии    показывают
широковещательные сообщения RIP.

   Пример ситуации, когда правило расщепления горизонта не действует.
                                    [pic]
                                Рисунок 4.4.

    Маршрутизатор R1 объявляет маршрут к N2 со счетчиком  пересылок  равным
1,  послав  широковещательное  сообщение  на  N1.  (Бессмысленно   объявлять
маршрут к N1 в широковещательном  сообщении,  посланном  на  N1.)  Он  также
объявляет  маршрут  к  N1  со   счетчиком   пересылок   равным   1,   послав
широковещательное сообщение на N2. Точно так же, R2 объявляет маршрут  к  N2
с показателем 1 и маршрут  к  N3  с  показателем  1.  Если  смежный  с  нами
маршрутизатор объявил  маршрут  к  удаленной  сети  со  счетчиком  пересылок
равным 1, то для нас показатель  к  этой  сети  будет  равен  2,  так  пакет
необходимо послать сначала на наш маршрутизатор,  чтобы  получить  доступ  к
сети. В примере, приведенном выше, показатель к N1 для R2 равен  2,  так  же
как и показатель к N3 для R1.
                       Пример маршрутизаторов и сетей.

                                    [pic]

                                 Рисунок 4.5
   Так  как  каждый  маршрутизатор  посылает  свои  таблицы   маршрутизации
соседям, определяется каждая сеть в каждой  автономной  системе  (AS).  Если
внутри  AS  существует   несколько   путей   от   маршрутизатора   к   сети,
маршрутизатор выбирает путь с наименьшим количеством пересылок и  игнорирует
другие пути.
   Величина счетчика пересылок ограничена значением 15, что  означает,  что
RIP может быть использован только внутри  AS,  где  максимальное  количество
пересылок между хостами  составляет  15.  Специальное  значение  показателя,
равное 16, указывает на то, что на данный IP адрес не существует маршрута.
   Такой вид метрики не учитывает различий  в  пропускной  способности  или
загруженности отдельных сегментов сети.  Применение  вектора  расстояния  не
может гарантировать оптимальность выбора маршрута, ведь, например, два  шага
по сегментам сети Ethernet обеспечат  большую  пропускную  способность,  чем
один шаг через последовательный канал на основе интерфейса RS-232.
   Маршрут по умолчанию  имеет  адрес  0.0.0.0  (это  верно  и  для  других
протоколов маршрутизации). Каждому маршруту ставится в  соответствие  таймер
тайм-аута и 'сборщика  мусора'.  Тайм-аут-таймер  сбрасывается  каждый  раз,
когда  маршрут  инициализируется  или  корректируется.   Если   со   времени
последней коррекции прошло 3  минуты  или  получено  сообщение  о  том,  что
вектор расстояния равен 16, маршрут считается закрытым. Но запись о  нем  не
стирается, пока не истечет  время  'уборки  мусора'  (2мин).  При  появлении
эквивалентного маршрута переключения на него не происходит,  таким  образом,
блокируется  возможность  осцилляции  между  двумя  или  более  равноценными
маршрутами.
   RIP сообщения  инкапсулируются  в  UDP-дейтограммы,  при  этом  передача
осуществляется через порт 520.

                Инкапсуляция RIP сообщения в UDP датаграмму.

   [pic]
                                 Рисунок 3.4

   Формат сообщения протокола RIP имеет вид, показанный на рис.  3.5.  Поле
команда определяет выбор согласно следующей таблице 4.1:

   Таблица 4.1 - Значения кодов поля команда
|Команда      |Значение                                                       |
|1            |Запрос на получение частичной или полной маршрутной информации;|
|2            |Отклик, содержащий информацию о расстояниях из маршрутной      |
|             |таблицы отправителя;                                           |
|3            |Включение режима трассировки (устарело);                       |
|4            |Выключение режима трассировки (устарело);                      |
|5-6          |Зарезервированы для внутренних целей SUN Microsystem.          |

   Поле версия для RIP равно 1 (для RIP-2 двум). Поле набор протоколов сети
i определяет набор протоколов, которые используются в  соответствующей  сети
(для Интернет это  поле  имеет  значение  2).  Поле  расстояние  до  сети  i
содержит целое число шагов (от 1 до 15) до данной сети.  В  одном  сообщении
может присутствовать информация о 25 маршрутах.  При  реализации  RIP  можно
выделить следующие режимы:
   Инициализация,  определение  всех  'живых'  интерфейсов  путем   посылки
запросов, получение таблиц маршрутизации от  других  маршрутизаторов.  Часто
используются широковещательные запросы.
   Получен запрос. В зависимости от типа запроса высылается адресату полная
таблица маршрутизации, или проводится индивидуальная обработка.
   Получен отклик. Проводится коррекция  таблицы  маршрутизации  (удаление,
исправление, добавление).
                            Формат сообщения RIP
   [pic]
                                 Рисунок 3.5

   Регулярные  коррекции.  Каждые  30  секунд   вся   или   часть   таблицы
маршрутизации посылается всем соседним маршрутизаторам. Могут  посылаться  и
специальные запросы при локальном изменении таблицы. RIP достаточно  простой
протокол, но, к сожалению не лишенный недостатков:
   a.  RIP  не  работает  с  адресами  субсетей.  Если   нормальный   16-бит
      идентификатор ЭВМ класса  B  не  равен  0,  RIP  не  может  определить
      является ли не нулевая часть cубсетевым ID, или полным IP-адресом.
   b. RIP требует много  времени  для  восстановления  связи  после  сбоя  в
      маршрутизаторе  (минуты).  В  процессе  установления  режима  возможны
      циклы.
   c. Число шагов важный, но не единственный  параметр  маршрута,  да  и  15
      шагов не предел для современных сетей.
   Протокол RIP-2 (RFC-1388, 1993 год) является новой версией RIP,  которая
в  дополнение  к  широковещательному  режиму   поддерживает   мультикастинг;
позволяет работать с  масками  субсетей.  На  рис.  3.8  представлен  формат
сообщения   для   протокола   RIP-2.   Поле   маршрутный   демон    является
идентификатором резидентной программы-маршрутизатора.  Поле  метка  маршрута
используется  для   поддержки   внешних   протоколов   маршрутизации,   сюда
записываются коды автономных систем. При необходимости  управления  доступом
можно использовать первые 20 байт с кодом набора протоколов  сети  0xFFFF  и
меткой маршрута =2. Тогда в остальные 16 байт можно записать пароль.

                      Формат сообщений протокола RIP-2
   [pic]
                                 Рисунок 3.6

   4.3 Протокол маршрутизации OSPF

   Протокол OSPF (Open Shortest  Pass  First,  RFC-1245-48,  RFC-1583-1587,
алгоритмы  предложены  Дикстрой)  является  альтернативой  RIP  в   качестве
внутреннего  протокола  маршрутизации.  OSPF  представляет  собой   протокол
состояния маршрута (в качестве метрики используется -  коэффициент  качества
обслуживания). Каждый маршрутизатор обладает полной информацией о  состоянии
всех интерфейсов всех маршрутизаторов (переключателей)  автономной  системы.
Протокол OSPF реализован в демоне маршрутизации gated, который  поддерживает
также RIP и внешний протокол маршрутизации BGP.
   Автономная система может быть  разделена  на  несколько  областей,  куда
могут входить как отдельные ЭВМ, так и целые сети. В этом случае  внутренние
маршрутизаторы области могут и не иметь  информации  о  топологии  остальной
части AS. Сеть обычно имеет выделенный (designated)  маршрутизатор,  который
является источником маршрутной информации для остальных маршрутизаторов  AS.
Каждый маршрутизатор самостоятельно  решает  задачу  оптимизации  маршрутов.
Если  к  месту  назначения  ведут  два  или  более  эквивалентных  маршрута,
информационный поток будет поделен между ними поровну.  Переходные  процессы
в OSPF завершаются быстрее,  чем  в  RIP.  В  процессе  выбора  оптимального
маршрута анализируется  ориентированный  граф  сети.  Ниже  описан  алгоритм
Дикстры  по  выбору  оптимального  пути.  На  иллюстративном   рисунке   4.7
приведена схема узлов (A-J) со значениями метрики для  каждого  из  отрезков
пути. Анализ графа начинается с узла A (Старт). Пути с наименьшим  суммарным
значением метрики считаются наилучшими.
   Именно  они  оказываются  выбранными  в  результате  рассмотрения  графа
(“кратчайшие пути“).
   Ниже дается формальное  описание  алгоритма.  Сначала  вводим  некоторые
определения.
   Пусть D(v) равно сумме весов связей для данного пути.

Пусть C(i,j) равно весу связи между узлами с номерами i и j.
   Далее следует последовательность шагов, реализующих алгоритм.
   1. Устанавливаем множество узлов N = {1}.
   2. Для каждого узла v не из множества N устанавливаем D(v)= c(1,v).
   3. Для каждого шага находим узел w не из множества N, для  которого  D(w)
      минимально, и добавляем узел w в множество N.
   4. Актуализируем D(v) для всех узлов не из множества N

      D(v)=min{D(v), D(v)+c(w,v)}.
   5. Повторяем шаги 2-4, пока все узлы не окажутся в множестве N.
   Топология маршрутов для узла A приведена на нижней части
   рисунке  4.7  В  скобках   записаны   числа,   характеризующие   метрику
отобранного маршрута согласно критерию пункта 3.


                    Иллюстрация работы алгоритма Дикстры
   [pic]
                                 Рисунок 4.7
   Таблица 4.2 - Реализация алгоритма
|    |Множество            |Метрика связи узла A с узлами                   |
|224.0.0.6    |служит для обращения к специально выделенному             |
|             |маршрутизатору.                                           |


   Любое сообщение OSPF начинается с 24-октетного заголовка рисунок 4.9
   Поле версия определяет версию протокола (= 2). Поле  тип  идентифицирует
функцию сообщения согласно таблице 4.3:

      Формат заголовка сообщений для протокола маршрутизации OSPF[pic]
                                 Рисунок 4.9

   Таблица 4.3 - Коды поля тип
|Тип     |Значение                                                          |
|1       |Hello (используется для проверки доступности маршрутизатора).     |
|2       |Описание базы данных (топология).                                 |
|3       |Запрос состояния канала.                                          |
|4       |Изменение состояния канала.                                       |
|5       |Подтверждение получения сообщения о статусе канала.               |

   Поле длина пакета определяет длину блока в октетах,  включая  заголовок.
Идентификатор области - 32-битный  код,  идентифицирующий  область,  которой
данный пакет принадлежит. Все  OSPF-пакеты  ассоциируются  с  той  или  иной
областью. Большинство из них не  преодолевает  более  одного  шага.  Пакеты,
путешествующие по виртуальным каналам,  помечаются  идентификатором  опорной
области (backbone) 0.0.0.0.  Поле  контрольная  сумма  содержит  контрольную
сумму IP-пакета, включая поле типа идентификации.  Контрольное  суммирование
производится по модулю 1. Поле тип идентификации может принимать значения  0
при отсутствии контроля доступа, и 1  при  наличии  контроля.  В  дальнейшем
функции поля будут расширены. Важную  функцию  в  OSPF-сообщениях  выполняет
одно-октетное  поле  опции,  оно  присутствует  в  сообщениях  типа   HELLO,
объявление состояния канала и описание базы данных. Особую роль в этом  поле
играют младшие биты E и Т:
   [pic]
   Бит E характеризует возможность внешней маршрутизации и  имеет  значение
только в сообщениях типа HELLO, в остальных сообщениях этот бит должен  быть
обнулен. Если E=0, то данный маршрутизатор не будет посылать  или  принимать
маршрутную  информацию  от  внешних  автономных  систем.  Бит  T  определяет
сервисные возможности маршрутизатора (TOS).  Если  T=0,  это  означает,  что
маршрутизатор поддерживает только один вид услуг (TOS=0) и  он  не  пригоден
для маршрутизации с учетом вида услуг. Такие  маршрутизаторы,  как  правило,
не используются для транзитного трафика.
   Протокол OSPF использует сообщение типа Hello для  взаимообмена  данными
между соседними маршрутизаторами. Структура пакетов этого типа  показана  на
рисунке 4.10.
   Поле сетевая  маска  соответствует  маске  субсети  данного  интерфейса.
Например, если интерфейс принадлежит сети класса B и третий байт служит  для
выделения нужной субсети, то сетевая маска будет иметь вид 0xFFFFFF00.
   Поле время между Hello  содержит  значение  времени  в  секундах,  между
сообщениями   HELLO.   Поле   опции   характеризует   возможности,   которые
предоставляет данный маршрутизатор.  Поле  приоритет  характеризует  уровень
приоритета маршрутизатора  (целое  положительное  число),  используется  при
выборе  резервного  (backup)  маршрутизатора.  Если  приоритет  равен  нулю,
данный маршрутизатор никогда не будет  использован  в  качестве  резервного.
Поле  время  отключения  маршрутизатора  определяет  временной  интервал   в
секундах, по истечении которого 'молчащий' маршрутизатор считается  вышедшим
из  строя.  IP-адреса  маршрутизаторов,  записанные  в  последующих   полях,
указывают место,  куда  следует  послать  данное  сообщение.  Поля  IP-адрес
соседа  k  образуют  список  адресов  соседних  маршрутизаторов,  откуда  за
последнее время были получены сообщения Hello.
                   Формат сообщения Hello в протоколе OSPF
   [pic]
                                Рисунок 4.10

                      Формат OSPF-сообщений о маршрутах
   [pic]
                                Рисунок 4.11

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

   Поля, начиная с тип канала, повторяются для каждого описания канала. Так
как размер базы данных может быть велик, ее  содержимое  может  пересылаться
по  частям.  Для  реализации  этого  используются  биты  I  и   М.   Бит   I
устанавливается в 1 в стартовом  сообщении,  а  бит  M  принимает  единичное
состояние для сообщения, которые являются  продолжением.  Бит  S  определяет
то, кем послано сообщение (S=1  для  сервера,  S=0  для  клиента,  этот  бит
иногда имеет имя MS). Поле номер сообщения по порядку  служит  для  контроля
пропущенных блоков. Первое сообщение содержит в этом  поле  случайное  целое
число M, последующие  M+1,  M+2,...M+L.  Поле  тип  канала  может  принимать
следующие значения:
   Таблица 4.4  - Коды типов состояния каналов (LS)
|LS-тип     |Описание объявления о маршруте                                  |
|1          |Описание каналов маршрутизатора, то есть состояния его          |
|           |интерфейсов.                                                    |
|2          |Описание сетевых каналов. Это перечень маршрутизаторов,         |
|           |непосредственно связанных с сетью.                              |
|3 или 4    |Сводное описание каналов, куда входят маршруты между отдельными |
|           |областями сети. Эта информация поступает от пограничных         |
|           |маршрутизаторов этих зон. Тип 3 приписан маршрутам, ведущим к   |
|           |сетям, а тип 4 характеризует маршруты, ведущие к пограничным    |
|           |маршрутизаторам автономной системы.                             |
|5          |Описания внешних связей автономной системы. Такие маршруты      |
|           |начинаются в пограничных маршрутизаторах AS.                    |

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

                  Формат OSPF-запроса маршрутной информации
   [pic]
                                Рисунок 4.12

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

                      Сообщение об изменении маршрутов
   [pic]
                                Рисунок 4.14.
   Такое сообщение содержит  список  объявлений,  имеющих  формат  (рисунок
4.14).
   Сообщения  об  изменениях  маршрутов  могут  быть   вызваны   следующими
причинами:
1. Возраст маршрута достиг предельного значения (LSRefreshTime).

2. Изменилось состояние интерфейса.

3. Произошли изменения в маршрутизаторе сети.

4. Произошло изменение состояния одного из соседних маршрутизаторов.

5. Изменилось состояние одного из внутренних маршрутов (появление нового,
исчезновение старого и т.д.)

6. Изменение состояния межзонного маршрута.

7. Появление нового маршрутизатора, подключенного к сети.

8. Вариация виртуального маршрута одним из маршрутизаторов.

9. Возникли изменения одного из внешних маршрутов.

10. Маршрутизатор перестал быть пограничным для данной AS (например,
перезагрузился).
   Каждое сообщение о состоянии канала начинается с заголовка - 'объявление
состояния канала' (LS – Link State). Формат этого  типа  заголовка  приведен
ниже (20 октетов):

            Формат OSPF-сообщения, описывающего состояние канала
   [pic]
                                Рисунок 4.15
   Поле возраст LS информации (рисунок 4.15) определяет время в секундах  с
момента объявления состояния канала.  Поле  опции  содержит  значения  типов
сервиса  (TOS),  поддерживаемые  маршрутизатором,   рассылающим   маршрутную
информацию. Поле тип LS (тип состояния  канала)  может  принимать  значения,
описанные  выше  в  таблице  4.5.  Следует  обратить  внимание,   что   код,
содержащийся в этом поле, определяет формат  сообщения.  Поле  длина  задает
размер сообщения в  октетах,  включая  заголовок.  В  результате  получается
сообщение с форматом, показанным на рисунке  4.15.  Зарезервированный  октет
должен быть обнулен.  Идентификатор  связи  определяет  тип  маршрутизатора,
подключенного к каналу. Действительное значение этого поля зависит  от  поля
тип. В свою очередь информация о канале также зависит  от  поля  тип.  Число
TOS определяет  многообразие  метрик,  соответствующих  видам  сервиса,  для
данного канала. Последовательность описания метрик задается  величиной  кода
TOS. Таблица кодов TOS, принятых в OSPF протоколе приведена ниже.

Таблица 4.5 - Коды типа сервиса (TOS)
|              |TOS-коды      |TOS (RFC 1349)                              |
|OSPF-код      |              |                                            |
|0             |0000          |Обычный сервис                              |
|2             |0001          |Минимизация денежной стоимости              |
|4             |0010          |Максимальная надежность                     |
|8             |0100          |Максимальная пропускная способность         |
|16            |1000          |Минимальная задержка                        |


   Если  бит  V=1  (virtual),  маршрутизатор  является   оконечной   точкой
активного виртуального канала. Если бит E (external) равен 1,  маршрутизатор
является пограничным для автономной системы. Бит B=1 (border)  указывает  на
то, что маршрутизатор является пограничным  для  данной  области.  Поле  тип
может принимать значения, приведенные в таблице 4.6.

Таблица 4.6 - Коды типов связей (см. рисунок 4.16)
|Код типа  |Описание                                                        |
|связи     |                                                                |
|1         |Связь с другим маршрутизатором по схеме точка-точка             |
|2         |Связь с транзитной сетью                                        |
|3         |Связь с оконечной сетью                                         |
|4         |Виртуальная связь (например, опорная сеть или туннель)          |

                     Формат описания типа канала с LS=1
   [pic]
                                Рисунок 4.16

   Поле идентификатор канала характеризует объект,  с  которым  связывается
маршрутизатор. Примеры идентификаторов представлены в таблице:
   Таблица 4.7 - Коды идентификаторов канала
|Код идентификатора|Описание                                                |
|1                 |Идентификатор соседнего маршрутизатора                  |
|2                 |IP-адрес основного маршрутизатора (по умолчанию)        |
|3                 |IP-адрес сети/субсети                                   |
|4                 |Идентификатор соседнего маршрутизатора                  |


   Маршрутизатор, получивший OSPF-пакет, посылает подтверждение его приема.
Этот вид пакетов имеет тип=5 и  структуру,  отображенную  на  рисунок  4.17.
Получение нескольких объявлений о состоянии линий  может  быть  подтверждено
одним  пакетом.  Адресом  места   назначения   этого   пакета   может   быть
индивидуальный маршрутизатор, группа маршрутизаторов или все  маршрутизаторы
автономной системы.

                  Формат сообщения о получении OSPF-пакета
   [pic]
                                Рисунок 4.17

   Рекламирование сетевых связей относится к типу 2.  Сообщения  посылаются
для каждой транзитной сети в автономной системе. Транзитной считается  сеть,
которая имеет более одного маршрутизатора.
                Формат сообщения о сетевых связях (тип LS=2)
   [pic]
                                Рисунок 4.19

   Сообщение  о  сетевых  связях  должно  содержать  информацию  обо   всех
маршрутизаторах, подключенных к сети, включая  тот,  который  рассылает  эту
информацию. Расстояние от сети до любого подключенного маршрутизатора  равно
нулю для всех видов сервиса  (TOS),  поэтому  поля  TOS  и  метрики  в  этих
сообщениях  отсутствуют.  Формат  сообщения  о  транзитных  сетевых   связях
показан на рисунок 4.18.
   Следует помнить, что приведенные ниже  сообщения  должны  быть  снабжены
стандартными 24-октетными OSPF-заголовками (на рисунке 4.19 отсутствует).
   Сетевая  маска  относится  к  описываемой  сети,  а  поле   подключенный
маршрутизатор содержит идентификатор  маршрутизатора,  работающего  в  сети.
Информация  об  адресатах  в  пределах  автономной  системы  передается  LS-
сообщениями типа 3 и 4. Тип  3  работает  для  IP-сетей.  В  этом  случае  в
качестве идентификатора состояния канала используется  IP-адрес  сети.  Если
же адресатом является пограничный маршрутизатор данной AS,  то  используется
LS-сообщение типа 4, а в поле идентификатор  состояния  канала  записывается
OSPF-идентификатор  этого  маршрутизатора.  Во  всех  остальных   отношениях
сообщения 3 и 4 имеют идентичные форматы (рисунок  4.20):

         Формат сообщений об адресатах в пределах автономной системы
   [pic]
                                Рисунок 4.21

   Поля, следующие после заголовка, повторяются  в  соответствии  с  числом
описываемых объектов. Рекламирование внешних маршрутов  относится  к  пятому
типу. Эта информация рассылается пограничными  маршрутизаторами.  Информация
о каждом внешнем адресате, известном маршрутизатору, посылается  независимо.
Этот вид описания используется и для маршрутов  по  умолчанию,  для  которых
идентификатор состояния канала устанавливается равным  0.0.0.0  (аналогичное
значение принимает при этом и сетевая маска)

                     Формат описания внешних маршрутов.
   [pic]
                                Рисунок 4.22
   Сетевая маска характеризует место  назначения  рекламируемого  маршрута.
Так для сети класса A маска может иметь вид  0xFF000000.  Последующий  набор
полей повторяется для каждого вида TOS. Поля для TOS=0  заполняются  всегда,
и это описание является первым. Бит E характеризует  внешнюю  метрику.  Если
E=0, то  она  может  непосредственно  (без  преобразования)  сравниваться  с
метриками других каналов. При E=1 метрика считается  больше  любой  метрики.
Поле адрес пересылки указывает на место,  куда  будут  пересылаться  данные,
адресованные рекламируемым маршрутом. Если адрес  пересылки  равен  0.0.0.0,
данные  посылаются  пограничному   маршрутизатору   автономной   системы   -
источнику данного сообщения. Метка внешнего  маршрута  -  32-битовое  число,
присваиваемое каждому внешнему маршруту. Эта метка самим протоколом OSPF  не
используется и предназначена для  информирования  других  автономных  систем
при  работе  внешних  протоколов  маршрутизации.  Маршрутная  таблица   OSPF
содержит в себе:
   1) IP-адрес места назначения и маску;
   2) тип места назначения (сеть, граничный маршрутизатор и т.д.);
   3) тип функции (возможен набор  маршрутизаторов  для  каждой  из  функций
      TOS);
   4) область (описывает область, связь с которой  ведет  к  цели,  возможно
      несколько  записей  данного  типа,  если  области  действия  граничных
      маршрутизаторов перекрываются);
   5) тип пути (характеризует путь как внутренний, межобластной или внешний,
      ведущий к AS);
   6) цена маршрута до цели;
   7) очередной маршрутизатор, куда следует послать дейтограмму;
   8) объявляющий маршрутизатор (используется для межобластных обменов и для
      связей автономных систем друг с другом).
   Преимущества OSPF:
   1) Для каждого адреса может быть несколько маршрутных таблиц, по одной на
      каждый вид IP-операции (TOS).
   2)  Каждому  интерфейсу  присваивается  безразмерная  цена,   учитывающая
      пропускную способность, время транспортировки сообщения. Для каждой IP-
      операции может быть присвоена своя цена (коэффициент качества).
   3) При существовании  эквивалентных  маршрутов  OSFP  распределяет  поток
      равномерно по этим маршрутам.
   4) Поддерживается адресация субсетей (разные маски для разных маршрутов).

   5) При связи точка-точка не требуется IP-адрес  для  каждого  из  концов.
      (Экономия адресов!)
   6) Применение мультикастинга вместо широковещательных  сообщений  снижает
      загрузку не вовлеченных сегментов.
   Недостатки:
   1) Трудно получить информацию о  предпочтительности  каналов  для  узлов,
      поддерживающих другие протоколы, или со статической маршрутизацией.
   2) OSPF является лишь внутренним протоколом.
    

4.4 Протокол маршрутизации IGRP

   Протокол  IGRP  разработан  фирмой  CISCO  для  своих  многопротокольных
маршрутизаторов в середине 80-х годов. Хотя  этот  протокол  и  не  является
стандартным, я счел возможным включить его описание, так как  маршрутизаторы
этой фирмы относятся к наиболее массовым. IGRP представляет собой  протокол,
который  позволяет  большому  числу  маршрутизаторов   координировать   свою
работу. Основные достоинства протокола стабильность маршрутов даже  в  очень
больших и сложных сетях;
   1) быстрый отклик на изменения топологии сети;
   2) минимальная  избыточность.  Поэтому  IGRP  не  требует  дополнительной
      пропускной способности каналов для своей работы;
   3) разделение потока данных между несколькими  параллельными  маршрутами,
      примерно равного достоинства;
   4) учет частоты ошибок и уровня загрузки каналов;
   5) возможность реализовать различные виды сервиса для одного  и  того  же
      набора информации.
   Сегодняшняя  реализация  протокола  ориентирована  на  TCP/IP.   Однако,
базовая  конструкция  системы  позволяет  использовать  IGRP  и  с   другими
протоколами. IGRP имеет некоторое сходство со старыми протоколами,  например
с RIP и  Hello.  Здесь  маршрутизатор  обменивается  маршрутной  информацией
только с непосредственными соседями. Поэтому задача  маршрутизации  решается
всей совокупностью маршрутизаторов, а не каждым отдельно.
   Для того чтобы исключить  осцилляции  маршрутов,  протокол  IGRP  должен
игнорировать  новую  информацию  в  течение  нескольких   минут   после   ее
возникновения.  OSPF-протокол  вынужден  использовать  большую  избыточность
информации по сравнению с IGRP, как на уровне базы маршрутных данных, так  и
в процессе обмена с внешней средой.
   IGRP используется в маршрутизаторах, которые имеют связи  с  несколькими
сетями и выполняют функции переключателей пакетов. Когда какой-то  объект  в
одной сети хочет  послать  пакет  в  другую  сеть,  он  должен  послать  его
соответствующему маршрутизатору. Если адресат находится в  одной  из  сетей,
непосредственно связанной с маршрутизатором, он  отправляет  этот  пакет  по
месту назначения.  Если  же  адресат  находится  в  более  отдаленной  сети,
маршрутизатор перешлет пакет другому маршрутизатору, расположенному ближе  к
адресату. Здесь также как и в  других  протоколах  для  хранения  маршрутных
данных используются специализированные базы данных.
   Протокол IGRP формирует эту базу данных на основе информации, которую он
получит от соседних маршрутизаторов.  В  простейшем  случае  находится  один
путь  для  каждой  из  сетей.  Сегменты  пути  характеризуются  используемым
сетевым  интерфейсом,  метрикой  и  маршрутизатором,  куда  следует  сначала
послать пакет. Метрика - то число, которое говорит о  том,  насколько  хорош
данный маршрут. Это число  позволяет  сравнить  его  с  другими  маршрутами,
ведущими к тому же месту назначения и обеспечивающим  тот  же  уровень  QOS.
Предусматривается возможность (как и в OSPF) разделять информационный  поток
между несколькими доступными эквивалентными маршрутами.  Пользователь  может
сам разделить поток данных, если два или более пути оказались почти  равными
по метрике, при этом большая часть трафика будет послана по  пути  с  лучшей
метрикой. Метрика, используемая в IGRP, учитывает:
   1) время задержки;
   2) пропускную способность самого слабого сегмента пути (в битах в сек);
   3) загруженность канала (относительную);
   4)  надежность  канала  (определяется  долей  пакетов,  достигших   места
      назначения неповрежденными).
   Время  задержки  предполагается   равным   времени,   необходимому   для
достижения  места  назначения  при  нулевой  загрузке  сети.  Дополнительные
задержки, связанные с загрузкой учитываются отдельно.
   Среди параметров, которые контролируются, но  не  учитываются  метрикой,
находятся число шагов до цели и MTU (maximum transfer unit -  размер  пакета
пересылаемого без фрагментации). Расчет  метрики  производится  для  каждого
сегмента пути.
   Время от времени каждый маршрутизатор  широковещательно  рассылает  свою
маршрутную информацию всем соседним маршрутизаторам.  Получатель  сравнивает
эти  данные  с  уже  имеющимися  и  вносит,  если   требуется,   необходимые
коррекции. На основании  вновь  полученной  информации  могут  быть  приняты
решения  об  изменении  маршрутов.  Эта   процедура   типична   для   многих
маршрутизаторов  и  этот  алгоритм  носит  имя  Белмана-Форда.  (см.   также
описание   протокола   RIP,   RFC-1058).   Наилучший   путь   выбирается   с
использованием комбинированной метрики, вычисленной по формуле:
   [(K1 / Be) + (K2 * Dc)] r [1],
   где: K1, K2 = константы;
   Be= пропускная  способность  канала  (в  отсутствии  загрузки)  *  (1  -
загрузка канала);

Dc = топологическая задержка;
   r =  относительная  надежность.  (%  пакетов,  успешно  передаваемых  по
данному сегменту пути). Здесь загрузка измеряется как доля от 1.
   Путь, имеющий наименьшую комбинированную метрику,  считается  лучшим.  В
такой  схеме  появляется  возможность,   используя   весовые   коэффициенты,
адаптировать выбор маршрутов к задачам конечного пользователя.
   Одним из преимуществ  IGRP  является  простота  реконфигурации.  В  IGRP
маршрут по умолчанию не назначается, а выбирается из числа кандидатов.
   Когда маршрутизатор включается, его маршрутные таблицы  инициализируются
оператором вручную или с использованием специальных файлов. На рисунке  4.23
маршрутизатор S связан через соответствующие интерфейсы с сетями 2 и 3.

   [pic]
                                Рисунок 4.23

   Таким  образом,  в  исходный  момент  маршрутизатор  S  знает  только  о
доступности сетей  2  и  3.  За  счет  обмена  информацией,  полученной  при
инициализации  и  присланной  позднее   соседями,   маршрутизаторы   познают
окружающий мир.
                     Пример с альтернативными маршрутами
   [pic]
                                Рисунок 4.24
   Пусть каждый из маршрутизаторов уже вычислил комбинированную метрику для
системы, изображенной на рис. 4.4.11.3.2. Для  места  назначения  в  сети  6
маршрутизатор A вычислит метрику для двух путей, через  маршрутизаторы  B  и
C. В действительности существует три маршрута из A в сеть 6:
-непосредственно в B
- в C и затем в B
- в C и затем в D
   Маршрутизатору A не нужно  выбирать  между  двумя  маршрутами  через  C.
Маршрутная таблица в A содержит только одну запись, соответствующую  пути  к
C. Если маршрутизатор  A  посылает  пакет  маршрутизатору  C,  то  именно  C
решает, использовать далее путь через маршрутизаторы B или D.
   IGRP-сообщение вкладывается в IP-пакет, это  сообщение  имеет  следующие
поля:

   version номер версии протокола 4 байта
opcode код операции
edition код издания
asystem номер автономной системы

Ninterior, Nsystem, Nexterior числа субсетей в локальной сети, в  автономной
системе и вне автономной системы.

checksum контрольная сумма IGRP-заголовка и данных

Version - номер версии в настоящее время равен 1. Пакеты  с  другим  номером
версии игнорируются.
   Opcode -  код  операции  определяет  тип  сообщения  и  может  принимать
значения:
   1 - изменение; 2 - запрос
   Edition - (издание) является серийным номером, который увеличивается при
каждом  изменении   маршрутной   таблицы.   Это   позволяет   маршрутизатору
игнорировать информацию, которая уже содержится в его базе данных.
   Asystem - номер автономной системы. Согласно нормам Сisco  маршрутизатор
может входить в более чем одну автономную  систему.  В  каждой  AS  работает
свой  протокол  и   они   могут   иметь   совершенно   независимые   таблицы
маршрутизации. Хотя в IGRP допускается  'утечка'  маршрутной  информации  из
одной автономной системы в другую, но  это  определяется  не  протоколом,  а
администратором.
   Ninterior, nsystem, и nexterior определяют числа  записей  в  каждой  из
трех секций сообщения об изменениях.
   Checksum - контрольная сумма  заголовка  и  маршрутной  информации,  для
вычисления которой используется тот же алгоритм, что и в UDP, TCP и ICMP.
   IGRP запрос  требует  от  адресата  прислать  свою  маршрутную  таблицу.
Сообщение содержит только заголовок. Используются  поля  version,  opcode  и
asystem,  остальные  поля  обнуляются.  IP-пакет,  содержащий  сообщение  об
изменении маршрутов, имеет 1500 байт (включая IP-заголовок).  Для  описанной
выше схемы это позволяет включить в пакет до  104  записей.  Если  требуется
больше  записей,  посылается  несколько  пакетов.  Фрагментация  пакетов  не
применяется.
   Ниже приведено описание структуры для маршрута:
|Number          |3 октета IP-адреса                                       |
|delay           |задержка в десятках микросекунд 3 октета                 |
|bandwidth       |Пропускная способность, в Кбит/с 3 октета                |
|uchar mtu       |MTU, в октетах 2 октета                                  |
|reliability     |процент успешно переданных пакетов tx/rx 1 октет         |
|load            |процент занятости канала 1 октет                         |
|hopcount        |Число шагов 1 октет                                      |


   Субполе описание маршрута Number определяет IP-адрес  места  назначения,
для экономии  места  здесь  используется  только  3  его  байта.  Если  поле
задержки содержит только единицы, место назначения недостижимо.
   Пропускная  способность  измеряется  в  величинах,   обратных   бит/сек,
умноженных на 1010. (Т.е., если пропускная способность равна  N  Кбит/с,  то
ее измерением в IGRP будет 10000000/N.). Надежность измеряется  в  долях  от
255 (т.е. 255 соответствует 100%). Загрузка  измеряется  также  в  долях  от
255, а задержка в десятках миллисекунд.
   Ниже приведены значения по умолчанию для величин задержки  и  пропускной
способности

|Вид среды          |Задержка             |Пропускная способность           |
|Спутник            |200,000 (2 сек)      |20 (500 Мбит/c)                  |
|Ethernet           |100 (1 мсек)         |1,000                            |
|1.544 Мбит/c       |2000 (20 мсек)       |6,476                            |
|64 Кбит/c          |2000                 |156,250                          |
|56 Кбит/c          |2000                 |178,571                          |
|10 Кбит/c          |2000                 |1,000,000                        |
|1 Кбит/c           |2000                 |10,000,000                       |


   Комбинированная метрика  в  действительности  вычисляется  по  следующей
формуле (для версии Cisco 8.0(3)):
   Метрика = [K1*пропускная_способность +  (K2*пропускная_способность)/(256
- загрузка) + K3*задержка] * [K5/(надежность + K4)].
   Если K5 == 0, член надежности отбрасывается. По умолчанию в IGRP  K1  ==
K3 == 1, K2 == K4 == K5 == 0, а загрузка лежит в интервале от 1 до 255.
   В начале 90-х годов разработана новая версия протокола IGRP  -  EIGRP  с
улучшенным   алгоритмом   оптимизации   маршрутов,   сокращенным    временем
установления и масками субсетей переменной длины. EIGRP поддерживает  многие
протоколы   сетевого   уровня.   Рассылка   маршрутной   информации    здесь
производится лишь при измении  маршрутной  ситуации.  Протокол  периодически
рассылает  соседним  маршрутизаторам  короткие  сообщения  hello.  Получение
отклика  означает,  что  сосед  функционален  и  можно  осуществлять   обмен
маршрутной информацией. Протокол EIGRP использует таблицы соседей  (адрес  и
интерфейс),  топологические  таблицы  (адрес  места  назначения   и   список
соседей,  объявляющих  о  доступности  этого  адреса),  состояния  и   метки
маршрутов. Для каждого протокольного модуля создается своя таблица  соседей.
Протоколом используется  сообщения  типа  hello  (мультикастная  адресация),
подтверждени (acknowledgent), актуализация (update), запрос  (query;  всегда
мультикастный) и отклик (reply; посылается  отправителю  запроса).  Маршруты
здесь делятся на внутренние и внешние - полученные от других протоколов  или
записанные в статических таблицах. Маршруты помечаются  идентификаторами  их
начала. Внешние маршруты помечаются следующей информацией:
   1) Идентификатор  маршрутизатора  EIGRP,  который  осуществляет  рассылку
      информации о маршруте;
   2) Номер AS, где расположен адресат маршрута;
   3) Метка администратора;
   4) Идентификатор протокола;
   5) Метрика внешнего маршрута;
   6) Битовые флаги маршрута по умолчанию.
   Протокол EIGRP полностью совместим с  IGRP,  он  обеспечивает  работу  в
сетях IP, Apple Talk и Novell.

   4.5 Внешний протокол маршрутизации BGP-4

   Протокол BGP (RFC-1267,  BGP-3;  RFC-1268;  RFC-1467,  BGP-4;  -1265-66,
1655) разработан компаниями IBM  и  CISCO.  Главная  цель  BGP  -  сократить
транзитный трафик.  Местный  трафик  либо  начинается,  либо  завершается  в
автономной системе  (AS);  в  противном  случае  –  это  транзитный  трафик.
Системы без транзитного трафика не нуждаются в BGP (им  достаточно  EGP  для
общения с транзитными узлами). Но не всякая ЭВМ, использующая протокол  BGP,
является маршрутизатором, даже если она обменивается маршрутной  информацией
с пограничным  маршрутизатором  соседней  автономной  системы.  AS  передает
информацию  только  о  маршрутах,  которыми  она   сама   пользуется.   BGP-
маршрутизаторы обмениваются  сообщениями  об  изменении  маршрутов  (UPDATE-
сообщения, рисунок 4.25).  Максимальная  длина  таких  сообщений  составляет
4096 октетов, а минимальная 19 октетов.  Каждое  сообщение  имеет  заголовок
фиксированного  размера.  Объем  информационных  полей   зависит   от   типа
сообщения.

                Формат BGP-сообщений об изменениях маршрутов
   [pic]
                                Рисунок  4.25

   Поле  маркер  содержит  16  октетов  и  его   содержимое   может   легко
интерпретироваться получателем. Если тип  сообщения  'OPEN',  или  если  код
идентификации в сообщении OPEN  равен  нулю,  то  поле  маркер  должно  быть
заполнено единицами. Маркер  может  использоваться  для  обнаружения  потери
синхронизации  в  работе  BGP-партнеров.  Поле  длина  имеет  два  октета  и
определяет общую длину сообщения  в  октетах,  включая  заголовок.  Значение
этого поля должно лежать в пределах 19-4096.  Поле  тип  представляет  собой
код разновидности сообщения и может принимать следующие значения:
|1    |OPEN                    |(открыть)                                |
|2    |UPDATE                  |(изменить)                               |
|3    |NOTIFICATION            |(внимание)                               |
|4    |KEEPALIVE               |(еще жив)                                |


   После того как связь на транспортном  протокольном  уровне  установлена,
первое сообщение, которое должно быть  послано  -  это  OPEN.  При  успешном
прохождении  этого  сообщения   партнер   должен   откликнуться   сообщением
KEEPALIVE  ('Еще  жив').  После  этого  возможны  любые   сообщения.   Кроме
заголовка сообщение OPEN содержит следующие поля (рисунок 4.26):

                            Формат сообщения OPEN
                                    [pic]
                                Рисунок 4.26

   Поле версия описывает код версии используемого протокола, на сегодня для
BGP он равен 4. Двух-октетное поле моя автономная система определяет код  AS
отправителя. Поле время сохранения характеризует время в  секундах,  которое
отправитель  предлагает  занести  в  таймер  сохранения.   После   получения
сообщения   OPEN   BGP-маршрутизатор   должен   выбрать   значение   времени
сохранения. Обычно выбирается меньшее из  полученного  в  сообщении  OPEN  и
значения, определенного при конфигурации системы (0-3сек). Время  сохранения
определяет максимальное время  в  секундах  между  сообщениями  KEEPALIVE  и
UPDATE или  между  двумя  UPDATE-сообщениями.  Каждому  узлу  в  рамках  BGP
приписывается  4-октетный  идентификатор   (BGP-identifier,   задается   при
инсталляции и идентичен для всех интерфейсов локальной сети). Если два  узла
установили два канала связи друг  с  другом,  то  согласно  правилам  должен
будет  сохранен  канал,  начинающийся  в  узле,  BGP-идентификатор  которого
больше.   Предусмотрен   механизм    разрешения    проблемы    при    равных
идентификаторах.
   Одно-октетный код идентификации позволяет организовать систему  доступа,
если он равен нулю, маркер всех  сообщений  заполняется  единицами,  а  поле
идентификационных данных должно иметь нулевую длину. При неравном нулю  коде
идентификации  должна  быть  определена   процедура   доступа   и   алгоритм
вычисления  кодов  поля  маркера.  Длина   поля   идентификационных   данных
определяется по формуле:
   Длина сообщения = 29 + длина поля идентификационных данных.

Минимальная  длина   сообщения   OPEN   составляет   29   октетов,   включая
заголовок.Сообщения  типа  UPDATE  (изменения)  используются  для   передачи
маршрутной информации между BGP-партнерами.  Этот  тип  сообщения  позволяет
сообщить об одном новом маршруте или объявить о закрытии  группы  маршрутов,
причем объявление об открытии нового и закрытии старых маршрутов возможно  в
пределах одного сообщения.  Сообщение  UPDATE  всегда  содержит  стандартный
заголовок и может содержать другие поля в соответствии со схемой:
                           Формат UPDATE-сообщения
                                    [pic]
                                Рисунок 4.27

   Если длина списка отмененных маршрутов равна нулю, ни  один  маршрут  не
отменен,  а  поле  отмененные  маршруты  в   сообщении   отсутствует.   Поле
отмененные маршруты имеет переменную длину  и  содержит  список  IP-адресных
префиксов маршрутов, которые стали недоступны.  Каждая  такая  запись  имеет
формат:
                                    [pic]
   Длина  префикса  (в  битах),   равная   нулю   означает,   что   префикс
соответствует всем IP-адресам, а сам  имеет  нулевой  размер.  Поле  префикс
содержит IP-адресные префиксы, за которыми следуют разряды,  дополняющие  их
до полного числа октетов. Значения этих двоичных разрядов смысла не имеют.
   Нулевое значение полной длины списка атрибутов пути говорит о  том,  что
информация о доступности сетевого  уровня  в  UPDATE-сообщении  отсутствует.
Список атрибутов пути присутствует в  любом  UPDATE-сообщении.  Этот  список
имеет переменную длину, а каждый атрибут содержит три составные  части:  тип
атрибута, длину атрибута и  значение  атрибута.  Тип  атрибута  представляет
собой двух-октетное поле со структурой:
                                    [pic]
   Старший бит (бит0) поля флаги атрибута определяет, является  ли  атрибут
опционным (бит0=1) или стандартным (well-known, бит0=0). Бит  1  этого  поля
определяет,  является  ли  атрибут  переходным  (бит1=1)  или   непереходным
(бит1=0). Для обычных атрибутов этот бит должен быть  равен  1.  Третий  бит
(бит 2) поля Флагов атрибута определяет, является ли информация в  опционном
переходном атрибуте полной (бит2=0) или частичной (бит2=1).  Для  обычных  и
для опционных непереходных атрибутов этот бит должен быть равен нулю. Бит  3
поля флагов атрибута  информирует  о  том,  имеет  ли  длина  атрибута  один
(бит3=0) октет или два октета (бит3=1). Бит3 может быть  равен  1  только  в
случае, когда длина атрибута  более  255  октетов.  Младшие  4  бита  октета
флагов атрибута не используются  (и  должны  обнуляться).  Если  бит3=0,  то
третий октет атрибута пути содержит длину поля данных  атрибута  в  октетах.
Если же бит3=1, то третий и четвертый  октеты  атрибута  пути  хранят  длину
поля данных атрибута.  Остальные  октеты  поля  атрибут  пути  характеризуют
значение атрибута и интерпретируются согласно флагам атрибута.
   Атрибуты пути бывают 'стандартные обязательные' (well-known  mandatory),
'стандартные на усмотрение оператора', 'опционные переходные'  и  'опционные
непереходные'.  Стандартные  атрибуты  должны  распознаваться  любыми   BGP-
приложениями.  Опционные  атрибуты  могут   не   распознаваться   некоторыми
приложениями. Обработка  нераспознанных  атрибутов  задается  битом  1  поля
флагов. Пути с  нераспознанными  переходными  опционными  атрибутами  должны
восприниматься, как рабочие. Один  и  тот  же  атрибут  может  появляться  в
списке атрибутов пути только один раз.
   Предусмотрены следующие разновидности кодов типа атрибута:
   ORIGIN (код типа  =  1)  -  стандартный  обязательный  атрибут,  который
определяет  происхождение  путевой   информации.   Генерируется   автономной
системой,  которая  является  источником  маршрутной  информации.   Значение
атрибута в этом случае может принимать следующие значения:
|Код       |Описание                                                         |
|атрибута  |                                                                 |
|0         |IGP - информация достижимости сетевого уровня является внутренней|
|          |по отношению к исходной автономной системе;                      |
|1         |EGP - информация достижимости сетевого уровня получена с помощью |
|          |внешнего протокола маршрутизации;                                |
|2         |INCOMPLETE - информация достижимости сетевого уровня получена    |
|          |каким-то иным способом.                                          |


   AS_PATH  (код  типа  =  2)  также  является   стандартным   обязательным
атрибутом,  который  составлен  из  совокупности  сегментов  пути.   Атрибут
определяет  автономные  системы,   через   которые   доставлена   маршрутная
информация. Когда BGP-маршрутизатор передает описание маршрута,  которое  он
получил   от   своего   BGP-партнера,   он   модифицирует   AS_PATH-атрибут,
соответствующий  этому  маршруту,  если  информация  передается  за  пределы
автономной системы. Каждый сегмент  AS_PATH  состоит  из  трех  частей  <тип
сегмента пути, длина сегмента пути и оценка  сегмента  пути>.  Тип  сегмента
пути представляет в свою очередь однооктетное поле, которое может  принимать
следующие значения:
|Код типа     |Описание                                                      |
|сегмента     |                                                              |
|1            |AS_SET: неупорядоченный набор маршрутов в UPDATE сообщении;   |
|2            |AS_SEQUENCE: упорядоченный набор маршрутов автономной системы |
|             |в UPDATE-сообщении.                                           |


   Длина сегмента пути представляет собой  одно-октетное  поле,  содержащее
число AS, записанных в поле оценка  сегмента  пути.  Последнее  поле  хранит
один или более кодов автономной системы, по два октета каждый.
   NEXT_HOP (код типа = 3) - стандартный обязательный атрибут, определяющий
IP-адрес пограничного маршрутизатора,  который  должен  рассматриваться  как
цель следующего шага на пути к точке назначения.
   MULI_EXIT_DISC (код типа = 4) представляет собой опционный  непереходной
атрибут, который занимает 4 октета и является  положительным  целым  числом.
Величина  этого  атрибута  может  использоваться  при   выборе   одного   из
нескольких путей к соседней автономной системе.
   LOCAL_PREF (код типа = 5) является  опционным  атрибутом,  занимающим  4
октета. Он  используется  BGP-маршрутизатором,  чтобы  сообщить  своим  BGP-
партнерам  в  своей  собственной  автономной  системе  степень  предпочтения
объявленного маршрута.
   ATOMIC_AGGREGATE (код типа = 6) представляет собой стандартный  атрибут,
который  используется  для  информирования  партнеров  о  выборе   маршрута,
обеспечивающего доступ к более широкому списку адресов.
   AGGREGATOR (код типа = 7) - опционный переходной атрибут с  длиной  в  6
октетов.  Атрибут  содержит  последний  код  автономной   системы,   который
определяет  агрегатный  маршрут  (занимает  два  октета),  и  IP-адрес  BGP-
маршрутизатора,  который  сформировал  этот  маршрут   (4   октета).   Объем
информации о достижимости сетевого уровня равен (в октетах):
   Длина сообщения UPDATE - 23 - полная длина атрибутов пути - длина списка
отмененных маршрутов.  Информация  о  достижимости  кодируется  в  следующей
форме:
                                    [pic]
   Поле длина определяет длину IP-адресного префикса в  битах.  Если  длина
равна нулю, префикс соответствует  всем  IP-адресам.  Префикс  содержит  IP-
адресные префиксы и  двоичные  разряды,  дополняющие  код  до  целого  числа
октетов.
   Информация о работоспособности соседних  маршрутизаторов  получается  из
KEEPALIVE-сообщений,  которые  должны  посылаться  настолько  часто,   чтобы
уложиться во время, отведенное таймером сохранения (HOLD). Обычно это  время
не должно превышать одной трети от времени сохранения, но не должно  быть  и
меньше 1 секунды. Если выбранное значение  времени  сохранения  равно  нулю,
периодическая посылка KEEPALIVE-сообщений не обязательна.
   NOTIFICATION-сообщения посылаются, когда  обнаружена  ошибка.  BGP-связь
при этом немедленно  прерывается.  Помимо  заголовка  NOTIFICATION-сообщение
имеет следующие поля:
                                    [pic]
   Код ошибки представляет собой одно-октетное  поле  и  указывает  на  тип
данного сообщения. Возможны следующие коды ошибки:

   Таблица 4.9 - Коды ошибок
|Код ошибки    |Описание                                                  |
|1             |Ошибка в заголовке сообщения.                             |
|2             |Ошибка в сообщении OPEN                                   |
|3             |Ошибка в сообщении UPDATE                                 |
|4             |Истекло время сохранения                                  |
|5             |Ошибка машины конечных состояний                          |
|6             |Прерывание                                                |


   При  отсутствии  фатальной  ошибки  BGP-партнер  может  в  любой  момент
прервать связь, послав NOTIFICATION-сообщение с кодом ошибки прерывание.
   Одно-октетное поле Субкод ошибки предоставляет дополнительную информацию
об ошибке. Каждый код ошибки может иметь один или более субкодов. Если  поле
содержит нуль, это означает, что никаких субкодов не определено.
   Таблица 4.10 - Субкоды ошибок
|Ошибка                  |Субкод     |Описание                           |
|Заголовок               |1          |Соединение не синхронизовано       |
|                        |2          |Неверная длина сообщения           |
|                        |3          |Неверный тип сообщения             |
|Сообщения OPEN          |1          |Неверный код версии                |
|                        |2          |Ошибочный код AS-партнера          |
|                        |3          |Ошибочный идентификатор BGP        |
|                        |4          |Ошибка в коде идентификации        |
|                        |5          |Ошибка при идентификации           |
|                        |6          |Неприемлемое время сохранения      |
|Сообщения UPDATE        |1          |Ошибка в списке атрибутов          |
|                        |2          |Не узнан стандартный атрибут       |
|                        |3          |Отсутствует стандартный атрибут    |
|                        |4          |Ошибка в флагах атрибута           |
|                        |5          |Ошибка в длине атрибута            |
|                        |6          |Неправильный атрибут ORIGIN        |
|                        |7          |Циклический маршрут                |
|                        |8          |Ошибка в атрибуте NEXT_HOP         |
|                        |9          |Ошибка в опционном атрибуте        |
|                        |10         |Ошибка в сетевом поле              |
|                        |11         |Ошибка в AS_PATH                   |


   Вся  маршрутная  информация  хранится  в  специальной  базе  данных  RIB
(Routing Information Base). Маршрутная  база  данных  BGP  состоит  из  трех
частей:
|1  |Adj-RIBs-I|Запоминает маршрутную информацию, которая получена из     |
|   |n:        |UPDATE-сообщений. Это список маршрутов, из которого можно |
|   |          |выбирать. (Policy Information Base - PIB).                |
|2  |Loc-RIB:  |Содержит локальную маршрутную информацию, которую         |
|   |          |BGP-маршрутизатор отобрал, руководствуясь маршрутной      |
|   |          |политикой, из Adj-RIBs-In.                                |
|3  |Adj-RIBs-O|Содержит информацию, которую локальный BGP-маршрутизатор  |
|   |ut:       |отобрал для рассылки соседям с помощью UPDATE-сообщений.  |


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

ConnectRetry (сбрасывается при инициализации и коррекции; 120 сек),

Holdtime (запускается при получении команд Update или KeepAlive; 90сек) и

KeepAlive (запускается при посылке сообщения KeepAlive; 30сек).
   BGP отличается от  RIP  и  OSPF  тем,  что  использует  TCP  в  качестве
транспортного протокола. Две системы, использующие BGP, связываются  друг  с
другом  и  пересылают  посредством  TCP  полные  таблицы  маршрутизации.   В
дальнейшем обмен идет только в случае каких-то изменений. ЭВМ,  использующая
BGP,  не  обязательно  является  маршрутизатором.  Сообщения  обрабатываются
только после того, как они полностью получены.
   BGP является протоколом, ориентирующимся на  вектор  расстояния.  Вектор
описывается списком AS по  16  бит  на  AS.  BGP  регулярно  (каждые  30сек)
посылает соседям TCP-сообщения, подтверждающие, что узел жив  (это  не  тоже
самое  что  'keepalive'  функция  в  TCP).   Если   два   BGP-маршрутизатора
попытаются установить связь друг с  другом  одновременно,  такие  две  связи
могут быть установлены. Такая ситуация  называется  столкновением,  одна  из
связей должна быть ликвидирована.  При  установлении  связи  маршрутизаторов
сначала делается попытка реализовать высший из  протоколов  (например,  BGP-
4), если один из них не поддерживает эту версию, номер версии понижается.
   Протокол BGP-4 является усовершенствованной версией (по сравнению с BGP-
3). Эта версия позволяет пересылать информацию о маршруте  в  рамках  одного
IP-пакета. Концепция классов  сетей  и  субсети  находятся  вне  рамок  этой
версии.  Для  того  чтобы  приспособиться  к  этому,  изменена  семантика  и
кодирование атрибута  AS_PASS.  Введен  новый  атрибут  LOCAL_PREF  (степень
предпочтительности маршрута для собственной AS), который упрощает  процедуру
выбора маршрута. Атрибут INTER_AS_METRICS переименован в MULTI_EXIT_DISC  (4
октета; служит для выбора пути к одному из соседей). Введены новые  атрибуты
ATOMIC_AGGREGATE и  AGGREGATOR,  которые  позволяют  группировать  маршруты.
Структура данных отражается и на схеме принятия решения, которая  имеет  три
фазы:
   1. Вычисление степени предпочтения для каждого маршрута,  полученного  от
      соседней AS, и передача информации другим узлам местной AS.
   2. Выбор лучшего маршрута из наличного числа для каждой точки  назначения
      и укладка результата в Loc-RIB.
   3. Рассылка информации из Loc_RIB всем  соседним  AS  согласно  политике,
      заложенной в RIB. Группировка маршрутов  и  редактирование  маршрутной
      информации.

   4.6 Протокол внешних маршрутизаторов EGP.

   Протокол  внешних  маршрутизаторов   (Exterior   Gateway   Protocol-EGP)
является  протоколом  междоменной  досягаемости,   который   применяется   в
Internet - международной сети, об'единяющей университеты,  правительственные
учреждения,  научно-исследовательские  организации  и  частные  коммерческие
концерны. EGP документально оформлен в Запросах для Комментария  (RFC)  904,
опубликованных в апреле 1984 г.
   Являясь  первым  протоколом  внешних  маршрутизаторов,  который  получил
широкое  признание  в  Internet,  EGP  сыграл  важную  роль.  К   сожалению,
недостатки EGP стали более очевидными после того, как Internet  стала  более
крупной и совершенной сетью. Из-за этих недостатков EGP  в  настоящее  время
не отвечает всем  требованиям  Internet  и  заменяется  другими  протоколами
внешних маршрутизаторов,  такими,  как  Протокол  граничных  маршрутизаторов
(Border Gateway Protocol - BGP) и Протокол междоменной маршрутизации (Inter-
Domain Routing Protocol - IDRP).

   Основы технологии

   EGP первоначально предназначался для передачи информации о  досягаемости
в стержневые маршрутизаторы  ARPANET  и  получения  ее  от  них.  Информация
передавалась  из  отдельных  узлов  источника,   находящихся   в   различных
административных доменах, называемых автономными  системами  (AS),  вверх  в
стержневые  маршрутизаторы,  которые   передавали   эту   информацию   через
стержневую область до тех пор, пока ее  можно  было  передать  вниз  к  сети
пункта назначения, находящейся в пределах  другой  AS.  Эти  взаимоотношения
между EGP и другими компонентами ARPANET показаны на Рисунке 4.29.

   [pic]
                                Рисунок 4.29.

   Несмотря на то, что EGP является динамическим протоколом  маршрутизации,
он  использует  очень  простую  схему.  Он  не  использует   показатели,   и
следовательно, не может принимать по настоящему интеллектуальных  решений  о
маршрутизации.  Корректировки  маршрутизации  EGP  содержат   информацию   о
досягаемости сетей. Другими словами, они указывают, что в определенные  сети
попадают через определенные маршрутизаторы.
   EGP имеет три основных функции. Во-первых, маршрутизаторы, работающие  с
EGP, организуют для себя определенный набор соседей.  Соседи  -  это  просто
другие  маршрутизаторы,  с   которыми   какой-нибудь   маршрутизатор   хочет
коллективно  пользоваться  информацией  о  досягаемости  сетей;   какие-либо
указания   о   географическом   соседстве    не    включаются.    Во-вторых,
маршрутизаторы EGP опрашивают своих соседей для того, чтобы убедиться  в  их
работоспособности. В-третьих,  маршрутизаторы  EGP  oтправляют  сообщения  о
корректировках, содержащих информацию о досягаемости сетей в пределах  своих
AS.

                             Формат пакета  EGP


                             [pic] Рисунок 4.30


   Первым полем в заголовке пакета EGP является поле номера версии EGP (EGP
version number). Это  поле  обозначает  текущую  версию  EGP  и  проверяется
приемными устройствами для определения соответствия  между  номерами  версий
отправителя и получателя.
   Следующим полем  является  поле  типа  (type),  которое  обозначает  тип
сообщения. EGP выделяет 5 отдельных типов сообщения.
   За полем типа следует поле кода (code).  Это  поле  определяет  различие
между подтипами сообщений.
   Следующее поле - поле состояния (status), которое содержит информацию  о
состоянии, зависящую от сообщения.  В  число  кодов  состояния  входят  коды
недостатка  ресурсов  (insufficient   resources),   неисправных   параметров
(parameter problem), нарушений протокола (protocol violation), и другие.
   За полем состояния идет поле контрольной суммы  (checksum).  Контрольная
сумма  используется  для  обнаружения  возможных  проблем,   которые   могли
появиться в пакете в результате транспортировки.
   За  полем  контрольной  суммы  идет  поле  номера   автономной   системы
(autonomous  system  number).  Оно  обозначает  AS,  к  которой  принадлежит
маршрутизатор-отправитель.
   Последним   полем   заголовка   пакета   EGP   является   поле    номера
последовательности   (sequence   number).   Это    поле    позволяет    двум
маршрутизаторам  EGP,  которые   oбмениваются   сообщениями,   согласовывать
запросы  с  ответами.  Когда  определен  какой-нибудь  новый  сосед,   номер
последовательности   устанавливается   в   исходное   нулевое   значение   и
инкрементируется на единицу с каждой новой транзакцией запрос-ответ.
   За заголовком  EGP  идут  дополнительные  поля.  Содержимое  этих  полей
различается в зависимости от типа сообщения (определяемого полем типа).



   Типы сообщений

   За заголовком  EGP  идут  дополнительные  поля.  Содержимое  этих  полей
различается в зависимости от типа сообщения (определяемого полем типа).
   Приобретение соседа

Сообщение 'приобретение соседа' включает в себя интервал приветствия  (hello
interval) и интервал опроса  (poll  interval).  Поле  интервала  приветствия
определяет  период  интервала  проверки  работоспособности   соседей.   Поле
интервала опроса определяет частоту корректировки маршрутизации.
   Досягаемость соседа

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

Чтобы обеспечить правильную маршрутизацию между  AS,  ЕGP  должен  знать  об
относительном местоположении отдаленных хостов. Сообщение  опроса  позволяет
маршрутизаторам EGP получать информацию  о  досягаемости  сетей,  в  которых
находятся  эти  машины.  Такие  сообщения  имеют  только  одно  поле  помимо
обычного заголовка - поле сети  источника  IP  (source  network).  Это  поле
определяет сеть, которая должна использоваться в качестве контрольной  точки
для запроса.
   Корректиравка маршрутизации

Сообщения   о   корректировке   маршрутизации   дают   маршрутизаторам   EGP
возможность указывать местоположение различных сетей в пределах своих AS.  В
дополнение  к  обычному   заголовку   эти   сообщения   включают   несколько
дополнительных полей.  Поле  числа  внутренних  маршрутизаторов  (number  of
interior  gateways)   указывает   на   число   внутренних   маршрутизаторов,
появляющихся в сообщении. Поле  числа  внешних  маршрутизаторов  (number  of
exterior gateways) указывает на число внешних маршрутизаторов,  появляющихся
в сообщении. Поле сети источника IP (IP source network)  обеспечивает  адрес
IP  той  сети,  от  которой  измерена  досягаемость.  За  этим  полем   идет
последовательность блоков  маршрутизаторов  (gateway  blocks).  Каждый  блок
маршрутизаторов  обеспечивает  адрес  IP  какого-нибудь   маршрутизатора   и
перечень сетей, а также расстояний, связанных с достижением этих сетей.
   В  пределах  одного  блока  маршрутизатора  EGP  перечисляет   сети   по
расстояниям. Например, на расстоянии три может быть четыре  сети.  Эти  сети
перечислены  по  адресам.  Следующей  группой   сетей   могут   быть   сети,
находящиеся на расстоянии 4, и т.д.
   ЕGP не расшифровывает показатели расстояния, содержащиеся в сообщениях о
корректировке маршрутов.  EGP  фактически  использует  поле  расстояния  для
указания существования какого-либо маршрута; значение расстояния может  быть
использовано  только  для  сравнения  трактов,  если  эти  тракты  полностью
находятся в пределах одного конкретного AS. По  этой  причине  EGP  является
скорее  протоколом   досягаемости,   чем   протоколом   маршрутизации.   Это
ограничение приводит также к ограничениям в структуре Internet.  Характерно,
что любая часть  EGP  сети  Internet  должна  представлять  собой  структуру
дерева, у которого стержневой маршрутизатор является корнем,  и  в  пределах
которого отсутствуют  петли  между  другими  AS.  Это  ограничение  является
основным ограничением EGP; оно стало причиной  его  постепенного  вытеснения
другими, более совершенными протоколами внешних маршрутизаторов.
   Сообщения о неисправностях

Сообщения о  неисправностях  указывают  на  различные  сбойные  ситуации.  В
дополнение к общему заголовку EGP сообщения  о  неисправностях  обеспечивают
поле  причины  (reason),  за   которым   следует   заголовок   сообщения   о
неисправности (message header). В  число  типичных  неисправностей  (причин)
EGP входят  неисправный  формат  заголовка  EGP  (bad  EGP  header  format),
неисправный формат поля данных EGP (bad EGP data field  format),  чрезмерная
скорость  опроса  (excessive  polling  rate)  и   невозможность   достижения
информации   (unavailability   of   reachability   information).   Заголовок
сообщения о неисправности состоит из первых трех 32-битовых  слов  заголовка
EGP.

   5 Создание объединенной сети с протоколом маршрутизации RIP для IP

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

   5.1 Среды с протоколом RIP для IP

   Маршрутизируемая среда с протоколом RIP для IP лучше всего подходит  для
объединенных  динамических  IP-сетей  небольших   и   средних   размеров   с
множественными путями.
   1)  Под  термином  «объединенная  сеть  небольших  и  средних   размеров»
      понимается сеть, содержащая от 10 до 50 сетей.
   2) Термин «сеть с множественными путями» означает, что  передача  пакетов
      между любыми двумя конечными точками  объединенной  сети  возможна  по
      нескольким различным маршрутам.
   3) Термином «динамическая сеть» называются объединенные  сети,  топология
      которых может со  временем  изменяться  из-за  добавления  и  удаления
      сетей, а также из-за подключения и отключения каналов связи.
   Маршрутизируемые среды с протоколом RIP для IP  могут  использоваться  в
следующих случаях.
   1) Бизнес среднего масштаба.
   2) Большой офис подразделения с достаточно большим количеством
   Вопросы проектирования среды с протоколом RIP для IP
   Во избежание возможных неполадок при реализации  протокола  RIP  для  IP
необходимо учитывать следующие вопросы.
   Уменьшенный диаметр в 14 маршрутизаторов
   Максимальный   диаметр   объединенной   сети    с    протоколом    RIP —
15 маршрутизаторов. Диаметр — это размер  объединенной  сети,  выраженный  в
терминах прыжков или других метрик. Однако
маршрутизатор Windows 2000 считает все маршруты, полученные без помощи  RIP,
имеющими фиксированное число прыжков — 2. Все статические  маршруты,  в  том
числе  и  статические  маршруты  для  непосредственно  подключенных   сетей,
считаются  полученными  без  помощи  RIP.   RIP-маршрутизатор   Windows 2000
объявляет свои непосредственно подключенные сети с  числом  прыжков 2,  даже
если для  их  достижения  нужно  пройти  лишь  один  маршрутизатор.  Поэтому
объединенная  сеть  с  протоколом   RIP,   использующая   RIP-маршрутизаторы
Windows 2000, имеет максимальный физический диаметр в 14 маршрутизаторов.

   5.2 Стоимость маршрутов RIP

   В качестве метрики для определения наилучшего  маршрута  RIP  использует
число прыжков. Использование  в  качестве  критерия  при  выборе  наилучшего
маршрута числа маршрутизаторов,  которые  нужно  пройти,  может  привести  к
нежелательным результатам. Например, если два узла подключены друг  к  другу
по линии T1, а в качестве запасного  варианта  используется  низкоскоростной
канал спутниковой  связи,  оба  подключения  считаются  имеющими  одинаковую
метрику. Когда маршрутизатору приходится выбирать один  из  двух  маршрутов,
имеющих одинаковую наименьшую метрику  (число  прыжков),  он  может  выбрать
любой из них.
   Если маршрутизатор выбирает спутниковый канал, то  будет  использоваться
низкоскоростной  канал,  а  не  другой  канал  с  более  высокой  пропускной
способностью. Чтобы в такой ситуации спутниковый канал не  выбирался,  можно
задать  для  спутникового  интерфейса  другую  стоимость.   Например,   если
присвоить  интерфейсу  спутниковой  связи  стоимость 2  (а  не 1,   как   по
умолчанию), то наилучшим маршрутом будет всегда  считаться  линия  T1.  Если
линия T1 будет недоступна, то  в  качестве  следующего  наилучшего  маршрута
будет выбираться спутниковый канал.
   Если вы используете собственные значения стоимости для обозначения таких
характеристик канала,  как  скорость,  наличие  задержек  и  надежность,  то
необходимо убедиться, что суммарная стоимость (число прыжков)  между  любыми
двумя конечными точками объединенной сети не превышает 15.

   5.3 Смешанные среды RIP версии 1 и RIP версии 2

   Для достижения максимальной гибкости следует использовать в объединенной
сети с протоколом RIP для IP протокол  RIP  версии 2.  Если  в  объединенной
сети есть маршрутизаторы, не поддерживающие  протокол  RIP  версии 2,  можно
использовать смешанную среду RIP v1 и RIP v2. Однако RIP v1 не  поддерживает
бесклассовую междоменную маршрутизацию (CIDR) и  маски  подсетей  переменной
длины (VLSM). Если в одной части объединенной сети поддерживается  CIDR  или
VLSM, а в другой — нет, то с маршрутизацией могут возникнуть трудности.
   Если в сети есть и RIP v1-, и RIP v2-маршрутизаторы, то нужно  настроить
интерфейсы  маршрутизатора  Windows 2000   на   отправку   широковещательных
объявлений RIP v1 или RIP v2 и на прием объявлений RIP v1 или RIP v2.

   5.4 Проверка подлинности RIP версии 2

   Если используется простая парольная проверка подлинности  RIP  версии 2,
то необходимо задать для всех интерфейсов RIP v2  в  одной  сети  одинаковый
пароль (с учетом регистра). Можно задать  как  одинаковый  пароль  для  всех
сетей, так и свой пароль для каждой сети.
   RIP версии 2 и подключения по требованию
   Если  с  помощью  RIP   выполняются   автостатические   обновления   при
подключениях по требованию,  нужно  настроить  каждый  интерфейс  вызова  по
требованию  на  многоадресную  рассылку  объявлений  RIP v2   и   на   прием
объявлений RIP v2. В противном случае маршрутизатор, находящийся  на  другом
конце подключения по требованию, не будет  отвечать  на  запросы  маршрутов,
отправляемые RIP-маршрутизатором.
   RIP и Frame Relay
   Так  как  RIP  является  протоколом,  основанным  на   многоадресной   и
широковещательной    рассылке,    для    его     правильной     работы     с
нешироковещательными  сетевыми  технологиями,  такими   как   Frame   Relay,
необходимо его соответствующим  образом  настроить.  То,  как  именно  нужно
настраивать  RIP  для  работы  с  Frame  Relay,  зависит  от   представления
виртуальных каналов Frame Relay в виде сетевых интерфейсов на компьютерах  с
Windows 2000. Возможны два варианта представления: либо адаптер Frame  Relay
представляется в виде одного адаптера для всех виртуальных  каналов  (модель
с одним адаптером), либо каждый  виртуальный  канал  представляется  в  виде
отдельного адаптера (модель с несколькими адаптерами).

   5.5 Модель с одним адаптером

   При использовании модели с одним адаптером, также называемой  моделью  с
нешироковещательным множественным доступом  (NBMA),  сеть  поставщика  услуг
Frame Relay (также называемая облаком Frame Relay) рассматривается  как  IP-
сеть, а конечным точкам  назначаются  IP-адреса  из  диапазона,  выделенного
данной IP-сети.  Чтобы  обеспечить  возможность  приема  трафика  RIP  всеми
необходимыми конечными  точками  облака,  нужно  настроить  интерфейс  Frame
Relay на одноадресную  отправку  его  объявлений  RIP  всем  соответствующим
конечным точкам. Для этого необходимо задать  соседей  RIP.  Кроме  того,  в
центрально-лучевой  топологии  Frame  Relay  для  интерфейса   Frame   Relay
центрального маршрутизатора должна  быть  отключена  обработка  расщепленных
уровней. Иначе маршрутизаторы на концах лучей не  смогут  получать  маршруты
друг от друга.

   5.6 Модель с несколькими адаптерами

   При использовании модели с  несколькими  адаптерами  каждый  виртуальный
канал Frame Relay представляется в виде канала связи «точка-точка» со  своим
идентификатором (кодом) сети, а конечным  точкам  назначаются  IP-адреса  из
диапазона, выделенного данной IP-сети.  Так  как  каждый  виртуальный  канал
является   подключением   «точка-точка»,    то    можно    применять    либо
широковещательную (предполагая, что обе конечные точки принадлежат одной IP-
сети), либо многоадресную рассылку объявлений RIP.
   Примечание
    . Вышеописанные соображения применимы  и  к  другим  нешироковещательным
      технологиям, таким как X.25 и ATM.

   5.7 Пассивные RIP-узлы

   Пассивный RIP-узел (не являющийся  маршрутизатором)  не  отправляет  сам
объявления RIP,  а  только  лишь  обрабатывает  полученные  объявления  RIP.
Обработанные   объявления   RIP   используются   для   построения    таблицы
маршрутизации для узла.  На  пассивных  RIP-узлах  не  обязательно  задавать
основной шлюз. Пассивные RIP-узлы широко используются в средах UNIX. Если  в
сети есть пассивные RIP-узлы, необходимо  выяснить,  какую  версию  RIP  они
поддерживают. Если пассивные узлы RIP поддерживают  только  RIP v1,  то  для
них необходимо использовать RIP v1.
   Windows 2000   Professional   содержит   пассивный   RIP-компонент   для
прослушивания объявлений RIP. Он устанавливается как дополнительный  сетевой
компонент и поддерживает протокол RIP версии 1.


   5.8 Безопасность протокола RIP для IP

   В дополнение  к  мерам  защиты,  перечисленным  в  разделе  Безопасность
статической маршрутизации, можно повысить безопасность RIP для IP с  помощью
следующих средств.
   Проверка подлинности RIP версии 2
   Чтобы  предотвратить  изменение  маршрутов  RIP  не  имеющими   на   это
разрешения RIP-маршрутизаторами в среде с  протоколом  RIP  версии 2,  можно
настроить  интерфейсы  маршрутизатора,  использующие  RIP v2,   на   простую
парольную проверку подлинности. Получаемые объявления  RIP  с  паролями,  не
совпадающими с заданным, будут отклоняться. Учтите, что пароли  пересылаются
в виде обычного текста. Любой пользователь, имеющий  средство  прослушивания
сети, например сетевой монитор Майкрософт,  может  перехватывать  объявления
RIP v2 и просматривать содержащиеся в них пароли.

   5.9 Задание равных маршрутизаторов

   На каждом RIP-маршрутизаторе можно задать список маршрутизаторов (по IP-
адресам),  от  которых  должны  приниматься  объявления  RIP.  По  умолчанию
принимаются объявления RIP от всех источников. Задание  списка  равных  RIP-
маршрутизаторов позволяет  не  принимать  объявления  RIP  от  нежелательных
маршрутизаторов.


   5.10 Фильтры маршрутов

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

   5.11 Соседи

   По умолчанию протокол  RIP  распространяет  свои  объявления  с  помощью
широковещательной  (RIP  версии 1  или  RIP  версии 2)   или   многоадресной
рассылки (только RIP v2). Чтобы трафик RIP не могли получать никакие  другие
узлы,   кроме   соседствующих   RIP-маршрутизаторов,   маршрутизатор   можно
настроить  на  одноадресную  рассылку  оповещений  RIP.  Будучи   изначально
предназначенной      для      использования      сетевыми       технологиями
нешироковещательного множественного доступа (NBMA), такими как Frame  Relay,
настройка  соседей  RIP   обеспечивает   направление   объявлений   RIP   на
соседствующие RIP-маршрутизаторы.

       6 Реализация маршрутизатора на основе протокола RIP.

   В качестве програмной среды для реализации был  выбран  C++  Builder  5.0
   (Windows  95/98/2000/NT/XP/Millenium  и   выше).   Язык   С++   позволяет
   эффективно работать  с  различными  типами  данных,  что  необходимо  для
   формирования RIP пакетов на байтовом и битовых уровнях.  Использование  в
   среде  компонент  Delphi  и  работы  с  Ansi  строками  сильно  облегчает
   реализацию интерфейса пользователя (окна программы формируются  визуально
   в специальном редакторе) и работы в сети (за счёт компоненты NMUDP).
   Разрабатываемое приложение предназначено для работы  подсетях  глобальной
   сети   Интернет   и   представляет    собой    программное    обеспечение
   маршрутизатора.


50 Описание алшоритма работы сервиса RIP

   Маршрутизатор RIP может находится в двух режимах:
   1) пасивный режим;
   2) активный режим.
   Пассивный RIP-узел (по сути являющийся  маршрутизатором)  не  отправляет
   сам объявления RIP, а только  лишь  обрабатывает  полученные  объявления
   RIP. Обработанные объявления RIP  используются  для  построения  таблицы
   маршрутизации для узла. На пассивных RIP-узлах не  обязательно  задавать
   основной шлюз.
   В активном режиме RIP – маршрутизатор переодично обменивается маршрутной
   информацией с соседними маршрутизаторами.
   Обмен   сообщениями   между   маршрутизаторами   происходит   по   порту
   520.Программа находится в  состоянии  прослушивания  всех  сообщений  по
   порту 520.
   Опишем алгоритм работы RIP – маршрутизатора:
      Для  каждой  записи  в  таблице  маршрутов  существует  время  жизни,
   контролируемое таймером. Если для любой  конкретной  сети,  внесенной  в
   таблицу маршрутов,  в  течение  180  с  не  получен  вектор  расстояний,
   подтверждающий или устанавливающий новое расстояние до данной  сети,  то
   сеть будет отмечена как недостижимая (расстояние  равно  бесконечности).
   Через определенное время модуль RIP
   производит  'сборку  мусора' -  удаляет   из   таблицы   маршрутов   все
   сети,расстояние до которых бесконечно.
      При получении сообщения типа 'ответ' для каждого содержащегося в  нем
   элемента вектора расстояний модуль RIP выполняет следующие действия:
   1) проверяет корректность адреса сети и маски, указанных в сообщении;
   2) проверяет, не превышает ли метрика (расстояние до сети) бесконечности;

      4) некорректный элемент игнорируется;
      5) если метрика меньше бесконечности, она увеличивается на 1;
      6) производится  поиск  сети,  указанной  в  рассматриваемом  элементе
         вектора расстояний, в таблице маршрутов;
      7) если запись о такой сети в таблице маршрутов отсутствует и  метрика
         в полученном элементе вектора меньше бесконечности, сеть вносится в
         таблицу  маршрутов  с  указанной  метрикой;   в   поле   'Следующий
         маршрутизатор'   заносится   адрес   маршрутизатора,    приславшего
         сообщение; запускается таймер для этой записи в таблице;
      8) если искомая запись присутствует в таблице с метрикой  больше,  чем
         объявленная в полученном векторе, в таблицу вносятся новые  метрика
         и, соответственно, адрес следующего маршрутизатора; таймер для этой
         записи перезапускается;
   9) если искомая запись присутствует в таблице и отправителем  полученного
      вектора был маршрутизатор, указанный в поле 'Следующий  маршрутизатор'
      этой записи, то таймер для этой записи  перезапускается;  более  того,
      если при этом метрика в таблице отличается  от  метрики  в  полученном
      векторе расстояний, в таблицу вносится значение метрики из полученного
      вектора;
     10) во всех прочих случаях рассматриваемый элемент  вектора  расстояний
         игнорируется.
      Сообщения типа  'ответ'  рассылаются  модулем  RIP  каждые  30  с  по
   широковещательному  или  мультикастинговому   (только   RIP-2)   адресу;
   рассылка 'ответа' может происходить также вне графика,  если  маршрутная
   таблица была изменена  (triggered  response).  Стандарт  требует,  чтобы
   triggered response рассылался  не  немедленно  после  изменения  таблицы
   маршрутов, а через случайный интервал длительностью от 1  до  5  с.  Эта
   мера позволяет несколько снизить нагрузку на сеть.
   Ниже представлен алгоритм работы сервиса RIP в блоксхемах:

51 Руководство системного администратора.



53 7 Технико – экономическое обоснованин.


   7.1. Характеристика программного продукта


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

    Альтернативой данной программе  являются  утилиты  WinNT  .  По  степени
новизны  решаемая  задача  относится  к  группе  B  (разработка  проекта   с
использованием  типовых  проектных  решений  при  условии   их    изменения,
разработка проектов, имеющих аналогичные решения).
   В разработке применен язык программирования сверхвысокого уровня С++ под
Windows.
   Необходимые для разработки программного продукта средства вычислительной
техники: персональная ЭВМ на базе процессора  Pentium  с  тактовой  частотой
200 Мгц, 32 Мб оперативной памяти, HDD 3 Гб.
   Для работы программы необходимо:
   Операционные системы совместимые с Windows 95,NT.  Работа  программы  не
имеет  смысла  без  наличия  TCP/IP  сети.  Программа  позволяет  установить
маршрутизатор как на Windows NT серверах так и на рабочих станциях..
   Минимальные системные ресурсы требуемые для запуска Windows 95,98,NT это
процессов i386, 4(16) Мб оперативной  памяти.  Для  совместимых  систем  эти
показатели могут быть другими.
Область  применения  разрабатываемого   программного   продукта:   Несколько
объединенных локальных сетей с одним или более выходами  в  глобальную  сеть
сеть с выделенными серверами и множеством сетевых устройств.
   Предполагаемые пользователи системы: системный администратор.


   7.2. Определение затрат труда на разработку программного продукта


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


   7.2.1.   Определение   условного   количества   операторов    программы,
трудоемкости


                        Т = То + Ти + Та + Тп + Тотл + Тд,             (7.1)

   где:
   Т   - общие затраты труда
   То - затраты труда на описание задачи
   Ти – затраты на исследование предметной области
   Та – затраты на разработку блок-схем
   Тп – затраты на программирование
   Тотл – затраты на отладку
   Тд – затраты на подготовку документации

   Все составляющие определяем через условное число операторов - Q:

                  Q = q * c * ( 1 + p )                                (7.2)

   где     q = 100  - число операторов,
   Коэффициент сложности задачи  c  характеризует  относительную  сложность
программы  по  отношению  к  так  называемой  типовой  задаче,   реализующей
стандартные  методы  решения,  сложность  которой  принята  равной   единице
(величина с лежит в пределах от  1,25  до  2).  Для  программного  продукта,
включающего в себя алгоритмы учета, поиска сложность задачи возьмем 1,6.
   c = 1,6 - коэффициент сложности программы,
   Коэффициент коррекции программы p –  увеличение  объема  работ  за  счет
внесения  изменений  в  алгоритм  или  программу  по  результатам  уточнения
постановок. В данном случае заказчик, хорошо представлял себе, что он  хочет
получить, это не требовало многочисленных доработок. С учетом этого  возьмем
коэффициент равный 0.1.
   p = 0,1 - коэффициент коррекции  программы  в  ходе  разработки.
   В результате получим условное число операторов.

   Q = q(c((1 + p) = 100(1,35((1+ 0,05) = 176

   Также используем следующие коэффициенты:
   Коэффициент увеличения затрат труда в зависимости  от  сложности  задачи
принимается от  1,2  до  1,5,  вследствие  недостаточного  описания  решения
задачи примем B = 1,3.
   Коэффициент квалификации разработчика k определяется  в  зависимости  от
стажа работы и составляет: для работающих до двух лет  -  0,8;  от  двух  до
трех лет - 1,0; от трех до пяти лет - 1,1 - 1,2; от пяти до  семи  -  1,3  -
1,4; свыше семи лет - 1,5 - 1,6. Разработчик,  которому  было  поручено  это
задание, имел опыт работы по специальности 2 года, поэтому примем k = 1,0.
   Рассчитаем общую трудоемкость.
   Затраты  труда  на  подготовку  описания  задачи   Тo  точно  определить
невозможно, так как это связано с творческим характером  работы.  Примем  Тo
= 50 чел.-ч.
   Затраты труда на изучение описания задачи Ти с учетом уточнения описания
и квалификации программиста могут быть определены по формуле:

                  Ти = Q (B / (75 ( 85) k                              (7.3)

   где
   Q   –   условное число операторов,
   B –  коэффициент  увеличения  затрат  труда,  вследствие  недостаточного
описания задачи,

             Ти =176(1,3/80(1,0 = 2,86  чел.-ч.                        (7.4)

   Затраты труда на разработку алгоритма решения задачи  Тa  рассчитывается
по формуле:

             Тa = Q / (20 ( 25) k.                                     (7.5)
   Та = 176/22,5(1,0 = 7,8  чел.-ч.

   Затраты  труда  на  составление  программы  по  готовой  блок-схеме   Тп
определяется по формуле:

       Тп = Q / (20 ( 25) k,                                           (7.6)
   Тп =176/22,5(1,0 = 7,8 чел.-ч.
   Затраты труда  на  отладку  программы  на  ЭВМ  tотл  рассчитывается  по
следующей формуле:

             Тотл= Q / (4 ( 5) k                                       (7.7)
   Тотл = 176/4,5(1,0 = 39,11 чел.-ч.

   Затраты труда на подготовку документации по задаче  Тд  определяются  по
формуле:

             Тд = Тдр + Тдо                                            (7.8)

   где Tдр- затраты труда на подготовку материалов в рукописи.

       Тдр = Q / (15 ( 20) k                                           (7.9)
   Тдр = 176/17,5(1,0=10,1 чел.-ч.

   Тдо - затраты труда на редактирование, печать и оформление документации:

            Тдо = 0,75 Тдр                                            (7.10)
   Тдо = 0,75(10,1=7,57 чел.-ч.
   Тд = 10+7,57= 17,57 чел.-ч.
   С  учетом   уровня  языка   программирования   трудоемкость   разработки
программы может быть скорректирована следующим образом:

      Ткор = Е( kкор                                                  (7.11)

   где Ткор - коэффициент изменения трудоемкости,  берущийся  из  следующей
таблицы 7.1:
Таблица  7.1  -  Изменение   трудоемкости   в   зависимости   уровня   языка
программирования.
|Уровень языка  |Характеристика языка    |Коэффициент     |
|Программировани|Программирования        |изменения       |
|я              |                        |Трудоемкости    |
|1              |Покомандный автокод-    |1               |
|               |Ассемблер               |                |
|2              |Макроассемблер          |0,95            |
|3              |Алгоритмические языки   |0,8 - 0,9       |
|               |Высокого уровня         |                |
|4              |Алгоритмические языки   |0,7 - 0,8       |
|               |Сверхвысокого уровня    |                |

   Выбранный  для   разработки   язык   C++   под   Windows   относится   к
алгоритмическим языкам сверхвысокого уровня, с учетом этого  примем  kкор  =
0,8.
   Подставив  все  полученные  данные  в  формулу  7.1.,   получим   полную
трудоемкость разработки:

   Т = 2,86+50+7,8+7.8+39.11+17,57= 125,14  чел.-ч.

   С учетом корректировки из формулы  7.11  получим  итоговую  трудоемкость
разработки:

   Ткор = 0,8 * 125,14 = 100,12 чел.-ч.


   7.2.2. Определение численности исполнителей


                                  Ч = Т / Ф                           (7.12)
   где
   Ч - численность исполнителей
   Ф - действительный фонд времени специалиста в период разработки.
   При Ф = 40 часов найдем численность исполнителей:

   Ч = 125,14 / 40 = 3 – исполнителя
   В состав исполнителей входят:
   Руководитель проекта
   Инженер – программист
   Оператор ЭВМ
   Распределение   трудоемкости   по   стадиям   разработки   приведено   в
таблице 7.2.

   Таблица  7.2 - Распределение трудоемкости.
|Этап       |Содержание работ    |Трудоём-|Трудоёмкость   |Должность   |
|разработки |                    |кость ч.|работ          |исполнителя |
|           |                    |        |исполнителя, ч.|            |
|Постановка |Предпроектное       |2,6     |1,7            |Руководитель|
|задачи     |иследование.        |        |               |проекта     |
|           |Разработка ТЗ.      |        |               |            |
|           |Разработка,         |        |               |            |
|           |согласование и      |        |               |            |
|           |утверждение         |        |               |            |
|           |технико-эконо-мическ|        |               |            |
|           |ого обоснования.    |        |               |            |
|           |                    |        |0,9            |Инженер-прог|
|           |                    |        |               |раммист     |
|Технический|Уточнение структуры |11,52   |7,1            |Инженер-прог|
|проект     |и формы             |        |               |раммист     |
|           |представления       |        |               |            |
|           |входных и выходных  |        |               |            |
|           |данных. Разработка  |        |               |            |
|           |алгоритма решения   |        |               |            |
|           |задачи. Разработка  |        |               |            |
|           |структуры программы.|        |               |            |
|           |                    |        |               |            |
|           |Разработка плана    |        |               |            |
|           |мероприятий по      |        |               |            |
|           |разработке и        |        |               |            |
|           |внедрению ПП.       |        |               |            |
|           |Разработка          |        |               |            |
|           |пояснительной       |        |               |            |
|           |записки.            |        |               |            |
|           |Согласование и      |        |               |            |
|           |утверждение         |        |               |            |
|           |технического        |        |               |            |
|           |проекта.            |        |               |            |
|           |                    |        |4,42           |Руководитель|
|           |                    |        |               |проекта     |
|Рабочий    |Описание прог-раммы |36      |25,2           |Инженер-прог|
|проект     |на языке            |        |               |раммист     |
|           |программирования    |        |               |            |
|           |Разработка,         |        |               |            |
|           |сог-ласование и     |        |               |            |
|           |утверждение порядка |        |               |            |
|           |и методики.         |        |               |            |
|           |                    |        |10,8           |Руководитель|
|           |                    |        |               |проекта     |
|Документаци|Разработка          |50      |12,7           |Инженер-прог|
|я и        |программной         |        |               |раммист     |
|внедрение  |документации.       |        |               |            |
|           |Подготовка и        |        |               |            |
|           |передача программы и|        |               |            |
|           |программной         |        |               |            |
|           |документации для    |        |               |            |
|           |сопровождения и     |        |               |            |
|           |изготовления,       |        |               |            |
|           |оформления и        |        |               |            |
|           |утверждения акта о  |        |               |            |
|           |передаче ПП на      |        |               |            |
|           |сопровождение.      |        |               |            |
|           |Передача            |        |               |            |
|           |программного        |        |               |            |
|           |продукта заказчику. |        |               |            |
|           |                    |        |37,42          |Оператор    |
|ИТОГО:     |                    |100,12  |100,12         |            |


   7.3 Расчет затрат на разработку


   Основная заработная плата разработчика рассчитывается по формуле:

      ЗПосн = О * 2,2+ВРУ                                             (7.13)
   где
   О – оклад,
   ВРУ – надбавка за вредные условия труда (49 руб)
   2,2 – районный и северный коэффициенты.
   Оклад инженера-программиста первой категории равен: 1000 рублей.
   Его основная месячная заработная плата составит:  1000 * 2,2+49  =  2249
рублей.
   Основная  заработная  плата   инженера-программиста   за   весь   период
разработки программного продукта составит:

   2249  руб. *  (25,2+12,7+0,9+7,1)ч. / (8ч. * 22 дня) = 586,53 руб.

   Оклад оператора ЭВМ равен: 600 рублей.
   Его основная месячная заработная плата  составит:  600  *  2,2+49=  1369
рублей.
   Основная  заработная  плата  оператора   за   весь   период   разработки
программного продукта составит:

   1369руб. * (37,42)ч. / (8ч. * 22 дня) = 291,06 руб.

   Оклад руководителя проекта: 1700 рублей.
   Его основная месячная заработная плата составит: 1700 *  2,2+49  =  3789
рублей.
   Основная  заработная  плата  оператора   за   весь   период   разработки
программного продукта составит:

   3789 руб. * (1,7+4,42+10,8)ч. / (8ч. * 22 дня) = 364,26 руб.

   Суммарная основная заработная плата всех  исполнителей  за  весь  период
разработки программного продукта составит:

   586,53+291,06+364,26 = 1241,85 руб.

   Дополнительная заработная плата рассчитывается в процентах  от  основной
заработной платы и составляет 12%.
   Дополнительная заработная плата  руководителя  проекта  за  весь  период
разработки программного продукта составит: 364,23 * 0,12 = 43,7 руб.
   Дополнительная заработная плата  инженера-программиста  за  весь  период
разработки программного продукта составит: 586,53 * 0,12 = 70,38 руб.
   Дополнительная заработная плата оператора ЭВМ за весь период  разработки
программного продукта составит:  291,06 * 0,12 = 34,92  руб.
   Суммарная дополнительная заработная  плата  всех  исполнителей  за  весь
период разработки программного продукта составит:

   43,7 руб. + 70,38 руб. + 34,92 руб. = 149 руб.

   Фондовые  отчисления  берутся  в  размере  38,5%  от  суммы  основной  и
дополнительной заработной платы.
   Суммарные  фондовые  отчисления  всех  исполнителей   за   весь   период
разработки программного продукта составят:

   (1241,85 руб+149 руб)*38,5%= 535,47 руб.

   Содержание и эксплуатация вычислительного комплекса считается  следующим
образом:
    Свт =  См-ч * Число_часов_отладки,
   где См-ч – стоимость машино-часа.
   Число часов отладки составляет: Тп+Тотл=(7,8 ч.+39,11 ч.)*0,7=32,83 ч.
   Стоимость машино-часа рассчитывается, как сумма составляющих:

   (Ст_эл_эн_в_год+Аморт _в_год+Затраты_на_ремонт_за_год)/Фвт    (7.14)

   где Фвт - действительный фонд времени работы вычислительного комплекса.
   Стоимость 1 КВТ/час электроэнергии составляет: 0,65 руб.
   Один компьютер потребляет 250 ВТ в час.

   За год отчисления за электроэнергию потребляемую одной ЭВМ составляет:
   8 ч. * 22 дня * 6 мес. * 0,25 КВТ/ч. * 0,65 руб. * ч. / КВТ = 171,6 руб.
   Амортизация ВТ считается, как 25% балансовой стоимости ВТ (10000 руб.) и
за год  составляет: 10000руб. * 0,25  = 2500 руб.
   Амортизация ПО с условием, что срок  морального  старения  составляет  4
года, считается, как 25%  от  его  балансовой  стоимости  (5000)  и  за  год
составляет:
   5000руб. * 0,25  =  1250 руб.
   Общая амортизация за год составляет: 2500 руб. + 1250 руб. = 3750 руб.
   Затраты на ремонт в год считаются, как 4% от стоимости комплекса  ВТ,  и
составляет:
   10000руб. * 0,04 =  400 руб.
   Действительный   фонд   времени   работы    вычислительного    комплекса
рассчитываем по следующей формуле:

                 Фвт = Фном – Фпроф                                   (7.15)

   где
   Фном - номинальный фонд времени работы вычислительного комплекса,
   Фпроф - годовые затраты времени на профилактические работы  (принимаются
15% от Фном).
   Итак: Фвт = 0,85 * 2112 час. = 1795,2 часа.
   Стоимость машино-часа составляет:
   (171,6 руб. + 3750 руб. + 400 руб.)/1795,2 часа = 2,41 руб.
   Содержание и эксплуатация вычислительного комплекса составляет:
   32,9 ч. * 2,41 руб. = 79,3 руб.
   Накладные  расходы  рассчитываются,  как  60%  от   суммарной   основной
заработной платы исполнителей и составляет:1241,85 руб*0,6=745,11 руб
   Смета  затрат  на   разработку   программного   продукта   приведена   в
таблице 7.3.
Таблица  7.3 - Смета затрат на разработку программного продукта
|№  |Наименование статьи расходов                    |Затраты, руб.|
|1  |Основная заработная плата производственного     |1241,85      |
|   |персонала.                                      |             |
|2  |Дополнительная заработная плата                 |149          |
|   |производственного персонала.                    |             |
|3  |Фондовые отчисления.                            |535,47       |
|4  |Содержание и эксплуатация вычислительного       |79,3         |
|   |комплекса.                                      |             |
|5  |Накладные расходы.                              |745,11       |
|ИТОГО:                                               |2750,73      |


   7.4 Экономический эффект от реализации и внедрения программного продукта


   Данная   программа   предназначенна   для    организации    динамической
маршрутизации сети, на основе протокола динамической маршрутизации  RIP  для
IP, т.е.  автоматического  ведения  таблиц  маршрутизации  как  на  серверах
(активных   маршрутизаторах)   так   и    на    рабочих    станциях(пасивных
маршрутизаторах).  Так  как  реализация  обмена  маршрутной  информацией  на
основе протокола динамической маршрутизации RIP для IP  мало  требовательный
для  ресурсов   процессора,   то   роль   маршрутизатора   могут   выполнять
относительно не дорогие компьютеры.
   Расчитаем  экономическую  эффективность  от  внедрения  и  использования
данной  программы.   Предположим,   что   программа   будет   использоваться
администратором узла доступа в интернет ВПИ ВолгГТУ.

   Удаленные пользователи могут  пользоваться  услугами  Интернет  с  19.00
часов до 8.00 часов, т.е. 13 часов в сутки. Стоимость услуги 10 руб. в  час.
Число используемых модемов 4.
   Следовательно среднемесячный максимальный доход от предоставления услуги
составит:
   13часов * 30 дней * 10 руб * 4 модема. =15600 руб. в месяц.

   Тогда среднемесячный доход будет вычисляться по формуле:

   Д1 = (min_доход + max_доход)/2
   Д1 = (0 + 15600) / 2 = 7800 руб. в месяц.

   Пользователи непосредственно узла доступа в интернет  имеют  возможность
пользоваться услугами с 9.00 часов до 20.00 часов, т.е. 11  часов  в  сутки.
Стоимость   услуги   составляет    0(для    сотрудников    института),10(для
детей),15(для студентов),25(для остальных) руб.  в  час.  Средняя  стоимость
составит   (0+10+15+25)/4=12,5   руб.   Число   рабочих   мест   4.   Услуга
предоставляется по будним дням.
   Следовательно среднемесячный максимальный доход от предоставления услуги
составит:
   11часов * 22 дня * 12,5 руб * 4 места. =12100 руб. в месяц.
   Тогда среднемесячный доход будет вычисляться по формуле:

   Д2 = (min_доход + max_доход)/2
   Д2 = (0 + 12100) / 2 = 6050 руб. в месяц.

   Всего среднемесячный доход составит:

   Д=Д1+Д2=7800+6050=13850 руб.

   Следовательно среднегодовой доход будет:

   Дг = Д*12 мес.
   Дг = 13850 руб. * 12 = 166200 руб. в год.

   Программа позволит администратору:
   1)  Сократить  объем   работы   администратора   по   настройке   таблиц
маршрутизации на маршрутизаторах и на рабочих станциях.
   2) Сократить время настройки маршрутизаторов.
   3) Уменьшить время реагирования маршрутизаторов на изменения в структуре
сети, что уменьшит время простоя сети при возникновении ошибок на серверах.

   Как следствие станет более быстрым и устойчивым соединение пользователей
Интернет. За счёт повышения качества услуг должно возрасти  число  клиентов,
а следовательно и доходы.
   Точно вычислить доход от внедрения не представляется  возможным  в  виду
неизвестности объёма происходящих  в  данный  момент  нарушений,  выявляемых
программой.  По  приблизительным  оценкам   внедрение   программы   позволит
повысить доход узла доступа на 2%  - 5%.
   При 2% экономический эффект от внедрения данной программы составит:

   Э = (Дг * 2% )  /  затраты
   Э = 166200 * 0,02 / 2750,73 = 3324/ 2750,73 = 1,21

   При 5% экономический эффект от внедрения данной программы составит:

   Э = (Дг * 5% )  /  затраты
   Э = 166200 * 0,05 / 1667,8 = 8310/ 2750,73= 3,03

   Следовательно данная программа экономически эффективна.

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

   8.2  Производственная  санитария,  основные  мероприятия   по   созданию
нормальных метеорологических условий

   Производственная  санитария  представляет  систему   организационных   и
санитарно-технических средств, предотвращающих или  уменьшающих  воздействие
на работающих  вредных  производственных  факторов.  Мероприятия  санитарно-
гигиенического характера направлены также на  обеспечение  здоровых  условий
труда путем  устройства  санитарно-бытовых  помещений,  создания  надлежащих
метеорологических условий, рационального освещения рабочих мест и пр.
   Индивидуальными средствами  защиты  являются:  спецодежда,  белье,  спец
обувь, головные уборы, перчатки и рукавицы, фартуки  и  пр.,  противогазы  и
респираторы, защитные очки, противошумные устройства, защитные пасты и  мази
для  предупреждения  профессиональных  заболеваний  кожи,  предохранительные
пояса и электрозащитные средства.
   При  невозможности  исключить  травматизм  глаз  путем   рационализации,
механизации и автоматизации  производственного  процесса  решающее  значение
приобретают:  очки  и  полумаски,  ручные,  наголовные  и  наплечные   щитки
специального назначения, а также  шлемы  и  маски,  защищающие  одновременно
глаза  и  органы  дыхания,  светофильтры  из  цветного  стекла,   окрашенной
пластмассы и др.
   В качестве индивидуальных средств защиты против  производственного  шума
используют приспособления, называемые противошумами:
   - антифоны или заглушки, вкладываемые в ушные каналы;
   - противошумные наушники (повязки, шлемы),  закрывающие  ушные  раковины
снаружи.
   О каждом несчастном случае на производстве пострадавший или  очевидец  в
течение смены должен сообщить непосредственно руководителю.
   При обнаружении неисправности используемого оборудования работник должен
сообщить непосредственно  руководителю  и  до  ее  устранения  к  работе  не
приступать.
   На  рабочем  месте  в  помещении  ВЦ   не   поддерживается   оптимальная
температура. В зимнее время температура воздуха 18-19 С, а  в  летнее  время
часто превышает 25 С.  Редко  проводится  должная  уборка.  Поэтому  повышен
уровень запыленности. Помещение нерегулярно проветривается.
   Оптимальные  нормы  температуры,  относительной  влажности  и   скорости
движения воздуха в рабочей зоне производственного помещения  в  соответствии
с ГОСТ 12.1.005-88 приведены в таблице  8.1.

   Таблица 8.1 - Оптимальные нормы температуры, относительной  влажности  и
скорости движения воздуха

|Период         |Категория  |Температура,  |Относительная   |Скорость      |
|Года           |работы     |С             |влаж. воздуха,  |движения      |
|               |           |              |%               |воздуха       |
|               |           |              |                |м/с           |
|Холодный и     |Легкая     |20-23         |60-40           |0,2           |
|переходный     |           |              |                |              |
|Теплый         |Легкая     |22-25         |60-40           |0,2           |

   При  длительном  воздействии  шума  на  организм   человека   происходят
нежелательные явления:
   - снижается острота зрения, слуха;
   - повышается кровяное давление;
   - понижается внимание.
   Характеристикой постоянного  шума  на  рабочих  местах  являются  уровни
звукового  давления  в  Дб  в  октавных  полосах  со   среднегеометрическими
частотами 31.5, 63, 125, 250, 500, 1000, 2000,  4000,  8000  Гц.  Допустимым
уровнем звукового  давления  в  октавных  полосах  частот,  уровни  звука  и
эквивалентные уровни звука на рабочем  месте  следует  принимать  данные  из
таблицы  8.2.

   Таблица 8.2 - Допустимые уровни звукового давления

|Рабочее      |Уровни звукового давления в дБ, в октавных   |Уровни звука    |
|Место        |полосах со среднегеометрическими             |в эквивалентных |
|             |Частотами в Гц                               |уровнях звука   |
|             |                                             |в дБА           |
|                     |не более                                            |
|Переменный ток,      |2                      |0,3                         |
|50 Гц                |                       |                            |

   Действие на человека повышенного  значения  напряжения  в  электрической
цепи. Действие электрического тока  на  живую  ткань  в  отличие  от  других
материальных факторов носит своеобразный и разносторонний характер.  Проходя
через организм, электрический ток производит действия:
   - термическое;
   - электролитическое;
   - биологическое.
   Первое проявляется в нагреве тканей, вплоть до ожогов отдельных участков
тела, перегрева кровеносных сосудов и крови, что вызывает  в  них  серьезные
функциональные нарушения.
   Второе вызывает разложение крови и  плазмы,  значительные  нарушения  их
физико-химических составов и тканей в целом.
   Третье выражается в раздражении и возбуждении  живых  тканей  организма,
что может сопровождаться непроизвольными судорожными  сокращениями  мышц,  в
том числе  мышц  сердца  и  легких.  При  этом  могут  возникнуть  различные
нарушения  в  организме,  включая  нарушение  и  даже   полное   прекращение
деятельности сердца и легких, а также механических повреждений тканей.
   Любое из этих действий тока может привести к электротравме.
   Электротравмы делятся на два вида:
   - местные;
   - электроудары.
   Повышенный   уровень   электромагнитных   излучений.    Электромагнитным
излучением называется излучение, прямо  или  косвенно  вызывающее  ионизацию
среды.  Контакт  с  электромагнитными  излучениями  представляет   серьезную
опасность для человека.
   Спектр излучения компьютерного монитора включает в  себя  рентгеновскую,
ультрафиолетовую  и  инфракрасную  области,   а   также   широкий   диапазон
электромагнитных волн других частот. В ряде экспериментов  было  обнаружено,
что электромагнитные  поля  с  частотой  60  Гц  (возникающие  вокруг  линий
электропередач,  видеодисплеев  и  даже  внутренней  электропроводки)  могут
инициировать биологические  сдвиги  (вплоть  до  нарушения  синтеза  ДНК)  в
клетках животных. В отличие от рентгеновских  лучей  электромагнитные  волны
обладают  необычным  свойством:   опасность   их   воздействия   совсем   не
обязательно уменьшается при снижении интенсивности  облучения,  определенные
электромагнитные поля действуют на  клетки  лишь  при  малых  интенсивностях
излучения или на конкретных частотах  -  в  “окнах  прозрачности”.  Источник
высокого напряжения компьютера  -  строчный  трансформатор  -  помещается  в
задней или боковой части терминала,  уровень  излучения  со  стороны  задней
панели дисплея выше, причем стенки корпуса не экранируют излучения.  Поэтому
пользователь должен находиться не ближе чем на 1.2 м от задних  или  боковых
поверхностей соседних терминалов.
   По результатам измерения  электромагнитных  излучений  установлено,  что
максимальная напряженность электромагнитного поля на  кожухе  видеотерминала
составляет  3.6  В\м,  однако  в  месте  нахождения  оператора  ее  величина
соответствует фоновому уровню (0.2-0.5  В\м);  градиент  электростатического
поля на расстоянии 0.5м менее 300 В\см является в пределах допустимого.
   На  расстоянии  5  см  от  экрана  ВТ  интенсивность   электромагнитного
излучения составляет 28-64В\м в зависимости от типа  прибора.  Эти  значения
снижаются до  0.3-2.4  В\м  на  расстоянии  30  см  от  экрана  (минимальное
расстояние глаз оператора до плоскости экрана).
   При статической электризации  напряжение  относительно  земли  достигает
десятков, а иногда и сотен тысяч вольт. Значения  токов  при  этих  явлениях
составляют, как правило, доли  микроампера  (0.0001-1мА).  Человек  начинает
ощущать  ток   величиной   0.6-1.5мА.   По   ГОСТ   12.1.038-82   напряжение
электрического тока не должно превышать 42В   в  помещениях  без  повышенной
опасности, какими являются помещения ВЦ.
   Мероприятия   по   устранению   или    снижению    повышенного    уровня
электромагнитных излучений в рабочей зоне. При защите от внешнего  излучения
основные усилия  должны  быть  направлены  на  предупреждение  переоблучения
персонала  путем  увеличения  расстояния  между  оператором  и   источником,
сокращение  продолжительности  работы  в   поле   излучения,   экранирование
источника излучения.

Таблица  8.4 - Предельно допустимая напряженность  электростатического  поля
на рабочем месте и защита от статического электричества

|Длительность воздействия      |до 1|2   |3   |4  |5   |6  |7   |8   |
|поля на человека t, ч         |    |    |    |   |    |   |    |    |
|Предельно допустимая          |60  |43  |35  |30 |27  |24 |23  |21  |
|напряженность поля Едоп,      |    |    |    |   |    |   |    |    |
|кВ/м                          |    |    |    |   |    |   |    |    |

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

   8.7 Требования по обеспечению пожаробезопасности

   Пожарная   безопасность   объекта   должна   обеспечиваться    системами
предотвращения пожара и противопожарной защиты.  Помещения  ВЦ  относится  к
категории   Д   (не   пожароопасных)   В   этих   помещениях    нет    легко
воспламеняющихся,   самовозгорающихся   и   взрывчатых    веществ,    мощных
электроустановок  и  искрящегося  оборудования,  механизмов  с   движущимися
частями, износ и коррозия которых могли бы привести к  пожару.  Пожар  может
возникнуть и от внешних  источников.  Поэтому  некоторые  меры  должны  быть
приняты:
   - обеспечение эффективного удаления дыма,  т.к.  в  помещениях,  имеющих
оргтехнику, содержится большое количество  пластиковых  веществ,  выделяющих
при горении летучие ядовитые вещества и едучий дым;
   - обеспечение правильных путей эвакуации;
   - наличие огнетушителей и пожарной сигнализации;
   - соблюдение всех противопожарных  требований  к  системам  отопления  и
кондиционирования воздуха.
   В помещении здания ВЦ  используются огнетушители в основном  порошкового
типа (ОП-3), также имеется пожарный щит, ящик с песком. В  здании   вывешены
планы эвакуации на случай пожара в доступных для обозрения местах.
   Опасными факторами пожаров являются:
   - пламя, искры характеризующиеся количеством теплового потока на единицу
поверхности;
   - повышенная температура. Человек начинает  ощущать  боль  от  теплового
воздействия при температуре поверхности более 45 С;
   - повышенная  концентрация  СО  +  другие  токсичные  продукты  горения.
Концентрация до 3 % может привести к потери сознания, до 10 % - смерть;
   - пониженная концентрация кислорода в воздухе с 17 % - головокружение, с
13 % - головные боли, с 9 % - потеря сознания, с 6 % - смерть.

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

   8.8 Водоснабжение и канализация

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

   8.9 Охрана труда программистов

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

   8.10 Определение оптимальных условий труда инженера – программиста

   Проектирование рабочих мест, снабженных  видеотерминалами,  относится  к
числу   важнейших   проблем   эргономического   проектирования   в   области
вычислительной техники.
   Рабочее  место  и  взаимное  расположение  всех  его  элементов   должно
соответствовать    антропометрическим,    физическим    и    психологическим
требованиям. Большое значение имеет также характер работы. В частности,  при
организации рабочего места  программиста  должны  быть  соблюдены  следующие
основные условия:
   - оптимальное  размещение  оборудования,  входящего  в  состав  рабочего
места;
   -  достаточное  рабочее  пространство,  позволяющее   осуществлять   все
необходимые движения и перемещения;
   - необходимо  естественное  и  искусственное  освещение  для  выполнения
поставленных задач;
   - уровень акустического шума не должен превышать допустимого значения.
   - достаточная вентиляция рабочего места;
   При проектировании письменного стола следует учитывать следующее:
   - высота стола должна быть выбрана с учетом возможности сидеть свободно,
в удобной позе, при необходимости опираясь на подлокотники;
   - нижняя часть стола должна быть сконструирована так, чтобы  программист
мог удобно сидеть, не был вынужден поджимать ноги;
   - поверхность стола должна обладать свойствами,  исключающими  появление
бликов в поле зрения программиста;
   - конструкция стола должна предусматривать наличие выдвижных ящиков  (не
менее 3 для хранения документации, листингов, канцелярских  принадлежностей,
личных вещей).
   Высота рабочей поверхности рекомендуется в пределах 680-760  мм.  Высота
рабочей поверхности, на которую устанавливается клавиатура, должна быть  650
мм.
   Большое  значение  придается  характеристикам  рабочего   кресла.   Так,
рекомендуется высота сиденья над уровнем пола должна быть  в  пределах  420-
550 мм. Поверхность  сиденья  рекомендуется  делать  мягкой,  передний  край
закругленным, а угол наклона спинки рабочего кресла - регулируемым.
   Большое значение также придается правильной рабочей  позе  пользователя.
При неудобной рабочей  позе  могут  появиться  боли  в  мышцах,  суставах  и
сухожилиях.  В  целях  преодоления  указанных   недостатков   даются   общие
рекомендации: лучше передвижная  клавиатура,  чем  встроенная;  должны  быть
предусмотрены специальные приспособления  для  регулирования  высоты  стола,
клавиатуры, документов и экрана, а также подставка для рук.
   Характеристики используемого рабочего места:
   - высота рабочей поверхности стола 750 мм;
   - высота пространства для ног 650 мм;
   - высота сиденья над уровнем пола 450 мм;
   - поверхность сиденья мягкая с закругленным передним краем;
   - предусмотрена возможность размещения документов справа и слева;
   - расстояние от глаза до экрана 700 мм;
   - расстояние от глаза до клавиатуры 400 мм;
   - расстояние от глаза до документов 500 мм;
   - возможно регулирование экрана по высоте,  по  наклону,  в  левом  и  в
правом направлениях;
   При  разработке  оптимальных  условий  труда   программиста   необходимо
учитывать освещенность, шум и микроклимат.



   Список использованной литературы:


   1. А.П. Лунев  «Телекоммуникационные  технологии»   Владивосток:  ВГУЭиС,
      1999, 407с.
   2. Сети ЭВМ: протоколы стандарты, интерфейсы. Ю. Блэк; перев. с  англ.  -
      М.: Мир, 1990.
   3. Коммутация и маршрутизация IP/IPX трафика. М. В. Кульгин, АйТи. -  М.:
      Компьютер-пресс, 1998.
   4. Волоконная оптика в локальных  и  корпоративных  сетях  связи.  А.  Б.
      Семенов, АйТи. - М.: Компьютер-пресс, 1998.
   5. Протоколы Internet. С. Золотов. - СПб.: BHV - Санкт-Петербург, 1998,
   6. Персональные компьютеры в сетях TCP/IP. Крейг Хант; перев. с  англ.  -
      BHV-Киев, 1997.
   7. Вычислительные системы, сети и телекоммуникации. Пятибратов  и  др.  -
      ФИС, 1998.
   8.  Высокопроизводительные  сети.  Энциклопедия  пользователя.  Марк   А.
      Спортак и др.; перев. с англ. - Киев, ДиаСофт, 1998.
   9. Средства связи для «последней  мили».  Денисьев  и  Мирошников,  -Эко-
      Трендз, 1998.
  10. Синхронные цифровые сети SDH. Н. Н. Слепов. - Эко-Трендз, 1998.
  11. Сети предприятий на  основе  Windows  NT  для  профессионалов.  Стерн,
      Монти; перев. с англ. - СПб.: Питер, 1999.
  12. Networking Essentials. Сертификационный экзамен -  экстерном  (экзамен
      70-058). Дж. Стюарт, Эд Титтель, Курт Хадсон; перев с  англ.  -  СПб.:
      Питер Ком, 1999.

  13. Основы построения сетей. Учебное  руководство  для  специалистов  MCSE
      (+CD-ROM). Дж. Челлис, Ч. Перкинс, М. Стриб; перевод с англ.  -  Лори,
      1997.
  14. Компьютерные сети. Учебный курс, 2-е изд. (+CD-ROM). - MicrosoftPress,
      Русская редакция, 1998.
  15. Сетевые средства Microsoft Windows NT Server 4.0; перев. с англ. СПб.:
      - BHV - Санкт-Петербург, 1997.
  16. Ресурсы Microsoft Windows NT Server 4.0. Книга 1; перев. с англ. СПб.:
      - BHV -Санкт-Петербург, 1997.
-----------------------
   Пакет на router X

Router 1

   Dest:        Send to:
   X                  R2

Router 1

   Dest:        Send to:
   X                  R1

                            Таблица маршрутизации

                           Таблица маршрутaизации



   [pic]

                                      0
                                      1
                                      2
                                      3
                                      4
                                      5
                                      6



Расстояние до маршрутизатора М1



                                     М5



                                     M4



                                     M3



                                     M2



                                     M1



                                      4
                                      4
                                      4
                                      4
                                      6
                                      6
                                      8
                                      …
                                      (



                                      3
                                      3
                                      3
                                      5
                                      5
                                      7
                                      7
                                      …
                                      (



                                      2
                                      2
                                      4
                                      4
                                      6
                                      6
                                      8
                                      …
                                      (



                                      0
                                      1
                                      2
                                      3
                                      4



Расстояние до маршрутизатора М1


                                      1
                                      3
                                      3
                                      5
                                      5
                                      7
                                      7
                                      …
                                      (



                                     М5



                                     M4



                                     M3



                                     M2



                                     M1



                                      (
                                      (
                                      (
                                      (
                                      4



                                      (
                                      (
                                      (
                                      3
                                      3



                                      (
                                      (
                                      2
                                      2
                                      2



                                      (
                                      1
                                      1
                                      1
                                      1



-----------------------


 Разраб.

                              ДП 01 ВАЭ 3.13.01



                                    Лист

                                    Дата

                                   Подпись

                                  № докум.

                                    Лист

                                    Изм.

                              ДП 01 ВАЭ 3.13.01



                                    Лист

                                    Дата

                                   Подпись

                                  № докум.

                                    Лист

                                    Изм.

 Провер.



 Реценз.



 Н. Контр.



 Утверд.



             Разработка системы маршрутизации в глобальных сетях

                                    Лит.

                                   Листов

                                      2




ref.by 2006—2022
contextus@mail.ru