링크의 이중화
- Loop 구조가 발생하는 이유
- 한 지점에 장애가 생겼을 때 네트워크가 다운되는 것을 방지할 수 있다(High Availability : 고가용성)
-> 이중화로 인해 broadcsat storm(flooding으로 인한 looping 문제 발생)
multiplr frame 복사, mac address table 불안전성 문제가 발생함
STP(Spanning-tree Protocol)
- 스위치로 연결된 네트워크에서 Loop 구조를 인식하고 link를 차단함으로써 Looping 문제를 방지하는 protocol
- 브리지 정보가 담긴 프레임(BPDU)을 일정 주기로 발송하고
이를 기반으로 Root bridge를 선정하고, Loop가 발생하지 않도록 link를 차단함
1. Root Bridge
- 네트워크에서 가장 낮은 Bridge ID 값을 가진 스위치
- 네트워크 마다 단 한개의 Root Bridge가 존재함, 나머지는 Non Root-bridge
- Root Bridge의 포트는 차단되지 않음(모든 port가 Designated port)
* Bridege ID(= Switch ID)
- Bridge Priority + MAC address(Bridge Priority는 기본값 32769, 낮을 수록 상위)
- Bridge Priority를 먼저 비교하고 동일한 값일 시 MAC address를 비교
* 지정 포트 (Designated Port) / 포워딩 포트 (Forwarding Port)
- 스위치의 경우 두 스위치 포트 간에 직접 연결된 포트들 중 하나가 지정 포트가 됨
- 보통의 데이터 및 BPDU를 모두 송신,수신 함
2. Non Root-bridge
- Root bridge가 아닌 스위치
- Root bridge까지 최단경로인 port를 Root port로 지정
* 루트 포트(Root port)
- Root Bridge로 가장 빨리 향할 수 있는 port(cost가 가장 낮아야 함, cost는 bandwidth에 따라 결정 됨)
* Non-root Bridge의 Root port, Designated port, Nondesignated port 선정 방법(항상 낮은 것이 상위)
1. cost 비교
2. Bridge ID 비교
3. 포트 번호 비교
cost는 모두 동일하고, Bridge priority는 기본값 일 때
다음과 같이 스위치가 연결되면 STP가 어떻게 동작할지 예측 해본다
먼저 show version 명령어로 각 스위치의 MAC address를 확인한다
switch16 : 00E0.A340.AE0A
switch17 : 0010.113B.A586
switch18 : 0000.0C03.28EB
switch19 : 0001.971D.3679
확인결과 mac-address 값이 낮은 순서는 18 < 19 < 17 < 16 (switch)
예상)
Switch 18 ( Root Bridge)
Designated port : fa0/1 - 4
Switch 16 ( Non Root Bridge)
Root bridge : fa0/3
Designated port : fa0/1 - 2
Nondesignated port : fa0/4
Switch 17 ( Non Root Bridge)
Root bridge : fa0/3
Nondesignated port : fa0/1 - 2, fa0/4
Switch 19 ( Non Root Bridge)
Root bridge : fa0/3
Designated port : fa0/1 - 2
Nondesignated port : fa0/4
Bridge priority 값이 모두 동일하기 때문에 가장 낮은 값의 Mac address를 가진 switch 18이 Root bridge가 된다
세그먼트마다 한개의 DP로 정해질 때 Root bridge의 cost는 없으므로 항상 Root bridge의 모든 port는 DP이다
swithc 16, 19의 경우 Root bridge로 향하는 port들의 cost와 Bridge ID가 같기 때문에
연결된 Root bridge의 포트 번호로 비교했을 때 둘 다 fa0/3이 Root port로 지정된다
(switch16의 경우 Root bridge의 fa0/1과 연결된 fa0/3이 상위, switch19의 경우 fa0/3과 연결된 fa0/3이 상위)
swirch17의 경우 Root bridge까지의 cost는 동일하지만, Bridge ID가 다르기 때문에 더 낮은 값을 가진
switch 19와 연결된 port 중, 낮은 포트 번호(fa0/1)와 연결된 fa0/3 이 Root port가 된다
DP와 NDP를 예측할 때 주의할 점은 첫 번째로 cost, 두 번째 Bridge ID, 세 번째로 port 번호를 비교 한다는 것이다
switch17의 경우 switch16보다 Bridge ID가 낮지만 cost가 더 높기 때문에 switch16, 19의 port가 Designated port가 되고
swirch17의 port가 Nondesignated port로 차단 상태가 된다
* STP cost 값 기준
bandwidth | cost |
10Gbps | 2 |
1Gbps | 4 |
100Mbps | 19 |
10Mbps | 100 |
구상대로 연결 후 살펴보면 예상했던 대로 링크가 차단되어 있는 것을 확인할 수 있고
각 스위치의 STP를 확인 해보면
(config)# show spanning-tree vlan1
각 port 또한 예상대로 지정된 것을 확인할 수 있다