Протоколы маршрутизации
Крупные объединенные компьютерные сети состоят из множества физических сетей, которые связываются между собой с помощью маршрутизаторов. Автономной системой 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
Версия | OP Code | Редакция | Номер | AS | |||
№ внешнего маршрута | № системного маршрута | ||||||
№ внешнего маршрута | Контрольная сумма | ||||||
Расстояние | Задержка | ||||||
Вх1 | Задержка | Полоса | |||||
Полоса | MTU | Надежность | |||||
Загрузка | Счетчик шагoв | Вх2 | |||||
Рисунок 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 является только внутренним протоколом.
Дата добавления: 2015-02-16; просмотров: 4440;