본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

VXLAN(Virtual eXtensible LAN)은 2계층 이더넷 프레임을 UDP로 감싸 3계층 IP 망 위로 실어 보냄으로써, 물리망과 독립된 논리 2계층 망을 최대 약 1,600만 개까지 만들 수 있게 하는 네트워크 가상화 오버레이 기술이다.

VXLAN은 대규모 데이터 센터와 멀티테넌트 클라우드에서 VLAN의 한계를 넘기 위해 VMware, Cisco, Arista 등이 제안했고, 2014년 IETF RFC 7348로 공개되었다. 물리망(언더레이, underlay)은 평범한 3계층 IP 망으로 두고, 그 위에 VXLAN 터널로 이어진 논리망(오버레이, overlay)을 만든다. 같은 VXLAN 세그먼트에 속한 가상 머신은 서로 다른 랙, 다른 서브넷에 있어도 같은 2계층 망에 있는 것처럼 통신한다.

VLAN·전통 2계층 망의 한계 VXLAN의 해결
VLAN ID가 12비트라 쓸 수 있는 세그먼트가 4,094개뿐. 테넌트가 많은 클라우드에는 모자람 24비트 VNI로 약 1,677만 개 세그먼트
2계층 망을 넓히면 STP가 루프 방지를 위해 링크를 막아 대역폭 낭비 언더레이는 3계층 라우팅이라 STP가 필요 없고 ECMP로 모든 링크 사용
가상 머신 수만큼 스위치 MAC 테이블이 커짐 언더레이 스위치는 VTEP의 IP만 알면 되고 가상 머신 MAC은 VTEP이 관리
가상 머신을 다른 서브넷·랙으로 이동(라이브 마이그레이션)하면 IP가 바뀜 3계층 망을 넘어 2계층 세그먼트를 확장해 IP를 유지한 채 이동
구성 요소 역할
VNI(VXLAN Network Identifier) 24비트 세그먼트 식별자. VLAN ID에 해당하며 테넌트·세그먼트를 구분한다
VTEP(VXLAN Tunnel End Point) 터널의 양 끝점. 원래 프레임을 캡슐화해 보내고 받은 패킷을 역캡슐화한다. 하이퍼바이저의 가상 스위치(소프트웨어 VTEP)나 ToR 스위치(하드웨어 VTEP)에 둔다
VXLAN 게이트웨이 VXLAN 세그먼트와 기존 VLAN·물리 서버 망을 연결(2계층 게이트웨이)하거나 VNI 사이를 라우팅(3계층 게이트웨이)한다
언더레이 망 VTEP 사이 IP 패킷을 나르는 물리 3계층 망. 보통 스파인-리프 구조에 ECMP 라우팅
제어 평면 어떤 MAC이 어느 VTEP 뒤에 있는지 알아내는 방식. 멀티캐스트 기반 학습 또는 BGP EVPN

원래 이더넷 프레임 앞에 VXLAN 헤더, UDP 헤더, 외부 IP 헤더, 외부 이더넷 헤더를 차례로 붙인다(캡슐화).

헤더 크기 내용
외부 이더넷 14바이트(802.1Q 태그 시 18) 다음 홉의 MAC 주소
외부 IP 20바이트(IPv6는 40) 출발지 VTEP IP, 목적지 VTEP IP
UDP 8바이트 목적지 포트 4789(IANA 지정). 출발지 포트는 안쪽 프레임 헤더의 해시값으로 정해 ECMP가 흐름별로 경로를 나누게 한다
VXLAN 8바이트 플래그 8비트(I 플래그=1이면 VNI 유효), 예약 24비트, VNI 24비트, 예약 8비트
원래 이더넷 프레임 가변 가상 머신이 보낸 2계층 프레임 그대로

캡슐화로 IPv4 기준 약 50바이트가 늘어난다. 원래 프레임이 1,500바이트면 바깥 패킷은 1,550바이트가 되므로 언더레이 MTU를 1,550 이상(흔히 9,000바이트 점보 프레임)으로 키우거나 가상 머신 MTU를 줄여야 단편화와 패킷 손실을 피한다.

유니캐스트 전달

편집 원본 편집
  1. 가상 머신 A가 같은 VNI의 가상 머신 B에게 프레임을 보낸다.
  2. A 쪽 VTEP이 B의 MAC이 어느 VTEP 뒤에 있는지 자기 매핑 테이블에서 찾는다.
  3. 프레임을 VXLAN·UDP·IP 헤더로 감싸 B 쪽 VTEP IP로 보낸다. 언더레이는 평범한 IP 패킷으로 라우팅한다.
  4. B 쪽 VTEP이 헤더를 벗기고 VNI를 확인한 뒤 원래 프레임을 B에게 넘긴다.

BUM 트래픽과 주소 학습

편집 원본 편집

목적지를 모르는 프레임, 브로드캐스트, 멀티캐스트(BUM: Broadcast, Unknown unicast, Multicast)는 같은 VNI의 모든 VTEP에 보내야 한다. 처리 방식은 세 가지다.

방식 동작 특징
멀티캐스트 기반 플러드 앤 런(RFC 7348 기본) VNI마다 IP 멀티캐스트 그룹을 정해 BUM을 그 그룹으로 보내고, 받은 패킷의 안쪽 출발지 MAC과 바깥 출발지 IP를 짝지어 학습 언더레이에 멀티캐스트 라우팅(PIM)이 필요
헤드엔드 복제(ingress replication) 출발 VTEP이 같은 VNI의 VTEP 목록에 유니캐스트 사본을 하나씩 보냄 멀티캐스트 불필요. VTEP이 많으면 복제 부담
BGP EVPN 제어 평면 VTEP끼리 BGP EVPN으로 MAC·IP와 VTEP 매핑을 미리 광고 플러딩이 줄고, VTEP이 ARP 요청에 대신 응답(ARP 억제). 대규모 데이터 센터의 사실상 표준
구분 VLAN(IEEE 802.1Q) VXLAN
식별자 12비트 VLAN ID(4,094개) 24비트 VNI(약 1,677만 개)
동작 계층 2계층 태깅 2계층 프레임을 3계층(UDP/IP)으로 캡슐화
확장 범위 하나의 2계층 도메인 안 IP로 닿는 곳이면 어디든(랙·데이터 센터 사이)
루프 방지 STP 필요, 막힌 링크 생김 언더레이 라우팅·ECMP로 모든 링크 사용
오버헤드 4바이트 태그 약 50바이트, MTU 조정 필요
처리 장비 일반 스위치 VTEP(가상 스위치, VXLAN 지원 스위치)
주 용도 사내 LAN 분리 클라우드·데이터 센터 멀티테넌시, 가상 머신 이동

다른 오버레이 기술과 비교

편집 원본 편집
구분 VXLAN NVGRE Geneve
캡슐화 UDP(4789) GRE UDP(6081)
식별자 24비트 VNI 24비트 VSID 24비트 VNI
ECMP 분산 UDP 출발지 포트로 가능 GRE 헤더만으로는 어려움 UDP 출발지 포트로 가능
확장성 고정 헤더 고정 헤더 가변 길이 옵션(TLV)으로 메타데이터 추가
표준 RFC 7348(2014) RFC 7637(2015) RFC 8926(2020)
장점 단점
세그먼트 수 제약 해소, 테넌트별 망 분리 캡슐화 오버헤드와 MTU 조정 필요
물리망을 바꾸지 않고 논리망을 소프트웨어로 생성·변경(SDN과 결합) 바깥 헤더만 보는 장비는 안쪽 트래픽을 볼 수 없어 감시·장애 분석이 어려움
3계층 언더레이로 STP 제거, ECMP로 대역폭 활용 멀티캐스트 또는 EVPN 같은 제어 평면 설계 필요
가상 머신이 IP를 유지한 채 랙·사이트를 넘어 이동 자체 인증·암호화 기능이 없음

VXLAN에는 인증·암호화 기능이 없다. RFC 7348은 2계층 프레임을 IP로 실어 보내면 공격 표면이 넓어진다고 지적하며, 위조된 VXLAN 패킷 주입과 도청을 막으려면 VTEP 사이 구간을 IPsec 등으로 보호하라고 권고한다. 실무에서는 언더레이를 별도 관리망으로 격리하고, VTEP이 아닌 곳에서 오는 UDP 4789 패킷을 경계에서 차단한다. 방화벽은 대개 바깥 헤더만 보므로 오버레이 안쪽 트래픽은 VTEP이나 분산 방화벽에서 검사한다. VXLAN 자체는 분리 수단일 뿐이고, 워크로드 단위 접근 통제는 마이크로 세그멘테이션이 맡는다.

  • 「RFC 7348: Virtual eXtensible Local Area Network (VXLAN)」, IETF, 2014.
  • 「RFC 8365: A Network Virtualization Overlay Solution Using Ethernet VPN (EVPN)」, IETF, 2018.
  • 「RFC 8926: Geneve: Generic Network Virtualization Encapsulation」, IETF, 2020.