現代のネットワーク社会において、正確な時刻同期はあらゆるITインフラの根幹を支える重要な技術要素です。
サーバー同士の通信や金融取引の記録、セキュリティログの整合性など、時間の正確さがシステムの信頼性に直結する場面は数多く存在します。
こうしたネットワーク上の時刻同期プロトコルとして広く利用されているのが「NTP(Network Time Protocol)」であり、その中で時間の正確さを表す指標として使われるのが「ストラタム(Stratum)」です。
ストラタムは「階層」を意味する言葉であり、時刻源からの距離を数値で示すことで、ネットワーク全体での効率的かつ正確な同期を実現しています。
本記事では、ストラタムの基本的な仕組みから各階層の役割、そして実務におけるネットワーク設計のポイントまでを詳しく解説します。
ストラタム(Stratum)の基本的な概念
ストラタムとは、ネットワーク内で同期される時刻情報の「正確さのレベル」や「階層的な距離」を定義する概念です。
NTP(Network Time Protocol)において、時刻の供給源となるデバイスを頂点としたツリー構造を構成するために用いられます。
ストラタムの値は0から15までの整数で表され、数値が小さいほど時刻源に近い、より正確なデバイスであることを意味します。
ネットワーク上の各デバイスは、自分よりもストラタム値の小さいサーバーを同期先として選択することで、信頼性の高い時刻情報を取得します。
この階層構造を採用することで、特定のサーバーにアクセスが集中することを防ぎ、負荷分散を図りながらネットワーク全体の時刻を統一することが可能になります。
なぜ階層構造が必要なのか
もし世界中のすべてのコンピューターが、原子時計などの最上位の時刻源に直接アクセスしようとすれば、通信トラフィックが爆発的に増加してしまいます。
また、単一の時刻源に障害が発生した際、ネットワーク全体の時刻同期が停止してしまうリスクも考えられます。
ストラタムによる階層構造を構築することで、上位のサーバーが取得した時刻情報を中継し、下位のデバイスへ効率的に伝播させることができます。
このように、ストラタムはネットワークの負荷軽減と冗長性の確保という二つの大きな役割を担っています。
ストラタムの各階層とその役割
ストラタムの各階層には、それぞれ明確な役割と特徴が割り当てられています。
以下に、主要なストラタムレベルの詳細をまとめました。
ストラタム 0(最上位の時刻源)
ストラタム0は、時刻情報の物理的な発生源となるデバイスを指します。
具体的には、セシウム原子時計やGPS(GNSS)衛星から得られる高精度な時刻情報、電波時計の標準電波などがこれに該当します。
ストラタム0のデバイスは、ネットワークに直接接続されることはなく、専用のインターフェースを介してコンピューターに接続されます。
これらは「参照時計(Reference Clock)」とも呼ばれ、究極の正確さを持つ基準時間を提供します。
ストラタム 1(プライマリタイムサーバー)
ストラタム1は、ストラタム0のデバイスと直接接続され、その時刻情報をネットワークに公開するサーバーです。
一般的に「プライマリタイムサーバー」と呼ばれ、インターネット上の公開NTPサーバーの多くがこの階層に位置します。
自らが基準時刻を生成するわけではありませんが、極めて高い精度を維持したままネットワークへ時刻を供給する役割を持ちます。
日本の国立研究開発法人情報通信研究機構(NICT)が運用している日本標準時(JST)供給システムなどは、このストラタム1に該当する代表的な例です。
ストラタム 2(セカンダリタイムサーバー)
ストラタム2は、ネットワークを介してストラタム1のサーバーから時刻を取得するデバイスです。
多くの企業内サーバーやISP(インターネットサービスプロバイダ)が設置しているNTPサーバーがこの階層に属します。
ストラタム1との通信において発生するネットワーク遅延を計算し、補正を加えることで十分な精度を保っています。
ストラタム2のサーバーは、同時に複数の上位サーバーを参照し、最も信頼性の高い情報を選択する仕組みを備えていることが一般的です。
ストラタム 3 以下と限界値
ストラタム3はストラタム2から、ストラタム4はストラタム3からというように、順次階層が深くなっていきます。
一般的なオフィス内のクライアントPCやネットワーク機器の多くは、ストラタム3や4に位置することが多いでしょう。
理論上はストラタム15まで接続可能ですが、階層が深くなるほどネットワーク遅延の影響を受けやすくなり、精度が低下する傾向にあります。
ストラタム16は、時刻同期が取れていない、あるいは無効な状態を指す特別な値として定義されています。
ストラタムの階層比較表
各階層の特徴を理解しやすくするために、以下の比較表にまとめました。
| 階層(Stratum) | 名称・区分 | 主なデバイス例 | 接続方法・特徴 |
|---|---|---|---|
| Stratum 0 | 参照時計 | 原子時計、GPS衛星、電波時計 | ネットワーク非接続、専用ハードウェア |
| Stratum 1 | プライマリサーバー | NICT公開サーバー、GPSレシーバー直結サーバー | Stratum 0に直結、ネットワークに時刻を提供 |
| Stratum 2 | セカンダリサーバー | 企業のコアサーバー、ISPのNTPサーバー | ネットワーク経由でStratum 1を参照 |
| Stratum 3 | 中継サーバー | 拠点サーバー、一般的なネットワークスイッチ | Stratum 2を参照、精度のバランスが良い |
| Stratum 4-15 | クライアント/末端機器 | PC、モバイル端末、IoTデバイス | 下位層へ進むにつれ精度はわずかに低下 |
| Stratum 16 | 非同期 | 未設定の状態、同期エラー | 時刻源として利用不可能 |
NTPによる同期の仕組みとストラタムの更新
NTPクライアントがサーバーに問い合わせを行う際、パケットのやり取りを通じてストラタムの情報が交換されます。
クライアントはサーバーから受け取ったストラタム値に「1」を加算した値を、自身のストラタム値として設定します。
例えば、ストラタム2のサーバーと同期したPCは、自動的にストラタム3のデバイスとなります。
この単純なルールにより、ネットワーク内で時刻情報のループが発生することを論理的に防いでいます。
ドリフトとジッタの補正
コンピューターの内部時計は、温度変化や部品の個体差によって必ずわずかな誤差(ドリフト)が生じます。
NTPは単に時刻を上書きするのではなく、時間をかけて徐々に同期させる「スルーイング」という手法を用いることが一般的です。
ストラタムの上位から送られてくる正確な時刻と、自身の時計の差分を継続的に計測し、歩度を調整することで高い精度を維持します。
このプロセスにおいて、上位のストラタム値が安定していることは、クライアント側の時計を安定させるための絶対条件となります。
ネットワーク設計におけるストラタムの重要性
企業ネットワークやデータセンターの設計において、ストラタムをどのように配置するかは極めて重要な課題です。
不適切な設計は、ネットワーク全体の時刻に不整合を生じさせ、深刻なトラブルを招く可能性があるからです。
外部NTPサーバーへの過度な依存の回避
社内のすべてのデバイスが、インターネット上のストラタム1サーバーへ直接同期しようとする設計は避けるべきです。
これは外部ネットワーク帯域の浪費につながるだけでなく、ファイアウォールの負荷を高め、セキュリティリスクを増大させます。
社内にストラタム2またはストラタム3として動作する「内部NTPサーバー」を構築し、そこから各機器へ配信するのがベストプラクティスです。
冗長性の確保とストラタムの選択
時刻同期の信頼性を高めるためには、複数のNTPサーバーを参照するように設定することが推奨されます。
NTPのアルゴリズムは、参照先の中に極端に時刻がずれているサーバー(アウトライヤー)があれば、それを自動的に除外する機能を持っています。
複数の上位サーバーから情報を取得する場合、通常は最も小さいストラタム値を持つサーバーが優先的に採用されます。
しかし、ストラタム値が同じであっても、通信の遅延(レイテンシ)が少ないサーバーが選ばれることもあるため、物理的な距離も考慮に入れる必要があります。
ストラタムが影響を与える具体的なIT分野
時刻同期とストラタムの概念は、私たちが日常的に利用するITサービスの裏側で密接に関わっています。
ログの解析とフォレンジック
サイバー攻撃が発生した際やシステム障害の調査において、複数のサーバーに残されたログを突き合わせる作業は不可欠です。
もし各サーバーの時刻が数秒でもずれていれば、イベントの前後関係を正確に把握することが困難になります。
正確なストラタム階層によって管理された時刻情報は、法的証拠能力を持つログ管理の基盤となります。
データベースと分散システム
複数のサーバーでデータを共有する分散データベースにおいて、書き込み順序の制御には厳密な時刻管理が求められます。
GoogleのSpannerのような大規模なグローバル分散データベースでは、時刻の不確かさを最小限に抑えるために独自の原子時計(ストラタム0)を利用している事例もあります。
一般的なビジネスアプリケーションにおいても、トランザクションの整合性を保つために、サーバー間のストラタム差を最小限に抑えることが望ましいとされています。
認証システムと証明書
Active Directoryなどのディレクトリサービスや、SSL/TLS証明書の検証において、時刻の正確さは動作の前提条件です。
Kerberos認証では、クライアントとサーバーの時刻差が通常5分を超えると、認証エラーが発生してログインできなくなります。
また、有効期限を確認するための基準時刻が狂っていると、有効な証明書を失効していると判断してしまう誤作動を招く恐れがあります。
高精度な時刻同期が求められる場合(PTPとの比較)
通常のNTPとストラタムの仕組みでは、ミリ秒単位の精度を実現することは可能ですが、マイクロ秒単位の精度が求められる現場もあります。
例えば、5Gモバイル通信の基地局間同期や、高速な金融取引(HFT)、電力網の制御などが挙げられます。
このようなケースでは、NTPに代わって「PTP(Precision Time Protocol / IEEE 1588)」というプロトコルが使用されます。
PTPもストラタムに似た階層構造を持ちますが、「グランドマスタークロック」と呼ばれる最上位クロックからハードウェアスタンプを用いて同期を行う点が異なります。
しかし、一般的なオフィス環境やWebサービスの運用においては、NTPによるストラタム管理で十分に高い信頼性を確保できます。
まとめ
ストラタムは、ネットワーク上の時刻同期における「信頼の連鎖」を形作るための非常に優れた仕組みです。
ストラタム0という絶対的な基準から始まり、各サーバーが階層を形成しながら時刻情報をリレーしていくことで、巨大なネットワークの時間が一貫性を保っています。
システムエンジニアやネットワーク管理者は、自身の管理するデバイスがどのストラタムに位置しているのか、そして上位の参照先が適切に冗長化されているかを常に意識する必要があります。
適切なストラタム構造を維持することは、単に時計を合わせるという以上の意味を持ち、システムの安全性と整合性を守るための重要なセキュリティ対策の一環であると言えるでしょう。
本記事を参考に、改めてご自身の管理するネットワーク環境の時刻同期設定を見直してみてはいかがでしょうか。
