Part 06. 스위치를 켜라!
* 스패닝 트리 알고리즘(Spanning
Tree Protocol : STP)
스위치나 브리지에서 발생하는 루핑을 막아주기 위한 프로토콜.
* 브리지 ID(Bridge ID
: Bridge Identification)
: 브리지나 스위치들이 통신할 때 서로를 확인하기 위해 하나씩 가지고 있는 번호. 16
16비트의 브리지 우선순위(Bridge Priority 1)와 48비트의 맥 어드레스로 만들어진다. > 이것이 Bridge ID
* Patch Cost (p182 대역폭에
따른 STP Cost)
: 브리지가 얼마나 가까이, 그리고 빠른 링크로 연결되어 있는지를 알아내기 위한 값. 링크의 속도(대역폭)가
빠르면 빠를수록 더 작은 값.
> 링크 속도가 빠르면 그만큼 빨리 도착 > Path Cost↓
* 스패닝 트리의 규칙
1. 네트워크당 하나의 루트
브리지(Root Bridge) 2를 갖는다.
à
네트워크는 스위치나 브리지로 구성된 하나의 네트워크. 즉, 라우터에 의해 나누어지는 브로드캐스트 도메인이 아니라 하나의 네트워크.
하나의 브로드캐스트 도메인에 하나씩의 루트 브리지가 있는 것.
2. 루트 브리지가 아닌 나머지 모든(non Root Bridge)는 무조건 하나씩의 루트 포트 3 (Root Port)를 갖는다.
3. 세그먼트 4(Segment)당 하나씩의 Designated Port(데지그네이티드 포트)를 갖는다.
>> 스패닝 트리 프로토콜에서 루트 포트나 Designated Port가 아닌 나머지 포트는 다 막는다.
* Root Bridge, Root Port, Designated Port 정하기.
1. 더 작은 Root BID 정하기 >> Root
Bridge 선정
2. Root Bridge 까지의 Path Cost값이 더 작은 것 고르기 >> Non-Root Birdge들의 Root Port 선정.
3. 누구의 BID(Sender BID)가 더 낮은지 고르기
4. 누구의 Port ID가 더 낮은지 고르기
* BPDU (Bridge Protocol Data Unit)
: 스패닝 트리 정보를 브리지끼리 주고받기 위해서 사용하는 특수한 프레임.
Root Bridge의 BID인 Root BID //
Root Bridge까지 가는 경로값인 Root Path Cost // 보내는 Bridge의 BID인 Sender
BID
어떤 포트에서 보냈는지를 알게 해주는 Port ID 정보 등이 실려 있음.
브리지나 스위치가 부팅을 하면 이들은 각각의 포트로 BPDU를 매 2초마다 내보내면서 서로의 스패닝 트리 정보를 주고받게 됨.
* Root Bridge 선정
>> 가장 작은 BID를 가진 스위치가 Root
Bridge가 된다.
Ex) 3대의 스위치(스위치 A, 스위치B, 스위치C)로 이루어진 네트워크가 있다고 가정.
스위치 A의 BID는 32768.1111.1111.1111 / 스위치 B의 BID 32768.2222.2222.2222 / 스위치 C의 BID 32678.3333.3333.3333 이라고 가정.
> 스위치 B와 C가 부팅하면 서로 BPDU를 주고 받게 됨. 첫 BPDU에는
Sender BID와 Root Bridge BID에 자신의
BID를 삽입.
> 스위치 B가 Root Bridge가
됨.
> 스위치 A가 부팅하면 다시 스위치 A – 스위치 B, 스위치 A – 스위치 C 사이에
BPDU를 보내게 됨.
이때 스위치 A가 보내는 BPDU에서 Root Bridge는 스위치 A로, 스위치 B,C에서 보내는 BPDU에서 Root Bridge는 스위치 B로 되어있음.
> 스위치 A가 Root Bridge가
되고 스위치 A,B,C가 보내는 BPDU에는 Root Bridge엔 스위치 A가 있음.
* Root Port 선정
>> Root Bridge에서의 Root Path Cost는 0.
* Designated Port 선정
>> 브리지와 브리지로 연결된 세그먼트당 각각 한 개의 Designated Port를
뽑아야 함.
Segment 상에서 Root Path Cost를
비교하여 더 작은 Root Path Cost를 가진 포트가 Designated
Port.
>>> Segment에서 연결되어 있는 포트
중 작은게 Designated Port가 되는 것.
> Root Bridge/의 포트들은 모두 Root Path Cost가 0 이므로 모두 Desiganted Port가 됨.
>>>> Root Path Cost가 같은
포트끼리는 누구의 Sender ID가 낮은지에 따라 결정.
* 스패닝 트리 프로토콜의 상태변화
1. Disabled : Port가 사용 불가능하거나, 네트워크 관리자가 Port를 ShutDown시켜 놓은 상태.
2. Blocking : 스위치를 처음 부팅하거나, 관리자가 Disabled된 Port를
다시 살렸을 때의 상태.
> 데이터 전송 X. MAC Address 못 배움.
BPDU 주고받기 O
3. Listening : Bloking상태 였던 Port가 Root port나 Designated
port로 선정 되었을 때의 상태.
> 데이터 전송 X. MAC Address 못 배움.
BPDU 주고받기 O
4. Learning
: Listening상태 였던 Port가 Forwarding
Delay 디폴트 시간인 15초동안 같은 상태를 유지했을 때의 상태.
> 데이터 전송 X. MAC Address 배움 5. BPDU 주고받기 O.
5. Forwarding
: Learning상태 였던 Port가 다시 Forwarding
Delay 디폴트 시간동안 같은 상태를 유지했을 때의 상태.
> 데이터 전송 O. MAC Address 배움.
BPDU 주고받기 O.
>> 3,4,5 상태의 Port도 Root Port나 Designated Port에서 탈락 시, Blocking 상태로 넘어 감.
* 스패닝 트리관련 용어
1. Hello Time : Root Bridge가 한 번씩 헬로BPDU를 보내는지에 대한 시간. (Default 2초)
2. Max Age : Bridge들이 Root Bridge로부터 Hello Packet을 못 했을 때,
못 받기 시작한 시간부터 새로운 스패닝 트리로 만들기 위해 변경을 시작할 때 까지의 시간. (Default 20초)
3. Forwarding Delay
* 새로운
스패닝 트리로의 전환
1. Root Bridge인 스위치 A와 스위치 C 간의
링크에 문제가 생겨 링크가 절단.
2. 스위치 C가 Root Bridge로부터
20초동안 Hello Packet을 못 받음.
3. 스위치 B가 Root Port를 통해 받은
Hello Port를 Designated Port를 통해
스위치 C에게 전달.
4. 스위치 C의 Port는 현재 Bloking상태에서 BPDU를 받게됨.
5. 스위치 C의 Bloking 상태의 Port가 Root Port로 변경.
(30초 소요)
>>
링크가 하나 끊어진 후 다른 경로를 살리는데 대략 50초 소요
>> 이를 개선하기 위해 RSTP, Port fast, Up-link Fast, Backbone Fast등의 해결책 등장.
* PoE
(Power over Ethernet) : 이더넷 케이블 위에 데이터와 전원 까지 같이 실어 보내는 것.
> IP 전화기, AP(Access Point) 무선랜 장비, IP 감시카메라 등에 사용.
'IT > Network' 카테고리의 다른 글
[후니의 쉽게 쓴 시스코 네트워킹] Part 07. (0) | 2019.04.13 |
---|---|
[후니의 쉽게 쓴 시스코 네트워킹] Part 06. (0) | 2019.04.07 |
[후니의 쉽게 쓴 시스코 네트워킹] Part 05. (0) | 2019.03.30 |
[후니의 쉽게 쓴 시스코 네트워킹] Part 03. - Part 04. (0) | 2019.03.22 |
[후니의 쉽게 쓴 시스코 네트워킹] Part 01. - Part 02. (0) | 2019.03.22 |