IT·테크/인프라

MSTP 네트워크 조정 — 단일 영역과 복수 영역에서 경로 나누기

레루루 2026. 8. 9. 15:06
반응형

이 글은 2021년 11월 기준 기록입니다.

 

MSTP를 켜 놓기만 하면 인스턴스들이 같은 경로를 쓰게 됩니다. VLAN을 인스턴스로 묶어 스패닝 트리 수를 줄였더라도, 트래픽을 어느 회선에 태울지는 여전히 손으로 정해야 합니다. 조정의 도구는 STP와 같습니다. 우선순위와 경로값입니다. 대상이 VLAN에서 인스턴스로 바뀌었을 뿐입니다.

단일 영역 — 모든 스위치를 같은 영역으로 묶는다

먼저 네 대의 스위치를 모두 영역 A로 두고, VLAN 1~500을 인스턴스 1에, 501~1000을 인스턴스 2에 매핑합니다. 영역 이름·인스턴스 매핑·설정 번호가 네 대 모두 동일해야 하나의 영역으로 묶입니다.

SW1(config)#spanning-tree mode mst
SW1(config)#spanning-tree mst configuration
SW1(config-mst)#name A
SW1(config-mst)#instance 1 vlan 1-500
SW1(config-mst)#instance 2 vlan 501-1000
SW1(config-mst)#revision 1

SW1(config)#int e1/0
SW1(config-if)#sw mo ac
SW1(config-if)#spanning-tree portfast

SW2(config)#spanning-tree mode mst
SW2(config)#spanning-tree mst configuration
SW2(config-mst)#name A
SW2(config-mst)#instance 1 vlan 1-500
SW2(config-mst)#ins 2 vlan 501-1000
SW2(config-mst)#rev 1
SW2(config-mst)#exit

SW3(config)#spanning-tree mo ms
SW3(config)#sp ms con
SW3(config-mst)#name A
SW3(config-mst)#ins 1 vlan 1-500
SW3(config-mst)#ins 2 vlan 501-1000
SW3(config-mst)#rev 1
SW3(config-mst)#exit

SW4(config)#sp mo ms
SW4(config)#sp ms con
SW4(config-mst)#name A
SW4(config-mst)#ins 1 vlan 1-500
SW4(config-mst)#ins 2 vlan 501-1000
SW4(config-mst)#rev 1
SW4(config-mst)#exit

SW1의 e1/0은 단말이 붙는 포트이므로 액세스로 내리고 포트 패스트를 걸었습니다.

인스턴스별로 루트를 달리 두면 경로가 갈린다

SW1을 두 인스턴스 모두의 루트로 두고, SW2는 인스턴스 1에서, SW3은 인스턴스 2에서 그다음 순위를 갖게 합니다.

SW1(config)#spanning-tree mst 1-2 priority 0
SW2(config)#spanning-tree mst 1 priority 4096
SW3(config)#spanning-tree mst 2 priority 4096

SW4에서 확인하면 인스턴스마다 막힌 포트가 반대입니다.

SW4(config)#do sh spanning-tree mst

MST1 vlans mapped: 1-500
Bridge        address aabb.cc00.0400  priority      32769 (32768 sysid 1)
Interface        Role Sts Cost      Prio.Nbr Type
Et0/0            Altn BLK 2000000   128.1    Shr
Et0/1            Root FWD 2000000   128.2    Shr

MST2 vlans mapped: 501-1000
Interface        Role Sts Cost      Prio.Nbr Type
Et0/0            Root FWD 2000000   128.1    Shr
Et0/1            Altn BLK 2000000   128.2    Shr

MST1은 Et0/1로, MST2는 Et0/0으로 나갑니다. VLAN 1000개가 두 회선에 나뉘어 실린 상태입니다.

경로값으로 결과를 다시 뒤집을 수 있다

우선순위 대신 포트 경로값으로도 같은 일을 할 수 있습니다. SW4의 e0/1에서 인스턴스 1의 경로값은 기본값보다 1 크게, 인스턴스 2의 경로값은 1 작게 줍니다.

SW4(config)#int e0/1
SW4(config-if)#spanning-tree mst 1 cost 2000001
SW4(config-if)#spanning-tree mst 2 cost 1999999

단 1의 차이지만 결과가 뒤집힙니다.

SW4(config)#do sh spanning-tree mst

MST1 vlans mapped: 1-500
Interface        Role Sts Cost      Prio.Nbr Type
Et0/0            Root FWD 2000000   128.1    Shr
Et0/1            Altn BLK 2000001   128.2    Shr

MST2 vlans mapped: 501-1000
Interface        Role Sts Cost      Prio.Nbr Type
Et0/0            Altn BLK 2000000   128.1    Shr
Et0/1            Root FWD 1999999   128.2    Shr

MST1은 Et0/0으로, MST2는 Et0/1로 바뀌었습니다. 스패닝 트리의 판단은 값의 크기 비교일 뿐이라, 1 차이여도 결론은 완전히 갈립니다.

복수 영역 — 영역마다 인스턴스 매핑이 다르다

이번에는 SW1·SW2를 영역 A로, SW3·SW4를 영역 B로 나눕니다. 영역 A는 VLAN 1~500과 501~1000을 두 인스턴스로 나누고, 영역 B는 VLAN 1~250과 251~500을 두 인스턴스로 나눕니다. 인스턴스 번호는 같지만 담고 있는 VLAN이 다릅니다.

SW1(config)#sp mo ms
SW1(config)#sp ms con
SW1(config-mst)#name A
SW1(config-mst)#ins 1 vlan 1-500
SW1(config-mst)#ins 2 vlan 501-1000
SW1(config-mst)#rev 1
SW1(config-mst)#exit

SW2(config)#sp mo ms
SW2(config)#sp ms con
SW2(config-mst)#name A
SW2(config-mst)#ins 1 vlan 1-500
SW2(config-mst)#ins 2 vlan 501-1000
SW2(config-mst)#rev 1
SW2(config-mst)#exit

SW3(config)#sp mo ms
SW3(config)#sp ms con
SW3(config-mst)#name B
SW3(config-mst)#ins 1 vlan 1-250
SW3(config-mst)#ins 2 vlan 251-500
SW3(config-mst)#rev 1
SW3(config-mst)#exit

SW4(config)#sp mo ms
SW4(config)#sp ms con
SW4(config-mst)#name B
SW4(config-mst)#ins 1 vlan 1-250
SW4(config-mst)#ins 2 vlan 251-500
SW4(config-mst)#rev 1
SW4(config-mst)#exit

루트 지정은 두 층으로 나뉩니다. 먼저 인스턴스 0, 즉 CIST의 루트와 영역 루트를 정합니다. 그다음 각 영역 안에서 인스턴스별 루트를 정합니다.

SW1(config)#spanning-tree mst 0 priority 0
SW3(config)#spanning-tree mst 0 priority 4096

SW1(config)#spanning-tree mst 1 priority 0
SW2(config)#spanning-tree mst 2 priority 0

SW3(config)#spanning-tree mst 1 priority 0
SW4(config)#spanning-tree mst 2 priority 0

영역 A에서는 SW1이 인스턴스 1의, SW2가 인스턴스 2의 루트입니다. 영역 B에서는 SW3이 인스턴스 1의, SW4가 인스턴스 2의 루트입니다. 인스턴스 번호는 겹치지만 영역이 다르므로 서로 간섭하지 않습니다.

 

여기서 복수 영역 구성의 한계가 하나 드러납니다. 다른 영역으로 넘어갈 때는 부하 분산이 되지 않습니다. 영역 사이는 CIST 하나가 담당하므로, 영역 안에서 인스턴스별로 갈라 놓은 경로가 영역 경계를 넘는 순간 다시 하나로 합쳐집니다.

 

부하 분산은 영역 안에서만 유효합니다. 그래서 MSTP 설계에서 영역을 어디서 끊을지는 인스턴스를 어떻게 나눌지 못지않게 중요한 결정이 됩니다.

반응형