首页 > 编程知识 正文

NTP的基本原理,ntp对应的安全协议

时间:2023-05-03 09:24:01 阅读:16802 作者:4960

网络时间协议(NTP )是由RFC 1305定义的时间同步协议,用于分布式时间服务器和客户端之间的时间同步。 基于UDP消息转发NTP,使用的UDP端口号是123。

使用NTP的目的是对网络中具有所有时钟的设备进行时钟同步,以匹配网络中所有设备的时钟,从而允许设备基于统一的时间提供各种APP应用程序。

在运行NTP的本地系统上,您可以从其他时钟源接收同步,将其他时钟作为时钟源同步,以及与其他设备相互同步。

NTP的工作原理

NTP的基本工作原理如图所示。 设备a和设备b通过网络连接,各自具有独立的系统时钟,需要通过NTP实现各自系统时钟的自动同步。 为了清楚起见,假设如下。

在设备a和设备b的系统时钟同步之前,设备a的时钟设置为10:00:00am,设备b的时钟设置为11:00:00am。

设备b充当NTP时间服务器,设备a将自己的时钟与设备b的时钟同步。

NTP消息在设备a和设备b之间单向传输所需的时间为1秒。

系统时钟同步的操作步骤如下。

设备a向设备b发送NTP消息。 此消息带有离开设备a时的时间戳。 这个时间戳是10336000336000am(T1 )。

当该NTP消息到达设备b时,设备b将添加其时间戳,并且该时间戳为11336000:01am(T2 )。

当该NTP消息离开设备b时,设备b将添加其时间戳,时间戳为11336000:02am(T3 )。

当设备a接收到该响应消息时,设备a的本地时间为10336000336003am(T4 )。

现在,设备a有足够的信息来计算两个重要的参数。

NTP消息的往返延迟delay=(T4-T1 )-(T3-T2 )=2秒。

设备a相对于设备b的时间差offset=((T2-T1 ) T3-T4 )/2=1小时。

因此,设备a可以根据这些信息设定自己的时钟,并与设备b的时钟同步。

NTP消息格式

NTP有两种不同的消息,一种是时钟同步消息,另一种是控制消息。 控制消息仅在需要网络管理的情况下使用,并且对于时钟同步功能不是必需的,因此这里不介绍。

主要字段的说明如下。

Li(leapindicator ) :长度为2位,值为“11”时表示报警状态,时钟不同步。 对于其他值,NTP本身不处理。

版本号(lvn ) :长度为3位,表示NTP的版本号,当前最新版本为3。

l Mode :长度为3位,表示NTP的动作模式。 每个值表示的含义是: 0未定义,1为主动对等模式,2为被动对等模式,3为客户端模式,4为服务器模式,5为广播模式或组播模式,6为该消息由NTP控制

l Stratum :系统时钟的层数,取值范围为1~16,定义时钟的正确性。 层数为1的时钟精度最高,精度从1依次减少到16,层数为1~6的时钟处于异步状态,不是基准时钟。

l Poll轮询时间,即两个连续NTP消息之间的时间间隔。

l Precision :系统时钟的精度。

l Root Delay :从本地到主参考时钟源的往返时间。

l Root Dispersion :系统时钟相对于主基准时钟的最大误差。

l Reference Identifier :引用时钟源徽标。

l Reference Timestamp :上次设置或更新系统时钟的时间。

l Originate Timestamp:NTP请求消息离开发送方时发送方的本地时间。

l Receive Timestamp:NTP请求消息到达接收方时接收方的本地时间。

l Transmit Timestamp :响应消息离开响应者时响应者的本地时间。

l认证器:验证信息。

NTP的动作模式

设备可以使用各种NTP操作模式同步时间。

客户端/服务器模式

对等模式

广播模式

组播模式

用户可以根据需要选择合适的工作模式。在不能确定服务器或对等体IP地址、网络中需要同步的设备很多等情况下,可以通过广播或组播模式实现时钟同步;客户端/服务器和对等体模式中,设备从指定的服务器或对等体获得时钟同步,增加了时钟的可靠性。
1. 客户端/服务器模式

在客户端/服务器模式中,客户端向服务器发送时钟同步报文,报文中的Mode字段设置为3(客户模式)。服务器端收到报文后会自动工作在服务器模式,并发送应答报文,报文中的Mode字段设置为4(服务器模式)。客户端收到应答报文后,进行时钟过滤和选择,并同步到优选的服务器。

在该模式下,客户端能同步到服务器,而服务器无法同步到客户端。

2. 对等体模式

 在对等体模式中,主动对等体和被动对等体之间首先交互Mode字段为3(客户端模式)和4(服务器模式)的NTP报文。之后,主动对等体向被动对等体发送时钟同步报文,报文中的Mode字段设置为1(主动对等体),被动对等体收到报文后自动工作在被动对等体模式,并发送应答报文,报文中的Mode字段设置为2(被动对等体)。经过报文的交互,对等体模式建立起来。主动对等体和被动对等体可以互相同步。如果双方的时钟都已经同步,则以层数小的时钟为准

3. 广播模式

在广播模式中,服务器端周期性地向广播地址255.255.255.255发送时钟同步报文,报文中的Mode字段设置为5(广播模式)。客户端侦听来自服务器的广播报文。当客户端接收到第一个广播报文后,客户端与服务器交互Mode字段为3(客户模式)和4(服务器模式)的NTP报文,以获得客户端与服务器间的网络延迟。之后,客户端就进入广播客户端模式,继续侦听广播报文的到来,根据到来的广播报文对系统时钟进行同步。

4. 组播模式

在组播模式中,服务器端周期性地向用户配置的组播地址(若用户没有配置组播地址,则使用默认的NTP组播地址224.0.1.1)发送时钟同步报文,报文中的Mode字段设置为5(组播模式)。客户端侦听来自服务器的组播报文。当客户端接收到第一个组播报文后,客户端与服务器交互Mode字段为3(客户模式)和4(服务器模式)的NTP报文,以获得客户端与服务器间的网络延迟。之后,客户端就进入组播客户模式,继续侦听组播报文的到来,根据到来的组播报文对系统时钟进行同步。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。