訳: 岡橋 一輝 最終更新日: 1999/6/13 --- Network Working Group J. Postel - ISI Request for Comments: 868 K. Harrenstien - SRI May 1983 Time Protocol 時間のプロトコル この RFC は ARPA Internet Community の標準を規定している。ARPA Internet に接続しているホストは、Time Protocol を実装する際にこの標準を採用するこ とが望ましい。 このプロトコルはサイトに依存しない機械可読な日時を提供する。Time サービ スは、要求発信元に 1900/1/1 0:00 から数えた経過秒数を送り返す。 日時を保持する時計が無いシステムの存在や、時計があってもその時刻は人間 や機械によって適当に合わせられているという事実が Time Protocol を定める動 機になった。Time サーバを利用すると、ネットワークに散らばった相互に独立し たサイトへ簡単なポーリングをすることによって、システムが保持する時刻を素 早く確認、修正することが可能になる。 このプロコトルは TCP で使っても UDP で使ってもよい。 TCP 経由の場合、サービスは以下のようになる: S: Listen on port 37 (45 octal). U: Connect to port 37. S: Send the time as a 32 bit binary number. U: Receive the time. U: Close the connection. S: Close the connection. サーバは 37 番ポートで接続要求を listen し、コネクションが確立すると 32 bit の時刻値を返してコネクションを閉じる。サーバが自サイトの時刻を 取得できない場合は、コネクションを拒否するか、何も送らずにコネクション を閉じるかすべきである。 UDP 経由の場合、サービスは以下のようになる: S: Listen on port 37 (45 octal). U: Send an empty datagram to port 37. S: Receive the empty datagram. S: Send a datagram containing the time as a 32 bit binary number. U: Receive the time datagram. サーバは 37 番ポートでデータグラムを listen し、データグラムを受け取 ると、32 bit の時刻値を応答用のデータグラムに入れて送り返す。サーバが 自サイトの時刻を取得できない場合は、到着したデータグラムを捨てて応答し ない。 時刻(The Time) 時刻は GMT の 1900/1/1 0:00:00 から数えた経過秒数として与えられる。たと えば 1 という値は GMT の 1900/1/1 00:00:01 を表す。この方法だと 2036 年ご ろまでの時刻を表現することが可能である。 例を挙げる: time value | actual time -----------------+------------------------- 2,208,988,800 | 00:00 1 Jan 1970 GMT | 2,398,291,200 | 00:00 1 Jan 1976 GMT | 2,524,521,600 | 00:00 1 Jan 1980 GMT | 2,629,584,000 | 00:00 1 May 1983 GMT | -1,297,728,000 | 00:00 17 Nov 1858 GMT |