STP(Spanning-Tree Protocol)란 ?
스위치에서 이중화 등으로 인해 출발지부터 목적지까지의 경로가 두 개 이상 존재할 때, 스위칭 루프가 발생하는데, 이 때 한 개의 경로만을 남겨 두고 나머지 는 모두 끊어 두었다가 사용하던 경로에 문제가 발생하면 그때 끊어두었던 경로 를 하나씩 살리는 방식의 프로토콜
스위칭 루프
스위칭 루프 발생 원인
스위치의 작동 원리
∙ Learning
∙ Forwarding
∙ Filtering
∙ Aging
∙ Flooding
위의 작동 원리 중 모든 포트로 패킷을 내보내는 ‘Flooding’으로 인해 발생
스위칭 루프 발생시 발생되는 현상
1. Broadcast Storm
- 스위치를 연결한 링크가 이중 경로가 되었기 때문에 pc에서 보낸 정보를 R4가 응답하기 전 까지 브로드캐스트가 지속적으로 발생
-> CPU 소모 극대화
2. Multiple Frame Copy
- pc가 Unicast Frame을 R4로 보내게 되면, sw1이 Frame를 받 게 됨
- sw1은 R4의 MAC Address가 MAC Address Table에 없기 때문 에 Flooding하게 되고, sw2를 거 쳐 동일한 Frame을 R4가 받음
3. MAC address instability
- 트래픽이 들어온 Port와 Source-MAC address를 매핑하여 MAC Table을 작성하는 스위치는 정상적으로 들어온 트래픽과 우회 하여 들어온 트래픽의 SourceMAC address가 같기 때문에 스위치의 MAC Table이 계속 바뀌게 됨
STP(Spanning-Tree Protocol) 동작원리
STP 구하기 법칙
1. Network 당 하나의 Root Bridge 선정
2. Non-Root Bridge 별로 하나의 Root Port 선정
3. Segment(스위치 간 서로 연결된 링크) 별로 하나의 Designated Port 선정
STP 정하는 순서
1단계
-> 누가 더 작은 Root BID(Bridge ID)를 가졌는가?
2단계
-> 루트 브리지의 Path Cost값은 누가 더 작은가?
3단계
-> 누구의 Sender BID가 더 낮은가?
4단계
-> 누구의 Port ID가 더 낮은가?
Priority 확인 및 변경 명령어
1) Priority 확인 명령어
2) priority 변경 명령어
STP 선정 과정을 진행할 때, BPDU를 통해 Bridge ID, Port ID 등의 데이터를 확인하게 된다
BPDU(Bridge Protocol Data Unit)
BPDU의 종류에는 두 가지가 있다
∙ Configuration BPDU
∙ Topology Change Notification BPDU
○ BPDU는 2초 마다 작동하는 모든 Port에 보내지게 된다
○ 각 스위치들을 비교하여 누가 Root Bridge 인지 결정할 수 있게 한다
○ 스위치간 데이터 루프 방지를 위해 port를 Blocking한다
Topology Change Notification BPDU
○ Configuration BPDU와 다르게 BPDU Type 이후 field는 사용하지 않고 Padding 로 채워진다
○ 네트워크 망에 변화가 생길 때, TCN BPDU를 통해 Root Switch로 보고하며, 네 트워크 망에 변화가 있을 때만 사용한다
* Bridge ID의 데이터 구조
2byte | 6byte |
Priority | MAC |
Bridge Priority : 0 ~ 65525
Default : 32768
* Port ID의 데이터 구조
1byte | 1byte |
Port Priority | Port Num |
Port Priority : 0 ~ 255
Default : 128
* flag의 데이터 구조
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
TC | Agreement | Forwarding | Learning | Port Role | Proposal | TCA |
TC(Topology change)
○ 토폴로지가 변화되었음을 알릴 때 사용한다
TCA(Topology change Acknowledgement flag)
○ TCN-BPDU를 수신했음을 알릴 때 사용한다
※ STP에서는 0, 7 bit만 사용하며, RSTP에서는 1 ~ 6 bit가 사용된다
STP Port의 상태 변화
∙ Port가 고장이 났거나 셧다운을 걸어 놓은 상태
∙ 스위치가 켜질때, Default 상태, 이 상태에서도 BPDU는 수신된다
BPDU를 받지 못하고 20초가 지나면 Listening 상태가 됨
∙ 15초 동안 STP 재계산, Loop가 발생하지 않는지를 확인
∙ 15초 동안 Forwarding을 위해 Mac Address를 Learning하여 MAC Table을 구성
'네트워크 > switch' 카테고리의 다른 글
Switch 기능 (0) | 2024.04.29 |
---|---|
VLAN, STP, BPDU, Etherchannel (0) | 2024.04.22 |