MSTP

Материал из xapmc.net
Перейти к: навигация, поиск
Задача

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

Решение

В это нам поможет протокол MSTP. Приступим. Оборудование, которым мы располагаем:

Вендор Модель Имя
1. Juniper srx100 srx100-13
2. Juniper srx100 srx100-14
3. Juniper srx100 srx100-15
Схема сети

MSTP-srx100.png

На juniper srx 100 по умолчанию включен протокол STP. Давайте проверим.

root@srx100-15# show protocols | display set 
set protocols stp

Теперь проверим состояние портов, когда работает STP. На 15:

root@srx100-15# run show spanning-tree interface 

Spanning tree interface parameters for instance 0

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/2.0     128:515      128:515  32768.a8d0e51c0088    200000  BLK    ALT  
fe-0/0/3.0     128:516      128:514  32768.40b4f0585908    200000  FWD    ROOT

На 13

root@srx100-13# run show spanning-tree interface 

Spanning tree interface parameters for instance 0

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/1.0     128:514      128:514  32768.40b4f0585908    200000  FWD    DESG 
fe-0/0/2.0     128:515      128:515  32768.40b4f0585908    200000  FWD    DESG

На 14

root@srx100-14# run show spanning-tree interface 

Spanning tree interface parameters for instance 0Y

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/1.0     128:514      128:515  32768.40b4f0585908    200000  FWD    ROOT 
fe-0/0/2.0     128:515      128:515  32768.a8d0e51c0088    200000  FWD    DESG 

Видим, что 13 стал корневым для всех и роль на портах его стала DESG. На 15 порт fe-0/0/2.0 перешёл в состояние BLK, то есть порт заблокирован. На 14 один из портов перешёл в роль ROOT, то есть этим портом он смотрит в сторону корневого коммутатора., которым стал 13-й. Другой порт 14 перешёл в роль DESG, то есть через этот порт можно дойти до корневого коммутатора. С помощью BPDU коммутаторы выбрали корневой, так как priority у все одинаково и равно 32768, то корневым стал коммутатор с самым меньшим MAC адресом. Вот MAC корневого коммутатора 40b4f0585908. Теперь нужно на всех включить MSTP и сделать 15 корневым коммутатором. Для этого воспользуемся priority. Общая команда для 13,14,15

root@srx100-14# delete protocols stp 
set protocols mstp 
commit

Последней командой мы сохранили и применили конфиг. И так 14 переключили на MSTP при этом 13 и 15 остались в STP. Проверим совместимость STP и MSTP

root@srx100-14# run show spanning-tree interface 

Spanning tree interface parameters for instance 0

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/1.0     128:514      128:515  32768.40b4f0585908    200000  FWD    ROOT 
fe-0/0/2.0     128:515      128:515  32768.a8d0e51c0088    200000  FWD    DESG

Как видим роль и состояние портов осталось прежним. То есть совместимость есть. Сделаем 15 корневым

set protocols mstp bridge-priority 16k
commit

Проверим

root@srx100-15# run show spanning-tree interface          

Spanning tree interface parameters for instance 0

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/2.0     128:515      128:515  16384.a8d0e51e36c8    200000  FWD    DESG 
fe-0/0/3.0     128:516      128:516  16384.a8d0e51e36c8    200000  FWD    DESG 

По состоянию портов понятно, что он стал корневым и его priority равно 16384. Теперь давайте дадим нашему MSTP региону имя. Назовем его xapmc.net. Имя требуется когда таких групп коммутаторов много и у каждой группы свои балансировки нагрузок работают в регионе. Также имя требуется что бы можно было между регионами настраивать правила для проброса отдельных vlans. Также регионы дают дополнительные возможности, которые выходят за рамки статьи. Добавляем регион xapmc.net на все srx.

root@srx100-14# set protocols mstp configuration-name xapmc.net 
commit 

Создадим для 15-го vlans c 13 по 22. Создадим MSTI и включим на интерфейсах trunk.

set protocols mstp revision-level 1
set protocols mstp msti 15 bridge-priority 28k
set protocols mstp msti 15 vlan 13
set protocols mstp msti 15 vlan 14
set protocols mstp msti 15 vlan 15
set protocols mstp msti 16 bridge-priority 24k
set protocols mstp msti 16 vlan 16
set interfaces fe-0/0/2 unit 0 family ethernet-switching port-mode trunk
set interfaces fe-0/0/2 unit 0 family ethernet-switching vlan members all
set interfaces fe-0/0/3 unit 0 family ethernet-switching port-mode trunk
set interfaces fe-0/0/3 unit 0 family ethernet-switching vlan members all
commit

Создадим для 14-го vlans c 13 по 22. Создадим MSTI и включим на интерфейсах trunk.

set protocols mstp revision-level 1
set protocols mstp msti 15 bridge-priority 8k
set protocols mstp msti 15 vlan 13
set protocols mstp msti 15 vlan 14
set protocols mstp msti 15 vlan 15
set protocols mstp msti 16 bridge-priority 28k
set protocols mstp msti 16 vlan 16
set interfaces fe-0/0/1 unit 0 family ethernet-switching port-mode trunk
set interfaces fe-0/0/1 unit 0 family ethernet-switching vlan members all
set interfaces fe-0/0/2 unit 0 family ethernet-switching port-mode trunk
set interfaces fe-0/0/2 unit 0 family ethernet-switching vlan members all
commit

Создадим для 13-го vlans c 13 по 22. Создадим MSTI и включим на интерфейсах trunk.

set protocols mstp revision-level 1
set protocols mstp msti 15 bridge-priority 32k
set protocols mstp msti 15 vlan 13
set protocols mstp msti 15 vlan 14
set protocols mstp msti 15 vlan 15
set protocols mstp msti 16 bridge-priority 16k
set protocols mstp msti 16 vlan 16
set interfaces fe-0/0/1 unit 0 family ethernet-switching port-mode trunk
set interfaces fe-0/0/1 unit 0 family ethernet-switching vlan members all
set interfaces fe-0/0/2 unit 0 family ethernet-switching port-mode trunk
set interfaces fe-0/0/2 unit 0 family ethernet-switching vlan members all
commit
И так для MSTI 15 корневым является srx100-14.
Для MSTI 16 корневым является srx100-13.
Посмотрим как изменилась ситуация на портах теперь.

На 15

root@srx100-15# run show spanning-tree interface 

Spanning tree interface parameters for instance 0

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/2.0     128:515      128:515  16384.a8d0e51e36c8    200000  FWD    DESG 
fe-0/0/3.0     128:516      128:516  16384.a8d0e51e36c8    200000  FWD    DESG 

Spanning tree interface parameters for instance 15

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/2.0     128:515      128:515   8207.a8d0e51c0088    200000  FWD    ROOT 
fe-0/0/3.0     128:516      128:516  28687.a8d0e51e36c8    200000  FWD    DESG 

Spanning tree interface parameters for instance 16

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/2.0     128:515      128:515  24592.a8d0e51e36c8    200000  FWD    DESG 
fe-0/0/3.0     128:516      128:514  16400.40b4f0585908    200000  FWD    ROOT

На 14

run show spanning-tree interface 

Spanning tree interface parameters for instance 0

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/1.0     128:514      128:515  32768.40b4f0585908    200000  BLK    ALT  
fe-0/0/2.0     128:515      128:515  16384.a8d0e51e36c8    200000  FWD    ROOT 

Spanning tree interface parameters for instance 15

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/1.0     128:514      128:514   8207.a8d0e51c0088    200000  FWD    DESG 
fe-0/0/2.0     128:515      128:515   8207.a8d0e51c0088    200000  FWD    DESG 

Spanning tree interface parameters for instance 16

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/1.0     128:514      128:515  16400.40b4f0585908    200000  FWD    ROOT 
fe-0/0/2.0     128:515      128:515  24592.a8d0e51e36c8    200000  BLK    ALT  

На 13

root@srx100-13# run show spanning-tree interface 

Spanning tree interface parameters for instance 0

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/1.0     128:514      128:516  16384.a8d0e51e36c8    200000  FWD    ROOT 
fe-0/0/2.0     128:515      128:515  32768.40b4f0585908    200000  FWD    DESG 

Spanning tree interface parameters for instance 15

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/1.0     128:514      128:516  28687.a8d0e51e36c8    200000  BLK    ALT  
fe-0/0/2.0     128:515      128:514   8207.a8d0e51c0088    200000  FWD    ROOT 

Spanning tree interface parameters for instance 16

Interface    Port ID    Designated      Designated         Port    State  Role
                         port ID        bridge ID          Cost
fe-0/0/1.0     128:514      128:514  16400.40b4f0585908    200000  FWD    DESG 
fe-0/0/2.0     128:515      128:515  16400.40b4f0585908    200000  FWD    DESG 
Из вывода видно, что 13-й стал корневым для MSTI 16.
14-й стал корневым для MSTI 15.
Обновленная схема

MSTP msti15 16.png