ネットワーク機器などの設定で見かける「NTP」。
「NTP」は「エヌテーピー」または「エヌティーピー」と読みます。
この記事では「NTPについて簡単に知りたい!」というネットワーク初心者の方のために、NTPとは何なのか、イメージでつかめるようわかりやすく説明します。
項目 | 説明 |
---|---|
プロトコル名 | NTP(Network Time Protocol) ネットワーク時刻同期プロトコル |
トランスポート層 | UDP |
ポート番号 | 123番 |
説明 | ネットワーク上のコンピュータが時刻同期するためのプロトコル |
目次
NTPとは?
NTPを簡単に説明すると次の通り。
ネットワーク上のコンピュータが時刻同期するためのプロトコル
NTPは、時刻を合わせるNTPクライアントと、正確な時刻を保持するNTPサーバが通信する時に利用するプロトコルです。
NTPを使った時刻同期は次の手順で行われます。
- NTPクライアントがNTPサーバに対して、現在のクライアントの時刻を書き込んだパケットを送信します。
- パケットを受け取ったNTPサーバは受け取った時刻と返信する時刻をパケットに書き加えて返信します。
- NTPクライアントはこの返信パケットを受け取った時刻と、パケットに書き込まれた時刻を元に、正しい時刻を計算します。
設定すべき正しい時刻は、「パケットが往復にかかった時間」を2で割り、NTPサーバから受け取った時刻に加えることで求められます。
設定すべき正しい時刻 =(パケットが往復にかかった時間 ÷ 2)+ NTPサーバから受け取った時刻
NTPはこのようにしてパケットのやり取りの際の遅延を調整しています。
NTPの詳細はこちらのサイトが参考になります。
NTPがなぜ必要なの?
ネットワークでサービスを提供しているサーバーにとって時刻は重要です。
メールやSNSメッセージの時刻、オンラインゲームの時刻がずれている状況をイメージするとわかりやすいのではないでしょうか?
時刻がずれると様々なトラブルにつながりますよね。
そうならないように、インターネット上のサーバーは正しい時刻にあわせる必要があります。
この「時刻同期」を行うために使用されるのがNTPという通信プロトコルです。
NTPについての注意
ここまでで、NTPはコンピュータの時刻合わせを行うプロトコルであることを説明してきました。
しかし、NTPで取得した時刻はすぐに適用するわけではありません。
例えば、サーバではバックアップ処理を時刻で起動することがありますが、NTPにより時刻が数分とんでしまうと、処理が起動されないままスキップされてしまいます。
そうのような事態を避けるため、コンピュータのクロックを早くしたり遅くしたりして少しずつ正しい時刻にあわせるようなしくみがあります。
NTPサーバは負荷を分散する構造になっている
NTPサーバーは、負荷を分散するため「Stratum」(ストラタム)と呼ばれる階層構造になっています。
階層はStratum1のNTPサーバを頂点とした階層構造で運用されています。
このStratum1のNTPサーバは、Stratum2のNTPサーバの基準になるため、高い精度で時刻を管理しています。
そのため、GPS時計やセシウム原子時計と呼ばれる「100万年に1秒ずれるかどうか」という精密な時計と常に同期をとっています。
NTPサーバはどこがおすすめ?
おすすめのNTPサーバは「ntp.nict.jp」です。
「ntp.nict.jp」は情報通信研究機構が管理している、日本標準時に直結した時刻サーバです。
本サービスでは、NICTで独自開発した インターネット用時刻同期サーバーを用いています。
引用:日本標準時グループ -公開NTP
時刻サーバはNICT内に設置され、 日本標準時に直結しています(stratum 1)。
その時刻精度は日本標準時と10ナノ秒以内、 処理能力は毎秒100万リクエスト以上の性能を有しています。
NTPサーバ名に「ntp.nict.jp」を設定することで利用可能です。
WindowsでNTPサーバを設定する方法
Windows10では、デフォルトのNTPサーバに「time.windows.com」が設定されています。
変更する場合は下記の手順で変更が可能です。
- STEP
Windowsのスタートをクリックし設定アイコン(歯車マーク)をクリックします。
- STEP
「時刻と言語」をクリックします。
- STEP
「関連設定」の「別のタイムゾーンの時計を追加する」をクリックします。
- STEP
「日付と時刻」ダイアログの「インターネット時刻」をクリックし「設定の変更」をクリックします。
- STEP
サーバー欄にNTPサーバー名を入力し「OK」をクリックします。
デフォルトで「time.windows.com」が設定されています。
NTPサーバに「ntp.nict.jp」を使用する場合は次のように入力します。
「OK」をクリックすると設定完了です。
NTPを簡略化したSNTP
NTPを簡略化したSNTP(Simple Network Time Protocol)というプロトコルもあります。
SNTPは、階層的に構築されたネットワークを使用するNTPの機能を簡略化し、時刻を同期する機能のみに特化したプロトコルです。
引用:ダイヤトレンド – SNTP
パソコンのようにその場で時刻調整しても問題がない場合はNTPの簡易版であるSNTPを使います。
NTPを使用した製品
NTPを使用した製品を紹介します。
共立電子産業 電波時計信号送信機能付き時計 P18-NTPLRBK
共立電子産業の電波時計信号送信機能付き時計は、インターネット上のSNTPサーバから時刻を取得し、正確な時間を表示することができます。
また、最大約10mの範囲に標準電波を送信する機能があるので、その範囲内にある電波時計を正確な時刻に合わせることができます。
ネットワークへの接続は有線です。
ケイシーズ Wi-Fi式電波時計用リピータKEISEEDS P18-NTPWR
P18-NTPWRもP18-NTPLRBKと同じくインターネット上のSNTPサーバから時刻を取得し、最大約10mの範囲に標準電波を送信する機能があります。
P18-NTPLRBKとの違いは、ネットワークへの接続が無線(WiFi)であることです。
NTPまとめ
この記事では「NTPについて簡単に知りたい!」というネットワーク初心者の方のために、NTPとは何なのか、イメージでつかめるようわかりやすく説明しました。
ネットワーク上のコンピュータが時刻同期するためのプロトコル