스패닝 트리 프로토콜

Spanning Tree Protocol

STP(Spanning Tree Protocol)는 이더넷 네트워크를 위한 루프 없는 논리 토폴로지를 구축하는 네트워크 프로토콜입니다. STP의 기본 기능은 브리지 루프와 이로부터 발생하는 방송 방사선을 방지하는 것입니다. 또한 스패닝 트리를 사용하면 네트워크 설계에 활성 링크가 실패할 경우 내결함성을 제공하는 백업 링크를 포함할 수 있습니다.

이름에서 알 수 있듯이 STP는 연결된 계층-2 브리지 네트워크 내 노드의 관계를 특성화하는 스패닝 트리를 만들고 스패닝 트리의 일부가 아닌 링크를 비활성화하여 임의의 두 네트워크 노드 사이에 단일 활성 경로를 남깁니다. STP는 Radia PerlmanDigital Equipment Corporation에서 근무할 때 발명한 알고리즘을 기반으로 합니다.[1][2]

2001년 IEEERSTP(Rapid Spanning Tree Protocol)를 802.1w로 도입했습니다. RSTP는 네트워크 변화나 장애에 대응하여 훨씬 더 빠른 복구를 제공하며, 이를 위해 새로운 수렴 동작과 브리지 포트 역할을 도입합니다. RSTP는 표준 STP와 역호환되도록 설계되었습니다.

STP는 원래 IEEE 802로 표준화되었습니다.1D 그러나 그 이후로 스패닝 트리(802.1D), 고속 스패닝 트리(802.1w) 및 다중 스패닝 트리(802.1s)의 기능이 IEEE 802에 통합되었습니다.1Q-2014.[3]

STP는 오늘날에도 여전히 사용되고 있지만 대부분의 현대 네트워크에서 주로 사용되는 것은 내결함성 메커니즘이 아니라 루프 보호 메커니즘입니다.[citation needed] LACP와 같은 링크 집성 프로토콜은 두 개 이상의 링크를 결합하여 내결함성을 제공하는 동시에 전체 링크 용량을 증가시킵니다.

의전운영

LAN(Local Area Network)에서 Spanning Tree Protocol을 구현하는 스위치. 하나의 스위치는 STP 루트 브리지입니다. 두 스위치 사이의 링크를 연결하는 모든 스위치 포트는 루트 포트(RP), 지정 포트(DP) 또는 차단 포트(BP)입니다.
After link failure the spanning tree algorithm computes and spans new least-cost tree.
링크 실패 후 스패닝 트리 알고리즘은 새로운 최소 비용 트리를 계산하고 스패닝합니다.
LAN(Local Area Network)에서 Spanning Tree Protocol을 구현하는 스위치

하나의 연결이 실패할 경우 복원력을 향상시키기 위해 LAN(Local Area Network)의 스위치가 중복 링크를 사용하여 상호 연결되는 경우가 많기 때문에 STP(Spanning Tree Protocol)의 필요성이 대두되었습니다.[4]: 386 그러나 이러한 연결 구성은 스위칭 루프를 생성하여 브로드캐스트 방사선MAC 테이블의 불안정을 초래합니다.[4]: 388 스위치를 연결하는 데 중복 링크가 사용되는 경우 스위치 루프를 피해야 합니다.[4]: 385

스위치드 LAN의 중복 링크와 관련된 문제를 피하기 위해 STP는 네트워크 토폴로지를 모니터링하기 위해 스위치에 구현됩니다. 스위치 간의 모든 링크, 특히 중복 링크는 카탈로그화됩니다. 그런 다음 스패닝 트리 알고리즘은 LAN의 스위치 간에 하나의 선호 링크를 설정하여 중복 링크에 대한 전달을 차단합니다. 이 기본 설정 링크는 실패하지 않는 한 모든 이더넷 프레임에 사용되며, 이 경우 기본 설정이 아닌 중복 링크가 활성화됩니다. 네트워크에서 구현되는 경우 STP는 하나의 계층-2 스위치를 루트 브리지로 지정합니다. 그런 다음 모든 스위치는 전달할 루트 브리지에 대한 최적의 연결을 선택하고 다른 중복 링크를 차단합니다. 모든 스위치는 브리지 프로토콜 데이터 유닛(BPDU)을 사용하여 LAN 내 이웃과 지속적으로 통신합니다.[4]: 388

두 스위치 사이에 링크가 두 개 이상 있는 경우 STP 루트 브리지는 대역폭을 기반으로 각 경로의 비용을 계산합니다. STP는 비용이 가장 적게 드는 경로, 즉 대역폭이 가장 높은 경로를 선호 링크로 선택합니다. STP는 이 선호 링크를 두 스위치 사이의 이더넷 프레임에 사용할 수 있는 유일한 경로로 활성화하고 선호 경로를 연결하는 스위치 포트를 루트 포트로 지정하여 다른 모든 가능한 링크를 비활성화합니다.[4]: 393

LAN의 STP 지원 스위치가 루트 브리지를 선택한 후에는 모든 비루트 브리지가 해당 포트 중 하나를 루트 포트로 할당합니다. 스위치를 루트 브리지에 연결하는 포트이거나 경로가 여러 개 있는 경우 루트 브리지에서 계산한 대로 선호 경로가 있는 포트입니다. 모든 스위치가 루트 브리지에 직접 연결되지는 않기 때문에 STP BPDU를 사용하여 서로 통신합니다. 각 스위치는 루트 브리지에 대한 주어진 경로의 총 비용을 결정하기 위해 자신의 경로에 대한 비용을 이웃 스위치로부터 받은 비용에 추가합니다. 루트 브리지로 연결할 수 있는 모든 경로의 비용을 모두 더하면 각 스위치는 포트를 루트 포트로 할당하여 가장 낮은 비용 또는 가장 높은 대역폭으로 경로에 연결하고 결국 루트 브리지로 연결됩니다.[4]: 394

경로비용

다양한 포트 속도 및 STP 변화에 대한 경로 비용
데이터율
(링크 대역폭)
원본STP비용
(802.1D-1998)
RSTP/MSTP cost
(권장값)[3]: 503
4 Mbit/s 250 5,000,000
10 Mbit/s 100 2,000,000
16 Mbit/s 62 1,250,000
100 Mbit/s 19 200,000
1기가비트/s 4 20,000
2기가비트/s 3 10,000
10기가비트/s 2 2,000
100기가비트/s 해당 없음 200
1 Tbit/s 해당 없음 20

STP 경로 비용 기본값은 원래 공식 1Gbit/s/bandwidth에 의해 계산되었습니다. 더 빠른 속도를 사용할 수 있게 되었을 때, 1Gbit/s를 초과하는 속도는 STP로 구별할 수 없었기 때문에 기본값이 조정되었습니다. 후속 RSTP는 20 Tbit/s/bandwidth라는 분자가 더 큰 유사한 공식을 사용합니다. 이러한 공식은 표의 표본 값으로 이어집니다.[5]: 154

항구 상태

STP가 활성화된 LAN의 모든 스위치 포트가 분류됩니다.[4]: 388

막는
활성인 경우 스위칭 루프가 발생하는 포트입니다. 루프된 경로의 사용을 방지하기 위해 차단 포트를 통해 사용자 데이터가 송수신되지 않습니다. BPDU 데이터는 여전히 차단 상태로 수신됩니다. 사용 중인 다른 링크가 실패하고 스패닝 트리 알고리즘에 의해 포트가 포워딩 상태로 전환될 수 있다고 판단되면 차단된 포트가 포워딩 모드로 전환될 수 있습니다.
들으면서
스위치는 BPDU를 처리하고 BPDU가 차단 상태로 돌아갈 수 있는 가능한 새로운 정보를 기다립니다. MAC 테이블을 채우지 않으며 프레임을 전달하지 않습니다.
학습
포트는 아직 프레임을 전달하지는 않지만 수신된 프레임에서 소스 주소를 학습하여 MAC 테이블에 추가합니다.
출고
정상 작동 중인 포트 수신 및 전달 프레임입니다. 포트는 루프를 방지하기 위해 차단 상태로 돌아가야 함을 나타내는 수신 BPDU를 모니터링합니다.
사용 불가능
네트워크 관리자가 스위치 포트를 수동으로 비활성화했습니다.

장치가 스위치 포트에 처음 연결되면 즉시 데이터 전달이 시작되지 않습니다. 대신 BPDU를 처리하고 네트워크의 토폴로지를 결정하는 동안 여러 상태를 거치게 됩니다. 컴퓨터, 프린터 또는 서버와 같은 호스트에 연결된 포트는 듣기 및 학습 상태를 통과하는 동안 약 30초의 지연이 있지만 항상 포워딩 상태가 됩니다. 듣기 및 학습 상태에서 소요되는 시간은 순방향 지연(기본값 15초, 루트 브리지에 의해 설정됨)으로 알려진 값에 의해 결정됩니다. 다른 스위치가 연결된 경우 네트워크에서 루프가 발생할 것으로 판단되면 포트가 차단 모드로 유지될 수 있습니다. TCN(Topology Change Notification) BPDU는 다른 스위치에 포트 변경을 알리는 데 사용됩니다. TCN은 루트가 아닌 스위치에 의해 네트워크에 주입되고 루트로 전파됩니다. TCN을 수신하면 루트 스위치는 정상 BPDU에 토폴로지 변경 플래그를 설정합니다. 이 플래그는 다른 모든 스위치에 전파되며 전달 테이블 항목을 빠르게 종료하도록 지시합니다.

배열

STP를 구성하기 전에 네트워크 토폴로지를 신중하게 계획해야 합니다.[6] 기본 구성에서는 LAN의 모든 스위치에서 STP를 활성화하고 각 스위치에서 동일한 버전의 STP를 선택해야 합니다. 관리자는 루트 브리지가 될 스위치를 결정하고 스위치를 적절하게 구성할 수 있습니다. 루트 브리지가 다운되면 프로토콜은 브리지 ID를 기반으로 새 루트 브리지를 자동으로 할당합니다. 모든 스위치가 기본 ID와 같이 동일한 브리지 ID를 가지고 루트 브리지가 다운되면 타이 상황이 발생하고 프로토콜은 스위치 MAC 주소를 기반으로 하나의 스위치를 루트 브리지로 할당합니다. 스위치에 브리지 ID가 할당되고 프로토콜이 루트 브리지 스위치를 선택하면 포트 비용, 경로 비용 및 포트 우선 순위를 기반으로 루트 브리지에 대한 최상의 경로가 계산됩니다.[7] 궁극적으로 STP는 링크의 대역폭을 기반으로 경로 비용을 계산하지만, 스위치 간의 링크는 동일한 대역폭을 가질 수 있습니다. 관리자는 포트 비용을 구성함으로써 프로토콜이 선호 경로를 선택하는 데 영향을 미칠 수 있습니다. 포트 비용이 낮을수록 프로토콜이 연결된 링크를 선호 경로의 루트 포트로 선택할 가능성이 높아집니다.[8] 토폴로지의 다른 스위치가 루트 포트를 선택하는 방법 또는 루트 브리지에 대한 최소 비용 경로를 선택하는 방법은 포트 우선 순위에 의해 영향을 받을 수 있습니다. 우선 순위가 가장 높다는 것은 경로가 궁극적으로 덜 선호된다는 것을 의미합니다. 스위치의 모든 포트가 동일한 우선순위를 가지면 가장 낮은 번호의 포트가 프레임을 전달하도록 선택됩니다.[9]

루트 브리지 및 브리지 ID

예제 네트워크입니다. 번호가 매겨진 상자는 LAN의 스위치인 브리지를 나타냅니다. 번호는 브리지 ID입니다. 문자로 표시된 클라우드는 네트워크 세그먼트를 나타냅니다. 가장 작은 브리지 ID는 3입니다. 따라서 3번 브릿지가 루트 브릿지입니다.

스패닝 트리의 루트 브리지는 가장 작은(가장 낮은) 브리지 ID를 가진 브리지입니다. 각 브리지에는 구성 가능한 우선 순위 번호와 MAC 주소가 있습니다. 브리지 ID는 브리지 우선 순위와 MAC 주소의 연결입니다. 예를 들어 우선 순위가 32,768이고 MAC 0200.0000.1111인 브리지의 ID는 32768.0200.0000.1111입니다. 브리지 우선 순위 기본값은 32,768이며 4096의 배수로만 구성할 수 있습니다.[a] 두 브리지 ID를 비교할 때 우선순위 부분을 먼저 비교하고 우선순위가 동일한 경우에만 MAC 주소를 비교합니다. 모든 스위치 중 우선 순위가 가장 낮은 스위치는 루트가 되며, 타이가 있는 경우 우선 순위가 가장 낮고 MAC 주소가 가장 낮은 스위치가 루트가 됩니다. 예를 들어 스위치 A(MAC = 0200.0000.1111)와 B(MAC = 0200.0000.2222)가 모두 32,768의 우선순위를 가지면 스위치 A가 루트 브리지로 선택됩니다. 네트워크 관리자가 스위치 B를 루트 브리지로 설정하려면 우선 순위를 32,768 미만으로 설정해야 합니다.[c]

루트 브리지의 경로

가장 잘 수신된 BPDU(루트에 대한 가장 좋은 경로)를 결정하기 위한 이벤트 시퀀스는 다음과 같습니다.

  1. 최하위 루트 브리지 ID(BID) - 루트 브리지를 결정합니다.
  2. 루트 브리지에 대한 최소 비용 - 루트 브리지에 대한 최소 비용으로 업스트림 스위치 선호
  3. 최저 송신자 브리지 ID - 여러 업스트림 스위치가 루트와 동일한 비용을 가지는 경우 타이브레이커 역할을 합니다.
  4. 최저 송신기 포트 ID - 스위치에 단일 업스트림 스위치에 대한 여러(EtherChannel이 아닌) 링크가 있는 경우 타이브레이커 역할을 합니다. 여기서:
    • 브리지 ID = 우선순위(4비트) + 로컬로 할당된 시스템 ID 확장(12비트) + ID [MAC 주소](48비트); 기본 브리지 우선순위는 32,768이고,
    • 포트 ID = 우선 순위(4비트) + ID(인터페이스 번호)(12비트); 기본 포트 우선 순위는 128입니다.

타이브레이커

경로 타이: 네트워크 세그먼트 e에서 루트로 가는 가장 비용이 적게 드는 경로는 브리지 92를 통과합니다. 따라서 네트워크 세그먼트 e의 지정 포트는 브리지 92와 네트워크 세그먼트 e를 연결하는 포트입니다.
루트 포트
브리지의 여러 경로가 가장 비용이 적게 드는 경로인 경우 선택한 경로는 브리지 ID가 낮은 인접 브리지를 사용합니다. 따라서 루트 포트는 브리지 ID가 가장 낮은 브리지에 연결되는 포트입니다. 예를 들어 그림에서 스위치 4가 세그먼트 f 대신 네트워크 세그먼트 d에 연결된 경우 루트까지의 길이가 2인 두 경로가 존재하며, 하나는 브리지 24를 통과하고 다른 하나는 브리지 92를 통과합니다. 가장 비용이 적게 드는 경로가 두 개 있기 때문에 사용할 경로를 선택할 때 하위 브리지 ID(24)를 타이브레이커로 사용합니다.
경로
세그먼트에 있는 둘 이상의 브리지가 루트에 대한 최소 비용 경로로 이어지는 경우 하위 브리지 ID를 가진 브리지는 루트에 메시지를 전달하는 데 사용됩니다. 해당 브리지를 네트워크 세그먼트에 연결하는 포트가 세그먼트에 지정된 포트입니다. 그림에서 네트워크 세그먼트에서 루트로 가는 두 개의 가장 저렴한 경로가 있습니다. 하나는 브리지 24를 통과하고 다른 하나는 브리지 92를 통과합니다. 하위 브리지 ID는 24이므로 타이브레이커는 지정된 포트가 네트워크 세그먼트 d가 브리지 24에 연결되는 포트임을 나타냅니다. 브리지 ID가 동일한 경우 가장 낮은 MAC 주소를 가진 브리지는 지정된 포트를 갖게 됩니다. 어느 경우든 패자는 포트를 차단된 것으로 설정합니다.
지정항
루트 브리지에 단일 LAN 세그먼트에 두 개 이상의 포트가 있는 경우 브리지 ID는 효과적으로 연결되며 모든 루트 경로 비용도 0입니다. 포트 ID가 가장 낮은 LAN 세그먼트의 포트가 지정된 포트가 됩니다. 동일한 LAN 세그먼트의 루트 브리지에 있는 다른 모든 포트가 비지정 포트가 되어 차단 모드로 전환되는 동안 포워딩 모드로 전환됩니다.[11] 모든 브리지 제조업체가 이 규칙을 따르는 것은 아니며, 대신 모든 루트 브리지 포트를 지정된 포트로 만들고 모두 포워딩 모드로 설정합니다.[citation needed]
파이널 타이브레이커
루트 브리지가 동일한 LAN 세그먼트(위 참조)에 동일한 루트 경로 비용과 브리지 ID가 동일하게 낮은 여러 활성 포트를 가지고 있거나, 또는 다른 경우에는 여러 케이블과 여러 포트로 연결된 여러 브리지가 있는 경우처럼 여전히 연결되어 있을 수 있습니다. 각각의 경우 하나의 브리지에 해당 루트 포트에 대해 여러 개의 후보가 있을 수 있습니다. 이러한 경우 루트 포트 후보는 동일하게 낮은(즉, "최상") 루트 경로 비용과 동일하게 낮은(즉, "최상") 브리지 ID를 제공하는 BPDU를 이미 받았고, 최종 타이브레이크는 가장 낮은(즉, "최상") 포트 우선 순위 ID, 즉 포트 ID를 받은 포트로 갑니다.[12]

브리지 프로토콜 데이터 단위

위의 규칙들은 알고리즘에 의해 계산될 스패닝 트리를 결정하는 한 가지 방법을 설명하지만, 작성된 규칙들은 전체 네트워크에 대한 지식을 필요로 합니다. 브리지는 루트 브리지를 결정하고 해당 브리지가 가지고 있는 정보만으로 포트 역할(루트, 지정 또는 차단)을 계산해야 합니다. 각 브리지에 충분한 정보가 있는지 확인하기 위해 브리지는 BPDU(Bridge Protocol Data Unit)라는 특수 데이터 프레임을 사용하여 브리지 ID 및 루트 경로 비용에 대한 정보를 교환합니다.

브리지는 포트 자체의 고유 MAC 주소를 소스 주소로 사용하고 STP 멀티캐스트 주소 01:80목적지 주소를 사용하여 BPDU 프레임을 전송합니다.C2:00:00:00.

원래 STP 사양에는[5]: 63 두 가지 유형의 BPDU가 있습니다(RSTP(Rapid Spanning Tree) 확장은 특정 RSTP BPDU를 사용합니다).

  • 스패닝 트리 계산에 사용되는 구성 BPDU(CBPDU)
  • 네트워크 토폴로지의 변경 사항을 알리는 데 사용되는 토폴로지 변경 알림(TCN) BPDU

BPDU는 정기적으로(기본적으로 2초마다) 교환되며 스위치를 통해 네트워크 변경 사항을 추적하고 필요에 따라 포트에서 전송을 시작 및 중지할 수 있습니다. Rapid STP는 호스트를 스위치에 연결할 때와 일부 토폴로지가 변경되는 동안 지연되는 것을 방지하기 위해 개발되었습니다. 이러한 상황에서 스위치 포트를 포워딩 상태로 빠르게 전환할 수 있습니다.

브리지 프로토콜 데이터 단위 필드

IEEE 802.1D 및 IEEE 802.1aq BPDU의 형식은 다음과 같습니다.

 1. 프로토콜 ID: 2바이트(0x0000 IEEE 802).1D) 2. 버전 ID: 1바이트(0x00 Config & TCN / 0x02 RST / 0x03 MST / 0x04 SPT BPDU) 3. BPDU 유형: 1바이트(0x00 STP Config BPDU, 0x80 TCN BPDU, 0x02 RST/MST Config BPDU) 4. 플래그: 1바이트 비트: 토폴로지 변경 2의 용도 1: 0 또는 1: 0(사용되지 않음) 또는 RST/MST/SPT BPDU 3–4: 00(사용되지 않음) 또는 01(RST/MST/SPT BPDU 10의 포트 역할 루트의 포트 역할 대체/백업의 경우 RST/MST/SPT BPDU 11에서 지정됨) BPDU 5: 0(미사용) 또는 1은 RST/MST/SPT BPDU 6: 0(미사용) 또는 1은 RST/MST/SPT BPDU 7: 0(미사용) 또는 1은 RST/MST/SPT BPDU 8: 0(미사용) 또는 1은 토폴로지 변경 확인 5에 대한 동의입니다. 루트 ID: 8바이트(MST/SPT BPDU 단위의 CIST 루트 ID) 비트: 사용법 1-4 : 루트 브리지 우선 순위 5-16 : 루트 브리지 시스템 ID 확장 17-64 : 루트 브리지 MAC 주소 6. 루트 경로 비용: 4바이트(MST/SPT BPDU 단위의 CIST 외부 경로 비용) 7. 브리지 ID: 8바이트(MST/SPT BPDU 단위의 CIST 지역 루트 ID) 비트: 사용량 1-4 : 브리지 우선순위 5-16 : 브리지 시스템 ID 확장자 17-64 : 브리지 MAC 주소 8. 포트 ID: 2바이트 9. 메시지 에이지: 1/256초에 2바이트 10. 최대 사용 기간: 1/256초 11에 2바이트입니다. Hello Time: 1/256초에 2바이트 12. 전달 지연: 1/256초 13의 2바이트입니다. 버전 1 길이: 1바이트(0x00 ver 1 프로토콜 정보 없음)입니다. RST, MST, SPT BPDU만 해당) 14. 버전 3 길이: 2바이트(MST, SPT BPDU만 해당)    TCN BPDU에는 필드 1~3만 포함됩니다. 

스패닝 트리 프로토콜 표준

최초의 스패닝 트리 프로토콜은 1985년에 Digital Equipment Corporation에서 Radia Perlman에 의해 발명되었습니다.[1] 1990년에 IEEE는 Perlman이 설계한 알고리즘을 [13]기반으로 802.1D로 프로토콜에 대한 최초의 표준을 발표했습니다. 후속 버전은 1998년과[14] 2004년에 출시되었으며 [15]다양한 확장 기능을 통합했습니다. DEC STP라고 불리는 Perlman에서 영감을 받은 원래의 Spanning Tree Protocol은 표준이 아니며 메시지 형식뿐만 아니라 타이머 설정에서도 IEEE 버전과 다릅니다. 일부 브리지는 IEEE 및 DEC 버전의 스패닝 트리 프로토콜을 모두 구현하지만 상호 연동은 네트워크 관리자에게 문제를 일으킬 수 있습니다.[16]

예를 들어 기본 타이머 설정의 차이로 인해 표준의 다른 구현이 상호 작동하도록 보장되지 않습니다. IEEE는 사용자가 다양한 구현이 올바르게 상호 운용되는지 여부를 결정할 [15]수 있도록 어떤 기능과 옵션이 구현되었는지 선언하는 프로토콜 구현 적합성 보고서를 제공하도록 공급업체에 권장합니다.

고속 신장 트리 프로토콜

2001년 IEEE 802.1w로서 RSTP(Rapid Spanning Tree Protocol)가 도입되었고, 그 후 RSTP는 IEEE 802.1에 통합되었습니다.D-2004는 원래의 STP 표준을 쓸모없게 만듭니다.[17] RSTP는 표준 STP와 역호환되도록 설계되었습니다.

RSTP는 토폴로지 변경 후 상당히 빠른 스패닝 트리 수렴을 제공하여 이를 수행하기 위해 새로운 수렴 동작과 브리지 포트 역할을 도입합니다. STP는 토폴로지 변경에 응답하는 데 30~50초가 소요되는 반면, RSTP는 일반적으로 3×hello 시간(기본값: 3×2초) 이내 또는 물리적 링크 장애 발생 후 몇 밀리초 이내에 변경 사항에 응답할 수 있습니다. Hello 시간은 RSTP에서 여러 목적으로 사용하는 중요하고 구성 가능한 시간 간격이며 기본값은 2초입니다.[18][19]

고속 스패닝 트리 작동

RSTP는 링크 장애 후 수렴 속도를 높이기 위해 새로운 브리지 포트 역할을 추가합니다.

  • 루트 - 루트 브리지가 아닌 브리지에서 루트 브리지로 최적의 포트인 포워딩 포트
  • 지정 - 모든 LAN 세그먼트에 대한 포워딩 포트
  • 대체 - 루트 브리지에 대한 대체 경로입니다. 이 경로는 루트 포트를 사용하는 것과 다릅니다.
  • 백업 - 다른 브리지 포트가 이미 연결되어 있는 세그먼트에 대한 백업/중복 경로
  • 비활성화 - STP의 일부가 아니라 네트워크 관리자가 포트를 수동으로 비활성화할 수 있음

포트가 있을 수 있는 스위치 포트 상태의 수는 STP의 원래 5개가 아닌 3개로 줄었습니다.

  • 폐기 - 포트를 통해 사용자 데이터가 전송되지 않습니다.
  • 학습 - 포트가 아직 프레임을 전달하지 않았지만 MAC 주소 테이블을 채우고 있습니다.
  • 포워딩 - 포트가 완전히 작동 중임

RSTP 운영 세부 정보:

  • 루트 스위치 장애 감지는 기본 hello 시간이 변경되지 않은 경우 6초인 3 hello 시간에 수행됩니다.
  • 포트는 다른 브리지가 연결되지 않은 LAN에 연결된 경우 에지 포트로 구성될 수 있습니다. 이 에지 포트는 포워딩 상태로 직접 전환됩니다. RSTP는 브리지가 연결된 경우에도 포트에서 BPDU를 계속 모니터링합니다. 또한 에지 포트를 자동으로 감지하도록 RSTP를 구성할 수 있습니다. BPDU가 에지 포트로 오는 것을 브리지에서 감지하는 순간 포트는 비 에지 포트가 됩니다.
  • RSTP는 두 개 이상의 스위치 간의 연결을 "링크 유형" 연결이라고 부릅니다. 전이중 모드로 동작하는 포트는 점대점 링크로 가정하고, 반이중 포트(허브를 통해)는 기본적으로 공유 포트로 간주됩니다. 이 자동 링크 유형 설정은 명시적인 구성으로 무시할 수 있습니다. RSTP는 Max-Age 시간을 Hello 간격의 3배로 줄이고 STP 수신 상태를 제거하며 두 스위치 간의 핸드셰이크를 교환하여 포트를 포워딩 상태로 빠르게 전환하여 점대점 링크의 수렴성을 향상시킵니다. RSTP는 공유 링크에서 STP와 다른 작업을 수행하지 않습니다.
  • STP와 달리 RSTP는 루트 브리지 방향에서 전송되는 BPDU에 응답합니다. RSTP 브리지는 지정된 포트에 스패닝 트리 정보를 제안합니다. 다른 RSTP 브리지가 이 정보를 수신하고 이것이 상위 루트 정보라고 판단되면 다른 모든 포트를 폐기하도록 설정합니다. 브리지는 자신의 우월한 신장 트리 정보를 확인하는 동의를 제1 브리지에 전송할 수 있습니다. 첫 번째 브리지는 이 동의를 받으면 해당 포트가 듣기/학습 상태 전환을 통해 포워딩 상태로 빠르게 전환될 수 있음을 알고 있습니다. 이는 기본적으로 루트 브리지에서 벗어나서 계단식 효과를 발생시키는데, 각 지정된 브리지가 빠른 전환을 할 수 있는지 확인하기 위해 인접 브리지에 제안합니다. 이는 RSTP가 STP보다 더 빠른 수렴 시간을 달성할 수 있게 하는 주요 요소 중 하나입니다.
  • 위의 포트 역할 세부 정보에서 설명한 바와 같이 RSTP는 포트 폐기 상태에 대한 백업 세부 정보를 유지합니다. 이를 통해 현재 포워딩 포트에 장애가 발생하거나 BPDU가 루트 포트에서 특정 간격으로 수신되지 않은 경우 시간 초과를 방지할 수 있습니다.
  • 해당 포트에서 STP BPDU의 레거시 버전이 탐지된 경우 RSTP는 인터페이스에서 레거시 STP로 돌아갑니다.

VLAN 표준

STP 및 RSTP는 스위치 포트를 VLAN별로 구분하지 않습니다.[20] 그러나 여러 VLAN이 존재하는 이더넷 스위치 환경에서는 여러 VLAN의 트래픽이 서로 다른 링크를 사용하도록 여러 스패닝 트리를 생성하는 것이 바람직합니다.

독점표준

IEEE가 VLAN에 대한 스패닝 트리 프로토콜 표준을 발표하기 전에 VLAN 지원 스위치를 판매하는 많은 공급업체가 VLAN 지원을 위한 자체 스패닝 트리 프로토콜 버전을 개발했습니다. Cisco는 VLAN 캡슐화를 위해 자체 ISL(Inter-Switch Link)을 사용하고 802.1Q VLAN 캡슐화를 사용하는 PVST+를 사용하여 PVST(Per-VLAN Spanning Tree) 전용 프로토콜을 개발, 구현 및 발표했습니다. 두 표준 모두 모든 VLAN에 대해 별도의 스패닝 트리를 구현합니다. 이제 Cisco 스위치는 일반적으로 PVST+를 구현하며 LAN의 다른 스위치가 동일한 VLAN STP 프로토콜을 구현하는 경우에만 VLAN용 스패닝 트리를 구현할 수 있습니다. HP는 일부 네트워크 스위치에서 PVST 및 PVST+ 호환성을 제공합니다.[20] Force10 Networks, Alcatel-Lucent, Extreme Networks, Avaya, Brocade Communications SystemsBLADE Network Technologies의 일부 장치는 PVST+[21][22][23]를 지원합니다. Extreme Networks는 VLAN이 태그가 지정되지 않은 포트와 ID가 1인 VLAN에서 지원되지 않는 두 가지 제한으로 이를 수행합니다. PVST+는 MSTP 영역을 터널링할 수 있습니다.[24]

스위치 공급업체인 Juniper Networks는 Cisco의 PVST와의 호환성을 제공하기 위해 VLAN 스패닝 트리 프로토콜(VSTP)을 개발 및 구현하여 두 공급업체의 스위치를 하나의 LAN에 포함할 수 있도록 했습니다.[20] VSTP 프로토콜은 Juniper Networks의 EX 및 MX 시리즈에서만 지원됩니다. VSTP의 호환성에는 두 가지 제한이 있습니다.

  1. VSTP는 253개의 서로 다른 스패닝 트리 토폴로지만 지원합니다. VLAN이 253개를 초과하는 경우에는 VSTP 외에 RSTP를 구성하는 것이 좋으며, 253개를 초과하는 VLAN은 RSTP에서 처리됩니다.
  2. MVRP는 VSTP를 지원하지 않습니다. 이 프로토콜을 사용하는 경우 트렁크 인터페이스의 VLAN 멤버십을 정적으로 구성해야 합니다.[25]

기본적으로 VSTP는 RSTP 프로토콜을 핵심 스패닝 트리 프로토콜로 사용하지만 네트워크에 오래된 브리지가 포함된 경우 STP 사용을 강제할 수 있습니다.[26] Juniper Networks 스위치에서 VSTP를 구성하는 방법에 대한 자세한 내용은 공식 설명서에 나와 있습니다.[27]

또한 Cisco는 Rapid Spanning Tree Protocol(Rapid Spanning Tree Protocol)의 독점 버전도 공개했습니다. PVST와 마찬가지로 각 VLAN에 대한 스패닝 트리를 만듭니다. 이를 RPVST(Rapid Per-VLAN Spanning Tree)라고 합니다.

다중 스패닝 트리 프로토콜

다중 스패닝 트리 프로토콜(Multiple Spanning Tree Protocol, MSTP), 원래 IEEE 802.1s-2002에 정의되어 있다가 나중에 IEEE 802.1에 병합됨Q-2005는 VLAN의 유용성을 더욱 발전시키기 위해 RSTP의 확장을 정의합니다.

표준에서 하나 이상의 VLAN을 매핑하는 스패닝 트리를 MST(Multiple Spanning Tree)라고 합니다. MSTP 하에서 스패닝 트리는 개별 VLAN 또는 VLAN 그룹에 대해 정의될 수 있습니다. 또한 관리자는 스패닝 트리 내에서 대체 경로를 정의할 수 있습니다. 스위치는 먼저 MST 영역에 할당된 다음 이 MST에 대해 VLAN이 매핑되거나 할당됩니다. 공통 스패닝 트리(CST)는 여러 VLAN이 매핑되는 MST이며, 이 VLAN 그룹을 MST 인스턴스(MSTI)라고 합니다. CST는 STP 및 RSTP 표준과 하위 호환성이 있습니다. 할당된 VLAN이 하나뿐인 MST는 내부 스패닝 트리(IST)입니다.[20]

일부 전용 VLAN별 스패닝 트리 구현과 달리 MSTP는 모든 [28]스패닝 트리 정보를 단일 BPDU 형식으로 포함합니다. 이를 통해 각 VLAN의 스패닝 트리 정보를 통신하는 데 필요한 BPDU 수를 줄일 수 있을 뿐만 아니라 RSTP 및 사실상 클래식 STP와의 하위 호환성도 보장합니다. MSTP는 표준 RSTP BPDU 뒤에 추가적인 정보 영역과 다수의 MSTI 메시지를 인코딩함으로써 이를 수행합니다(실제로는 많은 브리지가 더 적은 수의 MSTI 메시지를 지원함). 이러한 MSTI 구성 메시지는 각각의 인스턴스에 대한 스패닝 트리 정보를 전달합니다. 각 인스턴스에는 구성된 여러 VLAN이 할당될 수 있으며 이러한 VLAN에 할당된 프레임은 MST 영역 내에 있을 때마다 이 스패닝 트리 인스턴스에서 작동합니다. 각 BPDU에서 전체 VLAN을 스패닝 트리 매핑으로 전달하는 것을 방지하기 위해 브리지는 MSTP BPDU의 인스턴스 테이블에 해당 VLAN의 MD5 다이제스트를 인코딩합니다. 그런 다음 다른 MSTP 브리지는 이 다이제스트를 다른 관리자가 설정한 값과 함께 사용하여 이웃 브리지가 자신과 동일한 MST 영역에 있는지 확인합니다.

MSTP는 MSTP BPDU가 RSTP 브리지에 의해 RSTP BPDU로 해석될 수 있다는 점에서 RSTP 브리지와 완전히 호환됩니다. 이는 구성 변경 없이 RSTP 브리지와의 호환성을 허용할 뿐만 아니라, MSTP 영역 외부의 모든 RSTP 브리지는 영역 자체 내의 MSTP 브리지 수에 관계없이 해당 영역을 단일 RSTP 브리지로 간주하게 합니다. MSTP 영역을 단일 RSTP 브리지로 보는 이러한 관점을 더욱 용이하게 하기 위해, MSTP 프로토콜은 RSTP에 의해 사용되는 메시지 에이지 타이머 대신에 라이브 카운터를 위한 시간으로서 잔존 홉으로 알려진 변수를 사용합니다. 메시지 에이징 시간은 스패닝 트리 정보가 MST 영역에 들어갈 때 한 번만 증가하므로 RSTP 브리지는 스패닝 트리에서 하나의 홉으로만 영역을 보게 됩니다. RSTP 또는 STP 브리지 또는 엔드포인트에 연결된 MSTP 영역의 가장자리에 있는 포트를 경계 포트라고 합니다. RSTP에서와 마찬가지로 엔드포인트에 연결할 때 포워딩 상태로 빠르게 변경할 수 있도록 이러한 포트를 에지 포트로 구성할 수 있습니다.

최단 경로 브리징

SPB(Shortest Path Bridging)라고도 알려진 IEEE 802.1aq는 여러 동일한 비용 경로를 통해 스위치 간의 중복 링크를 활성화할 수 있도록 하며 훨씬 더 큰 계층-2 토폴로지, 더 빠른 컨버전스, 그리고 트래픽이 메쉬 네트워크의 모든 경로에 걸쳐 로드 공유를 허용함으로써 모든 장치 간의 대역폭을 증가시켜 메쉬 토폴로지의 사용을 향상시킵니다.[29][30] SPB는 STP(Spanning Tree Protocol), MSTP(Multiple Spanning Tree Protocol), RSTP(Rapid Spanning Tree Protocol), 링크 집계(Link Aggregation) 및 MMRP(Multiple MAC Registration Protocol) 등 기존의 여러 기능을 하나의 링크 상태 프로토콜로 통합합니다.[31]

시스템 ID 확장명

브리지 ID(BID)는 BPDU 패킷 내부의 필드입니다. 길이는 8바이트입니다. 처음 2바이트는 브리지 우선 순위로, 부호 없는 0 ~ 65,535의 정수입니다. 마지막 6바이트는 브리지에서 제공하는 MAC 주소입니다. IEEE 802.1 이전 버전D-2004, 처음 두 바이트는 16비트 브리지 우선순위를 부여했습니다. IEEE 802.1 이후D-2004, 처음 4비트는 구성 가능한 우선순위이고, 마지막 12비트는 브리지 시스템 ID 확장을 전달합니다. MST의 경우 브리지 시스템 ID 확장자는 MSTP 인스턴스 번호를 전달합니다. 일부 공급업체는 브리지 시스템 ID 확장이 VLAN ID를 전송하도록 설정하여 Cisco의 PVST와 같이 VLAN별로 다른 스패닝 트리를 허용합니다.

단점과 현재 관행

스패닝 트리는 수렴 시간이 더 긴 오래된 프로토콜입니다. 부적절한 사용 또는 구현은 네트워크 중단의 원인이 될 수 있습니다. 링크를 차단하는 것은 고가용성 및 루프 방지에 대한 조잡한 접근 방식입니다. 현대 네트워크는 논리적 또는 물리적 토폴로지 루프의 자연스러운 동작을 억제, 제어 또는 억제하는 프로토콜을 사용하여 연결된 모든 링크를 사용할 수 있습니다.

보다 새롭고 강력한 프로토콜에는 Perlman이 만든 TRIL(Transparent Interconnection of Lots of Links)[32] 프로토콜과 IEEE의 Shortest Path Bridging이 포함됩니다.

네트워크 장비 간의 연결을 계층-3 IP 링크로 구성하고 복원력과 루프 방지를 위해 IP 라우팅에 의존하는 것이 일반적인 대안입니다.

Cisco Virtual Switching SystemVirtual PortChannel과 HP Intelligent Resilient Framework와 같은 스위치 가상화 기술은 여러 스위치를 단일 논리 엔티티로 결합합니다. 이러한 다중 섀시 링크 집성 그룹은 여러 스위치를 통해서만 분산되는 일반 포트 트렁크처럼 작동합니다. 반대로 파티셔닝 기술은 단일 물리적 섀시를 여러 논리적 엔티티로 구획합니다.

네트워크 가장자리에서 루프 탐지는 사용자의 실수 루프를 방지하도록 구성됩니다.[further explanation needed]

참고 항목

메모들

  1. ^ 802.1t를 통합한 스패닝 트리는 802.1d 2옥텟 우선 순위 필드의 가장 중요한 4비트를 우선 순위로 사용하고 해당 필드의 가장 중요하지 않은 12비트를 확장 시스템 ID로 사용합니다.
  2. ^ 원래의 802.1d는 루트 브리지가 동일한 LAN 세그먼트에 둘 이상의 포트를 가질 가능성을 예상했고, 이 경우 가장 낮은 포트 ID를 가진 포트가 해당 LAN 세그먼트의 지정된 포트가 되어 포워딩 모드로 전환되는 반면, 동일한 LAN 세그먼트의 다른 포트는 비지정 포트가 되어 블로킹 모드로 전환됩니다. 모든 브리지 제조업체가 이 규칙을 따르는 것은 아니며, 일부는 모든 포트를 지정된 포트로 만들고 모두 포워딩 모드로 전환합니다.
  3. ^ 또는 네트워크 관리자가 스위치를 스패닝 트리 루트 기본 또는 보조로 구성할 수 있습니다. 루트 기본 및 루트 보조를 구성할 때 스위치는 기본 구성에 따라 각각 24,576 및 28,672의 우선 순위를 자동으로 변경합니다.[10]

참고문헌

  1. ^ a b Perlman, Radia (1985). "An Algorithm for Distributed Computation of a Spanning Tree in an Extended LAN". ACM SIGCOMM Computer Communication Review. 15 (4): 44–53. doi:10.1145/318951.319004. S2CID 61172150.
  2. ^ Perlman, Radia (2000). Interconnections, Second Edition. USA: Addison-Wesley. ISBN 0-201-63448-1.
  3. ^ a b 브리지 및 브리지 네트워크
  4. ^ a b c d e f g Silviu Angelescu (2010). CCNA Certification All-In-One For Dummies. John Wiley & Sons. ISBN 9780470635926.
  5. ^ a b "802.1D IEEE Standard for Local and Metropolitan Area Networks. Media Access Control (MAC) Bridges" (PDF). IEEE. 2004. Retrieved 19 April 2012.
  6. ^ Wade Edwards, Terry Jack, Todd Lammle, Toby Skandier, Robert Padjen, Arthur Pfund & Carl Timm (2006). CCNP Complete Study Guide: Exams 642-801, 642-811, 642-821, 642-831. John Wiley & Sons. pp. 506 & 511. ISBN 9780782150667.{{cite book}}: CS1 maint: 다중 이름: 저자 목록 (링크)
  7. ^ Wade Edwards, Terry Jack, Todd Lammle, Toby Skandier, Robert Padjen, Arthur Pfund & Carl Timm (2006). CCNP Complete Study Guide: Exams 642-801, 642-811, 642-821, 642-831. John Wiley & Sons. p. 506. ISBN 9780782150667.{{cite book}}: CS1 maint: 다중 이름: 저자 목록 (링크)
  8. ^ Wade Edwards, Terry Jack, Todd Lammle, Toby Skandier, Robert Padjen, Arthur Pfund & Carl Timm (2006). CCNP Complete Study Guide: Exams 642-801, 642-811, 642-821, 642-831. John Wiley & Sons. p. 511. ISBN 9780782150667.{{cite book}}: CS1 maint: 다중 이름: 저자 목록 (링크)
  9. ^ Wade Edwards, Terry Jack, Todd Lammle, Toby Skandier, Robert Padjen, Arthur Pfund & Carl Timm (2006). CCNP Complete Study Guide: Exams 642-801, 642-811, 642-821, 642-831. John Wiley & Sons. p. 513. ISBN 9780782150667.{{cite book}}: CS1 maint: 다중 이름: 저자 목록 (링크)
  10. ^ "spanning-tree vlan". Cisco Systems. Retrieved 2020-05-04.
  11. ^ 802.1d-1998 섹션 8.3.1: 각 LAN의 지정 포트는 루트 경로 비용의 값이 가장 낮은 브리지 포트입니다: 둘 이상의 포트가 동일한 값을 가지면 먼저 해당 브리지의 브리지 식별자와 해당 포트 식별자가 타이 브레이커로 사용됩니다.
  12. ^ 802.1d-1998 섹션 8.3.2 b) 결정된 것에 대해 Configuration BPDU를 수신하는 브리지는 더 나은 정보를 전달하는 루트 포트(즉, 가장 높은 우선순위의 루트 식별자, 가장 낮은 루트 경로 비용, 가장 높은 우선순위의 전송 브리지 및 포트)입니다. 브리지는 자신이 지정 브리지라고 믿는 모든 LAN에 해당 정보를 전달합니다.
  13. ^ LAN/MAN Standards Committee of the IEEE Computer Society, ed. (1990). ANSI/IEEE Std 802.1D. IEEE.
  14. ^ LAN/MAN Standards Committee of the IEEE Computer Society, ed. (1998). ANSI/IEEE Std 802.1D, 1998 Edition, Part 3: Media Access Control (MAC) Bridges. IEEE.
  15. ^ a b LAN/MAN Standards Committee of the IEEE Computer Society, ed. (2004). ANSI/IEEE Std 802.1D - 2004: IEEE Standard for Local and Metropolitan Area Networks: Media Access Control (MAC) Bridges. IEEE.
  16. ^ "Understanding Issues Related to Inter-VLAN Bridging" (PDF). Cisco Systems, Inc. 11072. {{cite journal}}: 저널 인용 요구사항 journal= (도와주세요)
  17. ^ IEEE 802.1D-2004, IEEE, 2004-06-04, Since the original Spanning Tree Protocol (STP) has been removed from the 2004 revision of IEEE Std 802.1D, an implementation of RSTP is required for any claim of conformance for an implementation of IEEE Std 802.1Q-2003 that refers to the current revision of IEEE Std 802.1D
  18. ^ Waldemar Wojdak (March 2003). "Rapid Spanning Tree Protocol: A new solution from an old technology". CompactPCI Systems. Retrieved 2008-08-04.
  19. ^ "Understanding Rapid Spanning Tree Protocol (802.1w)". Retrieved 2008-11-27.
  20. ^ a b c d Michael G. Solomon, David Kim & Jeffrey L. Carrell (2014). Fundamentals of Communications and Networking. Jones & Bartlett Publishers. p. 204. ISBN 9781284060157.
  21. ^ "Technical Documentation". Force10. Retrieved 2011-01-25.
  22. ^ "ExtremeXOS Operating System, Version 12.5" (PDF). Extreme Networks. 2010. Retrieved 2011-01-25.
  23. ^ "BLADE PVST+ Interoperability with Cisco" (PDF). 2006. Retrieved 2011-01-25.
  24. ^ "Bridging Between IEEE 802.1Q VLANs". Cisco Systems. Retrieved 2011-01-25.
  25. ^ "Juniper Networks :: Technical Documentation :: Understanding Multiple VLAN Registration Protocol (MVRP) on EX Series Switches". www.juniper.net. Archived from the original on 2012-04-07.
  26. ^ "Juniper Networks :: Technical Documentation :: Understanding VSTP for EX-series Switches".
  27. ^ VSTP 이해
  28. ^ "CiscoWorks LAN Management Solution 3.2 Deployment Guide". August 2009. Retrieved 2010-01-25.
  29. ^ Peter Ashwood-Smith (24 Feb 2011). "Shortest Path Bridging IEEE 802.1aq Overview" (PDF). Huawei. Archived from the original (PDF) on 15 May 2013. Retrieved 11 May 2012.
  30. ^ Jim Duffy (11 May 2012). "Largest Illinois healthcare system uproots Cisco to build $40M private cloud". PC Advisor. Retrieved 11 May 2012. Shortest Path Bridging will replace Spanning Tree in the Ethernet fabric.
  31. ^ "IEEE Approves New IEEE 802.1aq Shortest Path Bridging Standard". Tech Power Up. 7 May 2012. Retrieved 11 May 2012.
  32. ^ "라디아 펄먼 박사: 최초의 여성 프로그래머이자 인터넷 프로토콜 발명가 한 명입니다."

외부 링크