타임 프로토콜

타임 프로토콜(Time Protocol)은 인터넷 프로토콜 스위트에 포함된 네트워크 프로토콜이다. 이 프로토콜의 목적은 사이트 독립적인, 기계가 읽을 수 있는 날짜와 시간을 제공하는 것이다.

타임 프로토콜은 전송 제어 프로토콜 (TCP) 또는 사용자 데이터그램 프로토콜 (UDP)를 통해 구현될 수 있다. 호스트는 포트 37에서 타임 프로토콜을 지원하는 서버에 연결한다. 그러면 서버는 1900년 1월 1일 00:00 (자정) GMT 이후의 초 수를 나타내는 32비트 부호 없는 정수 형식의 시간을 이진 형식 및 네트워크 바이트 순서로 전송하고 연결을 닫는다. UDP를 통한 작동은 UDP에 대한 연결 설정이 없으므로 서버 포트로 데이터그램을 보내야 한다.

고정된 32비트 데이터 형식은 타임스탬프가 약 136년마다 오버플로된다는 것을 의미하며, 첫 번째 오버플로는 에 발생한다. 타임 프로토콜을 사용하는 프로그램은 1900년의 날짜와 구별하기 위해 상황에 따른 정보를 사용하도록 신중하게 설계되어야 한다.

많은 유닉스 계열 운영 체제는 rdate 유틸리티를 사용하여 클럭을 모니터링하거나 동기화하기 위해 타임 프로토콜을 사용했지만, 이 기능은 네트워크 타임 프로토콜 (NTP) 및 해당 ntpdate 유틸리티로 대체되었다. NTP는 여러 면에서 더 정교하며, 그중에서도 해상도가 1초보다 정밀하다는 점이 있다.

Inetd 구현
대부분의 유닉스 계열 운영 체제에서 타임 프로토콜 서버는 inetd (또는 xinetd) 데몬에 내장되어 있다. 이 서비스는 일반적으로 기본적으로 활성화되어 있지 않다. 다음 줄을  파일에 추가하고 구성을 다시 로드하여 활성화할 수 있다.
 time   stream  tcp     nowait  root    internal
 time   dgram   udp     wait    root    internal

 같이 보기 
 에코 프로토콜
 디스카드 프로토콜
 데이타임 프로토콜
 문자 생성기 프로토콜
 rdate, 네트워크 서버에서 현재 시간을 쿼리하는 도구

 외부 링크 
 vervest.org - HTTP 타임 프로토콜
 freestone-group.com - FG 타임 싱크

 각주 

분류:응용 계층 프로토콜