1. NTP 프로토콜
ㅇ 인터넷을 통해 컴퓨터 시간을 최상위 동기 클럭원(Master Clock)에 동기시키는 프로토콜
- 네트워크 상에 분산된 시간 서버들로부터 클라이언트(호스트,라우터 등)의 동기화
2. NTP 계층구조
ㅇ 네트워크화된 시간 유지 구조 ☞ 망동기 계층구조 참조
ㅇ NTP 계층
- Stratum 0 (PRC) : 세슘 원자시계,GPS,표준주파수 방송국 등 (Primary Reference Clock)
- Stratum 1 : 위 Stratum 0 (PRC)에 동기화시킨 시간 서버(Primary Time Server)
. 즉, 물리적으로 PRC에 직접 연결시켜 기준 시간을 얻게되는 1차 타임 서버
. 전세계적으로 수백 이상의 공식적인 1차 타임서버가 운용 중
- Stratum 2 ~ 15 : NTP 서버를 경유할 때 마다 Stratum이 1씩 증가
. Stratum 2 부터는 계층적 트리 구조를 형성
. 상위 서버 부하 경감
.. 상위 NTP 서버와 동기화된 하나의 NTP 서버와 같은 Stratum에 있는
나머지 NTP 서버들은 Peer로 해서 동기화함
. 사내 네트워크에는,
.. 외부 Stratum 2 서버와 연결시킨 Stratum 3 서버를 운용하여,
.. 다른 모든 사내 장비들이 이를 이용하게하면 되고,
.. 보다 더 안정되게 운용하려면 직접 PRC에 연결시킨 Stratum 1을 운용할 수도 있음
. 일반 사용자들은,
.. 외부 Stratum 2 서버를 직접 이용하는 것이 유리함
3. NTP 특징
ㅇ 시간 기준 및 정확도
- 시간 기준 : 협정세계시(UTC) 사용
- 시간 정확도 유지 : UTC에 비교하여, 수 밀리초 이하 정확도 유지 (1초 ~ 50 ms) 가능
. Straum 1 ~ 15 까지의 시간 서버들의 시간 오류 편차가 수 ms 이하
ㅇ 사용 포트 및 관련 IP 주소
- 사용 포트 : UDP 기반의 서비스
. 시간 서버 간에는 포트 123 (기본 포트)
. 일반 클라이언트 컴퓨터/장치는 포트 1023 이상을 사용
- 멀티캐스트 IP 주소 : 224.0.1.1
ㅇ 시간 교정 : 정확한 현재 시간 획득이 아닌 타임서버에 대한 시간 오류 교정
- 네트워크 지연에 대한 시간 정보 오류 교정 방법 : 4개의 타임스탬프 사용
. reference timestamp
. originate timestamp
. receive timestamp
. transmit timestamp
ㅇ NTP 동작 모드
- 개별 PC,장비들은 다수의 NTP 서버와 Multicast 모드로 동작하며 시간 교정
- NTP 서버들은 상위계층 서버들과는 Client/Server 모드로 동작,
동일계층 서버들과는 Symmetric 모드로 동작하며 시간 교정
ㅇ 모듈 구성
- intersection 모듈, clustering 모듈, combining 모듈
ㅇ 동작방식
- 최초 클럭 동기는 5~10분 동안 모두 6번의 시간 교환을 통해 이루어짐.
- 그 후 매 10분 마다 메세지 교환을 통해 클럭 수정
4. NTP 메세지
ㅇ 현재 시간 문의 : NTP Query
ㅇ 현재 시간 응답 : NTP Reply
- LI (2 비트) : Leap warning Indicator, 윤초에 대해 알려줌.
- VN (3 비트) : Version number (4)
- Mode (3 비트) : 0 (reserved), 1 (Symmetric active), 2 (Symmetric passive),
3 (Client, 현재 메세지가 Query 임),
4 (Server, 현재 메세지가 Reply 임), 5 (Broadcast),
6 (NTP control message), 7 (private use)
- Strat (8 비트) : Stratum (0-15), 자신이 속해있는 Stratum 계층 수준.
- Poll : Poll interval (log2)
- Prec : Precision (log2)
5. NTP Timestamp 형태
ㅇ 64 비트 (Timestamp) : unsigned fixed-point number (부호 없는 고정소수점 표현)
- 232 ps 정도의 정확도를 갖고 1900년부터 2036년까지의 경과시간
ㅇ 128 비트(Datestamp) : signed fixed-point number (부호 있는 고정소수점 표현)
- 빛이 원자를 지나는 시간 정도의 정확도를 갖고 우주적인 경과 시간
6. NTP 표준 (NTP ver 4)
ㅇ RFC 5905: Network Time Protocol Version 4: Protocol and Algorithms Specification
ㅇ RFC 5906: Network Time Protocol Version 4: Autokey Specification
ㅇ RFC 5907: Definitions of Managed Objects for Network Time Protocol Version 4 (NTPv4)
ㅇ RFC 5908: Network Time Protocol (NTP) Server Option for DHCPv6
※ 개발 : 미국 Delaware 대학, David L. Mills 교수