STP의 Blocking port 선출과정
STP의 Blocking port 선출 전체 과정
- Root-Bridge 선출
- Forwarding Port 설정 (Designated Port & Root Port)
- Blocking Port 설정 (Non-designated port)
1. Root-Bridge 선출하기
- Root-Bridge 선출시 우선순위
Bridge-ID 낮은 순서(Bridge-ID = Priority + VLAN + MAC)
: Priority + Vlan 번호 낮은 순서 → MAC-Address 낮은 순서
- 선출과정
- 한 네트워크 상에 있는 스위치들은 각 스위치에서 만든 BPDU를 서로 주고 받아 정보를 학습한다
- BPDU안에 담겨있는 B-ID를 비교하여 가장 낮은 값을 가진 스위치가 루트 스위치로 선출된다
- B-ID의 우선순위는 기본적으로 32768로 설정되어있기 때문에 대개 MAC주소가 낮은 스위치가 선출되게 된다
2. Forwarding port & Blocking port 설정하기
- STP Port 종류
- Designated Port (D.P)
: Root Bridge의 BPDU를 다른 스위치들에게 전달하기 위해 지정된 포트 (Forward)
Root-Bridge는 모든 포트가 DP로 설정이 되어 Forward 상태가 된다
하나의 세그먼트당 하나의 DP만 설정할 수 있다는 규칙을 가진다
- Root Port (R.P)
: Root Bridge로부터 BPDU를 수신하는 포트 (Forward)
쉽게 말해 Non-Root Bridge 에서 Root Bridge로 가는 가장 좋은 길의 포트이다
Non-Root Bridge당 하나의 RP만 설정할 수 있다는 규칙을 가진다
- Nondesignated Port
: 논리적으로 통신을 하지 못하게 막아두는 포트 (Block)
Alternate Port 또는 Non-DP라고 부름. BPDU 수신은 하지만 Frame을 주고 받지는 못한다
DP와 RP를 설정할 수 없는 포트는 Nondesignated port로서 Blocking 상태가 된다
- 포트 선출시 우선순위
- 낮은 Cost (대역폭에 따라 산출됨 - 대역폭이 클수록 Cost는 낮음)
PVST+ RSTP
-------------------------------------------
속도 Cost 속도 Cost
10G 2 10G 2000
1G 4 1G 20000
100M 19 100M 200000
10M 100 10M 2000000
- 낮은 Sender Bridge-ID
- 낮은 Sender Port-priority
3. Priority 조정으로 Root Bridge 및 Port 설정 변경하기
시나리오 : SW1, SW2, SW3이 위와 같은 구조로 서로 연결되어있고 SW1이 Root Bridge로 설정되어 있다
- Root Bridge 변경하기
문제 : SW3을 Root Bridge로 변경하려고 한다
SW3(Config)#Spanning-tree vlan 1 Priority 4096의 배수
위 예제에서 priority를 직접 작성하고 싶을때는 4096의 배수를 쓰고있다.
시스코에서는 vlan별로 STP를 사용하기위해 vlan번호를 넣은 Extended B-ID를 사용하기 때문이다
문제 : SW3은 Root Bridge로, SW1을 후순위 Root Bridge로 설정하려고 한다
SW3(Config)#Spanning-tree vlan 1 root primary
SW1(Config)#Spanning-tree vlan 1 root secondary
간단한 명령어로 priority를 조정할 수 있는데 그 명령어가 위와 같다
root primary는 해당 스위치가 root가 될 수 있도록 priority값을 낮춰주고
root secondary는 기본설정보다는 낮게 primary보다는 높게 설정하여 후순위로 만들어주는 명령어이다
- Block Port를 바꾸고 싶을 때
Cost 값 변경 (Config-if)#Spanning-tree vlan 1 cost 10
Port Priority 값 변경 (Config-if)#Spanning-tree port-priority 160