新潟インターネット研究会 神保道夫 karl@nisoc.or.jp, karl@spnet.ne.jp NTP入門 新潟インターネット研究会 神保道夫 karl@nisoc.or.jp, karl@spnet.ne.jp
はじめに パソコンが普及 インターネットの普及 LAN(Local Area Network)の普及 サーバー機の普及 多数のクライアント機(Windows, Mac, … )がサーバーを利用 インターネットの普及 コミュニケーションツールとして電子メールを利用 世界各地のリソース(資源)を参照 24時間、どこでも利用できる
時刻が正しいことの重要性(1) サーバーとクライアントの時刻が違うと… → ソースを書き換えたのにコンパイルされない! プログラム開発時: 依存関係の処理ができない → ソースを書き換えたのにコンパイルされない! インターネットの利用時に時刻が違うと... 電子メールなど: メールに記録される時刻が狂う → 未来からメールが届く!
時刻が正しいことの重要性(2) 一般的なPCの内蔵時計 何らかの形で、コンピュータの時計を合わせる必要がある! およそ正確なものではない(1日に数秒程度の誤差) 原因 内蔵クロックの制度 温度・湿度などの外部環境の変化 何らかの形で、コンピュータの時計を合わせる必要がある!
時刻が正しいことの重要性(3) 複数のコンピュータで正確な時刻を保存する という2つの条件を満たす必要がある。 それぞれの時計が、ある時刻にそろっている その時刻が正確な時刻と一致している という2つの条件を満たす必要がある。 NTP(Network Time Protocol) 上記の2つの要求を満たすためのプロトコル・メカニズム それらが動作するソフトウェアの実装の呼称
時刻合わせの方法 NTP(Network Time Protocol) : RFC1305 rdate port 123を利用 サーバーの動作はとっても複雑 クライアントの動作は、割と簡単 rdate port 37を利用 動作原理はとっても簡単 だけど、利用できる場合は少ない
NTPのしくみ(1) 時刻同期を行うためには、正確な時刻を保持する時計を参照することが必要。 セシウム原子時計の参照 国立天文台とWIDE Projectの共同で、セシウム原子時計の出力を自作のカウンタ回路で読み取る GPS(Global Positioning System)の参照 GPSの出力をカウンタ回路で読み取る NTT ISDN網のクロックの参照 網の同期のために常時提供されている信号が、ルビジウム時計を参照している事から、この信号を参照する
NTPのしくみ(2) Ti-2 Tp Ti-i Peer ΔT Host Ti-3 Th Ti HostとPeerの時刻のずれΔTは、伝搬時間が行きと帰りで同じ だったと仮定すると、 ΔT=(Ti-1 + Ti-2) / 2 - (Ti + Ti-3) / 2 「伝搬時間が行きと帰りで同じ」という仮定 →HostとPeerの間の行きと帰りの経路が同じであることを期待
NTPのしくみ(3) Stratumとは…? 時刻の参照関係の階層構造 外部時計を直接参照するコンピュータ: stratum 1
NTPを用いた場合の精度 GPSを利用した場合 遠方にあるサーバーを利用した場合 数μsec程度の誤差 10msec以上の誤差
NTPの運用(1) サーバー設置の原則 同じ上位サーバーから時間をもらっているサーバー同士はお互いにpeer設定をしてはならない 1つのドメイン内の複数のサーバーが上位の同じサーバーに対して時間を合わせる設定をしてはならない 信頼性向上のため、少なくとも3つのクロックソースと時間を同期させる必要がある
NTPの運用(2) 1 server peer 2 3 3
NTPクライアント Windows用 Mac用 AtomTime98(ShareWare, $5) http://www.atomtime.com/ 桜時計(FreeSoft) http://www.venus.dti.ne.jp/~uno/ Network Time for Windows(FreeSoft) Mac用 Vremya http://www.lava.net/~kirill/software/
SNTP SNTP(Simple Network Time Protocol): RFC2030 TCP/IPプロトコル上の時刻管理プロトコル NTPの簡易版 実装例 TimeSrv95 & NT http://www.asahi-net.or.jp/~AN5T-NSK/timesvr.htm WinSNTP
日本のNTPサーバー(1) 公開, stratum 1 clock.nc.fukuoka-u.ac.jp(GPS) clock.tl.fukuoka-u.ac.jp(GPS) ntp.nttsl.mfeed.ne.jp(ISDN)
日本のNTPサーバー(2) 非公開, stratum 1 drake.nc.fukuoka-u.ac.jp(PPS) ns.hiroshima-u.ac.jp(GPS) eagle.center.osakafu-u.ac.jp(GPS) cesium.mtk.nao.ac.jp(セシウム原始時計) eric.nc.u-tokyo.ac.jp(GPS) sutclock.sut.ac.jp narumi.eco.wakayama-u.ac.jp ntp.tohoku.ac.jp(GPS)
まとめ NTPを用いることにより、時刻合わせを自動化する事は可能。 現状では、遠くのstratum 1のサーバーを見ても正しい時刻になるかどうかはわからない 組織内にstratum 1のサーバーがあった方が良いのでは…?
参考URL NTPの総本山 東大の有村氏(古野電機 TS-800, TS-820) http://www.eecis.udel.edu/~ntp/ 東大の有村氏(古野電機 TS-800, TS-820) FreeBSD 2.2.x, 3.0-CURRENT http://www.sr3.t.u-tokyo.ac.jp/~arimura/ntp/ 佐藤正昭氏(GPS&電子工作の話題) http://masaaki.sato.nakano.tokyo.jp/gps/ntp-linux/ntp-index.html NTT研究所 http://www.nttsl.mfeed.ne.jp/