STP – LAN에서 발생하는 3가지 문제

스패닝 트리 프로토콜(STP)이나 Rapid STP(RSTP)와 같은 메커니즘이 없다면, 중복 링크가 있는 LAN에서는 이더넷 프레임이 무기한으로 순환하게 됩니다.

STP 또는 RSTP가 활성화되면 일부 스위치는 프레임을 전달하지 못하도록 포트를 차단합니다. STP와 RSTP는 다음 두 가지 목표를 염두에 두고 차단할 포트를 지능적으로 선택합니다:

  • VLAN 내의 모든 장치는 다른 모든 장치로 프레임을 전송할 수 있습니다. 즉, STP나 RSTP는 너무 많은 포트를 차단하여 LAN의 일부 구역을 다른 구역과 분리하지 않습니다.
  • 프레임은 수명이 짧으며 네트워크 내에서 무한정 순환하지 않습니다.

STP와 RSTP는 균형을 이루어, 프레임이 네트워크 내에서 끝없이 순환할 때 발생하는 문제를 일으키지 않으면서도 각 장치에 프레임을 전달할 수 있게 합니다.

STP/RSTP는 스위치가 각 인터페이스를 통해 사용자 트래픽을 송수신하기 전에 추가적인 검사를 수행함으로써 프레임 루프를 방지합니다. 해당 확인 절차는 다음과 같습니다. 해당 VLAN에서 포트가 STP/RSTP 전송 상태에 있으면 정상적으로 사용하지만, STP/RSTP 차단 상태에 있으면 모든 사용자 트래픽을 차단하고 해당 VLAN에서 해당 인터페이스를 통해 사용자 트래픽을 송수신하지 않습니다.

STP/RSTP 상태(전송/차단)는 스위치 인터페이스에 대해 이전에 이미 설정되어 있는 다른 정보에는 영향을 미치지 않는다는 점에 유의하십시오. 인터페이스의 Connected/Not Connect 상태는 변하지 않습니다. 인터페이스가 액세스 포트인지 트렁크 포트의 설정 상태도 변하지 않습니다. STP/RSTP는 이러한 추가적인 상태(전송/차단)를 단지 부여하며, 차단 상태는 기본적으로 인터페이스를 비활성화합니다.

스패닝 트리는 왜 필요한가?

STP/RSTP는 이더넷 LAN에서 흔히 발생하는 세 가지 문제를 방지합니다. 이 세 가지 문제는 모두 한 가지 사실의 부수적 결과로 발생합니다. 즉, STP/RSTP가 없다면 일부 이더넷 프레임은 네트워크 내에서 오랫동안(몇 시간, 며칠, 심지어 LAN 장치와 링크에 장애가 전혀 발생하지 않는다면 말 그대로 영원히) 순환하게 될 것입니다.

단 하나의 프레임이 무한 루프를 돌게 되면 이른바 브로드캐스트 스톰(Broadcast Storm)이 발생합니다. 브로드캐스트 스톰은 브로드캐스트 프레임, 멀티캐스트 프레임, 또는 목적지가 불명확한 유니캐스트 프레임 등 어떤 종류의 이더넷 프레임이든 LAN 내에서 무한히 순환할 때 발생합니다. 브로드캐스트 스톰은 해당 단일 프레임의 복사본으로 모든 링크의 대역폭을 잠식시켜 정상적인 프레임의 전송을 방해할 뿐만 아니라, PC가 과도한 양의 브로드캐스트 프레임을 처리하게 함으로써 최종 사용자 기기의 성능에 심각한 영향을 미칩니다.

이러한 현상이 어떻게 발생하는지 이해하는 데 도움을 주 위해, 아래 그림에는 Bob이 브로드캐스트 프레임을 전송하는 예시 네트워크가 나와 있습니다. 점선은 STP/RSTP가 활성화되지 않았을 때 스위치들이 프레임을 전달하는 방식을 보여줍니다.

그림 1

위 그림에서 스위치는 프레임이 도착한 인터페이스를 제외한 동일한 VLAN 내의 모든 인터페이스로 브로드캐스트를 전달합니다. SW3이 Bob의 프레임을 SW2로 전달하고, SW2가 프레임을 SW1로 전달하며, SW1이 프레임을 다시 SW3로 전달하고, SW3가 이를 다시 SW2로 전달하게 됩니다.

브로드캐스트 스톰(Broadcast Storm)이 발생하면, 현재 루핑중인 프레임은 누군가가 인터페이스를 셧다운하거나 스위치를 재부팅하는 등 루프를 끊을 조치를 취할 때까지 계속 루핑됩니다. 또한 동일한 현상이 반대 방향으로도 발생한다는 점에 유의하십시오. Bob이 원본 프레임을 전송하면, SW3도 그 사본을 SW1로 전달하고, SW1은 이를 SW2로 전달하는 식으로 반대 방향으로도 루프가 발생니다.

브로드캐스트 스톰(Broadcast Storm)은 또한 MAC 테이블 불안정성(MAC table instability)이라는 훨씬 더 미묘한 문제를 야기합니다. MAC 테이블 불안정성이란, 동일한 출발지 MAC 주소를 가진 프레임이 서로 다른 포트로 도착하기 때문에 스위치의 MAC 주소 테이블이 계속 변동하는 현상을 의미합니다. 그 이유를 이해하려면 다음 예시를 살펴보십시오. 위 그림1의 아래쪽 나와 있듯이, SW3은 Bob의 통신 시작 시점에 Bob에 대한 MAC 테이블 항목을 가지고 있으며, 이 항목은 포트 Fa0/13과 연결되어 있습니다:

0200.3333.3333     Fa0/13     VLAN 1

하지만 이제 루핑 프레임이 SW2로 갔다가 SW1로 이동한 후 다시 SW3의 Gi0/1 인터페이스로 돌아올 때 발생하는 스위치 학습 과정을 생각해 봅시다. SW3는 “음… 출발지 MAC 주소가 0200.3333.3333이고, 내 Gi0/1 인터페이스로 들어왔네. MAC 테이블을 업데이트해야겠군!”이라고 생각합니다. 그 결과 SW3에는 Fa0/13 대신 Gi0/1 인터페이스가 포함된 다음과 같은 항목이 생성됩니다:

0200.3333.3333     Gi0/1     VLAN 1

이 시점에서 SW3 자체는 Bob의 MAC 주소로 프레임을 올바르게 전달할 수 없습니다. 바로 그 순간, 문제를 일으키는 루핑 프레임과는 다른, Bob을 목적지로 하는 프레임이 SW3에 도착하면, SW3는 이 프레임을 Gi0/1 포트를 통해 SW1로 잘못 전달하여 혼잡을 더욱 가중시킵니다.

브로드캐스트 스톰(Broadcast Storm)에서 발생하는 프레임 순환은 또 다른 문제, 즉 여러개의 동일한 프레임(Multiple Frame Copies)이 목적지에 도달하는 현상을 초래합니다. Bob이 Larry에게 프레임을 전송하지만 어떤 스위치도 래리의 MAC 주소를 알지 못하는 경우를 생각해 봅시다. 스위치는 알 수 없는 유니캐스트 MAC 주소로 전송된 프레임을 플러딩합니다. Bob이 Larry의 MAC 주소를 목적지로 프레임을 전송하면, SW3는 SW1과 SW2 모두에 동일한 프레임을 전송합니다. SW1과 SW2 역시 프레임을 플러딩하여 프레임의 복사본이 루프를 돌게 됩니다. 또한 SW1은 각 프레임의 복사본을 Fa0/11 포트를 통해 래리에게 전송합니다. 그 결과, 래리는 프레임의 복사본을 여러 개 받게 되며, 이는 더 광범위한 네트워킹 문제를 야기할 뿐만 아니라 애플리케이션 오류로 이어질 수도 있습니다.

이중화된 LAN에서 STP를 사용하지 않아 발생하는 세 가지 유형의 문제

문제설명
브로드캐스트 스톰 (Broadcast Storm)동일한 링크를 통해 프레임을 반복적으로 전달함으로써 링크 대역폭의 상당 부분을 잠식하게 됨
MAC 테이블의 불안정성 (MAC table Instability)루프가 발생한 프레임에 대응하여 스위치의 MAC 주소 테이블에 잘못된 항목이 지속적으로 업데이트됨으로써, 프레임이 잘못된 위치로 전송되는 현상
다중 프레임 전송
(Multiple Frame Copies)
한 프레임을 반복 전송하여 해당 호스트에 동일한 프레임의 복사본이 여러 개 전달됨으로써 호스트가 혼란을 겪게 되는 부작용