Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерные сети и телекомуникации.docx
Скачиваний:
13
Добавлен:
17.09.2019
Размер:
1.44 Mб
Скачать

5. Принципы и протоколы маршрутизации.

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

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

  • IP-адрес места назначения.

  • Метрика маршрута (от 1 до 15; число шагов до места назначения).

  • IP-адрес ближайшего маршрутизатора (gateway) по пути к месту назначения.

  • Таймеры маршрута.

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

  1. Циклические маршруты.

  2. Для подавления нестабильностей RIP должен использовать малое значение максимально возможного числа шагов (не более 16).

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

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

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

Маршрут по умолчанию имеет адрес 0.0.0.0 (это верно и для других протоколов маршрутизации). Каждому маршруту ставится в соответствие таймер тайм-аута и "сборщика мусора". Тайм-аут-таймер сбрасывается каждый раз, когда маршрут инициализируется или корректируется. Если со времени последней коррекции прошло 3 минуты или получено сообщение о том, что вектор расстояния равен 16, маршрут считается закрытым. Но запись о нем не стирается, пока не истечет время "уборки мусора" (2мин). При появлении эквивалентного маршрута переключения на него не происходит, таким образом, блокируется возможность осцилляции между двумя или более равноценными маршрутами.

Поле команда определяет выбор согласно следующей таблице

Команда

Значение

1

Запрос на получение частичной или полной маршрутной информации;

2

Отклик, содержащий информацию о расстояниях из маршрутной таблицы отправителя;

3

Включение режима трассировки (устарело);

4

Выключение режима трассировки (устарело);

5-6

Зарезервированы для внутренних целей sun microsystem.

Поле версия для RIP равно 1 (для RIP-2 двум). Поле набор протоколов сети i определяет набор протоколов, которые используются в соответствующей сети (для Интернет это поле имеет значение 2).

Поле расстояние до сети i содержит целое число шагов (от 1 до 15) до данной сети. В одном сообщении может присутствовать информация о 25 маршрутах. При реализации RIP можно выделить следующие режимы:

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

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

  • Получен отклик. Проводится коррекция таблицы маршрутизации (удаление, исправление, добавление).

  • Регулярные коррекции. Каждые 30 секунд вся или часть таблицы маршрутизации посылается всем соседним маршрутизаторам. Могут посылаться и специальные запросы при локальном изменении таблицы.

Недостатки RIP:

  • RIP не работает с адресами субсетей. Если нормальный 16-бит идентификатор ЭВМ класса B не равен 0, RIP не может определить является ли не нулевая часть cубсетевым ID, или полным IP-адресом.

  • RIP требует много времени для восстановления связи после сбоя в маршрутизаторе (минуты). В процессе установления режима возможны циклы.

  • Число шагов важный, но не единственный параметр маршрута, да и 15 шагов не предел для современных сетей.

Протокол состояния связей OSPF

Протокол OSPF (Open Shortest Path Firs) является реализацией алгоритма состояния связей (он принят в 1991 году) и обладает многими особенностями, ориентированными на применение в больших гетерогенных сетях.

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

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

Для распространения по сети данных о состоянии связей маршрутизаторы обмениваются сообщениями другого типа. Эти сообщения называются router links advertisement - объявление о связях маршрутизатора (точнее, о состоянии связей). OSPF-маршрутизаторы обмениваются не только своими, но и чужими объявлениями о связях, получая в конце-концов информацию о состоянии всех связей сети. Эта информация и образует граф связей сети, который, естественно, один и тот же для всех маршрутизаторов сети.

Кроме информации о соседях, маршрутизатор в своем объявлении перечисляет IP-подсети, с которыми он связан непосредственно, поэтому после получения информации о графе связей сети, вычисление маршрута до каждой сети производится непосредственно по этому графу по алгоритму Дэйкстры. Более точно, маршрутизатор вычисляет путь не до конкретной сети, а до маршрутизатора, к которому эта сеть подключена. Каждый маршрутизатор имеет уникальный идентификатор, который передается в объявлении о состояниях связей. Маршрутизатор вычисляет оптимальный маршрут до каждой адресуемой сети, но запоминает только первый промежуточный маршрутизатор из каждого маршрута. Таким образом, результатом вычислений оптимальных маршрутов является список строк, в которых указывается номер сети и идентификатор маршрутизатора, которому нужно переслать пакет для этой сети. Указанный список маршрутов и является маршрутной таблицей.

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

Существует пять типов OSPF-пакетов. Все OSPF-пакеты начинаются со стандартного 24-баитного заголовка.

Version

Type

Packet Length

Router ID

Area ID

Checksum

Autype

Authentication

Authentication Data

Version (1 байт). Поле означает номер версии OSPF-пакета протокола, использующего данный пакет.

Type (1 байт). В зависимости от типа, пакет выполняет те или иные функции:

  • Type = 1 - Hello Отправляется через регулярные интервалы времени для установления и поддержания соседских взаимоотношений.

  • Type =2 - Database Description Пакеты описывают содержимое базы данных. Обмен этими пакетами производится при инициализации смежных маршрутизаторов, т. е. имеющих идентичные топологические базы данных.

  • Type =3 - Link-State Request Запрос о состоянии канала

  • Type =4 - Link-State Update Пакеты корректировки состояния канала - ответ на пакеты запроса о состоянии канала.

  • Type =5 - Link-Sate Acknowledgement Подтверждение состояния канала. Подтверждает пакеты корректировки состояния канала.

Packet Length (16 бит). Поле длины пакета (в байтах) вместе со стандартным заголовком.

RouterlD (32 бита). Поле идентификатора отправителя.

ArealD (32 бита). Поле идентифицирует область, к которой принадлежит данный пакет.

Checksum (16 бит). Поле контрольной суммы пакета.

Authentication (16 бит). Поле типа аутентификации. Например, "простой пароль". Все обмены протокола OSPF проводятся с аутентификацией отправителя и его прав. Тип аутентификации устанавливается по принципу "отдельный для каждой области".

Authentication data (64 бита). Поле содержит информацию аутентификации.

Протокол BGP

Общая схема работы BGP такова. BGP-маршрутизаторы соседних АС, решившие обмениваться маршрутной информацией, устанавливают между собой соединения по протоколу BGP и становятся BGP-соседями (BGP-peers).

Далее BGP использует подход под названием path vector, являющийся развитием дистанционно-векторного подхода. BGP-соседи рассылают (анонсируют, advertise) друг другу векторы путей (path vectors). Вектор путей, в отличие от вектора расстояний, содержит не просто адрес сети и расстояние до нее, а адрес сети и список атрибутов (path attributes), описывающих различные характеристики маршрута от маршрутизатора-отправителя в указанную сеть. В дальнейшем для краткости мы будем называть набор данных, состоящих из адреса сети и атрибутов пути до этой сети, маршрутом в данную сеть.

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

Реализация BGP

Пара BGP-соседей устанавливает между собой соединение по протоколу TCP, порт 179. Соседи, принадлежащие разным АС, должны быть доступны друг другу непосредственно; для соседей из одной АС такого ограничения нет, поскольку протокол внутренней маршрутизации обеспечит наличие всех необходимых маршрутов между узлами одной автономной системы.

Поток информации, которым обмениваются BGP-соседи по протоколу TCP, состоит из последовательности BGP-сообщений. Максимальная длина сообщения 4096 октетов, минимальная - 19. Имеется 4 типа сообщений.

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

  • OPEN - посылается после установления TCP-соединения. Ответом на OPEN является сообщение KEEPALIVE, если вторая сторона согласна стать BGP-соседом; иначе посылается сообщение NOTIFICATION с кодом, поясняющим причину отказа, и соединение разрывается.

  • KEEPALIVE - сообщение предназначено для подтверждения согласия установить соседские отношения, а также для мониторинга активности открытого соединения: для этого BGP-соседи обмениваются KEEPALIVE-сообщениями через определенные интервалы времени.

  • UPDATE - сообщение предназначено для анонсирования и отзыва маршрутов. После установления соединения с помощью сообщений UPDATE пересылаются все маршруты, которые маршрутизатор хочет объявить соседу (full update), после чего пересылаются только данные о добавленных или удаленных маршрутах по мере их появления (partial update).

  • NOTIFICATION - сообщение этого типа используется для информирования соседа о причине закрытия соединения. После отправления этого сообщения BGP-соединение закрывается.

Формат BGP-сообщения

Сообщение протокола BGP состоит из заголовка и тела. Заголовок имеет длину 19 октетов и состоит из следующих полей:

  • маркер: в сообщении OPEN всегда, и при работе без аутентификации - в других собщениях, заполнен единицами. Иначе содержит аутентификационную информацию. Сопутствующая функция маркера - повышение надежности выделения границы сообщения в потоке данных.

  • длина сообщения в октетах, включая заголовок.

Протокол IGRP

Протокол маршрутизации внутренних роутеров (Interior Gateway Routing Protokol-IGRP) является протоколом маршрутизации, разработанным в середине 1980 гг. компанией Cisco Systems, Inc. Главной целью было обеспечение живучего протокола для маршрутизации в пределах автономной системы (AS), имеющей произвольно сложную топологию и включающую в себя носитель с разнообразными характеристиками ширины полосы и задержки.

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

IGRP использует комбинацию (вектор) показателей. Задержка объединенной сети (internetwork delay), ширина полосы (bandwidth), надежность (reliability) и нагрузка (load) - все эти показатели учитываются в виде коэффициентов при принятии маршрутного решения. Администраторы сети могут устанавливать факторы весомости для каждого из этих показателей. IGRP предусматривает широкий диапазон значений для своих показателей.

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

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

Первое поле пакета IGRP содержит номер версии (version number).

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

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

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

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

Поле контрольной суммы (checksum). Вычисление контрольной суммы позволяет принимающему роутеру проверять достоверность входящего пакета.

Характеристики стабильности

IGRP обладает рядом характеристик, предназначенных для повышения своей стабильности. В их число входят :

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

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

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

Таймеры

IGRP обеспечивает ряд таймеров и переменных, содержащих временные интервалы. Сюда входят

  • таймер корректировки (определяет, как часто должны отправляться сообщения о корректировке маршрутов),

  • таймер недействующих маршрутов, определяет, сколько времени должен ожидать роутер при отсутствии сообщений о корректировке какого-нибудь конкретного маршрута, прежде чем об'явить этот маршрут недействующим

  • период времени удерживания изменений

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