스패닝 트리 프로토콜(Spanning Tree Protocol, 줄여서 STP)이 동작하는 데 있어서 기본적인 세 가지 과정을 갖습니다.
1. 네트워크 당 하나의 루트 브리지(Root Bridge)를 갖는다.
라우터에 의해 네트워크가 나눠지게 되고 라우터는 브로드캐스트 도메인을 나누는 역할을 해주므로, 즉 하나의 브로드캐스트 도메인에 하나씩의 루트 브리지가 있습니다.
2. 루트 브리지가 아닌 나머지 모든 브리지를 Non Root Bridge라고 하는데, 이 Non Root Bridge당 하나씩의 루트포트를 가져야 한다.
루트 포트란 루트 브리지에 가장 빨리 갈 수 있는 포트를 말합니다. (Path Cost로 측정)
3. 세그먼트 당 하나씩의 Designated Port를 갖습니다. 세그먼트란 브리지 또는 스위치 간에 서로 연결된 링크를 말합니다. 각 세그먼트 당 하나씩의 Designated Port를 가져야 합니다.
정리
스패닝 트리 프로토콜의 세 가지 과정
1. 네트워크당 하나의 루트 브리지를 선정한다.
2. Non Root Bridge 당 하나의 루트 포트를 선정한다.
3. 세그먼트당 하나의 데지그네이티드 포트를 선정한다.
이렇게 선정한 이후 스패닝 트리 프로토콜에서 루트포트나 데지그네이티드 포트가 아닌 나머지 모든 포트는 막아버린다.
루트 포트와 데지그네이티드 포트를 뽑는 목적은 어떤 포트를 살릴지 결정하기 위한 것.
선정을 할 때, 각각 어떠한 비교를 통해 이루어지게 되는데 비교 흐름은 아래 단계에 따라 흘러갑니다.
이 네단계에 따라 위 세 가지의 선정이 이루어집니다.
[ STP에서 브리지/스위치 간에 힘을 겨루는 방식 ]
1단계 : 누가 더 작은 Root BID를 가졌는가?
2단계 : 루트 브리지까지의 Path Cost 값은 누가 더 작은가?
3단계 : 누구의 BID(Sender BID)가 더 낮은가?
4단계 : 누구의 포트 ID가 더 낮은가?
브리지/스위치는 스패닝 트리 정보를 자기들끼리 주고받기 위해 특수한 프레임을 사용하는데 이를 BPDU(Bridge Protocol Data Unit)이라고 합니다. 이 BPDU에는 Root BID, Root Patch Cost, Sender BID, Port ID 정보 등이 실려있다. 브리지/스위치들은 부팅후 각각의 포트로 매 2초마다 BPDU를 내보내면서 서로의 스패닝 트리 정보를 주고받는다. 이 과정에서 4단계 방식에 따라 3가지 선정이 이루어지게 된다.
1. 네트워크당 하나의 루트 브리지를 선정한다.
스위치/브리지는 부팅과 동시에 BPDU를 보낼 때 Root BID에 자신의 BID를 채워 보냅니다. 처음엔 네트워크상에 Root BID가 자신인줄 알기 때문입니다 이런 BPDU를 네트워크에서 다른 스위치/브리지들과 주고받으면서 더 작은 Root BID를 가진 브리지/스위치를 루트 브리지로 선정하게 된다. 참고로 BID = (Bridge Priority 16비트 + MAC 주소 48비트)
정리하자면 네트워크 안에서 제일 작은 BID 값을 가진 스위치/브리지가 루트 브리지가 되는 것.
2. Non Root Bridge 당 하나의 루트 포트를 선정한다.
루트 브리지가 아닌 브리지들은 모두 Non Root Bridge이고, 각 Non Root Birdge가 Root Path Cost(루트 브리지 까지의 Path Cost)값 비교를 통해 Path Cost가 가장 작은 포트를 루트 포트로 선정합니다. ( 링크의 대역폭(속도)이 크면 Path Cost는 작고, 링크의 대역폭이 작으면 Path Cost 값은 커집니다.)
3. 세그먼트당 하나의 데지그네이티드 포트를 선정한다.
루트 브리지까지의 Path Cost(=Root Path Cost), 즉 세그먼트 상에서 Root Path Cost를 서로 비교해서 더 작은 Root Path Cost를 가진 포트가 데지그네이티드 포트로 선출됩니다.
2번 선정에서 루트 포트를 선정하며 Root Path Cost를 도출했는데, 이를 가지고 각 세그먼트 안에서 더 작은 Root Path Cost를 가진 포트를 데지그네이티드 포트로 선정합니다. 참고로 루트 브리지의 모든 포트들(액티브 포트 중)은 Root Path Cost가 0이므로 언제나 데지그네이티드 포트로 선정됩니다. 만약 세그먼트 상에서 Root Path Cost가 같게 된다면 둘의 비교는 STP 힘겨루기 3단계 이후로 넘어가면서 선출하게 됩니다.
ps.
2, 3번 과정에 때에 따라 유사하게 보일 수도있는데 2번은 브리지 당 비교하는 방식이고 3번은 세그먼트 당 비교하는 방식입니다.
각 선정기준을 알고 있다가, 동점이 생겼을 때에는 STP 힘겨루기 네 단계를 이용하여 순서를 정하면 됩니다.
'[보안] > [시스코 네트워킹]' 카테고리의 다른 글
Blind SQL injection 중요 몇가지 정리 (0) | 2020.09.20 |
---|---|
[CISCO Networking] 스위치/브리지 포트의 5가지 상태변화 (0) | 2020.09.18 |
[CISCO Networking] 스패닝 트리 프로토콜 (0) | 2020.09.16 |
[CISCO Networking] 서브넷 예제 문제 풀이 (0) | 2020.09.15 |
[CISCO Networking] 서브넷 마스크 (0) | 2020.09.11 |