[네트워크 기초] Spanning-Tree Protocol 기초
Study!/Network

[네트워크 기초] Spanning-Tree Protocol 기초

🛠️ STP ( Spanning-Tree Protocol )

STP는 Switch가 Topology내의 루프를 인식하고 하나의 LINK를 차단하고 있는 상태에서 Loop를 제거합니다.

STP는 포트를 계속 모니터링 하다가 다른 포트에 장애나 Topology 변경이 발생하는 경우 포트를 재 설정하여 연결의 완전 손실이나 새로운 Loop를 막는 역할을 합니다.

 

🔌 Port

Designated Port : BPDU에 대한 Data를 송신하는 Port

Root Port : Network의 환경에 따라 우선순위가 높은 쪽에 선정되며 Non-Root Bridge가 가진다. 또한 BPDU를 수신한다.

Nondesignated Port : Blocking 상태 (사용하지 않는다)

 

📊 BPDU (802.1d)

  • Switch간의 역할 지정을 담당하는 부분.
  • Root Priority , Bridge Priority
  • Priority(우선순위값) + MAC Address 위 정보들을 BPDU에 담아서 교환 이를 토대로 Root bridge 를 선정
  • 관리자에 의해서 값을 임의로 조정할 수 있습니다.
  • Topology당 Root bridge는 하나만 가능 (VLAN Case 제외)
  • 최초에 연결시킨 모든 Switch는 모두 Root bridge이지만, BPDU를 교환하여 none Rootbridge로 변합니다.

 

3대의 Switch가 연결된 Topology

위 그림에서는 Switch Z가 Root Bridge로 선정되었습니다. Default Priority는 32768로 세 장비 모두 동일하지만 MAC Address값이 가장 낮은 장비가 Root Bridge에 있어서 높은 우선순위를 가지기 때문입니다. 위 정리한 글을 토대로 Segment에 Port들을 설정합니다.

 

❗ 이때, Segment당 Nondesignated Port는 단 하나만 사용할 수 있습니다.

  또한 Nondesignated Port도 우선순위값에 의해 결정됩니다. Switch X,Y에서 Root Bridge Switch로 가는 경로의 Cost의 누적합을 토대로 계산하며 , 동일하면 Bridge ID값을 다시한번 비교하여 우선순위가 높은쪽에 Designated Port 선정합니다.

 

STP States 동작 Flow

❗ 위 Flow 를 보면 STP는 기본적으로 아주 잠깐의 Down상태가 되더라도 바로 Packet을 Blocking하고 대기하며 다시 경로학습하는데에 시간이 걸립니다. Blocking 부분을 임의적으로 지운다고 하더라도 최소 학습하는데에 30초의 시간이 걸리게 됩니다. Network 환경에서는 상당히 긴 시간이며 이는 큰 단점으로 작용합니다. 이를 극복하기 위하여 RSTP (Rapid Spanning-Tree Protocol) 라는 녀석이 사용되게 되었습니다.

 

🛠️ RSTP ( 802.1w )

더보기

RSTP는 링크 장애 시 빠르게 Port 변경이 이루어집니다. 이전 STP(802.1d)는 BPDU TIme이 완료되기를 기다렸다가 Port를 변경했지만, RSTP는 Port장애나 Topology 변경 시 즉시 그 정보를 인접 장비에 전달하여 Port선출을 하여 변경 즉시 Topology에 적용되게 됩니다.

 

📡 Topology Example

이전 글과 같은 Topology를 통해 STP를 보겠습니다.

여기서 Root Bridge는 우측에 있는 Switch입니다. 쉽게 보면 좌측에 있는 Port가 Block되어 있으니 보기 편하지만 일단 Setting값을 보도록 하겠습니다. 

Root Bridge Switch

Root ID 항목에 보시면 "This bridge is the root"라고 명시되어 있는 부분이 보이시나요? 이 장비가 Root Bridge로써 동작한다는 뜻 입니다. Interface를 보시면 FastEthernet부분이 전부 Designateted로 지정되어 있는게 보입니다. 반대되는 None Root Bridge 장비와 비교하면 명확히 보일겁니다.

None Root Bridge

아래 Interface를 보시면 Altnated (Nondesignated) Port는 Block되어 있고 Root Port가 설정되어 있는 모습을 볼 수 있습니다. 이로써 좌측 장비가 None Root Bridge인것을 볼 수 있습니다. (VLAN 1) 

그럼 위에서 말했던 우선순위 값을 변경해보도록 하겠습니다.

Switch에서 전역설정모드에 진입하셔서 입력해 주시면 됩니다.

❗ 이때 Priority값은 4096의 배수로만 지정해 주셔야 합니다. 16bit로 표현하는 이 Priority값은 지정해준 부분 뿐만아니라 VLAN의 ID값또한 함께 표현하여 저장되기 때문에 그를 제외한 부분으로써 4096의 배수로써 표현할 수 있습니다.

 

위에서 잠시 살펴본 Rapid-Spanning-Tree Protocol로 변경하려면 전역 설정 모드에서 한줄이면 변경할 수 있습니다.

SW0(config)#spanning-tree mode rapid-pvst

이후 Network Topology에 강제적으로 Shutdown이나 변화를 주면 상태변화에 일반 STP보다 훨씬 빠르게 대응하는 모습을 볼 수 있습니다.