태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
 

 
블로그 이미지
[www.netrain.co.kr]에서 네트워크/보안을 공부하시는 분들을 위해 서비스를 제공하는 블로그입니다 승진아빠
Follow silpir  on Twitter


BPDU(Bridge Protocol Data Units) 개요

네트워크 기초 | 2010.06.28 23:14 | Posted by 승진아빠

지난주 '목요일 ~ 일요일'은 개인적으로 최악의 기간이였습니다.
아버지 자동차가 급발진해서 옆집을 들이박아 반지하로 차가 들어가는 사고가 났었습니다. 그 때문에 오늘까지 정신이 하나도 없었지요. 아버지는 많이 놀라신거 외에는 외상을 입지 않으셨지만, '급발진' 엄청나게 무섭더군요.
50년을 운전하신 분인데... 얼마나 놀라셨던지 한시간 후에 도착한 제 앞에서도 손을 부들부들 떨고 계셨습니다. 코란도가 6m 거리에서 시속 100Km 이상이 나올 수 있다는 사실... 타이어가 다 타서 미끈미끈하고 타이어 탄 자국이 선명하게 바닥에 나타나 있더군요. 주위에 계셨던 분들은 얼마나 소리가 크던지 비행기 지나가는줄 알았답니다.
여러분도 급발진같은 사고를 미리 미리 예방할 수 있도록 차량 점검 잘 하세요.
사람이 아무도 다치지 않았다는 사실에 너무 감사하며, 이제야 숨을 좀 돌리고 글을 씁니다.

그리고, 저희 교육센터에서 CCIE 시험을 보신 2분이 모두 낙방을 하셨습니다. R&S 시험을 보신 분은 제가 양해를 구하고 간단한 후기를 올려놨으며, SP 시험은 올리지 않았습니다. SP는 정말 작은 실수로 불합격 하신 것으로 보입니다.

두분 모두 자신감을 가지고 바로 시험을 등록하겠다고 하시니, 다음에는 좋은 결과가 나오리라 확신합니다.

오늘은 BPDU에 대해서 학습해 보도록 하겠습니다. 저번 시간에 Root를 뽑기위해 BridgeID를 비교한다고 말씀드렸는데, 상대방의 BridgeID를 어떻게 알 수 있을까요? 그 역할을 수행하는 것이 BPDU라는 놈입니다.

BPDU는 Switch가 2초마다 전송하며 다음과 같은 구조로 되어 있습니다.



하나씩 살펴보도록 할까요?

■ Protocol ID

처음 만들때 많은 용도로 사용하려고 했었나 봅니다. 하지만, 아직까지 다른 것들은 사용되지 않고 모두 '0'으로 설정된 값만 사용합니다.

■ Version

Spanning-Tree Protocol의 Version을 나타냅니다. 값은 다음과 같으며 희안하게 0X01은 없군요.
- 0X00 = STP
- 0X02 = RSTP
- 0X03 = MSTP
상대방의 Version 정보를 받고 상대방과 어떻게 통신을 해야하는지를 판단합니다. 당연히 낮은 Version을 사용한다면 동작을 낮은 Version으로 맞추어야 겠지요. RSTP를 돌리고 있는 장비에서 'show spanning-tree'를 하면 직접 연결된 Switch중 STP가 동작하고 있는 Switch를 표시하여 줍니다. 이 부분은 나중에 학습하도록 하겠습니다.

■ Message type

BPDU의 두가지 Type을 정의합니다.
- 0X00 = Configuration BPDU
- 0X80 = TCN(Topology Change Notification) BPDU
이 두가지 Type은 반드시 아셔야 하는 거죠! 하루 날잡아서 학습해 보도록 하겠습니다. ^^

■ Flags

Topology가 변할 때, 상태 정보를 전달하기 위한 값들이 표시됩니다. 휴~ STP는 알아야 하는 것도 많군요. 이 부분은 RSTP를 할 때 자세하게 알아보도록 하겠습니다.

■ Root BridgeID

Root의 BridgeID 정보를 담아서 보냅니다. 이 정보가 있어야 Root의 BridgeID 보다 더 좋은 놈이 나와야 덤비지 않겠습니까? 그렇지 않으면 개나소나 싸워보려할테니 문제가 되겠죠!

■ Root Path Cost

누가 Root와 더 가까운지 싸울때 사용합니다. 자기가 짱이 못되면 짱하고 친한척이라도 해야죠. ^^

■ Sender BridgeID

짱하고 한명은 고딩친구고, 한명은 대딩친구면 고딩친구가 이기겠지만, 둘다 고딩친구군요. 그러면 이제는 할 수 없습니다. 둘이 싸워야지요. 자기들만의 대장을 뽑습니다. 화해하면 Looping 돌아요. 큰일납니다.

■ Port ID

왜 Port ID를 전달하는 걸까요? 쉽게 생각하시면 됩니다. 두대의 Switch간에 Cable을 2개 연결할 경우에도 작은 Looping이 발생하겠죠? 그때 낮은 Port ID를 선택하라고 정보를 보내주는 것입니다.

■ Message Age

Root가 해당 BPDU를 만든지 얼마나 지났는지 표시를 합니다. 이 시간이 Max age와 동일해지면 이 BPDU는 사라지게 됩니다. 생명주기 카운트다운이군요.

■ MAX age

BPDU의 생명시간입니다. Default로는 20초로 되어 있습니다.

■ Hello Time

얼마에 한번씩 BPDU를 보낼것인지 Root가 결정을 해서 보내줍니다. Default는 2초로 되어 있습니다.

■ Forwarding Delay

나중에 배우시겠지만, STP는 Block 상태에서 Forwarding이 되는데 Listening, Learning 단계를 거치게 됩니다. 그때, Listening, Learning 단계를 얼마동안 수행하고 다음 단계로 전달될 것인지를 결정하는 시간입니다.

휴~ BPDU 내용을 대충 설명했는데도 내용이 꽤 되는군요. 각각의 역할과 세부내용을 내일부터 공부해 보도록 하시죠. 오늘은 여기서 줄여야 되겠습니다. 퇴근하자고 난리네요. ^^


'네트워크 기초' 카테고리의 다른 글

TCN BPDU는 왜 필요한가?  (2) 2010.07.05
Configuration BPDU 동작원리  (1) 2010.06.29
BPDU(Bridge Protocol Data Units) 개요  (3) 2010.06.28
STP는 기준점이 있어야 한다!  (1) 2010.06.23
Spanning-Tree Protocol은 왜 필요한가?  (1) 2010.06.22
VTP mode의 이해  (0) 2010.05.20