2025. 1. 30. 12:20ㆍIT Infra
안녕하세요! 콱!꼬챙 입니다.
오늘은 STP에 대해 좀 더 자세히 공부해 보아요 ~
1. STP(Spanning Tree Protocol)의 개요와 필요성
STP(Spanning Tree Protocol)는 이더넷 네트워크에서 루프(Loop)를 방지하기 위한 프로토콜로, IEEE 802.1D 표준으로 정의되어 있습니다. 스위치 기반 네트워크에서는 다중 경로를 사용하여 장애 복구를 지원하지만, 브로드캐스트 스톰(Broadcast Storm)이나 MAC 주소 테이블 불안정성과 같은 문제가 발생할 수 있습니다. STP는 이러한 문제를 해결하기 위해 특정 링크를 비활성화하여 루프를 제거하면서도, 네트워크 장애 발생 시 자동으로 대체 경로를 활성화하는 기능을 수행합니다.
STP가 등장하기 전에는 물리적인 방법으로 루프를 방지해야 했기 때문에 네트워크 확장성이 제한적이었습니다. 그러나 STP를 활용하면 복수의 경로가 존재하는 환경에서도 네트워크 안정성을 유지할 수 있습니다. 오늘날 대부분의 관리형 L2 스위치에서는 STP가 기본적으로 지원되며, 기업 네트워크, 데이터센터 및 ISP 환경에서 필수적으로 사용됩니다.
2. STP의 핵심 동작 원리와 루트 브리지 선정
STP는 네트워크 내에서 하나의 중심 노드인 루트 브리지(Root Bridge)를 선정하고, 이 루트 브리지로부터 최적의 경로를 결정하여 루프 없는 트리 구조를 형성합니다. 이 과정에서 STP는 다음과 같은 단계를 거칩니다.
- BPDU(Bridge Protocol Data Unit) 전송
STP는 BPDU라는 제어 메시지를 사용하여 네트워크 토폴로지를 학습하고 루트 브리지를 선정합니다. BPDU는 각 스위치가 자신이 루트 브리지가 될 수 있다는 정보를 포함하여 주기적으로 네트워크에 전송됩니다. - 루트 브리지(Root Bridge) 선정
루트 브리지는 가장 낮은 브리지 ID(Bridge ID)를 가진 스위치가 자동으로 선정됩니다. 브리지 ID는 스위치의 우선순위 값(Bridge Priority)과 MAC 주소로 구성되며, 우선순위 값이 낮을수록 루트 브리지로 선정될 가능성이 높아집니다.
- 경로 비용(Path Cost) 계산
각 스위치는 루트 브리지까지의 경로 비용을 계산하고, 비용이 가장 낮은 경로를 통해 데이터를 전달합니다. 경로 비용은 포트 속도에 따라 다르며, 일반적으로 속도가 빠를수록 비용이 낮게 설정됩니다. - 포트 상태 결정
STP는 루프 방지를 위해 네트워크 링크 중 일부를 비활성화(Blocking) 상태로 설정합니다. 이 과정에서 스위치 포트는 다음과 같은 상태를 가질 수 있습니다.- Blocking – 루프를 방지하기 위해 트래픽 전달을 차단하는 상태
- Listening – BPDU를 수신하며 네트워크 구조를 파악하는 상태
- Learning – MAC 주소 테이블을 학습하지만, 아직 데이터 프레임을 전달하지 않는 상태
- Forwarding – 정상적인 트래픽 전달이 가능한 상태
- Disabled – 관리자가 직접 포트를 비활성화한 상태
3. STP의 한계와 발전된 프로토콜(RSTP, MSTP)
STP는 네트워크 루프 방지에 효과적이지만, 트래픽 복구 시간이 길다는 단점이 있습니다. 기본 STP에서는 장애 발생 시 새로운 포트 활성화에 최대 50초까지 소요될 수 있으며, 이는 실시간 서비스(VoIP, 비디오 스트리밍)에 큰 영향을 미칠 수 있습니다. 이를 해결하기 위해 STP의 확장 버전이 등장하였습니다.
- RSTP(Rapid Spanning Tree Protocol, IEEE 802.1w)
RSTP는 STP보다 빠른 장애 복구를 제공하는 프로토콜로, 포트 전환 속도를 대폭 향상시켰습니다. RSTP는 Listening 및 Learning 상태를 제거하고, 장애 발생 시 즉시 대체 경로를 활성화할 수 있도록 개선되었습니다. - MSTP(Multiple Spanning Tree Protocol, IEEE 802.1s)
MSTP는 VLAN 환경에서 더욱 효율적인 트래픽 관리를 위해 개발된 프로토콜로, 여러 개의 스패닝 트리를 동시에 운영할 수 있습니다. 이를 통해 특정 VLAN 그룹마다 다른 스패닝 트리를 설정할 수 있어 네트워크 부하 분산이 가능합니다.
이러한 STP 확장 버전은 대규모 네트워크에서 더 빠르고 효율적인 장애 복구를 지원하여, 현대 네트워크 환경에서 필수적으로 사용됩니다.
4. STP의 실제 적용 사례와 네트워크 설계 시 고려사항
STP는 대기업의 데이터센터, ISP 네트워크, 공공기관의 네트워크 환경에서 중요한 역할을 합니다. 특히, 네트워크 가용성이 중요한 환경에서는 STP를 적절히 구성하여 장애 발생 시에도 안정적인 서비스를 유지해야 합니다.
- STP 적용 사례
- 데이터센터 네트워크 – 데이터센터에서는 다중 경로를 통해 네트워크의 가용성을 보장해야 합니다. STP를 활용하여 특정 링크를 백업 경로로 설정하고, 장애 발생 시 자동으로 활성화하는 구조를 설계할 수 있습니다.
- 대규모 캠퍼스 네트워크 – 대학교나 대기업 캠퍼스 네트워크에서는 수많은 스위치가 연결되므로, STP를 적용하여 네트워크 루프를 방지하고, 브로드캐스트 트래픽을 제어해야 합니다.
- ISP 및 클라우드 환경 – 서비스 제공업체(ISP) 및 클라우드 환경에서는 다수의 백본 스위치를 연결하는 구조가 일반적이며, 이 과정에서 STP를 통해 네트워크의 안정성을 유지할 수 있습니다.
- 네트워크 설계 시 고려해야 할 STP 설정
- 루트 브리지 수동 설정 – 네트워크 구조에 따라 특정 스위치를 루트 브리지로 강제 지정하여 최적의 트래픽 흐름을 유도하는 것이 중요합니다.
- 경로 비용 조정 – 네트워크 트래픽을 최적화하기 위해 주요 트래픽 경로의 비용을 낮추고, 백업 경로의 비용을 높이는 방식으로 경로 선택을 조정할 수 있습니다.
- BPDU 가드 및 루트 가드 사용 – BPDU 가드는 비인가 장치가 BPDU 메시지를 보내는 것을 차단하여 STP 공격을 방지하며, 루트 가드는 예상치 못한 루트 브리지 변경을 막기 위해 사용됩니다.
6. Root Port(RP) 선정 방식
RP(Root Port)는 각 스위치에서 루트 브리지까지 가장 최적의 경로를 제공하는 포트를 의미합니다. 루트 브리지는 네트워크에서 중심 역할을 하며, 모든 스위치는 루트 브리지와 연결된 최단 경로를 찾아 RP를 선정합니다.
RP 선정 기준
각 스위치가 RP를 결정하는 방식은 다음과 같습니다.
- 경로 비용(Path Cost)이 가장 낮은 포트 선택
- Path Cost는 포트 속도에 따라 가중치가 부여되며, 빠른 경로일수록 비용이 낮게 설정됩니다.
- STP에서 정의한 기본적인 Path Cost 값은 다음과 같습니다.포트 속도Path Cost (802.1D-1998)Path Cost (802.1D-2004 이후)
10 Mbps 100 2,000,000 100 Mbps 19 200,000 1 Gbps 4 20,000 10 Gbps 2 2,000 - 스위치는 루트 브리지까지의 누적 Path Cost를 계산하며, 최저 비용을 가진 포트를 RP로 설정합니다.
- Path Cost가 동일하면 Bridge ID 비교
- 만약 두 개 이상의 포트가 동일한 Path Cost를 가진다면, Root Bridge로부터 더 낮은 Bridge ID를 가진 스위치로 연결된 포트를 RP로 선택합니다.
- Bridge ID도 동일하면 Port ID 비교
- Path Cost와 Bridge ID가 동일할 경우, **더 낮은 Port ID(포트 번호)**를 가진 포트가 RP로 선정됩니다.
예제 시나리오
다음과 같은 환경을 가정해 봅시다.
- 루트 브리지: 스위치 A
- 스위치 B와 스위치 C가 스위치 A에 연결됨
- 스위치 B와 C는 각각 스위치 A까지 가는 두 개의 경로를 가짐
스위치 B가 루트 브리지까지 가는 두 개의 경로를 가지며,
- 포트 1 → 포트 2 (Path Cost 4)
- 포트 3 → 포트 4 (Path Cost 19)
이 경우 Path Cost 4가 더 낮으므로 포트 1이 RP로 설정됩니다.
7. Designated Port(DP) 선정 방식
DP(Designated Port)는 특정 네트워크 세그먼트에서 루트 브리지로 향하는 최적의 경로를 제공하는 포트를 의미합니다. DP는 브리지당 하나씩만 존재하며, 해당 포트를 통해 루트 브리지로의 데이터 전송이 이루어집니다.
DP 선정 기준
각 스위치에서 DP를 선정하는 방식은 다음과 같습니다.
- 경로 비용(Path Cost)이 가장 낮은 포트 선택
- 세그먼트 내에서 루트 브리지까지의 경로 비용이 가장 낮은 포트가 DP로 선정됩니다.
- Path Cost가 동일하면 Bridge ID 비교
- Path Cost가 동일한 경우, 더 낮은 Bridge ID를 가진 스위치의 포트가 DP로 선정됩니다.
- Bridge ID도 동일하면 Port ID 비교
- Path Cost와 Bridge ID가 같다면, 더 낮은 Port ID를 가진 포트가 DP로 선정됩니다.
예제 시나리오
스위치 A가 루트 브리지이고, 스위치 B와 스위치 C가 스위치 A와 연결된 상황을 가정해 봅시다.
- 스위치 A → 스위치 B (Path Cost 4)
- 스위치 A → 스위치 C (Path Cost 4)
- 스위치 B ↔ 스위치 C (Path Cost 19)
이 경우,
- 스위치 A의 포트는 DP로 설정됨 (루트 브리지의 모든 포트는 DP로 설정됨)
- 스위치 B와 C의 RP는 루트 브리지까지의 최단 경로를 따라 설정됨
- B와 C 사이의 링크에서 DP는 Path Cost를 기준으로 결정됨
8. Root Port와 Designated Port 선정 예제
네트워크 토폴로지 예제
- SW1이 루트 브리지
- SW2, SW3는 SW1과 연결됨
- SW4는 SW2와 SW3 둘 다와 연결됨
Root Port(RP) 선정
- SW2와 SW3는 루트 브리지(SW1)와 직접 연결됨 → 루트 브리지로 가는 최단 경로는 1홉 → 가장 낮은 Path Cost를 가진 포트가 RP로 설정됨
- SW4는 SW1으로 가는 두 개의 경로(SW2, SW3)를 가짐 → 더 낮은 Path Cost를 가진 포트가 RP로 설정됨
Designated Port(DP) 선정
- SW1의 포트는 모두 DP (루트 브리지의 모든 포트는 자동으로 DP)
- SW2 ↔ SW4 및 SW3 ↔ SW4 구간에서 DP는 Path Cost를 비교하여 선정됨
'IT Infra' 카테고리의 다른 글
#12 라우팅 프로토콜의 종류와 동작 원리 (0) | 2025.02.01 |
---|---|
#11 방화벽과 VPN의 역할 (0) | 2025.01.31 |
#10 라우터의 개념과 기본 역할 (0) | 2025.01.31 |
#9 DNS(Domain Name System)의 원리와 작동 방식 (0) | 2025.01.30 |
#7 L2 스위치란 무엇인가? (역할, 동작방식) (0) | 2025.01.29 |
#6 IP 주소 체계와 서브넷 마스크 (0) | 2025.01.26 |
#5 ARP 란 무엇인가 ? (0) | 2025.01.25 |
#4 네트워크 L2계층 MAC통신 이란 ? (0) | 2025.01.24 |