반응형
Spanning Tree Protocol의 약자로써 Ethernet Frame을 주고받는 계층인 OSI 2 Layer의 프로토콜로 루프 발생 방지를 위해 만들어졌습니다.
이를 위해 스위치들은 자신들이 갖고 있는 인터페이스 중 하나를 Block 시킵니다. 이를 위해 스위치들끼리 협상을 합니다.
이때, BPDU를 사용하며 BPDU는 네트워크 토폴로지를 구성하기 위한 제어 메시지입니다.
Root Switch 선정과 Port 선정을 통해 협상을 시도하는데 이를 통해 Root Switch와 Non-Root Switch, Root/ Designated/ Alternated Port가 선출이 됩니다.
STP를 사용하지 않는 환경에서의 문제점
- MAC 주소 불안정성
- Broadcast Storm
- 중복된 Unicast 프레임
STP 동작 규칙
- Network 당 하나의 Root Switch(Bridge)를 가진다.
- Root Switch가 아닌 다른 Switch들은 하나의 Root Port를 가진다.
- Segment당 하나씩 Designate Port(DP)를 가진다.
- Root Port나 Designate Port가 아닌 모든 Port는 막는다.
Port Roles
- Root Port : 스위치에서 Root Switch까지 가장 비용이 낮은 경로로 연결된 포트
- Designated Port : 세그먼트에서 가장 낮은 비용으로 네트워크 세그먼트를 연결하는 포트
- Alternate Port : Root Port의 백업 포트 Root Port가 다운되었을 때 활성화
Port Status
- Blocking : 포트가 트래픽을 수신하거나 전달하지 않으며 BPDU만 수신
- Listening : 포트가 트래픽을 전달하지 않지만, BPDU를 수신하고 처리
- Learning : 포트가 트래픽을 전달하지 않지만, MAC 주소 테이블을 업데이트 하기 위해 수신한 트래픽의 출발지 주소를 학습
- Forwarding : 포트가 트래픽을 전달하고 학습
- Diabled : 포트가 트래픽을 전달하거나 수신하지 않으며, BPDU도 수신하지 않는 포트
BPDU
설정 BPDU
TCN BPDU
BPDU 프로세스 (처리과정)
- Switch 부팅
- 자신이 Root Switch라고 가정하고 BPDU 프레임을 2초(default) 간격으로 전송
- Switch 들은 각 BPDU Frame을 수신 (BPDU의 BID값이 더 좋은 값이면 그 값으로 업데이트, 그 외엔 버림)
- BID 값을 비교 후 경로 비용과 로컬 Root ID 없데이트
PortFast
Listening, Learning 상태를 거치지 않고 Blocking 상태에서 바로 Forwarding 상태로 변경.
단 루프가 발생할 가능성이 전혀 없는 포트에 설정해야 합니다.
STP 토폴로지 변경
STP에서는 지정된 시간 동안 Hello BPDU를 받지 못한 경우 토폴로지 변화를 감지합니다. 그때 다음 BPUD들을 교환합니다.
- TCP BPDU (Topology Change Notification)
토폴로지 변경 감지 시 보내는 BPDU
Hello 타임 주기로 전송
감지한 Switch가 지정 브리지로 전송 - TCA BPDU (Topology Change Acknowledgement)
토폴로지 변경에 응답하는 BPDU - TC BPDU (Topology Change)
Root Switch가 보내는 BPDU
각 Switch는 Forwarding Port와 Bloacking Port로 수신
STP 설계 시 고려사항
- Root Switch 위치 파악
일반적으로 Network 중간 지점에 있는 성능이 좋은 Switch로 선택 - 차단 Port 수의 최소화
실수로 전송상태로 변경된 Port가 광범위하게 나쁜 영향을 줄 수 있음 - VTP 프루닝 사용
VTP 프루닝으로 불필요한 트래픽 차단 - 3계층 Switching 사용
3계층 Switch끼리는 추가적인 Segment에 관한 속도 저하 요인이 없음
반응형