스패닝 트리 프로토콜(STP)란?

Spanning Tree Protocol의 약자. 스위치를 이중화된 경로로 연결한 네트워크에서 일부 포트를 논리적으로 차단하여 루프가 없는 트리 형태로 만들고, 브로드캐스트 스톰을 막는 프로토콜(IEEE 802.1D). 사용 중인 경로가 끊어지면 차단하던 포트를 사용해 경로를 전환한다. 전환을 빠르게 한 개량판이 RSTP(래피드 스패닝 트리 프로토콜)이다.

일본어 명칭: スパニングツリープロトコル(STP)

스패닝 트리 프로토콜(STP)은(는) 네트워크 설계와 운용 등 1개 분야의 연습 문제 5개에 나와요.

분야: 네트워크 설계와 운용

왜 루프가 문제가 되는가

이더넷 프레임에는 IP의 TTL처럼 통과 횟수를 세어 버리는 구조가 없습니다. 그래서 스위치를 루프 형태로 연결하면 브로드캐스트나 목적지를 모르는 프레임이 루프를 계속 돌며, 스위치가 흘려보낼 때마다 늘어납니다(브로드캐스트 스톰). 같은 출발지의 프레임이 서로 다른 포트로 도착하므로 MAC 주소 테이블의 학습도 흐트러집니다. 한편 링크 하나나 스위치 1대의 고장으로 통신이 멈추지 않도록 경로는 이중화해 두고 싶으므로, 물리적인 루프는 남겨 둔 채 논리적으로 루프를 끊는 STP가 쓰입니다.

루트 브리지와 포트의 역할

STP에서는 스위치끼리 BPDU라는 메시지를 교환하여, 먼저 브리지 ID(우선순위와 MAC 주소)가 가장 작은 스위치를 루트 브리지로 고릅니다. 다른 스위치는 루트 브리지까지의 경로 비용이 가장 작은 포트를 루트 포트로 합니다. 각 링크에서는 루트 브리지에 가까운 쪽 포트가 지정 포트가 되고, 루트 포트도 지정 포트도 아닌 포트가 차단됩니다. 경로 비용은 링크가 빠를수록 작은 값이며, 비용이 같을 때는 브리지 ID 등의 비교로 정해집니다.

RSTP와 여러 VLAN

기존의 STP는 타이머를 기다리면서 포트를 전송 상태로 진행시키므로, 장애 후 전환에 30~50초 정도 걸렸습니다. RSTP(IEEE 802.1w로 만들어졌고, 나중에 802.1D에 통합)는 이웃한 스위치끼리의 제안과 합의 교환이나 미리 정해 두는 대체 포트를 통해, 대부분의 경우 몇 초 이내에 전환합니다. VLAN 그룹마다 별도의 트리를 만들 수 있는 MSTP(멀티플 스패닝 트리)를 쓰면 VLAN에 따라 쓰는 링크를 나누어, 이중화된 링크도 활용할 수 있습니다.

도전해 보기: 스패닝 트리 프로토콜(STP) 관련 문제

스위치를 이중화된 경로로 연결한 네트워크에서 스패닝 트리 프로토콜(STP)이 하는 역할로 올바른 것은?

  1. A일부 포트를 논리적으로 멈춰 루프가 없는 트리 형태의 경로로 만들고, 브로드캐스트 프레임이 계속 도는 것을 막는다
  2. B스위치 사이의 여러 링크에 프레임을 균등하게 분배하여 대역폭을 늘린다
  3. C서로 다른 VLAN 사이에서 프레임을 중계하여 VLAN끼리 통신할 수 있게 한다
정답과 해설 보기

정답: A. 일부 포트를 논리적으로 멈춰 루프가 없는 트리 형태의 경로로 만들고, 브로드캐스트 프레임이 계속 도는 것을 막는다

스위치를 루프 형태로 연결하면 브로드캐스트나 목적지를 모르는 프레임이 루프를 계속 돌면서 늘어나(브로드캐스트 스톰) 네트워크가 멈춰 버립니다. 이더넷 프레임에는 IP의 TTL처럼 통과 횟수를 세어 버리는 구조가 없기 때문입니다. STP는 스위치끼리 BPDU라는 메시지를 교환하여, 루트 브리지를 뿌리로 하는 트리 형태가 되도록 일부 포트를 차단합니다. 사용 중인 링크가 끊어지면 차단하던 포트를 전송 상태로 바꾸어 다른 경로로 전환합니다.

STP에서 스위치 3대의 브리지 ID가 다음과 같이 알려져 있다. SW1은 우선순위 32768, MAC 주소 00-00-5E-00-53-01, SW2는 우선순위 61440, MAC 주소 00-00-5E-00-53-05, SW3은 우선순위 4096, MAC 주소 00-00-5E-00-53-0A이다. 루트 브리지로 선출되는 스위치는?

  1. ASW1
  2. BSW2
  3. CSW3
정답과 해설 보기

정답: C. SW3

STP에서는 브리지 ID가 가장 작은 스위치가 루트 브리지가 됩니다. 브리지 ID는 우선순위를 상위에, MAC 주소를 하위에 나열한 값이므로, 먼저 우선순위를 비교하고 같을 때만 MAC 주소를 비교합니다. 여기서는 우선순위가 가장 작은 4096인 SW3이 MAC 주소와 관계없이 루트 브리지가 됩니다. 우선순위의 기본값은 32768이며, 아무것도 설정하지 않으면 MAC 주소가 가장 작은 스위치가 선출되어 버리므로, 중심에 둘 스위치의 우선순위를 작게 설정해 두는 것이 일반적입니다.

자주 묻는 질문

STP가 있으면 루프 걱정은 필요 없나요?

STP는 BPDU를 주고받는 스위치끼리 생긴 루프는 막지만, STP를 비활성화한 포트나 BPDU를 다루지 않는 기기로 생긴 루프는 막을 수 없습니다. 단말을 연결하는 포트에서 BPDU를 받으면 그 포트를 멈추는 기능이나, 브로드캐스트의 양을 제한하는 기능과 조합하여 쓰는 것이 일반적입니다.

STP로 차단된 링크는 낭비가 되지 않나요?

트리가 하나라면 차단된 링크는 대기용이 되어 평소에는 통신에 쓰이지 않습니다. 링크의 대역폭도 쓰고 싶은 경우에는 여러 링크를 하나로 묶는 링크 어그리게이션(STP에서는 링크 하나로 보입니다)이나, VLAN마다 트리를 나누는 MSTP, L3에서 라우팅하는 구성 등을 사용합니다.

해설 속 스패닝 트리 프로토콜(STP)

스패닝 트리 프로토콜(STP)이(가) 나오는 문제 (5)

  1. 스위치를 이중화된 경로로 연결한 네트워크에서 스패닝 트리 프로토콜(STP)이 하는 역할로 올바른 것은?
  2. STP에서 스위치 3대의 브리지 ID가 다음과 같이 알려져 있다. SW1은 우선순위 32768, MAC 주소 00-00-5E-00-53-01, SW2는 우선순위 61440, MAC 주소 00-00-5E-00-53-05, SW3은 우선순위 4096, MAC 주소 00-00-5E-00-53-0A이다. 루트 브리지로 선출되는 스위치는?
  3. 스위치 SW1, SW2, SW3 3대를 서로 링크 1개씩으로 삼각형으로 연결했다. STP의 루트 브리지는 SW1이고, 브리지 ID는 SW2가 SW3보다 작다. 모든 링크의 경로 비용은 같다고 한다. 차단되는(프레임을 전달하지 않는) 포트는?
  4. 기존의 STP(IEEE 802.1D)는 기본 타이머 그대로라면 장애 후 차단되어 있던 포트가 전송을 시작하기까지 30~50초 정도 걸린다. RSTP가 전환을 빠르게 한 구조로 올바른 것은?
  5. 스위치 2대 사이의 1 Gbps 링크 4개를 링크 어그리게이션으로 하나의 논리적인 링크로 묶었다. 프레임은 출발지와 목적지의 주소나 포트 번호의 조합(플로)마다 어느 링크로 보낼지 정하는 일반적인 방식으로 분배한다. TCP 연결 하나로 얻을 수 있는 처리량의 상한에 가장 가까운 것은?

이 용어가 포함된 비교

관련 용어

이더넷(Ethernet) IP(인터넷 프로토콜) MAC 주소(MAC Address) 링크 어그리게이션(Link Aggregation) 포트 번호(Port Number) TCP(전송 제어 프로토콜) 처리량(Throughput) 경로 요약(Route Summarization) 경로 MTU 탐색(Path MTU Discovery) 관리 거리(Administrative Distance)

용어집으로 돌아가기