[VxLAN이란?]

VxLANVirtual eXtensible Local Area Network로 네트워크 가상화 기술로, 데이터 센터와 클라우드 컴퓨팅 환경에서 자주 사용된다. 특히 가상화 기술이 확산됨에 따라 테넨트의 수가 급격히 증가하는 데이터 센터에서는 각 테넨트 간의 네트워크 격리 요구가 커지고 있다.

 

[VLANVxLAN의 차이]

VLAN 12bit의 태그 필드를 사용하여 최대 4096개의 VLAN만 지원할 수 있다. 근데 Layer2 의 규모가 커서 네트워크를 격리시키기 충분하지 않다. 또한 VLANLayer2에 고정되므로, 대규모 VM Migration에 적합하지 않다.

 

이 문제를 해결하고자 등장한 것이 VxLAN이다. VxLAN은 각 테넨트를 구분하기 위해 VxLAN 네트워크 ID(VNI)를 사용한다. VNI 24bit 필드를 사용해 최대 16,777,216개의 VxLAN을 지원할 수 있어 VLAN에 비해 훨씬 더 많은 isolation을 제공한다.

 

 

 

[MAC-in-UDP 캡슐화 구조]

 

가상화 환경에서는 스위치의 MAC address 테이블이 제한되어 있는데, 데이터 센터의 MAC 주소 테이블은 크게 증가한다는 문제가 있다. 이 문제를 해결하고자 VxLANMAC-in-UDP 캡슐화를 사용한다.

 

그리고 Original Ethernet FrameUDP로 캡슐화하는게 VTEP(VxLAN Tunnel Endpoint)이다. VTEP는 모든 VM이 공유할 수 있고, 하나의 physical machine이 하나의 VTEP에 대응되는 것이다. VTEP를 통해 가상화로 발생하는 MAC address 테이블 부족 문제를 해결한다.

VxLAN은 기본 IP 네트워크를 가로질러 두 스위치 간에 VxLAN tunnel을 설정하여 기존 Layer 3에서 Layer 2로 확장한다. 따라서 물리적 네트워크가 Layer 2에서 운영되든, Layer3에서 운영되든 상관없이 VM의 통신에 영향을 미치지 않는다.

 

[VxLAN의 장점]

VxLAN은 네트워크 tenantisolation을 보장하고, 스위치의 MAC address table 한계를 극복하고, 네트워크 관리 또한 편하다.

 

'Kubernetes' 카테고리의 다른 글

Application Deployment  (4) 2024.11.06
Configuration File (YAML format), Label, Selector  (1) 2024.10.29
Kubernetes Design Principle  (2) 2024.10.29
Kubernetes Architecture  (1) 2024.10.15
컨테이너 기초 개념  (3) 2024.09.05
코코자