본문 바로가기
IT스터디/네트워크 이론

STP (Spanning Tree) 동작원리 , 종류 , 계산방법

by 천하무적 엔지니어 2021. 3. 13.

이번 시간에는 Spanning Tree Protocol에 대해서 알아볼 건데요. STP를 하기 전에 Looping이 왜 생기는지부터 정확하게 알고 계셔야 이 STP가 이해하기 쉽고 왜 사용하는지도 쉽게 이해가 가실 겁니다. Looping에 대해서 모르시는 분들은 Looping부터 스터디하시고 , STP 보시는 걸 추천드립니다.

 

 

 

루핑(Looping)의 원인 및 발생 이유 , 해결 방법

이번 시간에는 네트워크에서 발생하는 루핑(Looping)에 대해서 알아보도록 하겠습니다. 루핑은 왜 생기는 것이고 루핑이 생기면 어떤 문제가 발생하는지 , 루핑을 해결할 수 있는 방법까지 자세히

ja-gamma.tistory.com

 

 

VLAN 개념 및 동작원리 , 사용하는 이유 알아보기

이번 시간에는 네트워크에서 가장 기본이 되는 VLAN의 개념 및 동작원리 그리고 왜 사용하는지에 대한 이유까지 폭넓게 알아보도록 하겠습니다. 1. VLAN (Virtual LAN)이란 무엇인가? : 여러 개의 물리

ja-gamma.tistory.com

 

 

1.  Spanning Tree Protocol의 목적

 

: 루프가 없는 네트워크를 유지하는 것 (특정한 포트를 논리적으로 Blocking상태로 만들어서 그 Link로 프레임을 전달하지 않아 , Loop로부터 자유로운 Redundant를 제공)

 

 

 

※ STP에 사용하는 용어 정리 

 

1. BPDU 

: 스위치들이 Loop가 생기는 상황을 감지하고 적절한 포트를 Blocking 시킴으로써 Loop현상을 막기 위해서는 스위치 자체의 설정 정보와 네트워크의 변화를 알릴수 있는 방법이 있어야 하는데 이러한 정보의 교환은 BPDU에 의해 이루어진다 - 매 2초 간격으로 스위치와 스위치 사이에 각종 정보 전달 - Spanning Tree 상태를 모니터링

 

2. Bridge ID

: Bridge Priority + Bridge MAC Address

 

3. Path Cost

: 한스위치에서 다른 스위치로 가는데 드는 비용

 

4. Root Bridge

: STP를 수행할 때 기준이 되는 Bridge

 

5. Root Port

: Root Bridge에 가장 빨리 갈 수 있는 포트 (가장 가까운 포트)

 

6. Designnated Port(지정포트)

: 브리지 or 스위치 간에 서로 연결된 링크

 

7. Non Designnated

: Root Port , Designnated Port가 아닌 나머지 포트

 

8. Hello Time

: Root Bridge가 자신에게 연결된 스위치에게 2초마다 한 번씩 보내는 헬로 BPDU

 

 

 

 

stp구성 및 설명
< STP 구성 및 설명 >

 

1. 루트 브리지 선택 : 주어진 하나의 브로드캐스트 도메인에서 하나의 브리지를 루트 브리지로 지명

 

2. Designated port / Root port 선출

: STP가 사용하는 Spanning Tree 알고리즘의 내용은 다음과 같다.

- 전체 스위치 중에서 루트(Root) 스위치를 선택합니다.

- 루트 스위치가 아닌 모든 스위치에서 루트 포트를 하나씩 선택합니다.

- 한 스위치 세그먼트 당 지정(Designated) 포트를 하나씩 선택합니다.

- 루트 포트도 지정 포트도 아닌 포트를 대체 포트(Alternate Port)라고 하고 대체 포트는 항상 차단됩니다

 

 

 

2. STP 포트 상태 변화

 

stp포트 상태변화
< STP 포트 상태 변화 >

 

 

1. Disable : 포트가 고장 나서 사용할 수 없거나 포트를 Shutdown 시켜놓은 상태 [ 데이터 전송 안됨 , MAC Address 배우지 못함 , BPDU 받지 못함 ]

 

2. Blocking : 스위치를 맨 처음 켰거나 Disable 되어 있는 포트를 다시 살렸을 때 그 포트는 블로킹 상태 [ 데이터 전송 안됨 , MAC Address 배우지 못함 , BPDU 수신 ]

 

3. Listening : 블로킹 상태에 있던 스위치 포트가 루트나 Designated 포트로 선정되면 포트는 바로 리스닝 상태 [ 데이터 전송 안됨 , MAC Address 배우지 못함 , BPDU 전송 ]

 

4. Learning : 리스닝 상태에 있던 스위치 포트가 포워딩 딜레이 디폴트 시간인 15초 동안 그 상태를 유지하면 리스닝 상태는 러닝 상태로 넘어감 [ 데이터 전송 안됨 , MAC Address 배우기 시작 , BPDU 송수신 ]

 

5. Forwading : 이용자 프레임을 송수신한다 [ 데이터 전송 , MAC Address 배우기 시작 , BPDU를 송수신 ] : 모든 포트들은 Blocking 상태에서 시작(브리지 루프 예방을 위해서) 그다음 포트가 전송할 준비가 되었지만 , 루프를 만들지 않기 위해서 Listening 상태로 조금 더 기다려보다가 Learning 상태로 넘어가면 MAC 주소 테이블을 포트에 수신된 MAC 주소들로 채운 후 Forwarding 상태로 가서 데이터를 송수신할 수 있는 것입니다.

 

 

★★★★★ (중요하니까 꼭! 꼭! 꼭! 외우세요)

 

Blocking ==20초 == > listening ==15초 ==> Learning ==15초 ==> Forwarding

 

그래서 토폴로지가 변화돼서 다른 경로로 넘어가면 통신이 기본 30초가 빠집니다. 정확히 30초!!! 어설프게 토폴로지 변화 시 몇 초 정도 빠집니다라고 말하 시 마시고 , 정확히 30초 기억하세요

 

 

 

3. STP 종류

 

STP 종류도 여러 가지가 있습니다.

 

1. RSTP (Rapid Spanning tree Protocol)

 

일반 STP는 토폴로지 변화 시 30초의 시간이 지난후 정상 통신이 됩니다. 하지만 , 가끔 그 변화하는 30초의 시간때문에 세션이 끊어져서 문제가 생기는 경우가 있습니다. 이럴때는 RSTP를 이용하면 토폴로지 변화시 2초 후 정상 통신이 됩니다.

 

 

 

 

2. MSTP (Multiple Spanning tree Potocol)

 

VLAN을 MST 그룹으로 조성하여 MST 그룹당 STP를 제공하는 서비스 여러 개의 VLAN을 묶어서 그룹별로 스패닝 트리를 동작시킴

 

- 장점 : VLAN 개수의 증가로 인한 스위치 부하 발생 적음 VLAN 로드 분산 가능

- 단점 : 모든 스위치에서 MST관련 성정을 실시해야 함. 설정 시에는 모든 스위치가 동일한 설정 내용이 들어가야 함 그나마 네트워크에서 STP가 좀 복잡한 내용 중에 하나죠.

 

 

스패닝 트리를 공부하실 때는 왜 Loop가 발생하는지? 구성도를 봤을 때 이게 Loop구조인지 아닌지? 에 대한 구분 STP 동작하는 원리를 공부한 후 본인이 원하는 구간을 Blocking 시킬 수 있도록 할 수 있어야 합니다. 포트 상태 변화 및 진짜로 동작할 때 걸리는 시간 확인 그리고 , RSTP정도 위에 적은 내용 정도만 하실 수 있다면 STP에서 중요한 부분은 다 했다고 보셔도 됩니다.

 

저의 글을 읽어 주셔서 감사합니다. 오늘도 즐거운 하루 보내세요.

반응형

댓글