스위치와 스패닝 트리

김상현·2023년 11월 4일
0

스패닝 트리 알고리즘의 개념을 공부 해보겠습니다

스패닝 트리 알고리즘이란?
스위치나 브리지에서 발생하는 루핑 을 막아주기 위한 프로토콜입니다
즉 스위치나 브리지 구성에서 출발지부터 목적지까지의 경로가 2개 이상 존재할 때 1개의 경로만을 남겨두고 나머지는 모두 끊어두었다가,사용하던 경로에 문제가 발생하면 그때 끊어두었던 경로를 하나씩 살린다고 설명드렸습니다

그럼 STP 동작원리 를 공부 해보겠습니다

스패닝 트리 프로토콜을 이해하기 위해서는 먼저 2가지 개념을 이해하실 필요가 있습니다

첫 번째 브리지 이고 , 두번째 Path Cost라는 겁니다

스패닝트리는 스위치나 브릿지에서 발생하는 루핑을 막아주기 위한 프로토콜입니다.

스패닝트리를 이해하기 위해서는 1. Bridge ID, 2. Path Cost에 대해서 알아야 합니다.

**브리지 ID 란

브리지나 스위치들이 통신 할 때 서로를 확인하기 위해 하나씩 가지고 있는 번호입니다 Bridge ID는 아래와 같은 규칙으로 구성되어 있습니다.**

자, 그럼 브리지 ID는 어떻게 만들까 어떤 규칙 같은 것이 있습니다

브리지 ID는 16비트의 브리지 우선순위 와 48비트의 맥 어드레스로 만들어집니다 맨 앞에 Bridge Priority 와 48비트의 맥 어드레스로 만들어 집니다 맨 앞에 Bridge Priority가 오고 그 뒤에 먼저 MAC Address 가 오는 것이 바로 Bridge Id 입니다

먼저 앞쪽에 있는 브리지 우선순위 16비트로 만들어지기 때문에 올 수 있는 수는 0부터 2 -1 까지가 됩니다

따라서 Bridge Priority 에 올 수 있는 수는 0~65535 까지가 됩니다 그런데 Bridge Priority 는 디폴트로 그 중간에 해당하는 값인 32768을 사용합니다 즉 아무런 구성도 하지 않은 스위치나 브리지에서 Bridge Priority는 32768 입니다

Path Cost 란?

Path=길, Cost=비용 즉 ‘길을 갈때 드는 비용’ 로 각 스위치가 얼마나 빠른 링크로 연결되어있는지 알아내기 위한 값입니다.

ex) 두개의 스위치가 10Mbps로 연결되어있을때 (스패닝트리를 정의하는 표준화 기구 IEEE 802.1D 에서는 Cost 값을 계산할때 1,000Mbps를 두 장비 사이의 링크 대역폭으로 나눈 값을 사용)

1,000/10 = 100

따라서 Path Cost가 100이 됩니다.

Path Cost는 링크의 속도(대역폭)가 빠르면 빠를수록 더 작은 값이 됩니다.

하지만 여기서 문제가 발생합니다. 더 빠른 링크의 속도가 나오게 되면 Path Cost를 소수점으로 나타내게 되는데요. IEEE에서는 이러한 현상을 방지하기 위해 각 속도마다 Path Cost 값을 정의 했습니다.

스패닝 트리를 갖는 네트워크에는 규칙이 있습니다.
네트워크당 하나의 루트 브리지(Root Bridge)를 갖는다.
루트 브릿지가 아닌 나머지 모든 브리지는(Non Root Bridge)는 무조건 하나의 루트포트(Root Port)를 갖는다.
세그먼트(Segment)당 하나의 데지그네이티드 포트(Designated Port)를 갖는다.

위에서 말한 규칙 외에도 세부적으로 스패닝 트리에서 루트브릿지, 루트포트, 데지그네이티드 포트를 결정하기 위한 규칙에 대해서 알아보도록 하겠습니다.

누가 더 작은 Root BID 가졌는지?
누가 루트브리지까지 더 작은 Path Cost를 가졌는지?
누가 더 작은 BID(Sender BID)를 가졌는지?
누구의 포트 ID가 더 낮은지?

서로 전달하기 위해 알아두어야 할것이 또! 있습니다. 바로 BPDU(Bridge Protocol Data Unit)인데요. BPDU는 Root BID, Root Path Cost, Sender BID, Port ID등이 실려 있습니다. 각 스위치(라우터도 마찬가지)는 BPDU를 통해 스패닝트리의 정보를 주고 받습니다. 위에 말한 4가지의 규칙은 어떤 BPDU가 가장 좋은 BPDU인가를 결정하는 기준이기도 합니다


루트 브릿지 선정이 끝나면 각 스위치에서 Root BID는 위와 같은 결과를 가집니다.

루트 포트 선정

루트포트는 루트브릿지에 가장 가까운 포트를 말합니다. 가장 가깝다는 기준은 무엇일까요? Path Cost가 가장 적게 드는 포트입니다.

마지막으로 스패닝 트리 프로토콜에서 루트포트나 데지그네이티드 포트가 아닌 나머지 모든 포트는 다 막아버린다는 사살입니다 즉 루트포트와 데지그네이티드 포트를 뽑는 목적은 어떤 포트를 살릴지 결정합니다

profile
안녕하세요

0개의 댓글