RFC5905-NTP实施模型

一、模型图

在这里插入图片描述

二、解释

  • 系统进程、时钟纪律进程用于每个服务器。
  • 轮询进程用于向服务器或者参考时钟发送消息,对等进程用于接收服务器或者参考时钟的消息。
  • 所有的进程操作都在关联的共享数据结构上进行。
  • 客户端向一个或多个服务器发送数据包,然后在接收到返回的数据包时进行处理。
  • 服务器互换源地址和目的地址以及端口,在数据包中覆盖某些字段,并在客户端/服务器模式下立即返回或在对称模式下稍后返回。
  • 系统进程包括选择、集群和合并算法,这些算法在各个服务器和参考时钟之间进行抉择,确定最准确和可靠的候选者来同步系统时钟。
  • 选择算法使用拜占庭容错原则,从候选者中排除可能不正确的钟表,称为“假时钟”,只留下称为“真时钟”的好候选者。真时钟是指保持时间精度与先前发布和可信的标准一致的时钟,而假时钟是指显示误导性或不一致时间的时钟。
  • 集群算法使用统计原理找到最准确的真时钟集合。
  • 合并算法通过对幸存的真时钟进行统计平均来计算最终的时钟偏移量。
  • 时钟纪律进程是一个系统进程,用于控制系统时钟的时间和频率,这里表示为可变频率振荡器(VFO)。从VFO产生的时间戳关闭了维持系统时钟时间的反馈环路。
  • 与时钟纪律进程相关的是时钟调整进程,它每秒运行一次,注入计算得到的时间偏移量并保持恒定的频率。过去时间偏移差的均方根平均值表示标准误差或系统时钟抖动。过去频率偏移差的均方根平均值表示振荡器频率稳定性或频率漂移。
  • 客户端以2^tau秒的轮询间隔向每个服务器发送消息,其中tau由轮询指数tau确定。在NTPv4中,tau的取值范围从4(16秒)到17(36小时)。
  • tau的值由时钟纪律算法确定,以匹配环路时间常数T_c = 2^tau。在客户端/服务器模式下,服务器立即响应;然而,在对称模式下,两个对等方根据当前系统偏移量和系统抖动来管理tau,因此它们可能不同意相同的值。为了在整个NTP子网中保持稳定性,时钟纪律算法的动态行为需要得到精确控制。这要求对等方就一个共同的tau达成一致,该tau等于两个对等方的最小轮询指数。NTP协议包括适当的规定来正确协商这个值。
  • 实现模型包括一些设置和调整系统时钟的方法。假设操作系统提供两个功能:一个用于直接设置时间,例如Unix的settimeofday()函数,另一个用于以小增量调整时间,按指定量提前或推迟时间,例如Unix的adjtime()函数。在本文和后续引用中,名称后面的括号表示引用的是一个函数而不是一个简单的变量。在设计中,如果调整量小于指定的阈值,时钟纪律进程使用adjtime()函数,如果超过阈值,则使用settimeofday()函数。
  • 时钟滤波算法是对等进程的一部分。它对传输的数据流进行整理,选择最有可能代表准确时间的样本。该算法生成了偏移量(theta)、延迟(delta)、离散度(epsilon)、抖动(psi)和到达时间(t)。
  • 时钟过滤算法生成的数据用于缓解算法,以确定用于校正系统时钟的最佳和最终偏移量。它们还用于确定服务器的健康状况以及是否适合进行同步。
  • 时钟滤波算法将最近的数据样本元组(theta,delta,epsilon,t)保存在滤波器中,滤波器是一个8级移位寄存器。数据样本元组按数据包到达的顺序保存在滤波器,t是根据秒计数器的数据包到达时间,不应与对等变量tp混淆。

三、原文

整理于RFC5905,版权为RFC5905。
RFC5905-NTPv4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hi~9527

看我这么卖力,可怜可怜我吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值