NTP   Network Time Protocol   네트워크 타임 프로토콜, NTP 프로토콜

(2023-10-07)

인터넷 동기 계층구조


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 교수

NTP
   1. NTP  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"