3

arp(7)による-Linuxのマニュアルページ:

base_reachable_time(Linux 2.2以降)ネイバーが検出されると、エントリはbase_reachable_time/2と3*base_reachable_time/2の間の少なくともランダムな値に対して有効であると見なされます。エントリの有効性は、上位レベルのプロトコルから肯定的なフィードバックを受け取った場合に延長されます。デフォルトは30秒です。このファイルは廃止され、base_reachable_time_msが採用されました。base_reachable_time_ms(Linux 2.6.12以降)base_reachable_timeと同様ですが、時間をミリ秒単位で測定します。デフォルトは30000ミリ秒です。

私はこの説明を理解していませんでした-特に、より高いレベルのプロトコルからの正のフィードバックについての声明。誰か明確にしてください?

4

2 に答える 2

1

arp(7)のマニュアルページから、

しばらくしてから既存のマッピングに対する肯定的なフィードバックがない場合(以下の/ procインターフェイスを参照)、ネイバーキャッシュエントリは古くなっていると見なされます。正のフィードバックは上位層から得ることができます。 たとえば、成功したTCPACKから。他のプロトコルは、MSG_CONFIRMフラグを使用してsendmsg(2)に進行状況を通知できます。前進がない場合、ARPは再プローブを試みます。

基本的に、これは、継続的なTCP接続のようなものが多くの成功したACKで発生している場合、それが持っているIP / MACペアが有効であると想定し、テーブルのエントリが通常の場合に新しいARP要求を行うことを気にしないことを意味します期限切れ。

于 2012-11-14T20:04:08.560 に答える
1

IPv6の場合、関数ndisc_router_discoveryはを更新できbase_reachable_timeます。
IPv6近隣探索プロトコル(ARPに代わるもの)は、この情報を取得して更新します。

于 2012-04-19T13:11:34.953 に答える