IPアドレスに対応するハードウェアアドレス(MACアドレス)を解決するプロトコルとしてIPv4ではARP、IPv6ではNDPがある。Linuxではこれらのアドレス解決プロトコルのために汎用的に使えるルーチン、データ構造を用意している。 アドレス解決プロトコルは近隣のノードのMACアドレスを解決するものなので、実装ではNeighbour(近隣)という用語が使われている。 データ構造 アドレス解決プロトコルに関するデータ構造を図1に示す。 ARP,NDPなどのアドレス解決プロトコルではプロトコル毎に管理テーブル(struct neigh_table)がある。ARPはarp_tbl,NDPはnd_tblがそれぞれのstruct neigh_tableを指している。このテーブルには、エントリ管理のためのハッシュテーブルや各プロトコルのタイマ値などが格納されている。エントリ管理のためのハッシュテーブ
ちょっといろいろ謎かったので調べました。 ARP Request はいつ送信されるか 確認できたのは以下 arp テーブルにエントリがない ip アドレスに接続を試みたとき エントリが「古い」とみなされた状態で再度接続を試みたとき(=無効とみなされたとき?) ARP エントリの寿命が延びるとき C の API sendmsg で、ソケットに MSG_CONFIRM が送信されたとき linux arp モジュールに対して正のフィードバックを送る。ARP テーブルに入っている cache entry の寿命を伸ばすようだ。 TCP で ACK が帰ったときなんかに実行されるらしい ARP エントリの寿命が短くなるとき arp -d する以外には見つからなかった。少なくとも ping コマンドや telnet コマンドのレベルでは、何度か接続できなかったからといって ARP request が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く