VXLAN (Virtual eXtensible Local Area Network)

대문 / 네트웍, 프로그래밍 / VXLAN (Virtual eXtensible Local Area Network)

VXLAN (Virtual eXtensible Local Area Network)

1.1. 개요

VXLAN-Overview-0-20220831.png
[PNG image (124.32 KB)]

VXLAN (Virtual eXtensible Local Area Network)은 OSI Layer 2 Ethernet frame을 OSI Layer 3 UDP 로 Encapsulation하여 L2를 L3 네트워크로 확장 가능하도록 하는 터널링 프로토콜 중 하나입니다.
  • 대규모 클라우드 컴퓨팅 배포와 관련된 확장성 문제를 해결하기 위한 네트워크 가상화 기술입니다.
  • VLAN과 같은 Encapsulation 기술을 사용하여 기본적으로는 4789/UDP 로 OSI Layer 2 Ethernet frame을 Encapsulation 하게 됩니다. (MAC in UDP 캡슐화)
    • OSI Layer 2 를 IP Network (UDP/IP) 기반하에 어느 곳에서나 확장가능하게 합니다.
    • OSI Layer 2 원문으로부터 VXLAN Encapsulation하는데 최소 50 bytes header 를 추가하게 됩니다. (때문에 MTU 1500을 기준으로 VXLAN MTU는 1550 또는 1450으로 고려할 필요성 있습니다.)
      • Outer Ethernet/IP/UDP Header + VXLAN Header + Original OSI Layer 2 frame
        • Outer 이더넷 (Ethernet) Header : 14 bytes
        • Outer IPv4 Header : 20 bytes (IPv6 Header의 경우 최소 40 bytes)
        • Outer UDP Header : 8 bytes
        • VXLAN Header : 8 bytes (VXLAN-Flags 8bits + Reserved 24 bits + VNI 24 bits + Reserved 8 bits)
  • 최적의 Flooding을 사용하게 됩니다.
    • 학습하지 못한 목적지 MAC은 IP Mulicast를 이용하여 목적지 MAC 주소가 있는 스위치에 전송.
    • 모든 MAC Address를 L2 switch의 ARP Table에 저장하지 않는 구조 달성 가능.
      • vSwitch에서만 MAC Address를 저장하고 패킷을 Forwarding해서 해결.
  • VXLAN은 Multicast 기반으로 Shared-Tree 구성할 수 있어 Trunk 가 필수 요소가 아님.

1.1.1. 용어정의

  • VXLAN : Virtual eXtensible Local Area Network
  • VTEP : VXLAN Tunnel End Point (VXLAN Tunnel 의 종단)
    • VXLAN Tunnel End Point. An entity that originates and/or terminates VXLAN tunnels
    • VXLAN Tunnel 간 Encapsulation 및 Decapsulation을 수행하는 것. (VXLAN 의 핵심적인 역할을 수행)
    • End point 하단에서는 VXLAN 의 존재 및 동작 여부를 알 수 없음.
    • VTEP은 커널 기반 가상 머신 (KVM) 호스트와 같은 하이퍼바이저 호스트에 상주하여 가상화된 워크로드를 직접 지원할 수도 있음.
  • VNI / VNID : Virtual Network Identifier
    • VXLAN Network Identifier (or VXLAN Segment ID)
    • VLAN과 VXLAN segment 간 식별자 번호 (tenant를 식별) 이며 동일한 VLAN에 여러개의 VNI 가 가능.
    • VLAN의 12bits Tag(VLAN ID) 4K 제한을 해결하기 위해서 VXLAN의 VNI는 24bits 로 최대 약 16,000,000개 (2 ^ 24)를 사용 가능.
  • NVE : Network Virtualization Interface
    • VXLAN의 Encapsulation 및 Decapsulation이 발생하는 논리적 인터페이스
  • Overlay network : 물리 네트워크 위에 성립되는 가상의 컴퓨터 네트워크를 의미
    • 각 node는 가상 및 논리 링크로 연결될 수 있으며 각 링크는 수 많은 물리적 링크를 경유하지만 이러한 물리적 링크를 고려하지 않는 것이 특징.
  • Underlay network : 실제 물리적 장비들을 이용한 네트워크 인프라를 의미
  • VXLAN Segment : VM간 통신을 위한 VXLAN Layer 2 overlay network
    • VXLAN Layer 2 overlay network over which VMs communicate
  • VXLAN Gateway : VXLAN간 또는 VXLAN 과 Non-VXLAN간의 통신을 위한 Gateway (~= VTEP)
    • an entity that forwards traffic between VXLANs
    • L2 (VXLAN-to-VLAN)
      • VXLAN으로 부터 도착된 패킷이 동일한 L2 Domain (VNI가 같은) 임이 확인된 후 VLAN으로 전달하는 것
    • L3 (VXLAN-to-VLAN)
      • VXLAN으로 부터 도착된 패킷이 동일한 L2 Domain (VNI가 같은) 임이 확인된 후 라우팅을 통해 Non-VXLAN으로 전달하는 것
    • L3 (VXLAN-to-VXLAN)
      • 서로 다른 L2 Domain (VNI가 다른) 간 VXLAN 라우팅을 통해서 전달하는 것
  • VRF : Virtual Routing Forwarding
  • vSwitch : Virtual Switch (가상의 Switch)
  • BUM traffic : Broadcast, Unknown-unicast and multicast traffic
    • 발신자가 네트워크 주소를 모르는 대상으로 보내기 위한 세 가지 방법 중에서 하나를 사용하여 전송하는 traffic을 지칭
  • RP : Rendezvous Point (참고: [http]http://www.ktword.co.kr/test/view/view.php?m_temp1=4073[])
    • 모든 멀티캐스트 트래픽이 집결되는 노드
    • 멀티캐스팅 라우팅 프로토콜인 PIM-SM에서 각 멀티캐스트 그룹의 중심이 되는 라우터
      • 그룹 공유 트리(Group Shared Tree)의 루트가 됨
  • PIM : Platform Independent Multicast (참고: [http]http://www.ktword.co.kr/test/view/view.php?m_temp1=2467&id=704[])
    • 대규모 네트워크 상에서 프로토콜에 의존하지 않고, 멀티캐스트 라우팅 트리를 구성할 수 있게 하는 멀티캐스트 라우팅 프로토콜
  • vPC : Virtual Port Channel (참고: [https]https://www.cisco.com/c/ko_kr/support/docs/ios-nx-os-software/nx-os-software/217274-understand-virtual-port-channel-vpc-en.html[])
    • 물리적인 2대의 장비를 묶어 논리적으로 하나의 장비처럼 동작하게 하는 시스코 전용 기술
  • ToR : Top of Rack

1.2. 참고 자료

Retrieved from https://www.minzkn.com:443/moniwiki/wiki.php/VXLAN
last modified 2024-05-17 23:26:16