Как открыть таблицу маршрутизации cisco
Перейти к содержимому

Как открыть таблицу маршрутизации cisco

  • автор:

Cisco: Настройка статических маршрутов

img

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

Статические сетевые маршруты

IOS позволяет назначать отдельные статические маршруты с помощью команды глобальной конфигурации ip route. Каждая команда ip route определяет пункт назначения, который может быть сопоставлен, обычно с идентификатором подсети и маской. Команда также перечисляет инструкции пересылки, обычно перечисляя либо исходящий интерфейс, либо IP-адрес маршрутизатора следующего перехода. Затем IOS берет эту информацию и добавляет этот маршрут в таблицу IP-маршрутизации.

Статический маршрут считается сетевым, когда пункт назначения, указанный в команде ip route, определяет подсеть или всю сеть класса A, B или C. Напротив, маршрут по умолчанию соответствует всем IP-адресам назначения, а маршрут хоста соответствует одному IP-адресу (то есть адресу одного хоста).

В качестве примера сетевого маршрута рассмотрим рисунок 1. На рисунке показаны только детали, относящиеся к статическому сетевому маршруту на R1 для подсети назначения 172.16.2.0/24, которая находится справа. Чтобы создать этот статический сетевой маршрут на R1, R1 настроит идентификатор и маску подсети, а также либо исходящий интерфейс R1 (S0/0/0), либо R2 в качестве IP-адреса маршрутизатора следующего перехода (172.16.4.2).

Концепция конфигурации статического маршрута

Схема сети устанавливает соединение между двумя маршрутизаторами R1, R2 и двумя хостами 1 и 2. Порт G0/0 .1 R1 подключен к шлейфу слева, который, в свою очередь, подключен к хосту 1, имеющему подсеть 172.16. 1.9. Интерфейс S0/0/0 R1 последовательно подключен к R2 с IP-адресом 172.16.4.2. Интерфейс G0/0.2 на R2 подключен к шлейфу, который, в свою очередь, подключен к хосту 2 с IP-адресом 172.16.2.0.9. Здесь маршрутизатор R1 предназначен для адреса 172.16.2.0/24 в подсети. Пакеты должны перемещаться либо с интерфейса S0/0/0 маршрутизатора R1, либо с маршрутизатора R2 с IP-адресом 172.16.2.0/24.

В примере 1 показана конфигурация двух примеров статических маршрутов. В частности, он показывает маршруты на маршрутизаторе R1 на рисунке 2 для двух подсетей в правой части рисунка.

Пример сети, используемой в примерах конфигурации статического маршрута

При настройке сети маршрутизатор R1 имеет соединение с двумя маршрутизаторами R2 и R3 справа. Интерфейс G0/0 .1 маршрутизатора R1 подключен к заглушке слева и, в свою очередь, подключен к хосту A, имеющему подсеть 172.16.1.9 с маской подсети 172.16.1.0 /24. Справа-интерфейс S0/0/1.1 из R1 с маской подсети 172.16.4.0 / 24 подключается к интерфейсу S0/0/1.2 из R2 с маской подсети 172.16.2.0 / 24 через последовательную линию. Кроме того, интерфейс G0/1/ 0.1 из R1 с маской подсети 172.16.5.0 / 24 подключается к интерфейсу G0/0/0 .3 из R3 с маской подсети 172.16.3.0 / 24 через глобальную сеть. Заглушка подключается к интерфейсу G0/0 .2 из R2, где маска подсети равна 172.16.2.0 / 24 и, в свою очередь, подключена к хосту B, имеющему подсеть 172.16.2.9. Заглушка подключается к интерфейсу G0/0 .3 из R3, где маска подсети равна 172.16.3.0 / 24 и, в свою очередь, подключена к хосту C, имеющему подсеть 172.16.3.9.

ip route 172.16.2.0 255.255.255.0 S0/0/0 ip route 172.16.3.0 255.255.255.0 172.16.5.3

Пример 1 Добавление статических маршрутов в R1

В двух примерах команд ip route показаны два разных стиля инструкций пересылки. Первая команда показывает подсеть 172.16.2.0, маска 255.255.255.0, которая находится в локальной сети рядом с маршрутизатором R2. Эта же первая команда перечисляет интерфейс S0 / 0/0 маршрутизатора R1 как исходящий интерфейс. Этот маршрут в основном гласит: Чтобы отправить пакеты в подсеть с маршрутизатора R2, отправьте их через мой собственный локальный интерфейс S0/0/0 (который подключается к R2).

Второй маршрут имеет такую же логику, за исключением использования различных инструкций пересылки. Вместо того, чтобы ссылаться на исходящий интерфейс R1, он вместо этого перечисляет IP-адрес соседнего маршрутизатора на WAN-канале в качестве маршрутизатора следующего прыжка. Этот маршрут в основном говорит следующее:чтобы отправить пакеты в подсеть с маршрут.

Маршруты, созданные этими двумя командами ip route, на самом деле выглядят немного иначе в таблице IP-маршрутизации по сравнению друг с другом. Оба являются статическими маршрутами. Однако маршрут, который использовал конфигурацию исходящего интерфейса, также отмечается как подключенный маршрут; это всего лишь причуда вывода команды show ip route .

В примере 2 эти два маршрута перечислены с помощью статической команды show ip route. Эта команда выводит подробную информацию не только о статических маршрутах, но также приводит некоторые статистические данные обо всех маршрутах IPv4. Например, в этом примере показаны две строки для двух статических маршрутов, настроенных в примере 2, но статистика утверждает, что этот маршрутизатор имеет маршруты для восьми подсетей.

Использование команды show ip route

IOS динамически добавляет и удаляет эти статические маршруты с течением времени в зависимости от того, работает исходящий интерфейс или нет. Например, в этом случае, если интерфейс R1 S0/0/0 выходит из строя, R1 удаляет статический маршрут к 172.16.2.0/24 из таблицы маршрутизации IPv4. Позже, когда интерфейс снова открывается, IOS добавляет маршрут обратно в таблицу маршрутизации.

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

Наконец, обратите внимание, что статические маршруты, которые будут отправлять пакеты через интерфейс Ethernet — LAN или WAN, — должны использовать параметр IP-адреса следующего перехода в команде ip address, как показано в примере 2. Маршрутизаторы ожидают, что их интерфейсы Ethernet смогут достичь любого количества других IP-адресов в подключенной подсети. Ссылка на маршрутизатор следующего перехода определяет конкретное устройство в подключенной подсети, а ссылка на исходящий интерфейс локального маршрутизатора не определяет конкретный соседний маршрутизатор.

Статические маршруты хоста

Ранее в этой лекции маршрут хоста определялся как маршрут к одному адресу хоста. Для настройки такого статического маршрута команда ip route использует IP-адрес плюс маску 255.255.255.255, чтобы логика сопоставления соответствовала только этому одному адресу.

Сетевой администратор может использовать маршруты хоста для направления пакетов, отправленных одному хосту по одному пути, а весь остальной трафик — в подсеть этого хоста по другому пути. Например, вы можете определить эти два статических маршрута для подсети 10.1.1.0 / 24 и Хоста 10.1.1.9 с двумя различными адресами следующего перехода следующим образом:

ip route 10.1.1.0 255.255.255.0 10.2.2.2 ip route 10.1.1.9 255.255.255.255 10.9.9.9

Обратите внимание, что эти два маршрута перекрываются: пакет, отправленный в 10.1.1.9, который поступает на маршрутизатор, будет соответствовать обоим маршрутам. Когда это происходит, маршрутизаторы используют наиболее конкретный маршрут (то есть маршрут с наибольшей длиной префикса). Таким образом, пакет, отправленный на 10.1.1.9, будет перенаправлен на маршрутизатор следующего прыжка 10.9.9.9, а пакеты, отправленные в другие пункты назначения в подсети 10.1.1.0/24, будут отправлены на маршрутизатор следующего прыжка 10.2.2.2.

Плавающие статические маршруты

Затем рассмотрим случай, когда статический маршрут конкурирует с другими статическими маршрутами или маршрутами, изученными протоколом маршрутизации. То есть команда ip route определяет маршрут к подсети, но маршрутизатор также знает другие статические или динамически изученные маршруты для достижения этой же подсети. В этих случаях маршрутизатор должен сначала решить, какой источник маршрутизации имеет лучшее административное расстояние, а чем меньше, тем лучше, а затем использовать маршрут, полученный от лучшего источника.

Чтобы увидеть, как это работает, рассмотрим пример, проиллюстрированный на рисунке 3, который показывает другую конструкцию, чем в предыдущих примерах, на этот раз с филиалом с двумя каналами WAN: одним очень быстрым каналом Gigabit Ethernet и одним довольно медленным (но дешево) Т1. В этом проекте сеть Open Shortest Path First Version 2 (OSPFv2) по первичному каналу, изучая маршрут для подсети 172.16.2.0/24. R1 также определяет статический маршрут по резервному каналу к той же самой подсети, поэтому R1 должен выбрать, использовать ли статический маршрут или маршрут, полученный с помощью OSPF.

Использование плавающего статического маршрута к ключевой подсети 172.16.2.0/24

Сетевая диаграмма показывает интерфейс G0 / 0 маршрутизатора R1, который подключен к маршрутизатору R2 через ethernet через облако MPLS. Интерфейс S0 / 0 / 1 R1 соединен с маршрутизатором R3 по последовательной линии. R2 и R3 соединены в ядре облака корпоративной сети, имеющего подсеть 172.16.2.0/24. Маршрутизатор R1 достигает подсети либо по OSPF v1 по основному каналу, либо по статическому маршруту по резервному каналу.

По умолчанию IOS отдает предпочтение статическим маршрутам, чем маршрутам, изученным OSPF. По умолчанию IOS предоставляет статическим маршрутам административное расстояние 1, а маршрутам OSPF-административное расстояние 110. Используя эти значения по умолчанию на рисунке 3, R1 будет использовать T1 для достижения подсети 172.16.2.0 / 24 в этом случае, что не является удачным решением. Вместо этого сетевой администратор предпочитает использовать маршруты, изученные OSPF, по гораздо более быстрому основному каналу и использовать статический маршрут по резервному каналу только по мере необходимости, когда основной канал выходит из строя.

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

Чтобы реализовать плавающий статический маршрут, вам необходимо использовать параметр в команде ip route, который устанавливает административное расстояние только для этого маршрута, делая значение больше, чем административное расстояние по умолчанию для протокола маршрутизации. Например, команда ip route 172.16.2.0 255.255.255.0 172.16.5.3 130 на маршрутизаторе R1 будет делать именно это — установив административное расстояние статического маршрута равным 130. Пока основной канал остается активным, а OSPF на маршрутизаторе R1 изучает маршрут для 172.16.2.0/24, с административным расстоянием по умолчанию 110, R1 игнорирует статический маршрут.

Наконец, обратите внимание, что хотя команда show ip route перечисляет административное расстояние большинства маршрутов в виде первого из двух чисел в двух скобках, команда show ip route subnet явно указывает административное расстояние. В примере 3 показан образец, соответствующий этому последнему примеру.

Отображение административного расстояния статического маршрута

Статические маршруты по умолчанию

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

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

Классический пример, когда компании могут использовать статические маршруты по умолчанию в своих корпоративных сетях TCP / IP, — это когда компания имеет много удаленных узлов, каждый из которых имеет одно относительно медленное WAN-соединение. Каждый удаленный узел имеет только один возможный физический маршрут для отправки пакетов в остальную часть сети. Таким образом, вместо использования протокола маршрутизации, который отправляет сообщения по глобальной сети и использует драгоценную полосу пропускания глобальной сети, каждый удаленный маршрутизатор может использовать маршрут по умолчанию, который направляет весь трафик на центральный сайт, как показано на рисунке 4.

Пример использования статических маршрутов по умолчанию на 1000 низкоскоростных удаленных узлах

Соединение состоит из трех маршрутизаторов: Core, B1 и B1000. Последовательные соединения показаны между маршрутизаторами Core — B1 и Core — B1000. Все эти маршрутизаторы подключены к подсети индивидуально. Маршрутизатор B1 отправляет все нелокальные пакеты в Core через интерфейс S0/0/1. Существует также связь между B1 и B1000.

IOS позволяет настроить статический маршрут по умолчанию, используя специальные значения для полей подсети и маски в команде ip route: 0.0.0.0 и 0.0.0.0. Например, команда ip route 0.0.0.0 0.0.0.0 S0/0/1 создает статический маршрут по умолчанию на маршрутизаторе B1-маршрут, который соответствует всем IP-пакетам-и отправляет эти пакеты через интерфейс S0/0/1.

В примере 4 показан пример статического маршрута по умолчанию с использованием маршрутизатора R2 с рисунка 1. Ранее на этом рисунке вместе с примером 3 был показан маршрутизатор R1 со статическими маршрутами к двум подсетям в правой части рисунка. Пример 4 завершает настройку статических IP-маршрутов путем настройки R2 в правой части рисунка 1 со статическим маршрутом по умолчанию для маршрутизации пакетов обратно к маршрутизаторам в левой части рисунка.

Добавление статического маршрута по умолчанию на R2 (рисунок 1)

Вывод команды show ip route содержит несколько новых и интересных фактов. Во-первых, он перечисляет маршрут с кодом S, что означает статический, но также со знаком *, что означает, что это кандидат в маршрут по умолчанию. Маршрутизатор может узнать о нескольких маршрутах по умолчанию, и затем маршрутизатор должен выбрать, какой из них использовать; * означает, что это, по крайней мере, кандидат на то, чтобы стать маршрутом по умолчанию. Чуть выше «шлюз последней надежды» относится к выбранному маршруту по умолчанию, который в данном случае является только что настроенным статическим маршрутом с исходящим интерфейсом S0/0/1.

Как открыть таблицу маршрутизации cisco

Команда show ip route выводит содержимое таблицы маршрутизации.

Синтаксис show ip route

Режимы команды privileged EXEC

Рекомендации по использованию

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

Данная команда показывает только маршруты connected (“C”) и статический (“S”). Маршруты, заданные по протоколам RIP или OSPF, будут показаны как статические.

Раздел “Codes” (вывод легенды) содержит описание и других, реально неиспользуемых типов маршрутов. Этот вывод сделан аналогичным Cisco IOS для поддержания совместимости с продуктами мониторинга и управления Cisco (например, Cisco MARS).

При выполнении команды не показываются маршруты:

· если в системе присутствует маршрут через интерфейс, который не зарегистрирован в продукте, то этот маршрут не показывается.

Пример вывода команды

Codes: C — connected, S — static, R — RIP, M — mobile, B — BGP

D — EIGRP, EX — EIGRP external, O — OSPF, IA — OSPF inter area

N1 — OSPF NSSA external type 1, N2 — OSPF NSSA external type 2

E1 — OSPF external type 1, E2 — OSPF external type 2

i — IS-IS, su — IS-IS summary, L1 — IS-IS level-1, L2 — IS-IS level-2

ia — IS-IS inter area, * — candidate default, U — per-user static route

o — ODR, P — periodic downloaded static route

Gateway of last resort is 10.1.1.1 to network 0.0.0.0

1.0.0.0/32 is subnetted, 4 subnets

S 1.2.3.4 [1/0] via 10.2.2.2

is directly connected, FastEthernet0/0

S 1.2.3.5 is directly connected, FastEthernet0/0

S 1.2.3.6 [1/0] via 10.2.2.2

S 1.2.3.7 [1/0] via 10.2.2.2

174.0.0.0/16 is variably subnetted, 3 subnets, 2 masks

S 174.0.0.0/24 [1/0] via 10.3.3.3

S 174.0.1.0/24 [1/0] via 10.3.3.3

S 174.0.0.0/19 [1/0] via 10.3.3.3

C 192.168.111.0/24 is directly connected, FastEthernet1/0

S 181.111.0.0/16 [1/0] via 10.3.3.3

is directly connected, FastEthernet0/0

10.0.0.0/16 is subnetted, 1 subnets

C 10.0.0.0 is directly connected, FastEthernet0/0

S 172.0.0.0/8 [1/0] via 10.3.3.3

S* 0.0.0.0/0 [1/0] via 10.1.1.1

Правила формирования таблицы маршрутизации (аналогичны Cisco IOS , за исключением случаев, отмеченных специально):

1. В качестве «шлюза последней надежды» (термин заимствован из документации Cisco IOS – шлюз по умолчанию) берется маршрут до подсети 0.0.0.0/0:

· Если такой маршрут отсутствует, то пишется фраза: Gateway of last resort is not set.

· Маршрут подсети вида 0.0.0.0/x, где x > 0, за «шлюз последней надежды» не признается.

· Логика выбора «шлюза последней надежды» аналогична Cisco IOS с тем отличием, что в Cisco IOS существуют и другие способы задания – с помощью команд ip default−gateway и ip default−network.

· Если маршрут до подсети 0.0.0.0/0 задан через интерфейс, то выдается фраза: Gateway of last resort is 0.0.0.0 to network 0.0.0.0.

· Если существуют несколько маршрутов до подсети 0.0.0.0/0, то в качестве «шлюза последней надежды» выбирается первый из них.

· Запись в таблице маршрута «шлюз последней надежды» помечается звездочкой.

2. Формирование записи таблицы маршрутизации:

· Тип записи формируется следующим образом:

· если маршрут прописан через интерфейс, причем подсеть сформирована адресом на интерфейсе (а не специальной командой маршрутизации), то пишется тип “C”;

· во всех остальных случаях, включая маршрут, явно прописанный через интерфейс, пишется тип “S”.

· Адрес очередной подсети соотносится с классами сетей “A”, “B” и “C”:

· Маршруты пишутся в виде отдельных записей (не группируются) в случаях:

· подсети, более широкие, чем предполагаемый их класс (например, 172.0.0.0/8);

· адреса вида 0.0.0.0/x;

· адреса, не принадлежащие к классам “A”, “B” или “C”.

· Подсети, более узкие, чем предполагаемый их класс (например, 10.0.0.0/16), обязательно помечаются как “ Subnetted ” и, при необходимости, группируются несколько подсетей вместе.

· Подсети, совпадающие с классом (например, 192.168.111.0/24), включаются в группу “ Subnetted ”, если в ней присутствуют более узкие подсети. Если более узких подсетей нет, подсети, совпадающие с классом, пишутся в виде отдельной записи.

3. Группирование записей в случае совпадения масок подсетей:

· Вначале пишется строка вида:

class-ip/mask-postfix is subnetted, N subnets

class-ip IP-адрес с наложенной на него маской классовой подсети (не путать с общей для данных подсетей маской. )

mask-postfix общая для данных подсетей маска

N количество подсетей в данной группе.

Например, для записей вида 1.2.x.0/24 будет написано:

1.0.0.0/24 is subnetted, subnets

· В записях, принадлежащих к этой группе, пишутся только IP-адреса без масок.

4. Группирование записей в случае разных масок подсетей:

· Вначале пишется строка вида:

class-ip/class-mask-postfix is variably subnetted, N subnets, M masks

class-ip IP-адрес с наложенной на него маской классовой подсети

class-mask-postfix классовая маска

N количество подсетей в данной группе

M количество масок подсетей в данной группе.

174.0.0.0/16 is variably subnetted, 3 subnets, 2 masks

· В записях, принадлежащих к этой группе, пишутся IP-адреса с масками.

5. Группирование записей в случае одинаковых адресов:

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

· Во второй и последующих строках – тип записи и адресная информация опускаются.

· Если для данного адреса присутствуют маршруты как через интерфейсы, так и gateways, то сначала пишутся маршруты через gateways, а потом – через интерфейсы.

6. Для записей типа “S” в квадратных скобках пишется информация, связанная с метрикой маршрута, в виде:

· если системная метрика маршрута равна 0, то выдается 1;

· в противном случае – выдается значение системной метрики.

Для маршрутов, заданных в консоли с помощью команды ip route , всегда выдается метрика в виде [1/0] . Такое поведение аналогично Cisco IOS, при условии использования параметра administrative distance по умолчанию.

Отличие данной команды от подобной команды Cisco IOS :

· Присутствует только указанный вариант команды, в отличие от Cisco IOS, где могут присутствовать дополнительные параметры.

· Показывает только connected (“C”) и статический (“S”) маршруты.

· Параметр, связанный с метрикой маршрута имеет вид [metric/0] , а в Cisco IOS – [administrative-distance/metric] .

Маршрутизация

В этой статье будет много тавтологий: итак, основное назначение маршрутизатора – маршрутизировать и делает он это при помощи маршрутов в таблице маршрутизации. Маршрутизатор может быть с продвинутой версией софта, обладать теми или иными дополнительными функциями (VPN, Firewall, и т.п.), может быть совсем простым с версией IOS «BASE», но он в любом случае будет маршрутизировать – это его главная задача.

Маршрутизация осуществляется на третьем уровне модели OSI. Если в сети есть не только IP, но и другие протоколы сетевого уровня, то процесс маршрутизации для каждого из них выполняется отдельно. В курсе CCNA рассматривается только маршрутизация IPv4 и IPv6 пакетов (тем не менее, даже это – два разных протокола и маршрутизация у них работает независимо друг от друга).

В чём же суть процесса: маршрутизатор содержит специальную таблицу – таблицу маршрутизации (routing table), в которой собирает маршруты во все сети, про которые ему довелось узнать. Каждый маршрут представляет из себя:

  1. собственно, саму сеть, в которую он ведёт
  2. направление к этой сети (направление может записываться двумя способами: это либо адрес следующего маршрутизатора на пути к нужной сети, либо имя интерфейса, из которого нужно «выдать наружу» пакет, чтобы он продолжил двигаться к нужной сети)
  3. метрика (опционально) – характеризует качество маршрута чем меньше метрика, тем «лучше» и «приоритетнее» маршрут

Маршруты могут попадать в таблицу маршрутизации тремя способами:

  1. Непосредственно подключенные (Connected). Такие маршруты появляются автоматически, когда мы включаем на маршрутизаторе какой-то интерфейс и настраиваем на нём ip адрес. Это наше действие означает, что непосредственно рядом с маршрутизатором за этим самым интерфейсом к нему примыкает указанная сеть, один из адресов которой мы настроили на новом интерфейсе. Маршрутизатор автоматически добавляет такой маршрут с указанием, что сеть доступна через данный интерфейс.
  2. Статические маршруты (Static). Если искомая сеть находится не в непосредственной близости к маршрутизатору, а хотя бы через один маршрутизатор от данного, то сам он про неё никак не узнает и один из способов сообщить, что «где-то там далеко есть такая сеть» — прописать статический маршрут. То есть явно сеть и направление к ней. Подробнее об этом можно прочитать в статье про статические маршруты.
  3. Динамическая маршрутизация. В этом случае на каждом маршрутизаторе настраивается один из протоколов динамической маршрутизации. Они бывают разными, но цели их работы одни и те же: каждый маршрутизатор берёт свои собственные непосредственно подключенные (Connected) сети (про которые, как мы уже говорили, он узнаёт автоматически), и передаёт их своим соседям. В результате каждый маршрутизатор узнаёт про все сети других маршрутизаторов и у всех в итоге получается таблица маршрутизации со всеми сетями данного участка. Динамическая маршрутизация, в отличие от статической может применяться на больших сетях, где статических маршрутов пришлось бы прописывать очень много.

Итак, тем или иным способом, таблица маршрутизации пополнилась маршрутами. Теперь, если на вход маршрутизатора приходит некий пакет, идущий в сеть N, то маршрутизатор просматривает свою таблицу в поисках искомой сети. Если сеть найдена, то берётся её направление (например, ip адрес следующего маршрутизатора) и ему пересылается данный пакет. Кроме того, существует маршрут по умолчанию, куда отправляются те пакеты, сеть получателя которых отсутствует в таблице маршрутизации. Если маршрут по умолчанию не задан, то такие пакеты уничтожаются, а отправителю может быть отправлено ICMP сообщение «Destination Unreachable»

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

Router#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set C 192.168.0.0/24 is directly connected, FastEthernet0/0 D 192.168.2.0/24 [90/156160] via 192.168.0.1, 00:55:03, FastEthernet0/0 Router>

Итак, вначале вывода команды мы видим легенду, где показано, какая буква что обозначает. Из того что проходится в CCNA, нам потребуется: S – статический маршрут, C – непосредственно подключенная сеть и динамические протоколы (R – RIP, D – EIGRP, O – OSPF).

Ниже легенды идёт список известных устройству маршрутов. Первая из строчек «Gateway of last resort is not set» означает, что маршрут по умолчанию на данном маршрутизаторе не задан, далее идут две известных сети. Первая начинается с буквы C, что означает, что сеть непосредственно подключена к нашему маршрутизатору (конкретно, интерфейс FastEthernet0/0 является её частью). Вторая строчка начинается с буквы D, если посмотреть в легенду выше, то видно, что это EIGRP маршрут, про который информация получена издалека. Можно сказать, что сеть 192.168.2.0 не граничит с нашим роутером непосредственно, а находится где-то далеко, конкретно, за другим маршрутизатором с адресом 192.168.0.1 и чтобы достичь этой сети, пакет должен быть отправлен этому маршрутизатору через интерфейс FastEthernet0/0. Два других значения, которые есть в этой строчке — [90/156160]. Первое из них – это административная дистанция, вторая – метрика. Про дистанцию можно подробнее прочитать в этой статье, что касается метрики – то она считается по-разному для каждого протокола маршрутизации и характеризует качество маршрута. Чем меньше метрика, тем лучше маршрут. Используется метрика в том случае, когда один протокол имеет более одного маршрута в одну и ту же сеть. В это случае в таблицу маршрутизации попадает только маршрут с самой лучше (читай – меньшей) метрикой. Подробнее про вычисление метрике следует читать в описании конкретного протокола.

Аналогично маршрутизатору любой компьютер имеет свою таблицу маршрутизации, но она, как правило простая: состоит из «своей сети» и шлюза по умолчанию. Например, в windows можно посмотреть такую таблицу командной route print.

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

  1. Каждый маршрутизатор самостоятельно принимает решение о том, куда надо отправить очередной проходящий через него пакет. При этом он основывается только на адресе получателя пакета и своей собственной таблице маршрутизации.
  2. Тот факт, что один маршрутизатор «знает» маршрут в некоторую сеть не гарантирует, что другой маршрутизатор будет «знать» про ту же сеть.
  3. Если маршрутизатор может переправить пакет из сети А в сеть Б, это не гарантирует, что он может переправить пакет обратно – из сети Б в сеть А.

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

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

Маршрутизация в Cisco

На этой странице описываются настройки различных механизмов работы с протоколами динамической маршрутизации и др. на маршрутизаторах Cisco.

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

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

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

[править] Отношения соседства

[править] Отношения соседства в RIP

[править] Отношения соседства в OSPF

Для того чтобы маршрутизаторы установили отношения соседства (adjacency), в hello-пакетах должны совпадать значения таких полей:

  • HelloInterval;
  • RouterDeadInterval;
  • Area ID;
  • Authentication — пароль использующийся для аутентификации. Маршрутизаторы не обязательно должны использовать аутентификацию, но если она используется, то пароли должны совпадать;
  • Stub area flag — необязательный флаг, который устанавливается на всех маршрутизаторах, которые принадлежат тупиковой зоне (stub area).

[править] Отношения соседства в EIGRP

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

  • маршрутизаторы должны пройти аутентификацию,
  • маршрутизаторы должны быть в одной AS,
  • отношения соседства должны устанавливаться на primary-адресах (когда приходит hello-пакет, маршрутизатор проверяет принадлежит ли адрес отправителя сети на primary-адресе интерфейса),
  • должны совпадать значения K-коэффициентов.

Для того чтобы маршрутизаторы стали EIGRP-соседями у них не обязательно должны совпадать Hello и Hold time.

Если на одном из маршрутизаторов изменены Hello или Hold time, то соседи этого маршрутизатора будут использовать эти значения. Для того чтобы сам маршрутизатор использовал другие значения, необходимо изменить таймер на соответствующем интерфейсе соседа.

[править] Отношения соседства в IS-IS

Условия формирования соседства.

  1. наличие L2(data-link)-транспорта (clns-резолвинг на NBMA-интерфейсах — FR, ATM);
  2. уровень соседства должен совпадать (L1, L2).
  3. в случае соседства на уровне L1, значение зоны в NET-адресе должно совпадать.
  4. Network Types на связующих интерфейсах должны совпадать.
    1. brodcast (выбирается DIS)
    2. point-to-point (не выбирается DIS).
    1. совпадают;
    2. размер >= 1492 байт. Здесь понимается кусок кадра, относящийся к IS-IS (без data-link-заголовка). Это нужно, чтобы LSA, содержащие информацию о топологии, гарантированно проходили.

    В целом, формирование соседства в IS-IS гораздо проще, чем в OSPF.
    Оно осуществляется с помощью PDU, которые инкапсулируются в кадры канального уровня модели OSI. Поэтому протоколу не нужны даже ip-адреса, он может работать просто на L2-линках.
    Значения hello и dead таймеров у соседей могут не совпадать.
    Важной особенностью являются hello-PDU, поскольку их целью является не только поиск соседей и установление соседства, но и проверка MTU линка на достаточный размер. Эталонным L2-MTU считается значение 1518 байт. Заголовок L2 IEEE 802.3 SNAP составляет 26 байт. 1518-26=1492.
    Чтобы гарантировать доступность MTU в 1492 байта, hello-сообщения содержат поле Padding, в котором с помощью добавления нулей достигается нужная длина. Чтобы сберечь пропускную способность линка, функцию padding в hello можно оставить только для первых hello, а для остальных отключить.

    [править] Отношения соседства в BGP

    Для того чтобы установить отношения соседства, в BGP надо настроить вручную каждого соседа.

    BGP выполняет такие проверки, когда формирует отношения соседства:

    1. Маршрутизатор должен получить запрос на TCP-соединение с адресом отправителя, который маршрутизатор найдет указанным в списке соседей (команда neighbor).
    2. Номер автономной системы локального маршрутизатора должен совпадать с номером автономной системы, который указан на соседнем маршрутизаторе командой neighbor remote-as (это требование не соблюдается при настройках конфедераций).
    3. Идентификаторы маршрутизаторов (Router ID) не должны совпадать.
    4. Если настроена аутентификация, то соседи должны пройти её.

    BGP выполняет проверку таймеров keepalive и hold, однако несовпадение этих параметров не влияет на установку отношений соседства. Если таймеры не совпадают, то каждый маршрутизатор будет использовать меньшее значение таймера hold.

    [править] Выбор лучшего маршрута

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

    Если необходимо сделать выбор между различными протоколами маршрутизации, то сравниваются значения administrative distance, которые присвоены соответствующим протоколам.

    Выбранные лучшие маршруты попадают в таблицу маршрутизации.

    [править] Выбор лучшего маршрута в пределах одного протокола

    [править] Выбор лучшего маршрута в RIP

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

    RIP использует метрику hop. Максимально возможная метрика — 15, маршрут с метрикой 16 считается недостижимым. Из вышесказанного следует, что RIP не следует использовать в сетях с возможным количеством переходов более 15.

    [править] Выбор лучшего маршрута в OSPF

    OSPF, при выборе лучшего маршрута, учитывает два критерия — тип маршрута и стоимость маршрута.

    OSPF использует метрику, которая называется стоимость (cost). Стоимость сравнивается у маршрутов одного типа.

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

    Различные типы маршрутов, в порядке убывания приоритета:

    • Внутренние маршруты зоны (intra-area)
    • Маршруты между зонами (interarea)
    • Внешние маршруты типа 1 (E1)
    • Внешние маршруты типа 2 (E2)

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

    Стоимость присваивается интерфейсам маршрутизатора. Стоимость интерфейса высчитывается по формуле:

    cost = reference bandwidth / link bandwidth
    • reference bandwidth — 10 8

    Суммарная стоимость маршрута считается суммированием стоимости исходящих интерфейсов по пути передачи LSA.

    Для того чтобы обозначить недоступную сеть, OSPF использует метрику равную 16777215 (2 24 —1), которая считается недостижимой метрикой для OSPF.

    [править] Выбор лучшего маршрута в EIGRP

    EIGRP, при выборе лучшего маршрута, учитывает два критерия — тип маршрута и метрику маршрута.

    В первую очередь сравнивается тип маршрута, без учёта метрики. Внутренние маршруты EIGRP более приоритетные чем внешние (external).

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

    Метрика EIGRP основана на таких 5 компонентах (по умолчанию используются только два):

    Формула вычисления метрики по умолчанию (более подробно об использовании других коэффициентов на странице EIGRP):

    Metric = 256(10 7 )/bandwidth + 256 (delay)

    [править] Выбор лучшего маршрута в IS-IS

    IS-IS, при выборе лучшего маршрута, учитывает два критерия — тип маршрута и метрику маршрута.

    Если маршрутизатору известны маршруты к одной и той же сети, но эти маршруты разных типов, то маршрутизатор выбирает наиболее приоритетный тип маршрута и не учитывает метрику маршрута.

    Различные типы маршрутов, в порядке убывания приоритета:

    • L1
    • L2
    • Внешние маршруты (external)

    По умолчанию метрика на интерфейсах равна 10.

    [править] Выбор лучшего маршрута в BGP

    Характеристики процедуры выбора пути протоколом BGP:

    • В таблице BGP хранятся все известные пути, а в таблице маршрутизации — лучшие.
    • Пути выбираются на основании политик.
    • Пути не выбираются на основании пропускной способности.

    На маршрутизаторе Cisco, если не настроены никакие политики выбора пути, выбор пути происходит таким образом (на каждый следующий шаг маршрутизатор переходит только при совпадении значений на предыдущем):

    1. Максимальное значение weight (локально для маршрутизатора).
    2. Максимальное значение local preference (для всей AS).
    3. Предпочесть локальный маршрут маршрутизатора (next hop = 0.0.0.0).
    4. Кратчайший путь через автономные системы.
    5. Минимальное значение origin code (IGP < EGP < incomplete).
    6. Минимальное значение MED (распространяется между автономными системами).
    7. Путь EBGP лучше чем путь IBGP.
    8. Выбрать путь через ближайшего IGP-соседа.
    9. Выбрать самый старый маршрут для EBGP-пути.
    10. Выбрать путь через соседа с наименьшим BGP router ID.
    11. Выбрать путь через соседа с наименьшим IP-адресом.

    Только лучший путь помещается в таблицу маршрутизации и анонсируется BGP-соседям.

    [править] Выбор лучшего маршрута между разными источниками

    [править] Administrative distance

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

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

    Значения administrative distance по умолчанию:

    Источник маршрута Administrative Distance
    Connected interface 0
    Статический маршрут 1
    Суммарный маршрут EIGRP 5
    External BGP 20
    EIGRP 90
    IGRP 100
    OSPF 110
    IS-IS 115
    RIP 120
    EGP 140
    External EIGRP 170
    Internal BGP 200
    Unknown 255

    Изменение AD для протоколов RIP, OSPF, IS-IS:

    dyn3(config-router)# distance [address wildcard-mask [access-list-number | name]]

    Параметры команды distance:

    • — значение administrative distance. Значения по умолчанию в таблице
    • address wildcard-mask:
      • для RIP, EIGRP, IS-IS — IP-адрес интерфейса соседа, который анонсирует этот маршрут
      • для OSPF — RID маршрутизатора, который создал LSA для маршрута

      Изменение AD для протокола EIGRP:

      dyn3(config-router)# distance eigrp

      [править] Суммирование маршрутов

      Различают два варианта суммирования маршрутов:

      • автоматическое суммирование,
      • административное суммирование.

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

      Cisco рекомендует использовать административное суммирование маршрутов, когда количество маршрутов в таблице маршрутизации достигает количество 300-500 маршрутов. Адресация в сети должна быть заранее спланирована таким образом, чтобы суммирование маршрутов можно было выполнить.

      [править] Автоматическое суммирование сетей

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

      • Автоматическое суммирование сетей — если маршрутизатор пересылает обновление о подсети, которая находится в разных классовых сетях с передающим интерфейсом, то пересылается классовая сеть. Маршрутизатор считает, что удаленный маршрутизатор использует маску по умолчанию для данного класса. Поэтому в пересылаемом обновлении не передается маска. Это процесс также называется автоматическое суммирование сетей на границе сети (имеется ввиду на границе классовой сети);
      • Классовые протоколы маршрутизации не позволяют суммировать сети в других точках сети в пределах адресного пространства классовой сети;
      • При использовании классового протокола маршрутизации необходимо чтобы маска всех подсетей из одной классовой сети была одинаковая:
        • Если маршрутизатор пересылает обновление о подсети, которая находится в той же классовой сети, что и передающий интерфейс, то пересылается подсеть. Маршрутизатор считает, что у интерфейса и пересылаемой сети одинаковая маска.
        • Маршрутизатор, который получает такое обновление также считает, что маска одинаковая. Если на самом деле маска была другой, то у маршрутизаторов будет некорректная информация о сети.

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

        Отключение автоматического суммирования сетей:

        router(config-router)# no auto-summary

        [править] Правила административного суммирования маршрутов

        Для RIP, EIGRP и OSPF работают такие общие правила при суммировании маршрутов:

        • Метрика суммарного маршрута — минимальная метрика (лучшая метрика) из всех маршрутов, которые суммируются;
        • Маршрутизатор не анонсирует маршруты входящие в суммарный;
        • Когда последний специфический маршрут, который был объединен в суммарный, пропадет из таблицы маршрутизации (на маршрутизаторе на котором выполняется суммирование), пропадет и суммарный маршрут;
        • При создании суммарного маршрута, маршрутизатор автоматически добавляет в таблицу маршрутизации этот суммарный маршрут с next-hop указывающим на null0.

        [править] Суммирование маршрутов в RIP

        Настройка суммарного маршрута:

        router(config-if)# ip summary-address rip 10.1.1.0 255.255.255.0

        RIP не позволяет настраивать суммарный маршрут с маской, которая меньше классовой (supernet). Например, нельзя настроить суммарный маршрут 10.0.0.0/6:

        router(config-if)# ip summary-address rip 10.0.0.0 252.0.0.0 Summary mask must be greater or equal to major net

        OSPF и EIGRP такое сделать позволяют.

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

        interface FastEthernet 0/0 ip summary-address rip 10.1.0.0 255.255.0.0 ip summary-address rip 10.2.0.0 255.255.0.0

        [править] Суммирование маршрутов в OSPF

        Суммарный маршрут для зоны (настраивается на ABR):

        dyn3(config-router)# area range  [advertise | not-advertise] [cost ]

        Суммарный внешний маршрут (настраивается на ASBR):

        dyn3(config-router)# summary-address  [not-advertise] [tag ]

        [править] Суммирование маршрутов в EIGRP

        Отключение автоматического суммирования маршрутов:

        dyn3(config-router)#no auto-summary

        Суммарный маршрут настраивается на интерфейсе:

        dyn3(config-if)#ip summary-address eigrp   [admin-distance]

        По умолчанию у суммарного маршрута EIGRP administrative distance — 5. AD суммарного маршрута используется для того чтобы определить помещать ли null route для суммарного маршрута в таблицу маршрутизации.

        [править] Суммирование маршрутов в BGP

        Создание суммарного маршрута:

        dyn3(config-router)# aggregate-address address mask [as-set] [summary-only] [suppress-map map-name] [advertise-map map-name] [attribute-map map-name]

        [править] Маршрут по умолчанию

        Способ создания маршрута по умолчанию RIP OSPF EIGRP
        Перераспределение маршрута по умолчанию из другого протокола Поддерживает Поддерживает Поддерживает
        Статический маршрут по умолчанию (0.0.0.0) и перераспределение его командой redistribute static Поддерживает Не поддерживает Поддерживает
        Команда default-information originate Поддерживает Поддерживает Не поддерживает
        Команда ip default-network Поддерживает Не поддерживает Поддерживает
        Использование суммарных маршрутов Не поддерживает Не поддерживает Поддерживает

        [править] Команда default-information originate

        dyn3(config-router)# default-information originate [always] [metric ] [metric-type ] [route-map ]

        Характеристики команды для OSPF:

        • Информация распространяется только если маршрут по умолчанию присутствует в таблице маршрутизации (это можно обойти с помощью параметра always);
        • Перераспределяет любой маршрут по умолчанию найденный в таблице маршрутизации (статический или полученный по другому протоколу маршрутизации);
        • По умолчанию метрика маршрута будет 1, а тип маршрута — E2;
        • С параметром always OSPF может анонсировать маршрут по умолчанию независимо от того есть он в таблице маршрутизации или нет.

        Характеристики команды для RIP:

        • RIP будет анонсировать маршрут по умолчанию, если маршрута по умолчанию нет в таблице маршрутизации

        [править] Команда ip default-network

        используется, когда роутинг на маршрутизатоге включен. Когда Вы конфигурируете ip default-network, маршрутизатор рассматривает маршрут к этой сети как шлюз, назначенный для роутинга по умолчанию. Обратите внимание, что так назначается classfull routing.

        [править] Объекты для работы с маршрутами

        Маршрут это комбинация сеть/маска, а также атрибуты маршрута, такие как метрика. Не все объекты умеют работать со всеми частями маршрута.

        Для работы с маршрутами есть несколько объектов:

        • access-list (ACL)
        • prefix-list
        • route-map
        • distribute list

        Объекты могут использоваться для:

        • перераспределения маршрутов
          • фильтрация
          • изменение атрибутов маршрутов
          • фильтрация
          • изменение атрибутов маршрутов

          Ниже описано какие объекты могут использоваться, для каких функций.

          PBR рассматривается отдельно, так как фактически это не работа с маршрутами, а перенаправление самого трафика.

          [править] Access-list

          ACL могут использоваться для:

          • фильтрации маршрутов при перераспределении
          • в PBR для перенаправления трафика по заданным правилам

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

          Для работы с сетью и маской, используется объект prefix-list.

          [править] Prefix list

          Prefix-list позволяет работать с сетью и маской в маршруте. Поэтому, с его помощью можно более точно указывать маршруты, к которым применяются правила.

          Prefix-list может использоваться для:

          • фильтрации маршрутов при перераспределении
          • в политиках BGP для фильтрации маршрутов
          • в route-map для политик BGP, где prefix-list позволяет указать с какими маршрутами работает route-map

          В каждом prefix list может быть несколько команд prefix-list, каждой из которых присвоен порядковый номер. Когда маршрутизатор обрабатывает prefix list, он просматривает все команды в соответствии с порядковыми номерами команд. Каждой команде соответствует действие permit или deny.

          ip prefix-list [seq ]  [ge ] [le ]

          Объяснение логики команды prefix-list на примере сети 10.0.0.0/8:

          • ip prefix-list 1 permit 10.0.0.0/8 — только сеть 10.0.0.0/8,
          • ip prefix-list 1 permit 10.0.0.0/8 le 11 — маршруты у которых первый октет 10, и префикс от 8 до 11,
          • ip prefix-list 1 permit 10.0.0.0/8 ge 11 — маршруты у которых первый октет 10, и префикс от 11 до 32,
          • ip prefix-list 1 permit 10.0.0.0/8 ge 11 le 13 — маршруты у которых первый октет 10, и префикс от 11 до 13.

          [править] Distribute list

          Distribute list не являются самостоятельными объектами как ACL, prefix-list, route-map. Фактически, distribute list это команда для применения других объектов (как access-list команда для создания ACL, а access-group команда для применения).

          Distribute list могут использоваться для фильтрации и для перераспределения маршрутов. В это разделе рассматривается использование distribute list для фильтрации маршрутов.

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

          [править] Distribute list для RIP, EIGRP

          Distribute list во входящем направлении (in) используется для фильтрации сетей полученных в обновлениях:

          router(config-router)# distribute-list in [interface-type interface-number]

          Если не указывать к какому интерфейсу применить distribute list, то он будет применён ко всем интерфейсам.

          Distribute list в исходящем направлении (out) используется для фильтрации сетей, которые будут отправлены в обновлениях этого маршрутизатора:

          router(config-router)# distribute-list out [interface-name | routing-process | as-number]
          [править] Distribute list для OSPF

          Для OSPF использование distribute list отличается от остальных протоколов, так как OSPF не анонсирует маршруты в сети, а анонсирует информацию о топологии. Фильтрация LSA будет означать, что у маршрутизаторов в зоне будут отличаться LSDB и это приведет к сбоям в маршрутизации трафика.

          Правила использования distribute list для OSPF:

          • Distribute list может использоваться только во входящем направлении, потому что в исходящем направлении будут фильтроваться LSA, а не маршруты.
          • Distribute list во входящем направлении не фильтрует входящие LSA. Он фильтрует маршруты, которые OSPF помещает в таблицу маршрутизации.
          • Если distribute list указывает входящий интерфейс, то входящий интерфейс проверяется таким образом, как-будто он исходящий интерфейс для маршрута.
          router(config-router)# distribute-list in [interface-type interface-number]

          [править] Route maps

          Route-map это более сложные объект, чем все предыдущие. Route map может использовать ACL и prefix list, а также может менять атрибуты маршрутов.

          Route-map может использоваться для:

          • фильтрации маршрутов при перераспределении и изменения атрибутов маршрута
          • в политиках BGP для фильтрации маршрутов и изменения их атрибутов
          • в PBR для перенаправления трафика по заданным правилам

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

          В каждой команде route-map указано действие permit или deny. Кроме того, с помощью команды match указываются параметры которые должны быть у маршрута для того чтобы он совпал с правилом. Для того чтобы указать весь трафик, в команде route-map просто не надо указывать команду match.

          Если после параметра match идет несколько опций, то к ним применяется логика или, то есть должен совпасть один из перечисленных параметров. Если задано несколько параметров match в отдельных строках, то к ним применяется логика и, то есть должны совпасть все параметры.

          В каждой команде route-map может быть одна или более команд set, которые используются для изменения каких-либо параметров проходящих маршрутов.

          [править] Использование route map для перераспределения маршрутов

          Когда route map используется для перераспределения маршрутов, то команда route-map с параметром permit указывает на маршруты, которые будут перераспределены, а route-map с deny на маршруты, которые не будут перераспределяться.

          Для перераспределения маршрутов используются такие параметры команды match:

          • match interface — проверяется исходящий интерфейс маршрутов,
          • match ip address — с помощью ACL или prefix-list указывается какой префикс должен быть у маршрута,
          • match ip next-hop — проверяется next-hop адрес маршрута,
          • match ip route-source — проверяется IP-адрес маршрутизатора, который анонсирует маршрут,
          • match metric — проверяется метрика маршрута,
          • match route-type — проверяется тип маршрута (external, internal, level-1, level-2, local, nssa-external),
          • match tag — проверяется тег установленный для маршрута ранее.

          Для перераспределения маршрутов используются такие параметры команды set:

          • set level — указывает в какую базу данных будет перераспределен маршрут (level-1, level-2, level-1-2, stub-area, backbone)
          • set metric — устанавливает метрику маршрута,
          • set metric-type — устанавливает тип маршрута для OSPF и IS-IS (external, internal, type-1, type-2),
          • set tag — устанавливает тег для маршрута.

          [править] Маршрутизация на основе политик (policy based routing)

          Маршрутизация на основе политик (policy based routing, PBR) позволяет маршрутизировать трафик на основании заданных политик, тогда как в обычной маршрутизации, только IP-адрес получателя определяет каким образом будет передан пакет.

          Основная страница: Cisco PBR

          [править] Перераспределение маршрутов (route redistribution)

          Перераспределение маршрутов (route redistribution) — передача маршрутов, выученных с помощью одного протокола маршрутизации, в другой протокол маршрутизации. Кроме того, статические маршруты или непосредственно присоединенные сети, также могут быть перераспределены и, после этого, будут передаваться с помощью соответствующего протокола маршрутизации.

          Перераспределение маршрутов возможно только между протоколами которые поддерживают один и тот же стек протоколов.

          Для того чтобы перераспределить маршруты из одного источника в другой, должна быть как минимум одна точка где они перераспределяются. То есть, должен быть маршрутизатор, который это выполняет. Например, если перераспределяются маршруты протокола OSPF в маршруты EIGRP, то на таком маршрутизаторе должны быть настроены оба протокола, а затем правила перераспределения маршрутов из одного протокола в другой.

          Если настроено перераспределение маршрутов из определенного протокола маршрутизации, то маршрутизатор перераспределит:

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

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

          [править] Начальная метрика (seed metric)

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

          Варианты задания начальной метрики в порядке убывания приоритета (если метрика указана несколькими методами, то будет использоваться метрика с более высоким приоритетом):

          1. В route map указать метрику командой set metric
          2. Задать metric в команде redistribution
          3. Настройка default-metric в режиме настройки протокола маршрутизации

          Значения по умолчанию начальной метрики для перераспределенных маршрутов в различных протоколах:

          Протокол Начальная метрика по умолчанию
          OSPF 20 для всех кроме BGP, для BGP 1
          BGP IGP metric
          RIP 0 (Infinity)
          EIGRP 0 (Infinity)
          IS-IS 0

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

          Исключение из правила увеличения метрики — маршруты OSPF E2, метрика которых сохраняется неизменной во всей автономной системе.

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

          [править] Default-metric

          Задание начальной метрики с помощью default-metric для всех перераспределенных маршрутов:

          dyn3(config-router)# default-metric

          [править] Перераспределение непосредственно присоединенных маршрутов (redistribute connected)

          Когда настроено перераспределение маршрутов из какого-то протокола маршрутизации, то перераспределяются:

          • маршруты в таблице маршрутизации, которые были выучены по этому протоколу,
          • все connected маршруты, которые указаны в команде network этого протокола

          Если вместе с перераспределением из протокола маршрутизации, настроена также перераспределение присоединенных маршрутов с фильтром, то эта команда более приоритетная по отношению к присоединенным маршрутам. И именно она контролирует какие маршруты будут перераспределены.

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

          router rip redistribute ospf metric 2 redistribute connected route-map CONNECTED metric 3 ! route-map CONNECTED permit 10 match interface loopback 0

          [править] Перераспределение маршрутов в RIP

          Перераспределение маршрутов в RIP:

          dyn3(config-router)# redistribute [process-id] [match ] [metric ] [route-map ]

          Параметры команды redistribute:

          • — протокол, маршруты которого перераспределяются в RIP
          • match — команда для перераспределения маршрутов OSPF в другие протоколы. Позволяет указать тип маршрутов OSPF, которые будут перераспределены:
            • external 1
            • external 2
            • internal
            • nssa-external

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

            router# sh ip rip database | i redistributed

            [править] Перераспределение маршрутов в OSPF

            Перераспределение маршрутов в OSPF:

            dyn3(config-router)# redistribute [process-id] [metric ] [metric-type ] [route-map ] [subnets] [tag ]

            Параметры команды redistribute:

            • — протокол, маршруты которого перераспределяются в OSPF
            • metric — метрика, которая будет использоваться для перераспределенных маршрутов. По умолчанию равна 20, для BGP — 1.
            • metric-type — позволяет указать в какой тип маршрутов OSPF будут перераспределены маршруты другого протокола:
              • 1 — external type 1
              • 2 — external type 2. Значение по умолчанию

              [править] Перераспределение маршрутов в EIGRP

              Перераспределение маршрутов в EIGRP:

              dyn3(config-router)# redistribute [process-id] [match ] [metric ] [route-map ]

              Параметры команды redistribute:

              • — протокол, маршруты которого перераспределяются в EIGRP
              • match — команда для перераспределения маршрутов OSPF в другие протоколы. Позволяет указать тип маршрутов OSPF, которые будут перераспределены:
                • external 1
                • external 2
                • internal
                • nssa-external

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

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

                [править] Перераспределение маршрутов в IS-IS

                Перераспределение маршрутов в IS-IS:

                dyn3(config-router)# redistribute [process-id] [level ] [match ] [metric ] [metric-type ] [route-map ]

                Параметры команды redistribute:

                • — протокол, маршруты которого перераспределяются в IS-IS
                • level — уровень присвоенный перераспределенным маршрутам. По умолчанию уровень 2
                • match — команда для перераспределения маршрутов OSPF в другие протоколы. Позволяет указать тип маршрутов OSPF, которые будут перераспределены:
                  • external 1
                  • external 2
                  • internal
                  • nssa-external
                  • internal. Значение по умолчанию
                  • external

                  [править] Пассивный интерфейс (passive interface)

                  Контроль обновлений протоколов динамической маршрутизации.

                  Командой passive-interface задаются интерфейсы на которые не будут отправляться обновления информации о маршрутах.

                  [править] Общие настройки

                  [править] Просмотр таблицы маршрутизации

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

                  Просмотр маршрутов, которые совпадают с указанным префиксом (в примере 192.168.0.0/16):

                  dyn5# sh ip route 192.168.0.0 255.255.0.0 longer-prefixes Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set C 192.168.4.0/24 is directly connected, FastEthernet0/0 C 192.168.5.0/24 is directly connected, FastEthernet1/0 C 192.168.100.0/24 is directly connected, Loopback1

                  Пример для того же маршрутизатора, но с префиксом 192.168.4.0/22:

                  dyn5# sh ip route 192.168.4.0 255.255.252.0 longer-prefixes Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set C 192.168.4.0/24 is directly connected, FastEthernet0/0 C 192.168.5.0/24 is directly connected, FastEthernet1/0

                  Суммарная информация о таблице маршрутизации:

                  dyn1# sh ip route summary IP routing table name is Default-IP-Routing-Table(0) IP routing table maximum-paths is 16 Route Source Networks Subnets Overhead Memory (bytes) connected 5 1 432 816 static 1 1 144 272 ospf 1 2 5 504 952 Intra-area: 7 Inter-area: 0 External-1: 0 External-2: 0 NSSA External-1: 0 NSSA External-2: 0 bgp 100 9 3 864 1632 External: 0 Internal: 12 Local: 0 internal 4 4624 Total 21 10 1944 8296

                  Более подробная информация о маршруте или проверка наличия маршрута в таблице маршрутизации:

                  dyn1# sh ip route 192.168.10.0 Routing entry for 192.168.10.0/24 Known via "bgp 100", distance 200, metric 0 Tag 8, type internal Last update from 192.168.7.8 1w5d ago Routing Descriptor Blocks: * 192.168.7.8, from 199.4.4.4, 1w5d ago Route metric is 0, traffic share count is 1 AS Hops 2 Route tag 8

                  [править] Обновление таблицы маршрутизации

                  Удаление всех маршрутов из таблицы маршрутизации (при удалении маршрутов отношения соседства не затрагиваются):

                  dyn5# clear ip route *

                  [править] ip classless

                  Команда ip classless влияет на то каким образом маршрутизатор будет просматривать таблицу маршрутизации:

                  • если команда ip classless выключена:
                    • если в таблице маршрутизации нет маршрута к подсети получателя, но есть соответствующая классовая сеть с маршрутами в другие подсети, то пакеты будут отброшены;
                    • если в таблице маршрутизации нет маршрута к подсети получателя, то соответствующая классовая сеть не считается совпадением и пакеты будут отправлены по маршруту по умолчанию.

                    Включение ip classless:

                    dyn3(config)# ip classless

                    [править] IP source routing

                    IP source routing функция которая позволяет отправителю указать через какие маршрутизаторы должен пройти пакет. Для этого используется поле IP Options.

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

                    no ip source-route

                    [править] ip route profile

                    router(config)# ip route profile
                    router# show ip route profile

                    [править] Просмотр настроек и поиск неисправностей

                    Вопросу поиска неисправностей посвящена отдельная страница. Отдельный раздел (Поиск неисправностей в настройках маршрутизации) на ней выделен вопросу поиска неисправностей в настройках маршрутизации.

                    [править] Дополнительная информация

                    • Cisco IOS IP Routing: BGP Command Reference (англ.)
                    • Cisco IOS IP Routing: EIGRP Command Reference (англ.)
                    • Cisco IOS IP Routing: ISIS Command Reference (англ.)
                    • Cisco IOS IP Routing: ODR Command Reference (англ.)
                    • Cisco IOS IP Routing: OSPF Command Reference (англ.)
                    • Cisco IOS IP Routing: Protocol-Independent Command Reference (англ.)
                    • Cisco IOS IP Routing: RIP Command Reference (англ.)
                    • IP Routing Design TechNotes (англ.)
                    Cisco Systems, Inc.
                    Устройства Cisco 871 • Cisco Router • Cisco Switch • Сisco Сatalyst • Cisco IPS • Cisco ASA • PIX • Dynamips
                    Безопасность
                    (коммутаторы и
                    маршрутизаторы)
                    Cisco Security • Port security • DHCP snooping • Dynamic ARP Protection • IP Source Guard • Аутентификация при доступе к сети • 802.1X в Cisco • Zone-Based Policy Firewall • Cisco NAT • NAT в Cisco • Cisco SSH
                    Cisco ASA Cisco ASA/NAT • Cisco ASA/Troubleshooting • Cisco ASA/IPS • Cisco ASA failover • Cisco ASA/Transparent firewall • Cisco ASA/Site-to-Site_VPN • Cisco ASA/Easy_VPN • Cisco ASA/WebVPN • Объединение OSPF-сетей туннелем между двумя системами ASA (без GRE) • Центр сертификатов на Cisco ASA
                    VPN IPsec в Cisco • Cisco IOS Site-to-Site VPN • DMVPN • Cisco Easy VPN • Cisco Web VPN • Cisco ipsec preshared
                    Канальный уровень CDP • VLAN в Cisco • ISL • VTP • STP в Cisco • Cisco Express Forwarding • Агрегирование каналов • Зеркалирование трафика • QinQ • Frame Relay
                    Сетевой уровень Маршрутизация в Cisco • RIP • EIGRP • IS-IS • OSPF • BGP • PIM • Multicast • GLBP • VRRP • HSRP • DHCP • IPv6 • IPv6 vs IPv4 • Резервирование Интернет-каналов без использования BGP • Использование BGP для резервирования Интернет-каналов
                    Разное Режим ROMMON в Cisco • Опция 82 DHCP • 802.1X и RADIUS • SNMP в Cisco • QoS в Cisco • EEM • Troubleshooting • Автоматизация работы устройств Cisco • Cisco NTP • Cisco IP SLA • Cisco Enhanced Object Tracking

                    Сетевой уровень

                    Основные понятия
                    Сетевой интерфейс | IP | IP-адрес | Маска подсети | Широковещательный адрес | Маршрут | IPv6
                    Маршрутизация | Форвардинг | Таблица маршрутизации | Шлюз по умолчанию
                    Маршрутизация в Linux | Маршрутизация в FreeBSD | Маршрутизация в Cisco

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *