BPDU(Bridge Protocol Data Unit)
BPDU(Bridge Protocol Data Unit)
BPDU 란?
Switch간 연결링크가 확립이 되면 송/수신 되는 STP의 정보데이터이다. (종류: Configuration BPDU / TCN BPDU)
ex) BPDU가 한 군데로 들어오면 경로가 1개, 두 군데로 들어오면 경로가 2개다.
STP에서 Root-Bridge를 선출하기 위해선 Bridge-ID를 비교한다고 했는데, 상대방의 Bridge-ID를 어떻게 알 수 있을까?
바로 그 역할을 수행하는 것이 BPDU라는 Frame데이터이다.
BPDU의 간단 구조
사진과 같이 BPDU의 구조는
Protocol ID, Version, Message Type, Flags, Root ID, Path Cost, Bridge ID, Port ID, Message Age,
그리고 세 개의 Time( Maximum Age, Hello Time, Forwarding Delay )으로 되어있다.
Time
Hello Time : root-bridge에 의해 보내지는 bpdu의 간격 ( 2sec )
Forward delay time : Router가 Bridge Table을 완성하는 시간 ( 리스닝, 학습 상태 각각 15sec, 총 30sec )
Max age time : BPDU가 업데이트되기 전까지 저장되는 시간 ( 20sec )
웬만한 네트워크 엔지니어들은 STP구조에서 발생하는 공격, 오류로 부터 최대한 안전해지고자 STP 조정/보호기술을 적용한다.
STP 조정/보호 기술
BPDU Guard
-
포트를 통해서 BPDU를 수신했을 때 해당포트를 자동으로 Shutdown 시켜버린다. ( 주로 종단장치 포트에 설정됨 )
-
우선 정상적인 경우, 종단장치와 연결된 포트는 BPDU가 송신될 필요가 없다. 그리고 같은 이유로도 수신 될 필요가 없다.
만약 BPDU가 해당 포트로 송, 수신이 된다는 것은 허가되지 않은 스위치, 허브 연결 또는 STP관련 해킹 공격 암시를 의미함.
BPDU Filtering
-
포트에 BPDU를 송/수신 하지 않도록 설정하는 기능이다.
-
주로 BPDU를 송/수신 할 필요성이 없다고 판단되는 장비에 쓸데없는 이유로 부하가 걸리지 않도록 하는데 목적을 둠.
Loop Guard
-
STP구조에서의 BPDU수신으로 차단상태로 된 포트에서 자동으로 전송상태가 되는 것을 방지한다.
-
STP구조에서 이미 차단상태가 되어버린 포트에서 상대 포트에게 일정시간 이상( 기본 50sec ) BPDU를 받지 못하면,
차단상태에서 전송상태로 자동 변경된다. 이럴 경우, Looping 현상이 발생하여 그 것을 방지하기 위해 설정.