[Network] BPDU(Bridge Protocol Data Unit)이란?
BPDU(Bridge Protocol Data Unit)이란?
BPDU(Bridge Protocol Data Unit)는 루프 없는 구성, 스패닝 트리를 구성할 때 사용하는 이더넷 프레임입니다. 즉 스위치의 대화 수단인 것입니다. 스위치들은 BDPU를 주고받으며 서로의 우선순위를 확인하고 루트 스위치를 결정합니다. 이를 Configuration BPDU라고 합니다. 또한, 스위치 장애 혹은 스위치 간 링크 장애 발생으로 인해 네트워크에 변화가 생기면 루트 스위치에게 보고하는 경우에도 BPDU가 사용되는데 이를 TCN(Topology Change Notification) BPDU라고 합니다.
그 중에서 Configuration BPDU(이하 설명 BDPU)의 구성을 보면 다음과 같습니다.
설정 BPDU를 구성하는 다양한 정보들이 보입니다. Root Bridge ID, Path Cost, Port ID 등 경로 구성에 중요한 역할을 하는 요소들이 보입니다. 그중에서 우리가 주목해야 할 것은 'Bridge ID' 입니다. Bridge ID(이하 브리지 ID)는 각 스위치가 갖는 일련의 숫자로 스패닝 트리를 구성하고자 하는 스위치들은 이 브리지 ID의 값 크기를 비교하여 서열을 정합니다. 값은 0 ~ 32768이며 값이 작을 수록 더 높은 우선순위(서열)을 갖게 됩니다. 이 숫자는 사용자가 임의로 지정할 수 있습니다. 브리지 ID를 다시 자세히 들여다보면 다음과 같이 구성됩니다.
'MAC 주소'는 스위치의 MAC 주소를 의미 합니다. 그리고, '우선순위'는 위에서 언급한 숫자인 0 ~ 32768과 VLAN 번호를 더한 값입니다. 이 두개 값을 이용하여 브리지 ID를 생성하는 것입니다. 우선순위에 VLAN 번호를 추가로 부여하는 이유는 VLAN 별로 스패닝 트리를 구성하는 PVST(Per VLAN Spanning Tree)를 실현하기 위함입니다. VLAN 번호가 없다면 모든 VLAN이 다 같은 우선순위 값을 가질 수 밖에 없을테니 VLAN별로 우선순위를 줄 수 없어 매우 곤란해집니다. VLAN 10번의 우선순위만 바꾸고 싶은데 VLAN 20, 30의 우선순위도 함께 바뀔테니 말입니다.
BPDU(Bridge Protocol Data Unit) 타임
BPDU는 3개의 시간을 가집니다. Hello 타임(Hello time), 전달 지연 시간(Forward delay time), 최대 수명 시간(Max age time) 등이 있습니다.
1. Hello 타임(Hello time) :
- Root Bridge에 의해 보내지는 BPDU의 간격으로 2초 입니다.
2. 전달 지연 시간(Forward delay time) :
- 라우터가 브릿지 테이블을 완성하는 시간으로 15초 입니다. 전달 지연 시간은 리스닝과 학습 상태의 지속 시간이므로 각각 15초이므로 총 시간은 30초가 된다.
3. 최대 수명 시간(Max age time) :
- BPDU가 업데이트 되기 전까지 저장되는 시간으로 20초 입니다.
BPDU(Bridge Protocol Data Unit) 가드란?
BPDU(Bridge Protocol Data Unit) 가드란 BPDU 가드가 적용된 포트에서 BPDU를 수신하게 되면 해당 인터페이스를 즉시 사용 불가 상태 (Err-Disable)로 변경시키는 스위치 보호 기술 입니다. (BPDU를 수신했을 때 해당 포트를 자동으로 셧다운 시키는 기능)
BPDU 가드는 PC나 서버 등 종단장치가 접속된 포트가 BPDU를 수신했을 때 해당 포트를 차단한다. 종단장치가 접속된 포트가 BPDU를 수신한다는 것은 일반 사용자들이 무단으로 스위치에 개인의 스위치나 허브를 접속했거나, STP 관련 해킹 공격을 받고있음을 의미하는 경우가 많다.
[참고]