가상 네트워크 vSwitch 기본 구조 VLAN과 VXLAN을 활용한 네트워크 격리 원리

    가상화 환경에서 가상머신(VM)들이 서버 내부 또는 서로 다른 서버 간에 통신하기 위해서는 물리적인 네트워크 장비뿐만 아니라 하이퍼바이저 내부에서 동작하는 가상 네트워크 아키텍처가 필수적입니다. 하나의 물리 서버 안에 수십, 수백 대의 가상머신이 생성되는 현대 데이터센터에서는 네트워크 패킷을 올바르게 전달하고, 서로 다른 테넌트(사용자) 간의 데이터 접근을 안전하게 차단하는 네트워크 격리 기술이 핵심 과제로 떠올랐습니다.

    이 이러한 가상 네트워크의 중심에는 소프트웨어로 구현된 가상 스위치(vSwitch)가 존재하며, 네트워크 격리를 위해 전통적인 VLAN(Virtual Local Area Network)과 대규모 클라우드 환경을 위한 VXLAN(Virtual Extensible LAN) 기술이 함께 활용됩니다.

    이번 글에서는 vSwitch의 기본 동작 구조를 살펴보고, VLAN과 VXLAN이 가상 네트워크를 격리하는 구체적인 원리와 실무 아키텍처 설계 시 고려해야 할 차이점을 상세히 분석해 보겠습니다.

    1. 가상 스위치(vSwitch)의 개념과 작동 구조

    가상 스위치(vSwitch)는 하이퍼바이저 내부 커널 공간에서 작동하는 소프트웨어 기반 2계층(Layer 2) 네트워크 장비입니다. 물리적인 네트워크 스위치와 마찬가지로 MAC 주소 학습(MAC Address Learning), 패킷 포워딩, 프레임 필터링 기능을 수행합니다.

    vSwitch의 주요 구성 요소는 다음과 같습니다.

    • vNIC(Virtual Network Interface Card): 가상머신 내부에 존재하는 가상 네트워크 카드로, 물리 서버의 NIC처럼 고유한 MAC 주소를 가집니다.
    • 가상 포트(Virtual Port): vSwitch 상에 존재하는 논리적 포트로, 가상머신의 vNIC와 연결되어 패킷이 오가는 통로 역할을 합니다.
    • 업링크 포트(Uplink Port): vSwitch와 물리 서버의 실제 물리 NIC(pNIC)를 연결하는 포트로, 서버 외부의 물리 네트워크로 패킷을 내보내거나 들어오는 패킷을 수신합니다.

    가상머신이 패킷을 전송하면 패킷은 vNIC를 거쳐 vSwitch의 가상 포트로 들어옵니다. vSwitch는 해당 패킷의 목적지 MAC 주소를 확인한 후, 동일한 물리 서버 내부의 다른 가상머신으로 전달하거나 업링크 포트를 통해 외부 물리 스위치로 전달합니다. 동일 호스트 내부 VM 간의 통신은 물리 네트워크 라인을 거치지 않고 호스트 메모리 내에서 직접 처리되므로 매우 빠른 통신 속도를 자랑합니다.

    2. VLAN을 활용한 전통적인 네트워크 격리 원리

    물리적 네트워크 인프라에서 가장 널리 쓰여 온 격리 방식은 IEEE 802.1Q 표준 기반의 VLAN(Virtual Local Area Network)입니다. VLAN은 동일한 물리적 스위치 환경을 논리적으로 분할하여 브로드캐스트 도메인을 격리하는 기술입니다.

    VLAN의 격리 원리와 패킷 태깅(Packet Tagging)

    vSwitch 환경에서 VLAN을 사용할 때, 서로 다른 보안 등급을 가진 가상머신 그룹은 개별 VLAN ID를 부여받은 포트 그룹(Port Group)에 할당됩니다.

    1. 가상머신이 기본 이더넷 프레임 패킷을 생성하여 vSwitch로 전달합니다.
    2. vSwitch는 패킷이 전달된 포트 그룹에 설정된 VLAN ID 태그(4바이트 헤더)를 패킷에 삽입합니다. 이 과정을 태깅(Tagging)이라고 부릅니다.
    3. 태깅된 패킷은 업링크 포트를 통해 외부 물리 스위치로 전달되며, 물리 스위치는 동일한 VLAN ID를 가진 포트나 수신지로만 해당 패킷을 전달합니다.
    4. 패킷이 목적지 가상머신이 속한 vSwitch에 도달하면 VLAN 태그가 제거된 후 최종 가상머신으로 입력됩니다.

    이처럼 VLAN ID가 다르면 L2 레벨에서 물리적으로 분리된 것과 동일한 효과를 거두므로, 라우터를 거치지 않고서는 서로 다른 VLAN 간 데이터 통신이 불가능해져 안전한 보안 격리가 구현됩니다.

    VLAN의 구조적 한계점

    VLAN은 직관적이고 안정적이지만 대규모 멀티테넌트 클라우드 환경에서는 다음과 같은 명확한 한계에 부딪힙니다.

    • 4,096개의 ID 한계: 802.1Q 헤더 내 VLAN ID 필드가 12비트에 불과하여 이론상 최대 4,094개(0과 4095는 예약)의 VLAN만 생성할 수 있습니다. 수만 개의 가상머신과 테넌트를 수용하는 대형 데이터센터에서는 ID가 턱없이 부족합니다.
    • 물리 스위치 설정 동속성: 가상머신이 물리 서버 A에서 물리 서버 B로 라이브 마이그레이션(vMotion 등)할 때, 이동할 물리 스위치 트렁크 포트에도 동일한 VLAN 태그가 미리 허용 설정되어 있어야 통신이 끊기지 않습니다.

    3. VXLAN을 통한 Overlay 네트워크 격리 혁신

    VLAN의 제약 사항을 극복하기 위해 등장한 기술이 바로 IETF 표준 패킷 인캡슐레이션 기술인 VXLAN(Virtual Extensible LAN)입니다. VXLAN은 소프트웨어 정의 네트워크(SDN) 아키텍처의 핵심 축을 담당하며, L3(Network Layer) 물리 네트워크 위에 L2(Data Link Layer) 가상 네트워크를 씌우는 오버레이(Overlay) 기술입니다.

    VXLAN의 MAC-in-UDP 캡슐화 원리

    VXLAN은 게스트 가상머신이 생성한 원본 L2 이더넷 프레임 전체를 UDP 패킷 내부의 페이로드로 감싸서(MAC-in-UDP Encapsulation) 전송합니다.

    1. 가상머신이 패킷을 내보내면 vSwitch 내부에 위치한 VTEP(VXLAN Tunnel Endpoint)이라는 가상 인터페이스가 패킷을 가로채 캡슐화 작업을 수행합니다.
    2. VTEP은 원본 L2 프레임에 8바이트 크기의 VXLAN 헤더를 붙입니다. 이 헤더에는 VNI(VXLAN Network Identifier)라는 24비트 고유 식별자가 포함됩니다.
    3. 이어 외부 L3 라우팅이 가능하도록 Outer UDP 헤더와 Outer IP 헤더를 덧붙인 뒤, 물리 네트워크 네트워크로 발송합니다.
    4. 패킷을 수신한 목적지 호스트의 VTEP은 Outer 헤더와 VXLAN 헤더를 제거(Decapsulation)하고, 내부 원본 L2 프레임만 목적지 가상머신으로 전달합니다.

    VXLAN이 제공하는 핵심 이점

    • 1,600만 개 이상의 네트워크 격리: 24비트 VNI를 사용하여 최대 1,677만 2,160개의 가상 네트워크를 독립적으로 격리할 수 있으므로 대규모 대기업 및 공공 클라우드 테넌트 요구사항을 완벽히 충족합니다.
    • L3 라우팅 네트워크를 넘어선 L2 연장: L3 IP 네트워크 위에서 UDP 터널링으로 통신하므로, 물리적 라우터를 넘어 다른 서브넷에 위치한 서버 간에도 동일한 L2 브로드캐스트 네트워크 영역을 구성할 수 있습니다. 이는 서브넷 변경 없이 가상머신을 멀티 랙이나 타 데이터센터로 자유롭게 마이그레이션할 수 있게 해줍니다.

    4. 실무 인프라 운영 경험과 솔직한 현장 견해

    과거 데이터센터 및 하이브리드 클라우드 인프라 구축 프로젝트를 진행하면서 전통적인 VLAN 기반 vSwitch 환경을 소프트웨어 정의 네트워크(SDN) 기반의 VXLAN 오버레이 환경으로 전환했던 경험이 있습니다.

    전통적인 VLAN 환경을 운용할 때는 서비스 요구사항에 따라 새로운 네트워크를 개설할 때마다 네트워크 엔지니어와 협의하여 모든 물리 L2/L3 스위치의 트렁크 포트에 해당 VLAN ID를 수동으로 패치해야 했습니다. 만약 특정 스위치 장비 하나라도 VLAN 셋팅이 누락되면 가상머신이 이동했을 때 순식간에 네트워크가 먹통이 되는 서비스 장애가 일어났습니다.

    반면 VXLAN 오버레이 네트워크를 도입한 후에는 물리 네트워크 스위치 장비들을 단순히 IP 패킷만 빠르게 전달해 주는 밑바탕(Underlay) 역할로 한정할 수 있었습니다. 네트워크 엔지니어가 물리 스위치를 매번 설정할 필요 없이, 가상화 관리 콘솔에서 소프트웨어 클릭 몇 번만으로 24비트 VNI 기반의 격리된 L2 네트워크를 즉시 생성하고 지우는 아질리티(Agility)를 경험했습니다.

    다만 VXLAN 도입 시 실무적으로 반드시 유의해야 했던 부분은 MTU(Maximum Transmission Unit) 사이즈 조정과 CPU 캡슐화 오버헤드였습니다. VXLAN은 캡슐화 과정에서 Outer IP/UDP 헤더 및 VXLAN 헤더가 추가되면서 최소 50바이트 이상의 패킷 헤더 오버헤드가 발생합니다.

    따라서 물리 네트워크 장비의 MTU 패킷 크기를 기존 1500바이트에서 최소 1600바이트 이상(Jumbo Frame 설정 권장)으로 확장하지 않으면 패킷 단편화(Fragmentation)가 발생하여 네트워크 처리 성능이 급격히 저하되었습니다. 또한 VTEP의 캡슐화/데캡슐화 연산이 CPU에 부담을 줄 수 있으므로, 하드웨어 차원에서 VXLAN Offloading 기능을 지원하는 최신 물리 NIC(SmartNIC)을 채택하는 것이 안정적인 서비스 운영에 결정적 역할을 했습니다.

    5. 최종 요약: VLAN과 VXLAN 비교 및 선택 가이드

    구분VLAN (Virtual LAN)VXLAN (Virtual Extensible LAN)
    식별자 크기12비트 (최대 4,094개 ID)24비트 (최대 1,677만 개 VNI)
    작동 계층L2 (Data Link Layer)L2 over L3/UDP (Overlay Network)
    물리 네트워크 종속성물리 스위치의 트렁크 설정 변경 필수물리 네트워크는 단순히 IP 라우팅만 제공 (Underlay)
    프레임 오버헤드4바이트 (802.1Q 태그)50바이트 이상 (Outer IP, UDP, VXLAN 헤더)
    적용 권장 환경소규모 온프레미스, 단일 랙 가상화 인프라대규모 멀티테넌트 클라우드, SDDC, 멀티 랙 인프라

    vSwitch 기반 가상 네트워크 아키텍처를 설계할 때는 운영 중인 인프라의 규모, 물리 네트워크 장비의 사양, 그리고 인프라 확장성 요구사항을 종합적으로 고려하여 VLAN과 VXLAN을 적절히 조합해 사용하시기 바랍니다.

    답글 남기기

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

    광고보고 콘텐츠 계속 읽기
    원치않으시면 뒤로가기를 해주세요

    광고 차단 알림

    광고 클릭 제한을 초과하여 광고가 차단되었습니다.

    단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.

    광고보고 콘텐츠 계속 읽기
    원치않으시면 뒤로가기를 해주세요