네트워크

VLAN의 목적과 NATIVE VLAN, 통신 과정

peanutwalnut 2025. 7. 14. 20:13

VLAN(Virtual LAN)의 주요 목적은 크게 다음과 같습니다:

  1. 브로드캐스트 도메인 분리
    • 물리적으로는 같은 스위치에 연결된 포트라도 서로 다른 VLAN에 할당하면, 그들끼리는 브로드캐스트나 ARP 요청을 주고받지 않습니다. 이를 통해 불필요한 브로드캐스트 트래픽을 줄이고, 네트워크 성능을 최적화할 수 있습니다.
  2. 보안 격리
    • 서로 다른 부서나 업무 그룹을 물리적으로 같은 장비 위에 두더라도 VLAN 단위로 논리적 분리를 하면, 한 VLAN의 장비에서 발생한 트래픽이 다른 VLAN으로 섞여 들어올 수 없어 보안성이 높아집니다.
  3. 유연한 네트워크 설계 및 관리
    • 물리적인 위치(스위치, 포트 위치)에 관계없이 논리적으로 같은 VLAN에 묶어 관리할 수 있어, 네트워크 변경·확장 시 장비 교체 없이 설정만으로 쉽게 대응할 수 있습니다.
  4. 스위치 간 LAN 확장(Trunking)
    • VLAN의 가장 중요한 기능 중 하나는, “작은 가상 스위치”를 IEEE 802.1Q 태깅(Trunk) 기법으로 여러 물리적 스위치에 걸쳐 확장하는 것입니다.
      • 각 물리 스위치의 트렁크 포트에 802.1Q 태그를 달아 서로 연결하면, 동일 VLAN ID를 가진 포트들이 여러 스위치에 걸쳐 마치 하나의 LAN처럼 동작합니다. 
      • 즉, 물리 스위치가 분리되어 있어도 논리적으로 하나의 LAN을 확장해 사용할 수 있게 해 줍니다.

 

VLAN의 설정 방법은 포트 VLAN이나 태그 VLAN 으로 한다.

 

네이티브 VLAN이란 IEEE 802.1Q 트렁크링크에서 태그 없이(untagged) 전송되는 프레임이 속하는 VLAN을 말합니다. 주요 특징은 다음과 같습니다:

  • 태그 없는 프레임 처리
    802.1Q 트렁크 포트에서는 기본적으로 모든 VLAN 프레임에 4바이트 태그가 붙어 전송됩니다. 그러나 태그가 없는 이더넷 프레임이 들어오면, 스위치는 이를 ‘네이티브 VLAN’의 트래픽으로 간주해 해당 VLAN으로 전송합니다.
  • 기본 VLAN ID
    네이티브 VLAN의 기본값은 VLAN 1이며, 보통 변경이 가능합니다. 변경 시 양쪽 스위치의 트렁크 포트에서 동일한 네이티브 VLAN ID를 설정해야 정상 동작합니다.
  • 레거시 장비 호환성
    허브나 VLAN 미지원 장비가 트렁크에 연결되어 있을 때, 이들 장비는 태그를 제거하고 프레임을 처리하므로 네이티브 VLAN을 통해 통신 호환성을 확보할 수 있습니다.
  • 보안 고려사항
    네이티브 VLAN이 잘못 설정되거나 변경되지 않으면, 태그 없는 트래픽이 의도치 않은 VLAN으로 유입되어 VLAN 호핑(VLAN hopping) 공격에 취약해질 수 있으므로, 보안을 위해서는 트렁크에서 네이티브 VLAN을 별도의 VLAN으로 분리하고, 액세스 포트에서는 네이티브 VLAN을 사용하지 않는 것이 권장됩니다.

네트워크 구성 예시

  • VLAN 10
  • SW1, SW2, SW3 간 물리적 연결:
    • SW1 포트 Gi0/48 ↔ SW2 포트 Gi0/48 (트렁크)
    • SW2 포트 Gi0/47 ↔ SW3 포트 Gi0/47 (트렁크)
  • 호스트:
    • A(192.168.10.10/24) — SW1 Fa0/1 (액세스, VLAN 10)
    • B(192.168.10.20/24) — SW3 Fa0/1 (액세스, VLAN 10)

1단계: ARP 요청 발생 (브로드캐스트)

  1. 호스트 A가 호스트 B의 MAC 주소를 모를 때,
    • A → 브로드캐스트: Who has 192.168.10.20? Tell 192.168.10.10
  2. A의 프레임은 SW1 Fa0/1에 들어오면, 스위치는 해당 포트를 VLAN 10 액세스 포트로 인식

2단계: 태깅 및 트렁크 전달

  1. SW1은 트렁크 포트(Gi0/48) 로 프레임을 전달
  2. 802.1Q 태그를 추가하여:
  3. csharp
    코드 복사
    [Ethernet Header | VLAN Tag(vlan-id=10) | Payload(ARP Req) | FCS]

3단계: 중간 스위치의 처리

  1. SW2 트렁크 Gi0/48으로 들어온 태그드 프레임 수신
  2. VLAN ID=10으로 학습/포워딩 결정
  3. 목적지 MAC 테이블에 B의 MAC이 아직 없으면, 트렁크 Gi0/47 및 해당 VLAN의 다른 액세스 포트로 브로드캐스트 복제

4단계: 최종 액세스 포트 전달 및 응답

  1. SW3 트렁크 Gi0/47으로 들어온 태그드 프레임 수신
  2. VLAN ID=10 액세스 포트(Fa0/1)에 태그 제거(untag) 후 호스트 B에 전달
  3. B는 ARP 요청을 받아 자신의 MAC을 응답(A → B unicast ARP Reply)
    • 이때 응답 프레임도 마찬가지로 SW3 → SW2 → SW1을 태그드 트렁크로 거쳐 전달