Сначала необходимо войти в режим конфигурирования протокола RIP с помощью команды router rip (остановить работу протокола RIP со стиранием его конфигурирования можно с помощью команды no router rip). Далее с помощью команды Rt
(config-router) # network ip-directly-connected-classful-net следует указать классовые сети, непосредственно подключенные к данному маршрутизатору и должны им анонсироваться. Она позволяет отправлять и получать RIP-обновления интерфейсов, принадлежащих к этим сетям, а также данные сети в RIP-сообщениях.
Заметим, что в случае, когда к маршрутизатору непосредственно подключен несколько подсетей одного класса, то достаточно указать только одну эту классовую сеть. Если же указать подсеть, то IOS автоматически конвертирует его в повнокласову адрес (например, если по-дать команду network 192.168.1.64 - маршрутизатор воспримет ее как network 192.168.1.0)
Примеры таких настроек для маршрутизаторов R1 - R3 сети, изображенной на рис. 4.5 приведены ниже.
R1 (config) # router rip
R1 (config-router) # network 192.168.1.0
R1 (config-router) # network 192.168.4.0
R2 (config) # router rip
R2 (config-router) # network 192.168.2.0
R2 (config-router) # network 192.168.4.0
R3 (config) # router rip
R3 (config-router) # network 192.168.3.0
R3 (config-router) # network 192.168.4.0
Заметим, что команды router rip и network обязательны для настройки протокола.
По умолчанию программное обеспечение получает пакеты RIPv1 и RIPv2, а направляет только пакеты RIPv1. Как известно, протокол RIPv1 не поддерживает технологию VLSM, и если в сети используются маски переменной длины этот протокол будет работать некорректно, так что в таком случае следует использовать RIPv2.
Для того, чтобы настроить маршрутизатор на отправку и получение пакетов только одной версии протокола RIP следует использовать следующие команды: Router (config-router) # version {1 | 2} - указывает IOS на необходимость отправки только пакетов версии RIPv1 или RIPv2.
Router (config-router) # ip rip send version ХХ - конфигурирует интерфейс для отправки пакетов протокола RIP определенной версии (ХХ может принимать значение "1" или "2" или "1 2", в последнем случае принимаются пакеты версии 1 или 2) . Конфигурирование интерфейса для получения пакетов протокола RIP определенной версии выполняется аналогично. Соответствующая команда конфигурирования имеет синтаксис R1 (config-router) # ip rip receive version ХХ. В нашем случае (см. рис. 4.5) следует указать использование протокола RIPv2.
После выполнения этих команд можно просмотреть ТМ на маршрутизаторах с помощью команды show ip route. Для маршрутизатора R1 ТМ имеет вид:
C 192.168.1.0/24 is directly connected, FastEthernet0 / 0
R 192.168.2.0/24 [120/1] via 192.168.4.2, 00:00:21, Se-rial0 / 0
R 192.168.3.0/24 [120/2] via 192.168.4.2, 00:00:21, Se-rial0 / 0
192.168.4.0/30 is subnetted, 2 subnets
C 192.168.4.0 is directly connected, Serial0 / 0
R 192.168.4.4 [120/1] via 192.168.4.2, 00:00:21, Se-rial0 / 0
Для маршрутизатора R2 ТМ такова:
R 192.168.1.0/24 [120/1] via 192.168.4.1, 00:00:05, Se-rial0 / 1
C 192.168.2.0/24 is directly connected, FastEthernet0 / 0
R 192.168.3.0/24 [120/1] via 192.168.4.6, 00:00:00, Se-rial0 / 0
192.168.4.0/30 is subnetted, 2 subnets
C 192.168.4.0 is directly connected, Serial0 / 1
C 192.168.4.4 is directly connected, Serial0 / 0
Для маршрутизатора R3 ТМ такова:
R 192.168.1.0/24 [120/2] via 192.168.4.5, 00:00:27, Serial0 / 1
R 192.168.2.0/24 [120/1] via 192.168.4.5, 00:00:27, Serial0 / 1
C 192.168.3.0/24 is directly connected, FastEthernet0 / 0
192.168.4.0/30 is subnetted, 2 subnets
R 192.168.4.0 [120/1] via 192.168.4.5, 00:00:27, Serial0 / 1
C 192.168.4.4 is directly connected, Serial0 / 1
В первом столбце ТМ есть символы, указывающие на источник получе-ния данного маршрута. С - указывает на то, что это непосредственно подключена к данному маршрутизатору сеть (данная запись появляется в ТМ в результате настройки определенного порта маршрутизатора), а R - что данный маршрут получен от протокола RIP.
Рассмотрим составляющие маршрутов в ТМ, например, третьей строки таблицы маршрутизации маршрутизатора R1
R 192.168.3.0/24 [120/2] via 192.168.4.2, 00:00:21, Se-rial0 / 0
Здесь 192.168.3.0/24 - адрес сети назначения с ее маской, [120/2] - административная расстояние и после слешу метрика маршруту 192.168.4.2 - IP-адрес порта соседнего устройства через полученный данная строка; 00:00:21 - время, прошедшее с момента получения данного маршрута (прошло 21 секунд, последующее обновление должно состояться через 9 секунд) Serial0 / 0 - тип и номер локального порта маршрутизатора, на который следует отправить пакет, чтобы он достался вышеуказанного пункта назначения.
Автосумаризация маршрутов
Рассмотрим случай, когда вышеприведенные команды конфигурирования протокола RIP не приведут к корректной работы сети. Так, если в составной сети существуют подсети, принадлежащих одной классовой сети, но подключены к разным маршрутизаторов, таблицы маршрутизации до сих подсетей будут некорректными. Например, если в сети, приведенной на рис. 1 сеть 192.168.1.0/24 разбить на две подсети 192.168.1.0/25 и 192.168.1.128/25, первая из которых будет подключена к порту Fa0 / 0 маршрутизатора R1, а вторая - Fa0 / 0 маршрутизатора R3 возникнет такая проблема. Маршрутизаторы R1 и R3 будут выполнять автоматическую сумаризацию подсетей в классовую сеть, в которую входят данные подсети (сумаризация выполняется на предельном для этих подсетей маршрутизаторе, т.е. маршрутизаторе, который имеет одну или более подсетей, входящих в сеть определенного класса и соединяется с другой частью сети через сеть не принадлежит вышеуказанной классовой сети) и сообщать маршрутизатор R2 о том, что имеют непосредственную связь с сетью 192.168.1.0/24. При этом маршрутизатор R2 считать, что существует два оптимальных пути к сети 192.168.1.0/24. ТМ маршрутизатор R2 будет иметь вид:
R 192.168.1.0/24 [120/1] via 192.168.4.1, 00:00:11, Serial0 / 1
[120/1] via 192.168.4.6, 00:00:23, Serial0 / 0
C 192.168.2.0/24 is directly connected, FastEthernet0 / 0
192.168.4.0/30 is subnetted, 2 subnets
C 192.168.4.0 is directly connected, Serial0 / 1
C 192.168.4.4 is directly connected, Serial0 / 0
ТМ для R1 будет такой
192.168.1.0/25 is subnetted, 1 subnets
C 192.168.1.0 is directly connected, FastEthernet0 / 0
R 192.168.2.0/24 [120/1] via 192.168.4.2, 00:00:25, Serial0 / 0
192.168.4.0/30 is subnetted, 2 subnets
C 192.168.4.0 is directly connected, Serial0 / 0
R 192.168.4.4 [120/1] via 192.168.4.2, 00:00:25, Serial0 / 0
ТМ для R3 будет такой
192.168.1.0/25 is subnetted, 1 subnets
C 192.168.1.128 is directly connected, FastEthernet0 / 0
R 192.168.2.0/24 [120/1] via 192.168.4.5, 00:00:24, Serial0 / 1
192.168.4.0/30 is subnetted, 2 subnets
R 192.168.4.0 [120/1] via 192.168.4.5, 00:00:24, Serial0 / 1
C 192.168.4.4 is directly connected, Serial0 / 1
В результате маршрутизация в такой сети будет неправильной. На-пример, если с маршрутизатора R2 пропинговать любой узел ме-режи 192.168.1.0/25 или 192.168.1.128/25 пакеты, вследствие балансировки нагрузки будут циклически (поочередно) передаваться различными путями через интерфейсы S0 / 0 и S0 / 1. Кроме того маршрутизатор R1 не содержит маршрута к сети 192.168.1.128/25, а R3 - сети 192.168.1.0/25. Очевидно, что такая ситуация недопустима.
Для решения данной ситуации на каждом маршрутизаторе необходимо отменить автоматическую сумаризацию маршрутов с помощью команды no auto-summary в режиме конфигурирования протокола RIP. После этого ТМ маршрутизаторов приобретают вид для R1:
192.168.1.0/25 is subnetted, 2 subnets
C 192.168.1.0 is directly connected, FastEthernet0 / 0
R 192.168.1.128 [120/2] via 192.168.4.2, 00:00:02, Serial0 / 0
R 192.168.2.0/24 [120/1] via 192.168.4.2, 00:00:02, Serial0 / 0
192.168.4.0/30 is subnetted, 2 subnets
C 192.168.4.0 is directly connected, Serial0 / 0
R 192.168.4.4 [120/1] via 192.168.4.2, 00:00:02, Serial0 / 0;
для R2:
192.168.1.0/25 is subnetted, 2 subnets
R 192.168.1.0 [120/1] via 192.168.4.1, 00:00:06, Serial0 / 1
R 192.168.1.128 [120/1] via 192.168.4.6, 00:00:01, Serial0 / 0
C 192.168.2.0/24 is directly connected, FastEthernet0 / 0
192.168.4.0/30 is subnetted, 2 subnets
C 192.168.4.0 is directly connected, Serial0 / 1
C 192.168.4.4 is directly connected, Serial0 / 0;
для R3:
192.168.1.0/25 is subnetted, 2 subnets
R 192.168.1.0 [120/1] via 192.168.4.1, 00:00:06, Serial0 / 1
R 192.168.1.128 [120/1] via 192.168.4.6, 00:00:01, Serial0 / 0
C 192.168.2.0/24 is directly connected, FastEthernet0 / 0
192.168.4.0/30 is subnetted, 2 subnets
C 192.168.4.0 is directly connected, Serial0 / 1
C 192.168.4.4 is directly connected, Serial0 / 0.
Выключение маршрутных обновлений
Еще одна проблема - нежелательное передачи обновлений с некоторых интер-фейсов. Дело в том, что при применении команды network протокол RIP посылает информацию о маршруте до указанной в этой команде сети со всех интерфейсов в диапазоне адресов сети. Для отключения отправлений (но не получаемое) таких обновлений с отдельных интерфейсов можно воспользоваться командой passive-interface. Так, возвращаясь к нашей сети (см. рис. 1) видим, что отправлять RIP-обновления нецелесообразно в порты fa0 / 0 маршрутизаторов R1 - R3, поскольку в соответствующих сетей не подключены другие маршрутизаторы, а только рабочие станции. Кроме нецелесообразности такие обновления еще будут порождать лишний служебный трафик, снижает пропускную способность сети и позволяет злоумышленникам анализировать эти обновления. Итак, на маршрутизаторах R1 - R3 следует набрать команду Router (config-router) # passive-interface fa0 / 0.
Применение команды ip classless
Иногда маршрутизатор получает пакеты, предназначенные для неизвестной подсети некоторой сети, входящей в непосредственно подключенные сети устройства. Для пересылки этих пакетов по лучшим путем используется команда глобального конфигурирования ip classless [4]. Когда эта функция отключена и пакет направляется в подсеть сети, в которой нет стандартного маршрута - пакет отбрасывается маршрутизатором.
Команда ip classless не влияет на ТМ, а лишь на операцию пересылки пакета. Если маршрутизатор получает пакет с неизвестным адресом получателя, находящегося в неизвестной подсети подключенной сети, то предполагается, что такой подсети существует. Поэтому маршрутизатор отбрасывает пакет даже если существует стандартный маршрут. Выполнение команды ip classless - решает эту проблему за счет указания маршрутизатору основанной на классах границы сетей в его ТМ и просто выбирать стандартный маршрут [1].
Напомним, что при получении информации о сети RIP-маршрутизаторы полагаются на соседние маршрутизаторы. Протоколам RIP, как любому ДВП присущи проблемы, которые вызывают медленную конвергенцию. Во избежание петель маршрутизации и зацикливания пакетов протокол RIP использует: расщепление горизонта (Split horizon) изъятие маршрутов в обратном направлении (Poison reverse) таймеры удержания информации (Holddown counters) мгновенные (триггерные) обновление (Triggered updates). Некоторые из этих методов требуют дополнительного конфигурирования, некоторые - нет. В некоторых случаях необходимо отключить механизм расщепления горизонта [4]. Такое отключение выполняется с помощью комады Router (config-if) # no ip split-horizon.
Установка значений таймеров
Еще один механизм, который может потребовать изменений - это применение таймера удержания информации. Такой таймер позволяет предупредить зацикливание пакетов, однако увеличивает время конвергенции сети. Стандартно Holddown counters составляет 180 секунд. В течение этого времени запрещается обновление внутренних маршрутов, однако и настоящие альтернативные маршруты тоже не будут устанавливаться. Для ускорения конвергенции время Holddown counters может быть уменьшено. В идеальном случае - это установление этого периода содержание немного больше максимального время обновления маршрутов в данной объединенной сети [4].
Для изменения периода таймера содержание информации используется команда Rt (config-router) # timers basic update invalid holddown flush [sleeptime], где update - таймер обновления (по умолчанию 30 секунд) - задает период рассылки обновлений о ма-ршруты; invalid - таймер действительности маршрута (стандартно 180 секунд) - задает время, в течение которого маршрутизатор при отсутствии анонсов об обновлении некоторого маршрута ждет, прежде чем объявить этот маршрут недействительным. Маршрут сохраняться в ТМ пока не всплывет время таймера сброса маршрутов flush; holddown - таймер удержания (стандартно 180 секунд) - задает время, в течение которого новые сообщения об обновлении маршрутизации игнорируются flush - таймер сброса маршрутов - задает время, которое проходит до того, как маршрут будет удален с ТМ (стандартно 240 секунд).
Дополнительным параметром, влияющим на время конвергенции и подлежит конфигурированию является интервал рассылки сообщений обновлений маршрутов (по умолчанию каждые 30 секунд). Это время можно увеличить (для экономии полосы пропускания) или уменьшить (для сокращения времени конвергенции) с помощью команды
Router (config-router) # update-timer seconds.
Установка количества параллельных маршрутов
При конфигурировании протокола RIP можно установить количество параллельных маршрутов. Стандартно для большинства протоколов динамической маршрутизации в ТМ устанавливается до четырех таких маршрутов (для статических маршрутов их может быть шесть). Для изменения стандартного количества параллельных маршрутов можно использовать ко-манду
Router (config-router) # maximum-paths [number].
Анонсирование статических и стандартных маршрутов
Статические маршруты, указанные на некотором интерфейсе по умолчанию не анонсируются протоколу RIP. Если статический маршрут предназначен интерфейса, который не указан в команде network - то ни один протокол маршрутизации НЕ анонсирует такой маршрут. Разрешить анонсирования можно с помощью команды redistribute static [4].
Стандартные маршруты (маршруты по умолчанию), протоколом RIP по умолчанию тоже не анонсируются. Если нужно, чтобы такие маршруты включались в RIP-анонсов, на маршрутизаторе, где указан маршрут по умолчанию, следует выполнить команду default-information originate [4].