четверг, 25 апреля 2013 г.

BGP Timers

BGP использует таймеры для поддержания соседских отношений: 

keepalive     как часто проверять соседа(60sec default)
holdtime      через какой промежуток времени считать соседа 
              недоступным(180sec default)
min-holdtime  какое минимальное значение для holdtime разрешено
              т.е. если придется принимать соседские значения,
              они не должны быть меньше этого числа

Если сосед пытается установить отношения с holdtime меньше, чем min-holdtime, соседи останутся в состоянии active и соседство не будет установлено. (unacceptable hold time).
Если hold-time настроены у соседей по-разному, то выбирается наименьшее значение. А как же выбирается keepalive?
Вот здесь начинается магия. На сайте cisco говорится лишь:
"The keepalive timer is then set based on the negotiated hold time and the configured keepalive time."
Эмпирическим путем алгоритм определения keepalive был найден, думаю нет смысла описывать его, проще взглянуть на результаты экспериментов и понять закономерность. Главный принцип keepalive должен быть меньше holdtime как минимум в три раза: 

Первое значение(conf) настраиваемое
Второе(R1) установленное для настраиваемого роутера
Третье(R2) установленные для соседнего роутера с default-таймерам 
      
     Test#1

      keep    hold
conf  7       30
R1    7       30
R2    10      30
     Test#2
      keep    hold
conf  5       30
R1    5       30
R2    10      30

     Test#3
      keep    hold
conf  15      30
R1    10      30
R2    10      30
     Test#4
      keep    hold
conf  10      60
R1    10      60
R2    20      60
     Test#5
      keep    hold
conf  40      60
conf  20      60
conf  20      60

Настройка таймеров в Cisco IOS:
Посмотреть таймеры
#sh ip bgp neighbors x.x.x.x
Настроить таймеры
(config-router)#neighbor [ip-address | peer-group-name] timers keepalive holdtime [min-holdtime]
(config-router)#timers bgp keepalive holdtime [min-holdtime]

Комментариев нет:

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