본문 바로가기
Technical/Network

Spanning-Tree Protocol (STP) 기본 설명

by 잠적준비중 2024. 4. 30.

Spanning-Tree  Protocol (STP) 란 스위치끼리의 Looping을 막기 위한 프로토콜입니다.

 

대체로 아래 그림과 같이 네트워크 구성에서는 네트워크의 안전성을 위해 이중화 구성을 많이 사용합니다.

네트워크 이중화 구성

이중화 구성을 하면 한 장비가 이상이 발생하여 작동을 안하게 되어도 네트워크가 끊어지지 않고 계속 동작하게 됩니다.

 

허나 위와 같은 이중화 구성은 네트워크의 looping을 발생시킬 수 있습니다.

 

그래서 스위치에서는 Spanning-Tree  Protocol (STP)를 사용하여 네트워크의 looping 현상을 방지합니다.

 

Looping이란?

-프레임이 네트워크상에서 목적지에 도달하지 못하고 무한정 통신을 하는 상태를 말합니다.

 

-네트워크에서 Looping이 발생하면 스위치 장비들이 무한정 늘어나는 프레임들을 처리하면서 CPU의 사용량이

 임계치까지 증가하여 장비가 리부팅 되거나 통신이 전혀 되지 않는 상황이 발생합니다.

 

 

네트워크의 Looping 시나리오

 

 

1. PC를 L2_1에 연결하게 되면 L2_1의 mac table에 없는 pc의 mac 주소가 포함된 fream이 들어오게 되고 스위치는 PC의 mac 주소를 mac table에 등록을 하게 됩니다.

 

2. L2_1스위치에서 새로 연결된 PC의 mac 주소를 PC가 연결된 포트를 제외한 나머지 연결된 포트에 모두 전송하게 됩니다.

 

3. BB_1에서는 L2_1에서 받은 mac 정보를 다시 BB_2에게 전송하고 BB_2도 L2_1에게서 받은 mac 정보를 BB_2로 전송하게 됩니다.

 

4. BB_1은 BB_2에게 받은 mac정보를 L2_1에 전달하게 되고 BB_2도 BB_1에게 받은 정보를 L2_1에 전달하게 됩니다.

 

5-1. L2_1스위치에서 PC의 mac주소 정보를 BB_1에게서 다시 받게 되면 L2_1스위치는 PC의 mac 주소를 BB_1에 연결된 포트에 있다고 인식하게 되고, mac table에 PC의 mac 주소를 BB_1에 연결된 포트에 있다고 등록합니다. 그리고 해당 mac 정보를 받았던 포트를 제외한 연결된 모든 포트에 다시 전송합니다.

 

5-2. L2_1스위치에서 PC의 mac주소 정보를 BB_2에게서 받게 되어도 위와 똑같이 mac table에   PC의  mac주소를 BB_2에 연결된 포트에 있다고 등록하고, 정보를 받았던 포트를 제외한 모든 포트에 다시 전송하게 됩니다.

 

결국 위 과정이 빠른 속도로 무한히 발생하게 되고, brodcast stome 이 발생하여 스위치에 process에서  fream을 처리하다가 사용량의 임계치를 넘어 장비가 리부팅되거나 통신이 끊기게 됩니다.

 

spanning tree의 원리

 

spanning tree의 기본 원리는 특정 포트를 block하여 loop구조를 막는 것입니다.

 

아래 사진과 같이 특정 port를 block하면 loop구조를 벗어나게 되고 brodcast stome 발생을 막을 수 있습니다.

 

spanning tree block 시나리오

block이 된 포트에는 fream을 보내지 않아 네트워크에 brodcast stome이 발생하지 않습니다.

 

block 포트는 port cost , 스위치 bridge , port id 를 계산하여 결정되게 합니다.

 

다음 포스트에서는 spanning tree 동작 방식에 대해 알아보겠습니다.

 

감사합니다.

댓글