2 Punkte von GN⁺ 2025-10-21 | 1 Kommentare | Auf WhatsApp teilen
  • Dieses Diagramm zeigt den Linux-Netzwerk-Stack mit allen Schichten und Komponenten visuell
  • Das Diagramm enthält verschiedene Virtualisierungstechniken wie Virtualisierung, Linux-Container, Emulation und Paravirtualisierung
  • Es zeigt die vollständige Schichtenstruktur von den Netzwerksockets bis zum Netzwerk-Stack (oben: TCP, UDP / unten: GRO, RPS, RFS, GSO)

# Hauptkomponenten

  • Netzwerk-Stack
    • Oberste Schicht des Netzwerk-Stacks (TCP, UDP)
    • Untere Schicht des Netzwerk-Stacks (GRO, RPS, RFS, GSO)
  • Netzwerk-Scheduler
  • NetFilter und Traffic Control
    • Enthält verschiedene Netzwerkschnittstellen wie Bridge-, Bond- und Tap-Interfaces
  • Gerätetreiber
    • Queue (Warteschlange)
    • NAPI
    • IRQ-Handler
  • Durch NIC beschleunigte Netzwerkfunktionen
    • Checksum-Offload, VLAN, VxLAN, GRE, TSO, LRO, RSS usw.

# Merkmale und Zusatzinformationen

  • Jede Ebene bietet zusätzlich Optimierungstipps und Statistiken
  • Eine detaillierte Verknüpfung bis zum vollständigen Datenfluss zur Netzwerkkarte
  • Dieses Diagramm ist Teil des Lehrbuchs “Operativni sustavi i računalne mreže - Linux u primjeni” und hat einen hohen Wert als professionelle Referenzquelle

1 Kommentare

 
GN⁺ 2025-10-21
Hacker News Kommentar
  • Ich habe das Gefühl, dass wir viel mehr Dokumente auf diesem Niveau brauchen.
    Ich konnte iptables über viele Jahre nicht richtig einsetzen.
    Ich habe Bücher gekauft und verschiedene Beispiele aus Blogs ausprobiert, aber ohne wirklich zu verstehen, wie das Ganze funktioniert, konnte ich es nicht korrekt verwenden.
    Dann habe ich ein Diagramm (Flowchart) gefunden, das zeigt, wie ein Paket den Kernel durchläuft, und dadurch konnte ich nachvollziehen, in welcher genauen Reihenfolge die jeweiligen Regelketten angewendet werden und wo sysctl-Werte berücksichtigt werden.
    Dank dieses Diagramms war ich in der Lage, Regeln genau so zu schreiben, wie ich sie benötige, und geeignete Regeln unter Berücksichtigung der Performance auszuwählen.
    Es war, als hätte ein einziges Diagramm die Welt verändert; es funktionierte von Anfang an wie gewünscht.
    Ich habe selbst erlebt, wie stark die Wirkung einer guten Grafik sein kann.

    • Ich frage mich, ob das die Grafik ist, die es hier gibt.

    • Ich möchte auch unbedingt das TRACE-Target erwähnen, das protokolliert, welche Regel ein Paket in der Firewall exakt trifft.
      Bei großen Firewalls ist das wirklich ein unverzichtbares Werkzeug.

    • Ich würde gern fragen, ob du diese Grafik teilen könntest.
      Ich möchte die Welt von iptables selbst ebenfalls wirklich erleben.

  • Auch ich habe iptables über lange Zeit nicht verstanden.
    Dann bin ich auf FreeBSD und pf tables gestoßen, und inzwischen fühle ich mich wie ein Netzwerk-Ingenieur.
    Natürlich brauchten das Lernen Zeit und Mühe, aber ich konnte gut daran anknüpfen und Schritt für Schritt immer mehr dazu lernen.
    Ich empfehle jedem, es selbst zu versuchen.
    Auch die offizielle Dokumentation von FreeBSD zu Firewalls ist erwähnenswert.
    In letzter Zeit ist auch das Buch "The Book of PF" in der 4. Auflage erschienen.

  • Falls dich das interessiert, kann ich sagen, dass der Autor dieses Diagramms auch einen Flowchart für Linux-Disk-I/O erstellt hat.
    Den Disk-I/O-Diagramm kannst du hier sehen.
    Diese gesamte Diagrammreihe geht auf das Buch „Operativni sustavi i računalne mreže - Linux u primjeni“ des Autors zurück.
    Auch der Originaltext des Buches ist öffentlich verfügbar.
    Ich applaudierte der hervorragenden und hilfreichen Arbeit des Autors.

    • Ich frage mich, ob es eine englische Übersetzung dieses Buches gibt.

    • Die Disk-I/O-Diagramme sind wirklich beeindruckend.
      Danke fürs Teilen.

  • Die Linux Kernel map ist ebenfalls wirklich gutes Material, also lohnt sich ein Blick darauf.
    [Linux Kernel map link](https://commons.wikimedia.org/wiki/File:Linux_kernel_map.png)

  • Ich möchte mich bei Hrvoje Horvat für diese detaillierte Grafik bedanken.
    Dadurch wird das Lernen des Network Stacks deutlich einfacher.
    Sein Buch „Operativni sustavi i računalne mreže - Linux u primjeni“ macht es fast so sinnvoll, Kroatisch zu lernen.
    Ich gratuliere zur Veröffentlichung des Buches und danke nochmals für diesen wertvollen Beitrag.
    Buch-Link

  • Die Arbeit des Autors ist unglaublich gut.
    Ich wünsche mir wirklich eine englische Übersetzung.

  • Ich halte das für richtig tolle Inhalte.
    Wenn jemand ein Visualisierungstool entwickelt, das solche Diagramme automatisch erzeugt, wäre das noch spannender – vermutlich aber kaum realistisch.

    • Für die automatische Generierung wäre es extrem schwierig, weil man all diese vielen Abstraktionsebenen verarbeiten müsste, die das Diagramm zeigt.
      Dennoch können Tools wie Mermaid oder PlantUML bereits einen Teil dieses Bereichs abdecken, und PGF/TikZ wäre als Alternative für die Erzeugung von Text statt Bildern einen Versuch wert.
  • In Container-Umgebungen kann man übrigens ähnlich wie in VMs auch einen eigenen TCP/IP-Stack nutzen.
    Mit slirp4netns erhält ein Container eigenes Networking, während pasta den TCP/IP-Stack des Kernels direkt nutzt.
    Falls dich das interessiert, ist das Diagramm unter diesem Link sehr ausführlich.

  • Ich habe den Netzwerk-Stack nie offiziell studiert, aber nach Jahrzehnten mit Linux wirkt der Großteil der Stack-Struktur dennoch vertraut – das ist schon erstaunlich.

  • Ich frage mich, ob man das Diagramm als SVG-Datei sehen kann.
    Da es nur in PDFs enthalten ist, wirkt es schwer lesbar.

    • Im eingebetteten PDF-Viewer unten kann man auf „Download" klicken, um die vollständige PDF-Datei herunterzuladen.
  • Ein vereinfachtes Bild
    Tatsächlich geht es nicht so weit wie bis zu iptables oder nftables.

    • Wenn man iptables genau betrachtet, hat man das Gefühl, dass auch iptables auf einen starrt.