Time Protocol
通信プロトコル | |
目的 | 機械可読の日時を返却(時刻同期に使用) |
---|---|
開発者 |
ジョン・ポステル K. Harrenstein |
導入 | 1983年 |
OSI階層 | アプリケーション層 |
ポート | 37 |
RFC | RFC 868 |
TCP/IP群 |
---|
アプリケーション層 |
|
トランスポート層 |
カテゴリ |
インターネット層 |
カテゴリ |
リンク層 |
カテゴリ |
TIMEプロトコル(タイムプロトコル)は、インターネット・プロトコル・スイートのサービスの1つであり、1983年にジョン・ポステルとK. Harrensteinによって執筆された RFC 868 で定義されている。その目的は、サイトに依存しない、機械可読の日付と時刻を提供することである。
概要
[編集]ホストは、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系オペレーティングシステムで、rdateユーティリティを使用してコンピュータの時計を同期させるためにTIMEプロトコルを使用していたが、この機能はNetwork Time Protocol(NTP)とそれに対応するntpdateユーティリティに置き換えられた。NTPは、1秒以下の同期精度を持つなど、TIMEプロトコルよりも様々な点で洗練されている。
inetdでの実装
[編集]UNIX系のオペレーティングシステムでは、TIMEプロトコルサーバはinetdファミリーのデーモンに組み込まれている。TIMEプロトコルのサービスは通常、デフォルトで無効になっている。ファイル/etc/inetd.conf
に次の行を追加し、inetdで設定をリロードすることで有効になる[1]。
time stream tcp nowait root internal time dgram udp wait root internal
脚注
[編集]- ^ “8. The inetd - /etc/inetd.conf file”. 2019年3月6日閲覧。
関連項目
[編集]- ECHOプロトコル
- DISCARDプロトコル
- DAYTIMEプロトコル
- CHARGENプロトコル
- Network Time Protocol
- Simple Network Time Protocol
- Precision Time Protocol