NTPについて、勉強したので学んだことを記載します。
NTPとはNetwork Time Protocolの略称。
NTPはTCP/IPネットワークを通じて現在時刻の情報を送受信するプロトコルの一つ。
時刻情報を配信するサーバと時刻合わせを行うクライアント間、およびサーバ間の通信方法を定めている。
NTPはコンピュータ間で時刻情報をやり取りする方式を定めており、通信時の遅延を計測して補正する仕組みも提供する。標準のポート番号はUDPの123番。
インターネット上には時報のように現在時刻を配信するNTPサーバ(タイムサーバ)がいくつも公開・運用されており、パソコンなどで動作するNTPクライアントはサーバから時刻情報を取得し、コンピュータ内部の時計(RTC)を正しい時刻に調整することができる。
NTPにはこのようなクライアント-サーバ間の通信の他に、時刻サーバ間で時刻情報を調整したり、上位サーバから下位サーバへの階層構造を構成・管理する機能なども定義している。
クライアントからの時刻の問い合わせには、この用途に機能を限定したサブセットである「SNTP」(Simple NTP)が主に利用されてきたが、2010年のNTPv4でNTP本体に統合され、独立したプロトコルとしては廃止された。
NTPはstratumと呼ばれる階層構造を持ち、最上位のNTPサーバが正確な時計から標準時を取得し、下位のNTPサーバはそれを参照する事で時刻を合わせる仕組みです。
最上位のNTPサーバはstratum1でありstratum15までNTPサーバを構築できます。
NTPで時刻同期する際は、公開しているNTPサーバに接続する。
上位層のstratumの方が正確な時刻を保持しているため、上位層のstratumで かつ ネットワーク的な距離が近いstratumを選ぶのがよいと言われているそうです。
日本では情報通信研究機構 (NICT) が公開しているNTPサーバ (ntp.nict.jp) などが有名です。
以上、今回NTPについて勉強した内容でした。