IT/Network

[후니의 쉽게 쓴 시스코 네트워킹] Part 06.

Hodie! 2019. 3. 31. 21:52
반응형

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
BIDRoot BID // Root Bridge까지 가는 경로값인 Root Path Cost // 보내는 BridgeBIDSender BID 

어떤 포트에서 보냈는지를 알게 해주는 Port ID 정보 등이 실려 있음.
브리지나 스위치가 부팅을 하면 이들은 각각의 포트로 BPDU를 매 2초마다 내보내면서 서로의 스패닝 트리 정보를 주고받게 됨.


* Root Bridge 선정
>>
가장 작은 BID를 가진 스위치가 Root Bridge가 된다.

Ex) 3대의 스위치(스위치 A, 스위치B, 스위치C)로 이루어진 네트워크가 있다고 가정

스위치 ABID32768.1111.1111.1111 / 스위치 BBID 32768.2222.2222.2222 / 스위치 CBID 32678.3333.3333.3333 이라고 가정.

> 스위치 BC가 부팅하면 서로 BPDU를 주고 받게 됨. BPDU에는 Sender BIDRoot Bridge BID에 자신의 BID를 삽입.
>
스위치 BRoot Bridge가 됨.
>
스위치 A가 부팅하면 다시 스위치 A – 스위치 B, 스위치 A – 스위치 C 사이에 BPDU를 보내게 됨

이때 스위치 A가 보내는 BPDU에서 Root Bridge는 스위치 A, 스위치 B,C에서 보내는 BPDU에서 Root Bridge는 스위치 B로 되어있음.


>
스위치 ARoot Bridge가 되고 스위치 A,B,C가 보내는 BPDU에는 Root Bridge엔 스위치 A가 있음.


* Root Port 선정
>> Root Bridge
에서의 Root Path Cost0.

* Designated Port 선정
>>
브리지와 브리지로 연결된 세그먼트당 각각 한 개의 Designated Port를 뽑아야 함

Segment 상에서 Root Path Cost를 비교하여 더 작은 Root Path Cost를 가진 포트가 Designated Port.
 >>> Segment
에서 연결되어 있는 포트 중 작은게 Designated Port가 되는 것.
> Root Bridge/
의 포트들은 모두 Root Path Cost0 이므로 모두 Desiganted Port가 됨.
 >>>> Root Path Cost
가 같은 포트끼리는 누구의 Sender ID가 낮은지에 따라 결정.


* 스패닝 트리 프로토콜의 상태변화

1. Disabled : Port가 사용 불가능하거나, 네트워크 관리자가 PortShutDown시켜 놓은 상태.

2. Blocking : 스위치를 처음 부팅하거나, 관리자가 DisabledPort를 다시 살렸을 때의 상태.
>
데이터 전송 X. MAC Address 못 배움. BPDU 주고받기 O

3. Listening : Bloking상태 였던 PortRoot portDesignated port로 선정 되었을 때의 상태.
>
데이터 전송 X. MAC Address 못 배움. BPDU 주고받기 O

4. Learning : Listening상태 였던 PortForwarding Delay 디폴트 시간인 15초동안 같은 상태를 유지했을 때의 상태.
>
데이터 전송 X. MAC Address 배움[각주:5]. BPDU 주고받기 O.

5. Forwarding : Learning상태 였던 Port가 다시 Forwarding Delay 디폴트 시간동안 같은 상태를 유지했을 때의 상태.
>
데이터 전송 O. MAC Address 배움. BPDU 주고받기 O.

>> 3,4,5 상태의 PortRoot PortDesignated 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.
스위치 CRoot Bridge로부터 20초동안 Hello Packet을 못 받음.
3.
스위치 BRoot Port를 통해 받은 Hello PortDesignated Port를 통해 스위치 C에게 전달.
4.
스위치 CPort는 현재 Bloking상태에서 BPDU를 받게됨.
5.
스위치 CBloking 상태의 PortRoot Port로 변경. (30초 소요)

>> 링크가 하나 끊어진 후 다른 경로를 살리는데 대략 50초 소요
 >>
이를 개선하기 위해 RSTP, Port fast, Up-link Fast, Backbone Fast등의 해결책 등장.

* PoE (Power over Ethernet) : 이더넷 케이블 위에 데이터와 전원 까지 같이 실어 보내는 것.
> IP
전화기, AP(Access Point) 무선랜 장비, IP 감시카메라 등에 사용.

  1. 0부터 2^16 -1. Default값 32768. [본문으로]
  2. 대장 브리지. 스패닝 트리 프로토콜을 수행할 때, 기준이 되는 브리지(스위치). [본문으로]
  3. 루트 브리지에 가장 빨리 갈 수 있는 포트. 즉, 루트 브리지쪽에 가장 가까운 포트. [본문으로]
  4. 브리지 또는 스위치 간에 서로 연결된 링크. 브리지나 스위치가 서로 연결되어 있을 때, 이 세그먼트에서 한포트는 반드시 Designated Port로 선출 되어야 함. [본문으로]
  5. MAC Address Table을 만들기 시작. [본문으로]
반응형