728x90
STP(Spanning-Tree Protocol)
1. STP란?
- 네트워크 내에서 루프(Loop) 방지하기 위해 설계된 네트워크 프로토콜
- 래디아 펄먼이 고안한 알고리즘에 기반한 OSI 2계층 프로토콜
2. STP를 왜 사용하는가?
- 고 가용성을 위해 스위치 케이블 연결할 때 이중화하면 생길 수 있는 Broadcast Storm을 방지하기 위해 사용한다.
- 불필요한 경로 차단으로 데이터 패킷 루프 방지 하기 위해 사용한다.
- 간단하게 네트워크의 불필요한 트래픽을 줄이고, 루프로 인한 문제를 방지하야 네트워크의 안정성과 효울성을 높이는데 중요한 역할을 한다.
2.1. Broadcast Storm 이란?
- 컴퓨터 네트워크에서 Broadcast 및 Multicast 트래픽이 누적되는 것이다.
- 과도한 양의 Broadcast traffic은 Broadcast Storm을 발생 시킨다.
3. BPDU란?
- STP 프로토콜에 의해 브리지, 스위치간 주고 받는 제어 프레임이다.
- 각 스위치에서 2초마다 모든 포트에 전달한다.
- BPDU에는 스위치의 ID 및 포트ID 등의 정보가 있어 스위치끼리 누가 RootBridge 인지 비교하고 결정할 수 있다.
- STP가 BPDU를 사용해 스위치간 데이터의 루프를 방지하기 위한 단일화 경로를 만든다.
3.1. Configuration BPDU
- RID, BID, Path Cost, PID 정보가 포함되어 있으며, 주기적으로 이 정보를 주고 받음.
Protocol ID | 0x0000 |
Protocol Version | 0x00(STP) 0x02(RSTP) 0x03(MSTP) |
BPDU Type | 0x00(Configuration BPDU) 0x80(Topology Change BPDU) |
Root Bridge ID | Root Switch 식별자 |
Root Path Cost | Root Switch 까지의 거리 |
Bridge ID | BPDU를 보내는 Swtich ID(Non-Root Switch) |
Port ID | BPDU를 보내는 Switch Port(Non-Root Switch) |
Message Age | Root Switch에서 생성 된 이후 BPDU 수명 Root Switch에서는 0으로 설정하며 다른 스위치가 해당 값을 1씩 증가 시킨다. Message Age = Max Age가 동일하면 해당 BPDU 폐기 |
Max Age | BPDU 최대 수명 (기본 20초) |
Hello Time | BPDU 전송 주기(기본 2초) |
Forward Delay | Spanning-Tree 단계별 주기 (Block - Listening - Learning - Forwarding) |
3.2. Topology Change Notification BPDU
- 네트워크 망 변화가 생길때만, TCN BPDU를 통해 Root Switch로 보고한다.
4. STP 상태 변경 과정
1 | Disabled State | - STP 활동 비활성화 상태 - 링크 DOWN 또는 설정 이슈 |
2 | Forwarding State | - 프레임을 송수한 할 수 있는 단계 |
3 | Learning State | - 해당 포트를 Forwarding state로 변경 바로 전의 상태 - 해당 state에서 프레임을 스위칭하기 위한 준비작업으로 MAC 주소 테이블 생성 시작 - 전송 지연시간 동안 토폴로지 변화 없으면 Forwarding state로 변경(15초) |
4 | Listening State | - 해당 포트를 Forwarding state로 변경되기 위한 준비상태 - 해당 포트가 DP()라면 Listening State부터 BPDU 전송 시작 - 전송 지연시간 동안 토폴로지 변화 없으면 Learning state로 변경(15초) |
5 | Blocking State | - 프레임을 수신하지 않지만 BPDU는 수신한다. - 차단 포트 - Listening State로 변경되는 경우 1) 상대의 포트로부터 Max Age 동안 BPDU 받지 못할때(총 20초) 2) 상대의 포트로부터 후순위 BPDU를 받았을 때 |
5. STP 동작과정
1. Bridge Priority 또는 MAC Address 값 비교
- Bridge Priority 값 동일 시 MAC Address 값 비교
- Brdge Priority 값은 SW1(Priority : 0)이 가장 낮기 때문에 SW1이 Root Bridge를 가지게 된다.
- Bridge Prority 값이 같다면, MAC을 비교해서 SW1이 Root Bridge를 가지게 된다.
2. DP(Designated Port), ND(Non Designated Port), RP(Root Port) 선출
2.1 Root Bridge로 선출된 스위치는 모든 포트가 기본적으로 DP로 선출된다.
- SW1이 Root Bridge로 선출이 되었으며, SW1의 E1/1, E1/2 포트는 DP포트로 선출
2.2 Non root Bridge 스위치들은 Root Bridge와 가장 인접한 포트를 RP(Root Port)로 선출
- SW2에서는 E1/1 포트가 Root Bridge와 가장 인접하기 때문에 RP 포트로 선출
- SW3에서는 E1/2 포트가 Root Birdge와 가장 인접하기 때문에 RP 포트로 선출
2.3 Port의 Cost를 비교해서 더 낮은 Cost의 포트를 DP로 선출
- Cost 값이 같다면 Bridge ID를 비교하며, Bridge ID 마저 같다면 Port ID를 비교해서 DP와 ND를 선출하며, ND의 포트는 Block 처리하게 된다.
- 회선 속도가 높을수록 Cost 값은 낮게 설정되어 있으며 cost 값이 가장 낮은 포트를 DP 포트로 선출
- SW2와 SW3 사이의 세그먼트 비교 시에 동일한 Cost 값이지만, SW3의 Priority 값이 낮기 때문에 SW3의 E1/3은 ND로 선출
728x90
'Network > Regarcy' 카테고리의 다른 글
[Network] 게이트웨이 이중화 프로토콜(VRRP, HSRP) 란? (0) | 2024.05.29 |
---|