タイムサーバー(ネットワーク時刻同期)
タイムサーバーは、基準時計とNTPなどのプロトコルを用いてコンピュータネットワーク全体に正確な時刻情報を提供し、ログ、セキュリティ、分散アプリケーションの時刻同期を維持する。
概要
コンピュータネットワーク上の他の機器へ正確な時刻情報を配信するコンピュータネットワーク上のコンピュータは、タイムサーバーと呼ばれる。その主な役割は、参加するシステムが共通の時刻認識を共有できるようにすることである。機器間で時刻が一貫していることは、イベントの順序付け、ログの照合、セキュリティプロトコル、証明書の検証、スケジュールされたジョブ、および多くの分散アプリケーションにとって不可欠である。
画像ギャラリー
1 画像タイムサーバーが時刻を取得する方法
タイムサーバーは、原子時計、GPS受信機、その他の専用基準時計(基準クロックまたはマスタークロックと呼ばれることが多い)など、高精度な時刻源から基準時刻を取得する。これらの物理的な装置は、権威ある時刻源と見なされる。タイムサーバーは基準時刻を読み取り、標準化されたネットワークプロトコルを用いてクライアントシステムがその時刻を利用できるようにする。多くの構成、特に大規模組織では、遅延を抑え、遠隔の公開サービスへの依存を減らすため、ローカルサーバーが接続された基準時計から時刻を維持する。
階層とストラタム
ネットワーク時刻システムは一般に、ストラタムレベルで表される階層構造で編成される。ストラタムは、サーバーが権威ある基準時刻源からどの程度離れているかを示す単純な数値上の区分である。
- ストラタム0:物理的な基準時計そのもの。たとえば原子時計やGPS受信機である。ネットワークホストではなく、最終的な時刻源に当たる。
- ストラタム1:ストラタム0の装置に直接接続されたサーバーである。通常はネットワークに時刻を配信する「プライマリ」タイムサーバーとなる。
- ストラタム2以下:より上位のストラタムのサーバーと同期するサーバーである。基準時刻源から1ホップ離れるごとにストラタム番号は増加し、値が小さいほど権威ある時計に近い。実際には、一般的な企業ネットワークでは一桁台半ばまでのストラタムレベルが用いられる。
プロトコルと動作
時刻配信で最も広く使われるプロトコルはNetwork Time Protocol(NTP)である。NTPは時刻メッセージを交換して、相手との時刻差と往復遅延を推定し、それに応じて時計を調整する。リソースが限られた機器向けには、SNTP(Simple NTP)などのより簡易な方式も存在する。タイムサーバーは、慎重に調整されたパラメータでこれらのプロトコルを実行する。一定間隔で相手をポーリングし、補正値を算出したうえで、急激な時刻の跳躍を避けるためにシステムクロックを徐々に調整する。適切な動作には、ネットワーク遅延、ジッター、不均衡な遅延を考慮することが必要となる。
用途、例、重要性
正確なネットワーク時刻は、多くの機能を支える。具体的には、インシデント対応のためのログ整合、金融取引における正しいタイムスタンプの保証、分散データベースの協調、時刻に基づくアクセス方針の適用、暗号証明書の失効などである。組み込みシステム、産業用コントローラー、IoT機器も、協調した動作を維持するためにネットワーク時刻へ依存している。アクセスを拡張するために公開・非公開のタイムサーバープールが広く使われる一方、高い保証を必要とする組織は、自ら基準時計に接続したサーバーを導入することが多い。
ベストプラクティスと主な考慮事項
- 障害の検出と単一障害点の低減のため、独立した複数の時刻源を使用する。
- 遅延を減らし安定性を高めるため、遠隔の公開サーバーよりもローカルのストラタム1またはストラタム2サーバーを優先する。
- なりすましや改ざんを軽減するため、利用可能な場合は認証または暗号学的保護を有効にする。
- うるう秒や、調整を滑らかにするために使用されるベンダー固有の「リープ・スミア」方式などの特殊な事例に注意する。
タイムサーバーは、現代のネットワークにおける基盤的なサービスである。信頼できる時計を配信するという原理は単純だが、ネットワーク時刻を実際に扱う際には、システムの協調性と信頼性を維持するため、慎重な構成、監視、セキュリティへの配慮が求められる。
コンピュータの詳細 · ネットワークとインフラストラクチャ · 基準時計 · 時刻同期プロトコル
関連項目
著者
AlegsaOnline.com タイムサーバー(ネットワーク時刻同期) Leandro Alegsa
URL: https://ja.alegsaonline.com/art/99943