ネットワークインタフェース
『OSS モデルカリキュラムの学習ガイダンス』
カーネルを中心に考えると、ソケットAPI はユーザプロセス側のインタフェースである。これに対して、ネットワークインタフェースは、ハードウェア(ネットワークデバイス)側のインタフェースと言える。
* ユーザプロセスからソケット API を通して送り出されたデータ(外向き)は、ヘッダを付加されながら順々にプロトコルスタックを降りていき、最終的にネットワークインタフェースを通してネットワークデバイスに渡される。
* ネットワークからデータを受信すると(内向き)、カーネルはネットワークデバイスからの割り込みを処理する。受信したデータは、ネットワークインタフェースを経由してキューに入れられる。各階層においてパケットヘッダの解析が行われ、最終的にはユーザプロセスの保持するファイル記述子から読み込み可能となる。