반응형
Ⅰ. VXLAN 기술이란?
ⅰ. 개요 및 배경
- VXLAN(Virtual Extensible LAN)은 기존 L2 VLAN의 개수 한계(최대 4,094개)를 극복하기 위해 제안된 L2 over L4 오버레이 캡슐화 기술입니다.
- 대규모 멀티테넌트 클라우드 데이터센터에서 수만 개 이상의 가상 네트워크 세그먼트를 생성하고 관리하기 위해 필수적으로 사용됩니다.
ⅱ. 핵심 개념
- 테넌트 가상머신(VM)의 L2 이더넷 프레임을 L4 UDP 패킷으로 캡슐화하여 L3 언더레이 네트워크 상에서 L2 터널링을 구현합니다.
- 기존 물리 네트워크 스위치 장비나 루팅 구조의 변경 없이 논리적으로 격리된 대규모 오버레이 네트워크를 제공합니다.
Ⅱ. VXLAN 기술 특징
ⅰ. 24비트 VNI(VXLAN Network Identifier) 지원
- 기존 VLAN ID(12비트, 4,094개) 한계를 24비트로 대폭 확장하여 최대 약 1,600만 개(16,777,216개)의 가상 네트워크 ID를 제공합니다.
- 대규모 멀티테넌시 클라우드 환경(AWS, OpenStack 등)에서 고객별 네트워크 격리 요구사항을 완벽히 수용합니다.
ⅱ. L3 언더레이 기반 L2 오버레이 확장 (Overlay Network)
- 물리 네트워크(Underlay)는 L3 라우팅으로 작동하므로 Spanning Tree Protocol(STP)의 포트 차단 문제가 발생하지 않습니다.
- 모든 물리 링크의 대역폭을 ECMP(Equal-Cost Multi-Path) 기법을 활용해 효율적으로 100% 활용할 수 있습니다.
ⅲ. 표준 UDP 포트 캡슐화
- UDP Destination Port 4789번(IANA 표준)을 사용하여 L3 네트워크 장비의 투명한 통신을 보장합니다.
- 지리적으로 분산된 서로 다른 데이터센터 간(DCI) L2 네트워크 확장을 용이하게 처리할 수 있습니다.
Ⅲ. VXLAN 기술 동작방식
ⅰ. 패킷 캡슐화 (Encapsulation)
- 송신 호스트(VM)에서 생성된 Original L2 Frame에 24비트 VNI 정보를 담은 VXLAN Header를 부착합니다.
- Outer UDP Header(Port 4789), Outer IP Header(VTEP IP), Outer Ethernet Header를 순차적으로 감싸 L3 언더레이 네트워크로 전송합니다.
ⅱ. 패킷 디캡슐화 (Decapsulation)
- 수신 VTEP 장비는 Outer IP 및 UDP 헤더(Port 4789)를 확인하여 VXLAN 패킷임을 판별합니다.
- Outer 헤더와 VXLAN 헤더를 제거(Decapsulation)한 후 Original L2 Frame만을 추출하여 목적지 가상머신(VM)으로 전달합니다.
ⅲ. VTEP 간 MAC 주소 학습 및 BUM 트래픽 처리
- Flood-and-Learn 방식: IP Multicast를 이용하여 BUM(Broadcast, Unknown Unicast, Multicast) 패킷을 플러딩하고 상대 VTEP의 MAC 주소를 데이터 평면에서 자동 학습합니다.
- BGP-EVPN 제어 평면 방식: MP-BGP 라우팅 프로토콜을 이용해 VTEP 간 MAC 및 IP 주소 정보를 제어 평면(Control Plane)에서 사전 교환함으로써 불필요한 플러딩을 최적화합니다.
Ⅳ. VXLAN 기술 구성 및 흐름도
ⅰ. VXLAN 주요 구성 요소
- VTEP (VXLAN Tunnel End Point): VXLAN 패킷의 캡슐화 및 디캡슐화를 수행하는 엔티티로, 가상 스위치(OVS 등) 또는 하드웨어 네트워크 스위치로 구현됩니다.
- VNI (VXLAN Network Identifier): 개별 VXLAN 오버레이 세그먼트를 식별하는 24비트 구분자입니다.
- NVE (Network Virtualization Edge): VTEP 기능이 동작하는 가상화 인터페이스 구역입니다.
ⅱ. VXLAN 패킷 구조 및 데이터 전달 흐름도

[VXLAN 아키텍처 및 통신 흐름도]
[ Tenant VM A ] [ Tenant VM B ]
(10.0.0.10/24) (10.0.0.20/24)
│ ▲
Original L2 Original L2
Frame Frame
▼ │
┌──────────────────────────────┐ ┌──────────────────────────────┐
│ Source VTEP (Host A) │ │ Destination VTEP (Host B) │
│ IP: 192.168.1.10 │ │ IP: 192.168.1.20 │
├──────────────────────────────┤ ├──────────────────────────────┤
│ 캡슐화 (Encapsulation) │ │ 디캡슐화 (Decapsulation) │
│ [Outer IP][UDP][VXLAN][Inner]│ │ Outer 헤더 제거 후 Inner 전달 │
└──────────────┬───────────────┘ └──────────────▲───────────────┘
│ │
│ Outer UDP Packet (Port 4789) │
└───────────────────► [ L3 Underlay ] ─────────────────────┘
(IP Routing / ECMP)
- VM A → VTEP A: VM A가 동일 VNI 대역의 VM B로 이더넷 프레임을 송신합니다.
- VTEP A 캡슐화: VTEP A는 Inner L2 Frame에 VXLAN Header(VNI) + UDP Header(4789) + Outer IP Header(Src: 192.168.1.10, Dst: 192.168.1.20)를 추가합니다.
- L3 언더레이 전달: 언더레이 라우터는 Outer IP 헤더를 보고 표준 IP 라우팅을 통해 VTEP B로 전달합니다.
- VTEP B 디캡슐화: VTEP B는 Outer 헤더를 해제하고 원본 프레임을 VM B로 최종 전달합니다.
Ⅴ. VXLAN 기술 설치 방법
ⅰ. 리눅스 환경 사전 준비사항
- iproute2 패키지와 커널 v3.7 이상이 탑재된 Linux 환경(Ubuntu/RHEL)을 준비합니다.
- VTEP 노드 간 물리 L3 네트워크(Underlay IP) 통신 상태를 ping으로 확인합니다.
ⅱ. Linux Kernel VXLAN 모듈 로드 및 환경 검증
- sudo modprobe vxlan 명령어를 실행하여 커널 모듈을 활성화합니다.
- lsmod | grep vxlan 명령어로 모듈이 정상적으로 로드되었는지 확인합니다.
Ⅵ. VXLAN 기술 사용 방법
ⅰ. Unicast 방식의 VXLAN 인터페이스 생성
- sudo ip link add dev vxlan10 type vxlan id 10 local 192.168.1.10 remote 192.168.1.20 dstport 4789 dev eth0 명령으로 VNI 10을 사용하는 터널 인터페이스를 생성합니다.
- sudo ip addr add 10.0.0.1/24 dev vxlan10 명령으로 오버레이 가상 IP를 할당합니다.
ⅱ. 인터페이스 활성화 및 통신 테스트
- sudo ip link set dev vxlan10 up 명령으로 인터페이스를 활성화합니다.
- 원격 노드의 오버레이 IP(10.0.0.2)로 ping 테스트를 수행하여 오버레이 통신을 검증합니다.
Ⅶ. VXLAN 기술 자주 쓰는 명령어
ⅰ. VXLAN 인터페이스 조회 및 생성 관련 명령어
- ip -d link show dev <interface>: VXLAN 인터페이스의 VNI, VTEP IP, UDP Port 등 상세 속성을 조회합니다.
- ip link add dev <name> type vxlan id <VNI> local <Local_IP> remote <Remote_IP> dstport 4789: 1:1 유니캐스트 방식 VXLAN 터널 생성.
ⅱ. VTEP FDB(Forwarding Database) 테이블 관리 명령어
- bridge fdb show dev <interface>: VXLAN 터널에 바인딩된 MAC 주소와 상대 VTEP IP 맵핑 정보 테이블을 확인합니다.
- bridge fdb add <MAC_ADDR> dev <interface> dst <REMOTE_VTEP_IP>: FDB 테이블에 MAC-VTEP 엔트리를 수동으로 정적 추가합니다.
Ⅷ. VXLAN 기술 활용방안
ⅰ. 대규모 멀티테넌트 클라우드 데이터센터 격리
- 하나의 물리 인프라 위에서 고객(테넌트)별 L2 네트워크를 VNI로 완전 격리하여 안전한 가상 데이터센터(VDC)를 구축합니다.
- 동일한 IP Subnet을 가진 테넌트 가상머신들을 물리적 서버 위치에 제약 없이 자유롭게배치합니다.
ⅱ. 데이터센터 간 연결 (DCI) 및 VM Live Migration
- 지리적으로 이격된 데이터센터 간 L2 네트워크 영역을 확장하여 VM의 IP 변경 없이 vMotion / Live Migration을 수행합니다.
- 재해 복구(DR) 센터 구성 시 스위치오버 과정에서 IP 재설정 작업 없이 신속하게 서비스를 복구할 수 있습니다.
Ⅸ. VXLAN 기술 트러블 슈팅
ⅰ. MTU 패킷 파편화(Fragmentation) 및 드롭 문제
- VXLAN 캡슐화 과정에서 총 50 Byte(Outer Eth 14B + Outer IP 20B + UDP 8B + VXLAN 8B)의 추가 오버헤드가 발생합니다.
- 언더레이 물리 네트워크 장비의 MTU를 최소 1550~1600 Byte 이상(Jumbo Frame)으로 확장하여 패킷 파편화 및 드롭을 방지해야 합니다.
ⅱ. 방화벽 UDP Port 차단 여부 점검
- VXLAN 표준 포트인 UDP 4789(또는 일부 벤더 고유 포트 8472)가 언더레이 방화벽에서 차단되면 터널링이 실패합니다.
- nc -z -v -u <Remote_VTEP_IP> 4789 또는 tcpdump -i eth0 port 4789 명령어로 패킷 도달 여부를 분석합니다.
ⅲ. BUM 트래픽 전송 및 FDB 미학습 문제 해결
- 멀티캐스트 설정 오류 또는 EVPN BGP 피어링 문제로 상대 MAC 주소가 학습되지 않아 통신이 차단될 수 있습니다.
- bridge fdb show 명령어로 목적지 MAC 및 VTEP IP 바인딩 상태를 검증하고, 수동 FDB 등록 또는 BGP-EVPN 세션 상태를 점검합니다.
반응형
'네트워크' 카테고리의 다른 글
| 차세대 무선 통신의 혁명, Wi-Fi 7(IEEE 802.11be) (0) | 2026.07.27 |
|---|---|
| 우리 집 인터넷이 '이중 NAT'인 이유: CGNAT와 NAT444 완벽 정리 (0) | 2026.02.24 |
| 무선 네트워크(Wireless Network)에 대해 알아보겠습니다. (0) | 2025.12.24 |
| BGP (Border Gateway Protocol) 에 대해 알아보겠습니다. (0) | 2025.10.24 |
| GARP(Gratuitous ARP) 에 대해 알아보겠습니다. (0) | 2025.10.23 |