스위치의 추가 기능 - STP

🌷 개요

스위치

  • 2계층 장비
  • 네트워크의 가장 핵심적인 장비
  • MAC 주소를 기반으로 동작

스위치의 기본 동작

  • 네트워크 중간에서 패킷을 받아, 필요한 곳에만 보내준다. (네트워크의 통신을 중재)
  • 아무 설정을 하지 않고 연결만 해도 MAC 주소를 기반으로 패킷을 전달한다.

추가 기능

  • VLAN 기능 : 논리적으로 네트워크를 분리
  • STP 기능 (스패닝 트리 프로토콜) : 네트워크의 루프 방지

STP

1. STP가 필요한 이유

  • 네트워크 루프
    • SPoF를 피하기 위해 이중화, 다중화된 네트워크를 사용하게 되는데, 이 과정에서 스위치를 2대 이상 사용하게 되면 패킷이 네트워크를 돌고 돌아 네트워크를 마비시킬 수 있다.
  • STP는 루프를 확인하고, 적절히 포트를 사용하지 못하게 만들어 루프를 예방한다.

  • 루프의 대부분의 원인 : 브로드캐스트 스톰

브로드캐스트 스톰

  • 발생

    1. 루프 구조로 네트워크가 연결된 환경
    2. 단말에서 브로드캐스트를 발생시킴
    3. 스위치는 패킷을 모든 포트로 플러딩
    4. 이 패킷을 받은 스위치는 모든 포트로 다시 플러딩
    5. 반복
  • 효과
    • 2계층 패킷은 수명을 가지고 있지 않기 때문에 패킷 하나가 죽지 않고 전체 네트워크 대역폭을 차지할 수 있다.
  • 결과
    • 네트워크에 접속된 단말의 속도가 느려진다.
    • 네트워크 접속 속도가 느려진다. (거의 통신 불가)
    • 네트워크에 설치된 스위치의 모든 LED가 빠른 속도로 깜빡인다.
  • 지속
    • 케이블을 제거할 때까지 네트워크 마비 지속

MAC 어드래스 플래핑 (스위치 MAC 어드레스 러닝 중복)

  • 발생
    1. 스위치는 출발지 MAC 주소를 학습힌다.
    2. 스위치 MAC 주소 테이블에서는 하나의 MAC 주소에 대해 하나의 포트만 학습할 수 있다.
    3. 동일한 MAC 주소가 여러 포트에서 학습되면 MAC 주소 테이블이 중복되어 정상적으로 동작하지 않는다.
  • 결과
    • 스위치에서 학습된 주소의 포트가 계속 변경되어 패킷을 플러딩한다.
  • 예방
    • 루프 구성 포트 중 하나의 포트만 셧다운 시키면 루프를 예방할 수 있다.
      • 사용자가 직접 포트를 조작하는 것은 바람직하지 않다.

2. STP란?

  • 스패닝 트리 프로토콜
  • 루프를 확인하고 적절히 포트를 사용하지 못하게 만들어 루프를 예방하는 메커니즘

  • 루프를 확인하는 방법
    1. 스위치는 BPDU(브릿지 프로토콜 데이터 단위)라는 프로토콜을 통해 정보를 전달
    2. 이 정보를 이용해 전체 네트워크 트리를 만들어 루프 구간을 확인
  • 루프를 예방하는 방법
    • 확인된 루프 지점을 트래픽이 통과하지 못하도록 차단

2.1. 스위치 포트의 상태 변화

  • 스위치 포트의 상태 변화
  1. Blocking : 패킷 데이터를 차단한 상태로 BPDU를 기다린다. (20초)
  2. Listening : 포트를 전송 상태로 변경할지 결정 (15초)
  3. Learning : MAC 주소 러닝 (15초)
  4. Forwarding : 패킷을 포워딩
  • => 총 50초 소요

2.2. STP 동작 방식

  • 루트 스위치 설정
    • 전체 네트워크에서 하나의 스위치를 선정
    • 루트 스위치로 선정된 스위치는 2초마다 자신을 대표 스위치로 적은 BPDU를 전달
    • 새로운 스위치가 들어오면 BPDU의 BridgeID가 더 작은 값을 루트 스위치로 설정
  • 루트 포트 설정
    • 루트 스위치의 바로 옆 스위치의 포트
  • 지정 포트 설정
    • 루트 스위치에서 떨어져있는 스위치의 포트
      • 루트 포트와 연결된 포트는 지정 포트로 설정
      • 루트 포트와 연결되지 않은 포트는 대체 포트로 설정, 차단 상태로 설정

3. 향상된 STP (RSTP, MST)

  • 문제
    1. STP가 설정된 스위치는 블로킹 상태에서 포워딩 상태가 되는데까지 50초가 걸린다.
      • TCP 기반 애플리케이션은 네트워크가 끊겼을 때 이렇게 긴 시간을 기다려주지 못하기 때문에 통신이 끊길 수 있다.
    2. 스위치에 여러개의 VLAN이 있으면 각 VLAN별로 STP를 계산하면서 부하가 걸린다.
  • 해결
    1. RSTP
    2. MST

3.1. RSTP

  • 시간이 너무 오래 걸리는 문제를 해결하기 위해 개발
  • Rapid Spanning Tree Protocol

  • 공통점
    • 기본적인 구성과 동작 방식은 STP와 같다.
  • 차이점
    • BPDU 메시지 형식이 다양해져 여러가지 상태 매시지를 교환할 수 있다.
      • STP는 2가지
      • RSTP는 8비트를 모두 활용
    • 네트워크 전파 시간을 줄일 수 있다.
      • STP는 루트 브릿지만 토폴로지 정보를 보낼 수 있어 말단->루트->말단의 과정을 거쳐야함.
      • RSTP는 모든 스위치가 토폴로지 정보를 보낼 수 있다.

3.2. MST

  • 일반 STP
    • VLAN 개수와 상관없이 스패닝 트리 한개만 동작
    • 루프가 생기는 토폴로지에서 한개의 포트와 회선만 활성화할 수 있어 비효율적이다.
    • 최적의 경로를 다른 포트가 사용중이면 사용할 수 없음
  • PVST
    • 일반 STP의 문제를 해결
    • VLAN마다 별도의 경로와 트리를 만들 수 있음
    • 경로 셰어링을 통해 최적의 경로를 사용할 수 있다.
    • VLAN마다 별도의 스패닝 트리가 동작해 부담이 된다.
  • MST
    • PVST의 문제를 해결
    • 여러개의 VLAN을 그룹으로 묶고, 그룹마다 별도의 스패닝 트리 동작

Categories:

Updated:

Leave a comment