Subject   : NTPサーバ(標準時間サーバ)

カテゴリー  : インターネット・通信 


 NTPサーバ (標準時間サーバ)
NTP は stratum と呼ばれる階層構造を持ち、最上位のサーバが正確な時計から標準時を取得し、下位のホストはそれを参照する事で時刻を合わせる。最上位の NTP サーバは stratum1 であり、階層を下りるごとに数字が一つずつ大きくなる。NTP では複数のサーバへ時刻を問い合わせることが可能で、これにより可用性と精度の向上が期待できる。通常サーバは複数の上位サーバを利用して時刻を取得する。
stratum1 のNTPサーバは GPS や標準電波、原子時計などの正確な時刻源 (stratum0) に直結されたサーバである。これらの装置は誤差±1μ秒未満(100万分の1秒未満)の非常に正確な時刻を刻んでいる。
GPS衛星には原子時計が搭載されており、その電波にはGPSタイムと呼ばれる時刻情報が含まれている。標準電波は地域の標準時を保持する組織が時刻情報を電波で送出するものである。日本の場合は独立行政法人情報通信研究機構(NICT、旧・通信総合研究所(CRL))が行なっており、同時に日本標準時を刻む原子時計は、stratum1のNTPサーバに利用され、一般から参照するNTPサーバのレベルは、stratum1を基にしたstratum2や、これをさらに参照したstratum3である。stratum16が最下位で、stratum16に同期することは出来ない。
なお、NTPプロトコル上では協定世界時(UTC) を使って時刻を送受信する。
NTPサーバソフトを起動させ、上位NTPサーバに接続すると、機器に搭載された時計の遅れ具合や上位NTPサーバとのネットワーク通信の遅延、それらのばらつき具合を継続的に計測し、受け取った時刻情報を補正して自動的にミリ秒単位の精度で設定を行うとともに、他の機器への時刻も提供することができる。現在のNTP プロトコルのバージョンは4。
代表的な NTP ソフトウェアとしてはWindows用の「桜時計」、UNIX系オペレーティングシステム用の ntpd (旧xntpd) などがある。こうしたソフトウェアを常時起動しておくことで NTP サーバからの時刻情報を定期的に受信してコンピュータの時計を正確に保つことができる。
最近ではルータやスイッチングHUB などのネットワーク機器に NTP サーバの機能を標準で搭載することが多くなっている。
ポート番号は TCP/UDPともに123番を使用。外部のNTPサーバにアクセスする場合、ルータのパケットフィルタの設定でポート123番を通さないようにしている場合は、通すようにする必要がある。

● NTPサーバーリスト
ISPや研究機関等がサービスするNTPサーバーがリストされているので、 ネットワーク的に近所のサーバーを探してみると良いだろう。 もし契約先プロバイダでNTPサーバを提供していなければ、情報通信研究機構 などによるNTPサーバ(ntp.jst.mfeed.ad.jp)の利用が日本国内では推奨される。

● Windows 2000・XPクライアントの時刻合わせ
Windows 2000やXPでは標準でSNTP(Simple NTP)クライアント機能を持っているので、ADSLやFTTHのような常時接続環境下であればこの機能を利用しても良い。
コマンドプロンプトを起動。プログラム→アクセサリで起動するか、ファイル名を指定して実行で"cmd"と入力。
DOSプロンプトのコマンドラインに "net time /setsntp:NTPサーバのIPアドレス" を入力。
exit コマンドで、コマンドプロンプトから抜ける。
コントロールパネル→管理ツール→サービスを開く。
表示されるサービスから"Windows Time"をダブルクリック。
"Windows Time"のプロパティの全般タブで「スタートアップの種類」を"自動"に変更し、「開始」→「OK」ボタンを押す。
これにより、起動時にNTPサーバにアクセスされて、PC内蔵時計の時刻合わせが行われる。
なお、LAN内部にクライアント台数がそれなりある場合に、LAN内に内部NTPサーバがない(設置しない)場合でも、効率的な時刻合わせの方法がある。(なお、クライアント側はWindows 95以降で可能)
サーバ的なWindowsパソコン約1台上に、上記SNTPクライアントの設定をし、または「桜時計」を稼働させておく。
各クライアント上で、NetBIOSのコマンドである "net time /domain" や "net time \\server_name /set /yes" 等のコマンド(server_nameは、1.のサーバ的パソコンの名前。他詳細は "net help time" を入力して参照)を実行させる。
(なお、 "net time ..." のコマンドを自動実行させるには、Windowsタスクを使用したり、「スタートメニュー→プログラム→スタートアップ」の中に "C:\WINNT\system32\net.exe time ..." (Windows2000) "C:\WINDOWS\system32\net.exe time ..." (WindowsXP) のショートカットを入れる等の方法がある。)
また、企業内ネットワークなどでWindowsドメインを構成している場合、クライアントの時計はドメインコントローラの時計と自動的に同期されるので、各クライアントでは特に何も設定する必要がない。ドメインコントローラの時計が外部のNTPサーバと同期するように設定しておけばドメイン全体の時計が同期される。

   ⇒ 

[メニューへ戻る]  [HOMEへ戻る]  [前のページに戻る]