TIMED(8)

名称
timed - タイムサーバデーモン

書式
timed [-dtM] [-i network | -n network] [-F host ...]

解説
timed ユーティリティは、タイムサーバデーモンであり、通常はブート時に rc.network(8) ファイル内の記述に従って起動されます。本コマンドにより、ホストと、 timed を実行しているローカルネットワーク上のマシンとの時刻の同期を取ります。 これらのタイムサーバは、 マシン時刻の刻みを遅らせたり進ませたりすることで、それらのマシンの時計を ネットワーク平均時間に補正します。 ICMP タイムスタンプリクエストメッセージを用いることで、 マシン間の時刻差分を計測し、ネットワーク平均時間を計算します。

次のオプションを使用可能です:

-d  デバッグモードを有効にします。 端末から切り離さないようにします。

-i network
    無視すべきネットワークリストに network を追加します。 他の、直接マシンに接続されているネットワークを timed は使用します。 複数のネットワークをリストに追加するために、本オプションを複数回指定可能です。

-F host ...
    信頼するホストのリストを作成します。 timed ユーティリティは信頼するホストのみをマスタとして受け付けます。 信頼していないホストがマスタであると主張していると、 timed はそのホストからの入力メッセージを抑制し、新規に選択を行います。 本オプションは、暗黙的に -M オプションを指定します。 本オプションを指定しないと、 ネットワークに接続されている全ホストを信頼できるものとします。

-M  必要ならば、ホストが timed マスタになることを許します。

-n network
    network を許可されたネットワークのリストに追加します。 他の、直接マシンに接続されているネットワークを timed は無視します。 複数のネットワークをリストに追加するために、本オプションを複数回指定可能です。

-t  受信メッセージのトレーシングを有効にし、ファイル /var/log/timed.log へログします。 timedc(8) ユーティリティにより、 timed 実行中に、トレーシングのオンとオフを切り替え可能です。

-n と -i のフラグは排他であり、 ホストが実際に接続されているネットワークを引数として要求します ((networks) 5 を参照してください)。 どちらのフラグも指定しないと、全ネットワークに対して待機します。

-M と -F のどちらのフラグも指定せずに実行中の timed は、スレーブのままです。 -F フラグを指定しないと、 timed は全マシンを信頼できるものとします。

timed ユーティリティによって提供されるサービスは、 マスタ−スレーブ構造に基づいて構成されています。 timed がマシン上で動作し始めると、 timed は、マスタサーバにネットワーク時刻を問い合わせ、自マシンの時刻を設定します。 この後、マスタサーバから送られる同期メッセージを定期的に受け取り、 マシン時間の補正が必要な場合には adjtime(2) を呼び出します。

本コマンドは、時刻を大域的に設定するために date(1) と通信し、 timed 制御ユーティリティである timedc(8) と通信します。 マスタを実行しているマシンに到達不可能になると、 スレーブは、少なくとも -M と -F のフラグのどちらかを持つスレーブの中から新規にマスタを選択します。

通常、起動時に timed は、接続されている各ネットワーク上のマスタタイムサーバをチェックします。 ただし、上述の -n と -i のオプションを指定された場合は別です。 本プログラムは、最初に見付けたサーバに同期サービスを要求します。 -M または -F のフラグにより許される場合、 接続されているネットワーク上で、 信頼できるマスタサーバを検出できなかったものに対し、 同期サービスを提供します。 その場合、サーバはトップレベルマスタによって計算された時刻を取得し、 他のマシンに通知します。 timed ユーティリティは、スレーブとして動作中のネットワークに対し、 定期的にマスタの存在をチェックします。 そのネットワークに信頼できるマスタが存在しなくなった場合、 そのネットワーク上で選択処理を開始します。

マシン群の同期をとるための 1つの方法として、 ntpd(8) を用いてあるマシン の時刻を遠距離の標準時刻や電波受信機の時刻に同期させ、かつ、信頼できる マシンは自分自身だけであることを timed に -F hostname によって通知する、といったものがあります。

カーネルによるシステムコンソールへのメッセージ出力は、 割り込み禁止にて行われます。 このことは、メッセージが出力されている 間はシステム時計が停止していることを示します。 ディスクやネットワークハードウェアに多くの問題を抱え、 その結果としてメッセージが出力するマシンは、正確な時刻を保持出来ません。 それぞれのメッセージは、多くは出力されるごとに 10ms 程度の時刻遅延 を引き起こします。タイムデーモンはこの結果を補正します。

マシンが返答しないというシステムログメッセージは、通常、 当該マシンがクラッシュまたは動作停止したことを示します。 マシンの初期時刻設定時の返答失敗に関する不平は、大概の場合、 “マルチホーム” のマシンが複数のネットワークでタイムマスタを探した後、 別のネットワークにおいてスレーブになることを選択したことを示します。

警告
2 つ以上の時刻デーモンが同じ時計を更新しようとした場合に、 一時的に時刻がおかしくなる可能性があります。 timed と他のタイムデーモンが同じマシン上で走行している場合には、 -F オプションを使用していることを確認して下さい。これは、 timed がローカルマシンの時計を更新しないようにするためです。

なお、このデーモンが使用するネットワークプロトコルは、 UDP/IP ブロードキャストに基づいています。 ブロードキャスト範囲内で TSP プロトコルを用いるすべてのマシンは 協調しあわなければなりません。 ブロードキャストパケットが届くマシン間では、 -F フラグを使用する管理ドメインを 2 つ以上持つことはできません。 このルールに従わないと、通常、 “信用できない” マシンに関する不平が システムログに書かれます。

関連ファイル
/var/log/timed.log
    timed のトレースファイル
/var/log/timed.masterlog
    マスタ timed 用のトレースファイル

関連項目
date(1), adjtime(2), gettimeofday(2), icmp(4), networks(5), ntpd(8), timedc(8) TSP: The Time Synchronization Protocol for UNIX 4.3BSD, R. Gusella, S. Zatti.

歴史
timed ユーティリティは 4.3BSD から登場しました。