2 ポイント 投稿者 GN⁺ 2025-10-21 | 1件のコメント | WhatsAppで共有
  • このダイアグラムはLinuxネットワークスタックのすべての層と要素を視覚的に示しています
  • 図には仮想化、Linuxコンテナ、エミュレーション、パラバーチャライゼーションなど、さまざまな仮想化技術が含まれています
  • ネットワークソケットから**ネットワークスタック(上位:TCP, UDP / 下位:GRO, RPS, RFS, GSO)**まで、全体の層構造を網羅しています

# 主要構成要素

  • ネットワークスタック
    • ネットワークスタックの上位層(TCP, UDP)
    • ネットワークスタックの下位層(GRO, RPS, RFS, GSO)
  • ネットワークスケジューラ構成
  • NetFilterとトラフィックコントロール
    • ブリッジ、Bondインターフェース、Tapインターフェースなど、さまざまなネットワークインターフェースを含む
  • デバイスドライバ
    • キュー(Queue)
    • NAPI
    • IRQハンドラ
  • NICで加速されるネットワーク機能
    • チェックサムオフロード、VLAN、VxLAN、GRE、TSO、LRO、RSSなど

# 特徴と付加情報

  • 各層は最適化のヒント統計情報を併せて提供します
  • ネットワークカードに至る全体的なフローを詳細に接続しています
  • この図は「Operativni sustavi i računalne mreže - Linux u primjeni」教科書の一部として、専門的な参考資料として活用価値が高い

1件のコメント

 
GN⁺ 2025-10-21
Hacker Newsのコメント
  • このレベルの高い資料がもっと必要だと感じた。
    私は何年も iptables をきちんと活用できなかった。
    本を買ったり、ブログのさまざまな例も試してみたが、何がどう動いているのか理解できず、正しく使えなかった。
    そのうち、パケットがカーネルを通過する過程を示す図(フローチャート)を見つけて、各ルールチェーンが適用される正確な順序と sysctl の値がどこで反映されるかが分かるようになった。
    この図のおかげで、思い通りにルールを直接書けるようになり、動作と性能を考慮して適切なルールを選べるようになった。
    1枚の図がまるで世界を変えるようで、最初の試行からきちんと動いた。
    良い図の力がいかに強いかを体験した。

    • これはここにあるものか気になる

    • パケットがファイアウォールでどのルールに正確にヒットしたかをログに残す TRACE ターゲットも必ず言及したい
      大規模ファイアウォールでは本当に必須のツールだ

    • その図を共有してくれるかどうか聞きたい
      私も iptables の世界をきちんと体験してみたい

    • 私も長い間 iptables を理解できなかった
      それで FreeBSD と pf tables を知り、今ではネットワークエンジニアのように感じている
      もちろん勉強には時間と労力がかかったが、学習がうまく噛み合い、だんだん積み上げながら学べた
      誰でも実際に挑戦してみることを勧める
      FreeBSD ファイアウォール関連の公式ドキュメントも参照に値する
      最近では『The Book of PF』第4版という本も出版された

  • もし興味がある人がいれば、この図の作者が Linux ディスク I/O フロー図も作成していることを知らせたい
    こちらでディスク I/O の図が確認できる
    これらの図は、著者の本『Operativni sustavi i računalne mreže - Linux u primjeni』から始まっている
    原典も公開されている
    著者の卓越した、親切な仕事に拍手を送りたい

    • この本に英語版の翻訳があるのか気になる

    • ディスク I/O 図がとても優れている
      共有してくれてありがとう、という気持ちを伝える

  • Linux Kernel map も本当に優れた資料なので、参考にしてほしい
    [Linux Kernel map リンク](https://commons.wikimedia.org/wiki/File:Linux_kernel_map.png)

  • Hrvoje Horvat に、こうした詳細な図を作ってくれたことへの感謝を伝えたい
    おかげでネットワークスタックの勉強が本当にずっと簡単になる気がする
    著者の本『Operativni sustavi i računalne mreže - Linux u primjeni』は、クロアチア語を学ぶ価値が感じられるほどだ
    本の刊行を祝うとともに、この貴重な貢献に改めて感謝する
    本のリンク

  • 著者の作業は信じられないほど素晴らしい
    心から英語版の翻訳があればいいと思っている

  • 本当に素晴らしい資料だと思う
    もし誰かがこの図を自動生成する可視化ツールを開発できたなら、もっと盛り上がると思うが、現実的にはほぼ不可能に近いだろう

    • 自動生成のためには、この図が示す多くの抽象化レベルを処理しなければならないため、かなり難しそう
      それでも Mermaid や PlantUML のようなツールはある程度似た領域を示せるし、PGF/TikZ は画像生成ではなくテキスト生成で挑戦してみる価値がある
  • コンテナ環境でも VM と同じように独自の TCP/IP スタックを使える点を付け加えたい
    slirp4netns を使うと、コンテナは独自のネットワーキングを持ち、pasta を使うとカーネルの TCP/IP スタックを直接活用する
    気になるならこちらの図を見ていただければ詳しい

  • 私は特にネットワークスタックを正式に勉強してきたわけではないのに、何十年も Linux を使ってきたので、ほとんどのスタック構造に慣れていて不思議に思う

  • この図を SVG ファイルで見られるのか気になる
    PDF にしか含まれておらず、読みにくいと感じる

    • 組み込み PDF ビューアの下で「Download」を押すと、PDF 全体をダウンロードできる
  • 簡略化された図である
    実際には iptables や nftables までは入っていない

    • iptables をじっと見ると、iptables もこちらを見返しているように感じる