VXLAN (Virtual Extensible LAN) – wirtualizacja sieci dla nowoczesnych centrów danych i Kubernetes
Sieci komputerowe

VXLAN (Virtual Extensible LAN) – wirtualizacja sieci dla nowoczesnych centrów danych i Kubernetes

VXLAN (Virtual Extensible LAN) – wirtualizacja sieci dla nowoczesnych centrów danych i Kubernetes

Tradycyjne sieci Ethernet były projektowane z myślą o stosunkowo prostych środowiskach. Wraz z rozwojem:

  • chmur prywatnych,
  • centrów danych,
  • wirtualizacji,
  • Kubernetes,
  • architektury mikroserwisów,

pojawił się problem ograniczeń klasycznego VLAN.

Liczba dostępnych sieci VLAN jest ograniczona do około 4094 identyfikatorów, co w dużych środowiskach szybko staje się niewystarczające.

Rozwiązaniem jest VXLAN (Virtual Extensible LAN) – technologia umożliwiająca tworzenie ogromnej liczby logicznych sieci Layer 2 działających nad istniejącą infrastrukturą Layer 3.


Czym jest VXLAN?

VXLAN to protokół enkapsulacji sieciowej, który pozwala przesyłać ramki Ethernet przez sieć IP.

Mówiąc prościej:

VXLAN zamienia tradycyjną sieć Layer 2 w wirtualną sieć działającą ponad routingiem IP.

Schemat:

Original Ethernet Frame

        ↓

VXLAN Encapsulation

        ↓

UDP Packet

        ↓

IP Network

        ↓

VXLAN Decapsulation

        ↓

Original Ethernet Frame

Dlaczego powstał VXLAN?

Klasyczny VLAN:

VLAN ID:

1 - 4094

Problem:

Duże środowisko może potrzebować:

  • tysięcy klientów,
  • wielu izolowanych środowisk,
  • osobnych sieci dla aplikacji.

Przykład:

Cloud Provider

Customer A

Customer B

Customer C

Customer D

...

Thousands of Networks

4094 VLAN-ów to za mało.


VXLAN ID (VNI)

VXLAN wykorzystuje identyfikator:

VXLAN Network Identifier

(VNI)

Ma on długość:

24 bity

Daje możliwość stworzenia około:

16 milionów

wirtualnych sieci

Dokładnie:

16,777,216 VNI

Porównanie:

Technologia Liczba sieci
VLAN ~4094
VXLAN ~16 milionów

Jak działa VXLAN?

Przykład:

Dwa serwery znajdują się w różnych lokalizacjach.


Server A

10.1.1.10


      |

      |

   IP Network


      |

      |

Server B

10.2.2.10

Chcemy, aby działały jak jedna sieć Layer 2.

VXLAN tworzy tunel:


VM A

 |

VXLAN Tunnel

 |

VM B

VXLAN Encapsulation

Oryginalna ramka:


Ethernet Frame

MAC Source

MAC Destination

Payload

Po dodaniu VXLAN:


Outer Ethernet Header

+

Outer IP Header

+

UDP Header

+

VXLAN Header

+

Original Ethernet Frame

Dlaczego UDP?

VXLAN wykorzystuje:

UDP Port:

4789

UDP został wybrany ponieważ:

  • łatwo przechodzi przez istniejącą infrastrukturę,
  • routery mogą traktować ruch jako standardowy IP,
  • umożliwia skalowanie.

Tip eksperta

VXLAN nie wymaga, aby cała infrastruktura fizyczna znała topologię Layer 2. Rdzeń sieci może działać jako klasyczny routing IP, a wirtualna warstwa L2 jest tworzona tylko na końcach tunelu.


VTEP – VXLAN Tunnel Endpoint

Najważniejszym elementem VXLAN jest:

VXLAN Tunnel Endpoint

(VTEP)

VTEP odpowiada za:

  • enkapsulację,
  • dekapsulację,
  • mapowanie MAC → VNI.

Schemat:


Host A

 |

VTEP A

 |

VXLAN Tunnel

 |

VTEP B

 |

Host B


VXLAN i VTEP w praktyce

Przykład:


VM1

MAC:

AA:BB:CC


↓

VTEP


VNI:

5000


↓

VXLAN


↓

VTEP


↓

VM2

MAC:

DD:EE:FF


VXLAN Flood and Learn

Starszy mechanizm wykrywania MAC wykorzystuje:

  • flood,
  • multicast,
  • uczenie MAC.

Schemat:


Unknown MAC

↓

Broadcast

↓

All VTEPs

↓

Learn MAC

Problem:

  • dużo ruchu broadcast,
  • słaba skalowalność.

VXLAN EVPN

Nowoczesnym rozwiązaniem jest:

VXLAN + EVPN

EVPN wykorzystuje:

BGP

do wymiany informacji o:

  • MAC adresach,
  • VTEP,
  • trasach.

Schemat:


VTEP 1

 |

 BGP EVPN

 |

VTEP 2


VXLAN EVPN w Data Center

Najczęstsza architektura:


              Spine Layer

        +----------------+

        |                |

     Leaf 1           Leaf 2

        |                |

       VTEP            VTEP

        |                |

      Servers        Servers

Leaf pełni rolę VTEP.


VXLAN w Kubernetes

VXLAN jest bardzo popularny w sieciach Kubernetes.

Kubernetes wymaga:

  • komunikacji Pod → Pod,
  • niezależności od fizycznej sieci,
  • izolacji namespace.

Przykład:


Pod A

10.244.1.5


Node 1

      VXLAN Tunnel


Node 2


Pod B

10.244.2.8

Pody komunikują się tak, jakby były w jednej sieci.

VXLAN (Virtual Extensible LAN) – wirtualizacja sieci dla nowoczesnych centrów danych i Kubernetes
VXLAN (Virtual Extensible LAN) – wirtualizacja sieci dla nowoczesnych centrów danych i Kubernetes

VXLAN w CNI Kubernetes

Popularne rozwiązania:

  • Flannel VXLAN,
  • Calico VXLAN,
  • Cilium VXLAN,
  • Weave Net.

Flannel VXLAN

Prosty przykład:


Pod Network

↓

VXLAN

↓

Node Network

↓

Physical Network


VXLAN vs VLAN

Cecha VLAN VXLAN
Warstwa L2 L2 over L3
ID 12 bit 24 bit
Sieci ~4094 ~16 mln
Transport Ethernet UDP/IP
Data Center ograniczony idealny
Cloud słabo skalowalny bardzo dobrze

VXLAN vs GRE

Cecha VXLAN GRE
Cel Virtual LAN Tunel IP
UDP
VNI
Data Center średnio
EVPN

VXLAN a bezpieczeństwo

Sam VXLAN:

❌ nie szyfruje danych

❌ nie zapewnia uwierzytelnienia

❌ nie zastępuje VPN

Jeżeli wymagane jest szyfrowanie:

można użyć:

  • IPsec,
  • MACsec,
  • WireGuard.

VXLAN i MTU

VXLAN dodaje dodatkowe nagłówki:

około:

50 bajtów

Dlatego należy zwiększyć MTU.

Standardowo:

Ethernet:

1500 bytes

VXLAN:

1550+

Najczęściej stosuje się:

9000 bytes

(Jumbo Frames)

Tip eksperta

Problemy z MTU są jedną z najczęstszych przyczyn problemów z VXLAN. Objawy mogą wyglądać jak losowe timeouty aplikacji, problemy z dużymi pakietami lub niestabilność komunikacji między Podami Kubernetes.


Monitoring VXLAN

Administrator powinien monitorować:

  • stan tuneli,
  • utratę pakietów,
  • opóźnienia,
  • MTU,
  • liczbę VTEP,
  • tablice MAC.

Narzędzia:

  • tcpdump,
  • Wireshark,
  • Prometheus,
  • Grafana,
  • Cilium Hubble.

Diagnostyka VXLAN Linux

Sprawdzenie interfejsów:

ip link show

Przykład:


vxlan0

Sprawdzenie adresów:

ip addr show vxlan0

Tablica MAC:

bridge fdb show

Najczęstsze problemy

❌ brak odpowiedniego MTU

❌ blokowanie UDP 4789

❌ problemy z routingiem IP

❌ brak synchronizacji VTEP

❌ niewłaściwa konfiguracja EVPN

❌ przeciążenie tuneli


Najlepsze praktyki

✅ stosuj VXLAN EVPN w dużych Data Center

✅ konfiguruj odpowiednie MTU

✅ monitoruj UDP 4789

✅ używaj BGP EVPN zamiast flood-and-learn

✅ dokumentuj VNI

✅ kontroluj izolację sieci

✅ testuj wydajność tuneli


Architektura VXLAN EVPN


                    Users

                      |

                      |

                 Firewall

                      |

                      |

                 Spine Network

              +---------------+

              |               |

           Spine 1         Spine 2

              |               |

        +-----+---------------+-----+

        |                           |

      Leaf 1                     Leaf 2

      VTEP                        VTEP

        |                           |

      Server                     Server

        |                           |

       VM                         VM


        <------ VXLAN Tunnel ------>


             BGP EVPN Control Plane


Podsumowanie

VXLAN jest jednym z fundamentów nowoczesnych sieci centrów danych, chmur prywatnych oraz środowisk Kubernetes. Pozwala przełamać ograniczenia klasycznych VLAN-ów, tworząc miliony logicznych sieci działających nad istniejącą infrastrukturą IP.

W praktyce VXLAN najczęściej występuje razem z:

  • EVPN/BGP – wymianą informacji o sieci,
  • Leaf-Spine Architecture – skalowalną topologią Data Center,
  • Kubernetes CNI – komunikacją między Podami,
  • eBPF/Cilium – nowoczesnym przetwarzaniem ruchu.

Najważniejsza zasada:

VXLAN oddziela świat fizycznej infrastruktury od świata logicznych sieci aplikacji. Dzięki temu można budować ogromne, elastyczne i skalowalne środowiska chmurowe bez ograniczeń klasycznego Ethernetu.

Polecane wpisy
Algorytmy routingu
Algorytmy routingu

Algorytmy routingu: Kompletny przewodnik Wprowadzenie Algorytmy routingu to fundamentalne mechanizmy, które umożliwiają przesyłanie pakietów danych w rozległych sieciach komputerowych. Dzięki Czytaj dalej

Jak skonfigurować IPv6 na routerze z Dual Stack (IPv4 + IPv6)?
Jak skonfigurować IPv6 na routerze z Dual Stack (IPv4 + IPv6)?

Jak skonfigurować IPv6 na routerze z Dual Stack (IPv4 + IPv6)? 🔎 Wprowadzenie W erze rosnącej liczby urządzeń w Internecie, Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.