ルーティングテーブルキャッシュ

fib(静的ルーティングテーブル)は検索の高速性を考慮して設計されているが、ルーティング情報の参照頻度は非常に高い(各パケット送信毎、受信毎)のため、さらに一度参照したルーティング情報を、一定時間ルーティングテーブルキャッシュ(rt_hash_table)内に保存する。次に同じルーティング情報を検索した場合、ルーティングテーブルキャッシュにヒットする。

img92.gif

さらに、コネクションの確立したソケットに関しては、ソケット自体にルーティングテーブルをリンクしておき、ルーティングテーブルキャッシュさえも検索しなくて済むよう考慮されている。

関数説明

  • rt_intern_hash()
    • ルーティング情報をルーティングテーブルキャッシュに登録する。
  • rt_check_expire()
    • 一定時間利用されていないルーティングキャッシュエントリをクリアする。
  • ip_rt_redirect()
    • ICMPによるルーティング情報の変更要求(より効率的な ルートを伝達するのに利用される)を受け付ける。変更要求に 従い、ルーティングテーブルキャッシュ上の情報をアップデートする。
    • fib(静的ルーティングテーブル)の方は更新しないことに注意。
  • inet_addr_type()
    • アドレスのタイプを求める。(RTN_UNICAST, RTN_BROADCAST, RTN_MULTICAST等)を返却する。

(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST
1