이번에는 스위치의 핵심 기능 중 하나인 STP(Spanning Tree Protocol)에 대해서 알아보도록 하겠습니다.
STP는 루핑(Looping) 현상을 방지하기 위해 사용되는 프로토콜입니다. 그렇다면 루핑이란 무엇일까요?
1. 루핑(Looping)이란?
루핑(Looping)은 프레임이 네트워크 상에서 무한정으로 뱅뱅 도는 현상을 말합니다. 이더넷의 특성상 네트워크에서 통신이 이루어지지 않아야 데이터를 전송할 수 있는 것을 여러분들은 이제 아실 겁니다. 하지만 루핑이 발생한다면 네트워크가 조용해지기를 기다리느라 데이터 전송이 불가능해지게 됩니다.
2. 루핑의 발생과정
아래[그림1]를 보면 두 호스트 사이에 스위치가 2개 있는 상황입니다. 하나의 호스트에서 다른 호스트로 가는 경로가 2개 이상 만들어진다는 겁니다. 보통 이렇게 구성하는 것은 하나의 경로가 끊어져도 다른 경로를 사용해서 통신하기 위함인데, 아무런 생각 없이 이렇게 구성하게 되면 루핑이 발생하게 됩니다. 루핑이 발생하는 과정을 조금 더 자세히 알아보겠습니다.
호스트 A가 브로드캐스트(Broadcast) 패킷을 보냅니다. 그럼 패킷은 세그먼트 E1에서 양쪽 스위치로 모두 전달될 것입니다. 그리고 2개의 스위치는 패킷을 보고 이 패킷이 브로드캐스트 패킷이라는 것을 알아낸 후 플러딩(Flooding)을 하게 됩니다. 그럼 세그먼트 E2로도 브로드캐스트 패킷이 보내지겠죠? 세그먼트 E2를 통해 다시 브로드캐스트 패킷을 받은 스위치 1과 2는 다시 위쪽 포트(세그먼트 E1)로 Flooding을 하게 됩니다.
이런 과정이 반복되면 한 번 발생한 브로드캐스트 패킷이 양쪽 브리지를 통해 네트워크를 계속 뱅뱅 돌게되는 루핑이 발생합니다. 이와 같이 루핑이 발생하게 되면 CSMA/CD의 특성상 다른 데이터를 전송할 수가 없게 됩니다. 그렇다면 루핑은 어떻게 막을 수 있을까요? 가장 간단한 방법은 모든 목적지까지의 경로를 하나로 만들어주면 됩니다. 하지만 일부러 연결을 이중으로 하는 경우도 있으니 무조건 못하게 막는 건 문제가 있어 보입니다. 따라서 자동으로 루핑을 막아주는 알고리즘이 필요한데, 이것이 바로 STP(Spanning Tree Protocol)입니다.
STP에 대해서는 다음 편에서 알아보도록 하겠습니다. 이번 글에서는 목적지까지의 경로가 2개 이상 존재하면 반드시 루핑(Looping)이 발생하고, 이를 방지해주는 것이 STP(Spanning Tree Protocol)라는 것만 알아두시면 됩니다.
'Network' 카테고리의 다른 글
Switch 2 - 스위치(브리지)의 기능 (0) | 2023.11.22 |
---|---|
Switch 1 - 스위치(Switch)란 무엇일까? (0) | 2023.10.15 |
Hub 2 - 허브의 한계, 종류 (0) | 2023.10.15 |
Hub 1 - 허브(Hub)란 무엇일까? (0) | 2023.10.15 |
메시지 전송방식(유니캐스트, 멀티캐스트, 브로드캐스트) (0) | 2023.10.15 |