NTP主机如何在各种模式之间切换?

NTPv3 RFC描述了五种操作模式:

对称主动(1):工作在这种模式下的主机发送周期性消息,而不pipe其对等体的可达性状态或阶层。 通过在这种模式下操作,主机宣布它愿意同步并被对等体同步。

对称被动(2):这种types的关联通常是在来自以对称主动模式工作的对等体的消息到达时build立的,并且只有当对等体可达且以低于或等于主机的层级; 否则,该协会解散。 但是,这个关联将一直持续到至less有一条消息被回复。 通过在这种模式下操作,主机宣布它愿意同步并被对等体同步。

客户端(3):以这种模式运行的主机无论其对等体的可达性状态或层次如何,都会发送周期性消息。 通过在这种模式下操作,主机(通常是LAN工作站)宣布其愿意被同步,但不同步对等体。

服务器(4):这种types的关联通常是在客户请求消息到达时创build的,并且仅仅为了回复该请求而存在,之后关联被解散。 通过在这种模式下操作,主机(通常是LAN时间服务器)宣布其愿意同步,但不被对等体同步。

广播(5):在这种模式下工作的主机发送周期性消息,而不pipe对等体的可达性状态或阶层。 通过在这种模式下操作,主机(通常是运行在高速广播媒体上的LAN时间服务器)宣布其愿意同步所有的同位体,但不被它们中的任何一个同步。

不过,在我看来,除了叶节点之外的任何主机都可能处于几种模式。 例如,我可能有一个局域网和三个NTP服务器,每个服务器都处于对称Active(1)模式。 他们每个也都是许多公共阶层两台服务器之一的客户端(3)。 最后,他们都将作为服务器(4)服务于许多本地客户端。

在同步过程中,他们只是在一个给定的模式中一会儿? 如果是这样,一个主机如何知道切换? 我只是在这里寻找足够的深度,以受过教育的方式讨论这个问题,而不是写一个自定义的时间服务器。

操作模式并不描述守护进程通常如何工作,而是描述关联(通常是两台计算机之间的关联)。 检查您列出的模式之前的aragraph:

除了在广播模式下,当两个对等体交换消息并且其中一个或两个创build并维持称为关联的协议机器的实例化时,形成NTP关联。 该协会可以以五种模式中的一种进行操作

有关ntpv4中关联模式的信息,请参阅:

http://www.eecis.udel.edu/%7Emills/ntp/html/assoc.html