RIP
Материал из Xgu.ru
Содержание |
[править] Описание протокола
Характеристики протокола:
- RIPv1 и RIPv2 используют UDP порт 520.
- RIPng использует UDP порт 521.
- Для передачи сообщений RIPv1 в адресе получателя используется широковещательный адрес 255.255.255.255, а RIPv2 — мультикаст адрес 224.0.0.9.
[править] Таймеры протокола
- Update timer — частота отправки обновлений протокола, по истечению таймера отправляется обновление. По умолчанию равен 30 секундам.
- Invalid timer — Если обновление о маршруте не будет получено до истечения данного таймера, маршрут будет помечен как Invalid, то есть с метрикой 16. По умолчанию таймер равен 180 секундам.
- Flush timer (garbage collection timer) — По умолчанию таймер равен 240 секундам, на 60 больше чем invalid timer. Если данный таймер истечет до прихода обновлений о маршруте, маршрут будет исключен из таблицы маршрутизации. Если маршрут удален из таблицы маршрутизации то, соответственно, удаляются и остальные таймеры, которые ему соответствовали.
- Holddown timer — Запуск таймера произойдет после того, как маршрут был помечен как не достижимый. До истечения данного таймера маршрут будет находиться в памяти для предотвращения образования маршрутной петли и по этому маршруту передается трафик. По умолчанию равен 180 секундам. Таймер не является стандартным, добавлен в реализации Cisco.
[править] Описание работы протокола
Когда маршрутизатор отправляет обновление RIP, он добавляет к метрике маршрута, которую он использует, 1 и отправляет соседу. Сосед получает обновление, в котором указано какую метрику для полученного маршрута ему использовать.
Маршрутизатор отправляет каждые 30 секунд все известные ему маршруты соседним маршрутизаторам. Но, кроме этого, для предотвращения петель и для улучшения времени сходимости, используются дополнительные механизмы:
- Split horizon — если маршрут достижим через определенный интерфейс, то в обновление, которое отправляется через этот интерфейс не включается этот маршрут;
- Triggered update — обновления отправляются сразу при изменении маршрута, вместо того чтобы ожидать когда истечет Update timer;
- Route poisoning — это принудительное удаление маршрута и перевод в состояние удержания, применяется для борьбы с маршрутными петлями.
- Poison reverse — Маршрут помечается, как не достижимый, то есть с метрикой 16 и отправляется в обновлениях.
В обновлениях RIPv2 могут передаваться до 25 сетей.
[править] RIP v2 в Cisco
[править] Базовые настройки
router(conf)# router rip router(conf-router)# version 2 router(conf-router)# network <классовая сеть>
RIPv2 бесклассовый протокол маршрутизации, но в команде network может быть указана только классовая сеть. Даже если указать сеть с маской, которая не соответствует классовой, RIP автоматически преобразует её в классовую сеть. Команда network указывает только на каких интерфейсах включить RIP, а фактическая сеть и маска будет взята из настроек интерфейса.
Включение RIP для классовой сети (команда network) значит включение его на всех интерфейсах, которые являются частью этой сети. А включение RIP на интерфейсе означает, что маршрутизатор:
- отправляет с него обновления RIP,
- слушает обновления RIP на 520 порту,
- анонсирует сеть интерфейса соседям.
Для того чтобы отключить эти функции на интерфейсе:
Функция | Как отключить |
---|---|
Отправление обновлений | Указать интерфейс как passive |
Ожидание обновлений | Фильтровать входящие обновления с помощью distribute list |
Анонсирование сети | Фильтровать исходящие обновления с помощью distribute list на остальных интерфейсах (указать сеть интересующего интерфейса) |
[править] Особенности анонсирования сетей
- RIP по умолчанию выполняет суммирование маршрутов на границах сетей.
- RIP не анонсирует суперсети (сети, у которых маска меньше классовой, например, 192.168.0.0/20)
- RIP анонсирует маршруты к хостам (маска 32)
Схема (используется классовый протокол маршрутизации):
10.10.11.0/24--(R1)--10.10.12.0/24--(R2)--192.168.1.0/24--(R3)--10.10.13.0/24--(R4)--10.10.14.0/24
Информация о сети 10.10.11.0/24 не дойдет до R4. R2 передаст к R3 информацию о классовой сети 10.0.0.0/8, но у R3 есть более специфический маршрут в сеть 10.0.0.0/8, то он не будет анонсировать эту информацию R4.
[править] Маршрут по умолчанию
[править] Команда default-information originate
Синтаксис команды:
dyn3(config-router)# default-information originate [route-map <map-name>]
RIP будет анонсировать маршрут по умолчанию, даже если маршрута по умолчанию нет в таблице маршрутизации.
[править] Команда redistribute static
Если в таблице маршрутизации есть статический маршрут по умолчанию, то можно анонсировать его с помощью команды redistribute static.
Синтаксис команды:
dyn3(config-router)# redistribute static [metric <metric>] [route-map <map-name>]
[править] Суммирование маршрутов
Маршрутизатор может суммировать сети:
- автоматически, суммируя подсети в классовую сеть на границе классовой сети (auto-summary),
- в соответствии с настройками, анонсируя указанную сеть на интерфейсе.
[править] Автоматическое суммирование
Автоматическое суммирование маршрутов перебивает настройки суммарного маршрута на интерфейсе, за исключением случая когда выполняются следующие условия:
- Настроенный суммарный адрес на интерфейсе и IP-адрес интерфейса разделяют общую классовую сеть,
- split horizon выключен на интерфейсе
int fa0/0 ip add 10.10.10.1 255.255.255.0 ip summary-address rip 10.20.0.0 255.255.0.0 no ip split-horizon router rip network 10.0.0.0
[править] Административное суммирование
Настройка суммарного маршрута:
router(config-if)# ip summary-address rip 10.1.1.0 255.255.255.0
[править] Ограничения суммирования маршрутов в RIP
RIP не позволяет настраивать суммарный маршрут с маской, которая меньше классовой (supernet). Например, нельзя настроить суммарный маршрут 10.0.0.0/6:
router(config-if)# ip summary-address rip 10.0.0.0 252.0.0.0 Summary mask must be greater or equal to major net
OSPF и EIGRP такое сделать позволяют.
У каждого суммарного маршрута настроенного на интерфейсе маршрутизатора должна быть уникальная классовая сеть. RIP не позволяет настраивать несколько суммарных подсетей из одной классовой сети на одном интерфейсе. Например, такие суммарные маршруты не разрешены:
interface FastEthernet 0/0 ip summary-address rip 10.1.0.0 255.255.0.0 ip summary-address rip 10.2.0.0 255.255.0.0
|
В новых версиях IOS это ограничение снято. |
[править] Просмотр настроек
[править] База данных маршрутов RIP
В базе данных хранятся такие маршруты:
- все маршруты, которые были получены по протоколу RIP,
- все непосредственно присоединённые сети, которые RIP анонсирует соседям,
- суммарные маршруты.
|
Если маршрут RIP не может быть помещен в таблицу маршрутизации (существует другой маршрут с лучшим значением AD), то он не хранится в базе данных маршрутов RIP. |
Просмотр базы данных маршрутов RIP:
router# show ip rip database
[править] Работа с таймерами
В таблице маршрутизации, в каждом маршруте, который получен по протоколу RIP указан Invalid timer:
router# show ip route
Когда маршрут находится в таблице маршрутизации в состоянии possibly down, это значит, что Invalid timer истек, а Flush timer еще нет:
router# show ip route
Для того чтобы посмотреть информацию о текущем значении таймера flush, необходимо дать команду:
router# show ip route <сеть назначения>
Изменение значений таймеров RIP:
router(conf)# router rip router(conf-router)# timers basic <update invalid hold-down flush>
Для ускорения процесса сходимости можно удалить маршруты из таблицы маршрутизации (это приведет к тому, что и все таймеры RIP обнулятся).
Удалить можно все маршруты:
router# clear ip route *
или маршрут к конкретной сети:
router# clear ip route <сеть назначения>
[править] Дополнительные возможности
[править] Проверка адреса отправителя обновления
Отключить проверку:
router(config-router)# no validate-update-source
[править] Triggered extension to RIP
Triggered extension to RIP — дополнительный функционал, который позволяет RIP отправлять полную информацию о всех маршрутах только один раз и после этого не отправлять её. Функция разработана для demand circuit и описана в RFC 2091. Включается на интерфейсе командой ip rip triggered.
[править] Статическое указание соседа
Для того чтобы ограничить отправления обновлений в сети с множественным доступом можно использовать команду neighbor. До этого надо указать интерфейс как passive. Тогда, после выполнения команды neighbor, RIP будет отправлять обновления unicast-пакетами только указанному соседу.
Статическое указание соседа:
router(conf)# router rip router(conf-router)# passive-interface <interface> router(conf-router)# neighbor <ip-address>
[править] Split horizon
Split horizon по умолчанию включён на всех интерфейсах, кроме случаев когда Frame Relay настроен с IP-адресом на физическом интерфейсе.
Отключить split horizon на интерфейсе:
router(conf-if)# no ip split-horizon
[править] Offset List
Offset list — механизм для увеличения входящей или исходящей метрики маршрутов, которые были выучены через RIP. Можно применить offset list к конкретному интерфейсу или с помощью ACL отфильтровать конкретные сети для которых надо увеличить метрику.
Создание offset list:
router(conf)# router rip router(conf-router)# offset-list [access-list-number | name] {in | out} offset [type number]
[править] RIP в ProCurve
- Основная страница: RIP в ProCurve
[править] Дополнительная информация
|
---|