STP와 RSTP의 차이: 포트의 상태와 역할·전환 속도·BPDU·호환성 비교

스위치를 이중화된 경로로 연결하면 브로드캐스트 프레임이 루프를 계속 돌아 브로드캐스트 스톰을 일으킵니다. STP(스패닝 트리 프로토콜)는 스위치끼리 BPDU라는 메시지를 교환하고 일부 포트를 차단해, 네트워크를 루트 브리지를 뿌리로 하는 루프 없는 트리로 만듭니다. 다만 고전적인 STP(IEEE 802.1D)는 루프가 생기지 않도록 타이머를 기다리며 포트를 포워딩 상태로 옮기므로, 기본값에서는 장애 후 복구에 30~50초가 걸립니다. RSTP(Rapid STP, IEEE 802.1w)는 같은 루트 브리지 선출과 포트를 차단한다는 같은 사고방식을 유지하면서, 이웃 스위치와의 제안·합의 교환과 미리 정해 둔 대체 포트로 전환을 일반적으로 몇 초 이내로 줄였습니다. RSTP는 IEEE 802.1D 2004년판에 통합되어 고전적인 STP를 대신하는 표준이 되었습니다.

비교 항목STPRSTP
규격IEEE 802.1D(1998년판까지)IEEE 802.1w. IEEE 802.1D 2004년판에 통합
포트 상태5가지: 디세이블, 블로킹, 리스닝, 러닝, 포워딩3가지: 디스카딩, 러닝, 포워딩
포트 역할루트 포트와 지정 포트. 어느 쪽도 아닌 포트는 차단합니다루트 포트와 지정 포트에 더해 대체 포트(루트 포트의 대역)와 백업 포트(지정 포트의 예비)
장애 후 복구 시간기본 타이머로 30~50초(최대 에이지 20초 + 포워드 지연 15초 × 2)일반적으로 몇 초 이내
빠른 전환의 구조없음. 타이머를 기다리며 리스닝과 러닝을 거쳐 포워딩에 이릅니다포인트 투 포인트 링크에서는 이웃과 제안과 합의를 교환해 타이머를 기다리지 않고 포워딩을 시작합니다. 루트 포트가 고장 나면 대체 포트가 바로 이어받습니다
BPDU 송신과 장애 감지각 스위치는 루트 브리지가 보낸 BPDU를 중계합니다. BPDU 정보가 최대 에이지(기본 20초) 동안 갱신되지 않으면 장애로 간주합니다각 스위치가 헬로 타임(기본 2초)마다 자신의 BPDU를 보냅니다. 3번 연속 받지 못하면 장애로 간주합니다
토폴로지 변경 통지변화를 알아챈 스위치가 TCN BPDU로 루트 브리지에 알리고, 루트 브리지가 전체에 퍼뜨립니다. MAC 주소 테이블은 에이징 시간을 포워드 지연(15초)으로 줄여 오래된 항목을 지웁니다변화를 알아챈 스위치가 이웃에게 직접 알리고, 받은 스위치는 MAC 주소 테이블의 오래된 항목을 바로 지웁니다
단말용 포트규격에서 구별하지 않습니다. 기기를 꽂으면 포워딩이 시작될 때까지 약 30초 기다립니다에지 포트로 설정한 포트는 바로 포워딩을 시작합니다. BPDU를 받으면 일반 포트로 다룹니다
호환성RSTP 스위치와 연결해도 STP로 계속 동작합니다STP 스위치와 마주한 포트에서는 STP 호환 동작으로 바꿉니다(그 포트에서의 전환은 느려집니다)

수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.

상황별 선택 기준

STP
RSTP를 지원하지 않는 오래된 스위치가 있는 곳에서 호환성을 위해 남겨 둡니다. 새 네트워크에서 고전적인 STP를 고를 이유는 거의 없습니다.
RSTP
스위치를 이중화해 연결한 네트워크의 표준 선택. 단말용 포트를 에지 포트로 설정하고 스위치 사이를 전이중 포인트 투 포인트 링크로 하면 빠른 전환의 효과를 충분히 얻을 수 있습니다.

자주 묻는 질문

STP는 왜 전환에 30~50초가 걸리나요?

루프가 생기지 않도록 포트를 신중하게 진행시키기 때문입니다. 네트워크의 다른 곳에서 일어난 장애라면, 먼저 오래된 BPDU 정보가 만료되는 최대 에이지 20초를 기다립니다. 그다음 리스닝과 러닝 상태에서 각각 포워드 지연 15초를 기다리므로, 모두 최대 20 + 15 × 2 = 50초가 됩니다. 스위치 자신의 포트에서 링크가 끊긴 경우에는 최대 에이지를 기다릴 필요가 없어 약 30초가 걸립니다.

RSTP 스위치와 STP 스위치를 섞어 쓸 수 있나요?

쓸 수 있습니다. RSTP 스위치는 고전적인 STP의 BPDU를 받은 포트에서 STP 호환 동작으로 바꿉니다. 다만 그 포트에서는 제안과 합의의 교환을 쓸 수 없고 타이머에 의존하므로 전환이 느려집니다. 빠른 전환을 얻으려면 네트워크의 모든 스위치에서 RSTP를 동작시킵니다.

STP와 RSTP에서 루트 브리지를 고르는 방법이 다른가요?

아니요, 같습니다. 우선순위 뒤에 MAC 주소를 이어 붙인 브리지 ID가 가장 작은 스위치가 루트 브리지가 됩니다. 우선순위의 기본값은 32768이므로, 설정하지 않으면 MAC 주소가 가장 작은 스위치가 이깁니다. 그래서 중심에 둘 스위치에 더 낮은 우선순위를 설정하는 것이 일반적입니다.

VLAN마다 다른 트리를 만들고 싶다면 어떻게 하나요?

STP와 RSTP는 네트워크 전체에 트리 하나를 만들므로, 차단된 링크는 모든 VLAN에서 쓰이지 않습니다. MSTP(IEEE 802.1s, 지금은 IEEE 802.1Q의 일부)는 VLAN 그룹마다 다른 트리(인스턴스)를 만들 수 있으므로, VLAN마다 다른 링크를 써서 이중화된 링크를 활용할 수 있습니다.

이해도 확인

스위치를 이중화된 경로로 연결한 네트워크에서 스패닝 트리 프로토콜(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 주소가 가장 작은 스위치가 선출되어 버리므로, 중심에 둘 스위치의 우선순위를 작게 설정해 두는 것이 일반적입니다.

스위치 SW1, SW2, SW3 3대를 서로 링크 1개씩으로 삼각형으로 연결했다. STP의 루트 브리지는 SW1이고, 브리지 ID는 SW2가 SW3보다 작다. 모든 링크의 경로 비용은 같다고 한다. 차단되는(프레임을 전달하지 않는) 포트는?

  1. ASW1의, SW3에 연결된 포트
  2. BSW2의, SW3에 연결된 포트
  3. CSW3의, SW2에 연결된 포트
정답과 해설 보기

정답: C. SW3의, SW2에 연결된 포트

루트 브리지의 포트는 모두 지정 포트로서 전송 상태가 됩니다. SW2와 SW3은 루트 브리지까지의 비용이 가장 작은, SW1에 직접 연결된 포트를 루트 포트로 합니다. 남은 SW2–SW3 링크에서는 두 스위치 모두 루트 브리지까지의 비용이 같으므로(링크 1개분), 브리지 ID가 작은 SW2의 포트가 지정 포트가 됩니다. 지정 포트도 루트 포트도 되지 않는 SW3의 포트가 차단되어 삼각형의 루프가 끊어집니다.

  1. 기존의 STP(IEEE 802.1D)는 기본 타이머 그대로라면 장애 후 차단되어 있던 포트가 전송을 시작하기까지 30~50초 정도 걸린다. RSTP가 전환을 빠르게 한 구조로 올바른 것은?

네트워크 설계와 운용 문제 풀기

주요 용어 설명

스패닝 트리 프로토콜(STP)
Spanning Tree Protocol의 약자. 스위치를 이중화된 경로로 연결한 네트워크에서 일부 포트를 논리적으로 차단하여 루프가 없는 트리 형태로 만들고, 브로드캐스트 스톰을 막는 프로토콜(IEEE 802.1D). 사용 중인 경로가 끊어지면 차단하던 포트를 사용해 경로를 전환한다. 전환을 빠르게 한 개량판이 RSTP(래피드 스패닝 트리 프로토콜)이다.
MAC 주소(MAC Address)
이더넷이나 무선 LAN에서 같은 네트워크 안의 기기를 지정하는 데 사용하는 48비트 주소. 상위 24비트가 제조사를 나타내며, 제조 시에 인터페이스마다 할당된다.
브로드캐스트 도메인(Broadcast Domain)
브로드캐스트 프레임이 도달하는 범위. 스위치나 허브는 브로드캐스트를 전달하므로 같은 범위에 포함되며, 라우터(나 L3 스위치의 라우팅)가 범위를 구분한다. VLAN을 쓰면 1대의 스위치 안을 VLAN마다 별개의 브로드캐스트 도메인으로 나눌 수 있다. 범위가 너무 넓으면 ARP 등의 브로드캐스트가 늘어 통신 효율이 떨어진다.
VLAN(가상 LAN)
가상 LAN. 스위치의 포트 등을 단위로, 물리적으로 같은 기기 위에 논리적으로 별개의 네트워크(브로드캐스트 도메인)를 만드는 기능. 스위치 사이에서는 IEEE 802.1Q 태그로 구별한다.
이더넷(Ethernet)
유선 LAN의 표준적인 규격군(IEEE 802.3). 데이터를 프레임에 넣고 MAC 주소로 목적지를 나타내 보낸다. 트위스티드 페어 케이블이나 광섬유를 쓰며, 속도는 10 Mbit/s부터 수백 Gbit/s까지 있다. 프레임 끝에는 CRC-32에 의한 오류 검출 부호(FCS)가 붙는다. 현재는 스위치와 전이중으로 연결하는 것이 일반적이며, 예전의 CSMA/CD에 의한 충돌 제어는 쓰이지 않는다.

관련 비교