네트워크 실습 정리

스패닝트리(STP) 개념 정리 및 실습 #1

Weeding 2022. 9. 1. 23:26
반응형
SMALL

우선 LAN 구간의 LOOP가 발생하는 이유는?

1. 스위치의 작동 원리인

- Learning

- Forwarding

- Flooding 

위 중 모든 포트로 패킷을 내보내는 

' Flooding ' 때문에 발생.

(Broadcat 패킷과 목적지를 모르는 패킷이 도착 할때 Flooding 하게 됨)

 

 

2. 단일 구성에서는 상관없지만 2개 이상의 스위치의 연결 시 루핑이 발생함.

**2개 이상 스위치를 연결하는 이유?

- 이중화(Redundant) 목적

-> 장애 발생 시 백업 경로 통해 서비스 중단 없게 하기 위함

- 잘못 된 연결 시 루핑 발생..

 

 

3. Layer 2 구간 루프 발생시 발생되는 현상

  • Broadcast Storm
    - 모든 포트로 Flooding 되는 트래픽 때문에 Broadcast가 쌓이면서
      모든 링크의 대역폭을 고갈 시킴. -> CPU 소모율이 극대화 -> 과부하
  • Multiple Frame Copy
    - 스위치는 목적지를 모르는 Unicast 패킷이 도착 하였을 때, 해당 패킷을 Flooding 처리함.
      아래 그림에서 Host A -> R1으로 보내는 트래픽을 살펴보면
      최종 목적지인 R1은 SW1, SW2를 경유한 패킷과, SW1 -> SW4 -> SW3 -> SW2 를 경유한
      패킷을 두번 받게 된다. (같은 패킷의 중첩)

Multiple Frame Copy

 

 

  • MAC address Flapping (MAC Table의 불안정)
    - 트래픽이 들어온 Port와 Source-MAC 주소를 매핑하여 MAC Table을 작성하는
      스위치의 Learning 동작 시 정상적으로 들어온 트래픽과 우회하여 들어온 트래픽의
      Source Mac 주소가 같기 때문에 스위치의 MAC address Table이 계속 바뀌게 됨 (Falpping 현상)
    -> 즉, 하나의 Source MAC 주소에 매핑된 Port가 자주 바뀌게 됨!

MAC address table instability

 

 

 


 

Spanning-Tree Protocol 이란

1. 물리적으로 Switch 간의 연결된 경로가 2개 이상 일 때 "논리적으로 하나의 포트를 차단" 함으로써,

    루프 구간을 없애는 프로토콜!

 

2. BPDU라는 메시지를 멀티캐스트 방식으로 교환하여 스위치들 간에 물리적인 연결 상태와

    네트워크의 변경 사항을 교환하여 루프를 탐지하고, 논리적으로 Blocking 시키는 포트를 결정한다.

 

--> 스위치 장치 간에 최적 경로를 계산하는 알고리즘.

--> 이 알고리즘이 루프 구조를 트리 구조로 변경해 최적 경로를 계산해주는 알고리즘.

--> 따라서, 트리 구조로 만들어 주기 때문에 무한루프가 발생하지 않는 것이다!!!

 

 

 

스패닝트리 프로토콜 종류

1. CST (Common Spanning Tree)

- 물리적인 네트워크 연결을 기반으로 하나의 Port를 Block 시켜 루프를 방지

 

2. PVST (Per Vlan Spanning Tree)

- 기존 STP의 확장판으로 VLAN 별로 하나의 Port를 Block 시킴.

- 시스코 전용 프로토콜의 프로토콜로 CST와 호환되지않음.

 

3. PVST+ 

- PVST의 확장판

- 802.1q 트렁크 방식 지원

- 시스코 전용, CST와 호환

 

4. RSTP 

- STP의 진화형으로 빠른 수렴 속도를 가짐

 

5. PVRST

- 시스코에서 만든 RSTP의 확장판

 

6. MSTP (Multiple Spanning Tree Protocol)

- 여러개의 VLAN을 그룹으로 묶어 STP를 동작시킴

- VLAN의 개수가 많을수록 비례하여 일반적인 PVST는 BPDU를 전송하기 때문에 트래픽의 부하가 발생.

  MSTP는 VLAN을 그룹으로 묶어 BPDU를 보내기 때문에 트래픽의 부하가 적음!

 

 

 

 

 

BPDU(Bridge Protocol Data Unit)

1. STP를 지원하는 스위치들 사이에서 교환되는 상태 정보를 담은 메시지

 

2. STP는 BPDU 메시지를 스위치들 간에 교환으로 하여금 네트워크에 대한 모니터링 및 루프 상태 점검

 

3. 기본 매 2초 주기를 가지고 멀티캐스트하여 교환

 

4. Root-Bridge를 선정

 

5. 루프 상태 및 위치를 판단!

 

6. 루프 방지를 위해 Blocking을 실시할 포트를 결정!

 

7. 주기적으로 교환하여 네트워크에 대한 상태 변화를 보고, 스패닝트리 상태를 모니터링 함.

 

 

 

 

 

 

BID (Bridge-ID)

1. switch가 통신을 할 때 서로를 확인하기 위해 하나씩 가지고 있는 ID

   (STP 구간에서 각 스위치에 부여되는 고유 ID 값)

 

2. BID 값 = Bridge Priority + MAC address

 

3. BID가 가장 낮은 스위치가 Root Switch로 선출!

 

4. Bridge priority

- Default : 32,768 

- 단위 : 4096(최소 단위)

= priority 값 = 32768 + vlan 값

 

 

 

 

 

Root Bridge 스위치

1. 하나의 스패닝 트리 구간에서 Block 되는 포트를 정하기 위해 결정되는 중심 스위치(=대장 스위치)

 

2. PVST의 경우 VLAN 당 하나의 Root Bridge가 존재함.

 

3. Root Bridge 스위치 선정 기준 

- Brdige-ID (BID) 값이 가장 낮은 스위치가 선정.

- priority가 같으면 MAC address가 낮은 스위치가 선정

- Root Bridge로 선정된 스위치에는 Block 되는 포트가 존재 하지 않음.

 

 

 

 

 

 

 

 

실습 토폴로지

 

 

 

1.   위 그림을 물리적 구성으로 완성하고 실습을 진행

2.   vlan 10은 빨간색 실선이 표시된 곳으로만 갈 수 있도록 STP를 이용해 설정하고 같은 vlan끼리 통신 되는 것 확인

3.   1번으로 설정한 곳에 문제가 생기면 빨간색 점선 경로로 우회하는지 확인

4.   vlan 20은 파란색 실선이 표시된 곳으로만 갈 수 있도록 STP를 이용해 설정하고 같은 vlan끼리 통신 되는 것 확인

5.   2번으로 설정한 곳에 문제가 생기면 파란색 점선 경로로 우회하는지 확인

 

 

 

 

 

 

PC1~4 IP 설정 / PVCS에 IP 설정 방법 = IP address / subnet mask / gateway

 

 

스위치에 vlan 추가

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# show spanning-tree brief 

 

R1 : 현재 Root로 사용중인 것 확인

 

 

 

 

R2 상태 확인

 

 

 

 

R3 상태 확인

 

 

 

R4 상태 확인

 

 

 

 

 

VLAN 10은 ESW1을 지나칠 수 있도록 설정.

- VLAN 10의 priority 값 변경 

- 값이 낮을수록 우선 순위를 갖고 4096 단위로 설정가능

- 다른 VLAN들 값이 32768 이여서 그보다 작은 값으로 설정.

 

우측 vlan 20이 다운될 경우 다음 루트로 설정해주기 위해

vlan 20의 priority 값 변경 (4096으로 옆에 설정해줄 예정이니 그것보다 크게 설정)

 

 

 

 

STP 정보 확인해보면 VLAN 10이 root로 설정된 것 확인.

Root로 설정되었기 때문에 VLAN 10 통신시 ESW1을 거쳐감!

 

 

 

 

 

 

위와 같은 이유로 ESW2에 Priority 설정

 

 

STP 정보 확인.

VLAN 20 은 R4가 root로 설정된 것 확인!

 

 

 

통신 확인.

 

 

 

 

 

비정상 상태일 때 통신 확인을 위해

ESW1의 F1/1 포트를 shutdown

그리고 PC1에서 ping 통신 확인. (바로 ping 안됨)

 

블로킹 상태에 있던 포트가 리스닝과 러닝을 거쳐 포워딩 상태로 오려면

디폴트 딜레이인 15초가 두번 지난 30초가 소요된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
LIST