Time Protocol

出典: フリー百科事典『ウィキペディア(Wikipedia)』

出典: フリー百科事典『ウィキペディア(Wikipedia)』
検索に移動
TIME
通信プロトコル
目的 機械可読の日時を返却(時刻同期に使用)
開発者 ジョン・ポステル
K. Harrenstein
導入 1983年(37年前) (1983
OSI階層 アプリケーション層
ポート 37
RFC RFC 868

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

脚注[編集]

  1. ^ 8. The inetd - /etc/inetd.conf file”. 2019年3月6日閲覧。

関連項目[編集]