180 likes | 363 Views
NTP 入門. 新潟インターネット研究会 神保道夫 karl@nisoc.or.jp, karl@spnet.ne.jp. はじめに. パソコンが普及 LAN(Local Area Network) の普及 サーバー機の普及 多数のクライアント機( Windows, Mac, … ) がサーバーを利用 インターネットの普及 コミュニケーションツールとして電子メールを利用 世界各地のリソース(資源)を参照 24時間、どこでも利用できる. 時刻が正しいことの重要性(1). サーバーとクライアントの時刻が違うと… プログラム開発時: 依存関係の処理ができない.
E N D
NTP入門 新潟インターネット研究会 神保道夫 karl@nisoc.or.jp, karl@spnet.ne.jp
はじめに • パソコンが普及 • LAN(Local Area Network)の普及 • サーバー機の普及 • 多数のクライアント機(Windows, Mac, … )がサーバーを利用 • インターネットの普及 • コミュニケーションツールとして電子メールを利用 • 世界各地のリソース(資源)を参照 • 24時間、どこでも利用できる
時刻が正しいことの重要性(1) • サーバーとクライアントの時刻が違うと… • プログラム開発時: 依存関係の処理ができない → ソースを書き換えたのにコンパイルされない! • インターネットの利用時に時刻が違うと... • 電子メールなど: メールに記録される時刻が狂う → 未来からメールが届く!
時刻が正しいことの重要性(2) • 一般的なPCの内蔵時計 • およそ正確なものではない(1日に数秒程度の誤差) • 原因 • 内蔵クロックの制度 • 温度・湿度などの外部環境の変化 何らかの形で、コンピュータの時計を合わせる必要がある!
時刻が正しいことの重要性(3) • 複数のコンピュータで正確な時刻を保存する • それぞれの時計が、ある時刻にそろっている • その時刻が正確な時刻と一致している という2つの条件を満たす必要がある。 • NTP(Network Time Protocol) • 上記の2つの要求を満たすためのプロトコル・メカニズム • それらが動作するソフトウェアの実装の呼称
時刻合わせの方法 • NTP(Network Time Protocol) : RFC1305 • 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 • stratum 1を参照するコンピュータ: stratum 2 • stratum 2を参照するコンピュータ: stratum 3 • stratum 3…
NTPを用いた場合の精度 • GPSを利用した場合 • 数μsec程度の誤差 • 遠方にあるサーバーを利用した場合 • 10msec以上の誤差 時刻が厳密であることを期待したい場合、自サイトにGPSを用いたサーバーを置くことが望ましい。
NTPの運用(1) • サーバー設置の原則 • 同じ上位サーバーから時間をもらっているサーバー同士はお互いにpeer設定をしてはならない • 自分よりも下位サーバーに対してpeer設定をしてはならない • 1つのドメイン内の複数のサーバーが上位の同じサーバーに対して時間を合わせる設定をしてはならない • 信頼性向上のため、少なくとも3つのクロックソースと時間を同期させる必要がある
1 1 1 2 3 3 2 3 3 2 3 3 NTPの運用(2) server peer
NTPクライアント • Windows用 • 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の総本山 • 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/