- Network Time Protocol Daemon
- NTPサーバと通信し、カーネルの時刻を自動補正する。
- オフセットが128ミリ秒以下の場合、時刻は微調整(slew)される。(0.5ミリ秒/秒)
- オフセットが128ミリ秒以上の場合、時刻は即時調整(step)される。
- オフセットが1000秒(sanity limit)以上あると、デーモンは終了する。
- Version 3まではxntpdという名称、Version 4からntpdに変更された。
15 Dec 00:09:52 ntpd[9376]: time correction of 152588 seconds exceeds sanity lim
it (1000); set clock manually to the correct UTC time.
- WebHome - NTP
- 独立行政法人 情報通信研究機構 - 日本標準時グループ
- インターネットマルチフィード - 時刻情報提供サービス for Public
- 独立行政法人 情報処理推進機構 - ntpdのインストールと設定
- セイコーサイバータイム
- ntpd うるう秒
% ./configure \
--prefix=/usr/local \
--sysconfdir=/etc
% make
# make install
/etc/ntp.conf†[edit]
restrict default nomodify nopeer notrust notrap
restrict 219.164.211.129 noquery nomodify
restrict 219.164.211.137 noquery nomodify
restrict 127.127.1.0
restrict 127.0.0.1
server 219.164.211.129
server 219.164.211.137
server 127.127.1.0
fudge 127.127.1.0 stratum 10
driftfile /etc/ntp.drift
statistics loopstats peerstats rawstats sysstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen rawstats file rawstats type day enable
filegen sysstats file sysstats type day enable
statsdir /var/log/ntpstats/
restrict | 説明 |
ignore | すべて無視。 |
nomodify | 時刻問い合わせに応答するが、時刻の変更要求などは無視。すべてのNTPモード6と7のパケット無視を指定します。それらはサーバー状態の変更を試みます(ランタイム再構成)。情報を戻す問いかけは許可します。 |
nopeer | 指定ホストと相互に同期しない。ポーリングホストへどこにも帰属しないタイムサービスの提供を指定します。しかしこれらのホストへのピアメモリ源は割り当てしません。 |
noquery | NTPの実装に依存する時刻問い合わせを無視 ソースからすべてのNTPモード6と7のパケット無視します(情報問いかけと設定リクエスト)。それらはサーバー状態の変更を試みます。時間サービスに影響を与えません。 |
noserve | モード6若しくは7のNTPパケットの無視を指定します。これはタイムサービスを拒否しますが問いかけは許可します。 |
notrap | ホストをマッチングする割り込みサービス、モード6メッセージコントロールプロトコルの提供を断る指定をします。割り込みサービスは意図された遠隔のイベントロギングプログラムによって使用されるためのモード6のコントロールメッセージプロトコルのサブシステムです。 |
notrust | 時刻問い合わせに応答するが、自身の時刻合わせには使用しない通常他の点においてホストとして扱うよう指定します。しかし決してそれらを同期源としては使用しません。(v4.2~ は時刻問い合わせにも応答しない) |
ntpport | パケットのソースポートが標準のNTP UDP(123)である場合のみ制限エントリのマッチングを指定します。 |
ntpd [option]
オプション | 意味 | 説明 |
-p file | pid | PIDファイルを指定する |
-g | | オフセットが1000秒を超えていても、デーモンを終了させない(Ver. 4~) |
-x | | オフセットが128ミリ秒を超えていても、微調整を行う(Ver. 4~) |
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+ntp1.jst.mfeed. ote-ntp1.jpnap. 2 u 871 1024 377 14.952 -28.231 2.982
+ntp2.jst.mfeed. ote-ntp1.jpnap. 2 u 609 1024 377 15.173 -29.205 3.984
*ntp3.jst.mfeed. ote-ntp1.jpnap. 2 u 540 1024 377 17.128 -30.099 4.356
LOCAL(0) LOCAL(0) 10 l 14 64 377 0.000 0.000 0.004
フィールド | 説明 |
remote | 参照サーバ |
refid | 上位のサーバ |
st | 参照サーバの階層 |
t | タイプ(l:local, u:unicast, m:multicast, b:broadcast) |
when | 最後の問い合わせからの経過時間(秒) |
poll | ポーリング間隔(秒)、64〜1024まで増加 |
reach | 到達可能性(実績が多いと増える) |
delay | 推定遅延、通信による遅延(ミリ秒) |
offset | 偏差補償、タイムサーバーとのずれ(ミリ秒) |
jitter, disp | 応答時間の揺らぎ、時刻のばらつき(ミリ秒) |
| 説明 |
* | 同期中のサーバ |
+ | クロック誤り検査に合格したサーバ |
# | 同期中だが、距離が遠いサーバ |
| 参照していないサーバ |
x | クロック誤り検査で不合格になったサーバ |
. | 参照リストから外されたサーバ |
他のサーバに対しても実行できる
# ntpq -p ntp1.plala.or.jp
remote refid st t when poll reach delay offset jitter
==============================================================================
-ntp-tk01.ocn.ad 203.139.161.118 3 u 668 1024 377 0.921 -0.748 0.036
*ntp-tk02.ocn.ad 202.234.233.105 3 u 664 1024 377 1.027 0.173 0.014
+ntp-os01.ocn.ad 202.234.233.105 3 u 90 1024 377 9.553 -0.250 0.092
+172.23.240.137 ntp-os01.ocn.ad 4 u 212 1024 377 0.283 0.053 0.008
UNIX Time†[edit]
- UNIX Time
- 1970/01/01 00:00:00 (The Epoch) からの経過秒数
- GPS time
- 1980/01/06 00:00:00 からの経過秒数
閏秒 (Leap second)†[edit]
- 閏秒とは
- 世界時 (UT1: Universal Time 1) は、地球の自転から求められるが不安定である。
- そのため、SI 単位における1秒の長さは、セシウム原子の周波数から求める。
- 原子時 (TAI: International Atomic Time) は、この 1 秒を 1958/1/1 0:00:00 からカウント アップして定めている。
- UT1 と TAI の差は少しずつ広がっており、2005/1/1 時点での差は 32 秒である。
- 協定世界時 (UTC:Coordinated Universal Time) は、TAI を基準にして、閏秒の挿入/削除により UT1 との時差を± 0.9 秒以内に保った時刻である。
- 閏秒の挿入/削除のタイミングは、国際地球回転事業 (IERS:International Earth Rotation And Reference Systems Service) によって決められる。
- NTP における閏秒の扱い
- NTP では 1900/1/1 0:00:00 からの経過秒数を扱っており、閏秒は考慮されていない。
- 閏秒が発生した場合は、1 秒を追加/削除することで調整する。
- この制御は、2 ビットの LI (Leap Indicator) で行われる。
- 通常時、LI は 00 である。
- LI が 01 になると、その日の最後に閏秒が挿入される。
- LI が 10 になると、その日の最後に閏秒が削除される。
- LI の調整は、Stratum 1 の NTP サーバに依存する。
- 閏秒挿入の例
- NICT (独立行政法人 情報通信機構) は、2006/1/1 9:00:00 に閏秒の挿入を行う。
- 2005/12/31 8:59:59 までは、LI は 00 である。
- 2005/12/31 9:00:00 から、LI が 01になる。
- 2006/1/1 9:00:00 を 2 回カウントすることで、閏秒が挿入される。
- 2006/1/1 9:00:00 に、LI が 00 になる。