rwhod(8) FreeBSD 一般コマンドマニュアル

rwhod

前のページ 上に戻る 次のページ

rwhod




解説

     rwhod は、 rwho(1)ruptime(1) プログラムで使われるデータベースを管理す
     るサーバです。ネットワークにおいて ブロードキャストもしくは マルチキャス
     トメッセージが使用できることが前提となります。

     rwhod はステータス情報の生成と利用の両方を行います。ただし、 -l (listen
     モード) オプションを指定した場合は例外で、利用のみ行います。情報の生成で
     は、定期的にシステムに状態を問い合わせ、ステータスメッセージを構築して
     ネットワークにブロードキャストします。情報の利用では、他の rwhod サーバか
     らの状態メッセージを受け取り、検査してから、 /var/rwho ディレクトリの下の
     ファイルに記録します。

     -i オプションは、安全ではないモードを有効にします。このモードでは、 rwhod
     は入力パケットのソースポートを無視します。

     -p オプションは、 rwhod にすべての POINTOPOINT インタフェースを無視させま
     す。要求時にダイヤルするインタフェースを常に活動状態にしたくない場合に有
     用です。

     -l オプションを指定すると listen モードが有効になり、 rwhod は情報をブロ
     ードキャストしなくなります。これにより、自分自身の情報をブロードキャスト
     せずに他のマシンの rwhod 情報を監視することができます。

     -m オプションは、インタフェースの "ifnet" 構造体に IFF_MULTICAST フラグが
     設定されている全てのインタフェース (ループバックインタフェースは除きます)
     上で、 rwhod に (ブロードキャストの代わりに) IP マルチキャストを使わせま
     す。マルチキャストによる報告は、直接つながっているサブネットへの転送を防
     ぐために TTL(Time To Live) 1で送られます。

     オプションの ttl 引数が -m フラグとともに与えられた時には、 rwhod は IP
     マルチキャストデータグラムを TTL が ttl として、全てのインタフェースでは
     なく 1 つのインタフェースに対して送ります。 ttl は 0 から 32 (また
     は、MAX_MULTICAST_SCOPE) までの値です。 -m 1 は、 -m とは異なることに注意
     してください。 -m 1 は、1 つのインタフェースにだけ転送を行います。

     -m フラグが、 ttl 引数無しで使われた場合、プログラムはマルチキャスト
     rwhod 報告を全てのマルチキャストが利用可能なインタフェースから受け取りま
     す。 ttl 引数が与えられた場合は、マルチキャストレポートは 1 つのインタ
     フェースからだけ受け取ります。その 1 つは、報告を行っているものです (これ
     は、ホストルーティング表によって制御されます)。 -m オプション無しでは、プ
     ログラムはブロードキャストもしくはユニキャストによる報告を全てのインタ
     フェースから受け取ります。したがって、このプログラムは、古い報告をマルチ
     キャストを使っていない rwhod から受け取り、マルチキャストが使われている場
     合は古い rwhod はこのプログラムによって生成される報告を受け取れないことに
     なります。

     サーバは、``who'' サービスで指定されているポート番号でメッセージを送受信
     します。 services(5) を参照して下さい。送受信するメッセージは以下のような
     形式です。

           struct  outmp {
                   struct  whoent {
                           struct  outmp we_utmp;
                           int     we_idle;
                   } wd_we[1024 / sizeof (struct whoent)];
           };

     すべてのフィールドは、送信に先立ってネットワークバイトオーダに変換されま
     す。ホスト負荷 (load average) は w(1) によって計算され、送信の 5, 10, 15
     分前の負荷を 100 倍した整数として表現されます。ホスト名は、
     gethostname(3) システムコールで得られたものがドメイン名を省略して格納され
     ます。メッセージの最後の配列には、メッセージを送信したマシンにログインし
     ているユーザの情報が格納されています。この情報は、 utmp(5) の非アイドルの
     端末ラインのエントリと、その端末ラインから最後に文字を受け取った時間を秒
     数で表した値が入っています。

     rwhod サーバによって受信されるメッセージは、 rwhod サーバのポートから送信
     されたものでないか、 -i オプションが指定されていなければ捨てられます。さ
     らにメッセージのホストの名前が表示できない ASCII 文字を含んでいる場合も、
     メッセージは捨てられます。 rwhod が受け取った正しいメッセージは /var/rwho
     ディレクトリに whod.hostname というファイル名で格納されます。これらのファ
     イルには、最新のメッセージだけが、上で説明した形式で残っています。

     ステータスメッセージはほぼ 3 分ごとに作成されます。 rwhod は、30 分ごとに
     /kernel に対して nlist(3) を実行します。これは、このファイルがその時点で
     の実際のシステムイメージであることを確認するためです。


関連項目

     ruptime(1), rwho(1)


バグ

     ネットワーク間でステータス情報を中継する方法が必要です。ステータス情報
     は、ずっと送りつづけるのではなく、要求があったときにだけ送るようにするべ
     きでしょう。サーバが死んでいたり、ネットワークの通信障害を、マシンがダウ
     ンしていると思い込んでしまう場合がよくあります。


歴史

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

FreeBSD 4.4                    December 11, 1993                   FreeBSD 4.4

ABELNET VPSサービス