воскресенье, августа 14, 2016

Непонятки в работе таймера Holddown протокола RIP

Добрый день уважаемые читатели. При написании статьи  о работе таймера Holddown протокола RIP столкнулся с некоторой непоняткой. Спешу ей с вами поделиться.

При штудировании материалов всемирной сети, мною было встречено несколько вариантов описания функционирования таймера Holddown протокола RIP, для себя я сформулировал их вот так:
  • Этот таймер включается после истечения таймера Invalid, для какого либо маршрута. Во время действия данного таймера, все обновления приходящие через интерфейсы, отличные от интерфейса через который был получен первоначальный маршрут, игнорируются.
  • Этот таймер включается при получении обновления о каком либо маршруте, содержащем метрику 16. Во время действия данного таймера, все обновления приходящие через интерфейсы, отличные от интерфейса через который был получен первоначальный маршрут, игнорируются.

Скажу сразу что в реальности у меня так и не получилось заметить работу данного таймера.

Тестирования я проводил в Packet Tracer (проводил так же и в GNS3, получил абсолютно другие результаты, но работу таймеров Holddown так и не обнаружил. Такое ощущение что таймеры протокола RIP работаю несколько по разному в GNS3 и Packet Tracer).

Тестовая сеть имеет следующий вид:
Тестовая сеть для проверки таймера Holddown протокола RIP

Конфигурация Router0:

interface FastEthernet0/0
 ip address 192.168.1.1 255.255.255.0
!
interface FastEthernet0/1
 ip address 192.168.4.1 255.255.255.0
!
interface FastEthernet1/0
 ip address 172.20.20.1 255.255.255.252
!
router rip
 version 1
 network 172.20.0.0
 network 192.168.1.0
 network 192.168.4.0

Конфигурация Router1:

interface FastEthernet0/0
 ip address 192.168.6.2 255.255.255.0
!
interface FastEthernet0/1
 ip address 192.168.5.2 255.255.255.0
!
router rip
 version 1
 passive-interface FastEthernet0/0
 network 192.168.5.0
 network 192.168.6.0

Конфигурация Router2:

interface FastEthernet0/0
 ip address 192.168.5.1 255.255.255.0
!
interface FastEthernet0/1
 ip address 192.168.2.1 255.255.255.0
!
interface FastEthernet1/0
 ip address 172.20.20.2 255.255.255.252
!
router rip
 version 1
 network 172.20.0.0
 network 192.168.2.0
 network 192.168.5.0

Конфигурация Router3:

interface FastEthernet0/0
 ip address 192.168.4.2 255.255.255.0
!
interface FastEthernet0/1
 ip address 192.168.6.1 255.255.255.0
!
router rip
 version 1
 network 192.168.4.0
 network 192.168.6.0

Конфигурация Router4:

interface FastEthernet0/0
 ip address 192.168.2.2 255.255.255.0
!
interface FastEthernet0/1
 ip address 192.168.9.1 255.255.255.0
!
!
router rip
 version 1
network 192.168.2.0
 network 192.168.9.0

Конфигурация Router5:

interface FastEthernet0/0
 ip address 192.168.9.2 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 192.168.9.1

Давайте выставим значения таймеров на всех маршрутизаторах следующим образом:

timers basic 30 60 180 240

Исходя из данного положения, наши обновления будут рассылаться каждые 30 секунд. Через 60 секунд маршрут будет помечен как недоступный.Далее возможно два варианта исходя из трактовки определения таймера Holddown:
  • Через 60 секунд, по истечении таймера Invalid, включится таймер Holddown, который запретит принятие обновлений об отказавшем маршруте. Таймер Holddown имеет длительность 180 секунд. По истечении этих 180 секунд, как раз настанет время таймера Flush и маршрут будет благополучно удален.
  • Маршрутизатор примет обновление с метрикой 16 и включит таймер Holddown на 180 секунд, дождется истечения таймера Invalid и пометит маршрут как недоступный. Таймер Holddown истекает через 180 секунд. То есть остается немногим более 60 секунд до срабатывания таймера Flush. Если в этот промежуток времени придет обновление маршрута с метрикой меньше 16, то оно будет добавлено в таблицу маршрутизации.

Это все теория, посмотрим что произойдет на практике.Погасим интерфейс Fa0/1 маршрутизатора 4, и посмотрим что будет происходить с маршрутом к сети 192.168.9.0 на маршрутизаторе 2. Выполняем это в 01:11:12. Далее в 01:11:42 смотрим таблицу маршрутизации маршрутизатора 2:

C       172.20.20.0 is directly connected, FastEthernet1/0
R    192.168.1.0/24 [120/1] via 172.20.20.1, 00:00:01, FastEthernet1/0
C    192.168.2.0/24 is directly connected, FastEthernet0/1
R    192.168.4.0/24 [120/1] via 172.20.20.1, 00:00:01, FastEthernet1/0
C    192.168.5.0/24 is directly connected, FastEthernet0/0
R    192.168.6.0/24 [120/1] via 192.168.5.2, 00:00:06, FastEthernet0/0
R    192.168.9.0/24 [120/1] via 192.168.2.2, 00:00:49, FastEthernet0/1

Дебаги показывают что мы не получали обновления с метрикой 15. На данный момент все поддается логике определения №1. В 01:12:09 видим вот такую картину:

C       172.20.20.0 is directly connected, FastEthernet1/0
R    192.168.1.0/24 [120/1] via 172.20.20.1, 00:00:00, FastEthernet1/0
C    192.168.2.0/24 is directly connected, FastEthernet0/1
R    192.168.4.0/24 [120/1] via 172.20.20.1, 00:00:00, FastEthernet1/0
C    192.168.5.0/24 is directly connected, FastEthernet0/0
R    192.168.6.0/24 [120/1] via 192.168.5.2, 00:00:07, FastEthernet0/0
R    192.168.9.0/24 is possibly down, routing via 192.168.2.2, FastEthernet0/1







Пока что все поддается логике определенияя №1.

Потом В 01:12:37 прилетает обновление о сети 192.168.9.0 гуляющее по кольцу (Еще не все маршрутизаторы кольца знают что сеть 192.168.9.0 недоступна):

*??? 01, 01:12:31.1212: IP: received v1 update from 192.168.5.2 on FastEthernet0/0
*??? 01, 01:12:31.1212:      192.168.4.0 in 2 hops
*??? 01, 01:12:31.1212:      192.168.6.0 in 1 hops
*??? 01, 01:12:31.1212:      192.168.9.0 in 5 hops

И что мы видим:

??? 01, 01:12:31.1212: T: del 192.168.9.0 via 192.168.2.2, rip metric [120/16]
*??? 01, 01:12:31.1212: RT: delete network route to 192.168.9.0
*??? 01, 01:12:31.1212: RT: NET-RED 192.168.9.0/24

*??? 01, 01:12:31.1212: T: SET_LAST_RDB for 192.168.9.0/24
*??? 01, 01:12:31.1212:     NEW rdb: via 192.168.5.2
*??? 01, 01:12:31.1212:
RT: add 192.168.9.0/24 via 192.168.5.2, rip metric [120/5]
*??? 01, 01:12:31.1212: RT: NET-RED 192.168.9.0/24

Ну или вот так:

C       172.20.20.0 is directly connected, FastEthernet1/0
R    192.168.1.0/24 [120/1] via 172.20.20.1, 00:00:02, FastEthernet1/0
C    192.168.2.0/24 is directly connected, FastEthernet0/1
R    192.168.4.0/24 [120/1] via 172.20.20.1, 00:00:02, FastEthernet1/0
C    192.168.5.0/24 is directly connected, FastEthernet0/0
R    192.168.6.0/24 [120/1] via 192.168.5.2, 00:00:08, FastEthernet0/0
R    192.168.9.0/24 [120/5] via 192.168.5.2, 00:00:08, FastEthernet0/0

То есть что мы имеем. Мы отключили интерфейс на маршрутизаторе 4 в 01:11:12, а в 01:12:31 у нас уже добавился новый неверный маршрут в таблицу маршрутизации маршрутизатора 2. Между этими событиями прошло всего 79 секунд, то есть время работы таймера Holddown, в любом случае не могло еще истечь. С чем этом может быть связано? Может у кого то есть версии?

0 коммент.:

Отправить комментарий