ルーティング解決とは?

何だか連載チックになってきましたが、次はICMP応答だ - Higepon’s blogの続きです。
ping に応答するにはIPパケット送信が必須で、パケット送信の手順は以下の通りだ。というところで終わっていました。

  1. ルーティング解決
  2. ARPによるMACアドレス取得
  3. ICMPヘッダの作成
  4. IPヘッダの作成
  5. IPパケットの送出

今日は、1番目のルーティング解決が何かを調べました。


IPパケット送信時には本当のあて先のIPアドレス(destIP)がありますが、これが同じサブネットマスク内にあるかどうか?で処理が違います。


同じサブネットマスク内にあるということは同一のネットワークに相手がいて、そこに直接パケットを送ればよいということになります。(相手がいる場所がわかっているから。)


逆に同じサブネットマスクではない場合は、相手は自分とは違うネットワークにいることになります。


その場合はネットワークとネットワークを中継する役割を持つルーター(ルートを決定してパケットを配送する機器)に、まずパケットを送ることになります。(ルーターの役割はマスタリングTCP/IP 入門編を読み返して復習しました。)


つまりパケットを送る際に、あて先によって配送ルートが違い、それを判定するのがルーティング解決のところでやる仕事です。


今日は調べていたら夜も更けてきたので実装は明日。