NTP(Network Time Protocol, 网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步,NTP基于UDP报文进行传输,使用UDP端口号为123。它可以估算数据包在网络上往返延迟, 并可以独立计算出设备时钟偏差。NTP可以提供1~50ms的可靠时钟源。
由于SNTP与NTP协议通讯方式,数据包格式基本一致,现举例说明NTP工作原理,让大家加深对NTP协议的了解。
我们假设路由设备A简称RouterA和路由设备B简称RouterB通过IP网络互联,RouterA和RouterB都有自己独立的系统时钟,现在因某种应用需求,需要通过NTP实现RouterA和RouterB系统时钟的自动同步。为了方便大家理解,我们作如下的条件假设:
◆ 系统时钟同步前,RouterA的时钟为11:00:00am,RouterB的时钟为:12:00:00am;
◆ RouterB被指定为NTP时间服务器,RouterA让自己的系统时钟与RouterB的系统时钟同步;
◆ NTP报文在RouterA与RouterB之间的单向传输所消耗的时间为1s。
此时系统同步时钟的过程如下图描述:
由此,可计算RouterA的两个重要参数: NTP报文的往返时延:Delay=(T4-T1)-(T3-T2)=2 秒。 RouterA相对设备RouterB的时间差:offset=((T2-T1)+(T3-T4))/2=1小时。
RouterA可根据这些信息来设定自己的时钟,并让自己的时钟与RouterB同步。
设备可使用多种NTP工作模式,NTP主要有以下几种工作模式:
◆ 客户端/服务器模式;
◆对等体模式;
◆ 广播模式;
◆ 组播模式。
在此模式下,客户端时钟可同步到服务器,但是服务器时钟不可同步到客户端,适用于一台时间服务器接收上层服务器的时间信息,并提供时间信息给下层的用户。
主动对等体和被动对等体可以互相同步。如果双方的时钟都已经同步,则以层数小的时钟为准。
在广播模式中,服务器端周期性地向广播地址255.255.255.255发送时钟同步报文,客户端侦听来自服务器的广播报文。
总之,用户可根据实际需要,选择NTP工作模式。在不确定时钟服务器或对等体IP地址信息,且网络中需要同步的设备很多的情况下,可以通过广播或组播方式实现时钟同步;服务器和对等体模式,设备可从指定的服务器或对等体设备获得时钟同步,大大增加了时钟的可靠性。
NePort系列产品,是德国Conextop公司的高性能联网通讯模块,该模块可设定时钟服务器,只需要设定时钟服务器地址,可立即实现网口通讯模块与时钟服务器的同步,如下图操作所示。
也可以通过TCP远程连接串口联网模块的5001端口,进入命令管道,刷新时钟同步,如下图所示:
当你手动修改时钟信息时,只需要输入at!bnt?命令,就可以刷新同步时钟。