IPv4 送信処理
Rev.3を表示中。最新版はこちら。
1. 概要
IP層(IPv4)のパケット送信処理に関するメモ。
2. 処理の流れ
ソケットを使ってデータを送信する際のIP層の処理の流れを図1に示す。
図1 送信時の流れ
3. 送信処理
3.1 IPパケットの作成
UDP,RAWソケットを使用している場合は、プロトコル層は送信データをip_append_data()を使ってsk_buffに格納する。ip_append_data()はsk_buffを割り当てて、データを格納する。
送信データを格納したsk_buffを作成した後は、RAWソケットならip_push_pending_frames()を呼び出して、さきほどip_append_data()で作成したsk_buffにIPヘッダを付けてdst_output()を呼び出す。
UDPの場合はudp_push_pending_frames()を呼び出して、UDPヘッダを付けた後、RAWソケットと同じくip_push_pending_frames()を呼び出す。
3.2 dst_output()