1. NTP 프로토콜
ㅇ 네트워크로 이뤄진 컴퓨터들 간에, 시간 동기화를 위한 네트워킹 프로토콜
- 인터넷을 통해, 컴퓨터 시간을, 최상위 동기 클럭원(Master Clock)에 동기시키는 프로토콜
. 네트워크 상에 분산된 시간 서버들로부터 클라이언트(호스트,라우터 등)의 동기화
2. NTP 특징
ㅇ 시간 기준
- 협정세계시(UTC) 사용
ㅇ 시간 정확도
- 수 밀리초 이하 정확도 유지 (1초 ~ 50 ms) 가능
. Straum 1 ~ 15 까지의 시간 서버들의 시간 오류 편차가 수 ms 이하
ㅇ 계층 구성
- 네트워크 계층화된 시간 유지 구조로써, 0 ~ 15 계층 ☞ 아래 3.항 참조
ㅇ 동작 모드
- 개별 PC,장비들은, 다수의 NTP 서버와 Multicast 모드로 동작하며 시간 교정
- NTP 서버들은,
. 상위계층 서버들과는 Client/Server 모드로 동작
. 동일계층 서버들과는 Symmetric 모드로 동작하며 시간 교정
ㅇ 모듈 구성
- intersection 모듈, clustering 모듈, combining 모듈
ㅇ 동기 주기
- 최초 클럭 동기는 5~10분 동안 모두 6번의 시간 교환을 통해 이루어짐.
- 그 후 매 10분 마다 메세지 교환을 통해 클럭 수정
ㅇ 메세지 종류
- 단지 2개 뿐 (NTP Query, NTP Reply)
ㅇ 사용 프로토콜 및 포트 번호
- 사용 프로토콜 : 즉시성 있는 UDP 사용
- 사용 포트 번호
. 시간 서버에서는, 포트 123 (기본 포트)
. 일반 클라이언트 컴퓨터/장치는, 포트 1023 이상을 사용
ㅇ 통신 유형
- 유니캐스트,멀티캐스트,브로드캐스트 모든 통신 유형 가능
. 단, NTP 서버들 간에는 유니캐스트로 동작함
- 멀티캐스트 방식의 경우
. NTP 멀티캐스트 그룹에 참여하는 구성원들 간에 통신 유형
. 멀티캐스트 IP 주소 : 224.0.1.1
ㅇ 시간 교정 방법
- 정확한 현재 시간 획득이 아닌, 타임서버에 대한 시간 오류 교정
- 네트워크 지연에 대한 시간 정보 오류 교정 방법 : 4개의 타임스탬프 사용
. reference timestamp
. originate timestamp
. receive timestamp
. transmit timestamp
3. NTP 계층 구조
ㅇ 네트워크 계층화된 시간 유지 구조 ☞ 망동기 계층구조 참조
ㅇ NTP 계층 구분
- Stratum 0 (PRC, Primary Reference Clock)
. 세슘 원자시계, GPS 등
- Stratum 1
. 위 Stratum 0 (PRC)에 동기화시킨 시간 서버(Primary Time Server)
. 즉, 물리적으로 PRC에 직접 연결시켜 기준 시간을 얻게되는 1차 타임 서버
. 전세계적으로 수백 이상의 공식적인 1차 타임서버가 운용 중
- Stratum 2 ~ 15
. NTP 서버를 경유할 때 마다 Stratum이 1씩 증가
. Stratum 2 부터는 계층적 트리 구조를 형성
ㅇ NTP 계층화의 특징
- 상위 서버 부하 경감
. 상위 NTP 서버와 동기화된 하나의 NTP 서버가,
. 같은 Stratum에 있는 나머지 NTP 서버들과 Peer로 해서 동기화함
- 만일, 상위 NTP 서버와 시간 동기를 할 수 없으면,
. 하위에 시간 전달을 하지 않음
ㅇ NTP 계층화의 구성 방법
- 사내 네트워크의 경우
. 외부 Stratum 2 서버와 연결시킨 사내 Stratum 3 서버를 운용하여,
. 다른 모든 사내 장비들이 이를 이용하게 하면 됨
. 만일, 보다 더 안정되게 운용하려면, 직접 PRC에 연결시킨 Stratum 1을 운용할 수도 있음
- 일반 사용자의 경우
. 외부 Stratum 2 서버를 직접 이용하는 것이 유리함
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 교수