ルーティング解決とは? - Higepon’s blogの続き。
まずはストレートに実装を
dword getIpRoute(Config& config, dword destIp) { dword destSubnet = destIp & config.getSubnetAddress(); dword mySubnet = config.getIpAddress() & config.getSubnetAddress(); // 同一サブネット if (destSubnet == mySubnet) { return destIp; } // ルーターへ return config.getDefaultGateway(); }
同一サブネットかどうかを判定して、あて先のIPアドレスを返します。
これを組み込んでMonaで実行するとこんな感じ。
ソースは、ひげぽん/mones2/05.ICMP応答準備編 IPパケット送信/01.ルーティング解決 の編集 - Mona OS developers Wikiからどうぞ。
ちなみにこの実装の参考にしている本は

- 作者: W.リチャードスティーヴンス,W.Richard Stevens,橘康雄,井上尚司
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/12
- メディア: 単行本
- 購入: 6人 クリック: 81回
- この商品を含むブログ (41件) を見る

- 作者: ゲリー・R.ライト,W.リチャードスティーヴンス,Gary R. Wright,W.Richard Stevens,徳田英幸,戸辺義人
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2002/12
- メディア: 単行本
- 購入: 1人 クリック: 13回
- この商品を含むブログ (25件) を見る

- 作者: 竹下隆史,村山公保,荒井透,苅田幸雄
- 出版社/メーカー: オーム社
- 発売日: 2002/02/26
- メディア: 単行本
- 購入: 4人 クリック: 76回
- この商品を含むブログ (136件) を見る
あたりです。
そしてまだ読んだことないのですが、アセンブリ言語の教科書の作者である愛甲健二さんの

- 作者: Kenji aiko
- 出版社/メーカー: データハウス
- 発売日: 2004/11
- メディア: 単行本
- クリック: 5回
- この商品を含むブログ (5件) を見る
がとても気になる今日この頃です。
というのも愛甲さんのWindows Raw Socket Programmingがとてもレベルが高く、ネットワーク知識が半端じゃなさそうだからです。
これはやばい。