NTP(Network Time Protocol)とは
NTPの概要
- パソコンやスマートフォン、ルーターなどのコンピューター機器がネットワーク(インターネットまたはイントラネット)から時刻情報を自動取得するプロトコル。
- 例えば、スマートフォンがNTPサーバーに時刻情報を問い合わせ、NTPサーバーから届いた時刻を自身の時刻に適用する。
- 利用者が時刻をマニュアルで設定したり、時間の経過による端末時刻のズレを防ぐことができる。
NTPサーバーは階層構造
NTPサーバーは階層構造を採用しており、一番上位(ルート)のNTPサーバーは原子時計やGPSから標準時刻を取得する。そして、下位のNTPサーバーは上位のNTPサーバーから時刻情報を取得する。
原則、ルートNTPサーバーは一般公開されていないため、スマートフォンやパソコンなどのNTP利用機器は下位層のNTPサーバーを登録・利用する。
NTPサーバーの利用方法
スマートフォンなどのコンピュータ機器にはNTP設定(例: 自動時刻取得設定)メニューがありNTPサーバーURLを登録できる。
通常デフォルトで特定NTPサーバーが登録されており、利用者が別のNTPサーバーに変更できることもある。
NTPサーバーの登録時には、1つのNTPサーバーを登録するだけでなく、複数NTPサーバーをグループ選択できるNTPプール(NTP pool)を利用できる。1つのNTPサーバーだとアクセス集中時に応答がないリスクがあるため、複数NTPサーバーを切り替えて利用するNTPプールは賢い選択と言える。
コンピューター機器は、端末起動時など特定タイミングでNTPサーバーにアクセスして最新の時刻情報を取得・適用する。
通信時間による誤差も最小限
NTPは、NTPサーバーとクライアント(コンピューター機器)の通信時間も考慮されており、通信時間による発生する時刻誤差も最小限(数十ミリ秒以内)に抑える。
通信時間の誤差をおさえるために交差アルゴリズムという仕組みが採用されている。