~/network/vlan
스위칭

VLAN

브로드캐스트 도메인을 분리하기 위해 VLAN을 쓴다

1층, 2층, 개발팀, 인사팀 PC가 모두 같은 스위치망에 붙어 있고 VLAN(Virtual LAN)구분이 없다면, 한 PC가 보낸 브로드캐스트가 그 전체 범위로 퍼질 수 있다. 장비 수가 많아질수록 불필요한 트래픽이 늘고, 성능과 관리 측면에서 비효율적이게 된다. 이때 VLAN을 쓰면 하나의 물리적인 스위치를 여러 개의 논리적인 네트워크로 나누는 효과를 얻는다.

예를 들어 같은 스위치에 연결되어 있어도 포트 1~10은 VLAN 10, 포트 11~20은 VLAN 20으로 나누면, VLAN 10에서 발생한 브로드캐스트는 VLAN 10 안에서만 퍼지고 VLAN 20으로는 넘어가지 않는다. 즉, VLAN 하나가 보통 하나의 브로드캐스트 도메인이 된다.

VLAN 구성 이점

  1. 불필요한 브로드캐스트 범위를 줄일 수 있다.
    논리적인 브로드캐스트 도메인을 분할하여 ARP, DHCP Discover 같은 브로드캐스트 트래픽이 전체 조직으로 플러딩되지 않고 필요한 그룹 내부에서만 돌게 된다.

  2. 네트워크 성능과 안정성 관리가 쉬워진다.
    브로드캐스트가 많아지면 단말과 스위치가 처리해야 할 프레임 수가 늘어난다. VLAN으로 구간을 나누면 이런 부담을 줄일 수 있다.

  3. 물리적 구성과 독립적으로 논리적 그루핑이 가능하다.
    예를 들어 개발팀은 VLAN 10, 인사팀은 VLAN 20, 서버는 VLAN 30처럼 나누면 한 스위치에 여러 부서가 섞여 있어도 포트별로 서로 다른 브로드캐스트 도메인에 할당할 수 있다. 반대로 같은 부서원이 서로 다른 층이나 건물에 흩어져 있더라도 trunk 링크를 통해 동일한 VLAN으로 묶어 하나의 브로드캐스트 도메인으로 운용할 수 있다. 즉, 케이블링이나 스위치 위치와 무관하게 그룹을 정의할 수 있다는 점이 VLAN의 핵심 장점이다.

  4. 보안과 정책 적용에 유리하다.
    서로 다른 VLAN끼리는 기본적으로 바로 2계층 통신을 하지 못한다. 통신하려면 라우터나 L3 스위치를 통한 인터 VLAN Routing이 필요하다. VLAN 간에는 브로드캐스트도 차단되므로 ARP 학습 자체가 일어나지 않아 다른 VLAN의 단말로 유니캐스트 접근도 불가능하다. 그래서 어떤 VLAN끼리 통신을 허용할지 정책적으로 제어하기가 쉬워진다.

  5. Spanning-Tree 이중화 환경에서 VLAN별 로드 분산이 가능하다.
    PVST+나 RPVST+처럼 VLAN별로 STP 인스턴스를 운용하는 환경에서는 VLAN마다 서로 다른 Root Bridge를 지정해 트래픽이 서로 다른 경로를 사용하도록 분산시킬 수 있다.

VLAN 데이터베이스

VLAN 생성 정보와 스위치 포트 매핑 정보를 관리하는 테이블이다. Cisco 장비 기준으로 플래시 메모리에 vlan.dat라는 파일로 저장되며, 일반적인 running-config와는 별도로 관리된다는 점이 특징이다.

VLAN 데이터베이스에는 다음과 같은 정보가 포함된다.

  • VLAN ID: 1 ~ 4094 범위의 식별자
  • VLAN 이름: 관리 편의를 위한 사람이 읽을 수 있는 이름 (예: dev, hr)
  • VLAN 타입: Ethernet, FDDI, Token Ring 등
  • MTU: 해당 VLAN의 최대 전송 단위
  • 상태: active 또는 suspended

running-config와 분리되어 저장되는 이유

스위치 설정은 보통 running-config(메모리)와 startup-config(NVRAM)로 관리되는데, VLAN 정보는 이와 별개로 vlan.dat에 저장된다. 이는 VTP(VLAN Trunking Protocol) 기반의 VLAN 동기화 메커니즘 때문이다.

VTP는 한 스위치에서 만든 VLAN 정보를 trunk로 연결된 다른 스위치들에 자동 전파하는 프로토콜이다. 이때 VLAN 정보가 일반 config와 함께 묶여 있다면, config를 백업하고 복원하는 과정에서 VTP 동기화 정보까지 영향을 받게 된다. 그래서 VLAN 데이터베이스를 별도 파일로 분리해 VTP 도메인 단위의 일관성을 유지한다.

따라서 write erasecopy startup-config를 해도 vlan.dat는 지워지지 않는다. VLAN 정보까지 완전히 초기화하려면 별도로 delete vlan.dat 명령을 실행해야 한다.

Normal Range와 Extended Range

VLAN ID는 사용 범위에 따라 두 가지로 나뉘며, 저장 위치도 다르다.

구분범위저장 위치비고
Normal Range1 ~ 1005vlan.datVTP로 동기화 가능
Extended Range1006 ~ 4094running-config구버전 IOS에서는 VTP Transparent 모드에서만 사용 가능

VLAN ID 1은 기본 VLAN(default VLAN)으로 모든 포트가 초기에 속하며 삭제할 수 없다. 1002 ~ 1005는 FDDI, Token Ring 같은 레거시 매체를 위해 예약되어 있다.

VTP 모드와 VLAN 데이터베이스

VTP 모드에 따라 VLAN 데이터베이스를 다루는 방식이 달라진다.

  • Server: VLAN을 직접 생성·수정·삭제할 수 있고, 변경 사항을 같은 VTP 도메인의 다른 스위치로 전파한다. VLAN 정보는 vlan.dat에 저장된다.
  • Client: VLAN을 직접 만들거나 수정할 수 없으며, Server로부터 받은 정보로 자신의 vlan.dat를 갱신한다.
  • Transparent: VTP 광고를 다른 스위치로 단순히 중계만 할 뿐, 자신의 VLAN 정보를 동기화하지 않는다. 자체적으로 만든 VLAN은 running-config에 저장된다.

운영 환경에서는 VTP 자동 전파의 위험성(잘못된 변경이 도메인 전체로 퍼질 수 있음) 때문에 Transparent 모드를 사용하거나 VTP 자체를 비활성화하는 경우가 많다.

Inter-VLAN Routing

VLAN은 기본적으로 서로 다른 브로드캐스트 도메인이라 2계층에서는 통신할 수 없다. VLAN 10의 PC가 VLAN 20의 서버에 접근하려면 반드시 3계층 라우팅을 거쳐야 하며, 이를 구현하는 방식은 크게 세 가지다.

방식설명특징
Router on a Stick라우터의 한 물리 인터페이스에 VLAN별 서브인터페이스를 만들고 스위치와 trunk로 연결구성이 단순함. 모든 VLAN 트래픽이 단일 링크로 모여 병목 가능
L3 스위치 + SVIVLAN마다 가상 인터페이스(SVI)를 만들고 IP를 부여, 스위치 내부에서 하드웨어 라우팅현대 캠퍼스의 표준. 고성능
Routed PortL3 스위치 포트를 라우팅 모드로 전환 (no switchport)point-to-point 라우팅 링크용

SVI (Switched Virtual Interface)

L3 스위치에서 VLAN에 대응하는 가상 L3 인터페이스다. 물리 포트가 아니라 VLAN ID에 묶인 논리 인터페이스로, VLAN 하나당 SVI 하나가 생긴다.

  • VLAN(=Subnet)의 게이트웨이 IP를 SVI에 할당해서 단말이 외부로 나갈 때 거치는 경로가 된다.
  • 5계층 구조에서 "DS 계층부터 IP가 붙는다"는 말은 사실상 DS 스위치의 SVI에 IP를 거는 것이다.
  • Cisco 설정 예:
    interface vlan 10
     ip address 10.10.10.1 255.255.255.0
    
    → VLAN 10의 모든 단말이 10.10.10.1을 게이트웨이로 사용한다.

패킷 흐름

VLAN 10의 PC가 VLAN 20의 서버에 패킷을 보낼 때 흐름은 다음과 같다.

Inter-VLAN Routing 패킷 흐름 다이어그램
  1. PC가 자신의 기본 게이트웨이(VLAN 10의 SVI 또는 라우터 서브인터페이스) 주소로 ARP한다.
  2. 게이트웨이가 패킷을 받아 라우팅 테이블을 보고 VLAN 20으로 보낼 인터페이스를 결정한다.
  3. VLAN 20 측 인터페이스로 프레임을 다시 캡슐화해 내보낸다.
  4. VLAN 20의 스위치가 해당 프레임을 서버 포트로 전달한다.

즉 Inter-VLAN Routing은 각 VLAN이 자신만의 게이트웨이를 갖고 그 게이트웨이끼리 라우팅하는 구조이다. 라우터와 L3 스위치의 처리 방식 차이는 L3 Switch vs Router 문서에서 자세히 다룬다.