В курсе CCNA Routing&Switching, который успешно преподается в нашей Академии разбирается множество интересных проблем и задач, с которыми специалисты сталкиваются в работе ежедневно. Некоторые из этих задач вызывают у студентов особенно большое количество вопросов, т.к. не всегда очевиден выбор тех или иных решений, технологий и даже настроек.
Один из популярных вопросов, связанный с темой статической маршрутизации, звучит следующим образом: в каком случае статический маршрут настраивается с указанием интерфейса, а в каком - с указанием адреса next-hop и в чем разница между этими двумя вариантами указания маршрута?
Маршрутизаторы соединены через коммутатор, подключены к одному широковещательному домену. Такая связка будет имитировать "облако" провайдера, куда подключен наш маршрутизатор. Выполняем следующие настройки помимо настроек интерфейсов:
R1(config)#ip route 0.0.0.0 255.255.255.0 gigabitEthernet 0/0
%Default route without gateway, if not a point-to-point interface, may impact performance
%Default route without gateway, if not a point-to-point interface, may impact performance
Уже на текущем этапе возникает предупреждение о том, что маршрут по умолчанию в интерфейс может стать причиной высокой нагрузки и деградации производительности сети. Это происходит по следующей причине: для того, чтобы передать пакет от РС0 к РС1 (например) маршрутизатор R1 должен узнать, кому передавать трафик. Для этого ему нужен MAC- и IP-адреса следующего шага. Но так как маршрут по умолчанию не содержит адреса next-hop, маршрутизатор R1 создает ARP-запрос, считая, что искомый адрес находится в напрямую подключенном сегменте сети.
В указанной выше топологии с PC0 будем последовательно пинговать интерфейс Gi0/0 и Gi0/1 маршрутизатора R3, после отправим пинг на PC1. Вот что представляет собой таблица ARP на маршрутизаторе R1 после вышеуказанных манипуляций:
R1#sh arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.10.10.1 4 0002.4A7A.DE86 ARPA GigabitEthernet0/1
Internet 10.10.10.254 - 00E0.A378.8902 ARPA GigabitEthernet0/1
Internet 172.16.10.1 2 0090.0C48.4201 ARPA GigabitEthernet0/0
Internet 172.16.10.254 2 0090.0C48.4201 ARPA GigabitEthernet0/0
Internet 192.168.1.1 - 00E0.A378.8901 ARPA GigabitEthernet0/0
Internet 192.168.1.3 0 0090.0C48.4201 ARPA GigabitEthernet0/0
R1#
Видим три лишние записи в таблице. Если масштабы сети увеличить (например, до размеров подключения к интернету), то таблица ARP маршрутизатора рано или поздно переполнится. Кроме того каждый новый адрес будет порождать широковещательный ARP-запрос, что будет приводить к деградации производительности всей сети, т.к. по сегменту придется прогонять лишний трафик.
Если же вместо маршрута в интерфейс указать next-hop адрес, то весь трафик будет всегда направляться следующему узлу, а в таблице ARP будет находиться одна запись - сопоставление MAC и IP для next-hop:
R1#sh arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.10.10.254 - 00E0.A378.8902 ARPA GigabitEthernet0/1
Internet 192.168.1.1 - 00E0.A378.8901 ARPA GigabitEthernet0/0
Internet 192.168.1.3 0 0090.0C48.4201 ARPA GigabitEthernet0/0
R1#
Теперь рассмотрим аналогичную схему, в которой вместо коммутатора будет подключение к маршрутизатору R3 посредством последовательного соединение.
Тест, аналогичный проведенному для первой топологии показывает, что любой вариант указания маршрута будет одинаково отрабатываться, т.к. последовательное соединение типа "точка-точка" не использует ARP. Однако в случае указания указания адреса next-hop маршрутизатор будет выполнять лишнее действие - рекурсивный поиск по таблице маршрутизации, что так же будет влиять на производительность, особенно при больших нагрузках.
В качестве резюме можно указать, что из-за особенностей работы широковещательный сетей и последовательных сетей сложилось вполне определенное правило написания статических маршрутов:
1) Для подключений к широковещательным сетям (broadcast multiaccess) в качестве назначения ВСЕГДА указывается адрес следующего шлюза (next-hop). Исключений здесь не делается.
2) Для подключений типа "точка-точка" (point-to-point) ПРИНЯТО указывать исходящий интерфейс в качестве назначения для избежания рекурсивного поиска по таблице маршрутизации.
Отличная статья, думаю что для лучшей наглядности было бы полезно показать таблицы маршрутизации при указании next hop (станет понятно, что здесь выполняется рекурсивный поиск) и выходящего интерфейса (станет понятно, что сеть отображается как подключенная напрямую, следовательно работает ARP).
ОтветитьУдалитьДоброго дня.
УдалитьТак указан же вывод show arp.