끄적끄적 아무기록

STP (Spanning Tree Protocol) 동작 과정

by 현생사는갓생지망생
반응형

STP

(Spanning Tree Protocol)

- 스위치 이중화 구성에서 Bridging Loop를 해결하기 위해 IEEE에서 정의한 표준 프로토콜

- 스위치 구간을 모니터링하여 내부 토폴로지 정보를 갱신.

- 브리징 루프를 방지하는 원리는 특정 포트를 논리적으로 차단하여 Frame 전송처리를 못하게 한다.

 

Bridging Loop

- Switch는 브로드캐스트를 수신하면, 모든 트렁크 포트로 플러딩하기 때문에 이중화 링크를 구현한 환경에서는 브리징 루프가 발생한다.

 

STP 동작 과정

 

1. Root Bridge 선출

Bridge ID = Priority + MAC Address

Bridge ID가 가장 낮은 스위치가 대장이 된다.

Priority(16bit) 기본값 32,768이므로, 바꿔주지 않는 이상

보통은 MAC주소가 가장 작은 Switch가 Root Bridge이다.

 

Bridge ID가 가장 낮은 스위치가 Root Bridge, 가장 높은 스위치가 Non Root Bridge가 된다.

 

2. Segment당 Cost값 계산하여 Root Port 선정

Root Port = Root Bridge로 가는 비용이 가장 낮은 포트

 

3. Root Port와 연결된 반대쪽 Port를 Designated Port로 선정

 

4. 스위치가 3개 일 때

Non Root Bridge에서 Root Bridge쪽이 아닌, Backup Bridge로 가는 포트가 Block Port이다.

(힘이 약한, Bridge ID가 높은 쪽의 포트가 Block Port)

 

예시

 

Bandwidth을 10Mbps로 바꿔보자.

 

그럼 cost값이 100으로 증가하면서 Switch23의 Root port는 Fa0/3이 아닌 Fa0/2가 된다.

그리고 Root Bridge와 Non Root Bridge쪽의 두 Port 중 힘이 약한, Bridge ID가 높은 

Non Root Bridge쪽의 Fa0/3 Port가 Block Port가 된다.

 

스위치가 4개일 경우

Root Bridge와 인접한 스위치는 Root Port를 쉽게 알 수 있지만,

Root Bridge와 인접하지 않은 스위치의 Port는 알기 어렵다.

Root Bridge와 인접하지 않은 스위치의 Port인 Fa0/1와 Fa0/2 중 Bridge ID 값이 높아

힘이 약한 스위치쪽 Port가 Block Port이다.

 

만약 Switch27의 Fa0/1의 Bandwidth을 10Mbps으로 바꿔주면

 

cost값이 100으로 바뀌면서 Block Port의 위치도 바뀌게 된다.

 

Priority 변경 예시

Block Port를 Root Bridge의 Fa0/1로 바꾸려 한다.

Root Bridge의 Port는 Block Port가 될 수 없으므로 Root Bridge가 변경이 되어야 한다.

Root Bridge를 선정하는 기준이 Bridge ID = Priority + MAC Address 이므로

Priority값을 변경해보자.

 

show spanning-tree vlan 1 명령어로 priority 값 확인 가능하다.

 

spanning-tree vlan 1 priority 1 명령어는 사용 가능한 priority 값을 보여준다.

 

Non Root Bridge의 Priority를 가장 작은 값(4096)으로 적용한다.

Priority 값이 가장 작으면 Bridge ID값이 가장 작아지므로 Root Bridge가 된다.

 

그리고 현재 Backup Bridge의 Priority는 기본 값이다.

 

Priority값을 그 다음 작은 값인 8192로 설정한다.

 

그럼 원래의 Non Root Bridge가 Root Bridge가 되며,

원래의 Root Bridge가 Non Root Bridge가 된다.

우선 순위를 설정하여 원하는 포트를 막을 수 있다.

반응형

블로그의 정보

현생이네

현생사는갓생지망생

활동하기