NTPサーバー(Network Time Protocol Server)とは、ネットワークを通じて正確な時刻を配信するサーバーのことです。パソコンやサーバー、ネットワーク機器はこのサーバーへ問い合わせることで、内部の時計を正しい時刻に合わせ続けています。
現実世界に例えると、NTPサーバーは駅の大時計のようなものです。各自の腕時計は少しずつ進んだり遅れたりしますが、共通の大時計を見て合わせておけば全員の時刻がそろいます。NTPは、これをネットワーク越しに自動で行う仕組みです。
NTPサーバー図解
なぜ時刻合わせが必要なのか
機器の内部時計は、放っておくと少しずつずれていきます。時刻がずれると次のような不都合が生じます。
- ログの追跡ができない
複数のサーバーで時刻が食い違うと、障害の発生順序が分からなくなります。 - 認証に失敗する
証明書の有効期限判定や、時刻を使う認証方式が正しく働かなくなります。 - ファイルの新旧を誤る
バックアップや同期の処理で、どちらが新しいか判断できなくなります。 - 予約処理がずれる
定時実行の処理が、意図した時刻に動かなくなります。
階層(Stratum)という考え方
NTPでは、正確な時刻源からの距離をStratum(ストラタム)という数字で表します。数字が小さいほど大元に近く、精度が高くなります。
| 階層 | 内容 |
|---|---|
| Stratum 0 | 原子時計やGPS受信機など、時刻の大元となる装置 |
| Stratum 1 | Stratum 0に直接つながるサーバー |
| Stratum 2 | Stratum 1から時刻を受け取るサーバー |
| Stratum 3以降 | さらにその下位。社内サーバーはこのあたりに置かれる |
一般の利用者はStratum 2〜3あたりの公開サーバーを参照します。上位のサーバーへ直接大量の問い合わせを送るのは避けるべきとされています。
時刻を合わせる仕組み
NTPは、問い合わせを送った時刻と返答が届いた時刻から通信にかかった往復時間を測り、その半分を差し引いて正しい時刻を割り出します。これによりネットワークの遅延があっても高い精度で同期できます。またずれを一気に直すのではなく、時計の進む速さを少しずつ調整して滑らかに合わせる方式が使われます。
社内にNTPサーバーを置く理由
台数の多い環境では、社内に1台NTPサーバーを立て、他の機器はそこを参照する構成が取られます。外部への問い合わせを1か所に集約でき、社内すべての機器の時刻をそろえられるためです。インターネットへ出られない閉じたネットワークでも、この方法なら時刻を統一できます。
参照先の選び方
国内では、日本の標準時を配信している公的機関のNTPサーバーが定番です。このほか、契約している回線事業者が案内するサーバーや、WindowsやクラウドがOS側で標準設定しているサーバーもよく使われます。特別な要件がなければ、既定の設定のままで十分な精度が得られます。
設定時の注意点
NTPはUDPの123番ポートを使うため、ファイアウォールでこのポートが塞がれていると同期できません。また参照先は2か所以上を指定しておくと、一方が停止しても時刻合わせを続けられます。ずれが極端に大きい場合は安全のため自動修正されないこともあるため、初回は手動で大まかに合わせてから同期させます。
あわせて知っておきたい用語
- プロトコル:
通信の手順を定めた約束事。NTPもそのひとつです。 - UDP:
速さを重視した通信方式で、NTPはこれを使います。 - ポート番号:
通信の種類ごとに割り当てられた番号です。 - Windows Server:
社内のNTPサーバーとしてもよく使われるサーバー用OSです。 - Linux:
NTPサーバーの構築先として広く使われるOSです。


コメント