> ホーム > 知恵と勇気道具 > 時計合わせろって!

時計合わせろって!

Table of Contents

パソコンの内蔵時計。こんなにアテにならない時計はほかにありません。内蔵時計の狂いには、いくら敏感になってもなりすぎってことないです。

今やいちばん狂っているのはパソコンの時計だ

壁掛け時計。腕時計。ビデオの時計。携帯の時計。。。

様々な時計が私たちの周りを取り巻いています。現在では時間のまったく分からない空間というのは、よほど意識しないと作り出せなくなっています。この中で、壁掛け時計や腕時計はそのクォーツの正確さを頼りにしてしますし、ビデオの時計はテレビの時報、携帯の時計は電波の中の時報を頼りに正確な時刻を維持しています。

以前は私も携帯の時計なんか当てにならないと思っていましたが、電波を利用して自動的に時間を合わせることが可能な今、腕時計のクォーツよりもはるかに正確な時刻を携帯が刻んでいるというのは、ちょっとしたショックでした。腕時計などのクォーツ時計には時計職人の英知、人間の技術力の結晶という、メカニズム好きな男がみんな覚えるかっこよさを感じていたからです(^^;

翻って、今私たちの目の前にあるパソコンにも時計がついています。時計がついてなきゃ 2000年問題の大半は存在すらしないわけで、まさか時計がついてたなんて知らなかった、って人はいないでしょうね? :-)

冗談はさておき、この時計は正確無比なクォーツ時計でしょうか? はたまた宙を飛び交う電波を利用して正しい時刻に修正する時計でしょうか? いずれも答えはノーです。パソコンの時計は自力でその正確さを維持する機構を持ち合わせていないのです。つまり、今、我々の身の回りにある時計の中で、人間が勝手に抱いている信頼性に対して最も大きな裏切りを見せる時計はパソコンの時計なのです。

[ ↑ content ↑ ]

狂うだろ!

いやー、いつになく大げさな書き出しでしたが、要するにあんたのパソコンの時計はまず狂ってるぞ、ということが言いたいのです。先に2000年問題の話に触れましたが、2000年問題に、正確に2000年1月1日0時0分に直面した個人使用のパソコンは、非常に少なかったと思います。恐らく大半のパソコンはその前後の時間に2000年を迎えていたはずです。

一般の壁掛けや腕時計の誤差は月に数秒というレベルです。しかしパソコンの時計は日に数秒〜十数秒というレベルで狂います。これははっきり言ってかなりいい加減な時計です。1週間もすれば分単位の狂いになってきます。しかもパソコンは、他の時計には考えられないくらいに「よく止まる」という特徴があります。こんな過酷な条件にある時計はちょっと類を見ません。

しかも時計ってのは最初から狂うもんなんです。うるう年にうるう秒、人間の人為的な操作によって、時計は星の動きに追随しているのです。この操作をしてあげていない時計は狂って当たり前なのです。

しかし。しかしです。狂って当たり前の時計を放置して当たり前ではありません。パソコンの時計が狂っていると、様々な障害が発生します。

日付の計算が狂うだろ!

いちばん端的なのは日付の計算が狂うことです。例えばビジネスを始めあらゆる場面で、現在から予定日時までの日数、時間数の計算は必要になります。しかし、「現在」が正確でなければこの計算は意味を持ちません。その現在は他でもない、目の前のパソコンが現在だと思っている時刻のことです。あなたが認識している現在ではありません。

時計が合ってないと、単純なところではタイマーをセットすることができません。

ビデオの録画予約を使う人は、うっかりコンセントを抜いて時刻の設定がパァになって面倒な思いをした、という経験をお持ちじゃないでしょうか? ビデオと同じように、パソコンにタイマーのプログラムを用意してあげれば、テレホーダイの時間になったら自動的にモデムから電話を掛け、朝になったら切断する(あるいは電源を切る)ということが可能なのですが、これはもちろん時計が正確でないとあまり意味を持ちません。

[ ↑ content ↑ ]

ファイルの管理が矛盾するだろ!

時刻が狂っているとファイル管理にも支障をきたします。

同じフォルダに同じ名前のファイルを2つ作ることはできません。もし同じフォルダにコピーや移動をしようとした場合は、下の図のような警告ダイアログが出てきますね。このとき Windows では時刻が表示されます。時計が狂っていても自分のマシンの中だけの話なら2つの時刻は両方とも狂っているから問題ないのですが、これがネットワーク上の他のマシンとのやりとりの場合、どっちが新しいファイルなのか、判断できなくなります。

MacOS のダイアログ
MacOS のダイアログ
Windows のダイアログ
Windows のダイアログ
FTPソフトでファイルの更新日時を確認しているところ

また、ホームページを作っている人は FTP ソフトの「更新」機能にお世話になっていると思います。これを使わないで毎回毎回全部のファイルを転送するのは通信時間がもったいないですからね。ここでも時計が合ってないと面倒が起きます。(この場合は自分だけ合わせていても、サーバが狂っていたらだめなんですけどね(^^;)手元の新しいファイルも時計が遅れていたら更新されないかもしれません。

[ ↑ content ↑ ]

メールの順番が狂うだろ!

これは自分だけでなく相手が困ります。下はいつぞや受信したメールの例。(これを受信したのは2000年です。)

これはある ML 用のメールボックスですが、ML の多くは配信した順番にしたがって Subject に番号を埋め込む機能を持っています。ここでも左端に数字が並んでいますが、よく見ると 474番、475番のあとに 460番のメールがきています。なぜだろうと思ってそのメールが送信された時間を見ると、このメールだけ 2006年の未来からやってきたことになっています。このありえない時間はメールを送信した人のパソコンにセットされていた時間です。

このように、パソコンの時計が狂っていると、メールの前後関係が狂ってしまうんですね。すると途端にメールを探すのが難しくなるんですよ。あーあの話はいつ頃誰から来たメールだったっけかなぁー、と、メールが増えると探して振り返ることが多くなってくるのですが、探すのが難しくなると、それに関する情報が入手しにくくなり、それに伴う行動がすべて遅れたりするんですわ。

メールってね、慣れない人が思うより、かなりの量をさばくようになるんですよ。ま、その辺は「Networking」を参照してもらうとして、ここでは割愛します。

インターネットで時計合わせ

なんでもかんでもインターネット、インターネット。ちょっとうんざりしてるかもしれませんが、時計合わせもインターネットでできるんです。というか、普通に時計を合わせる方法は、ちょっと調べればすぐに分かることなんで、わざわざここには書きません。あしからず。

で、インターネットで時計合わせですが、これにはちゃんと時計合わせ用の規格がありまして、これを Network Time Protocol と言います。基本的にはこのプロトコルを利用して時刻合わせを行いますが、どうも最近は方法としてはそれだけじゃないみたいですね。

NTPクライアント

Windows 2000 以降には実は SNTP クライアントが標準でついているのですが、これは ActiveDirectory のサーバにしか問い合わせないという無茶苦茶な仕様なので使いものになりません。きっちり Windows で統一された大企業でもない限り、上の NTP クライアントのいずれかを自分で設定した方が確実です。

[ ↑ content ↑ ]

タイムゾーンを合わせろ!

タイムゾーンというのは標準時の区分のことです。ここからここまでの地域ではこの時間に合わせますというやつですね。世界の標準はイギリスのグリニッジ天文台のある東経0℃で、日本では明石市の時間が標準時になっています。(実際に決めているのは明石の天文台じゃないんですが。)日本全国が日本時間というタイムゾーンに属しています。(沖縄は別なゾーンになっていると思っている人もいるようですけど、沖縄も同じです。)

で、コンピュータの時間設定にはタイムゾーンというものがあるんです。以前はタイムゾーンなんてのは UNIX 系のソフトを使う一部の人にしか関係ない話だったんですが、インターネットな現在はすべてのコンピュータに正しくタイムゾーンが設定されていることが望まれます。

これが合っていないと、先ほど触れたようにメールの発信時刻や掲示板への書き込み時間などが狂ってきます。

MacOS, Windows ともにシステムの時計の設定のところにタイムゾーン、あるいは時間帯という設定がありますので、日本で使うときはこれを正しく「日本」に合わせてください。

できるだけ近いサーバ

さて、実は NTP クライアントを利用するには、クライアントをインストールするだけではダメなんですね。どこのサーバを基準にするか、言い替えると、どこのサーバにアクセスして時間を合わせるのかを決める必要があります。「いま何時?」って聞く相手を決めるってことです。

インターネットに関してあれこれ読んでいると、「ネットワーク的に近い」という表現を目にすることがままあります。これ、慣れないとなんだか意味が分からない言葉ですが、思いっきり要約していえば反応速度のことです。例えばテレビ放送も、国内の中継と海外の衛星中継では反応が違いますよね。海外の方が遠いから反応が遅れる、というのはみなさんご存知だと思います。同じようにネットワークも遠いと反応が鈍くなります。

インターネットの場合は衛星中継のようにはデータの転送が単純じゃないので、一概には言えないのですが、フツーの人は物理的に近いところは近い、遠いところは遠いです。で、遠い場合は当然データが届くまでの時間が長くなります。衛星中継で声が遅れるのと同じことで、地球の裏側の情報はそんなにすぐには届きません。

これが WWW だったら待っていれば済むことなんですが、NTP の場合は、遠くて通信状態が確実でなくなればなるほど誤差に繋がりますから、待てば済む、という話にはなりません。理想的には LAN の中に NTP サーバがほしいところです。

それともう一つ、NTP サーバはほしい情報や遊びのために見る WWW と違って、コンピュータにとってなくてはならないものです。つまり、WWW サーバよりも NTP サーバの方がより多くのアクセスにより確実に対応する必要があるってことです。(語弊のある表現だということは承知していますが、話を単純にするためにこのままいきます。)

より速く、より確実なサービスであるために NTP は階層構造を取ります。図にするとこんな感じ。

NTPの階層構造

基本的には最も近いサーバに繋げます。LAN に複数のマシンが繋がっている場合は、それらを代表するマシンがよそのサーバに接続して、LAN 内のマシンはその代表に接続するようにします。こうすることで負荷を分散しながら「より近い」サーバを確保することが可能になります。

あなたが LAN に繋げているなら、管理者に「うちの LAN に NTPサーバってある?」って聞いてみてください。なかったら、「え、ないの? じゃあ起こしてよ〜」くらい言っておきましょう。

LAN の外はどこが近いの?

の辺りを参考にしてください。

また、2000年くらいから(もっと前か?)有名なのは 独立行政法人通信総合研究所 ですが、ここの NTP サーバはあくまで実験用という位置付けなのでいつまでサービスされているのか分かりません。

ごく単純に考えると、まず、ご自分の契約しているプロバイダに NTP サーバがあるかどうか調べてみることをオススメします。