NTP [読み方:えぬてぃーぴー]
Network Time Protocol
ネットワークを介してつながったエンドポイント間の通信では、パケットの送出時刻などを示すタイムスタンプが打たれるので、分散したエンドポイント間で時刻が同期している必要がある。NTPは、クライアントが正確な時刻源を有するサーバに現在の時刻を問いあわせ,その情報を獲得するとともに自らの時計を補正するためのプロトコルである。そのプロトコルはRFC 5905(2010年6月発行、第4版)に定められている。初版は1985年9月発行のRFC 958である。
時刻合わせの原理は次の通りである。クライアントは自らの時計に基づく時刻を付けてサーバにリクエストのUDPパケットを送り、サーバも自らの時計によりリクエストの到着時刻とレスポンスの送出時刻を付けたUDPパケットをクライアントに送る。クライアントは自らの時計によりレスポンスの到着時刻を記録する。クライアントが獲得した4個の時刻情報から、ネットワークの伝送遅延を算出することができ、さらにサーバの時計に対するクライアントの時計のずれを算出できる。
NTPは2種類の時刻源を定義している。一次時刻源は、GPS(Global Positioning System、汎地球測位システム)など原子時計に基づいており、二次時刻源は一次時刻源と同期した時計に基づいている。NTPには時刻源の種類を示すフィールドがあり、ある二次時刻源を参照した3段目、4段目、・・・の二次時刻源もあるので、何段目かを識別するフィールドも用意されている。
関連用語