Terriermon - Digimon

스패닝 트리 프로토콜(STP)

2020. 9. 11. 17:40네트워크

스패닝 트리 프로토콜(STP)

스위치나 브리지에서 발생하는 루핑을 막아주기 위한 프로토콜

스위치나 브리지 구성에서 출발지부터 목적지까지의 경로가 두 개 이상 존재할 때 한 개의 경로만을 남겨 두고 나머지는 모두 끊어두었다가 사용하던 경로에 문제가 발생하면 그때 끊어 두었던 경로를 하나씩 살림

브리지 ID : 브리지나 스위치들이 통신 할 때 서로를 확인하기 위해 하나씩 가지고 있는 번호

Bridge ID가 가장 낮은 Switch가 Root switch로 선출

Bridge Priority+ 자신의 MAC 주소 값이 낮은 스위치가 root Bridge가 됨

 

Path Cost : 브리지가 얼마나 가까이, 그리고 빠른 링크로 연결되어 있는지를 알아내기 위한 값

특정 Switch 포트에서 Root Bridge까지 Link의 속도를 특정 값으로 변환시킨 것

Path Cost는 케이블의 속도가 빠를수록 값이 작아짐

BPDU : 스패닝 트리에 대한 여러 가지 정보를 담고 있으면서 매 2초에 한 번 뿌려지는 프레임.

Port ID: Switch 포트마다 부여된 고유한 ID를 의미

기본적으로 128. 뒤에 해당 포트 번호를 붙여서 사용

번호가 낮을수록 우선순위가 높아진다.

ex)   Fa0/1 => 128.1  ,  Fa0/8 => 128.8

 

기본 동작

1. 네트워크당 하나의 루트 브리지를 갖는다. : 하나의 브로드캐스트 도메인에 하나씩의 루트 브리지가 있다. 루트 브리지-기준이 되는 브리지(스위치)

2. 루트 브리지가 아닌 나머지 모든 브리지는 무조건 하나씩의 루트 포트를 갖는다. : 루트 포트-루트 브리지에 가장 빨리 갈 수 있는 포트(Path Cost가 가장 적은 포트)

3. 세그먼트당 하나씩의 데지그네이티드 포트를 갖는다. : 브리지나 스위치가 서로 연결되어 있을 때 이 세그먼트(브리지 또는 스위치 간에 서로 연결된 링크)에서 반드시 한 포트는 데지그네이티드 포트를 선출되어야 한다.

 

1. 루트 브리지 선출

2. 루트 포트 선택 : 루트포트는 하나의 스위치에서 오직 하나씩만 지정

1) 경로값이 가장 작은 포트

2) 인접 스위치의 브리지 ID가 가장 낮은 포트

3) 인접 스위치의 포트 ID가 가장 낮은 포트

4) 자신의 포트 ID가 가장 낮은 포트

3. 한 개의 세그먼트 당 지정(designated) 포트 선택

루트 브릿지의 모든 포트

 

 

루트 포트와 데지그네이티드 포트 순서 정하기

루트 브리지 : 가장 낮은 BID를 가짐

논 루트 브리지 : 루트 브리지 이외 모든 다른 브리지를 말함

데지그네이티드 포트 : 세그먼트 상에서 Root Path Cost를 서로 비교해서 더 작은 Root Path Cost를 가진 포트가 선출

 

스패닝 트리 프로토콜의 5가지 상태 변화

 * 블로킹 상태로 화살표가 있는 것은 포트가 리스닝, 러닝, 포워딩 상태에 있던 포트도 루트 포트나 데지그네이티드 포트에서 밀려나면 바로 블로킹 상태로 넘어갈 수 있다.

 * 모든 포트에서 Disable 상대쪽으로 화살표가 있는 것은 포트가 어떤 상태에 있든지 사용자에 의한 Shut Down 명령이나 포트의 고장으로 인해 언제라도 Disable 상태로 변할 수 있다는 의미이다.

 

 

 1) Disabled

  - 포트가 고장나서 사용할 수 없거나 네트워크 관리자가 포트를 일부러 Shut Down시켜 놓은 상태

 

 2) Blocking

  - 스위치를 맨 처름 켜거나 Disabled되어 있는 포트를 관리자가 다시 살렸을 때의 상태

  - 처음 스위치가 켜지면 서로 BPDU를 주고 받으면서 루트 브리지, 루트 포트, 데지그네이티드 포트, Non Designated 포트를 뽑는다.

 

 3) Listening

  - 블로킹 상태의 스위치 포트가 루트 포트, 데지그네이티드 포트로 선정 후 리스닝 상태로 넘어간다.

  - 리스닝 상태의 포트도 네트워크에 새로운 스위치가 접속했거나 브리지나 스위치의 구성값들이 바뀌면 루트 포트나 데지그네이티드 포트에서 Non Designated 포트로 상황이 변할 수 있다.

  - 이때 블로킹 상태로 돌아간다.

 

 4) Learning

  - 리스닝 상태에 있던 스위치 포트가 포워딩 딜레이(Forwarding Delay) 디폴트 시간인 15초 동안 그 상태를 계속 유지하면 리스닝 상태는 러닝 상태로 넘어간다.

  - MAC Address를 배워 MAC Address Table을 만든다.

 

 5) Forwarding

  - 스위치 포트가 러닝 상태에서 다른 상태로 넘어가지 않고 다시 포워딩 딜레이(Forwarding Delay) 디폴트 시간인 15초 동안 그 상태를 계속 유지하면 러닝 상태에서 포워딩 상태로 넘어가게 된다.

  - 포워딩 상태의 스위치 포트는 데이터 프레임을 주고 받을 수 있다.

  - 블로킹 상태에 있던 포트가 리스닝과 러닝을 거쳐 포워딩 상태로 오려면 30초가 소요된다.

 

STP 종류

 

PVST(Per VLAN Spanning-Tree)
각 VLAN 별로 루트 스위치를 따로 지정하는 것
각 VLAN 마다 스패닝트리가 동작하기 때문에 "부하분산 효과" 로 인한 VLAN 별 최적의 경로를 유지할 수 있다.

RSTP(Rapid Spanning-Tree Protocol)

제안(proposall)과 계약(agreement)이라는 핸드셰이크 처리를 실시

  ->서로의 상태를 즉시 파악

블로킹 포트가 있는 스위치의 직접적인 링크 장애에 대해서 즉시 블로킹 포트를 해제

블로킹 포트가 없는 스위치의 링크 장애에 대해서는 장애가 발생한 스위치가 TC비트를 설정한 BPDU플러딩하여 토폴로지 변경을 일제히 통지

MST
인스턴스 : 여러 VLAN의 그룹
MST영역마다 BPDU를 만들고 인스턴스 기반으로 동작
인스턴스별로 처리하고 인스턴스별로 관리

반응형

'네트워크' 카테고리의 다른 글

용어 정리  (0) 2020.09.11
애플리케이션 딜리버리 컨트롤러(Application Delivery Controller, ADC)  (0) 2020.09.11
9.10  (0) 2020.09.10
웹 캐시의 종류  (0) 2020.09.10
VPN과 Proxy차이  (0) 2020.09.10