본문 바로가기
네트워크/정리

VxLAN

by JihoK 2024. 4. 19.

VXLAN이란 무엇인가?

VXLAN(Virtual Extensible LAN)은 네트워크 오버레이(Network Overlay) 기술로, IP 기반의 라우팅 네트워크 위에 Layer-2 및 Layer-3 오버레이 네트워크를 구성하는 기술입니다. VXLAN은 MAC in UDP 캡슐화 방식을 사용하여, UDP 목적지 포트 4789로 데이터를 전송합니다. 이러한 방식을 통해, VXLAN은 데이터 센터 내에서 더 큰 규모의 네트워크 가상화와 세분화를 가능하게 합니다.

VXLAN을 사용하는 이유는 무엇인가?

  1. 표준 기반의 오버레이 기술: VXLAN은 넓게 지원되는 표준 기반 기술로, 다양한 벤더의 장비와 소프트웨어에서 구현이 가능합니다.
  2. ECMP 기반의 L3 환경 유지 및 활용: ECMP(Equal-Cost Multi-Path)를 통한 트래픽 분산과 라우팅 최적화를 VXLAN 환경에서도 그대로 유지하며 활용할 수 있습니다.
  3. 멀티 테넌시를 위한 세그멘테이션 지원: VXLAN은 다중 임대 환경에서 각 테넌트를 위한 격리된 네트워킹 환경을 제공합니다.
  4. 주소 공간을 16M으로 확장: 전통적인 VLAN의 주소 공간 한계인 4096개를 넘어, VXLAN은 1600만개(VNI)까지 확장 가능한 주소 공간을 제공합니다.
  5. 물리 및 가상 네트워크 인프라 통합: VXLAN은 물리적 네트워크와 가상 네트워크 인프라 간의 경계를 허물고, 통합된 네트워킹 환경을 구성할 수 있게 합니다.
  6. SDN(Software Defined Networking)을 위한 기반 기술: VXLAN은 소프트웨어 정의 네트워킹 환경의 구축을 위한 핵심 기술로 활용됩니다.

VXLAN이 제공하는 가치

VXLAN 기술은 데이터 센터 및 클라우드 환경에서의 네트워크 세그멘테이션, 확장성, 그리고 유연성을 크게 향상시킵니다. 다음은 VXLAN이 제공하는 주요 가치입니다:

 

1. 세그멘테이션(Segmentation)

  • 트래픽 분리: 네트워크 내에서 트래픽을 분리함으로써 보안을 강화합니다.
  • 멀티 테넌시: 다중 임대 환경에서 각 테넌트에 독립된 네트워킹 환경을 제공합니다.

2. IP 이동성(Mobility)

  • 워크로드 이동성: 가상 머신이나 컨테이너와 같은 워크로드가 물리적 위치를 변경하더라도 IP 주소를 유지할 수 있어 데이터 센터 내에서의 유연성과 효율성을 증가시킵니다.

3. 확장성(Scale)

  • 대규모 가상화 환경 지원: 큰 규모의 가상화 환경을 지원하고 네트워크를 쉽게 확장할 수 있어, 클라우드 데이터 센터와 같은 대규모 네트워킹 환경에 이상적입니다.
  • 주소 공간 확장: 최대 16백만(VNI)까지의 주소 공간을 제공하여, 기존 VLAN의 4096개 주소 공간 한계를 크게 뛰어넘습니다.

 


VXLAN 프레임 구조

 

VXLAN (Virtual Extensible LAN)은 MAC in IP Encapsulation을 사용하여 Layer 2 패킷을 Layer 3 네트워크를 통해 전송하는 방법을 기반으로 합니다. VXLAN 프레임 구조는 기본적으로 기존의 Ethernet 프레임을 UDP 패킷에 캡슐화하여 전송합니다. 이 과정을 통해 VXLAN은 더 큰 확장성과 세그먼테이션, 그리고 오버레이 네트워크를 구성할 수 있는 능력을 제공합니다.

VXLAN 프레임 구조는 다음과 같은 주요 구성 요소를 포함합니다:

  1. 오리지널 Ethernet 프레임: 실제로 전송하고자 하는 데이터를 포함한 기존의 Ethernet 프레임입니다. 이 프레임은 목적지 MAC 주소, 소스 MAC 주소, EtherType, 그리고 페이로드 (예: IP 패킷)를 포함합니다.
  2. VXLAN Header: VXLAN 네트워크 식별자(VNI)를 포함하며, 이는 트래픽을 분리하고 멀티테넌시 환경에서 각각의 네트워크 세그먼트를 식별하는 데 사용됩니다. VXLAN 헤더는 일반적으로 8바이트 길이를 가집니다.
  3. Outer UDP Header: VXLAN 패킷이 UDP를 사용하여 전송되기 때문에, 이 UDP 헤더에는 소스 포트와 목적지 포트(일반적으로 4789)가 포함됩니다. UDP를 사용함으로써 VXLAN은 높은 확장성과 유연한 전송을 가능하게 합니다.
  4. Outer IP Header: VXLAN 패킷을 전송하는 데 사용되는 IP 헤더입니다. 이것은 VXLAN 패킷이 오버레이 네트워크를 통해 어떤 경로로 전송될지 결정하는 데 사용됩니다. 소스 IP와 목적지 IP 주소를 포함합니다.
  5. Outer Ethernet Header: 가장 바깥쪽에 위치하는 이더넷 헤더로, VXLAN 패킷이 물리적 네트워크를 통해 전송될 때 사용됩니다. 이 헤더는 목적지 MAC 주소, 소스 MAC 주소, EtherType 등을 포함합니다.

이러한 구조를 통해 VXLAN은 기존의 물리적 네트워크 상에서 가상 네트워크를 구성하고, 대규모의 가상화 환경에서도 효과적으로 트래픽을 분리하고 관리할 수 있게 해줍니다.

 

 


VXLAN VTEP

 

VXLAN (Virtual Extensible LAN)에서 VTEP (Virtual Tunnel End Point)는 중요한 역할을 수행합니다. VTEP은 VXLAN 터널의 양 끝단에 위치해 있으며, VXLAN 트래픽의 캡슐화와 캡슐화 해제를 담당합니다. 각 VTEP은 크게 두 가지 주요 기능을 가진 인터페이스로 구성됩니다:

  1. 로컬 호스트에 브리징 기능을 제공하는 인터페이스: 이 인터페이스는 로컬 호스트와의 통신을 관리합니다. VTEP는 이 인터페이스를 통해 로컬 네트워크에 연결된 호스트의 MAC 주소를 학습하고, VXLAN 네트워크 내 다른 호스트로부터 수신된 트래픽을 해당 로컬 호스트에 전달합니다. 이 과정에서, VXLAN 내부에서 사용되는 가상 네트워크 식별자(VNI)에 기반한 트래픽 분리 및 라우팅이 이루어집니다.
  2. 코어 네트워크에서 VXLAN 캡슐화/캡슐화 해제를 위한 IP 식별 인터페이스: 이 인터페이스는 VXLAN 트래픽을 코어 네트워크를 통해 전달하기 위해 사용됩니다. VTEP는 이 인터페이스를 통해 캡슐화된 VXLAN 패킷을 생성하고, 코어 네트워크를 통해 다른 VTEP로 전송합니다. 반대로, 다른 VTEP로부터 수신된 캡슐화된 VXLAN 패킷을 받았을 때는, 이 인터페이스에서 캡슐화 해제 과정을 거쳐 원본 이더넷 프레임을 복원하고 내부 네트워크로 전달합니다.

VXLAN은 이러한 VTEP를 통해 기존의 Layer 2 네트워크를 Layer 3 인프라 위에 가상으로 확장할 수 있게 해줍니다. 이를 통해 데이터 센터 내에서 또는 클라우드 환경 간에도 물리적 위치에 구애받지 않고 효율적인 네트워크 세그멘테이션, 확장성 및 유연성을 제공합니다.

 


Network Virtualization

 

VXLAN을 사용한 네트워크 가상화는 대규모 데이터 센터 및 클라우드 환경에서 네트워크의 확장성, 유연성 및 다중 테넌시(multi-tenancy) 요구를 충족시키기 위한 중요한 기술입니다. 이러한 환경에서 VXLAN은 Underlay 네트워크와 Overlay 네트워크라는 두 가지 주요 구성요소를 사용합니다.

Underlay Network

Underlay 네트워크는 VXLAN Overlay 네트워크가 구축되는 기본적인 물리적 및 논리적 인프라입니다. 주요 특징은 다음과 같습니다:

  • IP 라우팅: Underlay 네트워크는 검증되고 안정적이며 확장 가능한 IP 라우팅을 사용합니다. 이는 Overlay 네트워크의 트래픽이 물리적 네트워크를 통해 효과적으로 전송될 수 있도록 합니다.
  • ECMP(Equal-Cost Multi-Path): ECMP를 사용하여 사용 가능한 모든 네트워크 경로를 활용합니다. 이는 네트워크 트래픽을 여러 경로를 통해 분산시켜 네트워크 병목 현상을 줄이고, 트래픽이 다양한 경로를 통해 이동할 수 있도록 함으로써 네트워크의 전체적인 성능과 가용성을 향상시킵니다.

Overlay Network

Overlay 네트워크는 Underlay 네트워크 위에 구축되며, 가상화된 네트워크 환경을 제공합니다. 주요 특징은 다음과 같습니다:

  • 표준 기반의 Overlay: VXLAN은 IETF에서 표준화된 프로토콜로, 네트워크 가상화 구현을 위한 표준 기반의 솔루션을 제공합니다.
  • Layer-2 확장성과 이동성: VXLAN을 사용함으로써 Layer-2 네트워크의 확장성과 이동성을 크게 향상시킬 수 있습니다. 이는 가상 머신이나 컨테이너와 같은 가상화된 워크로드가 물리적 위치에 구애받지 않고 이동할 수 있도록 합니다.
  • 확장된 Layer-2 name space: VXLAN은 24비트의 VNI(VXLAN Network Identifier)를 사용하여 1600만 개 이상의 가상 네트워크를 지원할 수 있어, 대규모 멀티테넌트 환경에서도 충분한 네트워크 분리와 세분화를 제공합니다.
  • 확장 가능한 네트워크 도메인: VXLAN은 물리적 네트워크의 제약을 넘어서는 가상 네트워크 도메인을 확장할 수 있게 해줍니다.
  • Multi-Tenancy: VXLAN은 다중 테넌시를 지원함으로써, 여러 고객이나 조직이 동일한 물리적 인프라 상에서 격리된 네트워크 환경을 유지할 수 있게 합니다.


VXLAN Underlay Network

 

 

유연한 토폴로지

  • 유연한 네트워크 디자인: Underlay 네트워크는 물리적 인프라에서 유연하게 구성될 수 있어야 하며, 이는 다양한 네트워크 토폴로지를 지원함으로써 VXLAN overlay 네트워크의 확장성과 유연성을 보장합니다.

중복 경로와 부하 분산

  • ECMP(Equal-Cost Multi-Path): Underlay 네트워크에서는 ECMP를 활용하여 중복된 경로를 통해 트래픽을 분산시키는 것이 권장됩니다. 이는 네트워크의 부하 분산을 최적화하고, 단일 장애 지점 없이 높은 가용성을 보장합니다.

라우팅 프로토콜의 지원

  • 다양한 라우팅 프로토콜: OSPF, EIGRP, IS-IS, BGP 등과 같은 네트워크 라우팅 프로토콜을 지원하여, 네트워크의 다양한 요구 사항과 환경에 유연하게 대응할 수 있습니다.

멀티캐스트 라우팅

  • Overlay BUM 트래픽: BUM(Broadcast, Unknown unicast, Multicast) 트래픽은 overlay 네트워크 내에서의 브로드캐스트, 알려지지 않은 유니캐스트, 멀티캐스트 트래픽을 의미합니다. BUM 트래픽의 효율적인 복제(replication) 및 전송(transport)을 위해서는 underlay 네트워크에서 멀티캐스트 라우팅을 지원해야 합니다.

이러한 요소들은 VXLAN underlay 네트워크의 성능, 확장성, 그리고 높은 가용성을 보장하기 위해 중요합니다. VXLAN 네트워크 설계 시 이러한 사항들을 고려하면 보다 효율적이고 안정적인 네트워크 인프라를 구축할 수 있습니다.

 


VXLAN Underlay Network – Typical DC Topologies

 

 

VXLAN underlay 네트워크를 위한 전형적인 데이터 센터(DC) 토폴로지는 네트워크의 확장성, 유연성 및 성능을 최적화하기 위해 설계되었습니다. 다음은 VXLAN underlay 네트워크를 위한 몇 가지 전형적인 데이터 센터 토폴로지입니다.

  1. 스파인-리프(Leaf-Spine) 토폴로지: 이 토폴로지는 현대 데이터 센터에서 가장 일반적으로 사용되며, 고밀도, 고성능 네트워킹 환경을 제공합니다. 리프 스위치는 서버와 직접 연결되며, 스파인 스위치는 리프 스위치 간의 중앙 집중식 연결 포인트 역할을 합니다. 모든 리프 스위치는 모든 스파인 스위치에 연결되어 있어, 네트워크 내에서 어떤 두 지점 간에도 동등한 경로 거리를 제공합니다. 이 구조는 ECMP(Equal-Cost Multi-Path)를 사용하여 부하 분산을 최적화하고, 네트워크의 확장성과 장애 복구 능력을 높입니다.
  2. Clos 네트워크: Clos 네트워크는 스파인-리프 토폴로지의 변형으로 볼 수 있으며, 다수의 라우팅 및 스위칭 레이어를 통해 확장성과 고성능을 제공합니다. 이 토폴로지는 대규모 데이터 센터 환경에서 더 많은 유연성과 확장성을 제공합니다.
  3. 팻 트리(Fat Tree): 팻 트리 토폴로지는 다중 패스 네트워킹을 지원하여 네트워크 내에서 고대역폭과 낮은 지연 시간을 제공합니다. 이 토폴로지는 계층적 구조를 사용하여 네트워크를 구성하며, 대규모 클라우드 서비스 제공자나 데이터 센터에서 선호됩니다.
  4. Mesh 네트워크: 모든 장치가 서로 직접 연결되어 있는 이 토폴로지는 매우 높은 수준의 장애 복구와 네트워크 유연성을 제공합니다. 그러나 규모가 커질수록 복잡성과 관리 요구 사항도 증가합니다.

데이터 센터(DC)의 네트워크 설계는 요구 사항과 목표에 따라 다양한 토폴로지를 사용하여 구성될 수 있습니다. 여기에는 3Tier Design, Fabric Design, Collapsed Core/Aggregation 2Tier Design, 그리고 DC Interconnect가 포함됩니다. 각각의 특징을 간략하게 살펴보겠습니다.

3Tier Design

전통적인 3Tier 설계는 Core, Aggregation (또는 Distribution), 그리고 Access 레이어로 구성됩니다. 이 구조는 계층화된 접근 방식을 사용하여 네트워크를 조직화하며, 각 계층은 특정 기능을 수행합니다. Core 레이어는 데이터 센터 내부와 외부 간의 고속 전송을 담당하고, Aggregation 레이어는 여러 Access 스위치로부터의 트래픽을 집계하고, Access 레이어는 최종 사용자 또는 장치와 직접 연결됩니다. 이 설계는 예측 가능한 성능과 확장성을 제공하지만, 복잡한 네트워크와 높은 대역폭 요구 사항에는 제한적일 수 있습니다.

Fabric Design

Fabric Design은 데이터 센터 네트워킹에서 더 유연하고 확장 가능한 접근 방식을 제공합니다. 이 설계는 스파인(Spine)-리프(Leaf) 토폴로지를 활용하여 모든 리프 스위치가 모든 스파인 스위치에 연결됩니다. 이 구조는 높은 대역폭, 낮은 지연 시간, 그리고 ECMP(Equal-Cost Multi-Path)를 통한 부하 분산을 가능하게 합니다. Fabric Design은 대규모 클라우드 서비스 제공업체 또는 데이터 센터에 이상적인 솔루션입니다.

Collapsed Core/Aggregation 2Tier Design

Collapsed Core/Aggregation 2Tier Design은 Core와 Aggregation 레이어를 하나로 합친 구조입니다. 이 설계는 더 작은 규모의 데이터 센터나 간단한 구성을 요구하는 환경에 적합합니다. 이 구조는 관리를 단순화하고, 비용을 절감하는 동시에 여전히 충분한 성능과 확장성을 제공할 수 있습니다.

DC Interconnect

DC Interconnect는 서로 다른 데이터 센터를 연결하는 네트워크 설계입니다. 이는 재해 복구, 자원 공유, 그리고 데이터 센터 간의 부하 분산을 가능하게 합니다. DC Interconnect는 다양한 기술과 토폴로지를 활용할 수 있으며, VXLAN, MPLS, 또는 DWDM과 같은 기술을 사용하여 고속의 안정적인 연결을 제공합니다.

각각의 설계는 고유한 장단점을 가지며, 데이터 센터의 특정 요구 사항과 목표에 맞추어 적절한 토폴로지를 선택해야 합니다.

 


멀티 캐스트 기반 VxLAN

 

 

VXLAN은 기존의 VLAN이 가지는 주소 공간 제한을 극복하고, 더 넓은 네트워크 확장성을 제공하는 기술입니다. 하지만, VXLAN은 본질적으로 컨트롤 플레인을 가지고 있지 않으며, 데이터 기반의 'flood-and-learn' 구조를 이용합니다. 이 포스트에서는 VXLAN의 이러한 특징과 멀티 캐스트를 활용한 BUM 트래픽 전송 방법에 대해 자세히 설명하겠습니다.

VXLAN의 특징

  • 컨트롤 플레인 부재: VXLAN은 기본적으로 컨트롤 플레인을 가지고 있지 않습니다. 즉, 전통적인 네트워크 프로토콜처럼 경로 계산이나 상태 정보를 공유하는 별도의 메커니즘이 없습니다. 대신, VXLAN은 데이터 플레인에서 'flood-and-learn' 메커니즘을 통해 동작합니다.
  • Flood-and-Learn 구조: VXLAN은 네트워크 내의 끝점(EndPoint) 간의 통신 정보를 학습하기 위해 네트워크 트래픽을 홍수처럼 전파합니다. 이 때문에 초기에는 비효율적인 트래픽 전파가 발생할 수 있으나, 시간이 지나며 효율적인 경로 학습이 이루어집니다.

멀티 캐스트 기반 VXLAN BUM 처리

VXLAN은 BUM(Broadcast, Unknown Unicast, and Multicast) 트래픽을 처리하기 위해 멀티 캐스트를 활용합니다. BUM 트래픽은 네트워크 내에서 특정 목적지를 찾지 못하는 트래픽으로, 모든 노드에 전송되어야 하는 트래픽입니다.

  • 멀티 캐스트 전송: VXLAN 환경에서는 BUM 트래픽을 네트워크 내의 모든 VTEP(VXLAN Tunnel End Point)에 전송하기 위해 멀티 캐스트 그룹을 사용합니다. 멀티 캐스트 그룹에 속한 모든 VTEP는 BUM 트래픽을 수신하게 되며, 이를 통해 네트워크 내에서 필요한 끝점 간의 통신이 이루어집니다.
  • 효율성과 확장성: 멀티 캐스트를 통한 BUM 트래픽 처리는 초기 네트워크 구성시에는 효율적이지만, 네트워크 규모가 커질수록 관리가 복잡해질 수 있습니다. 따라서 대규모 환경에서는 멀티 캐스트 대신 다른 메커니즘(예: EVPN)을 사용하여 VXLAN BUM 트래픽을 처리하는 방안을 고려해야 합니다.

 

 

 

'네트워크 > 정리' 카테고리의 다른 글

Nexus 9K  (1) 2024.03.26