TIMEプロトコル(タイムプロトコル)は、インターネット・プロトコル・スイートのサービスの1つであり、1983年にジョン・ポステルとK. Harrensteinによって執筆された で定義されている。その目的は、サイトに依存しない、機械可読の日付と時刻を提供することである。

概要 ホストは、Transmission Control Protocol(TCP)またはUser Datagram Protocol(UDP)を使用し、ウェルノウンポート番号であるポート番号37で、TIMEプロトコルに対応したサーバに接続する。ホストから接続されたサーバは、1900年1月1日00:00(UTC)からの経過秒数を表すネットワークバイトオーダの32ビット符号なし整数をホストへ送信し、接続を終了する。UDPにおいては、接続しただけではサーバが感知できないので、何らかのUDPデータグラムをサーバへ送信する必要がある。

固定の32ビットデータを使用しているため、タイムスタンプは約136年で桁あふれし、2036年2月7日に0に戻ることになる(2036年問題)。

かつては多くのUNIX系オペレーティングシステムで、ユーティリティを使用してコンピュータの時計を同期させるためにTIMEプロトコルを使用していたが、この機能はNetwork Time Protocol(NTP)とそれに対応するユーティリティに置き換えられた。NTPは、1秒以下の同期精度を持つなど、TIMEプロトコルよりも様々な点で洗練されている。

inetdでの実装 UNIX系のオペレーティングシステムでは、TIMEプロトコルサーバはinetdファミリーのデーモンに組み込まれている。TIMEプロトコルのサービスは通常、デフォルトで無効になっている。ファイルに次の行を追加し、inetdで設定をリロードすることで有効になる。

time stream tcp nowait root internal time dgram udp wait root internal

脚注

関連項目 ECHOプロトコル DISCARDプロトコル DAYTIMEプロトコル CHARGENプロトコル Network Time Protocol Simple Network Time Protocol Precision Time Protocol

外部リンク vervest.org - HTTP Time Protocol freestone-group.com - FG Time Sync