2014-04-23 1 views
5

Network Time Protocol이며, RFC 5905으로 지정됩니다.NTP 프로토콜에서 루트 지연 필드의 목적은 무엇입니까?

난 NTPv4 패킷 루트 딜레이 필드 (또는 동기화 거리 필드, 그것은 이전 버전 NTPv3로 명명 됨) 주/기준 클록 추정 된 왕복 지연 시간을 나타내는 숫자가 있음을 이해한다.

그러나 왜 프로토콜이 기본 시계의 지연을 알아야합니까?? 사양에 설명 된 바와 같이, 제대로 는 (서버/동료와 협력하여) 정확한 시간을 계산하는 소인 필드 및 전송을받는 원산지를 사용하고, 을하지 않는 직접 또는 간접적으로 시간 계산 "trip"에서 기본 시계와 통신.

서버/피어가 이전에 참조 시계에 의해 동기화 되었기 때문에 이제 클라이언트에 지연이 발생했음을 알리고 싶습니까?

그런데 의미의 의미는 무엇입니까 뿌리 분산 필드? 불행하게도, 나는 분산 개념을 이해하지 못했다. 실제로는 자세히 설명하지는 않는다.

답변

1

ntpd는 로컬 시계를 설정할뿐만 아니라 다른 ntp 클라이언트의 타임 서버로 작동 할 수도 있습니다. 이렇게하려면 정확성을 알아야합니다. 이것을 계산하기 위해 시스템 클럭에서의 자체 오류뿐만 아니라 (아마도 완전한) 근원 클록으로부터의 최소 및 최대 라운드 트립 지연을 봅니다. 그런 다음 클럭이 클라이언트에게 얼마나 좋은지 알릴 수 있습니다.

루트 지연 Δ는 루트 클록으로부터의 지연 범위 (최대 - 최소)입니다. 이 부분이 제공 한 오류는 DELTA/2로 가정합니다.

분산은 업스트림 시계와 마지막으로 동기화 된 이후 로컬 시스템 시계의 오류입니다. 따라서 동기화 될 때 0으로 떨어지는 톱니파처럼 보이고 다음 동기화까지 선형으로 커집니다.

+0

루트 지연 필드는 클라이언트 모드에서 어떤 값을 유지합니까 (ntpd가 시간 서버로 작동하지 않는 경우)? 구현에 종속적입니까? 그러나 ntpd가 서버로 동작하지만 참조 클럭에 직접 동기화되지 않는 경우는 어떻게됩니까? (즉, 계층이 1보다 큽니다.) – Reflection

+0

코드를 보지 않았지만 RFC를 기반으로하면 지연과 업스트림 서버 루트 지연의 합계처럼 보입니다. 따라서 루트 지연은 지층에 걸쳐 축적됩니다. – stark

+0

고마워요! 귀하의 대답은 보조 계층 서버 (상위 계층)에 대한 내 질문을 해결합니다 같아요. 그러나 클라이언트 모드 패킷에 대한 질문은 어떻습니까? 아직 동기화되지 않은 클라이언트에 대해이 필드가 포함해야하는 내용은 시간 서버에 요청을 보냅니 까? 제로? – Reflection

관련 문제