Протокол IP : IP-маршрутизация

Выбор маршрута в маршрутизаторах Cisco

21 мая 2008 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (2 января 2008) | Отзыв

Содержание

Введение
Предварительные условия
      Требования
      Используемые компоненты
      Условные обозначения
Связанные процессы
Построение таблицы маршрутизации
      Резервные маршруты
      Настройка административного расстояния
      Как метрики влияют на процесс выбора маршрута
      Длины префиксы
Принятие решений о переадресации
      IP Classless
Выводы
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Введение

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

Предварительные условия

Требования

Для данного документа нет особых предварительных условий.

Используемые компоненты

Данный документ не ограничивается отельными версиями программного и аппаратного обеспечения.

Условные обозначения

Дополнительные сведения об условных обозначениях см. в документе Технические рекомендации Cisco. Условные обозначения.

Связанные процессы

При создании и ведении таблицы маршрутизации в маршрутизаторе Cisco используются три процесса.

  • Различные процессы маршрутизации, на основе которых работает сетевой протокол (или протокол маршрутизации), например EIGRP (Enhanced Interior Gateway Routing Protocol ), BGP (Border Gateway Protocol), IS-IS (Intermediate System-to-Intermediate System) или OSPF (Open Shortest Path First).

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

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

Чтобы понять, как происходит построение таблицы маршрутизации, рассмотрим взаимодействие между протоколами маршрутизации и таблицей маршрутизации

Построение таблицы маршрутизации

Основные соображения, которые учитываются при построении маршрутной таблицы:

  • Административное расстояние — это мера надежности источника маршрута. Если маршрутизатор получает данные о назначении из нескольких протоколов маршрутизации, их административные расстояния сравниваются и преимущество получают маршруты с меньшим административным расстоянием. Другими словами, это степень доверия источнику маршрута.

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

  • Длина префикса

Когда процессы маршрутизации получают обновления и другие данные, они выбирают наилучший путь к указанному месту назначения и предпринимает попытку установить этот путь в таблицу маршрутизации. Например, если протокол EIGRP получает данные о пути к сети 10.1.1.0/24 и определяет этот путь как наилучший, он пытается установить этот путь в таблицу маршрутизации.

Маршрутизатор принимает решение об установке маршрутов, представленных процессами маршрутизации, основываясь на административном расстоянии маршрута. Путь с наименьшим административным расстоянием до места назначения (по сравнению с другими маршрутами таблицы), устанавливается в таблицу маршрутизации. Если этот маршрут не является маршрутом с лучшим административным расстоянием, он отклоняется.

Чтобы лучше понять этот процесс, рассмотрим пример. Предположим, что в маршрутизаторе работает 4 процесса маршрутизации — EIGRP, OSPF, RIP и IGRP. Все 4 процесса получили данные о различных маршрутах к сети 192.168.24.0/24, и каждый выбрал наилучший путь к этой сети, используя внутренние метрики и процессы.

Каждый из четырех процессов пытается установить свой маршрут к сети 192.168.24.0/24 в таблицу маршрутизации. Каждому из процессов маршрутизации назначено административное расстояние, которое используется для принятия решения об установке маршрута.

Административные расстояния по умолчанию

Подключенное

0

Статическое

1

eBGP

20

EIGRP (внутренний)

90

IGRP

100

OSPF

110

IS-IS

115

RIP

120

EIGRP (внешний)

170

iBGP

200

Суммарный маршрут EIGRP

5

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

Резервные маршруты

Что другие протоколы — RIP, IGRP и OSPF — делают с неустановленными маршрутами? Что происходит, если оптимальный маршрут, полученный от протокола EIGRP, недоступен? ПО Cisco IOS® использует два похода к решению этой проблемы. Первый заключается в том, что каждый процесс маршрутизации периодически пытается установить свои лучшие маршруты. Если наиболее предпочтительный маршрут недоступен, во время следующей попытки будет выбран маршрут, следующий по приоритету (в соответствии с административным расстоянием). Другое решение — протокол маршрутизации, которому не удалось установить маршрут в таблицу, должен удерживать этот маршрут. При этом таблица маршрутизации должна сообщить, если лучший маршрут даст сбой.

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

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

Изменение административного расстояния

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

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

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

Чтобы изменить расстояние для статических маршрутов, введите нужное расстояние после следующей команды ip route:

ip route network subnet mask next hop distance

Изменить расстояние для всех статических маршрутов одновременно нельзя.

Как метрики влияют на процесс выбора маршрута

Маршруты выбираются и встраиваются в таблицу маршрутизации на основе административного расстояния протокола маршрутизации. Маршруты с наименьшим административным расстоянием, полученные от протокола маршрутизации, устанавливаются в таблицу маршрутизации. Если к одному месту назначения существует несколько путей, основанных на одном протоколе маршрутизации, эти будут иметь одинаковые административные расстояния. В этом случае оптимальный путь будет выбираться на основе метрики. Метрики — это значения, привязанные к определенным маршрутам, и классифицирующие их от наиболее предпочтительных до наименее предпочтительных. Параметры, используемые для расчета метрик, зависят от протокола маршрутизации. Путь с самой низкой метрикой выбирается в качестве оптимального пути и устанавливается в таблицу маршрутизации. Если к одному месту назначения существует несколько путей с одинаковыми метриками, нагрузка распределяется по этим путям. Дополнительные сведения о распределении нагрузки см. в документе Как работает распределение нагрузки?.

Длины префиксов

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

  • EIGRP (внутренний): 192.168.32.0/26

  • RIP: 192.168.32.0/24

  • OSPF: 192.168.32.0/19

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

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

Принятие решений о переадресации

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

router# show ip route
     ....
     D   192.168.32.0/26 [90/25789217] via 10.1.1.1
     R   192.168.32.0/24 [120/4] via 10.1.1.2
     O   192.168.32.0/19 [110/229840] via 10.1.1.3
     ....

Если пакет прибывает на интерфейс маршрутизатора с адресом назначения 192.168.32.1, какой маршрут выберет маршрутизатор? Это зависит от длины префикса или количества бит, установленного в маске подсети. При переадресации пакета более длинным префиксам всегда отдается предпочтение над короткими.

В этом примере, пакет, отправленный по адресу 192.168.32.1 направляется в сеть 10.1.1.1, так как адрес 192.168.32.1 находится в сети 192.168.32.0/26 (192.168.32.0–192.168.32.63). Адресу соответствуют еще два доступных маршрута, но маршрут 192.168.32.0/26 имеет самый длинный префикс в таблице маршрутизации (26 бит против 24 и 19 бит).

Аналогично, если пакет, отправленный по адресу 192.168.32.100, прибывает на один из интерфейсов маршрутизатора, он перенаправляется по адресу 10.1.1.2, поскольку адрес 192.168.32.100 не попадает в сеть 192.168.32.0/26 (192.168.32.0–192.168.32.63), но попадает в сеть назначение 192.168.32.0/24 (192.168.32.0–192.168.32.255). И снова он попадает в диапазон сети 192.168.32.0/19, но сеть 192.168.32.0/24 имеет более длинный префикс.

IP Classless

При использовании команды конфигурации ip classless процессы маршрутизации и переадресации становятся довольно запутанными. В реальности команда "IP classless" влияет только на работу процессов переадресации IOS, но не влияет на построение таблицы маршрутизации. Если функция "IP classless" не настроена (с помощью команды no ip classless), маршрутизатор не будет переадресовать пакеты в подсети. Для примера снова поместим три маршрута в таблицу маршрутизации и проведем пакеты через маршрутизатор.

Примечание.  Если суперсеть или маршрут по умолчанию получены от протоколов IS-IS или OSPF, команда конфигурации no ip classless игнорируется. В этом случае режим коммутация пакетов работает так, как если бы команда ip classless была настроена.

router# show ip route
....
     172.30.0.0/16 is variably  subnetted, 2 subnets, 2 masks
D        172.30.32.0/20 [90/4879540] via  10.1.1.2
D       172.30.32.0/24  [90/25789217] via 10.1.1.1
S*   0.0.0.0/0 [1/0] via 10.1.1.3  

Помня о том, что сеть 172.30.32.0/24 включает адреса с 172.30.32.0 по 172.30.32.255, а сеть 172.30.32.0/20 включает адреса с 172.30.32.0 по 172.30.47.255, мы можем выполнить коммутацию трех пакетов с использованием этой таблицы маршрутизации и проанализировать результаты.

  • Пакет, направленный по адресу 172.30.33.1, переадресуются на 10.1.1.2, так как этот маршрут имеет наибольший префикс.

  • Пакет, направленный по адресу 172.30.33.1, переадресуются на 10.1.1.2, так как этот маршрут имеет наибольший префикс.

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

  • Пакет, отправленный по адресу 172.30.254.1, отбрасывается.

Удивительно, что из этих четырех пакетов был отброшен последний. Он отброшен потому, что адрес места назначения 172.30.254.1 находится внутри известной основной сети 172.30.0.0/16, но маршрутизатор не знает об отдельной подсети внутри этой основной сети.

На этом основана маршрутизация типа classful. Если часть основной сети известна, но подсеть этой основной сети, для которой предназначен пакет, неизвестна, пакет отбрасывается.

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

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

21a.gif

Маршрутизатор удаленного узла настраивается следующим образом:

interface Serial 0
     ip address 10.1.2.2 255.255.255.0
   !
   interface Ethernet 0
     ip address 10.1.1.1 255.255.255.0
   !
   ip route 0.0.0.0 0.0.0.0 10.1.2.1
   !
   no ip classless

В такой конфигурации узлы на удаленном узле могут достичь назначения через Интернет (через облако 10.x.x.x), но не назначений в облаке 10.x.x.x, которое является корпоративной сетью. Поскольку удаленный маршрутизатор имеет данные о части сети 10.0.0.0/8 и двух подсетях с прямым подключением, но ничего не знает о другой подсети 10.x.x.x, он предполагает, что другие подсети диапазона не существуют, и отбрасывает пакеты, которые в них направлены. Однако назначение трафика, направленного в Интернет не находится в диапазоне адресов 10.x.x.x и поэтому корректно направляется в маршрут по умолчанию.

Настройка команды ip classless на удаленном маршрутизаторе устраняет эту проблему. Она позволяет удаленному маршрутизатору игнорировать границы сетей classful в таблице маршрутизации и просто выбирать маршрут с наибольшей длиной префикса.

Выводы

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

21b.gif

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


Связанные обсуждения сообщества поддержки Cisco

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


Дополнительные сведения


Document ID: 8651