Настройка протокола RIP на маршрутизаторах Cisco

Цель работы

Формирование у студентов устойчивых навыков конфигурирования маршрутизаторов для работы с протоколом динамической маршрутизации RIP.

Ход работы

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

Обзор протокола RIP

У всех протоколов динамической маршрутизации одна цель – строить оптимальную сетевую топологию без петель.

В данной лабораторной работе рассматривается RIPv2 (версии 2). RIP любой версии относится к протоколам маршрутизации внутреннего шлюза, является дистанционно-векторным протоколом и не учитывает состояния каналов. В качестве метрики в протоколе используется счетчик транзитных устройств, который учитывает, через сколько маршрутизаторов (или других L3-устройств) пролегает маршрут к сети. RIP осуществляет медленную конвергенцию и по умолчанию имеет одну из наибольших стандартных административных дистанций - 120. Конвергенцией называется процесс сходимости сети, то есть процесс обнаружения изменений в сети, поиска и построения оптимальной топологии. Каждый протокол маршрутизации имеет особое число, называемое административным расстоянием, необходимое для того, чтобы система IOS могла выбрать предпочтительный маршрут, если настроено несколько протоколов маршрутизации. Стоит также отметить, что в некоторых протоколах маршрутизации происходит деление маршрутов на внутренние и внешние, в этом случае AD различным типам маршрутов назначается отдельно. Стандартные значения AD для маршрутизаторов Cisco и других производителей могут отличаться. Кроме того, RIP не позволяет суммировать маршруты с маской короче классовой.

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

Название Значение по умолчанию Предназначение
Update timer 30 секунд Отвечает за частоту отправки обновлений соседям.
Invalid timer 180 секунд Отвечает за время хранения информации о маршруте в таблице маршрутизации без получения обновления. Если обновление о маршруте не будет получено за это время, ему присваивается метрика 16 (недоступный).
Flush timer 240 секунд Время, через которое маршрут исключается из таблицы маршрутизации.
Holddown timer 180 секунд Является функциональностью исключительно оборудования Cisco. Запускается для недостижимого маршрута. В течение этого времени маршрут хранится как недоступный, его статус не изменяется даже при получении обновлений об этой сети.

Моделирование и настройка

Реализуем следующую сеть.

Для начала настроим все необходимые интерфейсы. На R1 это loopback, моделирующий сеть клиента, и интерфейс в сторону провайдера.

R1(config)# int lo1
R1(config-if)#ip addr 10.1.1.1 255.255.255.0
R1(config-if)# int g0/0
R1(config-if)#ip addr 199.1.1.1 255.255.255.252
R1(config-if)# no shutdown

Аналогично на R5.

R5(config)# int lo1
R5(config-if)#ip addr 10.2.2.2 255.255.255.0
R5(config-if)# int g0/0
R5(config-if)#ip addr 199.2.1.2 255.255.255.252
R5(config-if)# no shutdown

На R2 – интерфейсы GigabitEthernet и один интерфейс FastEthernet.

R2(config)# int g0/0
R2(config-if)#ip addr 199.1.1.2 255.255.255.252
R2(config-if)# no shutdown
R2(config-if)# int g2/0
R2(config-if)#ip addr 199.11.1.1 255.255.255.252
R2(config-if)# no shutdown
R2(config-if)# int f1/0
R2(config-if)#ip addr 199.10.1.2 255.255.255.252
R2(config-if)# no shutdown

Аналогично на R3 и на R4.

R3(config)# int g0/0
R3(config-if)#ip addr 199.2.1.1 255.255.255.252
R3(config-if)# no shutdown
R3(config-if)# int g2/0
R3(config-if)#ip addr 199.12.1.2 255.255.255.252
R3(config-if)# no shutdown
R3(config-if)# int f1/0
R3(config-if)#ip addr 199.10.1.1 255.255.255.252
R3(config-if)# no shutdown
R4(config)# int g0/0
R4(config-if)#ip addr 199.11.1.2 255.255.255.252
R4(config-if)# no shutdown
R4(config-if)# int g1/0
R4(config-if)#ip addr 199.12.1.1 255.255.255.252
R4(config-if)# no shutdown

В настоящий момент локальные сети клиента 10.1.1.1 и 10.2.2.2 не видят друг друга (отсутствует соответствующая маршрутная информация). Перейдём к настройке RIP. На каждом маршрутизаторе необходимо ввести следующие команды: в режиме глобальной конфигурации router rip, чтобы перейти в режим конфигурации протокола; network адрес_сети, чтобы включить протокол на нужных интерфейсах. Необходимо помнить, что в качестве адреса сети команды network нужно указывать только адрес классовой сети. Кроме того, введем команду no auto-summary для отключения суммирования сетей на границе маршрутизации.

Пример настройки маршрутизатора R1.

R1(config)# router rip
R1(config-router)# network 199.1.1.0
R1(config-router)# redistribute connected
R1(config-router)# no auto-summary

Замечание: если бы во второй строке мы указали в качестве сети адрес 10.1.1.0, система не выдала бы никаких ошибок и предупреждений, тем не менее, протокол RIP включился бы на всех интерфейсах, подсети которых входили бы в сеть 10.0.0.0/8.

Важное замечание: с помощью команды redistribute connected мы добавили сети всех подключенных интерфейсов (в том числе и сеть интерфейса loopback) в базу данных протокола RIP – RIP DataBase (RDB), но не включили сам протокол на этих интерфейсах. Таким образом, информация об этой сети рассылается протоколом через все интерфейсы, на которых функционирует RIP (в нашем случае через gi0/0), но при этом остальные интерфейсы не рассылают RIP-пакеты и не слушают сеть на предмет входящих RIP-сообщений.

Пример настройки маршрутизатора R2.

R2(config)# router rip
R2(config-router)# network 199.10.1.0
R2(config-router)# network 199.1.1.0
R2(config-router)# network 199.11.1.0
R2(config-router)# no auto-summary

Настройка маршрутизатора R3.

R3(config)# router rip
R3(config-router)# network 199.10.1.0
R3(config-router)# network 199.2.1.0
R3(config-router)# network 199.12.1.0
R3(config-router)# no auto-summary

Настройка маршрутизатора R4.

R4(config)# router rip
R4(config-router)# network 199.12.1.0
R4(config-router)# network 199.11.1.0
R4(config-router)# no auto-summary

Настройка маршрутизатора R5.

R5(config)# router rip
R5(config-router)# network 199.2.1.0
R5(config-router)# redistribute connected
R5(config-router)# no auto-summary

Если на данном этапе настройки попытаться выполнить команду ping 10.2.2.2 source 10.1.1.1 c R1, то маршрутизатор сообщит о недоступности узла с адресом 10.2.2.2. Дело в том, что по умолчанию запускается RIPv1, который поддерживает только с классовые сети. То есть в нашем случае в базу данных протокола будет добавлена только одна сеть вместо двух: 10.0.0.0/8 вместо 10.1.1.0/24 и 10.2.2.0/24, потому что RIPv1 не учитывает маски этих сетей. Убедиться в этом можно путём просмотра таблицы маршрутизации и RDB на R2 и R3, которым маршрутизаторы R1 и R5 сообщают только о сети 10.0.0.0/8. Исправьте возникшую проблему, прописав команду version 2 в режиме конфигурирования протокола маршрутизации на всех устройствах.

На этом настройка устройств завершена, перейдём непосредственно к тестированию.

Тестирование

1. С помощью команд ping 10.2.2.2 source 10.1.1.1 и trace 10.2.2.2 source 10.1.1.1, выполненных с маршрутизатора R1, убедитесь, что локальные сети клиента имеют доступ друг к другу.

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

3. Отключите низкоскоростной канал между маршрутизаторами R2 и R3. Как изменится маршрут следования пакетов между сетями?

4. Используя команду show ip protocols, проверьте настройки RIP на каждом маршрутизаторе.

5. Введите команду show ip route rip и проанализируйте её вывод.

6. Выполните перехват трафика между маршрутизаторами и проанализируйте сообщения RIP.

7. С помощью перехвата из предыдущего пункта продемонстрируйте работу метода расщепления горизонта в RIP.

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

В настроенной выше схеме трафик передаётся через канал FastEthernet, что может быть неэффективно из-за меньшей по сравнению с GigabitEthernet пропускной способностью. В этом пункте мы настроим так называемый «плавающий» маршрут, который поможет решить эту проблему.

Для начала необходимо отключить RIP на интерфейсах fa1/0 на R2 и R3.

R2(config)# router rip
R2(config-router)# no network 199.10.1.0
R3(config)# router rip
R3(config-router)# no network 199.10.1.0

Теперь настроим статические маршруты в сторону сетей на интерфейсах loopback, но с административной дистанцией равно 130.

R2(config)# ip route 10.2.2.0 255.255.255.0 199.10.1.1 130
R3(config)# ip route 10.1.1.0 255.255.255.0 199.10.1.2 130

Добавим эти маршруты в RIP (самостоятельно объясните, для чего это нужно).

R2(config)# router rip
R2(config-router)# redistribute static
R3(config)# router rip
R3(config-router)# redistribute static

С помощью команды trace 10.2.2.2 source 10.1.1.1, выполненной с маршрутизатора R1, убедимся, что пакеты идут через R4. Кроме того, посмотрим таблицу маршрутизации на R2 с помощью команды show ip route и убедимся, что статического маршрута в ней нет.

Теперь выключим интерфейсы в сторону R4.

R2(config)# int g2/0
R2(config-if)# shutdown
R3(config)# int g2/0
R3(config-if)# shutdown

Снова посмотрим таблицу маршрутизации и убедимся, что статический маршрут появился в таблице маршрутизации. Повторим с помощью команды trace 10.2.2.2 source 10.1.1.1 с R1, что связность сети не нарушена.

Скачать PDF-файл с описанием лабораторной работы.

You have no rights to post comments

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter