google.com, pub-6766303929253490, DIRECT, f08c47fec0942fa0

Cisco Networking 기본지식(13) – Spanning Tree Protocol (STP)

Cisco의 Spanning Tree Protocol(STP)Layer 2(Ethernet) 네트워크에서 루프(Loop)를 방지하기 위한 프로토콜입니다. STP가 없다면 스위치 간 이중 연결(Redundant Link)이 있을 때 네트워크 전체가 마비될 수 있습니다.


1. 왜 STP가 필요한가?

이중 연결(Redundancy)

기업 네트워크에서는 장애를 대비하기 위해 스위치를 여러 개의 링크로 연결합니다.

      SW1
     /   \
    /     \
  SW2-----SW3

이 구조는 장애에는 강하지만 Ethernet은 TTL(Time To Live)이 없습니다.

즉, 브로드캐스트 프레임이 영원히 돌아다닐 수 있습니다.

그 결과

  • Broadcast Storm
  • MAC Address Table Instability
  • Multiple Frame Copies

가 발생합니다.

이를 Layer2 Loop라고 합니다.


2. STP의 역할

STP는

물리적으로는 여러 경로를 유지하지만 논리적으로는 하나의 경로만 사용

하도록 만들어 줍니다.

예를 들어

      SW1
     /   \
    /     \
  SW2-----SW3

STP가 실행되면

      SW1
     /   \
    /     X (Blocked)
  SW2-----SW3

한 링크를 Block 상태로 만들어 루프를 제거합니다.

만약 활성 링크가 끊어지면

Blocked Link

↓

Forwarding

자동으로 활성화됩니다.


3. STP 동작 순서

Cisco STP는 크게 4단계로 동작합니다.

1. Root Bridge 선출
↓

2. Root Port 선정

↓

3. Designated Port 선정

↓

4. 나머지 포트 Block

4. Root Bridge

네트워크에는 Root Bridge가 반드시 하나 존재합니다.

모든 스위치는

“누가 Root가 될 것인가?”

를 먼저 결정합니다.

선정 기준은

가장 작은 Bridge ID

입니다.

Bridge ID는

Priority + MAC Address

로 구성됩니다.

예)

Priority : 32768
MAC : 00:11:22:33:44:55

↓

Bridge ID

Priority가 가장 낮은 스위치가 Root가 됩니다.

Priority가 같으면

MAC Address가 가장 작은 장비가 Root가 됩니다.


Bridge Priority

기본값

32768

Cisco에서는

0
4096
8192
12288
...
61440

처럼 4096 단위만 사용 가능합니다.

예)

SW1 Priority 4096

SW2 Priority 32768

↓

SW1 Root Bridge

5. BPDU (Bridge Protocol Data Unit)

STP는 스위치끼리

BPDU라는 패킷을 주고받습니다.

BPDU에는

  • Root Bridge ID
  • Sender Bridge ID
  • Root Path Cost
  • Port ID

등이 들어 있습니다.

BPDU를 통해

누가 Root인지

어느 경로가 가장 좋은지

계속 계산합니다.

기본 전송 주기

2초

6. Root Port

Root가 아닌 스위치는

Root로 가는 가장 좋은 포트를 하나 선택합니다.

이 포트를

Root Port

라고 합니다.

Root Port 선정 기준

가장 작은 Root Path Cost

예)

        Root
          |
        Cost 4
          |
         SW2

SW2의 위쪽 포트가 Root Port입니다.

Root Port는

스위치마다 딱 하나입니다.

Root Bridge에는 Root Port가 없습니다.


7. Root Path Cost

링크 속도에 따라 Cost가 다릅니다.

오래된 Cost

속도Cost
10Mbps100
100Mbps19
1Gbps4
10Gbps2

Cisco에서는 Long Path Cost도 지원합니다.

예)

속도Long Cost
10M2,000,000
100M200,000
1G20,000
10G2,000

8. Designated Port

각 Segment마다

하나의 Designated Port가 존재합니다.

역할은

그 Segment 대표

입니다.

Designated Port는

Forwarding 상태입니다.


예)

SW1 ----- SW2

둘 중 하나가

Designated Port가 됩니다.


9. Blocking Port

Root Port도 아니고

Designated Port도 아닌 포트는

Blocking

상태가 됩니다.

루프 방지를 위해

사용되지 않는 링크입니다.


10. Port State

기본 STP(802.1D)는

5개의 상태가 있습니다.

Blocking

↓

Listening

↓

Learning

↓

Forwarding

그리고

Disabled

도 있습니다.

Blocking

MAC 학습 안 함

데이터 전달 안 함

BPDU만 수신


Listening

Root 계산

BPDU 송수신

MAC 학습 안 함


Learning

MAC Address 학습

데이터 전달 안 함


Forwarding

정상 통신

MAC 학습

데이터 전달


Disabled

관리자가 Shutdown


11. Timer

기본 Timer

Hello Time

2초

Max Age

20초

Forward Delay

15초

따라서 장애 발생 시

20 + 15 +15

≈ 50초

정도 걸릴 수 있습니다.

이것이 기본 STP가 느리다고 하는 이유입니다.


12. RSTP (Rapid STP)

IEEE

802.1w

RSTP는 STP 개선판입니다.

복구 시간이

1~6초

정도로 매우 빠릅니다.

Port State도 단순해졌습니다.

Discarding

Learning

Forwarding

Cisco에서는 현재 대부분 RSTP를 사용합니다.


13. PVST+

Cisco만의 방식입니다.

Per VLAN Spanning Tree

VLAN마다 각각 STP를 실행합니다.

예)

VLAN10

Root = SW1

-----------------

VLAN20

Root = SW2

로드밸런싱이 가능합니다.


14. Rapid PVST+

Cisco에서 가장 많이 사용하는 방식입니다.

RSTP

+

PVST

VLAN별 Rapid STP입니다.


15. MST (Multiple Spanning Tree)

VLAN이 수백 개면

PVST는 CPU를 많이 사용합니다.

MST는

여러 VLAN

↓

하나의 STP Instance

로 묶습니다.

예)

Instance1

VLAN 1~100

Instance2

VLAN101~200

대규모 네트워크에서 많이 사용됩니다.


16. Cisco에서 사용하는 주요 명령어

STP 상태 확인

show spanning-tree

특정 VLAN 확인

show spanning-tree vlan 10

Root Bridge 확인

show spanning-tree root

인터페이스 상태

show spanning-tree interface g0/1

Root Bridge 설정

spanning-tree vlan 10 priority 4096

또는

spanning-tree vlan 10 root primary

Backup Root

spanning-tree vlan 10 root secondary

RSTP 사용

spanning-tree mode rapid-pvst

PortFast

PC가 연결된 Access Port에서는

interface g0/1

spanning-tree portfast

를 사용합니다.

장점

  • 바로 Forwarding
  • 부팅 시간 단축

주의: 스위치 간 연결(트렁크)에는 일반적으로 사용하지 않습니다. 잘못 적용하면 루프 위험이 커질 수 있습니다.


BPDU Guard

PortFast와 함께 자주 사용합니다.

interface g0/1

spanning-tree bpduguard enable

만약 BPDU를 받으면

Err-disable

상태로 만들어

루프를 예방합니다.


17. STP에서 자주 나오는 면접 질문

Q1. 왜 STP가 필요한가?

Layer 2 Loop를 방지하고 네트워크 안정성을 유지하기 위해 필요합니다.


Q2. Root Bridge는 어떻게 선출되는가?

Bridge ID(Bridge Priority + MAC Address)가 가장 작은 스위치가 Root Bridge가 됩니다.


Q3. Root Port는 몇 개인가?

Root Bridge를 제외한 각 스위치마다 하나입니다.


Q4. Designated Port는 몇 개인가?

각 네트워크 세그먼트마다 하나입니다.


Q5. Block Port는 언제 발생하는가?

루프를 방지하기 위해 Root Port와 Designated Port를 제외한 포트가 Blocking(또는 RSTP에서는 Discarding) 상태가 됩니다.


18. STP 선출 예제

        SW1
 Priority 4096
     (Root)
      /    \
    4/      \4
    /        \
  SW2---4----SW3
  • Root Bridge: SW1 (가장 낮은 Priority)
  • SW2: SW1으로 향하는 포트가 Root Port
  • SW3: SW1으로 향하는 포트가 Root Port
  • SW2–SW3 링크: 한쪽은 Designated Port, 다른 한쪽은 Blocking(또는 RSTP에서는 Discarding)

핵심 요약

개념핵심 내용
목적Layer 2 루프 방지
Root Bridge가장 낮은 Bridge ID(Priority → MAC 순으로 비교)
Root Port각 비루트 스위치에서 Root까지의 최적 경로 포트 1개
Designated Port각 세그먼트에서 프레임을 전달하는 대표 포트 1개
Blocking/Discarding루프 방지를 위해 트래픽을 차단하는 포트
BPDU스위치 간 STP 정보를 교환하는 메시지
기본 STP(802.1D)수렴 시간 약 30~50초
RSTP(802.1w)일반적으로 1~6초 내 빠른 수렴
Cisco 권장Rapid PVST+(VLAN별 RSTP) 또는 대규모 환경에서는 MST

Cisco 환경에서는 STP → RSTP → PVST+ → Rapid PVST+ → MST의 차이와, Root Bridge 선출 과정, Root Port/Designated Port 결정 과정, BPDU 동작, PortFast 및 BPDU Guard의 활용을 이해하는 것이 가장 중요합니다.

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다