11.5 Защита в Spanning Tree

11. Spanning Tree Protocols

11.5 Защита в Spanning Tree

 Для защиты топологии Spanning Tree от несанкционированных и незапланированных изменений существует несколько способов:

  • BPDU Protection
  • Loop Protection
  • Root Protection

Рассмотрим подробнее каждую из перечисленных технологий.BPDU Protection

Для создания loop-free коммутируемой топологии Spanning Tree использует BPDU. Несанкционированный коммутатор, подключенный к корпоративной сети, может генерировать BPDU. При «правильной» настройке этого коммутатора можно добиться, чтобы генерируемые им BPDU вызвали перестроение топологии Spanning Tree в корпоративной сети и даже образование петель коммутации.

С помощью технологии BPDU Protection можно предотвратить «рассмотрение» протоколом Spanning Tree нежданных BPDU. BPDU Protection, запущенный на порту коммутатора отключит порт (и соответственно пересылку им трафика) при получении на нём BPDU. BPDU Protection можно настроить на коммутаторе, на котором работает или даже не работает Spanning Tree.

Настройка BPDU Protection на Juniper производится в «секции» [edit protocols rstp] командой bpdu-block-on-edge:

[edit protocols rstp]
user@switch1# show
interface ge-1/3/6 {
     edge;
}
interface ge-1/3/7 {
     edge;
}
bpdu-block-on-edge;

Проверка BPDU Protection на Juniper осуществляется следующим образом:

  • На коммутаторах с включённым Spanning Tree командой show spanning-tree interface
  • На коммутаторах с выключенным Spanning Tree командой show l2-learning interface

Вывод этих команд даёт информацию по изменениям состояния и роли портов, на которых включен BPDU Protection. При получении BPDU состояние/роль порта изменяется следующим образом:

  • FWD состояние изменяется на BLK
  • DESG роль изменяется на DIS (loop inconsistent)
  • unblocked изменяется на blocked

Есть ещё возможность просмотреть интерфейсы, находящиеся в заблокированном состоянии (???) в «секции» [edit protocols layer2-control] командой:

[edit protocols layer2-control]
user@switch1# show
bpdu-lock {
     interface [ ge-1/3-6  ge-1/3/7];

Когда интерфейс заблокирован BPDU Protection Juniper, его можно разблокировать командой:

clear error bpdu interface


Loop Protection

Ошибки в ПО коммутатора или конфигурации могут ошибочно перевести интерфейс в заблокированном состоянии в состояние пересылки. Или же nondesignated-порт перестанет принимать superior BPDU от Designated-коммутатора, тем самым переведя порт в состояние пересылки. И то и другое что может вызвать образование петель коммутации.

При включении Loop Protection, топология Spanning Tree определяет root и alternate-порты и что все они получают BPDU. Когда такой порт перестаёт получать BPDU от своего designated-порта, он подразумевает потерю физической связи и переводит интерфейс в loop-inconsistent (то же, что и заблокированное) состояние. При восстановлении поступления BPDU интерфейс переводится обратно в заблокированное состояние.

Loop Protection рекомендуется включать на всех портах коммутатора, которые могут стать root или designated портами. Loop Protection работает наиболее эффективно, когда она включена на всех коммутаторах в сети.

Нельзя одновременно включить на одном интерфейсе и Loop Protection и Root Protection.

Настройка Loop Protection на Juniper.

Рассмотрим следующую топологию:11-5-1Интерфейс ge-1/0/0 коммутатора C является альтернативным и блокирует трафик между коммутатором B и C напрямую, но проходит вместо этого через коммутатор A. BPDU отправляются от Root Bridge’а A к обоим коммутаторам B и C. Коммутатор C получает BPDU как от коммутатора A напрямую, так и через коммутатор B.

Теперь представим, что из-за неисправности порта ge-1/0/1 на коммутаторе B, коммутатор C перестал принимать BPDU от коммутатора B, хотя линки на обоих интерфейсах (ge-1/0/1 на коммутаторе B и ge-1/0/0 на коммутаторе C) в UP’е.

Без использования Loop Protection коммутатор C мог изменить состояние своего порта ge-1/0/0 в состояние пересылки, вызвав при этом образование петли коммутации. При использовании настройки Loop Protection на интерфейсе ge-1/0/0 коммутатора C, изображённой на рисунке, интерфейс ge-1/0/0 коммутатора C не переведётся из заблокированного состояния в состояние пересылки.

Настройка выполняется в «секции» [edit protocols rstp] на per-interface основе командой bpdu-timeout-action block:

[edit protocols rstp]
user@switch1# show
interface ge-1/3/6 {
     bpdu-timeout-action {
          block;
}

Проверка Loop Protection на Juniper.

Перед включением Loop Protection можно проверить состояния и роли портов командой show spanning-tree interface. Этой командой проверяем состояния портов, которые должны находится в состоянии BLK. Как только перестают поступать BPDU и отрабатывает Loop Protection, этой же командой проверяем заново состояние и роли портов в Spanning Tree. Порт, защищённый Loop Protection будет находиться теперь в состоянии  loop-inconsistent. При этом состояние BLK остаётся состоянием BLK, а роль альтернативного порта ALT сменится на DIS (loop-inconsistent).


Root Protection

Задействует защиту на порту от получения Superior BPDU и не даёт данному порту стать Root-портом, таким образом препятствуя появлению в сети нового Root Bridge’а, который может являться несанкционированным. Если порт с настроенной Root Protection получит Superior BPDU, то этот порт переведётся в «inconsistency state» и будет заблокирован. После прекращения получения Superior BPDU на таком порту, он автоматически пройдёт через состояния Listening -> Learning и вернётся в состояние Forwarding.

Настройка Root Protection на Juniper выполняется в «секции» [edit protocols rstp] на per-interface основе командой no-root-port:

[edit protocols rstp]
user@switch1# show
interface ge-1/3/6 {
     no-root-port;
}

Проверка Root Protection на Juniper.

Перед включением Root Protection можно проверить состояния и роли портов командой show spanning-tree interface. После включения Root Protection на интерфейсе и получения Superior BPDU на этом интерфейсе, этой же командой увидим, что:

  • FWD состояние изменяется на BLK
  • DESG роль изменяется на DIS (loop/root (???) inconsistent)

Когда Superior BPDU на данном интерфейсе перестанут поступать, порт автоматически вернётся к своему исходному состоянию и роли.

К оглавлению

Добавить комментарий