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

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

  • автор:

Таблица маршрутизации Cisco

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

2009 В ней присут ствую т три типа маршр утов: 1. Н е п о с р е д с твенно подключенные сети (C) 2. Статические маршруты (S) 3. Маршруты, полученныес помощью протоколов динамической маршрутизации R)( Источник, с которого получены маршруты, неоказывает влияния наструктуру таблицы маршрутизации. Обратитевнимание, что сеть 172.16.0.0/24 полученаиз всех трёх типов источников. Иерархическая структура таблицы маршрутизации Cisco IOS изначально была построена по классовой ( classful ) схеме. Несмотрянато, что онаобъединяет и классовую ( classful ) и бесклассовую ( classless ) адресацию, её общая структура по прежнемупостроена на классовой схеме. Следующая иллюстрация показывает с помощью командыdebug ip routing, как маршрут добавляетсяв таблицу маршрутизации послезавершенияконфигурированияинтерфейса:

Таблицамаршрутизации Cisco IOSимеет иерархическую структуру, что позволяет ускорить процесс поискаподходящего маршрута. Еёструктуравключает в себя несколько уровней. Маршрутами первого уровня являются маршруты с маской подсети равной или меньшей классовой. 192.168.1.0/24– это маршрут первого уровня, потому что его маскапо длине совпадает с маской классаC. Обычно в таблицемаршрутизации маршруты первого уровня это: 1. Default route – статический маршрут 0.0.0.0/0 2. Supernet route – маршрут с маской меньшеклассовой (например, 192.168.0.0/16) 3. Network route – маршрут с маской, равной классовой (такжеможет бытьparent маршрутом) Источниками маршрутов первого уровня могут быть непосредственно подключенныесети, статическиемаршруты или протоколы динамической маршрутизации.

2009 Маршруты первого уровня имеют ещёодно определение– ultimate маршруты. Ultimate маршрутами называются маршруты, имеющие следующие черты: • Адрес следующего маршрутизатора (Next-hop IP address) • И/или выходной интерфейс

Как открыть таблицу маршрутизации 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] .

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.

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

В этой статье будет много тавтологий: итак, основное назначение маршрутизатора – маршрутизировать и делает он это при помощи маршрутов в таблице маршрутизации. Маршрутизатор может быть с продвинутой версией софта, обладать теми или иными дополнительными функциями (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

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

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

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