Time.cx

 
Welcome to the Time WWW server. [ NTP ]

The purpose of this server is to provide the latest information on
Network Time Protocol (NTP)
and other related clock synchronization products.

Please send any NTP bugs or comments to bugs@mail.ntp.org.


what's New

The latest releases of NTP:

Releases Information
Date Bytes Content Comment
* ntp-4.2.0.tar.gz 2003/10/15 2.51Mb Distribution notes latest release

Check out the NTP The Network Time Protocol




HIJK さんのWEBクロック



JAVA を使ったグラフィック時計、ソースコードもあります。




NTP のインストール方法


◆/tmp あたりで解凍する
#tar zxvf ntp-4_2_0_tar.gz

◆インストーラーのあるディレクトリへ移動する
#cd ntp-4.2.0

◆まずコンフィギュレーションを実行
#./configure

◆次に make 
#make

◆結果を検証する
#make check

◆/usr/local/bin へインストールされる
#make install

◆不必要なファイルを削除したい場合
#make clean


Linuxで ntp server の稼動方法



◆/etc/ntp.confを下記の内容で作成する

server ntp.cyber-fleet.net
server ntp.ewha.net
server ntp.ucsd.edu

       ntp.ucsd.edu は aliases で FQDN は bigben.ucsd.edu (132.239.1.6)です

OCNでの記述方法
server 202.234.233.106
server 202.234.233.109
server 210.145.255.76
(OCNユーザーでないとこれらのサーバーへアクセス出来ないようです)

なお、コメント行とするには行頭にセミコロンを挿入する


◆サーバー現在時刻の確認

サーバーの現在時刻が実時間と 1000秒以上の違いがあると ntp は動作しません。
そこでまず date コマンドを使って1分以内の範囲にセットしておきます。

◆デーモンを起動する

#/usr/local/bin/ntpd 
(各LINUXに対応した方法でデーモンがスタート時に起動するように設定する)

たとえば、Turbo Linux では /etc/rc.d/init.d/tltime を以下のように記述する
#!/bin/bash
# init file for TurboLinux time settings
#
#
# chkconfig: - 52 52
# description: tltime (Sets system clock via ntp or rdate)
#
#
# source function library
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network

case "$1" in
  start)
        if [ "$TIMESERVERATBOOT" = "yes" ]; then
            echo "Setting system clock from remote host $TIMESERVERHOST"
            if [ "$TIMESERVERTYPE" = "ntp" ]; then
                /usr/local/bin/ntpd
#               /usr/bin/ntpdate $TIMESERVERHOST
            elif [ "$TIMESERVERTYPE" = "rdate" ]; then
                /usr/bin/rdate -s $TIMESERVERHOST
            else
                echo "Unknown timeserver type specified!"                      
            fi
        fi
        ;;
  stop)
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  status)
        ;;
  *)
        echo "Usage: tltime {start|stop|restart|status}"
        exit 1
esac

exit 0

そして、/etc/sysconfig/network へ下記の変数をセットしておく
TIMESERVERSTARTATBOOT=yes
TIMESERVERATBOOT=yes
TIMESERVERTYPE=ntp         



◆デーモンの状態を表示してみる

#cd /usr/local/bin
#./ntpq -p

OCN では
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp-tk01.ocn.ad 203.139.161.118  3 u   44   64    7  404.276  -129.99  27.947
 ntp-tk02.ocn.ad 202.234.233.105  3 u   38   64   17  360.531  -94.004  49.091
 ntp-os01.ocn.ad 202.234.233.105  3 u   54   64    7  296.994  -71.910   6.866

"st" は time server の階層を表し、この場合には元データから3階層目のサーバー
である事を示している。もしこの数値が16である場合にはサーバーは時刻情報を提供
するつもりはないので別のサーバーを指定しなければならない。


起動後、しばらくすると + と * が付く。これで同期完了です
#./ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ns2.cyber-fleet ntp.nttsl.mfeed  2 u   94  128  377   48.014    2.098   0.711
*211.39.143.103  time.nist.gov    2 u   98  128  377  171.428   -2.651   1.280
+bigben.ucsd.edu time.sdsc.edu    2 u    9  128  377  128.233   -7.923   1.123

OCN では
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp-tk01.ocn.ad 203.139.161.118  3 u   12   64   37  343.726  -118.88  19.127
+ntp-tk02.ocn.ad 202.234.233.105  3 u    4   64   77  335.461  -102.70  41.927
*ntp-os01.ocn.ad 202.234.233.105  3 u   18   64   37  274.194  -76.805  17.172

その後、安定してくると基本的に、"reach" は(8進数)377になるはずです。
"delay" は正の数で、あなたのネットワークテクノロジーに依存しますが小さいはずです。
"jitter"は、少なくとも1つのサーバーでは1000未満(1秒未満)であるはずです。

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp-tk01.ocn.ad 203.139.161.118  3 u  884 1024  377   90.294  -32.369   9.935
*ntp-tk02.ocn.ad 202.234.233.105  3 u  877 1024  377   97.951  -31.587   7.732
+ntp-os01.ocn.ad 202.234.233.105  3 u  835 1024  377  135.322  -40.480  11.392

同様に以下のコマンドでも確認できる
#./ntpq -c as

ind assID status  conf reach auth condition  last_event cnt
===========================================================
  1 18484  9434   yes   yes  none  candidat   reachable  3
  2 18485  9634   yes   yes  none  sys.peer   reachable  3
  3 18486  9434   yes   yes  none  candidat   reachable  3

また、ntpdc を使っても確認できる。ntpdc はインタラクティブモードで動作する
#./ntpdc
ntpdc>peers
または
ntpdc>dmpeers

     remote           local      st poll reach  delay   offset    disp
=======================================================================
=ntp-tk01.ocn.ad 210.248.94.50    3 1024  377 0.08800 -0.012080 0.01945
*ntp-tk02.ocn.ad 210.248.94.50    3 1024  377 0.07181 -0.004664 0.01839
=ntp-os01.ocn.ad 210.248.94.50    3 1024  377 0.06181  0.004469 0.01485

ntpdc>exit
または
ntpdc>quit
で終了する
peer とは observe、参照した事を意味している。


Linuxで ntp client の稼動方法



◆ntpdateをインストールする

ntpdateはntp-4_2_0_tar.gzに含まれて配布されている。

make install までは server と同じ手順で作成する
「Linuxで ntp server の稼動方法」までは共通の作業を行なう事になる

したがってLinuxの場合にはインストールそのものはサーバーとクライアントの区別はないので
後程、ntpサーバーを変更する事態になってもインストールそのものを変える必要は無い


◆crontab を設定する

次に /etc に移動して時刻修正を実行させる為に crontab を設定して自動修正が実行される様に
する

17 3 * * * root /usr/sbin/ntpdate ns1.dns0.com

/usr/sbin/ntpdateはインストールされた絶対パスを記述し、
ns1.dns0.comはntpサーバーとなるマシン名を記述すれば良い

記述追加後にcrondにHUPシグナルを送る。マシンの再起動の必要はない

この例では毎日午前3時17分に修正を実行する。かなり遅速のあるマシンでも
通常、この程度で充分でしょう。

修正ログはデフォルトでrootに廻されるのでsyslog.confなどの設定に依存
します。 特定のメールアカウントへ報告したい希望があればそちらの設定
をかえてください


トラブル解決方法



◆サーバーを再起動すると ntp が起動しなくなる

まず、CMOS Clock の時刻を読み出してみる (CONFIG_RTC が設定されてなければだめですが)
#cat /proc/rtc

もしくは

#/sbin/hwclock --show

この時刻と date コマンドの時刻が 1000 秒(約17分)以上違っていると ntp は起動
しない。
また、date コマンド及び ntp は CMOS Clock を補正しないので修正してやる必要がある。

すでに ntp によりシステムクロックが正確であるなら
#/sbin/hwclock --systohc

そうではない場合には、例として
#/sbin/hwclock --set --date="9/22/01 15:31:04"

によって修正する。この CMOS Clock の時刻はサーバーが起動時に読み出され、システムクロ
ックとなる。

では、CMOS Clock を修正し続ける方法は?
詳細は man hwclock を参照してください。

/etc/adjtime を生成するには
#/sbin/hwclock --systohc
か、
#/sbin/hwclock --set --date="9/22/01 15:31:04"
を実行し、
/etc/rc.d/rc.sysinit に
/sbin/hwclock --adjust
を追加すればよいでしょう。こうしておけばリブート時に CMOS Clock を補正したのちにシス
テムクロックがセットされるようになります。



Windows NT クライアントでの稼動方法



◆桜時計
	* skrw021.lzh 29,341 bytes

	インストールして、設定パネルがサーバー接続を成功させるが一向に時計を修正しない場合には
        1."NISTIME 32"の使用をお勧めする。
        2.LAN内のNTPサーバーにアクセスする
	  桜時計がなぜ補正動作をしないかは分かっていませんが、交信開始で止まってしまいます
	  そこで、NTPサーバーの指定を自分のLAN内のNTPサーバーにしてしまいます

		ホスト確認成功
		サーバー確認成功
		交信開始...
		length=48 addr=210.248.94.50:123
		LIO VN$ MODE4 Stratum3 Poll0 Precision-17
		応答に0.000秒掛かってます
		16.641秒進んでいます
		時刻を秒遅らせました

◆NISTIME 32
	"NISTIME 32"はZIP形式の wnettime.zip に含まれています。ダウンロードは
	* wnettime.zip 199,114 bytes
	をクリックしてハードディスクに保存し、解凍してください。
	解凍後のサイズは 197,797 バイトです。



Information

* Introduction to NTP
* NTP FAQ
* Y2K statement
* Information on Time and Frequency Services
* Public NTP Time Servers
* Miscellaneous Resources
* Citations of clock sync literature
* The NTP Software and Document More documents
* Internetworking/NTP Research Laboratory
* Bibliography on Computer Network Time Synchronization
* The NTP Usenet Newsgroup - comp.protocols.time.ntp
* Hardware products for clock synchronization
* Software/Shareware products for clock synchronization
* Other time servers:
* The Official US Time   JAVAによる日照地域の表示は見ていて楽しい
* Time Ticker       黒と赤を基調にモスグリーンを配したデザインは Good!
* Clocks
* USNO Timer Server   あなたの誕生日の月齢がGIFアニメで見れるょ
* Horology
* International standard date and time notation - ISO 8601
* Grey Line Map    The Official US Time とは違った表現でこれも楽しい
* NTP cookbook
* Japan Standard Time (JST) & International Atomic Time (TAI)
* Standard Time Zone of the World (707Kb JPEG)   世界の
    時差マップ(707Kb JPEGなのでDLがキツイかもしれない)


Norman Chang / nchang@hpl.hp.com
Dave Mills / mills@huey.udel.edu
Eric Wu / ericwu@agilent.com
Barron Fujimoto, graphic artist / barron@dsr2studio.com


Note : Above-mentioned people should have the original copyright

Jan.18, 2001
Apr. 8, 2001
Oct. 8, 2001
Feb. 5, 2002
Dec. 7, 2002
Last modified: Feb. 9, 2003