PR

NTPとは?ネットワークで時刻を同期する仕組みを解説

NTP ネットワーク
スポンサーリンク

はじめに

パソコンやサーバー、ネットワーク機器は、それぞれ内部の時計を持っています。しかし、個々の時計は少しずつずれるため、何もせずに使い続けると機器ごとの時刻が一致しなくなります。

複数の機器を同じネットワークで運用する場合、時刻のずれはログの前後関係や処理が発生した順番を確認するときの妨げになります。NTPは、ネットワーク経由で基準となる時刻を参照し、機器同士の時刻をそろえるために使われるプロトコルです。この記事では、NTPがどのように時刻差と通信遅延を考慮して時刻を同期するのかを説明します。

NTPとは

NTP(Network Time Protocol)は、ネットワーク上のコンピューターやサーバーなどの時計を同期するためのアプリケーション層プロトコルです。NTPを利用する機器は、基準となる時刻を持つNTPサーバーへ問い合わせ、受け取った時刻情報をもとに自分の時計を調整します。アプリケーション層の位置づけは、アプリケーション層とは?OSI・TCP/IPモデルでの役割を解説で確認できます。

NTPは単に「サーバーが示した時刻をそのまま設定する」仕組みではありません。ネットワーク通信には遅延があるため、要求を送ってから応答が戻るまでにも時間が進みます。NTPでは、通信の往復にかかった時間と、自分の時計と相手の時計のずれを見積もりながら同期します。

NTPでは4つのタイムスタンプを使って時刻差を求める

NTPの基本的なやり取りでは、クライアントとサーバーの間で4つの時刻を記録します。クライアントが要求を送った時刻、サーバーが要求を受け取った時刻、サーバーが応答を送った時刻、クライアントが応答を受け取った時刻です。

この4つのタイムスタンプを比較すると、要求と応答にかかった往復時間と、クライアントの時計がサーバーの時計に対してどの程度ずれているかを見積もれます。これにより、通信に時間がかかったことを無視してサーバーの時刻をそのまま採用するよりも、ネットワーク遅延を考慮した同期ができます。

たとえば、クライアントからサーバーへの通信と、サーバーからクライアントへの通信に時間がかかっている場合でも、送受信時刻を組み合わせることで、その影響を含めて時刻差を計算します。実際のNTPでは、取得した情報をそのまま一度だけ利用するのではなく、時刻源や測定結果を評価する仕組みも使われますが、基礎としては「複数の送受信時刻から時刻差と往復遅延を求める」と理解すれば十分です。

Stratumは基準時刻までの階層を表す

NTPでは、時刻を提供するサーバーをStratum(ストラタム)という値で階層化します。GPS受信機などの基準時刻源に直接接続されたNTPサーバーはStratum 1です。そのStratum 1サーバーからNTPで時刻を得るサーバーはStratum 2、さらにその先はStratum 3というように階層が続きます。

NTPパケットではStratum 2~15がNTP経由の二次サーバーとして扱われ、16は同期していない状態を示します。Stratumは「数値が小さいサーバーなら必ず通信品質も高い」という単純な順位ではありません。時刻源から何段階離れているかを理解するための指標として捉えるのが基本です。

NTPはUDPの123番ポートを使用する

NTPの通常のクライアント/サーバー通信では、NTPサーバーのUDP 123番ポートを使って時刻情報を交換します。クライアントはNTPサーバーと通信し、必要な時刻情報を取得します。UDPやポート番号の基本は、トランスポート層とは?役割とTCP・UDPの違いを分かりやすく解説ポート番号とは?3つの範囲と通信を識別する仕組みを解説で確認できます。

NTPは、サーバーやネットワーク機器の運用で特に重要です。たとえば複数のサーバーで記録されたログを突き合わせて障害を調べる場合、各機器の時計が大きくずれていると、実際に何が先に起きたのか判断しにくくなります。時刻をそろえておくことで、複数機器の記録を同じ時間軸で確認しやすくなります。

まとめ

NTPは、ネットワーク上の機器の時計を基準時刻へ同期するためのプロトコルです。クライアントとサーバーの送受信で得られる4つのタイムスタンプを使い、時計のずれと通信の往復遅延を見積もることが基本的な仕組みです。

また、NTPではStratumによって時刻源からの階層を表します。GPSなどの基準時刻源に直接接続されたNTPサーバーをStratum 1とし、NTP経由で時刻を受け取るサーバーはその下の階層になります。NTPを理解すると、複数の機器で時刻をそろえる必要性と、単純に時刻をコピーするだけではない同期の考え方を説明できるようになります。

関連記事


タイトルとURLをコピーしました