반응형

6.3장 스패닝 트리 프로토콜(STP : Spanning-Tree Protocol)

 

학습목표

- STP의 기능에 대해 알 수 있다.

- Port 선출 규칙에 대해 알 수 있다.

 

 

STP는 스위치 네트워크에서 다중 연결로 인해 경로가 두 개이상 존재할 때 브로드캐스트 스톰(Broadcast Storm), 프레임의 다중 복사(Multi Frame Copy), 맥 테이블의 불안정성(MAC Address Instability) 등으로 인하여 정상적인 동작이 불가능하게 되는데 이를 방지하기 위하여 단일 경로를 제공하는 것을 말합니다. 한 마디로 루핑(Looping)을 방지하는 것입니다.

단일 경로를 제공하기 위해서 스위치 포트의 상태를 규칙에 따라 결정하게 되는데 이를 포트 선출(Port Election)과정이라고 합니다.

 

보통 중요 지점에는 백업회선을 통해 이중화 구성을 많이 하게되는데 원래 문제가 없던 회선이나 포트에 장애가 발생하게 되면 자동으로 포트 상태의 변화를 통해 백업회선으로 프레임이 전송이 되며 장애가 복구되면 정상적으로 원래 회선으로 프레임을 전달하게 됩니다. STP는 이러한 포트 상태의 변화를 통해 언제나 단일 경로를 제공해줌으로써 클라이언트 입장에서는 끊김없이 네트워크 서비스를 제공받을 수 있습니다.

 

포트 선출 규칙

 

1. 네트워크 당 가장 낮은 BID(Bridge ID)값을 가진 스위치가 루트 스위치(Root SW - 대장)가 되고 루트 스위치의 모든 포트는 프레임을 전달할 수 있는 지정 포트(Designated Port)로 선출된다.

2. 루트 스위치가 아닌 스위치(Non-Root SW)에서 루트 스위치로 가는 비용이 최소인 하나의 루트 포트(Root Port)를 선출하고 프레임을 전달할 수 있는 상태가 된다.

3. 각 세그먼트(Segment)별로 프레임을 전달할 수 있는 하나의 지정 포트(Designated Port)를 선출하고 그 외 남은 모든 포트들은 지정되지않은 포트(Non-Designated Port)가 되며 프레임을 전달할 수 없는 Blocking상태가 된다.

 

 

[ 그림 6-3-1. 스패닝 트리 동작 규칙 ] - 후티(출처)

 

BID값은 Priority.MAC Address로 구성이 되어있으며 우선순위(Priority)값을 먼저 비교하여 가장 낮은 우선순위 값을 가진 스위치가 루트 스위치가 되고 우선순위 값이 동일한 경우 고유한 맥 주소값을 비교하여 가장 낮은 맥 주소값을 가진 스위치가 루트 스위치가 됩니다. BID 우선순위의 기본값은 32,768이며 관리자에 의해 변경이 가능합니다.

 

루트 스위치가 아닌 스위치에서 루트 포트를 선출하기 위한 기준이 루트 스위치로 가는 최소 비용이라고 했는데 그림 6-3-1에서와 같이 회선 속도에 달려 있습니다. 예제에서와 같이 스위치 Y에서 경쟁할 두 개의 포트가 100M, 10M회선으로 연결된 경우 위쪽 회선의 비용은 19이며 아래쪽 회선의 비용은 100으로 위쪽 회선에 있는 포트가 루트 포트가 되는 것입니다.

여기서 만약 아래, 위쪽 연결된 회선이 모두 100M로 동일하다면 포트 ID(Port ID)를 비교하여 가장 낮은 포트 ID를 가진 포트가 루트 포트가 됩니다. 포트 ID는 Priority.Prot Number로 구성이 되는데 기본 우선순위값은 128로 fa0/1포트의 포트 ID는 128.1, fa0/10포트의 포트 ID는 128.10 이런식으로 구성이 되기에 포트 넘버가 낮은 쪽이 선출이 되겠습니다.

 

만약 루트 스위치로 가는 길에 스위치들이 더 있다면 1순위 최소비용, 2순위 경유하는 스위치 중 가장 낮은 맥 주소값을 거치는 포트, 3순위 가장 낮은 포트 ID 순으로 루트 포트가 선출이 되겠습니다.

 

3번째 규칙에서의 기준도 루트 포트를 선출하는 기준과 동일합니다.

 

 

 

[ 그림 6-3-2. 스위치 BPDU 정보 ] - 후티(출처)

 

 

이렇게 포트 선출을 하기 위해서는 각 스위치들이 상대 스위치들의 BID값 등에 대한 정보를 알아야하는데 스위치는 주어진 Hello Time마다 BPDU(Bridge Protocol Data Unit)정보를 주고 받는데 그림 6-3-2와 같이 BPDU안에 관련 정보들이 존재하고 있습니다.

 

STP는 기본값으로 활성화되어 있기에 따로 설정을 할 필요는 없으며 그림 6-3-3과 같이 이중 연결을 할 경우 자동으로 STP에 의해 포트 선출을 하게 되고 링크가 아래와 같이 바뀌게 됩니다. 예제의 경우 평상시에는 위쪽 회선을 이용하다가 장애가 발생 시 Blocking상태에 있던 포트가 Forwarding상태로 변화하면서 아래쪽 회선을 통해 서비스를 제공해줄 수 있으며 위쪽 회선의 장애가 복구되면 원래대로 되돌아오게 됩니다.

 

[ 그림 6-3-3. STP Port Election 예제 ] - 후티(출처)

 

 

[ 그림 6-3-4. 스위치 x y - #show shpanning-tree 결과 화면 ] -후티(출처)

 

 

위의 그림은 스위치 X, Y에서 #show spanning-tree명령어를 실행한 결과로 STP정보를 보여주고 있습니다. Root ID는 Root Bridge의 정보이며 아래의 Bridge ID정보는 자기 자신의 정보를 나타내는데 스위치 Y에서처럼 Root ID정보와 Bridge ID정보가 동일하다면 바로 자기 자신이 Root Bridge임을 알 수 있습니다.

 

현재 스위치에서 STP설정을 위해서는 (config)#spanning-tree ? 를 통해 확인해보면 모드를 변경할 수 있는 mode가 있습니다. MODE에는 PVST(Per Vlan Spanning Tree)와 R(Rapid)STP가 보여지는데 PVST가 STP를 나타내며 RSTP는 STP의 포트 상태 변화  시간을 단축하여 기능을 개선시킨 프로토콜이 되겠습니다. 또한 (config)#spanning-tree  vlan 1 ? 를 통해 우선순위 값도 변경할 수 있습니다. 이 외에 MSTP도 있지만 우선은 STP 1가지 정도만 알아두도록 합시다.

 

여러분들도 예제와 같은 간단한 토폴로지를 구성하여 유튜브 채널 '에듀쉐어 - 강좌공유'에서 동영상을 참고하여 같이설정 해보면 도움이 될 듯 합니다.

 

 

[ stp 설정 ] - 강좌 공유 유튜브 채널 : 에듀쉐어 * 구독/좋아요 꾹~~

 

정리하기

단일 경로 제공 - stp

규칙에 의해 포트 선출

- 후티

반응형

+ Recent posts