본문 바로가기
Network tech/STP

[STP] Part 1 스패닝 트리의 개념과 이해

by 어깨 :) 2023. 10. 8.
728x90

 

STP 종류

다양한 STP 종류가 있지만, 이번 시간에 다루어 볼 프로토콜은 STPRSTP에 대해서 알아보자.

 

 

 

 

 

STP가 필요한 이유 1

그럼, 스위치를 두 대 이상으로 네트워크를 디자인하면 되지 않을까?

이렇게 생각할 수 있다. 한 대라서 문제가 발생한 것이니 두 대 이상의 스위치로 디자인을 하면 하나가 고장나도 하나가 살아있으니 괜찮지 않을까? 괜찮지 않다.

다수의 스위치로 네트워크를 디자인하면 패킷이 네트워크를 따라 계속 전송되기에 네트워크를 마비시킬 수 있다. 이런 상황을 네트워크 루프 (Loop)라 하는데, 이런 루프를 예방하기 위해서 STP가 필요한 것이다. 우선 루프에 대해 조금 더 알아보STP가 어떤 역할을 하는지 알아보자.

 

 

 

 

 

루프(Loop)?

네트워크 루프라는 단어를 들으면 무엇이 떠오르는가?

단어 그대로 네트워크에 연결된 모양이 고리처럼 순회하는 형태로 구성된 상황을 말한다. 패킷이 특정 도달점에 도착하고 사라지는 게 아니라 여러 스위치를 순회하며 계속 루프를 도는 것을 말하는데, 이는 곧 불필요한 네트워크 비용낭비로 네트워크가 마비되고 통신이 안 될 수 있다. 그럼 루프가 발생하는 이유는 무엇일까?

스위치를 이용하여 통신망 구축 시 통신망의 신뢰성을 제공하기 위해 이중화 구조를 사용한다.

이중화 연결을 하면 두 경로가 동시에 활성화될 수 있기 때문에 루프가 발생한다.

그러나 이중화 구조에는 다음과 같이 예기치 못한 3가지 문제점이 내제되어 있다.

3가지 큰 이유가 있는데 대부분은 브로드캐스트 스톰으로 인한 문제다.

 

 

 

 

 

 

스위치 이중화 구조의 문제점

스위치를 이용하여 통신망 구축 시 통신망의 신뢰성을 제공하기 위해 이중화 구조를 사용한다.

그러나 이중화 구조에는 다음과 같이 예기치 못한 3가지 문제점이 내제되어 있다.

 

 

1.브로드캐스트 스톰 (Broadcast Storm):

네트워크가 루프 구조인 상태에서 단말에서 브로드캐스트를 발생시키면 스위치는 이 패킷을 패킷이 유입된 포트를 제외한 모든 포트로 플러딩을 하는데, 루프 구조로 된 네트워크 구조에서는 스위치간에 무한으로 플러딩이 되면서 브로드캐스트 스톰이 발생을 한다.

심지어 2계층 헤더에는 3계층의 TTL(Time to Live)과 같은 패킷 수명조차 없기에 루프가 발생하면 패킷이 죽지 않고 계속 살아남기에 패킷 하나가 전체 네트워크 대역폭을 차지할 수 있다.

 

 

 

 

 

다음은 브로드캐스트 스톰이 발생하면 나타나는 증상이다.

 

1. 네트워크에 접속된 단말의 속도가 느려진다. 많은 브로드캐스트를 처리해야 하므로 CPU 사용률이 높아진다.

2. 네트워크 접속 속도가 느려집니다.거의 통신 불가능 수준이 .

3. 네트워크에 설치된 스위치에 모든 LED들이 동시에 빠른 속도로 깜빡인다.

루프가 만들어진 상황에서는 케이블을 제거하기 전까지

네트워크가 마비된 것 같은 상태가 지속된다.

 

 

 

 

 

2. 중복 프레임 수신 (Duplicate Frame Reception):

이중화로 인해 FrameLooping되면서 받은 Frame을 또 받고 , 또 받고 반복하면서 해당 Frame을 사용하는 프로그램이 제대로 동작하지 않을 수 있다.

 

 

 

 

3. MAC 주소 테이블 불안정 현상 (MAC Address Table Instability):

루프 구조 상태에서는 유니캐스트도 문제를 일으킨다.

스위치는 출발지 MAC 주소를 통해 Address Learning을 하는데 직접 전달되는 패킷과 스위치를 돌아 도착지로 들어간 패킷 간의 포트가 달라 MAC 주소를 정상적으로 학습할 수 없다.

또한, 스위치 MAC 주소 테이블에서는 하나의 MAC 주소에 대해 하나의 포트만 학습할 수 있는데 동일한 MAC주소가 여러 포트에서 학습되면 MAC 테이블이 반복 갱신되어 정상적으로 동작할 수 없다.

이러한 현상을 MAC 어드레스 플래핑(MAC Address Flapping)이라 부른다.

위 그림을 보면 AA라는 동일한 MAC 주소에 포트가 Eth1Eth2로 변경된다. 이런 경우 스위치가 정상적으로 동작하지 못하고 패킷을 플러딩한다.

 

스위치에서는 이런 문제를 예방하기 위해 스위치 설정으로 다음과 같이 처리할 수 있다.

경고 메세지를 관리자에게 알려준다.

수시로 일어나는 플래핑 현상을 학습하지 않도록 자동으로 조치한다.

 

 

 

 

STP가 필요한 이유 2

방책 - 그래서 다시 STP!

 

네트워크에 루프가 발생하면 네트워크가 정상적으로 동작하지 않기 때문에 루프가 발생하고 대처하는것은 너무 늦다.

그래서 미리 예방책을 실행해서 루프가 발생하지 않도록 해야한다.

루프 구성 포트중에 하나의 포트만 사용하지 못하도록 셧다운(shutdown)해도 루프를 예방할 수 있는데 이를 수동으로 하는건 좋지 않다. 찾기도 힘들뿐더러 다시 사용을 해야하는 상황이 오면 또 수동으로 동작해야 한다.

그래서 루프를 자동 감지해 포트를 차단하고 장애 때문에 우회로가 없을 경우 차단된 포트를 스위치 스스로 풀어주는 STP(Spanning Tree Protocol)이 개발되었다.

 

 

 

 

 

STP(Spanning Tree Protocol)이란?

- 스위치나 브릿지 구성에서 출발지부터 목적지까지의 경로가 2개 이상 존재할 때, 1개의 경로만 남겨두고 나머지 모두 끊었다가 사용하던 경로에 문제 발생 시 , 끊어 두었던 경로를 하나씩 살린다.

 

-STP가 동작하면 물리적으로 루프 구조인 네트워크에서 특정 포트를 차단상태로 바꾸어 논리적으로 루프가 발생하지 않는다. (Looped à Loop Free)

 

-논리적으로 SW2SW3의 연결을 차단시켜서 아래와 같은 구성이 만들어 지도록 하는 것이 STP이며, 동작 중인 스위치나 포트가 다운되면 차단상태의 포트를 다시 전송상태로 바꾸어 계속적인 통신을 보장한다.

 

 

 

 

 

요약하자면 루핑으로 인한 여러 문제점 발생, 
그것을 막는 것이 STP(스패닝 트리 프로토콜)

 

 

 

 

 

728x90

'Network tech > STP' 카테고리의 다른 글

[RSTP] STP 한계와 극복을 위한 RSTP로!  (0) 2023.10.09
[STP] STP의 동작과정  (2) 2023.10.09
[STP, Spanning tree protocol] part2. BPDU Format  (2) 2023.10.08