出版社内容情報
あなたが手に取ったのはOSが持つネットワーク機能そのものである「プロトコルスタック」を自作しようという風変わりな本です。
単なるパケット処理だけでなく、ネットワークデバイスの管理やアプリケーションへの機能提供まで余すことなく解説しており、ネットワーク機能全体のデザインを学ぶことができます。
本書ではLinuxのユーザ空間で動作するプロトコルスタックを開発しますが、教育用OSや自作OSのカーネルへの移植実績もあります。ぜひ既存のOS自作入門書籍と合わせてご活用ください。
全てのパケットを自分で組み立てて通信しよう!
[CONTENTS]
Step 0 はじめに
Step 1 ネットワークデバイスの管理
Step 2 デバイスドライバ
Step 3 プロトコルの管理
Step 4 IP:パケットの入力と検証
Step 5 論理インタフェースの管理
Step 6 IP:パケットの送信
Step 7 IP:上位プロトコルの管理
Step 8 ICMP:メッセージの入力と検証
Step 9 ICMP:メッセージの送信
Step 10 Ethernet:フレームの入力
Step 11 Ethernet:デバイスドライバの実装
Step 12 ARP:メッセージの入力と応答
Step 13 ARP:キャッシュの実装
Step 14 ARP:要求メッセージの送信
Step 15 受信パケットの遅延処理
Step 16 IP:ルーティング機能の追加
Step 17 UDP:データグラムの入力と検証
Step 18 UDP:制御ブロックとユーザコマンド
Step 19 UDP:データの送受信
Step 20 TCP:セグメントの入力
Step 21 TCP:制御ブロック
Step 22 TCP:コネクション確立(その1)
Step 23 TCP:データ転送
Step 24 TCP:セグメントの再送
Step 25 TCP:コネクション確立(その2)
Step 26 TCP:コネクション切断(その1)
Step 27 TCP:コネクション切断(その2)
Step 28 TCP:落ち穂拾い
Step 29 TCP:ソケット互換のユーザコマンド
Step 30 ソケットAPI
Appendix 1 割り込み処理
Appendix 2 タイマー処理
Appendix 3 タスク管理
【目次】
Step 0 はじめに
Step 1 ネットワークデバイスの管理
Step 2 デバイスドライバ
Step 3 プロトコルの管理
Step 4 IP:パケットの入力と検証
Step 5 論理インタフェースの管理
Step 6 IP:パケットの送信
Step 7 IP:上位プロトコルの管理
Step 8 ICMP:メッセージの入力と検証
Step 9 ICMP:メッセージの送信
Step 10 Ethernet:フレームの入力
Step 11 Ethernet:デバイスドライバの実装
Step 12 ARP:メッセージの入力と応答
Step 13 ARP:キャッシュの実装
Step 14 ARP:要求メッセージの送信
Step 15 受信パケットの遅延処理
Step 16 IP:ルーティング機能の追加
Step 17 UDP:データグラムの入力と検証
Step 18 UDP:制御ブロックとユーザコマンド
Step 19 UDP:データの送受信
Step 20 TCP:セグメントの入力
Step 21 TCP:制御ブロック
Step 22 TCP:コネクション確立(その1)
Step 23 TCP:データ転送
Step 24 TCP:セグメントの再送
Step 25 TCP:コネクション確立(その2)
Step 26 TCP:コネクション切断(その1)
Step 27 TCP:コネクション切断(その2)
Step 28 TCP:落ち穂拾い
Step 29 TCP:ソケット互換のユーザコマンド
Step 30 ソケットAPI
Appendix 1 割り込み処理
Appendix 2 タイマー処理
Appendix 3 タスク管理
内容説明
ネットワーク機能を“ゼロ”からプログラミングしよう!あなたが手に取ったのはOSが持つネットワーク機能そのものである「プロトコルスタック」を自作しようという風変わりな本です。単なるパケット処理だけでなく、ネットワークデバイスの管理やアプリケーションへの機能提供まで余すことなく解説しており、ネットワーク機能全体のデザインを学ぶことができます。本書ではLinuxのユーザ空間で動作するプロトコルスタックを開発しますが、教育用OSや自作OSのカーネルへの移植実績もあります。ぜひ既存のOS自作入門書籍と合わせてご活用ください。
目次
ネットワークデバイスの管理
デバイスドライバ
プロトコルの管理
IP:パケットの入力と検証
論理インタフェースの管理
IP:パケットの送信
IP:上位プロトコルの管理
ICMP:メッセージの入力と検証
ICMP:メッセージの送信
Ethernet:フレームの入力
Ethernet:デバイスドライバの実装
ARP:メッセージの入力と応答
ARP:キャッシュの実装
ARP:要求メッセージの送信
受信パケットの遅延処理
IP:ルーティング機能の追加
UDP:データグラムの入力と検証
UDP:制御ブロックとユーザコマンド
UDP:データの送受信
TCP:セグメントの入力
TCP:制御ブロック
TCP:コネクション確立(その1)
TCP:データ転送
TCP:セグメントの再送
TCP:コネクション確立(その2)
TCP:コネクション切断(その1)
TCP:コネクション切断(その2)
TCP:落ち穂拾い
TCP:ソケット互換のユーザコマンド
ソケットAPI
付録
著者等紹介
山本雅也[ヤマモトマサヤ]
KLab株式会社Kラボラトリー所属、デジタルハリウッド大学特任准教授、セキュリティ・キャンプネクスト講師(2024年、2025年)。ネットワークプログラミング好きをこじらせてTCP/IPのプロトコルスタックを自作、オープンソースソフトウェアとして公開して布教に勤しんでいる(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。
-
- 電子書籍
- B・B(19) 少年サンデーコミックス



