Zurück zur Übersicht

Begriff

XDP (eXpress Data Path)

Networking Linux Kernel S4
2 Quellen 0 Lernpfade 1 Backlink enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Linux ist toll, aber der Netzwerk-Stack ist für massive Geschwindigkeit (100 Gbit/s) zu langsam. Jedes Paket muss durch viele Layer (Interrupt, SKB Allocation, IP Stack, Socket). Das kostet CPU. XDP ist ein Trick, um Pakete extrem früh zu bearbeiten. Direkt im Treiber der Netzwerkkarte (NIC), bevor Linux überhaupt daraus ein "Paket" macht (sk_buff). Du schreibst ein kleines C-Programm (eBPF), lädst es in den Kernel, und es läuft direkt auf den Rohdaten. Du kannst Pakete verwerfen (DDOS-Schutz) oder weiterleiten, millionenfach pro Sekunde, ohne CPU-Last.

Merksatz: Ein programmierbarer Hochleistungs-Datenpfad im Linux-Kernel, der es ermöglicht, Netzwerkpakete mithilfe von eBPF direkt im Netzwerktreiber zu verarbeiten, bevor sie den regulären Netzwerkstack erreichen.


Quick-Check

  1. Unterschied zu DPDK?
    DPDK umgeht den Kernel komplett (Kernel Bypass). XDP läuft im Kernel (integriert, sicher). DPDK ist oft noch einen Tick schneller, aber XDP ist einfacher zu managen und kompatibler.
  2. Sicherheit?
    eBPF-Code wird vom "Verifier" geprüft. Er darf nicht abstürzen (keine Endlosschleifen) und nicht auf fremden Speicher zugreifen. Sicherer als Kernel Module.
  3. Hardware?
    SmartNICs können XDP-Code sogar direkt auf dem Chip der Netzwerkkarte ausführen ("Offloading"). Dann ist die CPU zu 100% entlastet.