2012년 1월 29일 일요일

25. 스위치 STP설정

** 스위치와 브릿지

1. 스패닝트리 알고리즘
- 스위치들끼리 한 개이상의 경로가 존재할 때 발생하는 루핑을 막아주기 위한 프로토콜이다
- 여러 경로중에 최단거리(최우선 경로)를 사용하고 다른 경로는 막아두었다가 경로에 문제가 발생하면 차선경로를 살린다
- 전체 연결경로의 cost값을 더해서 계산 후 가장 작은 값의 경로를 제외하고 모두 절단하는 방식, 그런데 최우선 경로의 장애가 있으면 차선의 경로를 연다. 여기서 루트 스위치를 선출하여 관리한다

2. 브리지 ID와 Path cost
- 브리지 ID : 총 8바이트(64비트)로 되어있는데 앞 2바이트(16비트)가 브리지우선순위(bridge priority)이고 뒤 6바이트(48비트)가 맥 어드레스로 이루어져 있다. 브리지우선순위는 0~65535가 올수 있는데 기본값으로 중간에 해당하는 32768을 사용한다
- 경로 값(path cost) : 대역폭에 따라 stp cost(=path cost)를 이용하여 최우선 경로를 계산한다
---------------------------------------
bandwidth(대역폭) STP cost(path cost)
10Gbps : 2
1Gbps : 4
622Mbps : 6
155Mbps : 14
100Mbps : 19
45Mbps : 39
16Mbps : 62
10Mbps : 100
4Mbps : 250
---------------------------------------

3. 스패닝 트리의 특징
1) 네트워크당 하나의 루트 브리지(Root Bridge)를 갖는다
- 브리지 ID를 이용하여 대장 브리지를 선출한다

2) 루트 브리지가 아닌 나머지 모든 브리지는 무조건 하나씩의 루트 포트를 갖는다
- 루트 브리지가 아닌 Non root bridge는 루트 포트를 갖는다. 여기서 루트 포트는 루트 브리지로 가는 가장 빠른 경로를 의미하는데 path cost를 이용하여 경로를 선택한다

3) 세그먼트(콜리전도메인)당 하나씩의 데지그네이티드 포트(Designated Port)를 갖는다
- 루트 브리지에 연결된 포트는 데이그네이트드 포트가 되는데, 즉 루트 브리지 각 포트마다 연결된 다른 브리지들이 연결되있는 포트는 지정포트로 고정이 된다

<참고>
스패닝 트리 프로토콜은 루트 포트나 데지그네이티드 포트가 아닌 나머지 모든 포트는 다 막아버린다. 즉 루트와 데지그네이티드 포트를 뽑는 목적은 어떤 포트를 살릴지 결정하기 위한 것이다.

4. 루트스위치를 뽑는 순서
1) 누가 더 작은 루트 BID를 가졌는가
2) 루트 브리지까지의 path cost값은 누가 더 작은가
3) 누구의 BID(Sender BID)가 더 낮은가
4) 누구의 포트 ID가 더 낮은가

<참고>
- 브리지는 스패닝 트리 정보를 주고 받는데 특수한 프레임을 사용하는데 이를 BPDU(bridge protocol data unit)라고 한다
- BPDU신호를 2초마다 broadcast로 신호를 교환한다

<참고> 비교
- 라우터의 OSPF : 대장 라우터와 부대장라우터를 선출하고 나면 고정이 된다. 문제가 있을시만 부대장이 대장라우터가 되는 구조이다
- 스위치의 STP : 대장 스위치를 선출하고 2초마다 신호를 교환하고 변화가 생기면 값을 따져서 대장스위치를 계속 선출한다. 수시로 바뀔수 있다.

5. 스패닝트리 프로토콜의 5가지 상태변화
1) disabled : 포트불량, 포트 shutdown상태
- 데이터전송 x, 맥어드레스 학습 x, BPDU신호교환 x

2) blocking : 전원 on, 포트 no shutdown상태, 블로킹 상태, 루트 브리지 선출과정
- 데이터전송 x, 맥어드레스 학습 x, BPDU신호교환 o

3) listening : 각 포트별 루트와 데지그네이티드 포트로 선정, 리스닝 상태
- 데이터전송 x, 맥어드레스 학습 x, BPDU신호교환 o

4) learning : 리스닝 상태에 있던 포트가 포워딩 딜레이 디폴트 시간인 15초동안 유지하면 러닝상태
- 데이터전송 x, 맥어드레스 학습 o, BPDU신호교환 o

5) forwarding : 러닝 상태에서 포워딩 상태 딜레이 디폴트 시간인 15초동안 유지하면 포워딩 상태
- 데이터전송 o, 맥어드레스 학습 o, BPDU신호교환 o

<참고>
disabled --------> blocking --------> listening --------> learning --------> forwarding
20초 15초 15초
- 일반적인 802.1d로 정의 되있는 STP는 50초의 수렴시간(convergence time) 걸린다, 그래서 개선한 프로토콜로서 802.1w로 정의 한 RSTP(Rapid Spanning Tree Protocol)는 3초의 수렴시간이 걸린다
- 최신의 스위치는 RSTP을 지원하지만 기본값은 비활성화 되어있다. 이유는 구식 장비와 신식 장비간에 프로토콜이 맞지 않으면 작동하지 않기 때문이다.
- RSTP 구성방법을 알아둘것

6. STP(Spanning Tree Protocol)의 동작
- 기본적으로 스위치들끼리 물리적으로 연결을 하면 위와 같이 스패닝 트리 프로토콜이 작동하여 자동으로 5가지의 상태변화를 갖고 대기 상태가 된다. 그런데 특정한 스위치를 루트 브리지로 만들고 싶다면 아래와 같이 설정한다

sw-b(config)#spanning-tree ? -> 메뉴중에 하나를 선택한다
mode Spanning tree operating mode
portfast Spanning tree portfast options
vlan VLAN Switch Spanning Tree
sw-b(config)#spanning-tree vlan ? -> 바꾸고자 하는 vlan 번호를 입력한다(기본적으로 vlan 1이다)
WORD vlan range, example: 1,3-5,7,9-11
sw-b(config)#spanning-tree vlan 1 ? -> 브리지의 BID 값을 임의설정한다
priority Set the bridge priority for the spanning tree
root Configure switch as root
<cr>
sw-b(config)#spanning-tree vlan 1 priority 8192 ? -> 디폴트 값은 32768을 사용하지만 이보다 낮춘다
<cr>
sw-b(config)#spanning-tree vlan 1 priority 8192
sw-b(config)#
sw-b#show spanning-tree -> 설정완료 후 이 명령으로 자신 스위치의 상태를 점검
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 8193
Address 0060.5C44.191C
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 8193 (priority 8192 sys-id-ext 1)
Address 0060.5C44.191C
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p -> 물리적으로 연결되있는 포트의 상태확인가능(지정된 상태)
Fa0/2 Desg FWD 19 128.2 P2p
sw-b#show cdp neighbors -> 이 명령으로 물리적으로 직접연결되어 있는 장비들을 확인 가능
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
sw-a Fas 0/1 168 S 2950 Fas 0/1
sw-c Fas 0/2 173 S 2950 Fas 0/2

<참고>
PoE (Power of Ethernet) : 동시에 전원을 공급하고 데이터를 전송할수 있는 기술이다. 누군가의 노력으로 이 기술이 탄생하였지만 그 기술을 시기하고 빼앗으려는 무리들에 의해서 그 사람은 이슬로 사라졌다는 슬픈전설이 있다. 일각에서는 그 무리들이 삼류전자와 쥔돼쥐라는 인물이 서로 결탁하여 그 기술을 뺏으려고 개발자의 회사를 문닫게하고 삶을 살아갈수 없을 정도로 악날하게 괴롭혀서 그 개발자는 끝내 목숨을 끊었다는 설도 있다. 이것이 정말 사실이라면 참담한 현실이다... 씁쓸하다, 그리고 이 기술뿐만이 아니라는 것이 실로 경악하지 않을 수 없다.

<참고>
맥 어드레스 저장은 맥어드레스 테이블에 저장 되는데 맥주소와 접속되있는 포트를 매칭하고 300초가 지나도록 사용하지 않으면 맥 테이블을 지운다

댓글 1개: