NTPのプロトコルを調べようとしてみたが…

「ntpdateで時計合わせ」d:id:maru_cc:20080224:1203822328 でNTPの話を書いたのだが、実際に裏でどんなやり取りをしているのか気になったので調べてみた。


まずは、がつがつテストするのに外部サーバを使うわけにはいかないので、自前でNTPサーバを立ててみる。
これは以外に簡単。
http://www.aconus.com/~oyaji/ntp/ntp.htm
こちらを参考にさせていただきました。


次に仕様を見てみる。
http://discypus.jp/wiki/?%B5%AC%B3%CA%2Frfc%2Fntp

  • NTP
    • RFC 1305 (rfc1305) - Network Time Protocol (Version 3) Specification, Impl
  • SNTP
    • RFC 1361 (rfc1361) - Simple Network Time Protocol (SNTP)
    • RFC-2030 SNTP Version 4

NTPとSNTPというのがあるらしい。


RFC2030は日本語訳があったので、そちらを読んでみた。
http://www.akanko.net/marimo/data/rfc/rfc2030-jp.txt
実際にどんな仕様でやりとりしているのかが、わかりません。。。


なので、パケットキャプチャしてみようと重い、tcpdumpを使ってみる。
入っていないでのとりあえず、「yum install tcpdupm」で入れた。
tcpdumpのmanを見ながら、NTPサーバ側でdumpしつつ、別のサーバからntpdateをするというのを試してみてます。
今日は時間切れなので、また明日。

追記(2008-02-26)

パケットキャプチャでNTPのプロトコルを調べるべく続き
「パケットキャプチャをしたいがどうしたらいいのやら」d:id:maru_cc:20080226:1204034157