이번 시간에는 Spanning Tree Protocol에 대해서 알아볼 건데요. STP를 하기 전에 Looping이 왜 생기는지부터 정확하게 알고 계셔야 이 STP가 이해하기 쉽고 왜 사용하는지도 쉽게 이해가 가실 겁니다. Looping에 대해서 모르시는 분들은 Looping부터 스터디하시고 , STP 보시는 걸 추천드립니다.
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
1. 루트 브리지 선택 : 주어진 하나의 브로드캐스트 도메인에서 하나의 브리지를 루트 브리지로 지명
2. Designated port / Root port 선출
: STP가 사용하는 Spanning Tree 알고리즘의 내용은 다음과 같다.
- 전체 스위치 중에서 루트(Root) 스위치를 선택합니다.
- 루트 스위치가 아닌 모든 스위치에서 루트 포트를 하나씩 선택합니다.
- 한 스위치 세그먼트 당 지정(Designated) 포트를 하나씩 선택합니다.
- 루트 포트도 지정 포트도 아닌 포트를 대체 포트(Alternate Port)라고 하고 대체 포트는 항상 차단됩니다
2. 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에서 중요한 부분은 다 했다고 보셔도 됩니다.
저의 글을 읽어 주셔서 감사합니다. 오늘도 즐거운 하루 보내세요.
댓글