XNTPD(8) — NEWS-OS Programmer’s Manual
名称
xntpd − ネットワークタイムプロトコルデーモン
形式
xntpd [ −ab ] [ −c conffile ] [ −e authdelay ] [ −f driftfile ] [ −k keyfile ] [ −r broaddelay ] [ −t trustedkey ]
解説
xntpd は、 インターネットワーク標準時間のサーバと Unix システムの時刻を 一致させて、維持するデーモンです。 xntpd は、RFC によって定義されるネットワークタイムプロトコル (NTP) バージョンの完全な実現であり、 また RFC 1059 で定義されるバージョン 1 サーバとの互換性も 持っています。 xntpd は、固定小数点演算で全ての計算を行い、 浮動小数点コードからは全く独立しています。 プロトコルとクロック調整コードで行われる計算は高精度で、 なおかつ体系的な偏りを統合させるように細部にまで注意を払って、 実行されます。 これは、最も精度の高い外部のタイムソースとでさえ 同期できるだけの正確度を維持するためです。
通例、 xntpd は、起動時にファイルからその構成を読みます。 コマンド行から無効にできますが、 デフォルトコンフィギュレーションファイルは、 /etc/ntp.conf です。 また、限りはありますが、コマンド行上で動作中の xntpd 構成を指定することも可能で、 コンフィギュレーションファイルを不要にします。 これは、 xntpd がブロードキャストクライアントとして構成される場合に、 特に適したものです。 このとき全てのピアは実行時にブロードキャストを聴くことで、 決定されます。 デーモンが、 xntpdc(8) プログラムの使用によって動作している間は、様々な内部の xntpd 変数を表示することができ、 また構成オプションも変更できます。
以下のコマンド行引数を xntpd は理解します (より完全で実用的な解説については、 コンフィギュレーションファイルの解説を参照して下さい)。
−a“鑑定” モードで実行します。
−bブロートキャスト NTP を探し、可能ならばこれに同期します。
−c代わりのコンフィギュレーションファイルを指定します。
−eこのコンピュータで、NTP 暗号化フィールドを計算するのに 費やされる時間を(秒単位で)指定します。
−f浮標ファイルの位置を指定します。
−kNTP 鑑定キーの入ったファイルの位置を指定します。
−rブロートキャストと同期させるときに使用される デフォルトの丸めトリップ遅延を (秒単位で) 指定します。
−t信頼のおけるキーリストにキー番号を追加します。
コンフィギュレーションファイルオプション
xntpd のコンフィギュレーションファイルは、比較的、自由な形式です。 コメントは自由に挿入でき、 “#” 文字で始り、行末までをコメントとします。 空白行は無視されます。 構成文は、空白で分けられた引数が後に続く先頭のキーワードを含み、 引数の中には任意のものもあります。 構成文は、複数の行にわたって続けることはできません。 引数は、ネットワーク番号でも (これは数字で、かつ ドットで 間を詰めた形でなければなりません)、 整数でも、浮動小数点でも (秒で時間を指定するとき)、 またテキスト文字列でも可能です。 オプションの引数は、以下の解説の中で “[]” によって区切られたものです。 二者択一の場合は、“│” で分けられています。
peer host_address [ key # ] [ version # ] [ minpoll ]
server host_address [ key # ] [ version # ] [ minpoll ]
broadcast host_address [ key # ] [ version # ] [ minpoll ]
これら 3 つの文は、使用する様々なタイムサーバおよび、または 提供されるタイムサービスを指定します。 peer 文は、与えられたホストが、“対称能動的” モードで ポーリングされることを指定します。 つまり、ユーザが必要ならば、 ユーザの時間にリモートホストを同期化させたい場合に、 同期化先の時間を提供するようにホストに 要求することを指定します。 server サーバ文は、与えられたホストが、 “クライアント” モードでポーリングされること を示しています。 つまり、ユーザの時間に リモートホストを同期化させたくない場合を除いて、 同期化先の時間を提供するようにホストに要求することを指定します。 broadcast 文は、指定されたアドレスへブロートキャスト NTP を送信することを、 ユーザのローカルデーモンに要求するものです。 後者は通常、ユーザのローカルデーモン [複数可]、 ネットワーク [あるいはその中の 1 つ] 上の ブロートキャストアドレスです。
key オプションは、あれば、アドレスへ送られる全てのパケットが、 指定されたキー番号を使用して暗号化された 鑑定フィールドを持つように指定します (キー番号の範囲は、符号なし、32 ビットの整数です)。 デフォルトでは、 暗号化フィールドを含むことはありません。 version オプションは、出力 NTP パケットに使用されるバージョンナンバ を指定できるようにします。 バーション 1 と 2 は選択で、バージョン 2 はデフォルトです。 minpoll オプションは、 ローカルデーモンが同期化にリモートサーバのデータを 使用していないときでも、ポーリング間隔を その最小 (64 秒) に留めておくように指定します。 これは、ブロードキャストのデフォルトです。 目的もなくサーバへの通信量を増やすことになってしまうので、 このオプションはテスト以外では指定すべきではありません。
precision #
ローカルの計時の精度を示します。 値はほぼ、秒単位でのローカル計時の精度の基本 2 対数に近い整数です。 デフォルトで、この値は −6 に設定されます。
実現した際に宣言される精度は、サーバの動作面にも 部分的に影響を与えることができ、 またユーザの同期化サブネットのチューニングパラメータとしても 使用できます。 適当な理由がない限り、デフォルト値から変更されることは ほとんどありません。
driftfile filename
xntpd が計算した “浮標” (または周波数エラー) の値を記録するのに使用するファイル名を指定します。 起動時にファイルが存在すれば、それは読み込まれて、値は、 xntpd の内部の周波数エラーの値を初期化するのに使われます。 ファイルはそれ以後、周波数エラーの現在の値が入っている 新しいファイルと古いファイルを交換することで、 一時間毎に更新されます。 現在の浮標の値を一時ファイルの中に書き込み、 rename(3) を使って古いバージョンと交換することで、ファイルが 更新されることに注意してください。これは、 xntpd が、浮標が入っている ディレクトリに対して書き込み許可を持っていなければ ならないこととファイルシステムのリンクが、 シンボリックでもそうでなくとも、 ほとんど回避されるはずであることを暗に示しています。
monitor yes│no
xntpd 通信量監視機能を可能にするかしないかを示します。 可能の場合、サーバが受け付けた各パケットの 起点アドレスは、量に制限のある追加情報に加えて記録されます。 追加情報とは、要求のモードや、それが NTP サーバポートを元としているかどうかといったものです。 通信量監視データは、 xntpdc(8) monlist コマンドを使って検査 することもできます。デフォルトは “no“ です。 つまり、通信量の監視は行われません。
通信量監視機構が、 xntpd が使用する CPU 利用、 またデーモンのメモリの利用も 最大 8.5 キロバイトまで増やしてしまうことに注意して下さい。 通常、この機能は、ソフトウェアが不調、 または偽データを送っているピアの検索に有効です。 これはオーバーヘッドを 積極的に受け入れたいときローカルサーバの アクセス監視にも使用できるものですが、 主として、数の多いピアで時間をやりとりする かなり一般的なサーバを対象としています。
broadcastclient yes│no
これは、ローカルサーバが、 ブロードキャスト NTP を探し、同期化を試みるかどうかを示します。 デフォルトは “no” です。
broadcastdelay seconds
そのブロードキャストが同期化中のホストに、 デフォルトの丸めトリップ遅延を指定します。 値は秒単位で指定され、 例によって (イーサネットにとって) 0.007 秒 から 0.015 秒 の間の 数です。 より正確な値を決定するために各サーバを ポーリングすれば、最初の予測値は 改善できます。デフォルトは 0.008 秒です。
authenticate yes│no
ローカルサーバが鑑定モードで動作すべきかどうかを 示します。 仮に “yes” ならば、当方の 信頼のおけるキーの 1 つで暗号化された鑑定フィールドを持つ ピアのみが (下記を参照)、 同期化先の候補と見做なされることになります。 デフォルトは “no” です。
authdelay seconds
ローカルコンピュータ上で NTP 鑑定フィールドを 暗号化するのにかかる時間量を示します。 この値は、鑑定が出力パケットで使用されているときの 正確な伝送タイムスタンプに使用されます。 ホストコンピュータの CPU の スピードにかなり左右されるものですが、 通常の値は、0.0001 秒から 0.003 秒の間にあります。 提供プログラムに入っている authspeed を使用して、値は普通、計算されます。
keys filename
xntpd が使用する暗号化キーが入ったファイル名を指定します。 このファイルの形式は、以下に解説されます。
trustedkey # [ # ... ]
鑑定が可能なとき、時刻同期化に適したピアを 決定する目的に合う、信頼のおける暗号化 キー番号の仕様を可能にします。 鑑定フィールドの暗号化にこれらのキーの 1 つを使用し、 また解読が成功したときその信憑性を確認できるピアだけが、 同期化の候補と見なされます。 引数は 32 ビット符号なし整数です。 ただし、NTP キー 0 は固定で、 広く知られたものだということに注意して下さい。 もし重要な鑑定が行われることになれば、 0 キーは信頼のおけるものではありません。
requestkey #
xntpd は、実行時間再構成を xntpdc(8) プログラムを使用して実行できるようにします。 このような要求は、鑑定しなければなりません。 requestkey 文は、32 ビット符号なし整数のキー番号、 そのような要求の鑑定に使用できるようにします。 requestkey 文が構成ファイルになければ、実行時間再構成機能は、不可能になります。
controlkey #
モード 6 の制御メッセージを介して xntpd サーバに特定の変更、特にラジオクロックを持つサーバの リープ秒表示を設定の行うことができます。 controlkey 文は、そうしたメッセージを鑑定するときに使用される 暗号化キー番号を指定します。 この文を省略すると、 サーバの状態を変更する制御メッセージが無視されることになります。
restrict address [ mask numeric_mask ] [ flag ] [ ... ]
xntpd は、制限リストを元とした汎用アドレスとマスクを実現します。 このリストはアドレスとマスクで分類され、 リストは整合のためにこの順番で検索され、 最後に見付けられた整合が、 入力パケットと結合した制限フラグを定義します。 入力パケットのソースアドレスは整合に使用されますが、 32 ビットのアドレスは、 制限エントリと結合したマスクで AND 演算され、 その後、整合したものを探すためにエントリのアドレスと比較されます (エントリのアドレスもまた、マスクで AND 演算されます)。 “mask” 引数は、デフォルトとして 255.255.255.255 をとり、 “address” が個々のホストのアドレス として扱われること意味します。 デフォルトエントリは (アドレス 0.0.0.0、マスク 0.0.0.0) 常に 入っており、分類アルゴリズムを与えられ、 常時リストの最初のエントリになります。 “address” は通常、ドットで間を詰めた アドレスとして与えられていますが、 テキスト文字列 “default” にはマスクオプション はなく、デフォルトエントリを表示するために使用できます。
現在の実装では、フラグは常にアクセスを制限しています。 つまりフラグのないエントリは サーバへの自由なアクセスが与えられることを示します。 フラグは直交のものではありません。 より制限の強いフラグが 制限の弱いフラグを余計に増やしてしまうこともままあります。 このフラグは一般に 2 つのカテゴリに 分類することができ、1 つはタイムサービスを制限するもの、 1 つは情報的な照会を制限し、 サーバの実行時間再構成を行おうとするものです。 下記のフラグを 1 つ以上指定することができます。
ignoreこのエントリに整合するホストからの、全てのパケットを無視します。 このフラグが指定されると、 照会もタイムサーバのポーリングも 応答が与えられなくなります。
noqueryソースからの、NTP モード 6 と 7 の全ての パケット (つまり、情報紹介と構成要求) を無視します。 タイムサービスには影響はありません。
nomodifyサーバの状態 (つまり実行時間再構成) を 変更しようとする NTP モード 6 と 7 の全てのパケットを無視します。 情報を返す照会は許可されます。
notrap整合中のホストにモード 6 の制御メッセージの トラップサービスを提供することを拒否します。 トラップサービスは、 リモートイベントロッギングプログラムの使用の対象となっている、 モード 6 の制御メッセージプロトコルのサブシステムです。
lowpriotrap
優先順位を低くするようにホストを整合することで 設定されたトラップを宣言します。 サーバが維持できるトラップの数には限りがあります (現在の 制限は 3 です)。 トラップは普通、最初に発生し 最初に処理されたものに割り当てられ、後のトラップ 要求は処理を拒否されます。 このフラグは、 優先順位の低いトラップを、後で発生した、通常の 優先順位のトラップへの要求で無効にさせることで、 割り当てアルゴリズムを変更します。
noserveモードが 6 または 7 以外の NTP パケットを無視します。 事実上、照会は許可されますが、タイムサービスは拒否されます。
nopeerポーリング中のホストに、源を持たない タイムサービスを提供しますが、 たとえ将来の同期化先としてみなされているとしても、 ピアメモリの資源をこれらのホストに割り振ることはありません。
notrust通常、これらのホストを別の面では扱いますが、 同期化元としてこれらを使用することはありません。
ntpportこれは実際には、制限フラグというより、整合アルゴリズム修飾子です。 この存在は、パケット内の ソースポートが標準 NTP UDP ポート (123) である場合に限り、 制限エントリを整合させることができるようにします。 “ntpport”、非 “ntpport” 双方とも、指定できます。 “ntpport” は、より特殊なものとしてみなされ、 リストの後半に分類されます。
フラグ “ignore, ntpport” を伴った、 ローカルホストのインターフェースの 各アドレスのためのデフォルト制限リストエントリが、 起動時にテーブルに挿入され、 サーバが独自の時間に同期化しようとするのを防ぎます。 他に構成がなされていなければフラグはデフォルトと結合しませんが、 デフォルトエントリは 常時、存在します (つまり、ユーザ自身の NTP サーバ 以外は全て制限されていません)。
制限機能は、NSFネットのバックボーンで動作している タイムサーバの現在のアクセス方法を xntpd によっても同様に実現できるようにするために付加されています。 この機能は他に、不要の、 または故障したリモートタイムサーバがユーザの タイムサーバに影響を与えないようにするのにも 使用することができますが、 標準 NTP 鑑定機能の代わりのものとしてみなすべきではありません。 制限を元としたソースアドレスは、 決められたクラッカーで簡単に妨害されます。
trap host_address [ port port_number ] [ interface interface_addess ]
与えられたホストアドレスとポート番号でトラップレシーバを構成し、 指定されたローカルインターフェースアドレスでメッセージを送ります。 ポート番号が指定されなければ、18447 の値が使用されます。 インターフェースアドレスが指定されなければ、 ソースアドレスで送られます。 そのソースアドレスは、メッセージが 通過するローカルインタフェースのものです。 複数のアドレスをもつホスト上では、使用される インターフェースはルーティングの変更に応じて順次、変更できます。
トラップレシーバは一般に、ログファイル中の サーバからのイベントメッセージと 他の情報をログします。 その監視プログラムは、独自のトラップを動的に 要求することもできますが、トラップレシーバを構成すると、 サーバが起動されたときもメッセージが 失われないことが保証されます。
maxskew seconds
システムの最大スキューパラメータを、与えられた 秒数に設定します。デフォルトの値は 0.010 秒です。 これはチューニングパラメータで、ネットワークの リンク状態が不完全な場合の動作を改善するために使用し、 ユーザのサーバが例外的な状態で動作する ことがない限り、ほとんど変更されることはありません。
select algorithm_number
5 つの選択重みアルゴリズムから、使用する 1 つを選びます。 デフォルトはアルゴリズム番号 1 で、 これは RFC 1119 で指定されたアルゴリズムです。 アルゴリズム番号 2 から 5 までは、オルタナティブで 実験的な選択重みアルゴリズムを選び、これらの 全てが、標準アルゴリズムよりも低い層および、または 低い遅延のピアのどちらかを、より信頼のおけるものにします。
resolver /path/xntpres
xntpres プログラムへのフルパスをデーモンに示します。 分解能を (数字のアドレスではなく) 必要とする名称が、コンフィギュレーションファイル内の peer および server エントリで使用されるとき、このユーティリティは使用されます。 xntpres は、モード 7 の実行時間再構成を利用しますから、 プロシージャが上回るなら、 この機能も実行可能にしなくてはなりません ( requestkey と keys 文は、上記を参照)。
鑑定キーファイルフォーマット
NTP 標準は、受け付けられた NTP パケットの信憑性の 検証を可能にしている拡張子を指定し、 出力パケット内での信憑性を表示します。 これは、DES 暗号化アルゴリズムを使って、 xntpd で実現されます。 仕様は、32 ビット符号なし整数で番号をふられた、 存在しうる 4 億のキーのどれかを結合の鑑定に使用できるようにします。 結合に含まれているサーバは、 それぞれ独自にキーを学習しなけれはなりませんが、 そのデータを鑑定するのに使われるキーの値という点では 同じものでなければなりません。 キーは標準 56 bit ビット DES キーです。
xntpd は、コンフィギュレーションファイル内の −k コマンド行 オプション、または keys 文を使って指定されたファイルから、 そのキーを読みます。 キー番号 0 は NTP 標準 (56 ゼロビットに) 固定されていて、 変更することはできませんが、 一つ以上の、1 から 15 までの番号をふられたキーを 任意にキーファイルの中に設定することができます。
キーファイルは、コンフィギュレーションファイルと同一のコメント 規約を使用します。 キーエントリは、固定長形式のフォーム、
keyno type key
を使っています。ここで “keyno” は正の整数、 “type” はキーが指定される形式を 定義する単一の文字、 そして “key” はキー自身です。
キーは “type” 文字で制御され、 3 つの異なった形式の1つで与えることが出来ます。 3 つのキータイプと、対応する形式は以下に リストアップされています。
S“key” は DES 文書で指定された 64 ビット16 進法の値です。 各バイトの上位 7 ビットが 56 ビットキーを形成するのに使用され、 一方、各バイトの下位ビットには、 そのビットに対して奇数パリティを維持する 値を与えられます。 先行ゼロを指定しなければなりません (つまり、キーは正確に 16 進法の桁数でなければなりません)。 また、奇数パリティが維持されなければなりません。 ですから、ゼロキーは、 標準フォーマットでは、 0101010101010101 として 与えられています。
N“key” は NTP 標準で指定された 64 ビットの 16 進法の値です。 これは各バイトのビット以外は DES フォーマットと同じで、 パリティビットが現在、バイトの高位にいる ように右に 1 ビット循環されつづけています。 先行ゼロを指定しねばならず、奇数パリティを維持しなければなりません。 NTP フォーマットのゼロキーは、 8080808080808080 として指定されています。
A“key” は 1 から 8 までの ASCII 文字列です。 キーは、文字列の各文字の、ASCII で、 下位 7 ビットを使って形成され、ゼロは、 全幅 56 ビットキーを形成する必要があるときに右に 加えられます。 同様に、暗号化キーは、UNIX パスワードから形成されます。
xntpdc(8) プログラムを使って出された実行時間構成要求を鑑定するために、 コンフィギュレーションファイル requestkey 文を使ってキーの中から 1 つを選択することができます。 後者のプログラムは、 パスワードとして端末からキーを得るので、ASCII フォーマットでこの目的で使用するために選択された キーを指定するのが一般的には望ましいものです。
一次クロックのサポート
xntpd は任意で、相当数の種類の参照クロックを 受け入れるためにコンパイルすることができます。 参照クロックは一般的に (常にそうとは限らない)、 例えばカナダの NRC やアメリカの NIST から 提供されるサービスのような標準時間のソースに 同期している、ラジオタイムコードレシーバです。 コンピュータとタイムコードレシーバ間の インターフェースは装置へ依存したもので、 変更もされますが、しばしばシリアルポートにもなります。
構成の目的で、 xntpd はできる限り多くの通常 NTP ピアに、 アナログ形式の参照クロックを与えます。 参照クロックは、通常ピアの数だけ、アドレス毎に参照されますが、一方、 無効の IP アドレスは通常ピアからそれらを区別するのに 使われます。 参照クロックのアドレスは、 127.127.t.u の形式で、 t はクロックの種類を示す整数で、 u はその種類固有の単位の数を示します。 参照クロックは普通、クロックのアドレスを参照する 構成ファイル内の SERVER 文を使って、クロックを サーバとして構成することで可能になります ( peer 文で参照クロックを構成することもできますが、 いくつかのクロックドライバではこれを行うと、 クロックをいくらか異なった取り扱いをするものがあり、 また規約によってこれはデバッギングの目的で使われます)。 クロックのアドレスは一般に、通常の IP アドレスを 使うことができるコンフィギュレーションファイル以外で使用できます。 例えば、 restrict 文です。
参照クロックのサポートがコンパイルされたことがあると有効となる、 追加の構成文が 1 つあります。 その形式は以下のとおりです。
fudge 127.127.t.u [ time1 secs ] [ time2 secs ] [ value1 int ] [ value2 int ] [ flag1 0│1 ] [ flag2 0│1 ]
クロックの操作をカスタマイズするのに使うことのできるのは、 2 つの時間 (その値は、固定小数点秒で指定されます)、 2 つの整数の値、2 つの 2 進数フラグです。 この値の解釈、そしてそれらが一体使えるのかどうかは、 特殊なクロックドライバに必要な機能です。
UNIX マシン上の xntpd は現在、3 つのタイプの異なったクロックのハードウェア、 それにバックアップ、 あるいは他に使用可能なクロックソースがない場合に使われる、 特殊な 疑似クロックをサポートしています。 これらを構成するときに使用されるクロックドライバ、 それにアドレスは、以下に解説されています。
127.127.1.u − ローカルの同期化クロックドライバ
このドライバは実際のクロックをサポートしませんが、 むしろ、サーバがそれ独自のクロックに同期化することを可能にします。 これは、その層を無限に増やすことなく、 クロックを自由に作動させるのに必要なものです。 これは、標準時間のソースが利用できない、 絶縁状態の NTP 同期化ネットワークを実行するのに使え、 このとき自由に作動しているクロックが まるで他のサーバに外部で同期化しているかのように見えます。 上位の層でローカルクロックを操作させることによって、 サーバの層が固定値を上回って しまわないように防止するのにも使えます。 これは、一次サーバへの接続がない間、 同期化サブネットが単一のローカルサーバに同期化するのを可能にします。
クロックの数 (アドレスでは最下位バイト)は、 0 から 15 までの範囲内でなければならず、 ローカルクロックが動作する層として使用されます。 ローカルクロックに同期化しているとき、 サーバは、クロックピアの層よりも1つ上位の層を宣言します。 ほとんど役に立ちそうもありませんが、複数のローカルクロックを 構成することもできます (実際に 16 機すべてを一度に 起動させることもできます)。
ローカルクロックドライバは、ファッジタイム 1 パラメータ しか使用しません。 このパラメータは、ローカルクロックの浮標補正レジスタに読み出し、 書き込みのアクセスを提供します。 この値は実際に、ローカルクロックを早く、微細に調整します。 外部の同期化がなくクロックが自由に動作しているとき、 いかなる設定値からも変更のない場合以外は 設定可能です。ファッジタイム 1 パラメータは、 音声時報との合理的な同期化を維持するために、手動で クロックのスピードを調整する方法を提供します。 この値を xntpdc(8) プログラムで扱うことは実際に、より有効な方法です。
127.127.3.u − 精度 標準 時間 1010/1020 WWV/H レシーバ
このドライバは、コンピュータ上のシリアルポートに 接続された PST 1020 WWV レシーバから時間を受信するために 使います。 0 から 3 までの範囲の操作番号の、4 機の内の 1 機、 または全てを構成できます。 ドライバは、クロックが接続されているシリアルラインを、 /dev/pst%d (つまり、操作 1 は 127.127.3.1 で /dev/pst1 をオープンし、 クロックを作動させる) とし、 また PST レシーバが、9600 ボーの操作のために構成されることを 仮定します。
ファッジタイム 1 と タイム 2 パラメータは、 WWV と WWVH にそれぞれ同期化する際に、 名目上の伝達遅延としてドライバに使用されるものです。 それらはデフォルトとして、0.0075 と 0.0265 秒をとり、 この値はほぼトロントに合せられています。 これは原則として、その場所に合った伝達遅延に設定 されていますから、クロックの出力を他の層の 1 NTP ピアにより正確に整合させるために、値を変えることが 禁じられている、というふうには考えるべきではありません。 これらを調整する際に考慮しなければならないことは、 値の差が常に、WWV と WWVH の間の予測された伝達遅延差に 設定されていなければならないということです。
値 1 のパラメータは、ピアが動作しているところに 層を設定するのに使用できます。 デフォルトは 0 で、 これはユーザがクロックを、動作中常に同期化の 対象にしておきたい場合、正しい値です。 仮にユーザが、他の全ての一次ソースが使用できない場合に、 クロックにバックアップサービスを提供させたいなら、 もっと高位の値を割り当てることもできます。 値 2 パラメータは、デーモンが、信頼性が低下し始める前に、 同期化せずにクロックが動作するのを許可する、予定の 分数(時間)に設定されています。 デフォルトは 20 で、これは、ユーザが品質の良い バックアップ NTP ピアを持っているとき、適当な値です。 ユーザのネットワークが絶縁されていたり、接続が不完全な 場合には、この値を大きく増やすと有効です。
ファッジフラグ 1 は、ユーザのシステムクロックの精度が 約 500 マイクロ秒以上狂っている場合に設定でき、 またこれに役立ちます。 つまり、これは、不正確なクロックを改善するとき、 わずかにコード処理アルゴリズムを変更させるものです。 ファッジフラグ 2 を設定すると、 ドライバに強制的に、WWV と WWVH の現在のファッジ遅延を プログラムするように要求されたコマンドをクロックに送ることに なります (これは通常、値が変わる場合にのみ行われるものです)。 (文書化されていません) ファッジフラグ 3 は、ドライバにクロックのリセットをさせます。 後者の 2 つのフラグは、一般的にはデバッグに有効です。
127.127.4.u − スペクトラコム 8170 WWVB レシーバ
このドライバは、スペクトラコム 8170 WWVB レシーバに インターフェースを提供します。 また、レシーバからの出力を 2 つ、必要とします。 PPS 出力は、有効な文字を作成する TTL−to−RS232 シリアルコンバータ を 19200 bps で通らなければならないので (スタート ビットを適切な時間に同期化させます)、 通常の RS232 出力は、9600 bps の操作を仮定して 構成されています。 ドライバは、/dev/wwvb%d での RS232 出力と< /dev/wwvbpps%d での PPS 出力をオープンし、その場合、 %d がオープンされた操作の操作番号で置き換えられます。
ファッジタイム 1 パラメータは、クロックの 汎用補正係数として使われ、その際は正の値は時間を進め、 負の値は遅らせます。 パラメータはデフォルトとしてゼロをとり、 これは、クロックの伝達遅延スイッチが 適切に設定されていれば、適切な値です。 値 1 のパラメータは、ピアが動作する層を設定するのに 使用されます。デフォルトは 0 で、これは、ユーザが クロックをその動作中常に同期化の対象としておきたい ときに適切な値です。 値 2 のパラメータは、PPS ポートで受信されるはずの 文字に相当する小数点に設定されます。 デフォルトは 240 (hex 0xf0) で、これは 260 マイクロ 秒のパルスが、適切な秒数に同期化されている PPS ポート に送られるときに受け入れられる文字です。
ファッジフラグ 1 は、不正確なクロックを改善する 際にわずかにコード処理アルゴリズムを変更 させることになりますから、ユーザのシステムクロックの 精度が約 500 マイクロ秒以上狂っている場合に設定でき、 また役立つものです。 ファッジフラグ 2 を設定すると、 強制的にドライバに、リープ秒の保留状態をクリアさせます。 ドライバは、クロックの再同期化を確認するために リープ秒が発生した後 45 分間、 同期化されていないレシーバを示すことになります。 クロックは実際にはイベントの数分内に再同期化が できますので、フラグ 2 パラメータは、強制的に デーモンに、クロックを手動で再同期化させる方法を 提供します。
127.127.7.u − CHU タイムコードへの直接同期化
タイムコードが解釈のために、かなり特殊化された ハードウェアを必要とする NIST タイムサービス と違って、CHU タイムコードは復調後、シリアル ポートを介して直接、受信できます。 現在は、一般向けの CHU はありませんが、 CHU タイムコードの受信を要求されたハードウェアはかなり簡単に 作るはずです。 ドライバは、0 から 3 までの番号を振られた 4 つの装置をサポートし、 特殊な装置が接続されたシリアル装置にアクセスするために、 /dev/chu%d をオープンします。 複数の CHU 装置を同時に構成することができますが、 あらゆる装置からの割り込み文字が同時に発生し、 お互いに邪魔し合うことになるので、 あまり御奨めできません。 注意すべきことは、CHU ドライバの操作には (大抵はドライバをデーモンに実際にコンパイルする場合)、 専用の CHU シリアルラインの制御を ユーザのカーネルにインストールする必要があることです。 これは、割り込みレベルでタイムスタンプをとり、 かつノイズを事前にフィルタリングするためです。
CHU ドライバは、補正係数として、ファッジタイム 1 と タイム 2 を使用します。 規約により、タイム 1 は CHU への伝達遅延の見積もりで (これのおおまかな見積もりを計算するために、提供プログラム内の propdelay プログラムを使用できます)、 またタイム 2 は、モデムフィルタとシリアルドライバを通る 独自の伝達の遅延です。 これらの値は、 デフォルトとして 0.0025 と 0.0002 秒をそれぞれとりますが、 これはトロントと著者の作ったモデムに適したものです。 ファッジ値 1 は、ユーザがクロックピアを動作させたい層に 設定することができます。 クロックがバックアップに使用されるだけならばもっと 高位の層を設定できますが、デフォルトはゼロをとります。 ファッジフラグ 1 は、 わずかに異なるアルゴリズムが設定されており、 システムクロックの精度が約 500 マイクロ秒以上ずれた装置により 適しているもので、生データの処理の際に使用します。
関連ファイル
/etc/ntp.conf構成ファイルのデフォルト名
/etc/ntp.drift浮標ファイルの規約名
/etc/ntp.keysキーファイルの規約名
関連事項
xntpdc(8), ntpq(8), ntpdate(8)
歴史
トロント大学 デニスファーガスン著
バグ
xntpd はかなり大きくなってきています。 大き過ぎるということではありませんが、特に、スペースを 消費してしまう修飾の多い機能は、 高位の層のワークステーションよりむしろ、 忙しい一次サーバで設計されている部分が多い感があるので、 優先順位の高いデーモンが ワークステーション上で 動作するには大きくなりすぎ、ふさわしくありません。 結局、 xntpd の動作に整合できるようになったときに、 ntpd デーモンを代わりとして追加するか、 でなければ、ワークステーションでの使用専用に、 ストリップして小さくしたバージョンの xntpd を作成して、これを修正することになります。
NEWS-OSRelease 4.2.1R