Kapitel 7. Express-Datenpfad
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Express Data Path (XDP) ist ein sicherer, programmierbarer, leistungsstarker, in den Kernel integrierter Paketprozessor im Linux-Netzwerkdatenpfad, der BPF-Programme ausführt, wenn der NIC-Treiber ein Paket empfängt. Dadurch können XDP-Programme zum frühestmöglichen Zeitpunkt Entscheidungen über das empfangene Paket treffen (verwerfen, ändern oder einfach zulassen).
Der Ausführungspunkt ist nicht der einzige Aspekt, der XDP-Programme schnell macht; auch andere Designentscheidungen spielen dabei eine Rolle:
-
Bei der Paketverarbeitung mit XDP wird kein Speicher zugewiesen.
-
XDP-Programme arbeiten nur mit linearen, nicht fragmentierten Paketen und haben die Start- und Endzeiger des Pakets.
-
Es gibt keinen Zugriff auf die vollständigen Paket-Metadaten, weshalb der Eingabekontext, den diese Art von Programm empfängt, vom Typ
xdp_buff
ist und nicht von der Struktursk_buff
, die du in Kapitel 6 kennengelernt hast. -
Da es sich um eBPF-Programme handelt, haben XDP-Programme eine begrenzte Ausführungszeit, was zur Folge hat, dass ihre Verwendung in der Netzwerkpipeline mit festen Kosten verbunden ist.
Bei XDP ist es wichtig, sich daran zu erinnern, dass es sich nicht um einen Kernel-Bypass-Mechanismus handelt, sondern dass es so konzipiert ist, dass es in andere Kernel-Komponenten und das interne Linux-Sicherheitsmodell ...
Get Linux Observabilität mit BPF now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.