macOSはどうやって正確に時刻を合わせているの?|MacFan

レクチャー macOSのシンソウ

macOSはどうやって正確に時刻を合わせているの?

文●千種菊理

OSの深層部分、知れば知るほど奥深い、macOSの仕組みを解き明かす。

時刻の誤差が命取り

突然ですが、ご自身のコンピュータの内蔵時計の時刻は正確でしょうか? Macをお使いの読者の皆さんの場合、より注意して時刻が合っているかを確認してください。

なぜならmacOSで採用されている、ネットワークを通じてコンピュータ間でユーザの認証を行う「ケルベロス(Kerberos)」という認証方式は、時計の設定時刻が正確であることが前提となっており、時刻が不正確だと認証が正しく行えなくなるからです。ほかにも、アイクラウドの同期や認証も、時刻が正確であることを前提に作られているなど、設定時刻が正確でないと、さまざまな問題が発生する原因となってしまうのです。

そこで、macOSにはネットワークにつながってさえいれば、ネットワーク上のサーバから正確な時刻を取得し、時計の時刻を合わせる仕組みが組み込まれています。このサーバとの通信手段を「NTP(Network Time Protocol)といいます。

NTPサーバが時刻を守る

NTPで現在時刻のデータを配信しているサーバ(NTPサーバ)は、インターネット上のあらゆる場所に用意されています。もっとも正確な時刻を保持しているNTPサーバは、GPSや標準電波、原子時計といった正しい時間を刻む時刻源と接続されており、そこから時刻を取得し、NTPを通じて、接続されているクライアントに時刻を提供します。

とはいえ、すべてのクライアントがこうしたサーバに接続すると、ネットワークの混雑が発生してしまい、正しい時刻を届けるべき通信のやりとりも不安定になってしまいます。そうならないために、NTPサーバは階層構造になっています。

高度に正確な時刻源に直結されたサーバを「Stratum 1」、そこから時刻を取得したNTPサーバが「Stratum 2」となり、その下が「Stratum 3」と続いていきます。「Stratum」という値で何階層目かを示すのです。

また、ISP(インターネットサービスプロバイダ)の多くは、利用者向けに独自のNTPサーバを提供しています。固定回線に接続しているコンピュータなどは、こうしたプロバイダ独自のNTPサーバを参照するほうが、ネットワークの負担が少なくなります。

macOSの場合は、アップルが用意した「アメリカ(time.apple.com)」「アジア(time.asia.apple.com)」「ヨーロッパ(time.euro.apple.com)」といった地域のNTPサーバが初期設定で選択されています。MacBookなどのように、持ち歩いて、あちこちのネットワークにつなぐことが多い機種は、確実に存在するアップルのNTPサーバを参照したままにしたほうがいいでしょう。

 

NTPサーバの階層構造

最上位NTPサーバ(Stratum 1)は、原子時計やGPS、標準電波など、高精密な時刻情報を元に動作することが必須となっています。Stratum 1のサーバと時刻同期して動作するサーバはStratum 2、Stratum 2と同期するサーバはStratum 3と、精密な時刻情報からどれぐらい離れているかを「Stratum」という数値で表します。Stratumの数値が若いほど高精度のNTPサーバになるというわけです。クライアントはどのStratrumのNTPサーバともつながることができ、MacやAirMacベースステーションなどは、それ自身がNTPサーバになることもできます。なお、Stratumが大きいサーバから時刻を同期しても、一般用途では問題ありません。




続きを読むためにはログインが必要です。
月額720円ですべてのコンテンツの閲覧が可能になります。
下のボタンより、お申込手続きを行ってください。

  • ログイン
  • 会員登録

同カテゴリ記事一覧