Page 1 of 1

ARPについての疑問

Posted: Fri Oct 17, 2025 7:46 am
by hiura
ARP テーブルについて

仮想L3SWがパケット受信時にARPテーブルの有効期限を延ばしてる理由はなにでしょうか?
パケット受信の度にL3KnownArp()が呼ばれる。L3KnownArp()がCALLされる回数が多すぎ、無駄な処理では?
延ばさない場合、ARP_ENTRY_EXPIRES後、ARPメッセージがやり取りされMACアドレスは解決するはず。

ファイル:Layer3.c
関数: L3KnownArp()
// Extend the expiration date
a->Expire = Tick64() + ARP_ENTRY_EXPIRES;

Re: ARPについての疑問

Posted: Fri Oct 17, 2025 11:12 am
by cedar
実装者ではないので実装時の意図はわかりませんが、ARPが失効するまで待っていると定期的にパケットの大きな遅延やロスが発生して通信の品質が大きく下がるからではないかと思います。
改良するとしたら仮想HUBのMACアドレステーブルを参照するようにして二重管理を省くなどの方法はあると思います。