timed が提供するサービスは、マスタースレーブの考えに基づいている。 timed(8) がマシンで起動されると、マスターにネットワーク時刻を問い合わせ、 ホストの時刻をその時刻に合わせる。 その後、マスターが定期的に送る同期メッセージを受け取り、 ホスト時刻に必要な修正を加えるために adjtime(2) を呼び出す。
このサーバは、 日付を大域的に設定するために date(1) と通信し、 timed 制御プログラムである timedc(8) とも通信する。 マスターとして実行されているマシンがクラッシュすると、 スレーブは、 -M フラグで実行されているスレーブの中から、新しいマスターを選ぶ。 -M や -F フラグなしで実行されている timed を実行しているマシンはスレーブのままである。 -t フラグを指定した場合、 timed は、受信したメッセージをファイル /var/log/timed.log の中でトレースするようになる。 トレースの有効・無効は、 timedc(8) プログラムを使って切替えることができる。 -d フラグは、このデーモンをデバッグするためのものである。 このフラグを指定した場合、デーモンをバックグラウンドにさせない。 通常 timed は、接続されている各ネットワークのマスタータイムサーバをチェックする。 ただし、以下で説明するオプションで変更されている場合は例外である。 timed は、見付けた最初のマスターサーバに対して、同期サービスを要求する。 その時点でマスターサーバが接続されているネットワークで検知できない場合、 -M フラグを指定すると、 同期サービスをそのネットワークに提供することが許可される。 このようなサーバは、トップレベルマスターが計算した時間を提供する。 -n フラグは、その後にホストが接続されているネットワーク名 ( networks(5) を参照) を続けることにより、 プログラムが決定するネットワークアドレスのデフォルトの選択を上書きする。 -n フラグが表れる度に、そこで指定されているネットワーク名は、 有効なネットワークのリストに追加される。 他のネットワークは無視される。 -i フラグは、その後にホストが接続されているネットワーク名 ( networks(5) を参照) を続けることにより、 プログラムが決定するネットワークアドレスのデフォルトの選択を上書きする。 -i フラグが表れる度に、そこで指定されているネットワーク名は、 無視するネットワークのリストに追加される。 他のネットワークはタイムデーモンによって使われる。 -n と -i フラグを同時に使うと、何も意味を持たなくなる。
timed は、接続されている各ネットワーク上のマスタータイムサーバをチェックする。 ただし、上で説明した -n と -i オプションで変更されている場合は例外である。 2 つ以上のネットワークでマスターサーバが見つかった場合、 「スレーブ」となるべきネットワークを選択する。 そして、定期的に各ネットワークでマスターが消えたかどうかをチェックする。
マシンの同期をとるための 1 つの方法として、 NTP デーモンを用いてマシンの時刻を 遠距離の標準時刻やラジオ受信機の時刻に同期させ、 かつ、信頼できるマシンが自分自身のみであることを timed デーモンに -F hostname によって通知する、といったものがある。
カーネルによるシステムコンソールへのメッセージ出力は、 割り込みを禁止して行われる。 これは、メッセージが出力されている間は システムのクロックが停止することを意味する。 ディスクやネットワークハードウェアに多くの問題を抱え、 その結果としてメッセージを出力するマシンは、 正確な時間を保持できない。 それぞれのメッセージは、出力される毎に 10ms 程度の時刻遅延を引き起こす。 タイムデーモンは、この結果を補正する。
マシンが応答しないというシステムログメッセージは、 通常、そのクラッシュまたは電源が切れていることを意味する。 マシンが初期時刻設定時に応答に失敗してエラーが出るのは、 大抵の場合、「 ``マルチホーム'' のマシン (ネットワークインターフェースが複数あるマシン) が 複数のネットワークでタイムマスターを探した後、 別のネットワークでスレーブになることを選択した」ということに関連している。
このプロトコルは、UDP/IP ブロードキャストに基づいたものである。 ブロードキャストの範囲内で TSP プロトコルを用いている 全てのマシンは、協調しあわなければならない。 ブロードキャストパケットが到達するマシンの間では、 -F フラグを使用する管理ドメインを 2 つ以上持つことはできない。 このルールに従わない場合は、通常、 ``信頼できない'' マシンに関連するエラーがシステムログに書き込まれる。
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]