본문 바로가기
IT Network System/Network

Network Basic (10편 : Spanning tree Protocol)

by Skills 2021. 2. 23.
728x90

1) Radundant Topology

- 링크 이중화는 한 지점에서의 장애로 인해 네트워크 기능 상실을 방지한다.

- 링크 이중화는 Broadcast Storm, Multiple frame 복사, MAC Address Table 불안정성 문제가 발생한다.

 

2) Radundant Topology의 문제점

① Broadcast Storms

- Host X가 Broadcast를 보내면 양쪽 스위치로 전달이 된다. (이더넷 특성상 같은 세그먼트에 있는 모든 네트워크 장비에 브로드캐스트가 전달됨)

- 스위치는 이 패킷을 분석해서 이 패킷이 브로드캐스트라는 걸 알아낸 스위치는 Flooding을 한다.

 

- 그럼 상대방쪽 세그먼트로 브로드캐스트 패킷이 보내진다.

- 그 다음엔 반대쪽으로 건너간 브로드캐스트 패킷은 다시 양쪽 스위치의 아래쪽 포트로 전달되고 이 패킷 역시 스위치 특성에 따라 다시 위로 전달된다.

- 이 과정이 반복하여 한 번 발생한 브로드캐스트 패킷이 양쪽 스위치를 통해 네트워크를 계속 뱅뱅 돌게 되는 루핑이 발생하게 된다. (CSMA/CD 특성상 루핑이 발생하면 다른 데이터를 전송할 수 없음)

 

② Multiple Frame Copies

- Host X가 Unicast Frame을 Router Y로 보낸다.

- Router Y와 Switch A는 Frame을 받게 된다.

 

- Switch A는 MAC Table에 Host X에 대한 MAC Address가 없기 때문에 Flooding 한다.

- Switch A로 부터 Flooding된 Frame을 Switch B가 받아 다시 Flooding 한다.

- Router Y는 복사된 동일한 Frame을 다시 받게 된다.

 

③ MAC Database Instability

- Host X가 Router Y에게 Unicast Frame을 보낸다.

- 아직 Router Y에 MAC Address를 학습한 Switch가 없다.

- Switch A와 Switch B는 Port 0에 Host X에 MAC Address를 학습한다.

- 두 Switch에서 Router Y로 가는 Frame이 Flooding 된다.

- Switch A와 Switch B가 Port 1에서 Host X에 MAC Address를 부정확하게 학습한다.

 

3) Spanning Tree Protocol

- 단일 경로로 구성할 경우 경로에 이상이 발생하면 통신이 이뤄지지 않는다.

- 그럴 경우를 대비해 이중화 경로로 구성.

- 하지만 다중 경로를 Ring 구조로 구성할 경우에는 Looping 등의 문제 발생.

→ 이러한 문제들을 해결하기 위해 STP(Spanning Tree Protocol)이 활성화되어 있다.

다중화로 구성된 스위치에서 Looping 발생을 방지하기 위해 하나의 경로를 제외하고 나머지 경로들을 차단햇다가 사용되던 경로에 이상이 발생했을 경우 차단됐던 경로를 사용하는 알고리즘

 

4) STP 규칙

- 네트워크당 하나의 루트 브리지(Root Bridge)를 갖는다.

- 루트 브리지가 아닌 나머지 모든 브리지(Non Root Bridge)는 무조건 하나씩 루트 포트(Root Port)를 갖는다.

- 세그먼트(Segment)당 하나씩의 데지그네이티드 포트(Designated Port)를 갖는다.

- Root 포트와 Designated 포트가 아닌 포트는 alternate 포트로 선택되고, Block 상태를 유지한다.

 

5) BPDU(Bridge Protocol Data Unit)

- 스패닝 트리 정보를 자기들끼리 주고받기 위해서 특수한 프레임을 사용하는데 이를 BPDU라고 한다.

- 스패닝 트리 정보를 실어 나르는 BPDU에는 루트 브리지의 BID인 Root BID, 루트 브리지까지 가는 경로값인 Root Path Cost, 보내는 브리지의 BID인 Sender BID, 그리고 어떤 포트에서 보냈는지를 알게 해주는 Port ID 정보 등이 실려있다.

- Switch는 서로 BPDU를 교환해서 BPDU의 내용을 바탕으로 Looping없는 논리적인 경로를 구성한다.

 

 Bridge ID

- 브리지나 스위치가 통신을 할 때 하나씩 가지고 있는 ID

- Bridge ID가 가장 낮은 스위치가 Root switch로 선출된다.

- Bridge ID 2Byte Bridge Priority(우선순위) 6Byte MAC address로 구성. Bridge Priority default 값은 32768 이다.

- BPDU는 기본 값으로 2초마다 한번 씩 보낸다.

 

 Path cost(경로 값)

- 다른 switch와 연결된 link가 어떤 속도로 연결되는지 알아내기 위한 값.

- IEEE가 미리 정한 값 사용

- BPDU에서 사용되는 Path cost는 해당 switch에서 Root 스위치까지의 경로를 합한 값이다.

 

 Port ID

- BPDU를 전송하는 스위치의 port 우선순위와 port 번호로 구성(기본 값 128)

 

6) BPDU의 종류

configuration BPDU

- Switchconfiguration BPDU를 이용하여 루트 스위치를 선출하고 각 스위치 포트 역할 지정

- configuration BPDURoot Switch가 만들고 다른 Switch들은 수신한 BPDU를 다음 Switch로 중계

 

TCN BPDU

- Switch가 연결된 LInk에 변화가 생겼을 때 이것을 Root Switch에게 알리기 위해서 사용한다.

 

설정 BPDU

- 필드중에서 switch 네트워크의 논리적인 토폴로지를 경정하기 위해 Bridge ID, Path cost, Port ID 값을 사용한다.

 

7) Spanning-Tree Operations

(1) Root Port 선출

- Root 스위치의 ID가 가장 낮은 BPDU를 수신한 port.

- Path cost가 가장 작은 port.

- 인접 SwitchBridge ID가 가장 낮은 port.

- 인접 SwitchPort ID가 가장 낮은 port.

- 자신의 Port ID가 가장 낮은 port.

 

(2) Designated port 선출

- Root 스위치의 각 port.

- 낮은 순위의 BPDU를 수신한 port.

- Path cost가 낮은 switch의 port.

- Bridge ID가 낮은 스위치의 port.

- Port ID가 가장 낮은 port.

 

(3) Spanning-Tree Port states

① Blocking state

- 데이터 Frame을 송수신 하지 않는 상태. 하지만 상대 측 Port에서 전송한 BPDU는 수신.

 

② Listening state

- 해당 portSTP Forwarding 상태로 변경시키기 위한 준비 단계.

- Listening 상태에서 Forwarding 시간 동안 특별한 문제가 없으면 Learning 상태로 변경

 

③ Learning state

- 해당 portSTP Forwarding 상태로 변경시키기 바로 전의 단계

- Frame을 스위칭 시키기 위한 준비 작업을 한다. Forwarding 시간 동안 특별한 문제가 없으면 Forwarding 상태로 변경

 

④ Forwarding state

- Data Frame을 송수신하는 상태

 

+ STP에 따라서 원래 통신하던 link에 문제가 생기면 다른 link로 바꾸는데 50초의 시간이 소모된다.

Blocking(20sec) → Listening(15sec) → Learning(15sec) → Forwarding

 

※ 이러한 약점을 보완하기 위해 아래 기술들이 생김

#Ether channel : 여러 개의 Link가 하나의 링크처럼 동작하게 하는 기술 (최대 8Link를 묶을 수 있다.)

평소에는 두 배의 속도를 낼 수 있고 하나의 Link가 끊겨도 기다리는 시간 없이 Link 가 유지된다.

#Uplink fast : Link 복구 시간을 1분에서 약 2~3초 안에 가능하도록 만든 기술

#RSTP, MSTP : 기술을 사용해도 Convergence 시간을 단축시킬 수 있다.

728x90

'IT Network System > Network' 카테고리의 다른 글

Network Basic (12편 : Routing)  (0) 2021.02.23
Network Basic (11편 : VLAN)  (0) 2021.02.23
Network Basic (9편 : Switch)  (0) 2021.02.19
Network Basic (8편 : IP Addressing)  (0) 2021.02.19
Network Basic (7편 : 케이블의 정의)  (0) 2021.02.19

댓글