19.3. NTP 이해
Red Hat Enterprise Linux에서 사용하는 NTP
버전은 RFC 1305 네트워크 시간 프로토콜(버전 3) 사양, 구현 및 분석 및 rootfsRFC 5905 네트워크 시간 프로토콜 버전 4에 설명되어 있습니다. 프로토콜 및 알고리즘 사양
이 NTP
구현에서는 2초의 정확도를 실현할 수 있습니다. 인터넷을 통해 10초의 정확도가 정상입니다. LAN(Local Area Network)에서 1ms 정확도는 이상적인 조건에서 가능합니다. 이는 클럭 드리프트가 현재 고려 및 수정되었으며, 이는 보다 단순하고 단순한 시간 프로토콜 시스템에서 수행되지 않았기 때문입니다. 233 Picoseconds의 해상도는 64비트 타임스탬프를 사용하여 제공됩니다. 타임스탬프의 첫 번째 32비트는 초 동안 사용되며 마지막 32비트는 초 단위로 사용됩니다.
NTP
는 00:00 (midnight) 이후의 시간(midnight) 1년 1월 1일(sidnight)의 수입니다. 초를 계산하는 데 32 비트가 사용되므로 시간은 2036에서 "롤 오버"가된다는 것을 의미합니다. 그러나 NTP
는 타임 스탬프 간의 차이에서 작동하므로 다른 시간 프로토콜 구현과 동일한 수준의 문제가 발생하지 않습니다. 부팅 시 68년 이내에 하드웨어 시계를 사용할 수 있는 경우 NTP
는 현재 날짜를 올바르게 해석합니다. NTP4
사양은 "Era Number" 및 "Era Offset"를 제공하여 68년 이상의 시간 길이를 처리할 때 소프트웨어를 더 견고하게 만드는 데 사용할 수 있습니다. 이를 Unix Year 2038 문제와 혼동하지 마십시오.
NTP
프로토콜은 정확도를 높이기 위해 추가 정보를 제공합니다. 4개의 타임 스탬프는 왕복 시간 및 서버 응답 시간을 계산하는 데 사용됩니다. 시스템의 역할이 NTP
클라이언트로 참조 시간 서버와 동기화되도록 하기 위해 패킷은 "원본 타임스탬프"와 함께 전송됩니다. 패킷이 도착하면 시간 서버에서 "receive Time stamp"를 추가합니다. 시간 및 날짜 정보에 대한 요청을 처리한 후 패킷을 반환하기 직전에는 "전송 타임스탬프"가 추가됩니다. 반환 패킷이 NTP
클라이언트에 도달하면 "receive Time stamp"가 생성됩니다. 고객은 이제 총 왕복 시간을 계산하고 처리 시간을 뺀 뒤 실제 이동 시간을 도출할 수 있습니다. 발신 및 반환 트립트가 동일한 시간이 소요된다고 가정하면 NTP
데이터를 수신하는 단일 간격 지연이 계산됩니다. 전체 NTP
알고리즘은 여기에 제시된 것보다 훨씬 더 복잡합니다.
시간 정보를 포함하는 패킷이 즉시 응답하지는 않지만 먼저 유효성 검사를 확인한 다음 여러 다른 시간 샘플과 함께 처리하여 추정에 도달할 수 있습니다. 그런 다음 시스템 클럭과 비교하여 시간 오프셋을 결정하고 시스템 클럭의 시간과 ntpd
가 결정된 시간을 결정합니다. 시스템 클럭은 사용 중인 카운터의 빈도를 변경하여 이 오프셋을 줄이기 위해 초당 0.5ms의 속도로 느리게 조정됩니다. 이 방법을 사용하여 시계를 1초 이상 조정하려면 최소 2000초가 걸립니다. 이 느린 변경은 슬라이딩이라고 하며 뒤로 갈 수 없습니다. 시계의 시간 오프셋이 128ms(기본 설정)를 초과하는 경우, ntpd
는 클럭 전방 또는 이전을 "단계"할 수 있습니다. 시스템 시작 시 시간 오프셋이 1000초보다 크면 사용자 또는 설치 스크립트가 수동 조정을 수행해야 합니다. 3장. 날짜 및 시간 구성을 참조하십시오. ntpd
명령에 대한 -g
옵션(기본적으로 사용)으로 시스템 시작 시의 모든 오프셋이 수정되지만 정상적인 작업 중에 최대 1000초의 오프셋만 수정됩니다.
일부 소프트웨어가 실패하거나 시간이 거꾸로 변경되면 오류가 발생할 수 있습니다. 단계 변경에 민감한 시스템의 경우 임계값은 -x
옵션( -g
옵션과 관련이 없음)을 사용하여 128ms가 아닌 600 s로 변경할 수 있습니다. -x
옵션을 사용하여 스테핑 제한을 0.128 s에서 600 s로 늘릴 때 클럭을 제어하는 다른 방법을 사용해야하기 때문에 단점이 있습니다. 커널 클럭 분야를 비활성화하고 시계 정확도에 부정적인 영향을 미칠 수 있습니다. /etc/sysconfig/ntpd
설정 파일에 -x
옵션을 추가할 수 있습니다.