본문 바로가기
Network/Regarcy

[Network] Spanning-Tree Protocol(STP)

by 오송나라 2024. 4. 24.
728x90
SMALL

STP(Spanning-Tree Protocol)

1. STP란?

  • 네트워크 내에서 루프(Loop) 방지하기 위해 설계된 네트워크 프로토콜
  • 래디아 펄먼이 고안한 알고리즘에 기반한 OSI 2계층 프로토콜

2. STP를 왜 사용하는가?

  • 고 가용성을 위해 스위치 케이블 연결할 때 이중화하면 생길 수 있는 Broadcast Storm을 방지하기 위해 사용한다.
  • 불필요한 경로 차단으로 데이터 패킷 루프 방지 하기 위해 사용한다.
  • 간단하게 네트워크의 불필요한 트래픽을 줄이고, 루프로 인한 문제를 방지하야 네트워크의 안정성과 효울성을 높이는데 중요한 역할을 한다.

2.1. Broadcast Storm 이란?

  • 컴퓨터 네트워크에서 Broadcast 및 Multicast 트래픽이 누적되는 것이다.
  • 과도한 양의 Broadcast traffic은 Broadcast Storm을 발생 시킨다.

3. BPDU란?

  • STP 프로토콜에 의해 브리지, 스위치간 주고 받는 제어 프레임이다.
  •  각 스위치에서 2초마다 모든 포트에 전달한다.
  • BPDU에는 스위치의 ID 및 포트ID 등의 정보가 있어 스위치끼리 누가 RootBridge 인지 비교하고 결정할 수 있다.
  • STP가 BPDU를 사용해 스위치간 데이터의 루프를 방지하기 위한 단일화 경로를 만든다.

3.1. Configuration BPDU

  • RID, BID, Path Cost, PID 정보가 포함되어 있으며, 주기적으로 이 정보를 주고 받음.

https://techhub.hpe.com/eginfolib/networking/docs/switches/5980/5200-3921_l2-lan_cg/content/499036672.htm

Protocol ID 0x0000
Protocol Version 0x00(STP)
0x02(RSTP)
0x03(MSTP)
BPDU Type 0x00(Configuration BPDU)
0x80(Topology Change BPDU)
Root Bridge ID Root Switch 식별자
Root Path Cost Root Switch 까지의 거리
Bridge ID BPDU를 보내는 Swtich ID(Non-Root Switch)
Port ID BPDU를 보내는 Switch Port(Non-Root Switch)
Message Age Root Switch에서 생성 된 이후 BPDU 수명
Root Switch에서는 0으로 설정하며 다른 스위치가 해당 값을 1씩 증가 시킨다.
Message Age = Max Age가 동일하면 해당 BPDU 폐기
Max Age BPDU 최대 수명 (기본 20초)
Hello Time BPDU 전송 주기(기본 2초)
Forward Delay Spanning-Tree 단계별 주기
(Block - Listening - Learning - Forwarding)

3.2. Topology Change Notification BPDU

  • 네트워크 망 변화가 생길때만, TCN BPDU를 통해 Root Switch로 보고한다.

https://techhub.hpe.com/eginfolib/networking/docs/switches/5980/5200-3921_l2-lan_cg/content/499036672.htm

4. STP 상태 변경 과정

1 Disabled State - STP 활동 비활성화 상태
- 링크 DOWN 또는 설정 이슈
2 Forwarding State - 프레임을 송수한 할 수 있는 단계
3 Learning State - 해당 포트를 Forwarding state로 변경 바로 전의 상태
- 해당 state에서 프레임을 스위칭하기 위한 준비작업으로 MAC 주소 테이블 생성 시작
- 전송 지연시간 동안 토폴로지 변화 없으면 Forwarding state로 변경(15초)
4 Listening State - 해당 포트를 Forwarding state로 변경되기 위한 준비상태
- 해당 포트가 DP()라면 Listening State부터 BPDU 전송 시작
- 전송 지연시간 동안 토폴로지 변화 없으면 Learning state로 변경(15초)
5 Blocking State - 프레임을 수신하지 않지만 BPDU는 수신한다.
- 차단 포트
- Listening State로 변경되는 경우
 1) 상대의 포트로부터 Max Age 동안 BPDU 받지 못할때(총 20초)
 2) 상대의 포트로부터 후순위 BPDU를 받았을 때

5. STP 동작과정

1. Bridge Priority 또는 MAC Address 값 비교

- Bridge Priority 값 동일 시 MAC Address 값 비교

- Brdge Priority 값은 SW1(Priority : 0)이 가장 낮기 때문에 SW1이 Root Bridge를 가지게 된다.

- Bridge Prority 값이 같다면, MAC을 비교해서 SW1이 Root Bridge를 가지게 된다.

2. DP(Designated Port), ND(Non Designated Port), RP(Root Port) 선출

2.1 Root Bridge로 선출된 스위치는 모든 포트가 기본적으로 DP로 선출된다.

 - SW1이 Root Bridge로 선출이 되었으며, SW1의 E1/1, E1/2 포트는 DP포트로 선출

2.2 Non root Bridge 스위치들은 Root Bridge와 가장 인접한 포트를 RP(Root Port)로 선출

 - SW2에서는 E1/1 포트가 Root Bridge와 가장 인접하기 때문에 RP 포트로 선출

 - SW3에서는 E1/2 포트가 Root Birdge와 가장 인접하기 때문에 RP 포트로 선출

2.3 Port의 Cost를 비교해서 더 낮은 Cost의 포트를 DP로 선출

- Cost 값이 같다면 Bridge ID를 비교하며, Bridge ID 마저 같다면 Port ID를 비교해서 DP와 ND를 선출하며, ND의 포트는 Block 처리하게 된다.

- 회선 속도가 높을수록 Cost 값은 낮게 설정되어 있으며 cost 값이 가장 낮은 포트를 DP 포트로 선출

- SW2와 SW3 사이의 세그먼트 비교 시에 동일한 Cost 값이지만, SW3의 Priority 값이 낮기 때문에 SW3의 E1/3은 ND로 선출

728x90
LIST

'Network > Regarcy' 카테고리의 다른 글

[Network] 게이트웨이 이중화 프로토콜(VRRP, HSRP) 란?  (0) 2024.05.29