NTP 【Network Time Protocol】 ネットワークタイムプロトコル
概要
NTP(Network Time Protocol)とは、TCP/IPネットワークを通じて現在時刻の情報を送受信するプロトコル(通信規約)の一つ。時刻情報を配信するサーバと時刻合わせを行うクライアント間、およびサーバ間の通信方法を定めている。NTPはコンピュータ間で時刻情報をやり取りする方式を定めており、通信時の遅延を計測して補正する仕組みも提供する。標準のポート番号としてUDPの123番を使用する。
インターネット上には時報のように現在時刻を配信するNTPサーバ(タイムサーバ)がいくつも公開・運用されている。パソコンなどで動作するNTPクライアントはサーバから時刻情報を取得し、コンピュータ内部の時計(RTC)を正しい時刻に調整することができる。
NTPにはこのようなクライアント-サーバ間の通信の他に、時刻サーバ間で時刻情報を調整したり、上位サーバから下位サーバへの階層構造を構成・管理する機能なども定義している。
クライアントからの時刻の問い合わせには、この用途に機能を限定したサブセットである「SNTP」(Simple NTP)が主に利用されてきたが、2010年のNTPv4でNTP本体に統合され、独立したプロトコルとしては廃止された。
NTPサーバの階層構造
NTPサーバは「Stratum」(ストラタム)と呼ばれる階層構造を形成しており、最上位から順に「Stratum 1」「Stratum 2」のように呼ぶ。
最上位のStratum 1は原子時計や電波時計、特殊なGPS受信機など時刻源(「Stratum 0」とも呼ばれる)となる機器に直結されている。安定的に運用するため一般には公開せず、限られた下位サーバからのみ参照できるようにしていることが多い。
Stratum 2以下のサーバは自らは時刻源を持たず、上位階層のサーバからNTPで時刻データを受信して自らの時刻を正確に維持する。Stratum 3や4などより下位のサーバへ時刻を提供し、クライアントからの問い合わせにも応答する。
インターネット上には数多くの公開NTPサーバがあり誰でも自由に時刻合わせができるほか、こうしたサーバを上位サーバとして、組織内の機器の時刻合わせのために独自にNTPサーバを構築・運用している例もある。