Что такое динамическая маршрутизация
Динамическая маршрутизация
3.1. Общие сведения о протоколах динамической маршрутизации
Маршрутизаторы функционируют в сетях с коммутацией пакетов, где все возможные маршруты уже существуют. Процесс прокладывания пути производится либо вручную администратором (статическая маршрутизация ), либо автоматически маршрутизирующим протоколом (динамическая маршрутизация).
Маршрутизаторы, зная информацию о пути к некоторым сетям, обмениваются этой информацией с другими устройствами. После таких обновлений все маршрутизаторы будут иметь согласованную информацию о маршрутах к доступным сетям. Процесс обмена обновлениями реализуют протоколы маршрутизации. Таким образом, протоколы маршрутизации разделяют сетевую информацию между маршрутизаторами.
При изменениях в топологии требуется некоторое время (время сходимости или конвергенции) для согласования информации в таблицах маршрутизации всех маршрутизаторов сети. Время сходимости является важным фактором при выборе протокола маршрутизации.
Протоколы внутренней маршрутизации | Протоколы внешней маршрутизации | |||
---|---|---|---|---|
Вектора расстояния | Состояния канала | Вектора пути | ||
RIP-2 | EIGRP | OSPF | IS-IS | BGP |
Протоколы вектора расстояния определяют расстояние и направление, т.е. вектор соединения в составной сети на пути к адресату. При использовании протокола вектора расстояния маршрутизаторы посылают всю или часть таблицы маршрутизации соседним (смежным) маршрутизаторам. В таких протоколах как RIP и RIP-2 расстояние выражается в количестве переходов (hop count) в соединении на пути от узла источника к адресату назначения. Обмен обновлениями ( update ) или модификациями происходит периодически, даже если в сети нет никаких изменений, на что тратится значительная часть полосы пропускания. Получив обновление маршрутной информации, маршрутизатор может заново вычислить все известные пути и модернизировать таблицу маршрутизации.
Протоколы состояния канала создают полную картину топологии сети и вычисляют кратчайшие пути ко всем сетям назначения. Если путей с одинаковой метрикой несколько, то выбирается первый из вычисленных. Рассылка обновлений маршрутной информации производится только при изменениях топологии сети. Протоколы состояния канала (или соединения) быстрее реагируют на изменения в сети по сравнению с протоколами вектора расстояния, но при этом требуют больших вычислительных ресурсов.
RIP (Routing Information Protocol) | — | протокол маршрутизации на основе вектора расстояния (первая и вторая версии), |
EIGRP (Enhanced Interior Gateway Routing Protocol) | — | расширенный протокол внутренней маршрутизации, |
OSPF (Open Shortest Path First) | — | открытый протокол маршрутизации по состоянию канала. |
Перечисленные протоколы используют разные параметры метрики.
Каждый алгоритм по своему интерпретирует выбор наиболее рационального пути на основе метрики. Обычно меньшее значение метрики соответствует лучшему маршруту. Метрика может базироваться на одном или на нескольких параметрах пути. В протоколах маршрутизации наиболее часто используются следующие параметры метрики:
Полоса пропускания (Bandwidth) | — | способность соединения передавать данные с некоторой скоростью. Например, соединения сети FastEthernet передающие данные со скоростью 100 Мбит/c, предпочтительней каналов Е1 со скоростью 2,048 Мбит/c. |
Задержка (Delay) | — | это длительность времени прохождения пакета от источника до адресата назначения. Задержка зависит от количества промежуточных соединений и их типов, объема буферных устройств маршрутизаторов, сходимости сети и расстояния между узлами. |
Загрузка (Load) | — | определяется количеством информации, загружающей сетевые ресурсы (маршрутизаторы и каналы). Чем больше загрузка, тем больше очереди на обслуживание, тем дольше пакет будет в пути. |
Надежность (Reliability) | — | определяется интенсивностью ошибок на каждом сетевом соединении. |
Количество переходов (Hop count) | — | это количество маршрутизаторов, через которые пакет должен пройти на пути к адресату назначения (число переходов от маршрутизатора к маршрутизатору). |
Стоимость (Cost) | — | обобщенный параметр затрат на передачу пакета к адресату назначения. Иногда стоимость имеет произвольное значение, назначенное администратором. |
Наиболее известным в сети Internet протоколом вектора расстояния (distance-vector) является Routing Information Protocol (RIP), который использует в качестве метрики число переходов ( hop count ) на пути к адресату назначения.
Другим простым протоколом вектора расстояния является Interior Gateway Routing Protocol (IGRP), который был разработан в корпорации Cisco. Для работы в больших сетях на смену ему пришел протокол Enhanced IGRP (EIGRP), который включает много особенностей протоколов как типа link-state, так и distance-vector. Поэтому он, по сути, является гибридным протоколом. Однако разработчики фирмы Cisco относят его к протоколам distance-vector.
Таким образом, протоколы вектора расстоянияRIP характеризуются медленной сходимостью, т.е. длительным временем согласования информации в таблицах маршрутизации при изменениях топологии сети.
Протокол вектора расстояния RIP использует счетчик переходов ( hop count ) в качестве метрики, чтобы определить расстояние до определенного соединения в составной сети. Если существует несколько путей, то RIP выберет путь с наименьшим числом маршрутизаторов или переходов к адресату назначения. Однако выбранный маршрут не всегда является лучшим путем к адресату, поскольку выбранный маршрут с наименьшим числом устройств может характеризоваться меньшей скоростью передачи (более узкой полосой пропускания, меньшей пропускной способностью) по сравнению с альтернативными маршрутами, созданными другими протоколами. Кроме того, RIP не может направлять пакеты далее 15 переходов, поэтому он рекомендован для работы в малых и средних сетях. Рассылка обновлений протоколом первой версии RIPv1 производится в широковещательном режиме ( адрес 255.255.255.255).
Протокол первой версии RIPv1 требует, чтобы все устройства в подсети использовали одинаковую маску подсети, т.к. RIP не включает информацию о маске подсети в обновления маршрутизации. Такой метод получил название маршрутизации на основе классов (classful routing), что ограничивает применение протокола RIPv1 в современных сетях.
Протокол вектора расстояния EIGRP обеспечивает быструю сходимость и малое количество служебной информации, передаваемой в обновлениях (только об изменениях в сети), что экономит полосу пропускания. EIGRP использует ряд функций, применяемые в протоколах состояния канала (link-state). Протоколы EIGRP работают с оборудованием CISCO и не всегда поддерживаются программным обеспечением аппаратуры других фирм. Рассылка обновлений протоколом EIGRP производится в многоадресном режиме ( адрес 224.0.0.10).
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Динамическая маршрутизация
Динамическая маршрутизация, с другой стороны, позволяет избавиться от многих ограничений статической маршрутизации. Основная идея динамической маршрутизации состоит в том, что для передачи информации между маршрутизаторами в сетевой топологии применяется специальный протокол, называемый маршрутизирующим протоколом. Например, рассмотрим сеть, показанную на рис. 1.
Ниже перечислены маршрутизаторы и сети, к которым они подключены, как показано на рис. 1.
Чтобы можно было проще представить, как работают средства динамической маршрутизации, рассмотрим процесс обновления маршрутов на примере сети, описанной выше. На рис. 2 показано, как все маршрутизаторы рассылают свои начальные анонсы по всем другим соседним маршрутизаторам. Поэтому Scully, например, отправляет маршрутизаторам Mulder и Krychek анонс, содержащий информацию об известных ему сетях (в данный момент ему известно о существовании только сетей 1, 3 и 4.)
Перед рассылкой начального анонса (см. рис. 2) маршрутизаторы имели информацию о сетях, перечисленных ниже.
После получения этой информации маршрутизаторы вводят в свои таблицы соответствующие записи и на следующем этапе обновления рассылают новые данные, содержащие уточненный список сетей, как показано на рис. 3. Динамически полученные данные из таблицы маршрутизации показаны курсивом, а в круглых скобках указаны маршрутизаторы, передавшие ту информацию о сетях, которая введена в таблицы.
Ко времени передачи этого второго объявления, известными сетями из числа показанных на рис. 3 были следующие (в круглых скобках показаны маршрутизаторы, от которых получена информация о сети).
Если распределенная сеть находится в установившемся состоянии, то маршрутизаторы имеют следующую информацию о сетях, указанных на рис. 4 (в круглых скобках показаны маршрутизаторы, от которых получена информация о сети).
Рассмотрим предназначение маршрутизирующих протоколов:
Эти цели являются одинаковыми для всех маршрутизирующих протоколов, независимо от используемого алгоритма маршрутизации.
Маршрутизирующие протоколы обычно классифицируются по типу применяемых в них алгоритмов. Ниже перечислены три основных алгоритма, применяемых в маршрутизирующих протоколах, наряду с кратким описанием каждого из них.
Содержание
Дистанционно-векторный алгоритм
Алгоритм маршрутизации с учетом состояния каналов
Протоколы маршрутизации с учетом состояния каналов основаны на использовании алгоритма SPF (Shortest Path First — первоочередный выбор кратчайшего пути) Дейкстры (Dijkstra) и действуют немного иначе, чем дистанционно-векторные протоколы. По сути протоколы маршрутизации с учетом состояния каналов формируют «схему» распределенной сети, поэтому изначально позволяют получить лучшее представление о том, где что находится, по сравнению с дистанционно-векторными протоколами. Благодаря такому преимуществу протоколы маршрутизации с учетом состояния каналов являются наиболее развитыми и сложными, но в связи с этим их также намного сложнее понять и реализовать должным образом. Алгоритмы маршрутизации с учетом состояния каналов используются лишь в очень немногих маршрутизирующих протоколах.
Сбалансированный гибридный алгоритм
Такое название применяется в компании Cisco для обозначения алгоритма маршрутизации, применяемого в протоколе EIGRP. Применение для данных алгоритмов названия «сбалансированные гибридные» основано на том, что они воплощают в себе свойства и дистанционно-векторных алгоритмов маршрутизации, и алгоритмов маршрутизации с учетом состояния каналов. Например, хотя по существу в основе протокола EIGRP лежит дистанционно-векторный алгоритм, этот протокол предусматривает передачу дополнительной информации о топологии для формирования «схемы» распределенной сети, как предусмотрено алгоритмом маршрутизации с учетом состояния каналов.
Проведем простую аналогию, позволяющую понять различия между основными тремя типами алгоритмов маршрутизации. Предположим, что сетевой пакет — это путешественник, заблудившийся в пустыне, который ходит кругами в поисках воды и внезапно обнаруживает на своем пути развилку дорог. Если бы этот путешественник действовал на основе дистанционно-векторного протокола, то прочитал бы указатель с надписью «К воде ведет эта дорога» и последовал за ним, не думая о том, что кто-то мог просто позабавиться и переставить указатель. А если бы этот путешественник руководствовался протоколом с учетом состояния каналов, то вначале занялся бы составлением подробной схемы дорог и (в конечном итоге) нашел правильный маршрут. С другой стороны, если бы путешественник действовал в соответствии со сбалансированным гибридным протоколом, то не только составлял бы схему, но и старался скорее найти правильный маршрут. Маршрутизирующие протоколы подразделяются не только по своим алгоритмам, но и по своему назначению: они могут принадлежать либо к категории протоколов внутреннего шлюза (Interior Gateway Protocol — IGP), либо к категории протоколов внешнего шлюза (EGP).
Протоколы IGP обычно способны поддерживать должным образом только сети ограниченных размеров (хотя после небольшой настройки некоторые из них приобретают способность поддерживать довольно крупные сети) и поэтому они, как правило, намного проще по сравнению с протоколами EGP, способными поддерживать очень большие сети. Протоколы IGP предназначены для маршрутизации трафика внутри автономных систем (Autonomous System — AS). Термин «автономная система» — это просто замысловатый способ обозначения распределенной сети, которая находится под управлением одного административного органа. К категории автономных систем относятся все локальные сети и таковой же является большая часть корпоративных распределенных сетей. Но сама Internet представляет собой совокупность сетей, состоящую из множества автономных систем.
Интернет технологии (архив ИПМ 2001-2010, Богомолов)
14.1 Динамическая маршрутизация.
Сопровождая большие сети с большим количеством маршрутизаторов, становится сложно заполнять таблицы маршрутов, и особенно их оперативно менять, если, к примеру, какой то из каналов не работает.
Для создания динамической маршрутизации необходимо, что бы маршрутизаторы сами обменивались маршрутной информацией. Для этого были созданы специальные протоколы.
Динамические протоколы делят на две группы:
Первый стандарт RIP RFC1058 (Routing Information Protocol C.L. Hedrick Jun-01-1988).
Последняя версия RIPv2 RFC2453 (RIP Version 2 G. Malkin November 1998).
Используется транспортный протокол UDP.
Порт сервера по умолчанию 520.
Маршрут характеризуется вектором расстояния до места назначения.
Описания собранных маршрутов хранятся в таблице маршрутов (не путать с таблицей маршрутизации), из которой потом выбирается наилучший маршрут и помещается в таблицу маршрутизации, ее еще называют первичной таблицей маршрутизации.
Таблица маршрутов должна содержать для каждого маршрута:
IP-адрес места назначения (направление вектора).
Метрика маршрута (от 1 до 15; число шагов до места назначения, модуль вектора).
IP-адрес ближайшего маршрутизатора по пути к месту назначения.
Флаг, что маршрутная информация была изменена.
Различные таймеры маршрута. (например, актуальности информации)
Формат сообщения RIPv2
command | Значения | Значение (перевод) |
1 | request | Запрос на получение маршрутной таблицы |
2 | response | Ответ, содержащий маршрутную таблицу отправителя |
Например, маршруты, импортированные от EGP или BGP, могут иметь номер Автономной Системы, из которой маршруты были изучены.
Запрос «Аутентификация». Когда демон стартует, он посылает запрос к маршрутизаторам прислать таблицы маршрутизации. Запрос рассылается широковещательными сообщениями. Формат запроса см. ниже.
Запрос принят.
— Если был запрос «Аутентификация» отправляется полная таблица маршрутизации.
— Иначе обрабатывается каждый пункт в запросе: если присутствует маршрут на указанный адрес, показатель устанавливается в определенное значение, иначе показатель устанавливается в 16. (Показатель, установленный в 16, это специальное значение, которое означает «бесконечно» (infinity) и сообщает, что маршрута к этому пункту назначения не существует.) Возвращается ответ.
Ответ принят. Если ответ признан корректным, таблица маршрутизации может быть обновлена. Могут быть добавлены новые записи, существующие записи могут быть модифицированы или удалены. При этом timeout-timer (тайм-аут) выставляется =180 сек. По истечении запись, становится не активной на 120 сек (garbage-collection timer). По истечении 120 сек, запись удаляется и в регулярном обновлении запись рассылается с метрикой =16, т.е. на удаление.
Незапланированное обновление. Происходит в том случае, если изменяется метрика маршрута. В этом случае нет необходимости посылать таблицу маршрутизации целиком, передается только та запись, которая была изменена.
Формат сообщения аутентификации RIPv2
14.2.2 Недостатки RIP
Ограничение в 16 хопов. Фактически ограничивает количество сетей.
Медленная реакция на изменение сети. При этом могут возникнуть циклические маршруты.
Самый короткий маршрут может быть перегружен (медленным).
Сообщение OSPF инкапсулируется прямо в IP пакет (поле данных), т.е. протоколы транспортного уровня не используются.
Поле protocol = 89 (в заголовке IP).
Основные достоинства OSPF.
Отсутствие ограничения на размер сети.
Автономная система может быть поделена на области маршрутизации.
Высокая скорость установления маршрутов.
Каждому интерфейсу может быть назначена метрика на основании
— пропускной способности
— времени возврата
— надежности
— загруженности (очередь пакетов)
— размера максимального блока данных, который может быть передан через канал.
Отдельная цена может быть назначена для каждого типа сервиса IP.
Если маршруты имеют одинаковую цену, OSPF распределяет траффик поровну между этими маршрутами. Это называется балансировкой нагрузки (Load balancing).
Поддерживает подсети (маску).
Используется групповая (multicast) адресация вместо широковещательной.
14.3.1 Области маршрутизации OSPF
Автономная система может быть поделена на области маршрутизации, в пределах области может работать свой протокол маршрутизации.
Построение сети с помощью OSPF.
14.3.2.1 Формат заголовка сообщения OSPF
Формат заголовка сообщения OSPF
TYPE | Значения | Значение (перевод) |
1 | Hello | Используется для проверки доступности маршрутизатора |
2 | Database Description | Описание базы данных (топология). |
3 | Link State Request | Запрос состояния канала. |
4 | Link State Update | Изменение состояния канала. |
5 | Link State Acknowledgment | Подтверждение получения сообщения о статусе канала. |
TYPE | Значения | Значение (перевод) |
0 | Null authentication | Аутентификация не используется |
1 | Simple password | Простой пароль |
2 | Cryptographic authentication | Криптографическая аутентификация |
All others | All others Reserved for assignment by the IANA | Зарезервировано IANA |
14.2.2.2 Тип сообщения Hello
Это основной тип сообщений.
Для рассылки используется групповой адрес 224.0.0.5 (ALL-OSPF-Routers).
Выполняет следующие функции:
Поиск соседних маршрутизаторов.
Выбор маршрутизаторов DR и BDR.
Определение статуса канала.
Установление партнерских отношений между маршрутизаторами.
Формат сообщения Hello
14.3.2.3 Тип сообщения Database Description
Маршрутизаторы обмениваются данными из баз данных OSPF.
Формат сообщения Database Description
14.3.2.4 Тип сообщения Link State Request
Запрос части базы данных для обновления.
Формат сообщения Link State Request
14.3.2.5 Тип сообщения Link State Update
Передача части базы данных, которая была запрошена.
Формат сообщения Link State Update. Каждый LSA начинается с 20 байтного заголовка описанного выше.
14.3.2.6 Тип сообщения Link State Acknowledgment
Используется для подтверждения получения фрагмента базы данных.
Формат сообщения Link State Acknowledgment
14.3.3 Уведомление о состоянии канала
14.3.3.1 Формат заголовка LSA
Типы уведомлений LSA
TYPE | Значения | Описание |
1 | Router-LSAs | описание состояния интерфейсов маршрутизатора |
2 | Network-LSAs | описание набора маршрутизаторов подключенных к сети |
3 | Summary-LSAs (IP network) | сводная информация о каналах к сетям, рассылает граничный маршрутизатор области внутри своей области |
4 | Summary-LSAs (ASBR) | сводная информация о канале к граничному маршрутизатору автономной системы, рассылается граничным маршрутизатором области внутри своей области |
5 | AS-external-LSAs | описания внешних каналов автономной системы |
Формат поля Options
Коды типа сервиса (TOS)
OSPF-код | TOS-код | Значения (RFC-1349) | Значения (перевод) |
0 | 0000 | normal service | Обычный сервис |
2 | 0001 | minimize monetary cost | Минимизация денежной стоимости |
4 | 0010 | maximize reliability | Максимальная надежность |
6 | 0011 | ||
8 | 0100 | maximize throughput | Максимальная пропускная способность |
10 | 0101 | ||
12 | 0110 | ||
14 | 0111 | ||
16 | 1000 | minimize delay | Минимальная задержка |
18 | 1001 | ||
20 | 1010 | ||
22 | 1011 | ||
24 | 1100 | ||
26 | 1101 | ||
28 | 1110 | ||
30 | 1111 |
14.3.3.1 Формат Router-LSAs
описание состояния интерфейсов маршрутизатора.
Коды типов связей, поле Type
Код типа связи | Значения | Значения (перевод) |
1 | Point-to-point connection to another router | Связь с другим маршрутизатором по схеме точка-точка |
2 | Connection to a transit network | Связь с транзитной сетью |
3 | Connection to a stub network | Связь с оконечной сетью |
4 | Virtual link | Виртуальная связь (например, опорная сеть или туннель) |
Идентификаторы канала, поле Link ID, что используется для ID в зависимости от типа связи, поле Type
Код типа связи | Значения Link ID | Значения (перевод) |
1 | Neighboring router’s Router ID | Для ID используется идентификатор соседнего маршрутизатора |
2 | IP address of Designated Router | Для ID используется IP-адрес ответственного маршрутизатора |
3 | IP network/subnet number | Для ID используется IP-адрес сети/субсети |
4 | Neighboring router’s Router ID | Для ID используется идентификатор соседнего маршрутизатора |
/b table6td align=center height=Дополнительная специальная TOS-информация может быть включена, для обратной совместимости с предыдущими версиями OSPF. Для каждой связи и для каждого TOS, специальныя TOS-информация может кодироваться следующим образом:
14.3.3.2 Формат Network-LSAs
описание набора маршрутизаторов подключенных к сети
14.3.3.3 Формат Summary-LSAs
сводная информация о каналах к сетям, рассылает граничный маршрутизатор области внутри своей области.
сводная информация о канале к граничному маршрутизатору автономной системы, рассылается граничным маршрутизатором области внутри своей области.
14.3.3.4 Формат AS-external-LSAs
описания внешних каналов автономной системы.
14.3.4 Маршрутная таблица OSPF
Маршрутная таблица OSPF содержит в себе:
IP-адрес места назначения и маску;
тип места назначения (сеть, граничный маршрутизатор и т.д.);
тип функции (возможен набор маршрутизаторов для каждой из функций TOS);
область (описывает область, связь с которой ведет к цели, возможно несколько записей данного типа, если области действия граничных маршрутизаторов перекрываются);
тип пути (характеризует путь как внутренний, межобластной или внешний, ведущий к AS);
цена маршрута до цели;
очередной маршрутизатор, куда следует послать дейтограмму;
объявляющий маршрутизатор (используется для межобластных обменов и для связей автономных систем друг с другом).
Подключится к демону OSPF, можно с помощью telnet по порту 2604, и просмотреть базу.
Реальная база OSPF. Видно, что только одна область (0.0.0.0).
14.3.4 Маршрутная таблица в Linux составленная OSPF
Динамическая таблица (linux) маршрутизации составленная протоколом OSPF