
VXLAN
- Virtual eXtensible LAN
- Layer 2 VLAN의 확장버전, IP 기반의 Routed Network 위에 L2/L3 Overlay Network를 구성하는 기술.
- 2011년 Cisco, VMware에서 시작으로 2015년 Arista, Juniper, HPE와 같은 회사에서 협업하여 만든 기술.
기본 개념
- VLAN은 12bit의 VLAN-ID를 사용하며 최대 4000개 (4096개 중 예약된 VLAN 제외)만 사용할 수 있다.
- VXLAN은 헤더에 50byte (Mac over IP, UDP Header, 24bit VLAN-ID)를 추가로 구성하여 1,600만개까지 사용 가능.
- 위 와 같이 VXLAN은 VLAN을 확장한 개념이며, VLAN보다 더 많은 네트워크를 생성할 수 있다.
차이점
- Layer 2 Network에서는 ARP 테이블을 수집하기 위해 Broadcast를 이용하며, MAC address는 스위치에서 수집/관리.
- VXLAN은 VM들이 각자 ARP 테이블을 보유하고, vSwitch에서 테이블을 관리한다.
- vSwitch : VMware에서 사용되는 가상 스위치이며, VSS(Virtual Standard Swtich)와 VDS(Virtual Distributed Switch) 두 종류로 나뉜다.
- VXLAN에서 BUM 트래픽에 대해, IP Multicast 기반으로 전송한다.
- Multicast로 ARP 테이블을 갱신하고 직접 해당 스위치 쪽으로 P2P Tunnel로 통신하는 방식이다.
VXLAN을 사용하는 이유
※ MAC Address Table의 한계
가상화 환경에서는 이전에 서버당 2개의 MAC 주소를 가지고 운영했다.
가상화 환경, VM이 생성되면 할당 할 MAC 주소가 필요하다.
위 내용을 요약해 보면, VM을 100개 생성 시 MAC 주소는 200개가 된다. 추가 생성시 그만큼의 MAC이 더 생성된다.
이 MAC주소들을 스위치 MAC 테이블에 저장을 하게 된다면 스위치의 처리 속도 및 메모리에 큰 영향을 끼친다.
VXLAN은 스위치에서 MAC 주소를 담당하지 않고 가상 스위치에서 MAC주소를 담당하게 하여 위 같은 문제를 해결한다.
VXLAN 용어
VTEP (VXLAN Tunnel End Point)
※ VTEP은 VXLAN 기술에서 핵심 역할로 다음 두가지의 기능이 있다.
1. VXLAN Encapsulation / Decapsulation
- Encapsulation : 네트워크 트래픽을 VXLAN 터널로 보내기 위해 캡슐화를 수행한다.
- 즉, 기존 이더넷 프레임에 VXLAN 헤더를 추가하여 UDP 패킷으로 변환한다.
- Decapsulation : 반대로 VXLAN 터널로 받은 트래픽에서 VXLAN 헤더를 제거하고 원래의 이더넷 프레임을 복원.
2. Tunnel End Point 역할
- VTEP은 VXLAN 터널의 시작점과 끝점을 정의 한다. (1번과 같은 역할을 하기 때문)
- 터널의 끝에서 목적지 장치(서버나 VM)로 트래픽을 전달한다.
- 단, 하단의 End-Pint 장비에서는 VXLAN 동작 여부를 알지 못한다.
VNI (Virtual Network Identifier)
※VNI는 VXLAN 기술에서 네트워크를 구분하는 고유의 식별자 역할이다.
이 것은 VLAN의 VLAN-ID와 비슷하지만, 더 큰 범위를 지원하여 DataCenter 네트워크에서 확장성/유연성 제공.
- VLAN과 VXLAN Segment 간 mapping
- 같은 VLAN에 대해 여러개의 VNI mapping이 가능하다.
NVE (Network Virtualization Interface)
※NVE는 VXLAN에서 VTEP의 역할을 수행하는 장치 또는 인터페이스.
VXLAN De-Encapsulation이 발생하는 Logical Interface.
1. NVE 역할
- VXLAN 터널 관리
- VXLAN 터널을 생성하고 유지한다.
- VNI를 기반으로 데이터 트래픽을 처리한다.
- 캡슐화 및 디 캡슐화
- NVE는 가상네트워크에서 들어오는 트래픽을 VXLAN 헤더로 캡슐화 하여 물리 네트워크로 전달.
- 반대로, 물리 네트워크에서 VXLAN 터널을 통해 들어오면 헤더를 제거 후 가상 네트워크로 전달.
VXLAN Segment
※ VM간 통신을 위한 VXLAN Layer 2 Overlay Network.
정리해서 가상 네트워크의 "하나의 단위" 라고 생각하면 된다.
- VNI를 통해 구분
- VXLAN Segment는 VNI로 고유하게 식별된다.
- 예) VNI 10001은 하나의 VXLAN Segment이며, 해당 VNI와 Mapping된 장치끼리만 통신 가능.
- 가상 네트워크 분리
- 서로 다른 VXLAN Segment는 트래픽이 완전히 분리되어있어, 별도의 vlan처럼 동작한다.
- 같은 물리적 네트워크 상에서도 논리적으로 다른 네트워크로 운영된다.
- 확장성
- VXLAN은 최대 16,777,216개의 VXLAN Segment를 지원한다.
VXLAN Gateway
※VXLAN 기반 가상 네트워크와 물리적 네트워크를 연결하는 역할.
1. VXLAN과 VLAN 간 연결.
2. Multi-Tenant (다중 테넌트)환경 지원
- 각 VXLAN Segment(VNI)가 서로 다른 VLAN-ID에 매핑되어 다중 테넌트 환경에서도 트래픽이 격리됨.
3. Routing / Bridging
- VXLAN Gateway는 VXLAN과 VLAN 간 L2 브리징 또는 L3 라우팅을 제공 함.
- 서로 다른 VXLAN Segment 간 통신 L3 Routing
- VXLAN과 VLAN간 트래픽 전달 L2 Bridging
Multi-Tenant (다중 테넌트)
클라우드나 데이터센터에서 하나의 물리적 네트워크나 인프라를 여러 사용자가 공유하여 사용하는 환경.
1. 리소스 공유 2. 논리적 분리 3. 보안
VXLAN에서는 VNI를 사용하여 각 테넌트 네트워크를 구분한다.
BUM 트래픽
BUM : Broadcast, Unknown Unicast, Multicast 트래픽의 약어. 주로 이더넷 스위치 네트워크에서 발생함.
1. Broadcast : 모든 네트워크 장치로 전송되는 트래픽.
2. UnKnown Unicast : MAC주소는 알고 있지만, 스위치의 MAC 테이블에 해당 주소가 없을때 발생하는 트래픽.
3. Multicast : 특정 그룹에 속한 여러 장치에 전송되는 트래픽.
'IT - Infra Tech > Network' 카테고리의 다른 글
| Network 디자인 - 네트워크 모델 (0) | 2024.12.26 |
|---|