12.3. Настройка RIPng
Назначение
Протокол RIPng предназначен для реализации динамической маршрутизации преимущественно в небольших компьютерных IPv6-сетях.
Описание
RIPng (Routing Information Protocol Next Generation) - это протокол динамической IPv6-маршрутизации, позволяющий маршрутизаторам обмениваться маршрутной информацией (в соответствии с RFC RFC 2080).
RIP является протоколом дистанционно-векторной маршрутизации и для нахождения наикратчайшего маршрута использует количество транзитных участков (метрику). Если маршрутизатор получает информацию от другого маршрутизатора, содержащую более короткий путь, старый маршрут заменяется на новый. Новый путь добавляется в таблицу, которая анонсируется другим маршрутизаторам. Маршрутизатор, передавший информацию о используемом маршруте, отмечается в таблице маршрутизации как следующийузел (next-hop).
Маршрутизаторы, использующие RIP, также могут изменять метрику маршрута, как правило, путем ее добавления, чтобы изменить выбор маршрута. В этом случае фактическое количество транзитных участков на маршрутах может быть одинаковым, однако метрика одного из маршрутов административно будет иметь более высокое значение. Максимальная допустимая для RIP метрика равна 15
. Пункт назначения с более высокой метрикой считается недостижимым.
RIPng имеет следующие ключевые отличия от RIP:
Номер UDP-порта: RIPng использует UDP-порт номер
521
для отправки или получения пакетов.Адрес мультикаст-рассылки: RIPng использует
FF02::9
для рассылки пакетов на другие маршрутизаторы локального канала.Адрес nexthop: RIPng использует 128-битный IPv6-адрес.
Адрес источника: RIPng использует IPv6 link-local адрес
FE80::/10
при отправке обновлений соседним устройствам.
Настройка
В данной главе приведены примеры базовой конфигурации RIPng. Для получения подробной информации о командах, используемых в примерах, или для вывода результатов см. Справочник по командам.
Включение RIPng
Ниже показана настройка коммутаторов в соответствии с представленной конфигурацией сети.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Включение IPv6
Switch(config)# ipv6 enable
Шаг 3: Настройка портов
На коммутаторе “Switch1”:
Switch(config)# interface eth-0-12
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:db8:12::1/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
Switch(config)# interface eth-0-48
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:db8:48::2/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
На коммутаторе “Switch2”:
Switch(config)# interface eth-0-12
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:db8:12::2/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
Switch(config)# interface eth-0-48
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:ab8:49::2/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
Шаг 4: Выход из режима “Global config”
Switch(config)# end
Шаг 5: Проверка
На коммутаторе “Switch1”:
Switch# show ipv6 rip database
Codes: R - RIP, Rc - RIP connected, Rs - RIP static, Ra - RIP aggregated,
Rcx - RIP connect suppressed, Rsx - RIP static suppressed,
K - Kernel, C - Connected, S - Static, O - OSPF, I - IS-IS, B - BGP
Network Next Hop If Met Tag Time
R 2001:ab8:49::/64 fe80::1271:d1ff:fec8:3300 eth-0-12 5 0 00:02:34
Rc 2001:db8:12::/64 :: eth-0-12 1 0
Rc 2001:db8:48::/64 :: eth-0-48 1 0
Switch# show ipv6 rip interface
eth-0-12 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:db8:12::1/64
fe80::7e14:63ff:fe76:8900/10
eth-0-48 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:db8:48::2/64
fe80::7e14:63ff:fe76:8900/10
Switch# show ipv6 protocols rip
Routing Protocol is "ripng"
Sending updates every 30 seconds with +/-5 seconds, next due in 7 seconds
Timeout after 180 seconds, garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Default redistribute metric is 1
Redistributing:
Interface
eth-0-12
eth-0-48
Routing for Networks:
Number of routes (including connected): 3
Distance: (default is 120)
Switch# show ipv6 route rip
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
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
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
R 2001:ab8:49::/64 [120/5]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:26:05
На коммутаторе “Switch2”:
Switch# show ipv6 rip database
Codes: R - RIP, Rc - RIP connected, Rs - RIP static, Ra - RIP aggregated,
Rcx - RIP connect suppressed, Rsx - RIP static suppressed,
K - Kernel, C - Connected, S - Static, O - OSPF, I - IS-IS, B - BGP
Network Next Hop If Met Tag Time
Rc 2001:ab8:49::/64 :: eth-0-48 1 0
Rc 2001:db8:12::/64 :: eth-0-12 1 0
R 2001:db8:48::/64 fe80::7e14:63ff:fe76:8900 eth-0-12 2 0 00:02:33
Switch# show ipv6 rip interface
eth-0-12 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:db8:12::2/64
fe80::1271:d1ff:fec8:3300/10
eth-0-48 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:ab8:49::2/64
fe80::1271:d1ff:fec8:3300/10
Switch# show ipv6 protocols rip
Routing Protocol is "ripng"
Sending updates every 30 seconds with +/-5 seconds, next due in 13 seconds
Timeout after 180 seconds, garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Outgoing routes will have 3 added to metric if on list ripng_acl
Default redistribute metric is 1
Redistributing:
Interface
eth-0-12
eth-0-48
Routing for Networks:
Number of routes (including connected): 3
Distance: (default is 120)
Switch# show ipv6 route rip
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
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
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
R 2001:db8:48::/64 [120/2]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:23:31
Настройка параметров метрик
Offset list - механизм, позволяющий изменять метрики маршрутов. Offset list может быть применен к конкретному интерфейсу или с помощью ACL могут быть отфильтрованы конкретные сети для которых требуется изменение метрики.
Изменением метрики пользователь может повлиять на выбор маршрута коммутатором.
Offset list состоит из следующих параметров:
ACL, определяющий маршруты, для которых нужно изменить метрику.
Направление (In - получение маршрутов, Out - отправка маршрутов).
Значение смещения.
Интерфейс, к которому применяется смещение (необязательно).
Если маршрут соответствует как глобальному изменению метрики (в соответствии с ACL), так и изменению, примененному к интерфейсу, приоритет имеет изменение метрики на интерфейсе.
В примере ниже показана настройка коммутаторов в соответствии с представленной сетевой конфигурацией.
В данном примере коммутатор “Switch1” настроен на анонсирование маршрута 2001:db8:48::2/64
с порта “eth-0-12” с метрикой 3
.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.
Шаг 1: Вывод текущей конфигурации
На коммутаторе “Switch1”:
Switch# show running-config
!
ipv6 enable
!
Switch# show run
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
На коммутаторе “Switch2”:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
Вывод состояния RIPng на коммутаторе “Switch2”:
Switch# show ipv6 route rip
R 2001:db8:48::/64 [120/2]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:44:47
Шаг 2: Вход в режим “Global config”
Switch# configure terminal
Шаг 3: Создание ACL
Switch(config)# ipv6 access-list ripngoffset
Switch(config-ipv6-acl)# permit any 2001:db8:48::/64 any
Switch(config-ipv6-acl)# exit
ВНИМАНИЕ!
Перед выполнением команды ipv6 access-list
необходимо установить профиль STM “default” или “IPv6”.
Шаг 4: Применение ACL
Switch(config)# router ipv6 rip
Switch(config-router)# offset-list ripngoffset out 3 eth-0-12
Switch(config-router)# exit
Шаг 5: Выход из режима “Global config”
Switch(config)# end
Шаг 6: Проверка
На коммутаторе “Switch2”:
Switch# show ipv6 route rip
R 2001:db8:48::/64 [120/5]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:00:07
Настройка административного расстояни
По умолчанию RIPng назначает административное расстояние, равное 120
. При сравнении маршрутов на основе административного расстояния маршрутизатор выбирает маршрут с меньшим расстоянием. Пользователь может изменить административное расстояние для маршрутов RIPng.
В примере ниже показана настройка коммутаторов в соответствии с представленной сетевой конфигурацией.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.
Шаг 1: Вывод текущей конфигурации
На коммутаторе “Switch1”:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
На коммутаторе “Switch2”:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
Проверка состояния RIPng на коммутаторе “Switch2”:
Switch# show ipv6 route rip
R 2001:db8:48::/64 [120/2]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:44:47
Шаг 2: Вход в режим “Global config”
Switch# configure terminal
Шаг 3: Изменение административного расстояния
Switch(config)# router ipv6 rip
Switch(config-router)# distance 100
Switch(config-router)# exit
Шаг 4: Выход из режима “Global config”
Switch(config)# end
Шаг 5: Проверка
Switch# show ipv6 route rip
R 2001:db8:48::/64 [100/5]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:00:09
Настройка редистрибуции
Пользователь может настроить коммутатор на редистрибуцию в RIPng статических маршрутов, маршрутов с прямым подключением или маршрутов, полученных с помощью OSPFv3. После редистрибуции маршрута в RIPng, коммутатор может использовать RIPng для анонсирования маршрута соседним коммутаторам.
При редистрибуции пользователь может изменить метрику по умолчанию на значение до 16
. По умолчанию коммутатор назначает каждому редистрибутированному маршруту метрику RIPng, равную 1
.
В примере ниже показана настройка коммутаторов в соответствии с представленной сетевой конфигурацией.
В случае отсутствия конкретных указаний, настройка выполняется на коммутаторе “Switch2”.
Шаг 1: Вывод текущей конфигурации
На коммутаторе “Switch1”:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
На коммутаторе “Switch2”:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
!
interface eth-0-13
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:13::1/64
ipv6 router ospf area 0
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
router ipv6 ospf
router-id 1.1.1.1
На коммутаторе “Switch3”:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-1
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:1::1/64
ipv6 router ospf area 0
!
interface eth-0-13
no switchport
ipv6 address 2001:db8:13::2/64
ipv6 router ospf area 0
!
router ipv6 ospf
router-id 2.2.2.2
!
Вывод состояния RIPng на коммутаторе “Switch1”:
Switch# show ipv6 route rip
R 2001:ab8:48::/64 [120/5]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 01:43:37
Вывод состояния RIPng на коммутаторе “Switch2”:
Switch# show ipv6 route
O 2001:db8:1::/64 [110/2]
via fe80::5c37:1dff:febe:2d00, eth-0-13, 00:31:17
R 2001:db8:48::/64 [100/5]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:49:57
Шаг 2: Вход в режим “Global config”
Switch# configure terminal
Шаг 3: Включение редистрибуции, ввод метрики по умолчанию и метрики редистрибуции
Switch(config)# router ipv6 rip
Switch(config-router)# default-metric 2
Switch(config-router)# redistribute ospfv3 metric 5
Switch(config-router)# exit
Шаг 4: Выход из режима “Global config”
Switch(config)# end
Шаг 5: Проверка
На коммутаторе “Switch1”:
Switch# show ipv6 route rip
R 2001:ab8:48::/64 [120/5]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 01:48:23
R 2001:db8:1::/64 [120/6]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:00:19
Настройка Split-horizon
Механизм Split-horizon предназначен для уменьшения вероятности возникновения петель маршрутизации в IP-сетях широковещательного типа, в которых используются протоколы дистанционно-векторной маршрутизации. Механизм блокирует пересылку маршрутной информации в интерфейс, из которого эта информация поступила.
Механизм Split-horizon включает такие маршруты в список для анонсирования, но устанавливает их метрики равными бесконечности, что обозначает их недоступность. Обычно это оптимизирует связь между несколькими маршрутизаторами.
Подсказка
В нешироковещательных сетях (таких как Frame Relay) могут возникнуть ситуации, для которых работа Split-horizon не является оптимальным решением. В подобных ситуациях может потребоваться отключение данного механизма.
Ниже показана настройка коммутаторов в соответствии с представленной конфигурацией сети.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.
Шаг 1: Вывод текущей конфигурации
На коммутаторе “Switch1”:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
На коммутаторе “Switch2”:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
Включение режима отладки на коммутаторе “Switch2”
Switch# debug ipv6 rip packet send detail
Switch# terminal monitor
Шаг 2: Вход в режим “Global config”
Switch# configure terminal
Шаг 3: Установка Split-horizon на порте
Отключение split-horizon:
Switch(config)# interface eth-0-12
Switch(config-if)# no ipv6 rip split-horizon
Switch(config-if)# exit
Отладочная информация:
Oct 24 10:00:06 Switch RIPNG6-7: SEND[eth-0-12]: Send to [ff02::9]:521
Oct 24 10:00:06 Switch RIPNG6-7: SEND[eth-0-12]: RESPONSE version 1 packet size 64
Oct 24 10:00:06 Switch RIPNG6-7: 2001:ab8:49::/64 metric 4 tag 0
Oct 24 10:00:06 Switch RIPNG6-7: 2001:db8:12::/64 metric 1 tag 0
Oct 24 10:00:06 Switch RIPNG6-7: 2001:db8:48::/64 metric 5 tag 0
Включение Split horison:
Switch(config)# interface eth-0-12
Switch(config-if)# ipv6 rip split-horizon
Switch(config-if)# exit
Отладочная информация:
Oct 24 10:05:16 Switch RIPNG6-7: SEND[eth-0-12]: Send to [ff02::9]:521
Oct 24 10:05:16 Switch RIPNG6-7: SEND[eth-0-12]: RESPONSE version 1 packet size 44
Oct 24 10:05:16 Switch RIPNG6-7: 2001:ab8:49::/64 metric 4 tag 0
Oct 24 10:05:16 Switch RIPNG6-7: 2001:db8:12::/64 metric 1 tag 0
Шаг 3: Выход из режима “Global config”
Switch(config)# end
Шаг 4: Проверка
Switch# show ipv6 rip interface
eth-0-12 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Disabled
IPv6 interface address:
2001:ab8:48::2/64
2001:db8:12::2/64
fe80::7eff:80ff:fef4:ff00/10
Настройка таймеров
Поддерживается изменение некоторых таймеров RIPng. Пользователь может настроить данные таймеры, чтобы подстроить работу RIPng под Ваши нужды.
Доступны настройки следующих таймеров:
Частота отправки обновлений маршрутизации.
Интервал времени (в секундах), по истечении которого маршрут объявляется недействительным.
Интервал времени (в секундах), по истечении которого маршрут будет удален из таблицы маршрутизации.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Установка таймеров
Установка таймера обновления таблицы маршрутизации в 10
секунд, таймера частоты отправки обновлений маршрутизации в 180
секунд, таймера удаления из таблицы маршрутизации в 120
секунд:
Switch(config)# router ipv6 rip
Switch(config-router)# timers basic 10 180 120
Switch(config-router)# exit
Шаг 3: Выход из режима “Global config”
Switch(config)# end
Шаг 4: Проверка
Switch# show ipv6 protocols rip
Routing Protocol is "ripng"
Sending updates every 10 seconds with +/-5 seconds, next due in 5 seconds
Timeout after 180 seconds, garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Outgoing routes will have 3 added to metric if on list ripng_acl
Default redistribute metric is 2
Redistributing:
Interface
eth-0-12
eth-0-48
Routing for Networks:
Number of routes (including connected): 3
Distance: (default is 100)
Настройка фильтров распределения маршрутов
Фильтр анонсирования RIP позволяет разрешить или запретить прием или отправку определенных маршрутов.
Список анонсирования состоит из следующих параметров:
ACL или список префиксов, которые фильтруют маршруты.
Направление (In - принимаемые, Out - отправляемые).
Интерфейс, к которому применяется фильтр (необязательно).
Ниже показана настройка коммутаторов в соответствии с представленной конфигурацией сети.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.
Шаг 1: Вывод текущей конфигурации
На коммутаторе “Switch1”:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
На коммутаторе “Switch2”:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
!
interface eth-0-13
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:13::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
Вывод состояния RIPng на коммутаторе “Switch1”:
Switch# show ipv6 route rip
R 2001:ab8:48::/64 [120/5]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:18:29
R 2001:db8:13::/64 [120/2]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:03:37
Шаг 2: Вход в режим “Global config”
Switch# configure terminal
Шаг 3: Создание префикс-листа IPv6
Switch(config)# ipv6 prefix-list ripngfilter seq 5 deny 2001:db8:48::/64
Switch(config)# ipv6 prefix-list ripngfilter seq 10 permit any
Примечание
Для получения более подробной информации см. главу “Настройка префикс-листов IPv6”.
Шаг 4: Применение префикс-листа IPv6
Switch(config)# router ipv6 rip
Switch(config-router)# distribute-list prefix ripngfilter out eth-0-12
Switch(config-router)# exit
Шаг 5: Выход из режима “Global config”
Switch(config)# end
Шаг 6: Проверка
На коммутаторе “Switch1”:
Switch# show ipv6 route rip
R 2001:db8:13::/64 [120/2]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:03:37