NTP【Network Time Protocol】

広告

広告

NTPとは

最終更新
2006-07-26T00:21:00+09:00
この記事のURI参照
https://www.7key.jp/nw/technology/protocol/ntp.html#what

ネットワークタイムプロトコルの略で、分散した多数の端末間でネットワークを使用して時刻を同期させるために使うプロトコルです。通常UDP/IP(ポート123番)を使いますが、同じ番号のTCPポートも確保されています。

NTPサーバはネットワークを使い階層的に構築することができ、階層の最上位にあたるNTPサーバをStratum 1のNTPサーバと呼びます。Stratum 1のNTPサーバは参照リソース、つまり原子時計やGPS、無線電波などの精確なクロック発信源(Stratum 0)と直接同期を取り、常に精確な時刻を把握しなければなりません。そして、Stratum 1のNTPサーバが持つ精確な時刻を基にして他のNTPクライアントが自身の内蔵時計を同期させることによって、ネットワーク上のすべての端末が同じ時刻を刻むことができます。また、Stratum 1のNTPサーバからNTPで時刻情報を取得し動作するNTPサーバをStratum 2のNTPサーバと呼び、さらにそれを基準にして動作するNTPサーバをStratum 3のNTPサーバ、以下同様にして最大15階層までNTPサーバを構築することができます。もちろん、階層が下へいけばいくほど精度は低くなるのですが、実際には複数のNTPサーバからの情報を参照してネットワークが一時的に利用できない場合にもサービスが無効とならないよう考えられています。

NTPクライアントではNTPサーバとネットワークを介して通信をする際の遅延時間(時刻情報を要求してからその応答が返ってくるまでの時間)やそのばらつきを継続的に計測し、受け取った時刻情報を補正して自動的にミリ秒単位の制度で設定を行うことにより、非常に高い精度で時刻の同期を取ることができます。また、その精確さが低いと判断された場合は時刻同期の頻度を上げるなどの方法によって精度の改善をします。NTP3の中で主要な時間値は、参照クロックからの相対値である次の3つです。

クロックオフセット
ローカルクロックに対する補正
ラウンドトリップ遅延
メッセージ到着までの遅延時間
拡散
ローカルクロックの最大エラー時間

NTPの動作

最終更新
2006-07-27T00:21:00+09:00
この記事のURI参照
https://www.7key.jp/nw/technology/protocol/ntp.html#work

NTPクライアントはNTPメッセージを上位サーバ(同じ階層のサーバと同期を取る場合もある)に送信します。NTPサーバはアドレスとポートを交換してメッセージ内の対象フィールドを書き換え、チェックサムを再計算した上で送信元となるNTPクライアントに返送します。時間精度はナノ秒単位となっています。

NTPのメッセージフォーマットはSNTPメッセージフォーマットを参照のこと。

補足知識

最終更新
2006-07-26T13:44:00+09:00
この記事のURI参照
https://www.7key.jp/nw/technology/protocol/ntp.html#supplement

RFC1305にあるNTP仕様の大部分は精度(ローカルクロックのハードウェアの精確さ、そのシステム上で動作している他の様々なプロセスがもたらす遅延、及びネットワーク自体が持ち込むラウンドトリップ遅延)と同期の領域を取り扱うものとなっています。

NTP3のタイムスタンプは1900年1月1日0時からの相対秒数による64bitの符号無し整数で、前の32bitが整数部、後ろの32bitが指数部となります。従って2036年にはこの64bitがオーバーフローすることとなります。

NTPの設定

広告

当ページ作成にあたり、参考にさせてもらったリソース

Copyright (C) 2006 七鍵 key@do.ai 初版:2006年07月26日 最終更新:2006年07月27日