EN JA
ROUTED(8)
ROUTED(8) FreeBSD System Manager's Manual ROUTED(8)

名前

routedネットワークルーティングデーモン

書式

routed [ -d][ -g][ -q][ -s][ -t][ logfile]

説明

routed は、ネットワークのルーティングテーブルを管理するために、ブート時に起動される。ルーティングデーモンは、 Xerox NS ルーティング情報プロトコル (Routing Information Protocol) を変更したものを使う。これにより、カーネルのルーティングテーブルのエントリを最新に保つ。このサーバは、複数のアドレスタイプを使用できる一般化したプロトコルを使う。しかし、現在のところは、ネットワーククラスタ内でインターネットのルーティングをするためだけに使われている。

通常の運用において routed は、ルーティング情報パケットを待つために、 route(8) サービス ( services(5) を参照) 用の udp(4) ソケットの接続を待つ。ホストがネットワーク間のルータである場合、 routed は、直接接続されている全てのホストとネットワークに、ルーティングテーブルの複製を定期的に提供する。

routed が動作し始めると、システムで設定されており、かつ ``up'' とマークされている直接接続されたインターフェースを探すために、 SIOCGIFCONF ioctl(2) が使われる (ソフトウェアループバックインターフェースは無視される)。複数のインターフェースが存在する場合、ホストはネットワーク間でパケットを転送するものと仮定される。それから routed は、 リクエスト パケットを各インターフェースから送信する (インターフェースがサポートしている場合は、ブロードキャストパケットを使う)。そして、 routed は、他のホストからの リクエスト パケットと レスポンス パケットの接続を待つループに入る。

リクエスト パケットを受信すると、 routed は内部テーブルで管理している情報に基づいてリプライを作成する。作成された レスポンス パケットには既知のルートのリストが含まれ、各ルートには「ホップカウント」メトリックが付く (16 以上のホップカウントは「無限大」とみなされる)。ここで返された各ルートのメトリックは、 送信者からの相対的な メトリックである。

以下の条件を満たす場合、 routed が受信した レスポンス パケットは、ルーティングテーブルを更新するために使われる:

  1. 到達先ネットワークまたは到達先ホストについてのルーティングテーブルのエントリが存在せず、かつ到達先を示すメトリックが「到達可能」である場合 (すなわち、ホップカウントが無限大でない場合)。
  2. パケットの送信元ホストが、既存のルーティングテーブルのエントリにあるネットワーク間ルータと同じ場合。つまり、到達先へのパケットをルーティングするルータそのものから、更新された情報を受け取る場合。
  3. ルーティングテーブルの既存のエントリが一定期間 (90 秒と定義されている) 更新されておらず、このルートが少なくとも現在のルートと同じくらい有効な価値がある場合。
  4. 新しいルートが、現在ルーティングテーブルに格納されているルートと比べて、到達先へのより短いルートを表している場合。これを決定するために、新しいルートのメトリックをテーブルに格納されているルートのメトリックと比較する。

更新が行われた場合、 routed は内部テーブルの変更を記録し、カーネルのルーティングテーブルを更新する。この変更は次に レスポンス パケットを送信する際に反映される。

routed は外部からのパケットを処理するのに加え、定期的にルーティングテーブルのエントリをチェックする。エントリが 3 分間以上更新されていない場合、そのエントリのメトリックは無限大に設定され、削除のためのマークが付けられる。そのエントリの失効がローカルのインターネット上で通知されるのを保証するために、削除は更に 60 秒後になる。

ネットワーク間ルータとして動作しているホストは、直接接続された全てのホストやネットワークに対して、 30 秒毎に無条件でルーティングテーブルを提供する。レスポンスは、ブロードキャスト機能を持つネットワークのブロードキャストアドレス・ point-to-point リンクの到達先アドレス・ルータ自身の他のネットワークでのアドレスに対して送信される。無条件にレスポンスを送信する場合、通常のルーティングテーブルは無視される。ネットワークとインターフェースが正しく機能しているかを、各ネットワークがレスポンスを受信できるか否かを使って決定する。あるインターフェースでレスポンスが受信できない場合、そのインターフェースに対してルーティングするために別のルートを選択する。また、他のルートもない場合、そのルートはルーティングテーブルから削除される。

routed がサポートするオプションを示す:

-d
不正なパケットを受信したというような、付加的なデバッグ情報をログに記録するようにする。
-g
このフラグは、ネットワーク間ルータにおいて ``default'' の到達先へのルートを設けるために使われる。このフラグは、インターネットのゲートウェイや、他のローカルルータにルートを報告しない別のルーティングプロトコルを利用するゲートウェイで、典型的に使われる。
-s
このオプションを指定すると、ネットワーク間ルータとして動作しているか否かに関係なく、 routed に強制的にルーティング情報を提供させる。複数のネットワークインターフェースがある場合や、 point-to-point リンクを使用中である場合は、これがデフォルトである。
-q
このオプションは、 -s オプションの反対である。
-t
-t オプションが指定すると、送受信した全てのパケットが標準出力に表示される。更に、 routed は自分自身を制御端末から切り離さないため、キーボードからインタラプトを入力すればプロセスが kill される。

この他に指定された引き数は、 routed の動作を記録するファイルの名前として解釈される。このログにはルーティングテーブルの変更が記録される。また、全てのパケットを追跡しない場合は、変更されたルートに関連して送受信された最新のメッセージの履歴も記録される。

上記の機能に加えて、 routed は「遠隔にある」 passive もしくは active なゲートウェイという概念をサポートする。 routed が起動すると、 SIOGIFCONF ioctl(2) からの情報のみでは突き止められない可能性のあるゲートウェイを見付けるために、 /etc/gateways ファイルが読み込まれる。このようにして指定したゲートウェイには、ルーティング情報を交換するつもりがない場合には、 passive というマークを付ける必要がある。また、ルーティング情報を交換する場合には、 active というマークを付ける必要がある (すなわち、この場合には routed がマシン上で稼働している必要がある)。 passive ゲートウェイを通るルートは、起動時に一度だけカーネルのルーティングテーブルに設定される。このようなルートは、送信されるルーティング情報には含まれない。 active ゲートウェイは、ネットワークインターフェースと同様に扱われる。ルーティング情報はゲートウェイに配布される。また、一定時間ルーティング情報が受信されない場合、それに関連したルートは削除される。 external とマークされたゲートウェイも passive であるが、カーネルのルーティングテーブルに載ることもなく、ルーティングの更新時にもその情報が含められることはない。 external エントリの機能は、 routed に対して、「別のルーティングプロセスがそのようなルートを追加する可能性があり、その到達先に対して他のルートを設定すべきでない」と知らせることである。 external エントリは、 2 つのルータが同じ到達先へのルートを覚えてもよい場合にのみ、必要である。

/etc/gateways は、以下のフォーマットの行で構成される:

< net | host> name1 gateway name2 metric value < passive | active | external>

キーワード nethost はそれぞれ、ルートがネットワークに付いてのルートなのか、特定のホストについてのルートなのかを示す。

name1 は、到達先ネットワークまたはホストの名前である。この名前は、 /etc/networks または /etc/hosts にあるシンボル名でもよい (また、 routednamed(8) の後に起動される場合は、ネームサーバがこの名前を知っていなければならない)。また、「ドット」表記で指定したインターネットアドレスでもよい。 inet(3) を参照すること。

name2 は、メッセージがフォワードされるべきゲートウェイの名前またはアドレスである。

value は、到達先ホストまたはネットワークへのホップカウントを表すメトリックである。

キーワード passive, active, external の 1 つを使って、ゲートウェイが passive または active として (上記のように) 扱われる必要があるか、あるいはゲートウェイが routed プロトコルのスコープで external であるのかを示す。

Arpanet や Milnet に直接接続されたネットワーク間ルータは、ルーティング情報を集めるために (EGP) を使うべきである。さもなければ、passive ゲートウェイの静的ルーティングテーブルを使うことになる。 EGP は、ローカルネットワークに対して他のインターネットシステムへのルートを提供するために必要である。

ファイル

/etc/gateways
遠隔ゲートウェイについての情報を記述するファイル

関連項目

udp(7), icmp(7) Internet Transport Protocols, XSIS 028112, Xerox System Integration Standard.

バグ

routed は (動作などが) 疑わしい。 gated(8) または zebra(8) の使用を考慮に入れること。

リダイレクトによりルートが変更または追加された場合、カーネルのルーティングテーブルと routed のルーティングテーブルが対応しない可能性がある。 routed は、 raw ソケット経由で受信した ICMP パケットを読み込むことにより、受信したリダイレクトを注目すべきである。

routed は他のルーティングプロトコルも組み込むべきである。各プロトコルに対して別々のプロセスを使うには、余計なルートや競合するルートを排除するために、設定オプションが必要である。

routed は、より多くの情報を集めるために、 IMP のようなインテリジェントなインタフェースで接続を待つべきである。 routed は、(例えば、出力側の失敗といった) ネットワークインターフェースの一方向の失敗を、常に検出できるとは限らない。

履歴

routed コマンドは 4.2BSD で登場した。

翻訳者謝辞

この man ページの翻訳にあたり、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/>による翻訳を参考にさせていただいた。
December 11, 1993 Linux NetKit (0.17)