Обзор IP маршрутизации
Содержание
- 1 Общая информация
- 2 Характеристики протоколов маршрутизации
- 3 Сравнение протоколов маршрутизации
- 4 Маршрутизация в ECNM
- 5 Дополнительная информация
Общая информация
Маршрутизаторы перенаправляют пакеты к сети-получателю. Чтобы перенаправить пакеты, маршрутизаторы должны знать об этих удалённых сетях и определять наилучший маршрут до них. Они должны также иметь информацию о непосредственно подключённым к их интерфейсам сетях (рассчитывают информацию об адресе подсети исходя из адреса интерфейса и маски). Маршрутизатор узнаёт об удалённой подсети двумя путями:
- Статическая маршрутизация - задаётся вручную администратором;
- Динамическая маршрутизация - маршрутизатор получает информацию от других маршрутизаторов.
Таблица маршрутизации может содержать как каждый в отдельности тип маршрутизации, так и их комбинацию.
On-Demand маршрутизация, ODR (On Demand Routing) - проприетарном решении Cisco, которое позволяет решать проблемы маршрутизации в некоторых специфических случаях без применения протоколов внутренней маршрутизации, таких как RIP/OSPF/ISIS/EIGRP
Характеристики протоколов маршрутизации
Дистанционно-векторные, с маршрутизацией по состоянию канала и гибридные (advanced distance vector routing protocols).
По Алгоритмам
Дистанционно-векторный
- Все маршрутизаторы периодически рассылают свою таблицу маршрутизаии (или её часть) только своим соседям.
- Маршрутизаторы используют полученную информацию для определения того, нужно ли обновлять свою таблицу маршрутизации.
Его можно представить как: «расскажи своим соседям, как выглядит мир». В дистанционно-векторных алгоритмах (DVA) каждый маршрутизатор периодически и широковещательно рассылает по сети вектор, компонентами которого являются расстояния (измеренные в той или иной метрике) от данного маршрутизатора до всех известных ему сетей. Пакеты протоколов маршрутизации обычно называют объявлениями о расстояниях, так как с их помощью маршрутизатор объявляет остальным маршрутизатора известные ему сведения о конфигурации сети.
Получив от некоторого соседа вектор расстояний (дистанций) до известных тому сетей, маршрутизатор наращивает компоненты вектора на величину расстояния от себя до данного соседа. Кроме того, он дополняет вектор информацией об известных ему самому других сетях, о которых он узнал непосредственно (если они подключены к его портам) или из аналогичных объявлений других маршрутизаторов. Обновленное значение вектора маршрутизатор рассылает своим соседям. В конце концов, каждый маршрутизатор узнает через соседние маршрутизаторы информацию обо всех имеющихся в составной сети сетях и о расстояниях до них.
Затем он выбирает из нескольких альтернативных маршрутов к каждой сети тот маршрут, который обладает наименьшим значением метрики. Маршрутизатор, передавший информацию о данном маршруте, отмечается в таблице маршрутизации как следующий (next hop).
Дистанционно-векторные алгоритмы хорошо работают только в небольших сетях. В больших сетях они периодически засоряют линии связи интенсивным трафиком, к тому же изменения конфигурации не всегда корректно могут отрабатываться алгоритмом этого типа, так как маршрутизаторы не имеют точного представления о топологии связей в сети, а располагают только косвенной информацией — вектором расстояний.
Наиболее распространенным протоколом, основанным на дистанционно-векторном алгоритме, является протокол RIP
По состоянию каналов связи
При использовании link-state протокола маршрутизации, каждый маршрутизатор в анонсах маршрутизации отправляет данные о состоянии собственных интерфейсов (линков) всем другим маршрутизаторам (или всем маршрутизаторам в группе/зоне). В процессе обмена информацией с соседними узлами узел получает информацию о топологии сети, при этом обменивается только информацей о происшедших изменениях. Каждый маршрутизатор использует полученную информацию для расчёта лучшего пути к каждой подсети и затем сохраняют эту информацию в таблице маршрутизации.
Гибридные или расширенные дистанционно векторные протоколы
Имеют характеристики двух предыдущих типов. Эти протоколы отправляют только информацию о происшедших изменениях (как в link-state), но только соседним маршрутизаторам (как дистанционно-векторные).
Классовые и бесклассовые
Общая информация
- Обновления маршрутной информации, отправленные классовыми протоколами маршрутизации, не включают информацию о масках подсетей.
- Не поддерживают VLSM
- Обновления маршрутной информации не содержат маску подсети
- Подсети одной классовой сети не анонсируются в другую классовую сеть. Попросту говоря, маршрутизатор суммирует автоматически подсети (autosummarization across the network boundary)и анонсирует их как один маршрут ко всей классовой подсети (см. стр 278 ICND2 русская версия).
- Несмежные (неразделённые) подсети не видны друг другу
- RIPv1 - классовый протокол
- Сеть должна быть непрерывной, и подсети основной сети должны иметь одинаковую маску. Иначе, если подсеть в обновлении имеет другую маску, роутер-получатель занесёт неверную информацию в свою таблицу маршрутизации.
- Обновления маршрутной информации, отправленные безклассовыми протоколами маршрутизации, включают информацию о масках подсетей. RIPv2, EIGRP, OSPF,IS-IS и BGP.
- Поддерживают VLSM.
- Обновления маршрутной информации содержат маску подсети.
- Подсети одной классовой сети анонсируются в другую классовую сеть.
- Суммированием маршрутов можно управлять (в RIPv2 и EIGRP, OSPF и IS-IS не поддерживают автосуммирование).
Суммирование маршрутов в разделённой сети
Разделённая сеть - классовая сеть, в которой пакеты, переданный по крайней мере из одной подсети в другую, должны пройти через подсети другой классовой сети. Т.е. подсети одной классовой сети разделены другой классовой сетью. На границе классовых сетей классовые протоколы RIPv2 и EIGRP (спорно!) по дефолту автоматически суммируют маршруты. Однако, эта функция может быть отключена для них. Но не может быть отключена для RIPv1.
Команда ip classless
Поведение классовых протоколов маршрутизации меняется, когда используется команда ip classless.
Внимание! Команда ip classless по-умолчанию включена в релизах IOS 12.0 и выше!
Если необходимо, чтобы маршрутизатор, на котором запущен протокол RIPv1, использовал стандартный маршрут по умолчанию, когда ему необходимо переслать пакет в неизвестную сеть, нужно использовать команду ip classless, иначе пакет будет уничтожен.
Автосуммирование в RIPv2 и EIGRP
- Выполняют автосуммирование на границе классовых сетей.
- Можно отключить командой no auto-summary.
- Может быть проблемой в разделённых сетях или некоторые подсети, которые попали в общий, проссумированный маршрут, не достижимы маршрутизатором, который анонсировал такой маршрут.
Метрики протоколов маршрутизации
RIPv1 и RIPv2 используются только счётчик хопов для выбора наилучшего маршрута (путь с минимальной метрикой предпочтетельнее). Так как они не учитывают полосу пропускания, RIPv1 и RIPv2 не подходят к сетям, которые имею существенно различающиеся скорости на резервных (redundant) путях. Для сетей, у которых избыточность представлена разными протоколами физического уровня, протоколы маршрутизации должны учитывать полосу пропускания и, возможно, задержу на каналах.
Протокол EIGRP для расчёта метрики использует минимальную полосу пропускания - значение п/п самого узкого места (или стандартное значение, или указанное командой bandwidth) - и сумму задержек на маршруте к сети-назначения. Также могут быть использованы значения надёжности (reliable) и загрузки (load), однако, их стоит применять только при полной уверенности в необходимости, иначе, возможно отрицательное влияние на конвергенцию и образование маршрутных петель.
В протоколах, использующих состояние каналов, для расчёта метрики, таких как OSPF и IS-IS используется совокупная стоимость или метрика (выбирается путь с наименьшей стоимостью). Обычно стоимость отражает полосу пропускания (в OSPF RFC не указано конкретно, что является стоимостью, но в маршрутизаторах Cisco по-умолчанию используется значение, обратно пропорциональное полосе пропускания канала). В результате, чем выше п/п, тем ниже стоимость и тем лучше маршрут. Метрика интерфейса в IS-IS равная по-умолчанию 10, но может быть настроена вручную.
BGP использует множество различных атрибутов для расчёта наилучшего маршрута. Один из них AS-path. Длина этого атрибута - это номер автономной системы, которая должна быть пройдена для достижения пункта назначения и, обычно, это фактор, который влияет на выбор пути. Другой атрибут MED (multiexit discriminator) в Cisco IOS является метрикой (находится в столбце metric в выводе команды show ip bgp).
Критерии по которым добавляются маршруты в таблицу
Наилучший маршрут выбирается исходя из следующих критерий:
- Правильный адрес следующего маршрутизатора (valid nex-hop ip address) - Первым делом маршрут проверяется на правильный адрес следующего хопа.
- Метрика - если следующих хоп правильный, процесс маршрутизации выбирает наилучший маршрут ко всем destination, на основании метрики.
- Административная дистанция - Если в таблице есть более одного маршрута для одной сети, с тем же префиксом, от различных протоколов маршрутизации, маршрутизатор выбирает маршрут исходя из наименьшей административной стоимости.
- Прификс - В таблице могут быть маршруты к одной и тоже подсети, но с разными прификсами. Выбирается маршрут с более конкретным, т.е. более длинным, префиксом.
Плавающие статические маршруты (Floating static routes)
Исходя из административной дистанции маршрутизаторы используют статический маршрут к подсети, если существует и статический, и динамический. Но такое стандартное поведение не всегда требуется. Например, при наличии статического маршрута как запасного, он будет использовать постоянно, даже если доступен динамический маршрут. Поэтому, можно манипулировать параметров distance при задании статического маршрута.
R1(config)# ip route 10.0.0.0 255.0.0.0 172.16.1.2 100 R1(config)# router eigrp 1 R1(config-router)# network 172.17.0.0 R1(config-router)# network 192.168.1.0
R2(config)# ip route 172.17.0.0 255.255.0.0 172.16.1.1 100 R2(config)# router eigrp 1 R2(config-router)# network 10.0.0.0 R2(config-router)# network 192.168.1.0
Сравнение протоколов маршрутизации
Маршрутизация в ECNM
Протоколы маршрутизации неотъемлемая часть любой сети. Хотя рекомендуется использовать один протокол маршрутизации во всей сети, тем не менее, можно использовать и несколько протоколов, если это требуется. ECNM содержит рекомендации по зонам применения различных протоколов, по стыкам зон разных протоколов маршрутизации и объясняет как управляется трафик, проходящий между ними.