이 글은 2021년 11월 기준 기록입니다.
종단 VLAN은 하나의 VLAN이 전체 스위치 네트워크에 걸쳐 있는 구성입니다. 어느 스위치에 꽂아도 같은 VLAN에 들어갈 수 있다는 뜻이라 편리하지만, 그 VLAN의 브로드캐스트와 STP가 네트워크 전체에 걸린다는 뜻이기도 합니다.
여기서는 VLAN 10과 VLAN 20을 네 대의 스위치 전체에 펼쳐 놓고, 두 VLAN이 서로 다른 경로를 쓰도록 STP를 조정하는 과정을 따라갑니다.
라우터 하나로 두 VLAN을 라우팅한다
VLAN이 둘이면 서로 통신하기 위해 3계층 장비가 필요합니다. 물리 인터페이스 하나에 서브인터페이스를 만들고 각각에 VLAN 태그를 붙이면 라우터 한 대로 두 VLAN을 받을 수 있습니다.
- 라우터 아이피 설정
R1(config)#int e0/0
R1(config-if)#no sh
R1(config-if)#int e0/0.10
R1(config-subif)#enc dot 10
R1(config-subif)#ip add 1.1.10.1 255.255.255.0
R1(config-subif)#exit
R1(config)#int e0/0.20
R1(config-subif)#enc dot 20
R1(config-subif)#ip add 1.1.20.1 255.255.255.0
R1(config-subif)#exit
// routing 기능 해제
R2(config)#no ip routing
// 게이트웨이 설정
R2(config)#ip default-gateway 1.1.10.1
R2(config)#int e0/0
R2(config-if)#no sh
R2(config-if)#ip add 1.1.10.3 255.255.255.0
R2(config-if)#exit
R3(config)#no ip routing
R3(config)#ip default-gateway 1.1.20.1
R3(config)#int e0/0
R3(config-if)#no sh
R3(config-if)#ip add 1.1.20.3 255.255.255.0
R3(config-if)#exit
R2와 R3은 단말 역할이므로 라우팅 기능을 끄고 게이트웨이만 지정했습니다.
쓰지 않을 포트는 먼저 내려 둔다
실습 결과가 의도대로 나오려면 쓰지 않는 포트가 끼어들지 않아야 합니다. 각 스위치의 포트를 전부 셧다운한 뒤 필요한 포트만 다시 살립니다.
- 각 스위치 모든 포트 셧다운
int range e0/0-3,e1/0-3,e2/0-3,e3/0-3
sh
exit
- 각 스위치 사용할 포트 활성화
SW1(config)#int range e0/0,e1/0-1
SW1(config-if-range)#no sh
SW1(config-if-range)#exit
SW2(config)#int range e1/0-1
SW2(config-if-range)#no sh
SW2(config-if-range)#exit
SW3(config)#int range e1/0-1
SW3(config-if-range)#no sh
SW3(config-if-range)#exit
SW4(config)#int range e0/0-1,e1/0-1
SW4(config-if-range)#no sh
SW4(config-if-range)#exit
- 각 스위치 트렁크 설정
SW1(config)#int range e0/0,e1/0-1
SW1(config-if-range)#sw tr enc dot
SW1(config-if-range)#sw mo tr
// 트렁크 모드일 때 vlan 10,20만 지나갈 수 있게 허용
SW1(config-if-range)#switchport trunk allowed vlan 10,20
SW1(config-if-range)#exit
SW2(config)#int range e1/0-1
SW2(config-if-range)#sw tr enc dot
SW2(config-if-range)#sw mo tr
SW2(config-if-range)#sw tr al vlan 10,20
SW2(config-if-range)#exit
SW3(config)#int range e1/0-1
SW3(config-if-range)#sw tr enc dot
SW3(config-if-range)#sw mo tr
SW3(config-if-range)#sw tr al vlan 10,20
SW3(config-if-range)#exit
SW4(config)#int range e1/0-1
SW4(config-if-range)#sw tr enc dot
SW4(config-if-range)#sw mo tr
SW4(config-if-range)#sw tr al vlan 10,20
SW4(config-if-range)#exit
- VTP 설정
SW1(config)#vtp domain VTP01
// vtp 비밀번호 설정
SW1(config)#vtp password ICT
SW2(config)#vtp domain VTP01
SW2(config)#vtp password ICT
SW3(config)#vtp domain VTP01
SW3(config)#vtp password ICT
SW4(config)#vtp domain VTP01
SW4(config)#vtp password ICT
// 스위치2,3,4의 vtp 모드를 클라이언트로 설정
SW2(config)#vtp mode client
SW3(config)#vtp mode client
SW4(config)#vtp mode client
- VLAN 만들기
// 스위치1만 vtp 서버 모드이므로 스위치1에서 vlan을 만들어야 함
SW1(config)#vlan 10
SW1(config-vlan)#name VLAN10
SW1(config-vlan)#vlan 20
SW1(config-vlan)#name VLAN20
SW1(config-vlan)#exit
switchport trunk allowed vlan 10,20으로 트렁크에 지나갈 VLAN을 못 박아 둔 점, 그리고 VTP를 서버 한 대와 클라이언트 세 대로 구성해 VLAN을 한 곳에서만 만든 점이 이 구성의 뼈대입니다. VLAN을 SW1에서만 만들었는데도 나머지 스위치가 VLAN 10과 20을 알게 됩니다.
단말이 붙는 SW4의 포트는 액세스로 내려 각각의 VLAN에 넣습니다.
- 스위치4 액세스 설정
SW4(config)#int e0/0
SW4(config-if)#sw ac vlan 10
SW4(config-if)#sw mo ac
SW4(config-if)#exit
SW4(config)#int e0/1
SW4(config-if)#sw ac vlan 20
SW4(config-if)#sw mo ac
SW4(config-if)#exit
SW4(config)#do sh vlan bri
VLAN Name Status Ports
...
10 VLAN10 active Et0/0
20 VLAN20 active Et0/1
...
조정하기 전에는 두 VLAN이 같은 경로를 쓴다
여기서 STP 상태를 보면 문제가 보입니다. VLAN 10과 VLAN 20이 똑같이 Et1/1을 루트 포트로 쓰고 Et1/0을 막고 있습니다.
SW4(config)#do sh spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol rstp
Root ID Priority 32778
Address aabb.cc00.0100
Cost 200
Port 6 (Ethernet1/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address aabb.cc00.0400
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
Et0/0 Desg FWD 100 128.1 Shr
Et1/0 Altn BLK 100 128.5 Shr
Et1/1 Root FWD 100 128.6 Shr
SW4(config)#do sh spanning-tree vlan 20
VLAN0020
Spanning tree enabled protocol rstp
Root ID Priority 32788
Address aabb.cc00.0100
Cost 200
Port 6 (Ethernet1/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address aabb.cc00.0400
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
Et0/1 Desg FWD 100 128.2 Shr
Et1/0 Altn BLK 100 128.5 Shr
Et1/1 Root FWD 100 128.6 Shr
두 VLAN 모두 Et1/0이 Altn BLK입니다. 회선 하나가 통째로 놀고 있는 상태입니다.
VLAN마다 다른 스위치를 루트로 만들면 경로가 갈린다
VLAN마다 별도의 STP가 돌기 때문에, VLAN별로 우선순위를 다르게 주면 VLAN마다 다른 경로를 고르게 만들 수 있습니다. SW1은 두 VLAN 모두에서 루트로 두고, SW2는 VLAN 10에서, SW3은 VLAN 20에서 그다음 순위를 갖게 합니다.
- STP 조정하기
SW1(config)#spanning-tree vlan 10,20 priority 0
SW2(config)#spanning-tree vlan 10 priority 4096
SW3(config)#spanning-tree vlan 20 priority 4096
조정 후 VLAN 10은 그대로 Et1/1을 씁니다.
SW4(config)#do sh spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol rstp
Root ID Priority 10
Address aabb.cc00.0100
Cost 200
Port 6 (Ethernet1/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address aabb.cc00.0400
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
Et0/0 Desg FWD 100 128.1 Shr
Et1/0 Altn BLK 100 128.5 Shr
Et1/1 Root FWD 100 128.6 Shr
VLAN 20은 루트 포트가 Et1/0으로 넘어가고, 대신 Et1/1이 막힙니다.
SW4(config)#do sh spanning-tree vlan 20
VLAN0020
Spanning tree enabled protocol rstp
Root ID Priority 20
Address aabb.cc00.0100
Cost 200
Port 5 (Ethernet1/0)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address aabb.cc00.0400
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
Et0/1 Desg FWD 100 128.2 Shr
Et1/0 Root FWD 100 128.5 Shr
Et1/1 Altn BLK 100 128.6 Shr
두 회선이 각각 한 VLAN씩 맡게 되었습니다. 물리 구조는 그대로인데 VLAN별 우선순위 세 줄만으로 놀던 회선이 일하게 됩니다.
경로가 실제로 갈렸는지는 트렁크 카운터로 확인합니다. 기존 카운터를 지우고 다시 봅니다.
- 경로 분산 확인
SW4#clear counters
SW4#sh interfaces counters trunk
종단 VLAN은 VLAN이 네트워크 전체에 걸쳐 있다는 뜻이고, 그것은 STP도 네트워크 전체에 걸려 있다는 뜻입니다. 그래서 종단 VLAN 설계에서 부하 분산은 별도의 작업이 아니라 필수 절차가 됩니다.
'IT·테크 > 인프라' 카테고리의 다른 글
| STP 조정과 보호 — 컨버전스 시간을 줄이고 루프를 막는 기술들 (0) | 2026.08.06 |
|---|---|
| STP — 스위치 네트워크의 루프를 끊는 스패닝 트리 프로토콜 (0) | 2026.08.05 |
| 사설 VLAN(Private VLAN) — VLAN 하나 안에서 다시 격리하기 (0) | 2026.08.05 |
| VLAN과 트렁킹, VTP — 브로드캐스트 도메인을 잘라 내는 법 (0) | 2026.08.04 |
| 트랜스패런트 브리징 — 스위치가 MAC 주소 테이블로 프레임을 넘기는 규칙 (0) | 2026.08.04 |