NTP 環境を構築する - NTP サーバの役割

SPECIAL

コンピュータの時刻を調節するのに利用する、NTP プロトコルのお話です。

ここでは、NTP サーバーの役割についてを記しています。


1-1: NTP サーバの役割

パソコンの時刻

パソコンにはタイマーが搭載されていて、ちゃんと時を刻むことができます。

が、その精度は良いと言えるものではなく、1ヶ月も動かしていれば、何分もずれてしまう感じです。正確に合わせておいたつもりでもいつの間にか 30 分もずれていた、という経験を持っている人もいるのではないでしょうか。

 

個人的なパソコンの場合にはそれでも平気な方もいるかもしれませんが、インターネット上のサーバを担っているコンピュータなんかでは、正確に時を刻んでいた方が都合がいいことがあります。

 

特に重要なのがログ収集ではないでしょうか。

ログを収集する際に記録される時間はそのコンピュータに設定されている時刻であるのが一般的でしょうから、そのコンピュータが、世間よりも1時間ずれてしまっていたら、たとえば本来は 9 時にアクセスしてきた情報であるにも関わらず、10 時にアクセスがあったと記録されてしまいます。

常に 1 時間の幅を保ってずれているのならばまだ推測できるのですが、先ほども書いたように、1ヶ月もすればどんどんと誤差が積み重なってしまうほどです。

 

またメールサーバも、何時にメールを受けたなどの記録を残すサービスのひとつです。

メールの場合には特に受信日や送信日といった、人の目に触れるいちに時刻情報が利用されるだけに、時刻がずれていたために、メールが届くまでに1時間もかかったというような誤解を招く可能性もあります。

ほかにも、ファイルの作成日をみてファイルの新旧を判断するようなプログラムにも影響を及ぼすことがあります。

 

それともうひとつ。

個人的に体験した不具合なのですけど、Windows の NTLM 認証によって保護された Web サイトへ Macintosh の IE 5.1 ( MacOS X ) で接続したときのお話です。

Mac 版の IE も NTLM 認証をパスできるので、Web サイトにアクセスした際に、認証ダイアログが出ます。そして本来は、ドメイン名、名前、パスワードを適切に入力すれば保護された Web サイトを参照することができるのですが、時刻のずれによっては拒否されてしまう場合がありました。

クライアントである Macintosh と、認証担当のドメインコントローラとの時刻がずれている場合、アクセスが拒否されてしまう場合があるようです。

 

NTP プロトコル

曖昧なパソコンの時計を、インターネットを使って合わせるために使用されるのが NTP プロトコルです。

時計を合わせたいコンピュータ ( NTP クライアント ) が、NTP プロトコルを使って、NTP サーバへ時刻を問い合わせ、受け取った時刻を設定する、実際にはもっと慎重に時刻を合わせてくれたりするようですが、とりあえずこのような感じで時刻を調整します。

というわけで、NTP プロトコルを利用するためには、NTP プロトコルを用いて通信することのできるクライアントソフトと、時刻情報を提供してくれる NTP サーバが必要となります。

 

NTP サーバは何らかの手段で自分の時刻を正しく維持しながら、NTP の要求を待ちます。

根本となる NTP サーバは GPS などのシステムから正確な時刻を手に入れるのでしょう…。そして負荷分散やトラフィックの影響を少なくするために、別の NTP サーバがこのサーバから時刻を入手し、ほかの NTP クライアントへ時刻を提供する、というような階層構造を作ります。

 

LAN 環境の時刻を合わせるには、規模にもよりますが LAN 内に1台程度の NTP サーバを用意して、それらが外部の NTP サーバと時刻の同期をします。

そしてその他のコンピュータは、LAN 内に構築した NTP サーバに時刻を問い合わせるという形が一般的なようです。

 

NTP プロトコルは待ち受けに 123/udp を使用しますので、パケットフィルタ等を使用する場合にはそのポートに気をつけましょう。

 

目次