STP Port Role & State
STP는 BID(Priority + MAC)가 제일 낮은 Switch를 Root Bridge로 뽑고 , Loop가 생기는 Port 하나를 Blocking 시켜서 Loop를 막는다
1. Port 역할 선정
A. Root Port : Root Bridge가 아닌 Switch마다 1개 , Root까지 제일 가까운 Port
B. Designated Port : Segment(Link)마다 1개. Root Bridge의 Port는 전부 Designated Port 이다.
C. 나머지 Port는 Blocking(Non-designated) 상태가 된다.
* 비교순서 (Root Port , Designated Port 둘다 이 순서 대로 비교 한다)
① Root Path Cost가 낮은것
② 상대(Sender) BID가 낮은것
③ 상대(Sender) Port ID가 낮은것 [Port ID = Port Priority(기본 128) + Port 번호]
[대역폭 : STP Cost]
- 10 Mbps : 100
- 100 Mbps : 19
- 1 Gbps : 4
- 10 Gbps : 2
[Root Path Cost는 Root까지 가는동안 BPDU를 받는 Port의 Cost를 전부 더한값 이다.]
2. 예제
EX1) SW1 , SW2 , SW3를 삼각형으로 연결하고 Priority는 전부 기본값 , 모든 Link는 FastEthernet(Cost 19)이다
SW1 (Root Bridge)
Fa0/1 [D] Fa0/2 [D]
| |
Fa0/1 [R] Fa0/1 [R]
SW2 SW3
Fa0/2 [D] ------------------ Fa0/2 [B]
[R : Root Port , D : Designated Port , B : Blocking]
[SW1 0011.1111.1111 , SW2 0022.2222.2222 , SW3 0033.3333.3333 , Priority 전부 32769]
A. Root Bridge : Priority가 전부 32769로 같으니까 MAC을 비교 한다 → SW1(0011.1111.1111)이 Root Bridge
B. Root Port : SW2 , SW3 둘다 Fa0/1(19)이 Fa0/2(19+19=38) 보다 낮아서 Fa0/1
C. Designated Port
- SW1은 Root Bridge 라서 Fa0/1 , Fa0/2 둘다 Designated
- SW2-SW3구간 : 둘다 Root Path Cost가 19로 같다 → BID 비교 → SW2(0022.2222.2222)가 더 낮아서 SW2 Fa0/2가 Designated
D. Blocking : 남은 SW3 Fa0/2가 Blocking 된다.
SW3#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 0011.1111.1111
Cost 19
Port 1 (FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0033.3333.3333
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Fa0/1 Root FWD 19 128.1 P2p
Fa0/2 Altn BLK 19 128.2 P2p
[Blocking Port는 show spanning-tree에서 Altn BLK(Alternate)로 나온다.]
3. Port 상태 , Timer

- Blocking : BPDU - 수신만 , MAC 학습 - X , Data 전달 - X , 시간 - 최대 20초 (Max Age)
- Listening : BPDU - 송수신 , MAC 학습 - X , Data 전달 - X , 시간 - 15초 (Forward Delay)
- Learning : BPDU - 송수신 , MAC 학습 - O , Data 전달 - X , 시간 - 15초 (Forward Delay)
- Forwarding : BPDU - 송수신 , MAC 학습 - O , Data 전달 - O , 시간 - 없음
[Blocking에서 Forwarding 까지 최대 50초(20+15+15)가 걸린다. Link가 직접 끊긴걸 감지하면 Max Age를 안기다려서 30초 정도 걸린다]
4. PortFast / BPDU Guard
A. PortFast : PC 연결 Port에서 Listening , Learning을 건너 뛰고 바로 Forwarding으로 간다. PC를 켜고 30초 동안 통신이 안되는 문제(DHCP Timeout 같은거)를 해결할수 있다.
B. BPDU Guard : PortFast Port에서 BPDU를 받으면 Port를 err-disabled 시킨다. 누가 PC Port에 Switch를 연결해 버리면 Loop가 생길수 있기때문에 같이 쓰는게 좋다
interface fastethernet 0/10
spanning-tree portfast
spanning-tree bpduguard enable
!
'네트워크 > 스위칭' 카테고리의 다른 글
| 스패닝 트리(Spanning Tree) 프로토콜(STP) 란? (0) | 2026.10.28 |
|---|---|
| 트렁크(Trunk) 와 VLAN 간 라우팅(Inter-VLAN Routing) (0) | 2026.10.28 |
| 브이랜(VLAN) 란? (0) | 2026.10.24 |


