今回は、パケット受信処理 ~Ethernetドライバ ポーリング処理編~の続編として、受信パケットがIP層に到達した後の処理、特にルーティング処理を中心に解説します。
今回は、パケット受信処理 ~Ethernetドライバ 概要編~の3章「ポーリングハンドラ(NAPI)による受信処理」で解説したポーリングハンドラの処理を深堀します。
今回はデバイス(NIC)がパケットを受信し、パケットがIPレイヤーに渡るまでの過程を解説します。
前回の記事では、データ構造とともにソケット操作処理の流れを見てきました。 本稿では、socket(2)システムコールによってこれらの各種データ構造がどのように生成され、関連づけられていくのかを見ていきたいと思います。
カーネルv6.8のコードをベースに、プロトコルごとに異なる処理をソケットがどのように抽象化しているのか、またソケットがなぜファイルとして操作できるのかについて、データ構造を中心に解説します。