资料介绍
引言
随着我国航天事业的飞速发展,将逐步构建多群、多任务、多功能相对独立的测控计算机结构体系。由于实现功能的不同,系统的组织结构与操作系统也千差万别,对时间精度的要求很不相同。整个系统必须在统一的时间尺度下进行工作,因此各节点之间时间的统一具有必要性;另一方面,当今世界宽带网络飞速发展,各种支持网络系统也越来越多,各个网络系统之间互联也需要高精度、通用的时间同步。在这种状况下,如何探索和研制简便、可靠、准确和通用的网络授时系统就成为迫切需要解决的问题。
要实现网络设备时间同步,主要完成两方面的工作内容:第一,通过某种授时方式获取精确时间;第二,将精确时间同步到网络中的每一台设备,这也是网络时间同步系统的设计难点。
本文将要介绍的是一种基于嵌入式实时操作系统VxWorks的NTP网络授时服务器,其内核响应速度快,可以方便地支持实时处理,克服了以往开发网络授时服务器的弊端。本文介绍了NTP服务器的原理、系统总体任务及其通信机制设计,并针对NTP协议运行在VxWorks下的一些问题进行了相应的改进,同时通过性能测试分析表明本系统的有效性。
1 NTP工作原理
1.1 NTP协议
NTP协议是通过网络的通信来实现计算机时钟的同步,而数据本身在网络上的传输也是需要时间的。因此,要获得准确的当前时间,就必须考虑网络延迟造成的影响。实际上,可通过计算报文的来回程时间来估计网络延迟。网络时间同步的最主要问题是,如何获得当前的准确时间。NTP通过一系列同步算法选择精确时间,规避网络延迟,保证网络时间同步的安全性。
NTP 协议支持3种对时工作方式。
① 主从模式(Server/Client mode):用户向一个或几个服务器提出服务请求,根据所交换的信息计算两地时间偏差和网络延迟,从中选择认为最准确的时间偏差并调整本地的时钟。
② 广播模式(Multicast/Broadcast mode):此种模式适用于高速的局域网中。局域网中的一个或多个服务器以固定的时间周期向某个多播地址广播自己的时标,客户端不计算时间偏差和网络延迟,直接用接收到的时标修正自己的时钟,忽略各种误差。
③ 对称模式(Symmetric mode):两个以上的时间服务器互为主从进行时间消息的通信,相互校正对方的时间以维持整个同步子网的时间一致性。
根据本系统的特点,最终确定选用主从模式。因为系统中各个子系统的结构和功能是完全相同的,所以只需要先实现一个子节点的服务,就可以以相同的方法实现所有子节点的时钟同步。
1.2 NTP原理与实现
本系统的NTP协议的对时工作是在主从工作方式下实现。NTP算法首先就要根据服务器和客户端的往返报文来确定两地时钟的差值和报文在网络中传输的延迟。这里定义,客户端和时间服务器之间的时间偏差(offset)用希腊字母θ表示,对时过程中的网络路径延迟(delay)用希腊字母δ表示。
假设子节点A要向服务器方B请求时间服务。A首先要生成一个标准的NTP查询信息包,通过网络发送到B。B收到查询信息包后,根据自己的本地时间,生成一个标准的NTP时间信息包,通过网络发回给A。分布式系统中的NTP实现原理图如图1所示。
图1 分布式系统中NTP实现原理图
其中,T1为子节点A发送查询请求时间,T2为服务器B收到查询请求时间,T3为服务器B回复时间信息包时间,T4为子节点A接收到的时间信息包时间,T1、T2、T3和T4以客户方的时间系统为参照,δ1为请求信息在网上传播所消耗的时间,δ2为回复信息在网上传播所消耗的时间。
其过程如下:
① 客户端首先向时间服务器发送一个NTP 数据包,同时在数据包上打上客户端本机的发送时间戳T1;
② 服务器接收到客户NTP 数据包后,同时在数据包上打上服务器本机的接收时间戳T2;
③ 服务器向客户返回NTP 数据包后,同时在数据包上打上服务器本机的发送时间戳T3;
④ 客户端接收到服务器返回的NTP 数据包,同时在数据包上打上客户端接收时间戳T4。
当完成了整个过程之后,客户端就拥有了4个时间T1~T4,并通过他们算出A与B时间上的差值,用以参考并调整客户方时钟。
这里设定服务器的时钟是准确的,服务器和客户端时钟的时间偏差是θ,从客户端发送报文到服务器端的路径延迟是δ1,从服务器到客户端的路径延迟是δ2,路径延迟总和是δ。 那么可以列出3个方程式:
假设从客户端到服务器的路径延迟和从服务器到客户端的路径延迟相等,即δ1=δ2=δ/2 ,以上3个方程式变为:
可以求出,服务器和客户端时钟的时间偏差θ=[(T2-T1)+(T3-T4)]/2,客户端与服务器总的网络路径延迟δ=(T4-T1)-(T3-T2)。
图2 NTP时间偏差与网络延时
服务器和客户端之间的时间差异可以从图2中看出。
在知道了如何用NTP 算法计算精确的时间偏差值后,需要使用时间偏差值来调整本地时钟的时间,才算完成了NTP 时间同步的全部工作。
随着我国航天事业的飞速发展,将逐步构建多群、多任务、多功能相对独立的测控计算机结构体系。由于实现功能的不同,系统的组织结构与操作系统也千差万别,对时间精度的要求很不相同。整个系统必须在统一的时间尺度下进行工作,因此各节点之间时间的统一具有必要性;另一方面,当今世界宽带网络飞速发展,各种支持网络系统也越来越多,各个网络系统之间互联也需要高精度、通用的时间同步。在这种状况下,如何探索和研制简便、可靠、准确和通用的网络授时系统就成为迫切需要解决的问题。
要实现网络设备时间同步,主要完成两方面的工作内容:第一,通过某种授时方式获取精确时间;第二,将精确时间同步到网络中的每一台设备,这也是网络时间同步系统的设计难点。
本文将要介绍的是一种基于嵌入式实时操作系统VxWorks的NTP网络授时服务器,其内核响应速度快,可以方便地支持实时处理,克服了以往开发网络授时服务器的弊端。本文介绍了NTP服务器的原理、系统总体任务及其通信机制设计,并针对NTP协议运行在VxWorks下的一些问题进行了相应的改进,同时通过性能测试分析表明本系统的有效性。
1 NTP工作原理
1.1 NTP协议
NTP协议是通过网络的通信来实现计算机时钟的同步,而数据本身在网络上的传输也是需要时间的。因此,要获得准确的当前时间,就必须考虑网络延迟造成的影响。实际上,可通过计算报文的来回程时间来估计网络延迟。网络时间同步的最主要问题是,如何获得当前的准确时间。NTP通过一系列同步算法选择精确时间,规避网络延迟,保证网络时间同步的安全性。
NTP 协议支持3种对时工作方式。
① 主从模式(Server/Client mode):用户向一个或几个服务器提出服务请求,根据所交换的信息计算两地时间偏差和网络延迟,从中选择认为最准确的时间偏差并调整本地的时钟。
② 广播模式(Multicast/Broadcast mode):此种模式适用于高速的局域网中。局域网中的一个或多个服务器以固定的时间周期向某个多播地址广播自己的时标,客户端不计算时间偏差和网络延迟,直接用接收到的时标修正自己的时钟,忽略各种误差。
③ 对称模式(Symmetric mode):两个以上的时间服务器互为主从进行时间消息的通信,相互校正对方的时间以维持整个同步子网的时间一致性。
根据本系统的特点,最终确定选用主从模式。因为系统中各个子系统的结构和功能是完全相同的,所以只需要先实现一个子节点的服务,就可以以相同的方法实现所有子节点的时钟同步。
1.2 NTP原理与实现
本系统的NTP协议的对时工作是在主从工作方式下实现。NTP算法首先就要根据服务器和客户端的往返报文来确定两地时钟的差值和报文在网络中传输的延迟。这里定义,客户端和时间服务器之间的时间偏差(offset)用希腊字母θ表示,对时过程中的网络路径延迟(delay)用希腊字母δ表示。
假设子节点A要向服务器方B请求时间服务。A首先要生成一个标准的NTP查询信息包,通过网络发送到B。B收到查询信息包后,根据自己的本地时间,生成一个标准的NTP时间信息包,通过网络发回给A。分布式系统中的NTP实现原理图如图1所示。
图1 分布式系统中NTP实现原理图
其中,T1为子节点A发送查询请求时间,T2为服务器B收到查询请求时间,T3为服务器B回复时间信息包时间,T4为子节点A接收到的时间信息包时间,T1、T2、T3和T4以客户方的时间系统为参照,δ1为请求信息在网上传播所消耗的时间,δ2为回复信息在网上传播所消耗的时间。
其过程如下:
① 客户端首先向时间服务器发送一个NTP 数据包,同时在数据包上打上客户端本机的发送时间戳T1;
② 服务器接收到客户NTP 数据包后,同时在数据包上打上服务器本机的接收时间戳T2;
③ 服务器向客户返回NTP 数据包后,同时在数据包上打上服务器本机的发送时间戳T3;
④ 客户端接收到服务器返回的NTP 数据包,同时在数据包上打上客户端接收时间戳T4。
当完成了整个过程之后,客户端就拥有了4个时间T1~T4,并通过他们算出A与B时间上的差值,用以参考并调整客户方时钟。
这里设定服务器的时钟是准确的,服务器和客户端时钟的时间偏差是θ,从客户端发送报文到服务器端的路径延迟是δ1,从服务器到客户端的路径延迟是δ2,路径延迟总和是δ。 那么可以列出3个方程式:
假设从客户端到服务器的路径延迟和从服务器到客户端的路径延迟相等,即δ1=δ2=δ/2 ,以上3个方程式变为:
可以求出,服务器和客户端时钟的时间偏差θ=[(T2-T1)+(T3-T4)]/2,客户端与服务器总的网络路径延迟δ=(T4-T1)-(T3-T2)。
图2 NTP时间偏差与网络延时
服务器和客户端之间的时间差异可以从图2中看出。
在知道了如何用NTP 算法计算精确的时间偏差值后,需要使用时间偏差值来调整本地时钟的时间,才算完成了NTP 时间同步的全部工作。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 多功能网络设备开源分享
- 解决高速网络设备中电线太多的问题
- CANFD网络设备通讯协议
- 中兴网络设备查看电源状态检查命令
- 《Linux设备驱动开发详解》第16章、Linux网络设备驱动 5次下载
- 无线传感器网络典型时间同步技术分析 47次下载
- 无线传感器网络时间同步综述
- 基于嵌入式网络设备的远程监控系统设计
- 设备监测无线传感器网络时间同步算法
- 嵌入式网络设备地址动态配置的研究
- 网络设备监管系统的设计与实现
- QNX操作系统及网络设备驱动模块
- 智能网络设备开发中的硬件设计
- QNX操作系统及网络设备驱动模块
- 基于AX88796的嵌入式网络设备驱动程序设计
- 使用Python批量连接华为网络设备 203次阅读
- 思科网络设备常用show命令 414次阅读
- 网络安全隔离设备StoneWall-2000原理是什么?有哪些应用? 1946次阅读
- 单片机的RTC获取网络时间 782次阅读
- 不同尺度子网络的模块化神经网络同步转换 388次阅读
- 从零开始配置思科华为网络设备,ChatGPT为你提供帮助! 761次阅读
- 什么是零信任网络的可信时间,为什么它很重要 830次阅读
- 如何使用Python通过SNMP监控网络设备? 1148次阅读
- 用Python写SecureCRT批量登录/巡检网络设备脚本 4004次阅读
- 网络时间协议的内存安全实现 609次阅读
- 网络设备常见的接口有哪些 9096次阅读
- 弱电网络设备交换机出现故障时该怎么处理 3707次阅读
- 提供时间同步和频率同步的IEEE1588协议的测试方法分析 3861次阅读
- 中兴通讯5G网络在承载网中的高精度时间同步方案解析 3938次阅读
- 利用ADSP-BF518 实现设备时钟同步 1480次阅读
下载排行
本周
- 1XL4015+LM358恒压恒流电路图
- 0.38 MB | 137次下载 | 1 积分
- 2PCB布线和布局电路设计规则
- 0.40 MB | 4次下载 | 免费
- 3TPS6287B25降压转换器评估模块
- 3.46MB | 1次下载 | 免费
- 4INA226EVM用户指南
- 4.7MB | 1次下载 | 免费
- 5INA226EVM修订版A模型用户指南和软件教程
- 2.28MB | 1次下载 | 免费
- 6Altium Designer印刷电路板设计与制作PDF电子书免费下载
- 14.11 MB | 0次下载 | 3 积分
- 7DLPC3470和DLPC3478软件编程人员指南
- 1.68MB | 次下载 | 免费
- 8TPS1213-Q1智能高侧驱动器评估模块
- 1.63MB | 次下载 | 免费
本月
- 1XL4015+LM358恒压恒流电路图
- 0.38 MB | 137次下载 | 1 积分
- 2新概念模拟电路第四册信号处理电路电子书免费下载
- 10.69 MB | 60次下载 | 免费
- 3800VA纯正弦波逆变器的参考设计
- 2.96MB | 34次下载 | 免费
- 4纯电动汽⻋的主要部件及⼯作原理
- 5.76 MB | 15次下载 | 5 积分
- 5JESD79-5C_v1.30-2024 内存技术规范
- 2.71 MB | 10次下载 | 免费
- 6elmo直线电机驱动调试细则
- 4.76 MB | 9次下载 | 6 积分
- 7明伟电源模块RSP-3000图纸
- 0.30 MB | 8次下载 | 免费
- 8使用BQ76PL102系列电量计进行BQ78PL114的快速入门指南
- 4.04MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935115次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191366次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183329次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73805次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65985次下载 | 10 积分
评论
查看更多