본문 바로가기
네트워크엔지니어의 삶/네트워크 이론

네트워크 기초 - STP(Spanning Tree Protocol) 동작 방식

by └HR┐ 2022. 7. 13.

앞서 STP의 기본 설명에 이어 스패닝트리의 동작하는 원리와 개념들을 자세히 살펴보면서 STP의 종류에 대해 정리해보도록 하겠습니다.

네트워크 기초 - STP(Spannig Tree Protocol) 개념 및 동작 원리

 

네트워크 기초 - STP(Spannig Tree Protocol) 개념 및 동작 원리

스패닝트리 (Spanning Tree) 프로토콜에 대해 알아보겠습니다. 사실 STP에 대한 기술적인 내용을 깊게 들어가면 굉장히 복잡하고 어려운 내용들이 많겠지만, 먼저 원리와 동작방식 등 

hryhan.tistory.com

일단 STP 동작 방식은 물리적인 Loop구조인 네트워크 구성에서 특정 Port를 차단(Block) 상태로 바꿔주면서 논리적으로 Loop가 발생하지 않도록 해줍니다.
동작중인 스위치의 포트(Port)가 Down상태가 되면 차단되어있던 특정 포트가 UP상태로 바뀌면서 통신이 끊기지 않도록 해줍니다.

 

그 Loop을 막는 경로를 구성하는 프레임을 바로 BPDU(Bridge Protocol Data Unit)라고 합니다.
BPDU에는 두 가지의 종류가 있는데, Configuration BPDU /  TCN(Topology Change Notification) BPDU

-  Configuration BPDU(설정 BPDU) : 스위치 및 포트 역할을 결정하기 위한 프레임
TCN(Topology Change Notification) BPDU : 스위치 네트워크의 구조가 변경되었을 때 사용되는 프레임

스위치에서는 Configuration BPDU를 2초마다 전송하여 Root Switch를 선출하며, 스위치의 포트 역할을 결정하고
BPDU를 인접 스위치에 중계합니다.

Configuration BPDU에는 Root ID, 경로 값(Root path), Port ID 등이 포함되어 있습니다.

스패닝 트리의 알고리즘은 3단계로 이루어집니다.

 

1. 네트워크의 스위치들은 하나의 Root Bridge의 스위치를 선출합니다.
 - Bridge ID 값이 가장 낮은 것이 Root switch가 되며, Bridge ID는 2Byte Priority + 6Byte MAC Address로 구성되고, Priority 기본값은 32768이며 범위는 0~65535까지 입니다.

Bridge id

Priority는 기본값 32768 + Vlan ID 1을 더한 32769로 표시됩니다.

 

Root 스위치 선출 방식

스위치들의 우선순위(Priority) 값이 같다고 하면 Mac Address의 값이 낮은 스위치가 Root 스위치가 됩니다.
MAC Address가 가장 낮은 장비는 SW1이기 때문에 Root Switch가 됩니다.

 

2. Root Bridge가 아닌 스위치들은 무조건 하나의 Root Port를 가지게 되고 이는 Root Bridge 스위치에 가장 인접한 Port로 선출이 됩니다.
- Root path(경로 값)의 합이 가장 작은 포트
- 인접한 스위치의 Bridge ID가 가장 낮은 포트
- 인접한 스위치의 Port ID가 가장 낮은 포트

3. 스위치들 간의 Designated Port를 선출하여 차단(Block) 할 포트를 정합니다.
- Designated Port는 스위치 사이의 경로당 1개씩 설정합니다.
- Root Switch의 연결된 포트들은 전부 Designated Port

Designated 선출 방식

STP의 실제적인 Designated Port를 선출하여 차단(Block)할 포트를 정합니다.
Root Switch로 선출된 스위치의 포트들은 기본적인 Designated Port로 정해집니다.
Root Switch가 아닌 스위치 들은 Root Switch와 인접한 포트를 Root Port로 선출하고 cost값을 비교하여 더 낮은 cost값의 포트를 Designated Port로 선출합니다.
cost 값도 같다면 Bridge ID, Bridge ID도 같다면 Port ID를 비교해서 차단(Block) 처리하게 됩니다.

4. Root Port도, Designated Port도 아닌 포트인 Alternate Port(대체 포트)를 선출합니다.
- 이 포트는 항상 차단됩니다.

STP 상태 변화 5가지

1. Disabled
- 포트가 고장 나서 사용할 수 없거나 관리자가 일부러 Port Shudown 시킨 상태

2. Blocking
- 스위치를 맨 처음 키거나 Disable 되어 있는 포트를 관리자가 다시 살렸을 때의 상태
- BPDU를 스위치 간 정보를 주고받을 수 있는 상태

3. Listening
- Blocking 되어 있는 포트가 Root Port나 Designated Port로 선정되면서 리스닝 상태로 넘어갑니다
- 리스닝 상태에서도 BPDU만 주고받을 수 있고, 새로운 포트가 인식되면 구성 값들이 바뀌면서 다시 Blocking 상태로 변경될 수 있습니다.

4. Learning
- Listening 상태에서 15초를 유지하면 Learning 상태로 바뀝니다.
- 이때부터는 BPDU와 MAC Address 정보를 주고받을 수 있습니다.

5. Forwarding
- 스위치 포트가 Learning 상태에서 다른 상태로 넘어가지 않고 15초를 유지한다면 Forwarding 상태로 넘어갑니다.
- 포워딩 상태에서는 BPDU, MAC Address 그리고 Data 프레임까지 주고받으면서 통신을 시작합니다.

STP 상태 변화

STP는 워낙 내용이 길기 때문에 STP의 종류로 다음 포스팅에 이어서 업로드하겠습니다.

댓글