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

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

by └HR┐ 2022. 7. 12.


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

이 전 포스팅으로 업로드 하였던 루핑(Loopinf)에 대해서 개념을 이해했다면 이제 그 루핑을 방지할 수 있는 프로토콜을 한 번 배워보겠습니다.

 

네트워크 기초 - Looping 루핑 원인 및 발생 이유

 

네트워크 기초 - Looping 루핑 원인 및 발생 이유

네트워크 엔지니어의 숙명인 STP(스패닝 트리 프로토콜 - Spanning Tree Protocol)를 공부하기 위해서 미리 루핑(Looping)을 먼저 알아보도록 하겠습니다. 스패닝트리를 알기 전에 Loop이 뭔지를 이해하는

hryhan.tistory.com

일단 앞서 Looping의 구성을 보게 될텐데
네트워크 구성에서 일단 루핑이 발생하게 되면 출발지에서 목적지까지 도달하지 못하고 무한정 왔다갔다 하면서
무한정 늘어나는 프레임들을 처리하면서 CPU의 사용량이 임계치에 도달하여 장비가 재부팅 되거나 통신을 마비 시킵니다.

 

네트워크 Looping 구성입니다.

Loop 구성

1. PC를 SW1에 연결하게 되면 SW1에서 PC의 MAC주소를 스위치 Mac-table에 등록합니다.
2. SW1이 받은 PC의 MAC 정보를 위에 있는 SW2, SW3으로 전송하게 됩니다.
3. SW2는 SW1에서 받은 MAC 정보를 인접해 있는 SW3으로 전송하고, 동일하게 SW3역시 SW2로 MAC정보를 전송합니다.
4. SW2는 SW3에서 받은 정보를 다시 SW1에게 전달하게 되고, SW3도 SW2에게 받은 정보를 다시 SW1로 전달합니다.

문제는 여기서 부터 시작입니다.
5. SW1스위치는 SW2, SW3에서 받은 MAC주소의 PC가 SW2, SW3스위치 포트에 연결되어 있다고 인식하고 SW1 Mac-table에 PC의 MAC주소를 SW2, SW3스위치 포트에 있다고 등록합니다.

5-1. SW1은 해당 PC의 MAC정보를 받았던 포트를 제외한 모든 연결된 포트에 다시 전송을 합니다. (SW2, SW3으로)

 

이 과정을 굉장히 빠른 속도로 무한정 발생되고, 브로드캐스트 스톰(Brodcast Stome)이 발생하면서 스위치에서 프레임(Fream)을 처리하다가 CPU의 사용량 임계치가 한계에 도달하면서 재부팅이 되고, 통신을 마비시키게 됩니다.

그래서 우리는 STP 스패닝트리를 사용하게 되는데요
스패닝트리(Spanning Tree)의 기본 원리는 바로 특정 포트를 블락(Block)시켜서 Loop 구조를 막는 것입니다.
아까 봤던 Looping 구조의 구성과 동일한 상황에서 아래의 그림처럼 특정 포트를 막아 Loop 구조를 벗어나게 합니다.

STP(스패닝트리) 구성

Block 포트는 STP의 설정인 Port cost, 스위치 Bridge, Port id 등을 계산하여 결정 됩니다.
스패닝트리의 규칙에 따라 Root Bridge를 선출하고 Block 포트를 정합니다.
규칙에 따라 스패닝트리를 작동하기 위해서 스위치들끼리 서로의 정보를 주고 받는데 이 정보를 바로 BPDU(Bridge Protocol Data Unit)라고 합니다.


Hello time - 얼마에 한번씩 BPDU를 보낼것인지 Root가 결정해서 보내줍니다. 기본 2초

Aging time - Root가 해당 BPDU를 만든지 얼마나 지났는지 알려줍니다. 이시간이 MAX Age(기본20초)가 되면 BPDU는 사라지게 됩니다.

 


나머지 스패닝 트리 프로토콜의 동작 원리와 STP의 종류에 대해 따로 업로드 하겠습니다.

 

댓글