BPDU (Bridge Protocol Data Units)
위 규칙에 따라 STP를 만들기 위해서는 전체 네트워크에 대한 정보를 알아야 한다. 그리고 각각의 스위치가 충분한 정보를 가질 수 있도록 BPDU라고 불리는 특별한 데이터 프레임을 사용하여 브리지ID와 루트경로에 대한 정보를 교환한다. BPDU의 목적지주소는 멀티캐스트 주소인 0180.C200.0000을 사용한다.
BPDU의 종류로는 Configuration BPDU, TCN BPDU 두 가지가 있다.
CBPDU (Configuration BPDU)
루트브리지를 선출하고 각종 포트를 선정하는데 필요한 정보들을 담고 있다. 루트브리지로부터 시작해 다른 스위치로 전달된다.
TCN(Topology Change Notification) BPDU
망 토폴로지의 변경을 알리는 BPDU.
Non-Root브리지에 의해 망에 퍼지게 되며 루트로 전달된다. TCN을 수신한 루트스위치는 일반 BPDU안에 TCN플래그를 설정하여 전달하고, 이는 다른 스위치의 테이블 엔트리를 오래된 것으로 만든다. 스위치의 Mac테이블의 주소는 5분간 저장이 되어있는데 TCN을 받으면 15초로 단축되어 토폴로지 변화에 영향을 받는 주소들이 빠르게 제거될 수 있다.
BPDU 상세내용
- BPDU의 총 길이는 35Byte 이지만 RSTP는 마지막에 Version 1 length가 추가되어 36Byte이다.
Byte |
Field |
내 용 |
2 |
Protocol ID |
항상 0 |
1 |
Version |
BPDU의 버전 (STP:0, RSTP:2, MSTP:3) 1(0x01)은 따로 없음 |
1 |
Message type |
BPDU 종류 0x00 : Configuration BPDU, 0x80 TCN |
1 |
Flags |
*아래 따로 설명 |
8 |
Root ID |
Root 의 ID * Root 선출 전엔 자신의 B-ID를 넣어 전달한다 |
4 |
Cost of path |
Root 까지의 path cost * 초기엔 0, 들어온 인터페이스의 cost를 더해 전달함 |
8 |
Bridge ID |
해당 스위치의 B-ID값 |
2 |
Port ID |
포트 ID * 낮은 Port-ID를 선택하기 위해 포함하는 정보 |
2 |
Message age |
: Root 까지의 스위치 수 Root Bridge에서 생성된 경우 0을 갖는다 Designated Bridge들에 의해 한 hop마다 증가 Root로부터 새로받지 않아도 브리지 내에서 자체적으로 증가 |
2 |
Max age |
: BPDU 정보를 저장하여 유지하는 시간 CBPDU에 의해 전달된 STP 정보의 만료값 Root Bridge의 Max-age값이 실려진다 Message Age가 이 수치에 도달하면 효력이 사라진다 |
2 |
Hello time |
: BPDU 전송 주기 Root Bridge의 Hello Time 값이 사용된다 Root Bridge는 매 Hello time마다 CBPDU를 생성해 브로드캐스트한다 |
2 |
Forward delay |
Listening, Learning의 대기시간 |
* Flag
Bit 번호 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
기능 |
TC |
제안 |
포트역할 |
학습 |
전송 |
동의 |
TCA |
1. TC (Topology Change) : 토폴로지가 변화되었음을 알릴 때 사용한다 (TCN)
2. 제안 : BPDU를 전송하는 포트가 지정포트(designated port)로 동작하겠다는 것을 제안할 때 사용
3. 포트역할 : 00(미정), 01(non-designated port), 10(root-port), 11(designated port)
4. 학습 : Learning 상태임을 표시
5. 전송 : Forwarding 상태임을 표시
6. 동의 : 상대측 포트가 보낸 제안 BPDU를 동의하며, 자신이 Root-port로 동작하겠다는 것을 뜻함
7. TCA : TCN-BPDU를 수신했음을 알릴 때 사용
** STP는 flag중에 1,7번만 사용한다.
** RSTP는 TCN, TCA를 사용하지 않지만 STP가 동작하는 스위치와 호환성을 위해 사용하기도 한다.
'Switch' 카테고리의 다른 글
[Config] STP Convergence Time 조정 (1) | 2014.09.25 |
---|---|
STP의 Blocking port 선출과정 (1) | 2014.08.21 |
Switch의 Loop방지기술 - STP (2) | 2014.08.21 |
[Config] VLAN 설정 (0) | 2014.03.04 |
[Config] Switch 장비 기본 설정 (0) | 2014.02.28 |