본문 바로가기
CS/네트워크

[CS/네트워크] 4장 스위치: 2계층 장비

by ahj 2022. 4. 18.

네트워크의 가장 핵심장비 스위치 → MAC 주소 기반으로 동작

스위치가 MAC 주소를 어떻게 이해하고 활용하는가?

스위치 : 네트워크 중간에서 패킷을 받아 필요한 곳에만 보내주는 네트워크 중재자 역할. 설정 없이 네트워크 연결해도 기본 동작(MAC주소 기반으로 패킷 전달) 수행할 수 있음

  • VLAN 기능 : 한 대의 장비에서 논리적으로 네트워크를 분리
  • STP(Spanning Tree Protocol) : 네트워크 루프 방지
  • 보안 기능, 여러기능(모니터링에 필요)

PDU(Protocol Data Unit) : 각 계층에서 헤더와 데이터를 합친 부분

PDU단위 : 1-Bits, 2-Frame, 3-Packet, 4-Segment, 5,6,7 - Data

엄밀히 2계층 PDU는 Frame. but 통상적으로 데이터 쪼개 전달하는 데이터 전체를 ‘패킷’으로 통칭


4.1 스위치 장비 동작

스위치 : 네트워크에서 통신을 중재하는 장비

이더넷 네트워크 문제 : 패킷 전송 ⇒ 서로 경합 ⇒ 성능 저하

경쟁 없애고, 패킷을 동시에, 여러장비, 간섭 없이 통신하도록 돕는 게 스위치 ⇒ 여러 단말 한꺼번에 통신 ⇒ 대기, 충돌 등의 문제 해결. 네트워크 전체 통신 효율성 ⬆️

누가, 어느위치인지 파악, 실제 통신 시작되면 자신이 알고 있는 위치로 패킷을 정확히 전송.

2계층 주소 이해 + MAC주소 테이블 ( =MAC(단말 주소) + 단말이 위치하는 인터페이스 정보 매핑) ⇒ 스위치 동작

스위치 → 전송하려는 패킷의 헤더 안 2계층 목적지 주소를 확인 → MAC 주소 테이블에서 해당 주소 포트 확인 → 그 포트로만 패킷 전송 → (MAC 주소와 포트가 매핑된) MAC 주소 테이블 필요

도착지 주소 패킷

테이블에 x → 전체 포트로 전송

테이블에 o → 해당 주소와 매핑된 포트로만 전송

이런 동작 방식을 3가지로 정리하면

  1. 플러딩(Flooding)
  2. 어드레스 러닝(Address Learning)
  3. 포워드/필터링(Forwarding/Filetering)

4.1.1 플러딩

부팅 시 스위치에 네트워크 관련 정보 아무것도 없다. 이때는 통신 중재 못하고 그냥 허브처럼 동작(= 패킷이 들어온 포트 제외 모든 포트로 패킷 전달) → 이런 식으로 모든 포트로 패킷을 흘리는 동작을 플러딩이라고 한다.

스위치 : 패킷이 들어오면 → 패킷 안 도착지 MAC 주소 → MAC 주소 테이블 확인 → 없으면 모든 포트 패킷 전송

스위치는 LAN에서 동작 ⇒ 자신이 정보가 없어도 어딘가 장비가 있을 수 있다 가정하고 수행

정상적인 동작(비정상적인 것은 아니다.) but 많아지면 스위치가 제 역할을 못함.

MAC 주소를 보고 학습 ⇒ MAC 주소 테이블 만듦 → 후에 이용


비정상적인 플러딩(Flooding)

플러딩? : 스위치가 제 기능 못한다.

이더넷-TCP/IP 네트워크에서는 ARP 과정을 통해 미리 주고 받은 게 있으므로 실제 데이터 주고 받을 대는 스위치가 패킷을 플러딩하지 않는다.

스위치 ⇒ 포워딩 ⇒ 허브(모든 패킷을 플러딩)보다 보안에 도움이 된다.

스위치에 엉뚱한 MAC 주소 습독 시키거나, MAC 테이블 꽉 채워서 스위치가 플러딩 하도록 유도하는 것이 공격 기법 ⇒ 주변 통신을 모니터링

아무 이유없이 패킷을 플러딩하는 스위치? : 비정상적 동작 or 공격 수행되는 상황

  • ARP 포이즈닝(Poisoning) : 모니터링해야할 IP의 MAC 주소를 자신으로 속여 원하는 통신을 받는 방법

4.1.2 어드레스 러닝

스위치가 정상 동작하려면 → MAC 테이블 making, 유지 필요.

MAC 주소 테이블

: 어느 위치(포트)에 어떤 장비(MAC 주소)가 연결 되어 있는지에 대한 정보가 저장 되어 있는 임시 테이블

이를 만들고 유지하는 과정 : 어드레스 러닝

패킷의 출발지 MAC 주소 이용. 패킷이 특정 포트(물리적 포트)로 들어오면 출발지 MAC 주소와 포트 번호를 MAC 주소 테이블에 기록

출발지 MAC 주소를 이용하기 때문에 브로드캐스트, 멀티캐스트에 대한 MAC 주소를 학습할 수 없다. → 이게 정확히 무슨 말인가요??


사전 정의된 MAC 주소 테이블

MAC 어드레스 러닝으로 학습된 주변 장비 MAC 주소 외에도 사전에 미리 정의된 MAC 주소 정보를 가지고 있다. 이런 MAC 주소는 패킷 처리 위한 게 아니라 대부분 스위치간 통신을 위한 것. 역시 MAC 테이블에서 확인 가능.

특정 포트로 내보내는 것이 아니라 스위치에서 자체 처리하므로 인접 포트 정보 없거나 CPU 혹은 관리 모듈을 지칭하는 용어로 표기

스위치에서 MAC 테이블 보기 위한 명령어 show mac address-table


4.1.3 포워딩/필터링

패킷이 스위치에 들어온 경우, 도착지 MAC 주소 확인, 스위치 MAC 테이블과 비교 → 매칭시 해당 포트로 패킷을 포워딩. 다른 포트로 보내지 않으므로 이것이 필터링. ⇒ 목적지로만 패킷이 전달되도록 동작. 여러 포트에서 동시에 수행될 수 있다. ⇒ 다른 포트에서 기존 통신 작업과 독립적으로 동작 가능.

일반적인 유니캐스트에 대해서만 포워딩, 필터링 수행. BUM(브로드캐스트, 언노운 유니캐스트, 멀티캐스트)와는 조금 다르게 동작. 브로드캐스트, 멀티캐스트는 출발지가 사용되지 않으므로 출발지 MAC이 없는 이런 트래픽은 전달, 필터링 하지 않고 모두 플러딩. 언노운 유니캐스트는 MAC 주소 테이블에 없는 주소 이므로 브로드캐스트와 동일하게 플러딩 동작


LAN에서의 ARP - 스위치 동작

이더넷-TCP/IP에서는 스위치가 유니캐스트를 플러딩하는 경우는 거의 없다.

ARP 브로드캐스트 과정에서 스위치는 이미 출발지, 도착지 MAC을 습득. → 실제 통신 유니캐스트시 이미 만들어진 MAC 테이블로 패킷을 포워딩, 필터링

에이징 타임(Aging Time) : ARP, MAC 테이블이 지워지지 않는 일정 시간.

일반적으로 MAC 테이블의 에이징 타임 > 단말의 ARP 에이징 타임 ⇒ 이더넷 네트워크를 플러딩 없이 효율적으로 운영 가능


4.2 VLAN

가상화 기술. 하나의 물리 스위치→ 여러 네트워크 나눠 사용

VLAN(Virtual Local Area Network) 종류, 특징, 실제로 어떻게 동작.

4.2.1 VLAN이란?

물리적 배치와 상관없이 LAN을 논리적으로 분할, 구성하는 기술

과도한 브로드캐스트로 인한 단말 저하, 보안 향상 위한 차단, 서비스 성격 따른 정책 적용 ⇒ 네트워크 분리 필요.

VLAN으로 구분되면 별도의 스위치처럼 동작.

서로 다른 네트워크, 논리적 분할 ⇒ 유니캐스트, 브로드캐스트도 VLAN 간 통신할 수 없다.

서로 다른 네트워크간 통신 → 3계층 장비(L3) 필요.

VLAN ⇒ 물리적 구성과 상관없이 네트워크 분리 & 물리적 다른 층 단말이 하나의 VLAN을 통해 동일 네트워크로 묶일 수 있음.

같은 층 부서별 네트워크 분리, 서비스, 단말 성격 따라 네트워크 분리 가능. 분리된 단말간 통신은 3계층 장비를 통해.

4.2.2 VLAN의 종류와 특징

VLAN 할당 방식

포트 기반 VLAN : 스위치를 논리적 분할 사용이 목적. 언급 대부분의 VLAN. 어떤 단말이 접속하든 포트에 할단된 VLAN에 속하게 된다.

MAC 기반 VLAN : 사용자들 자리이동이 많아지며 생기게 됨. 고정 포트 X. 스위치에 연결되는 단말의 MAC 기반으로 할당하는 기술. 단말에 따라 VLAN 정보가 바뀔 수 있어 다이나믹 VLAN(Dynamic VLAN)이라고도 부룬다.

포트 기반 VLAN 선정 기준 : 스위치의 포트 ⇒ 앞으로 다룰 VLAN

MAC 기반 VLAN 할당 기준 : PC MAC주소


포트 기반 VLAN이 일반적. 최근 사용자 이동성을 요구하는 스마트 오피스 ⇒ MAC 기반 VLAN 구성이 점점 더 많이 사용되고 있음.


4.2.3 VLAN 모드(Truck/Access) 동작 방식

각 포트에 사용할 VLAN을 설정하는데 하나의 스위치여도 서로 다른 VLAN 포트끼리는 통신 할 수가 없다. VLAN이 다르면 분리된 스위치에 연결된 것과 같으므로 VLAN간 통신 불가. → 3계층 장비 필요.

ARP 리퀘스트 등의 브로드 캐스트 불가 → 3계층 필요.

여러 VLAN이 존재, 서로 다른 스위치를 서로 연결해야하는 경우 → VLAN 개수만큼 포트 연결 필요. (왜냐면 VLAN을 별도의 물리적 스위치처럼 취급) ⇒ VLAN 태그 기능이 해결.

VLAN 태그 기능

하나의 포트, 여러개의 VLAN 함께 전송. 태그드(Tagged) 포트 or 트렁크(Trunk) 포트.

통신할 때 이더넷 프레임 중간에 VLAN ID를 끼워넣어 정보를 이용.

태그 포트로 패킷 보낼 때 VLAN ID 붙이고 수신 측에서 VLAN ID 제거 ⇒ VLAN ID의 VLAN으로 패킷 보낼 수 있게 됨


스위치 간 VLAN 정보를 보낼 수 있는 포트의 일반적인 용어 : ‘태그 포트’

트렁크 포트는 다른 의미로 쓰이기도 하기에 문맥으로 잘 파악해야함.


태그 포트 ⇒ VLAN마다 통신에 필요했던 여러 포트를 하나로 묶어 사용 가능 ⇒ 포트 낭비 없이 네트워크 더 유연하게 디자인 가능.

태그 포트 기능 ⇒ MAC 주소 테이블에도 변화 발생. 다른 VLAN끼리 통신 못하도록 MAC 테이블에 VLAN 지정 필드 추가.

하나의 스위치를 VLAN을 이용해 네트워크 분리 ⇒ VLAN 별로 MAC 테이블 존재하듯이 동작.

일반적인 포트를 언태그(Untagged) 또는 액세스(Access) 포트, VLAN 정보를 넘겨 여러 VLAN이 한꺼번에 통신하도록 해주는 포트를 태그 포트 or 트렁크 포트라고 부룬다.

태그 포트 : 여러 개의 VLAN(= 여러 네트워크)를 하나의 물리적 포트로 전달하는 데 사용.

→ 일반적으로 여러 네트워크가 동시에 설정된 스위치간 연결. 태그를 벗기면서 태그된 VLAN 쪽으로 패킷 전송

언태그 포트 : 하나의 VLAN에 속한 경우에만 사용

→ 하나의 네트워크에 속한 서버의 경우. 같은 VLAN으로만 패킷 전송

스위치 간 연결이 아닌 서버와 연결된 포트도 가상화 서버(VMWare의 ESXi 등)가 연결될 때는 여러 VLAN과 통신해야할 수도 있음. 서버와 연결된 스위치 포드더라도 태그 포트로 설정. 가상화 서버쪽 인터페이스도 태그 포트. 스위치간 연결로 보면 이해하기 더 쉬움.


VLAN 간 통신

스위치 통신을 분할하는 기능 때문에 유니, 멀티, 브로드캐스트 모두 VLAN을 넘어가지 못한다. VLAN이 다르다 == 별도의 네트워크

다른 네트워크끼리의 통신이 필요하면 → 라우터와 같은 L3 장비 도움 필요

4.3 STP

SPoF(Single Point of Failure)로 인한 장애를 피하기 위한 노력. 스위치 하나만 있을 때 그 스위치 고장 ⇒ 전체 네트워크 장애 발생

이런 SPoF 피하기 위해 스위치 2대 디자인? → 네트워크 따라 패킷이 계속 전송 ⇒ 네트워크 마비 : 네트워크 루프(loop)

4.3.1 루프란?

네트워크에 연결된 모양이 고리처럼 되돌아오는 형태로 구성된 상황

3가지 큰 이유. 대부분이 브로드캐스트 스톰(Storm)으로 인한 문제

4.3.1.1 브로드캐스트 스톰

루프 구조로 연결된 상태에서 브로드캐스트 발생 → 스위치 모든 포트 플러딩(패킷이 유입된 포트 제외) → 다른 스위치 역시 똑같이 동작(플러딩) → ... 계속 돌아가는 이것을 브로드캐스트 스톰이라고 한다.

3계층 헤더는 TTL(Time to Live)이라는 패킷 수명이 있지만 2계층 헤더에는 라이프타임 메커니즘이 없어 루프가 발생하면 패킷이 죽지않고 전체 네트워크 대역폭을 차지할 수 있다. 모든 단말이 브로드캐스트 처리를 위해 시스템 리소스 사용, 스위치와 단말간 돝인이 거의 불가능

브로드캐스트 스톰 ⇒

  1. 네트워크 접속된 단말 속도 느려짐(많은 브로드캐스트 처리 ⇒ CPU 사용률 ⬆️
  2. 네트워크 접속 속도 느려짐(통신 불가 수준
  3. 네트워크에 설치된 스위치 모든 LED 들이 동시에 빠른 속도로 깜빡임

케이블 제거 전까지 마비 상태 지속

4.3.1.2 스위치 MAC 러닝 중복 문제

유니캐스트도 문제 일으킴. 같은 패킷이 루프를 돌아 도착지 입장에서 중복 수신의 문제도 있지만, 중간에 있는 스위치에서도 MAC 러닝에 문제가 발생.

스위치는 출발지 MAC 주소를 학습하는데, 직접 전달되는 패킷과 돌아 들어간 패킷 간 포트가 달라서 MAC 주소를 정상적으로 학습할 수 없다.

스위치 MAC 테이블은 하나의 MAC - 하나의 포트만 학습할 수 있음 ⇒ 동일 MAC에 여러 포트, 테이블 계속 갱신 : 정상 동작이 아님 : MAC 어드레스 플래핑(MAC Address Flapping)

스위치에서 학습된 주소 포트가 계속 변경 ⇒ 정상 동작 X, 패킷을 플러딩

예방을 위해 스위치 설정에 따라 경고(Warning) 메세지를 관리자에 알려주거나, 수시로 일어나는 플래핑 현상을 학습하지 않도록 자동으로 조치

루프는 이런 문제들을 발생. 미리 네트워크에 조치를 해야한다. 하나의 포트만 사용하지 못하도록 셧다운(Shutdown)되어 있어도 예방할 수 있음.

but 다시 수동으로 루프를 찾아 강제로 사용하지 못하게 하는 방법은 바람직하지 않다. SPoF를 예방하기 위해 스위치를 두 개이상 디자인 한건데.

우선 복잡한 케이블 연결을 이용해 루프를 찾는 것이 힘들다. 찾아 강제로 사용 못하게 해도 네트워크 장애 발생시 해당 포트를 또 수동으로 다시 사용하도록 해야한다.

즉, 사용자가 적극적으로 개입하는 방법으로는 네트워크 장애에 적절히 대응할 수 없다.

⇒ 루프를 자동 감지해 포트 차단, 장애로 우회로 없을 경우 차단된 포트를 스위치 스스로 다시 풀어주는 스패닝 트리 프로토콜이 개발 됨

4.3.2 STP란?

스패닝 트리 프로토콜(Spanning Tree Protocol)은 루프를 확인, 적절히 포트를 사용하지 못하게 만들어 루프를 예방하는 메커니즘. 뿌리부터 가지까지 루프가 생기지 않도록 유지하는 것이 스패닝 트리 프로토콜의 목적

전체 스위치가 어떻게 연결되는지 알아야 한다. → 스위치간 정보 전달 방법이 필요

BPDU(Bridge Protocol Data Unit)라는 프로토콜 통해 스위치 간 정보 전달, 수집된 정보 이용해 전체 네트워크 트리 만들어 루프 확인

스위치가 갖고 있는 ID와 같은 고유값, 스위치간 서로 교환, 루프 파악 가능. 확인된 루프 지점을 데이터 트래픽이 통과하지 못하도록 차단, 루프 예방

4.3.2.1 스위치 포트의 상태 및 변경 과정

루프를 막기 위해 신규 스위치 연결되면 바로 트래픽이 흐르지 않도록 차단.

확인하기 위해 BPDU를 기다려 학습, 구조 파악

루프 구조면 차단 유지, 아니면 트래픽 흘림

차단 → 트래픽 흐름 : 스위치 포트의 상태는 4가지로 구분

  • Blocking
    • 패킷 차단 상태. 상대방 BPDU 기다림
    • Max Age(총 20초)동안 BPDU 못받거나 후순휘 BPDU 받으면 Listening상태로 변경
    • BPDU 기본 교환 주기는 2초, 10번의 BPDU 기다림
  • Listening
    • 전송 상태롤 변경되는 것을 결정하고 준비하는 단계. 이때부터 자신의 BPDU를 전송하기 시작
    • 총 15초 대기
  • Learning
    • 포워딩하기로 결정하고 실제로 일어날 때 스위치가 곧바로 동작하도록 MAC 주소를 러닝하는 단계
    • 총 15초 대기
  • Forwarding
    • 패킷을 포워딩 하는 단계. 정상적 통신 가능
    |Blocking| -20초→ |Listening| -15초→ |Learning| -15초→ |Forwarding|

신규 장비를 스위치에 붙이면 통신하는데 총 50여초 소요. 스위치는 루프 예방을 위해 매우 방어적으로 동작. 새 연결 단말이 스위치일 가능성이 있어 BPDU를 일정 시간 이상 기다려 스위치 여부를 파악한다. ⇒ 스위치 아닌 일반 단말이더라도 동일한 시간이 필요

이중화된 링크 절체(전환)도 STP 동작 순서대로 진행. 특정 링크 다운 → 블로킹 포트 포워딩 위해 → 20초 Max Age, 총 50초 후 포워딩 상태로 변경. 하지만 다운된 링크가 자신의 인터페이스인 경우(스위치 자체 포트 이상) 토폴로지가 변했음을 직접 감지할 수 있어 Max Age 건너뛰고 리스닝부터 STP 상태 변화가 즉시 이루어져 30초 만에 절체(전환)된다.

⇒ STP 활성화된 경우에서 이렇게 바로 포워딩 상태가 되지 않음으로 인해 다양한 장애, 스위치 이상으로 생각되는 경우가 많다. 특히 부팅시간이 매우 빠른 OS가 DHCP 네트워크에 접속할 때 부팅 단계에서 IP 요청하지만 스위치 포트가 포워딩 상태가 되지 않아 IP를 정상적으로 할당받지 못하는 경우 많다.

4.3.2.2 STP 동작 방식

루프 없애기 위해 나무가 뿌리에서 가지로 뻗어나가는 것처럼 토폴로지를 구성

뿌리가 되는 가장 높은 스위치를 선출, 모든 BPDU가 교환 되도록 하는데 그 스위치를 루트 스위치라고 한다. 모든 스위치는 처음엔 자신을 루트 스위치로 인식해 동작. BPDU를 통해 2초마다 자신이 루트 스위치임을 광고하는데, 새로운 스위치가 들어오면 서로 교환된 BPDU 속 브릿지 ID 값을 비교. 더 적은 스위치를 루트 스위치로 선정. 루트 스위치로 선정된 스위치가 BPDU를 전송.

  1. 하나의 Root 스위치 선정
    1. 전체 네트워크 하나의 루트 스위치
    2. 자신을 전체 네트워크 대표 스위치로 적은 BPDU를 옆 스위치로 전달
  2. 루트가 아닌 스위치 중 하나의 루트 포트 선정
    1. 루트 브릿지로 가는, 경로가 가장 짧은 포트를 루트 포트라고 한다.
    2. 루트 브릿지에서 보낸 BPDU를 받는 포트
  3. 하나의 세그먼트에 하나의 지정(Designated) 포트 선정.
    1. 스위치 스위치가 연결되는 포트는 하나의 지정포트를 선정
    2. 이미 루트포트로 선정된 경우, 반대쪽이 지정포트로 선정돼 양쪽 모두 포워딩 상태
    3. 아무도 루트포트가 아닐 경우, 한쪽은 지정포트, 다른 한쪽은 대체포트(Alternate, Non-designated)가 되어 차단 상태
    4. BPDU가 전달되는 포트

스패닝 트리 프로토콜 사용시 대안(Port Fast)

포트에 새 케이블 연결시 바로 포워딩 하는 것이 아니라 BPDU가 들어오는지 모니터링. 하지만 이런 메커니즘은 시간 지연 문제 ⇒ 스위치 아닌 일반 PC, 서버 연결 포트라면 메커니즘을 없애거나, 좀더 빠른 시간안에 포워딩 상태로 변경되어야 한다. → 해당 포트를 포트 패스트(Port Fast)로 설정하면 BPDU 대기, 습득 과정 없이 포워딩 상태로 바로 사용할 수 있다.

루프가 생길 수 있어서 별도로 BPDU가 들어오자마자 포트를 차단하는 BPDU 가드(Guard) 같은 기술이 함께 사용되어야 한다.

4.3.3 향상된 STP(RSTP, MST)

STP는 같은 네트워크 모든 스위치까지 BPDU가 전달되는 시간을 고려하다보니 블로킹 포트가 포워딩 상태가 될 때까지 30~50초 소요가 된다. TCP 기반 앱은 네트워크 끊겼을 때 30초를 기다리지 못하다보니 STP 기반 네트워크 장애시 통신이 끊길 수도 있다. 또 여러 VLAN이 있으면 각 VLAN 별 STP 계산하면서 부하가 발생하기도 한다. 이 문제들을 해결하기 위한 향상된 STP

4.3.3.1 RSTP

이중화된 스위치 경로 중 정상 경로 문제 발생 시, 백업 활성화에 30~50초 소요. 백업 활성화에 오래 걸리는 시간 문제 해결을 위해 RSTP(Rapid Spanning Tree Protocol) 개발. 2~3초의 짧은 절체 시간. 일반 TCP 기반 앱이 세션을 유지할 수 있게 된다.

구성, 동작방식은 STP와 같지만 BPDU 메시지 형식이 다양해져 여러 상태 매시지 교환 가능. STP는 2가지 메시지(TCN, TCA BPDU)만 있음. RSTP는 8비트를 모두 활용해 다양한 정보를 주위 스위치와 주고 받는다.

기존 STP는 토폴로지 변경시 말단 스위치~루트 브릿지까지 변경 보고 → 루트 브릿지가 연산 다시 완료 → 다신 말단 스위치까지 변경된 토폴로지 정보 보내는 과정 + 예비시간 : 시간이 오래 걸렸음.

RSTP에서는 토폴로지 변경이 일어난 스위치 자신이 모든 네트워크에 변경을 직접 전파 할 수 있다. 루트에 보고하고 전파되는 형식이 아니라.

다양한 BPDU 메시지, 대체 포트, 토폴로지 변경 전달 방식의 변화로 일단 STP보다 빠른 시간 내 토폴로지 변경 감지, 복구 할 수 있다. 보다 안정적 네트워크 운영에 도움

4.3.3.2 MST

일반 STP는 CST(Common Spanning Tree)라고 부름. VLAN 개수 상관 없이 스패닝 트리 1개만 동작. VLAN 많아도 ST는 1개만 동작하면 되므로 스위치 관리 부하가 적다. 하지만 CST는 루프 생기는 토폴로지에서 1개 포트, 회선만 활성화 되어 자원을 효율적으로 활용 할 수 없다. VLAN마다 최적으 경로가 다를 수 있는데 멀리 돌아 통신해야할 경우도 발생

PVST(Per Vian Spanning Tree) 개발. VLAN마다 다른 스패닝 트리 프로세스 동작 → VLAN마다 별도 경로, 트리 만들 수 있다. 최적 경로 디자인, VLAN마다 별도 블록 포트 지정, 네트워크 로드 셰어링 하도록 구성할 수 있게 됨.

하지만 STP 자체가 스위치에 많은 부담을 주는 프로토콜(2초마다 교환) PVST는 모든 VLAN마다 별도 스패닝 트리를 유지해야하므로 더 많은 부담. CST도 문제, PVST도 문제 이 단점들 보완하기 위해 나온 것이 MST(Multiple Spanning Tree)

MST 아이디어는 단순. 여러 VLAN을 그룹으로 묶고, 그룹마다 별도의 스패닝 트리. PVST보다 훨씬 적은 스패닝 트리 프로토콜 프로세스 돌고, PVST의 장점인 로드 셰어링 기능도 함께 사용

대체 경로 개수, 용도에 따라 MST 개수를 정의. 리전 개념이 도입 → 여러 VLAN을 하나의 리전으로 묶을 수 있음. 리전 하나가 스패닝 트리.


스패닝 트리 프로토콜의 대안

STP의 문제 해결을 위해 PortFast, UplinkFast, BackboneFast와 같은 다수 기능들이 있지만 잘못 사용시 장애 발생 원인이 되기도 한다.(PortFast 포트에 일반 스위치 접속되면 루프 발생 할 수도 있다.) 네트워크를 잘게 쪼개 디자인하거나 대체재를 사용.

대체재 프로토콜은 모두 호환은 아니라 업체에서만 동작하거나 이름 같아도 동작 다르거나 호환성이 없는 경우가 있다.

  • SLPP
  • Extreme STP
  • Loop Guard
  • BPDU Guard


스위치 구조와 스위치에 IP 주소가 할당된 이유

스위치는 크게 스위치 관리용 Control Plane과 패킷 포워딩하는 Data Plane으로 나뉜다. STP나 텔넷, SSH, 웹과 같은 서비스는 Control Plane에서 수행

스위치는 MAC 주소만 이해할 수 있음. 스위치 동작에서 IP는 필요 없지만 일정 규모 이상 네트워크에서 운영되는 스위치는 관리 목적으로 대부분 IP 주소가 할당 됨.

댓글