Network/Network

Network - STP (Spanning Tree Portocol)

잇(IT) 2022. 4. 18. 11:49
728x90

이번 포스팅은 Spanning Tree에 대해 알아 볼 것이다.

 

STP(Spanning Tree Protocol)

1. 브리징 루프를 해결하기 위해 IEEE에서 정의한 표준 프로토콜이다.

2. 원리는 스위치의 특정 포트를 논리적으로 차단하여 프레임 전송처리를 못하게 하는 것이다.

3. Switch들간에 BPDU 프레임을 멀티캐스트로 교환하여 Switch들간에 물리적인 연결 상태와 내부 토폴로지 변경 사항 및 루프의 위치를 결정하여 최종적으로 Switch Port를 차단한다.

 

Bridge ID

1. 64bit 체계로 Switch를 구분하는 식별자

2. priority 16bit (기본값 32768 + VLAN 1)

3. MAC Address 48bit

 

STP 동작 과정

1. Root Bridge 선출 : Bridge ID가 가장 낮은 Switch

2. Root Bridge 모든 포트는 Designated Port가 된다.

3. Root Bridge에서 송신하는 BPDU를 가장 작은 Cost값에서 수신 할 수 있는 포트를 Root Port로 설정한다.

4. 나머지 Port의 Cost값은 동일하기 때문에 Bridge ID값이 높은 쪽이 Alternated Port로 지정되어 차단된다.

 

STP 상태

IEEE802.1q STP 포트 상태

1. Disable(DIS)

- 포트가 동작하지 않는 상태, shutdown or 케이블이 연결되지 않은 상태 BPDU Guard, Port-Security에 의해서 포트가 비활성화된 경우 프레임과 BPDU 송수신 불가

(* BPDU : 스위치(브리지)간 정보 교환을 위한 Frame 데이터, 네트워크 내에서 발생할 수 있는 네트워크 루프를 방지하기 위한 STP 정보 데이터가 된다.)

2. Blocking(BLK)

- 브리징 루프 방지를 위해 포트가 논리적으로 차단된 상태, 이때 포트는 대체 포트로 선정

- 프레임 송수신 및 BPUD 송수신 불가, 단 Root Bridge로 전송되는 BPDU는 수신 가능

3. Listening(LIS)

- STP 컨버젼스 단계

- Root Port로 선정이 되면 BPDU만 수신

- 지정포트가 되면 BPDU 송신, 단 프레임 송수신 불가

- Listening은 Forward Delay 타이머 15초 동안 진행

4. Learning(LRN)

- 스위치 포트 상태를 Forward 상태로 이전하는 직전 단게로서 프레임을 송수신하기 위한 MAC 주소 학습을 실시

- Forward Delay 타이머 15초 동안 진행, 토폴로지의 변화가 없다면 바로 스위치 포트를 Forwarding 단계로 전환

5. Forwarding(FWD)

- 프레임 송수신이 가능한 상태

- 일반적으로 루트포트와 지정포트가 Forwarding 상태로 동작


[ Root Bridge, Root Port, Designated Port, Alternated Port 선출 방법] 

 

* priority값은 현재 기본값으로 지정되었다고 가정한다.

 

1. MAC Address값을 비교하여 가장 작은 숫자의 Switch가 Root Bridge가 된다.

   (2번 스위치가 Root Bridge가 된다.)

2. Root Bridge의 모든 포트는 Designated Port가 된다.

3. Root Bridge와 연결되어 있는 Switch(3,4)의 포트는 전부 Root Port가 된다.

   (Root Port는 스위치마다 Root Bridge로 가는 최단 코스트 값의 경로이기 때문이다.)

4. 3번 Switch의 2개의 포트 중 하나는 Root Port 하나는 Alternated Port가 된다.

5. 1번 4번 스위치 2개 중 4번의 우선순위가 높기 때문에(MAC Address가 작기 때문이다.) 4번과 연결된 3번 스위치 포트가 Root Port가 되고, 나머지 포트는 Alternated Port가 된다.

 

(show spanning-tree vlan[지정 vlan] = spanning tree 정보 확인)


[ Root Bridge, Root Port, Designated Port, Alternated Port(Block Port) 직접 지정 (Backup Root Bridge)] 

 

이번에는 스위치의 우선순위를 직접 설정하여 Root Bridge를 직접 지정하는 방법을 알아 볼 것이다.

 

1. Root Bridge, Backup Root Bridge를 직접 지정하는 방법

2. Priority 값을 직접 지정하는 방법

 

1. Root Bridge, Backup Root Bridge를 직접 지정하는 방법

 

1.1 Root Bridge로 지정할 스위치를 지정하고 해당 스위치에 spanning-tree vlan 1 root primary 명령어를 입력해준다.

 

1.2 do show spanning-tree를 통해 확인해보면 해당 스위치가 Root Bridge가 되어있고 Priority값이 자동으로 수정되어 있는 것을 확인할 수 있다.

 

1.3 Backup Root Bridge로 지정할 스위치를 지정하고 해당 스위치에 Spanning-tree vlan 1 root secondary 명령어를 입력해준다.

 

1.4 do show spanning-tree를 통해 확인해보면 해당 스위치가 Priority 값이 수정되어 있지만 Root Bridge의 Priority 값보다는 큰 것을 확인 할 수 있다. 설정을 변경한 스위치 이외의 스위치의 Priority 값은 기본값으로 설정되어 있기 때문에 현재 스위치가 Backup Root Bridge가 되는 것을 알 수 있다.

 

 

 

2. Priority 값을 직접 지정하는 방법

 

2.1 Root Bridge로 지정할 스위치에 spanning-tree vlan 1 priority [값(4096씩 커져야한다.)] 명령어를 작성한다.

 

2.2 spannig-tree 설정을 확인해보면 4096+vlan 1 = 4097값이 Priority값으로 들어가 있는 것을 확인 할 수 있다.

 

2.3 Backup Root Bridge로 설정할 스위치에 spanning-tree vlan 1 priority [Root Bridge보다 크지만 두번째로 큰 값(4096씩 커져야한다.)] 명령어를 작성한다.

 

2.4 spanning tree 설정을 확인해보면 현재 스위치의 Priority 값이 8192 + vlan 1 = 8193으로 설정된 것을 확인 할 수 있고 Root Bridge가 어떤 스위치인지 확인 할 수 있다.

728x90