С какой технологией связаны протоколы маршрутизации. Концепции протоколов маршрутизации в Internet. Маршрутизируемый против маршрутизирующего

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

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

Рисунок 4.8

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

Для определения маршрута внутри AS применяют внутренние протоколы маршрутизации IGP (Interior GatewayProtocols). Наиболее распространенными протоколами внутренней маршрутизации являются протоколы RIP (Routing Information Protocol), OSPF (Open Shortest Path First), IGRP (Interior Gateway Routing Protocol), разработанный компанией CISCO, как альтернативный RIP, а затем и его улучшенный вариант EIGRP (Enhanced Interior Gateway Routing Protocol).

Автономные системы объединяются между собой при помощи внешних или пограничных (Border) маршрутизаторов, используя протоколы внешней маршрутизации BGP (Border Gateway Protocol). Два соседних маршрутизатора, которые обмениваются информацией внутри AS, называются внутренним и внешним, если они обмениваются информацией, принадлежащей разным системам (рис. 4.8). Связь между разными автономными системами осуществляется с помощью высокоскоростной магистральной или опорной сети (Backbone).

В соответствии с терминологией международного института стандартов ISO используется понятие конечных ES и промежуточных систем IS. Промежуточная система IS (Intermedia Systems) – передающий узел между 2 подсетями. Устройство сети, которые не обладают способностью пересылать пакеты, называется оконечным. В это же время сетевое устройство, обладающее такой возможностью – промежуточной системой IS. Промежуточные системы, которые могут сообщаться внутри домена маршрутизации (эквивалент AS), называются внутридоменные AS и системы, которые общаются с другими доменами, называются междоменными.

Процесс взаимодействия и уровни взаимодействий в соответствии с OSI показан на рис. 4.9.

Рисунок 4.9

Протокол внутренней маршрутизации RIP (Routing Information Protocol) предназначался для небольших сетей. Для нахождения оптимального пути используется алгоритм вектора расстояния DVA (Distance Vector Algorithm) – алгоритм Беллмана-Форда. Маршрут в данном алгоритме характеризуется вектором расстояния до пункта назначения (пункт назначения – направление вектора, метрика – модуль вектора). Маршрутизаторы, которые используют протокол RIP в режиме широковещания, передают список сетей, с которыми они могут связаться, и метрику, содержащую информацию о том, за сколько пересылок, шагов (hops) каждая из этих сетей может быть достигнута.

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

Таблица маршрутизации содержит по одной записи на каждый маршрут.

Такая запись имеет следующие поля: поле IP адреса пункта назначения, IP-адрес ближайшего (соседнего) маршрутизатора, метрику маршрута – до 15 шагов, таймеры (счетчики времени). Каждый маршрутизатор передает такую широковещательную информацию каждые 30 сек, генерируя достаточно большой трафик. RIP работает на сетевом уровне стека TCP/IP, используя протокол UDP (порт 520).

Каждый маршрут содержит счетчики тайм-аута и «сборщики» маршрутов. Счетчик тайм-аута сбрасывается в нуль при коррекции или инициализации маршрута. Если к моменту последней коррекции прошло 3 мин, маршрут закрывается, однако запись о нем в таблице сохраняется до наступления времени «сборка маршрута».

Формат сообщения протокола RIP имеет вид (рис. 4.10). Поле «Команда» определяет вид сообщения:

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

Рисунок 4.10

1. Таймер обновления – 70 сек (посылается всем соседям);

2. Таймер устаревшего маршрута – 90 сек;

3. Таймер удаления маршрута - 240 сек.

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

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

Протокол маршрутизации внутренних шлюзов IGRP(Interior Gateway Routing Protocol) работает на основе использования алгоритма вектора расстояния DVA. Протоколы маршрутизации с вектором расстоянии требуют от каждого маршрутизатора отправления через определенные интервалы времени соседним маршрутизаторам всей или части своей таблицы маршрутизации, используя сообщения о корректировки маршрута. После того, как маршрутная информация распределиться по сети, маршрутизатор может вычислить расстояние до всех узлов объединенной сети.

Максимальное число транзисторных участков в этом протоколе может быть равным 255, а не 15 как в протоколе RIP. При формировании таблиц маршрутизации задаются следующие параметры:

1. Расстояние – число в диапазоне от 1 до 255.

2. Задержка. Измеряется кратно 10 мс. Для сетей E задается показателем 100.

3. Полоса от 1200 бит/с до 10 Гбит/с.

4. Надежность. Оптимальное значение составляет 255.

5. Загруженность канала в долях числа 255.

Для регулирования производительности применяются следующие таймеры:

1. Таймер обновления (по умолчанию 90с) – задает период передачи сообщения.

2. Таймер устаревшего маршрута. Столько времени ожидает маршрутизатор обновления, прежде чем объявить маршрут устаревшим (задается три периода обновления).

3. Таймер блокировки (по умолчанию 10 с).



4. Таймер удаления маршрута (семь периодов обновления).

Протокол предусматривает три типа маршрутов:

системные – ведущие в сети в рамках AS,

внешние – маршруты в сети вне AS.

Внешние, связанные с наличием граничного пути

Структура таблицы маршрутизации имеет вид, показанный на рис. 4.11

Рисунок 4.11

Первое поле в заголовке таблицы маршрутизации – номер версии,

затем следует поле операционного кода (OP Code). Это поле обозначает вид пакета. Код, равный 1, определяет пакет корректировки, код 2 – пакет запроса. Пакеты запроса использует маршрутизатор для получения информации о маршрутных таблицах других маршрутизаторов. Эти пакеты состоят только из заголовка, операционного кода и номера AS. Пакеты корректировки содержат заголовок, за которым следует записи данных маршрутных таблиц. Этот пакет не должен превышать 1500 байт. Далее следует поле редактирование, которое содержит последовательный номер, указывающий, когда маршрутная таблица изменялась. Далее следует номер автономной системы AS. Следующие поля определяют номер внешних сетей, главных сетей и подсетей. Последнее поле в заголовке – поле контрольной суммы. Сообщения о корректировке содержит семь полей данных для каждой записи данных маршрутной таблицы. Первое поле – 3 байта адреса IP, следующее – задержка, выраженная в десятках микросекунд, далее – поле ширины полосы в единицах 1 Кбит/с, затем идет поле размера блока данных MTU, поле надежности в процентах. Следующим является поле – загрузка, указывающее в процентах занятость канала. Последнее поле – число пересылок (счетчик шагов).

Протокол внешнего шлюза EGP (Exterion Gateway Protocol) – используется алгоритм вектора расстояния DVA для соединения AS через центральную сеть (ядро). Маршрутизатор выполняет следующие функции: выделяет соседей, с которыми обменивается информацией о достижении тех или иных сетей, посылает сообщения о их работоспособности, передает сообщения об обновлении, указывает информацию о доступности сетей для данной AS.

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

1. Проверочные, если нужно установить работают ли соседние маршрутизаторы.

2. Сообщения о достижимости соседа (не выключен ли соседний маршрутизатор).

3. Сообщения о неисправности.

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

Открытый протокол с алгоритмом поиска кратчайшего пути OSPF {Open Shortest Path First) – это протокол внутренних маршрутизаторов. Он гораздо сложнее RIP-протокола, однако OSPF может функционировать в сетях любой сложности и не имеет ограничений, характерных для RIP. Время, используемое на по­строение таблиц маршрутизации и загрузки сети служебной информацией, в среднем меньше по сравнению с тем, что потребовал бы протокол RIP для такой же системы. Кроме этого, переходные процессы в OSPF завершаются быстрее, чем в RIP. OSPF представляет собой протокол учета состояния канала LSA (Link State Algorithm), в котором маршрутизация выполняется по алгоритму Дийкстры. В качестве метрики используется коэффициент качества обслуживания QoS (Quality of Service). Каждый маршрутизатор обладает полной информацией о состоянии всех ин­терфейсов всех маршрутизаторов (узлов коммутации) автономной системы. Протокол OSPF реализован программным модулем - демоном маршрути­зации gated, который поддерживает также RIP и внешний протокол маршрутизации BGP. Качество обслуживания (QoS) характеризуется следующими параметрами: пропускной способностью канала, задержкой (временем распространения пакета), загрузкой канала, требованиями безопасности, типом трафика, числом шагов до места назначения, надежностью передачи пакетов.

Доминирующими являются три характеристики: задержка, пропуск­ная способность и надежность. На практике чаще всего метрика связи в OSPF определяется как количество секунд, требуемых для передачи 100 Мбит по каналу, через который проложен маршрут. Например, метрика сети на основе 10BASE-T Ethernet равна 10, метрика канала модемной связи со скоростью 56 кбит/с составляет 1785, а канала со скоростью 100 Мбит и вы­ше равна 1.

Для транспортных целей OSPF применяет протокол IP непосредст­венно, т.е. не привлекая протоколы UDP или TCP. OSPF имеет свой код в протокольном поле IP-заголовка. Код типа обслуживания ToS {type of service) в IP-пакетах, содержащих OSPF-сообщения, равен нулю, значение типа обслуживания ToS здесь задается в самих пакетах OSPF.

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

В стеке протоколов TCP/IP протокол OSPF находится непосредственно над протоколом IP, его код равен 89. Поэтому если значение поля "Прото­кол" IP-дейтаграммы равно 89, то данные дейтаграммы являются сообщени­ем OSPF и передаются OSPF-модулю для обработки. Соответственно размер OSPF сообщения ограничен максимальным размером дейтаграммы.

При передаче OSPF-пакетов фрагментация не желательна, но не за­прещается. Для передачи статусной информации OSPF использует широко­вещательные сообщения Hello. Повышение безопасности обеспечивается ав­торизацией процедур. Протокол OSPF требует резервирования двух группо­вых адресов: адрес 224.0.0.5 - предназначен для обращения ко всем маршрутиза­торам, поддерживающим этот протокол; адрес 224.0.0.6 - служит для обращения к специально выделенному маршрутизатору. Любое сообщение OSPF начина­ется с 24-октетного заголовка (рисунок 4.12).

Рисунок 4.12

Поле "Версия" определяет версию протокола. Поле "Тип" иден­тифицирует функцию сообщения, в частности: код 1- Hello (используется для проверки доступности маршрутизатора); код 2 - Описание базы данных (тополо­гия); код 3 - Запрос состояния канала; код 4 - Изменение состояния канала; код 5- Под­тверждение получения сообщения о статусе канала.

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

Поле "Контрольная сумма" содержит проверочную сумму IP-пакета, включая поле типа идентификации. Поле "Тип идентификации" может принимать значения 0 при отсутствии контроля доступа, и 1 при его нали­чии. В дальнейшем функции поля предполагается расширить.

Для взаимообмена данными между соседними маршрутизаторами протокол OSPF использует сообщения типа Hello. Важную функцию в этих сообщениях выполняет однобайтное поле "Опции", служащее для объявле­ния состояния канала и описания базы данных.

Структура пакетов этого типа показана на рисунке 4.13.

Рисунок 4.13

Особую роль в поле "Опции" играют младшие биты Е и Т: Бит Е ха­рактеризует возможность внешней маршрутизации и имеет значение только в сообщениях типа Hello, в остальных сообщениях этот бит должен быть об­нулен. Если Е=0, то данный маршрутизатор не будет посылать или прини­мать маршрутную информацию от внешних автономных систем. Бит Т оп­ределяет сервисные возможности маршрутизатора. Если Т=0, это означает, что маршрутизатор поддерживает только один вид услуг (тип сервиса ToS=0) и он не пригоден для маршрутизации с учетом вида услуг. Такие маршрутизаторы, как правило, не используются для транзитного трафика.

Поле "Сетевая маска" сообщения Hello соответствует маске подсети данного интерфейса. Поле "Время между Hello" содержит значение времени в секундах, между сообщениями Hello. Поле "Опции" характеризует возможности, ко­торые предоставляет данный маршрутизатор. Поле "Приоритет" задает уро­вень приоритета маршрутизатора, используемый при выборе резервного {backup) маршрутизатора. Если приоритет равен нулю, данный маршрутиза­тор никогда не будет реализован в качестве резервного. Поле "Время от­ключения маршрутизатора" определяет временной интервал в секундах, по истечении которого "молчащий" маршрутизатор считается вышедшим из строя. IP-адреса маршрутизаторов, записанные в последующих полях, ука­зывают место, куда следует послать данное сообщение, Поля "IP-адрес со­седа к" образуют список адресов соседних маршрутизаторов, откуда за по­следнее время были получены сообщения Hello.

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

Рисунок 4.14

Если размер базы данных велик, ее содержимое может пересылаться по частям. Для реализации этого используются биты I и М. Бит I устанавлива­ется в 1 в стартовом сообщении, а бит М принимает единичное состояние для сообщений, которые являются продолжением. Бит S определяет, кем по­слано сообщение (S=l для сервера, S=0 для клиента, этот бит иногда имеет имя MS).

Поле "Порядковый номер сообщения" служит для контроля пропу­щенных в процессе обмена информацией блоков. Первое сообщение содер­жит в этом поле случайное целое число М, последующие: М+1, M+2,...M+L. Поле "Тип канала" содержит коды, определяющие состояние каналов, а именно, его интерфейсов, описание внешних связей автономных систем.

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

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

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

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

Маршрутная таблица OSPF включает следующие поля:

  • IP-адрес места назначения и маску;
  • тип места назначения (сеть, граничный маршрутизатор и т.д.);
  • тип функции (возможен набор маршрутизаторов для каждой из функ­ций ToS);
  • область (описывает область, связь с которой ведет к цели; возможно несколько записей данного типа, если области действия граничных маршру­тизаторов перекрываются);
  • тип пути (характеризует путь как внутренний, межобластной или внешний, ведущий к автономной системе AS);
  • цена маршрута до цели;
  • очередной маршрутизатор, куда следует послать дейтаграмму;
  • объявляющий маршрутизатор (используется для межобластных обме­нов и для связей автономных систем друг с другом).

К преимуществам протокола маршрутизации OSPF следует отнести:

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

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

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

· обмен информации о локально подключенных хостах и сетях;

· сравнение альтернативных путей;

· согласование топологии сети.

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

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

Статическая маршрутизация основана на статических, заранее запрограммированных маршрутах. Преимущества статической маршрутизации заключаются:

· в повышении надежности сети;

· эффективном расходовании ресурсов;

· возможности применения для диагностики и временного разрешения проблем в сети;

· обеспечении безопасности сети.

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

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

Недостатки дистанционно-векторной маршрутизации следующие:

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

· маршрутизатор ничего не знает о фактической топологии сети и других маршрутизаторах;

Основным достоинством дистанционно-векторных протоколов является их простота. Эти протоколы эффективны в очень мелких сетях с минимальным количеством альтернативных путей и отсутствием жестких требований к производительности. Типичным представителем таким протоколов является протокол RIP (описан в документе RFC1058).

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


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

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

1) на стадии сбора первоначальной информации по сети передается большой объем информации, существенно снижая возможности сети по передаче данных;

2) топологическая маршрутизация требует больших затрат памяти и процессорных ресурсов.

Решаются эти проблемы посредством планирования и технического оснащения сети.

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

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

· шлюз (gateway) – компьютер, выполняющий преобразование протоколов. Шлюзы работают на уровнях модели OSI с 4 по 7 (например, шлюз электронной почты). Шлюзы очень часто выполняют преобразование нескольких протоколов в зависимости от сетевых подключений, например, также они могут выполнять шифрование/дешиф-рование данных;

· мост (bridge) – компьютер, соединяющий две сети и более, использующий один протокол. Мост работает на уровне 2 модели OSI и использует адреса канального уровня (а не адреса IP);

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

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

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

Дистанционно-векторные протоколы маршрутизации

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

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

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

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

При использовании RIP-1 маршрутизатор RTA выберет прямое соединение между RTA и RTB, чтобы достичь сети 192.10.5.0. Маршрутизатор RTA выбирает это соединение потому, что при непосредственном соединении для того, чтобы достичь заданной сети, используется лишь один переприем через узел RTB, против двух переприемов при выборе маршрута через узлы RTC и RTB. Однако маршрутизатор RTA "знает" о том, что канал RTA- RTB имеет меньшую производительность и большое время задержки, а канал RTC-RTB обеспечит более высокое качество обслуживания.

С другой стороны, при использовании протокола OSPF и метрик при выборе

маршрута, помимо подсчета количества переприемов, маршрутизатор RTA обнаружит, что путь к маршрутизатору RTB через RTC (вес: 60 + 60 = 120; 2 переприема) является более оптимальным, чем прямой путь (вес: 2000; 1 переприем).

Еще при подсчете переприемов следует учитывать ограничения, налагаемые на

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

характеристик дистанционно-векторных протоколов, хотя более новые протоколы этой категории (RIP-2 и EIGRP) не столь строги.

Еще один недостаток - способ обмена маршрутной информацией. Для традиционных дистанционно-векторных протоколов в настоящее время применяется следующая концепция: маршрутизаторы ведут обмен всеми IP-адресами, которые могут быть достигнуты при периодическом обмене данными посредством широковещательных анонсов дистанционных векторов. Эти широковещательные сообщения рассылаются согласно "таймеру обновлений" (refresh timer), установленному для каждого сообщения. Таким образом, если истекает срок работы "таймера обновлений" и при этом поступает новая маршрутная информация, требующая пересылки соседям, этот таймер сбрасывается, и маршрутная информация не пересылается до тех пор, пока срок работы таймера снова не истечет. Теперь рассмотрим, что бы произошло, если бы соединение или определенный маршрут вдруг стали недоступны по каким-либо причинам сразу после обновления маршрутов. Распространение маршрутной информации со сведениями о нерабочем маршруте было бы задержано на время до окончания срока работы "таймера обновления", следовательно, возникло бы значительное замедление при обновлении маршрутной информации.

К счастью, в новые модификации дистанционно-векторных протоколов, таких как EIGRP и RIP-2, введена концепция триггерных обновлений (triggerred updates). Триг-герные обновления распространяют сообщения об отказах по мере их появления, что значительно ускоряет обмен маршрутной информацией.

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

Конвергенция (convergence) - это интервал времени, за который обновляются все

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

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

Еще один серьезный недостаток дистанционно-векторных протоколов первого

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

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

С целью исправления недостатков старых дистанционно-векторных протоколов маршрутизации было разработано несколько их модификаций. Так, например, протоколы RIP-2 и EIGRP уже поддерживают работу с VLSM и CIDR. К тому же протоколы IGRP и EIGRP способны воспринимать сложные метрики, которые используются для представления характеристик, соединений составляющих маршрут (таких как полоса пропускания, текущая нагрузка, задержки, размер передаваемого блока (MTU) и т.д.), с помощью которых можно вычислить более оптимальный маршрут, чем при простом подсчете числа переприемов.

Простота и завершенность дистанционно-векторных протоколов стала причиной их

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

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

Протокол передачи данных TCP/IP

Сеть Интернет, являющаяся сетью сетей и объединяющая громадное количество различных локальных, региональных и корпоративных сетей, функционирует и развивается благодаря использованию единого протокола передачи данных TCP/IP. Термин TCP/IP включает название двух протоколов:

  • Transmission Control Protocol (TCP) - транспортный протокол;
  • Internet Protocol (IP) - протокол маршрутизации.

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

Аналогично передаваемая по сети информация "упаковывается в конверт", на котором "пишутся" IP-адреса компьютеров получателя и отправителя, например "Кому: 198.78.213.185", "От кого: 193.124.5.33". Содержимое конверта на компьютерном языке называется IP-пакетом и представляет собой набор байтов.

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

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

Internet Protocol (IP) обеспечивает маршрутизацию IP-пакетов, то есть доставку информации от компьютера-отправителя к компьютеру-получателю.

Определение маршрута прохождения информации. "География" Интернета существенно отличается от привычной нам географии. Скорость получения информации зависит не от удаленности Web-сервера, а от количества промежуточных серверов и качества линий связи (их пропускной способности), по которым передается информация от узла к узлу.

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

Проследим, как реализуется доступ к информации в "московской" части Интернета к одному из наиболее популярных поисковых серверов российского Интернета www.rambler.ru.

Определение маршрута прохождения информации

2. В окне Сеанс MS-DOS в ответ на приглашение системы ввести команду .

3. Через некоторое время появится трассировка передачи информации, то есть список узлов, через которые передается информация на ваш компьютер, и время передачи между узлами.


Трассировка маршрута передачи информации показывает, что сервер www.rambler.ru находится от нас на "расстоянии" 7 переходов, т. е. информация передается через шесть промежуточных серверов Интернета (через серверы московских провайдеров МТУ-Информ и Демос). Скорость передачи информации между узлами достаточно высока, на один "переход" тратится от 126 до 138 мс.

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

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

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

Transmission Control Protocol (TCP) , то есть транспортный протокол, обеспечивает разбиение файлов на IP-пакеты в процессе передачи и сборку файлов в процессе получения.

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

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

Определение времени обмена IP-пакетами

1. Соединиться с Интернетом, ввести команду [Программы-Сеанс MS-DOS].

2. В окне Сеанс MS-DOS в ответ на приглашение системы ввести команду .

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


Вопросы для размышления

1. Что обеспечивает целостное функционирование глобальной компьютерной сети Интернет?

Практические задания

4.5. Проследить маршрут прохождения информации от одного из наиболее популярных поисковых серверов Интернета www.yahoo.com, расположенного в "американском" сегменте Интернета.

4.6. Определить время обмена IP-пакетами с сервером www.yahoo.com.

Внутренний протокол маршрутизации RIP Этот протокол маршрутизации предназначен для сравнительно небольших и относительно однородных сетей (алгоритм Белмана - Форда). Протокол разработан в университете Калифорнии (Беркли), базируется на разработках фирмы Ксерокс и реализует те же принципы, что и программа маршрутизации routed, используемая в О C Unix (4BSD)


Протокол RIP должен быть способен обрабатывать три типа ошибок: Циклические маршруты. Так как в протоколе нет механизмов выявления замкнутых маршрутов, необходимо либо слепо верить партнерам, либо принимать меры для блокировки такой возможности. Для подавления нестабильностей RIP должен использовать малое значение максимально возможного числа шагов (


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



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


НЕДОСТАТКИ RIP: RIP не работает с адресами субсетей. Если нормальный 16-бит идентификатор ЭВМ класса B не равен 0, RIP не может определить является ли не нулевая часть cубсетевым ID, или полным IP- адресом. RIP требует много времени для восстановления связи после сбоя в маршрутизаторе (минуты). В процессе установления режима возможны циклы. Число шагов важный, но не единственный параметр маршрута, да и 15 шагов не предел для современных сетей.


Протокол OSPF (алгоритм Дикстры) Протокол OSPF (Open Shortest Pass First, RFC , RFC , алгоритмы предложены Дикстрой) является альтернативой RIP в качестве внутреннего протокола маршрутизации. OSPF представляет собой протокол состояния маршрута (в качестве метрики используется - коэффициент качества обслуживания). Каждый маршрутизатор обладает полной информацией о состоянии всех интерфейсов всех маршрутизаторов (переключателей) автономной системы. Протокол OSPF реализован в демоне маршрутизации gated, который поддерживает также RIP и внешний протокол маршрутизации BGP.









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


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


Внешний протокол BGP Протокол BGP (RFC-1267, BGP-3; RFC-1268; RFC-1467, BGP-4; , 1655) разработан компаниями IBM и CISCO. Главная цель BGP - сократить транзитный трафик. Но не всякая ЭВМ, использующая протокол BGP, является маршрутизатором, даже если она обменивается маршрутной информацией с пограничным маршрутизатором соседней автономной системы. BGP- маршрутизаторы обмениваются сообщениями об изменении маршрутов


Формат BGP-сообщений об изменениях маршрутов Поле маркер содержит 16 октетов и его содержимое может легко интерпретироваться получателем. Поле длина имеет два октета и определяет общую длину сообщения в октетах, включая заголовок. Поле тип представляет собой код разновидности сообщения и может принимать следующие значения: (еще жив)KEEPALIVE4 (внимание) NOTIFICATIO N 3 (изменить)UPDATE2 (открыть)OPEN1




Предусмотрены следующие разновидности кодов типа атрибута ORIGIN (код типа = 1) - стандартный обязательный атрибут, который определяет происхождение путевой информации. Генерируется автономной системой, которая является источником маршрутной информации. Значение атрибута в этом случае может принимать следующие значения: Incomplete - информация достижимости сетевого уровня получена каким-то иным способом. 2 EGP - информация достижимости сетевого уровня получена с помощью внешнего протокола маршрутизации; 1 IGP - информация достижимости сетевого уровня является внутренней по отношению к исходной автономной системе; 0 Описание Код атрибута


AS_sequence: уп" title="AS_PATH (код типа = 2) также является стандартным обязательным атрибутом, который составлен из совокупности сегментов пути. Каждый сегмент AS_PATH состоит из трех частей . AS_sequence: уп" class="link_thumb"> 22 AS_PATH (код типа = 2) также является стандартным обязательным атрибутом, который составлен из совокупности сегментов пути. Каждый сегмент AS_PATH состоит из трех частей. AS_sequence: упорядоченный набор маршрутов автономной системы в UPDATE-сообщении. 2 AS_set: неупорядоченный набор маршрутов в update сообщении; 1 Описание Код типа сегмента NEXT_HOP (код типа = 3) - стандартный обязательный атрибут, определяющий IP-адрес пограничного маршрутизатора, который должен рассматриваться как цель следующего шага на пути к точке назначения. MULTI_EXIT_DISC (код типа = 4) представляет собой опционный непереходной атрибут, который занимает 4 октета и является положительным целым числом. Величина этого атрибута может использоваться при выборе одного из нескольких путей к соседней автономной системе. LOCAL_PREF (код типа = 5) является опционным атрибутом, занимающим 4 октета. Он используется BGP-маршрутизатором, чтобы сообщить своим BGP-партнерам в своей собственной автономной системе степень предпочтения объявленного маршрута. ATOMIC_AGGREGATE (код типа = 6) представляет собой стандартный атрибут, который используется для информирования партнеров о выборе маршрута, обеспечивающего доступ к более широкому списку адресов. . AS_sequence: уп"> . AS_sequence: упорядоченный набор маршрутов автономной системы в UPDATE-сообщении. 2 AS_set: неупорядоченный набор маршрутов в update сообщении; 1 Описание Код типа сегмента NEXT_HOP (код типа = 3) - стандартный обязательный атрибут, определяющий IP-адрес пограничного маршрутизатора, который должен рассматриваться как цель следующего шага на пути к точке назначения. MULTI_EXIT_DISC (код типа = 4) представляет собой опционный непереходной атрибут, который занимает 4 октета и является положительным целым числом. Величина этого атрибута может использоваться при выборе одного из нескольких путей к соседней автономной системе. LOCAL_PREF (код типа = 5) является опционным атрибутом, занимающим 4 октета. Он используется BGP-маршрутизатором, чтобы сообщить своим BGP-партнерам в своей собственной автономной системе степень предпочтения объявленного маршрута. ATOMIC_AGGREGATE (код типа = 6) представляет собой стандартный атрибут, который используется для информирования партнеров о выборе маршрута, обеспечивающего доступ к более широкому списку адресов."> . AS_sequence: уп" title="AS_PATH (код типа = 2) также является стандартным обязательным атрибутом, который составлен из совокупности сегментов пути. Каждый сегмент AS_PATH состоит из трех частей. AS_sequence: уп"> title="AS_PATH (код типа = 2) также является стандартным обязательным атрибутом, который составлен из совокупности сегментов пути. Каждый сегмент AS_PATH состоит из трех частей . AS_sequence: уп">


Маршрутная база данных BGP состоит из трех частей: Содержит информацию, которую локальный BGP- маршрутизатор отобрал для рассылки соседям с помощью UPDATE-сообщений. ADJ- RIBS- OUT: 3. Содержит локальную маршрутную информацию, которую BGP-маршрутизатор отобрал, руководствуясь маршрутной политикой, из ADJ-RIBS-IN. LOC-RIB:2. Запоминает маршрутную информацию, которая получена из update-сообщений. Это список маршрутов, из которого можно выбирать. (policy information base - PIB). ADJ- RIBS- IN: 1.


Особенности BGP: BGP отличается от RIP и OSPF тем, что использует TCP в качестве транспортного протокола. ЭВМ, использующая BGP, не обязательно является маршрутизатором. Сообщения обрабатываются только после того, как они полностью получены. BGP является протоколом, ориентирующимся на вектор расстояния. BGP регулярно посылает соседям TCP-сообщения, подтверждающие, что узел жив. Если два BGP-маршрутизатора попытаются установить связь друг с другом одновременно, такая ситуация называется столкновением, одна из связей должна быть ликвидирована. При установлении связи маршрутизаторов сначала делается попытка реализовать высший из протоколов, если один из них не поддерживает эту версию, номер версии понижается.