NTP(Network Time Protocol)

読み方:エヌティーピー

NTPとは

「Network Time Protocol」の略で、 コンピューターネットワークを介して、 コンピュータ機器内の内部時計を正確にするために、 時刻の同期を行う通信プロトコルの一つです。

時刻を配信するのがNTPサーバー側、時刻を合わせるのがNTPクライアント側です。 サーバー側もクライアント側も ポート番号123番を使用して通信を行います。
インターネット技術の標準化団体である IETFによって、NTPが標準化されたのが1985年で、 インターネット上で 古くから使われている通信プロトコルになります。

NTPサーバーは階層構造

NTPサーバーの構成は下図のような階層構造になっています。

NTPサーバーの階層構造

最も上位にあるNTPサーバーを「Stratum 1」と呼び、 最も時刻が正確なNTPサーバーになります。 英単語「stratum(ストラタム)」は「階層」の意味です。

「Stratum 1」の時刻を参照するのが「Stratum 2」のNTPサーバーで、 以下「Stratum 3」「Stratum 4」...と続き、 最大で15階層まで構築可能です。 時刻の精度は下の階層になるほど精度が低くなります。

最上位に位置する「Stratum 1」のNTPサーバーは、 GPS時計や原子時計といった正確な時刻を持つ時計と同期をとっています。 GPS時計や原子時計は「100万年に1秒ずれるかどうか」 といったレベルの正確性を持つ時計です。

時刻同期の仕組み

同期する際は、NTPメッセージを発信した時刻、受信した時刻を NTPサーバー側・NTPクライアント側のそれぞれが情報として含めます。 これらの情報を基にネットワークの遅延を計測し、 正確な時刻同期を行います。

さらに1台だけの時刻情報を参照するのではなく、 複数台の上位NTPサーバーの時刻を参照し、 より正確な情報が取得できる仕組みになっています。

IT基礎知識