본문 바로가기

CS/Network

Switching Loop 해결 방법: STP & PVST & EC

728x90

목차

01 _ Switching Looping 란 무엇인가

02 _ Switching Loop 로 발생하는 문제

03 _ Switching Loop을 해결하기 위한 STP (Spanning Tree Protocol)

04 _ STP 의 단점을 보완하기 위한 PVST (Per Vlan Spanning Tree)

05 _ STP 의 단점을 보완하기 위한 EC (Ether Channel)

 

 


 

 

 

01 _ Switching Loop 란 무엇인가

01 _ 01  루핑 (Looping)

라우팅 정보의 잘못된 설정 또는 경로 선택으로 인해 데이터 패킷이 네트워크에서 무한 반복되는 현상

 

01 _ 02  스위칭 루프 (Switching Loop)

네크워크 스위치나 다른 네트워크 장비 간에 데이터 패킷이 무한 반복하는 현상

즉, 네크워크 스위치나 다른 네트워크 장비 간 루핑이 발생하는 현상

 

01 _ 03  스위칭 루프 (Switching Loop) 예시

현재 위와 같은 Topolory 상황에서 라우터 R1에서 스위치 SW1으로 데이터 패킷을 보냈다고 가정했을 때,

스위치는 브로드 캐스트 방식으로 작동하기 때문에, 데이터 패킷의 이동 경로를 다음과 같이 예상할 수 있다.

1) SW1 (e3/1) --> SW2 (e3/1)

2) SW1 (e3/3) --> SW3 (e3/3) (e3/2) --> SW2 (e3/2)

이 과정에서, 데이터 패킷을 전달받은 SW2 와 SW3 또한 스위치이므로 브로드 캐스트 방식에 따라 데이터 패킷을 전송한다.

SW2는 브로드 캐스트 방식에 따라 e3/1 과 e0/1 를 통해 데이터 패킷을 전송한다.

SW3는 브로드 캐스트 방식에 따라 e3/3 과 e3/2 를 통해 데이터 패킷을 전송한다.

따라서 SW1, SW2, SW3 장비들 간 링크에는 데이터 패킷의 트래픽이 이중으로 발생한다.

 

 


 

 

02 _ Switching Loop 로 발생하는 문제

02 _ 01  Broadcasting Storm 발생

브로드캐스트 폭풍 (Broadcasting Storm)은 루프를 형성하는 스위치 간에 브로드 캐스트 패킷이 무한히 전달되는 상황이다. 브로트캐스트 패킷이 네트워크 내 모든 장치에게 전달되기 때문에, 네트워크 트래픽을 급격하게 증가시키며 대역폭을 소모하고 다른 트래픽의 전달을 방해한다.

 

02 _ 02  MAC Addrress Table 불안정

스위치는 MAC 주소 테이블을 사용하여 어떤 포트로 데이터를 전달할지 결정한다. 루프를 형성하는 스위치 간의 패킷 이동은 MAC 주소 테이블 업데이트를 빈번하게 하고, 스위치가 올바른 포트로 데이터를 전달하는 데 혼란을 발생시킬 수 있다.

 

02 _ 03  Multiple Frame Copies 발생

다중 프레임 수신 (Multiple Frame Copies)은 스위칭 루프가 발생하여 데이터 패킷이 여러 번 복사되어 전송되는 현상이다. 이로 인해 데이터의 중복 복사본이 네트워크에 전파되며, 이중 데이터 패킷이 목적지로 도달할 수 있다. 또한 다중 프레임 수신은 대역폭 소모와 네트워크 지연을 발생시키며 데이터 무결정 문제를 발생시킬 수 있다.

 

 


 

 

03 _ Switching Loop을 해결하기 위한 STP (Spanning Tree Protocol)

03 _ 01  스패닝 트리 프로토콜 (Spanning Tree Protocol, STP)

스태닝 트리 프로토콜은 네트워크에서 스위치 간의 루프를 방지하고 네트워크 안정성을 확보하기 위해 사용되는 네트워크 프로토콜이다. 네트워크의 물리적인 토폴로지를 트리 구조로 변환하여 루프를 차단하고, 데이터 패킷의 무한 반복을 방지한다.

 

03 _ 02  스패닝 트리 프로토콜 동작 원리

1. 루트 스위치 (Root Switch) 선정 

Bridge ID 값이 가장 낮은 것을 선정

* Bridge ID = 우선수위 + MAC 주소

 

2. 루트 포트 (Root Port) 선정 

루트 스위치를 제외한 나머지 스위치 중 루트 포트를 선정해야 한다. 루트 스위치로 부터의 가장 짧은 경로를 루트 포트로 지정한다. 경로 길이는 스위치 간의 링크 비용을 기반으로 하며, 선정 기준은 다음과 같다.

1. 경로 값의 합이 가장 작은 Port 선정
-- 합이 같을 경우 --
2. 인접 스위치의 Bridge ID 가 낮은 Port 선정
-- Bridge ID 가 같을 경우 --
3. 인접 스위치의 Port ID가 가장 낮은 Port 선정

 

3. 지정 포트 (Designated Port) 선정

스위치 간의 연경 링크를 Segment라 한다. 한 Segment 당 지정 포트는 1개씩 설정해야한다. 선정 기준은 다음과 같다.

1. 경로 값의 합이 가장 작은 Switch Port 선정
-- 합이 같을 경우 --
2. Bridge ID 가 가장 낮은 Switch Port 선정
-- Bridge ID 가 같을 경우 --
3. Port ID가 가장 낮은 Switch Port 선정

 

4. 대체 포트 (Alternated Port) 선정 

루프 포트, 지정 포트가 아닌 포트를 대체 포트로 지정한다. 이 포트는 항상 차단된다.

 

03 _ 03  스패닝 트리 프로토콜 동작 예시

1. Bridge ID가 가장 낮은 0을 Root Bridge (= Root Switch) 로 선정 

 

2. Root Bridge에서 각 스위치 간의 Path Cost 등의 비용을 계산하여 Root Port 선정

 

3. Root Port 내 존재하는 Port 중 위에서 언급한 기준을 기반으로 Designated Port 선정

4. 루트 포트가 아닌 세그먼트에서 위의 기준을 기반으로 대체포트를 선정합니다.

 

 

03 _ 04  스패닝 트리 프로토콜 단점

위의 그림과 같은 경우, 동그라미 표시된 링크가 사용되지 않을 것이다. 이로 인해 대역폭 소모, 성능 문제 등이 발생할 수 있다. 경로 중 일부는 사용되지 않으므로, 대규모 네트워크에서 여러 경로가 활용되지 못하여 대역폭이 낭비될 수 있다. 또한, 스위치 또는 포트가 사용되지 않으므로 장치의 성능이 저하될 수 있다. 이러한 STP의 단점을 해결하기 위한 방법으로는 다음과 같다.

 

 


 

 

04 _ STP 의 단점을 보완하기 위한 PVST (Per Vlan Spanning Tree)

04 _ 01  PVST (Per Vlan Spanning Tree) 란 ?

PVST는 가상 랜 (VLAN) 기반으로 스패닝 트리를 구성하기 위한 Cisco의 프로토콜이다. 스위치에 VLAN을 할당한 후, VLAN 별로 루트 스위치를 다르게 설정하여 STP를 개별로 동작시키는 원리이다.

 

04 _ 02  PVST (Per Vlan Spanning Tree) 예시

위와 같은 상황이 있다고 가정하자. 

각 스위치는 STP 동작 원리에 따라, 활성화된 링크와 비활성화된 링크가 존재한다.

따라서 실선은 활성화된 링크이며 점선은 비활성화된 링크로, 사용되지 않는 링크가 존재한다.

 

각 스위치에 VLAN 1과 VLAN 2를 설정한 후, Priority를 할당한다.

이때, VLAN 1은 스위치 BB1의 Priority를 더 높게 할당했으므로,  스위치 BB1이 루트 스위치가 된다.

VLAN 2는 스위치 BB2의 Priority를 더 높게 할당했으므로,  스위치 BB2이 루트 스위치가 된다.

따라서 VLAN에 따라 루트 스위치가 다르게 선정되었으므로 모든 링크가 사용되어 STP의 단점이 보완되었다.

 

 


 

 

05 _ STP 의 단점을 보완하기 위한 EC (Ether Channel)

05 _ 01  EC (Ether Channel) 란 ?

EC는 두 스위치간에 연결된 2개 이상의 물리적인 링크를 논리적으로 묶어 하나로 만드는 기술이다. 스위칭 루프로 인해 STP를 적용하여 특정 포트에 blocking을 진행하지만, 대규모 네트워크에 경우 spanning tree가 계산하기 복잡해질 수 있다. 따라서 STP의 tree 계산을 하지 않고, 링크를 하나의 링크로 묶어 사용한다. 

 

05 _ 02  EC (Ether Channel) 예시

위와 같은 상황은 STP 기반으로 특정 Port를 blocking 한 것이다. 따라서 두 링크 중 아래에 있는 링크를 통해 데이터 패킷을 전달되지 않을 것이다.

 

하지만 각각 100Mbps 의 성능을 가지고 있는 물리적인 링크를 논리적으로 하나로 묶는다면, 200Mbps의 성능을 가진 하나의 링크로 사용할 수 있다. 따라서 STP의 단점을 보완하고, 성능도 향상된 링크를 사용할 수 있는 것이다.

 

 


 

 

Reference

- https://daengsik.tistory.com/41

- https://4betterme.tistory.com/107

- https://aws-hyoh.tistory.com/148

- https://4network.tistory.com/entry/PVST%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

- https://net-study.club/entry/%EC%8A%A4%ED%8C%A8%EB%8B%9D-%ED%8A%B8%EB%A6%AC-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9CSTP-Spanning-Tree-Protocol