嵌入式NTP服务器设计完整版.docx
- 文档编号:30107000
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:91
- 大小:407.56KB
嵌入式NTP服务器设计完整版.docx
《嵌入式NTP服务器设计完整版.docx》由会员分享,可在线阅读,更多相关《嵌入式NTP服务器设计完整版.docx(91页珍藏版)》请在冰豆网上搜索。
嵌入式NTP服务器设计完整版
中文题目:
嵌入式NTP服务器设计
外文题目:
THEEMBEDDEDNTPSERVERDESIGN
毕业设计(论文)共81页(其中:
外文文献及译文14页)图纸共2张
完成日期2014年6月答辩日期2014年6月
摘要
随着现代信息系统的发展,网络系统日益广泛的应用于各行各业,其中很多的关键应用是需要基于时间同步来进行的。
传统的时钟校准方式为利用精准的时钟对设备的物理时钟进行时间同步,以及在局域网的内部通过相关的时间协议来进行时间的同步,由于受到诸多客观原因的限制,有时候不能很好的解决时钟同步问题。
并且对于时间授时的方便简单性而言,嵌入式又是一种逐渐被人们所肯定的技术。
随着人们对于时间的同步要求越来越高,基于嵌入式的时间同步问题就变成了一个需要亟待解决的关键性问题。
既有工程应用价值,也有一定的理论意义。
本文利用GPS卫星授时,网络NTP协议授时,及嵌入式linux操作系统等技术,成功的解决了基于嵌入式的时间同步问题,并且设计的授时服务器的应用情况良好,实现了对于时间同步的功能。
关键词:
嵌入式;ARM;LINUX;NTP;网络授时
ABSTRACT
Withthedevelopmentofmoderninformationsystems,networksystemsareincreasinglywidelyusedinallwalksoflife,manyofthekeyapplicationsistheneedtocarryouttime-basedsynchronization.Conventionalclockcalibrationusingprecisewaythephysicalclocktimesynchronizationclockdevice,andthroughtheinternalLANprotocolfortherelevanttimesynchronizationtime,duetomanyobjectivereasonslimits,sometimescannotsolvetheclocksynchronizationproblems.Forconvenienceandsimplicityofthetimeintermsoftiming,itisanembeddedgraduallybeenaffirmedtechnology.Aspeoplebecomeincreasinglytimesynchronizationrequirements,basedontheembeddedtimesynchronizationproblembecomesacriticalissuethatneedstobesolved.Bothengineeringapplications,therearecertaintheoreticalsignificance.
Inthispaper,theuseofGPSsatellitetiming,timingnetworkNTPprotocolandembeddedLINUXoperatingsystemtechnology,thesuccessfulsolutionofsynchronizationbasedontheembeddedtimeandtheapplicationtimegrantingserverdesignedwelltoachievetheaccuratetimesynchronizationfeatures.
Keywords:
Embedded;ARM;LINUX;NTP;Precisetimeofgrant
1绪论
1.1研究背景
由于各计算机及处理机并没有一个标准统一的物理时钟,通过授时的方式对网络系统中的各设备时钟进行同步的要求由此而生。
早期的研究中,Lamport指出可以通过将运行在不同工作站或处理机的相关事件进程统一化(即采用相同逻辑时钟的方式)来达到整个系统时间同步的效果[1],但是这种方式在系统与系统对接、系统与子系统出现嵌套时却始终无法达到理想的效果。
一般的电子设备,包括计算机和网络设备都是通过时钟振荡器获得时间。
但在设计时,对时间的准确度和时间稳定度方面并没有明确的指标要求,由于电磁干扰、振荡器老化和生产调试、温度变化等原因,时钟振荡频率和标准频率之间会产生一些误差。
假设一台设备采用精确度为万分之一秒(即每秒偏差为10微秒,一般设备时钟精度远低于这一指标)的高精度时钟,运行一年后会与标准时间之间出现大于5分钟的偏差。
这些偏差看似无关紧要,但是在生产生活中则关系重大,尤其是在通信、金融、交通、民航、航天及军事等领域内,若不妥善予以解决,哪怕是微小的时间偏差,也将会产生重大影响,甚至危及国家安全和人民群众的生命财产安全。
因而各行业对计算机网络和内部信息系统时间同步的应用越来越多,对于时间的要求也越来越高。
传统的各类授时方式碍于设备自身硬件条件和软件系统所限,无法很好地适应各个行业的具体要求,尤其是在下列行业领域内:
(1)地理及地质监测矿产勘探:
地理及地质监测站点分散,受地球自转极复杂地形地貌影响,网络传输情况复杂,网络校时难度大。
(2)电力系统中的监测和联合控制:
在电力系统包括电力传输网络中,产生调整、设备调配、传输调控、故障处理、事故分析、善后处理等过程,都严重依赖于统一精准的始终。
(3)民航、公共交通联合控制:
民航、公共交通越来越无法承载广大群众出行的要求。
只能通过优化调度,才能够充分发挥现有公共交通的优势,而优化调度必须以精确地时间系统为基础,将大量的即使交通数据进行汇总分析,进行统一调度。
(4)气象信息会综合分析:
基于精准时间系统的气象云图信息有助于数据信息的快速处理,从而更加精确的预测天气。
(5)工业控制及精密期间仪器加工:
统一的时间和精准的时钟频率可以为联合控制提供实时的精确控制,提供控制系统及产生设备的可靠性、准确性和精准度。
(6)广播电视行业的实时控制:
以精准时间行为标准的工作站联合节目制作、多会场节目编播等网络,才能保证广电节目的制作与播出。
如此众多的产业和行业都迫切要求有效而可靠的授时机制,能够确保在多种复杂环境条件下,满足对时间一致性的要求,达到减少时间系统的误差、提高系统运行效率的目标。
1.2国内外发展现状
通常用来解决系统内时钟或网络同步的方式有两种:
一是通过外接统一的精准时钟源(如原子钟、GPS时钟),再通过相应的程序指令调整时钟寄存器,将精准时间转化为本地市中,以使系统中各计算机或处理机的时钟同步于外接同意精准时钟源。
达到时间同步的效果[2]。
二是通过各类网络时间协议(如DCNET、SNTP和NTP等)向网络中的各计算机提供授时或时间同步服务[3]。
但是目前一种依赖于市中院的统一精确性,对各计算机或处理机的自身时钟的物理调校性能的要求也非常严格,工程造价高昂,调校的精准性难以保证,只适合具有特殊需要的小型网络使用。
后一种方法基于网络支持,开销甚小,单同步过程和精度都取决于网络规模的大小及与时钟源的远近层次,如若解决好时钟源的问题,当可作为一种最为有效的精准授时方式,应用于系统的时间同步中。
基于TCP/IP协议的网络时间协议NTP(NetworkTimeProtocol)是用于互联网中时间同步的标准网络时间同步协议。
它采用世界协调时UTC(UniversalTimeCoordinated)作为时间同步标准,在设计时充分考虑了互联网上时间同步的复杂性,使用层次式时间分布模型,提供严格、实用、有效的机制,能够灵活适应各种规模、速度和连接通路情况的互联网环境。
NTP不仅校正现行时间,而且可以持续跟踪事件的变化,能够自动进行调节,即使网络发生故障也能维持时间的稳定。
随着全球定位系统(GlobalPositioningSystem,简称GPS)的不断发展,GPS已经全面应用到日常生活当中,技术也相当的完善,完全可以为各行各业提供统一而精准的时间信息,满足在各种复杂环境条件下,各种网络设备对于不同时间精度授时服务的要求。
近年来,以实际应用为中心的嵌入式系统及相关技术发展迅速,由于处理功能强大、自动化程度高、响应速度快、环境适应性好,尤其是适合应用于复杂环境下的多任务实时体系的特点,使其在信息及网络技术中的应用日益广泛,更是起到了举足轻重的作用。
在授时同步技术领域中,通过嵌入式系统平台上外接GPS卫星模块(接收机),来读取精准的时间信息,由嵌入式系统经过相关处理,利用NTP协议提供授时和同步服务,为工作在复杂环境中,且对时间精度有很高要求的网络提供了一种能高效解决时间同步问题的途径[4]。
1.3本论文的工作
在查阅大量资料,进行充分研究之后,本论文以基于ARM11的嵌入式微处理器S3C6410为核心,以linux为操作系统平台,并外接GPS模块,通过对NTP协议的深入研究,在移植和编译的基础上,来实现NTP协议的精确授时。
具体的工作如下:
(1)查阅大量的文献资料,对系统设计的相关技术理论进行学习和研究,包过GPS时间系统和授时原理与应用、时间同步理论与授时技术等,为解决系统时间同步问题奠定了理论基础,明确了具体的研究方向。
(2)结合对GPS应用和授时技术的研究,分析了在网络中时钟同步的特点,确定了采用嵌入式系统作为时间服务器,通过内嵌的NTP协议进行授时方案。
(3)调查分析了国内外嵌入式系统的最新发展,通过对目前市场上主流的嵌入式微处理器和嵌入式操作系统的分析和比较,进而确定了在服务器中嵌入式微处理器和嵌入式操作系统的类型。
(4)深入的学习了系统开发相关工具和平台的相关知识,包过嵌入式软硬件系统的设计调试方法、电路设计工具的使用和软件集成开发环境的应用、基于ARM位处理器的嵌入式开发环境的配置和操作等,为后面应用平台的软件设计提供了技术的保证。
(5)实现基于GPS的嵌入式NTP收授时服务器的硬件设计。
主要工作有:
对硬件设计分析,核心器件选型分析,对系统的调试等。
(6)结合对linux操作系统地研究和分析,在服务器硬件平台上成功移植了linux操作系统,为开发搭建了良好的系统平台。
(7)全面阐述了NTP协议工作原理、工作模式及报文结构,对协议中的各类参数及协议的主要工作过程进行了深入的分析,并在此基础之上完成了对NTP协议的移植与编译,实现了嵌入式NTP授时系统的授时功能。
1.4论文的组织结构
第1章主要分析了课题研究的背景及意义,介绍了课题方向,国内外的发展概况,并介绍了文章的主要研究工作和文章构架。
第2章介绍了本设计的相关技术,包括NTP协议、GPS、嵌入式linux操作系统等系统设计得主要技术。
第3章从整体上阐述了本课题的设计方法,分析系统组成、工作原理,介绍了软硬件构架,确定了硬件平台和嵌入式操作系统的选择。
第4章从硬件角度介绍了授时服务器硬件平台设计方案,设计原理,阐述了系统的硬件选型、具体调试工作。
第5章详细阐述了linux操作系统的移植和GPS时钟同步的方法,包括linux系统的分析和移植,以及linux系统时钟的GPS同步的内容。
第6章深入研究并分析了NTP协议的变量及工作过程,给出了NTP协议服务器授时体系结构的模型,实现了NTP协议在linux系统上的移植和编译,阐述了NTP协议授时服务程序流程。
第7章对全文的研究工作进行总结,并指明了下一步的研究方向。
2NTP协议简析及GPS相关技术
2.1NTP协议简析
图2-1表示的NTP服务器工作的过程。
1)启动NTP服务
NTP
客
户
端
2)NTP客户端会想NTP服务器发送时间请求
4)客户端接受了服务器时间信息后修改自己的时间
NTP
服
务
器
3)NTP服务器会发送当前的标准时间到NTP客户端
图2-1NTP服务过程示意图
Fig.2-1TheNTPserviceprocessdiagram
2.1.1NTP协议概述
网络时间协议(NetworkTimeProtocol,简称NTP)最早是由美国Delaware大学Mills教授设计实现的,它是用来使计算机时间同步化的一种协议,可以使计算机对其服务器或时钟源(如原子钟、GPS卫星等国际标准时间)做同步化,能够提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上误差几十毫秒),它由时间协议、ICMP时间戳消息及IP时间戳选项发展而来,是OSI参考模型的高层协议,它使用UTC作为时间标准,是基于无连接的IP协议和UDP协议的应用层协议,使用层次式时间分布模型,所能取得的准确度依赖于本地时钟硬件的精确度和对设备及进程延迟的严格控制。
在配置时,NTP可以利用冗余服务器和多条网络路径来获得时间的高准确性和高可靠性。
实际应用中,又有确保秒级精度的简单的网络时间协议(SimpleNetworkTimeProtocol,SNTP)。
NTP拥有专用源端口和目标端口123。
NTP适用于网络环境下,可以在一个无序的网络环境下提供精确和正常的时间服务,NTP是TCP/IP标准协议族的一员,从最初的V1版本到现在的V4版本已经变的越发稳定,它定义在IEEE802.3af,支持的RFC有RFC958、RFC1119、RFC1165及RFC1305。
NTP源于时间协议和ICMP时间标志消息,但其设计更强调精确度和正常性两个方面,即使是在有多路网关、延迟差量及不可靠网络上使用时。
下表是对NTP协议报文的解析:
表2-1UDP分组中的NTP信息
Tablet.2-1TheNTPinformationinUDPpacket
2
5
8
16
24
32bit
LI
VN
Mode
Stratum
Foll
Frecision
RootDelay
RootDispersion
ReferenceIdentifier
Referencetimestamp(64)
OriginateTimestamp(64)
ReceiveTimestamp(64)
TransmitTimestamp(64)
KeyIdentifier(optional)(32)
Massagedigest(optional)(128)
●LI:
跳跃指示器,警告在当月最后一天的最终时刻插入的迫近闺秒(闺秒)。
●VN:
NTP协议版本号。
●Mode:
模式。
该字段包括以下值:
0-预留;1-对称行为;3-客户机;4-服务器;5-广播;6-NTP控制信息
●Stratum:
对本地时钟级别的整体识别。
●Poll:
有符号整数表示连续信息间的最大间隔。
●Precision:
有符号整数表示本地时钟精确度。
●RootDelay:
有符号固定点序号表示主要参考源的总延迟,很短时间内的位15到16间的分段点。
●RootDispersion:
无符号固定点序号表示相对于主要参考源的正常差错,很短时间内的位15到16间的分段点。
●ReferenceIdentifier:
识别特殊参考源。
●OriginateTimestamp:
这是向服务器请求分离客户机的时间,采用64位时标(Timestamp)格式。
●ReceiveTimestamp:
这是向服务器请求到达客户机的时间,采用64位时标(Timestamp)格式。
●TransmitTimestamp:
这是向客户机答复分离服务器的时间,采用64位时标(Timestamp)格式。
●Authenticator(Optional):
当实现了NTP认证模式,主要标识符和信息数字域就包括已定义的信息认证代码(MAC)信息。
2.1.2NTP协议工作原理
Client(A)
影响NTP协议精确度最关键的原因在于由网络延迟的随机性而引起的时钟延迟计算的不准确。
由于延迟不准确,所以无法依靠从时间服务器到客户机的单边传输来传递精确的时间信息。
为了解决这个问题,在NTP协议中使用时间服务器和客户机之间的双向信息交换和时间戳(timestamp)的概念。
图2-2显示了用这种方法确定延迟和偏移的基本原理。
θ
Server(B)
t4
t3
t2
t1
图2-2延迟和偏移的方法确定原理
Fig.2-2Themethodtodetermineprincipleofdelayandmigration
如图2-2所示,t1,t2,t3,t4为A,B主机之间最近的4个时间戳的值。
假设:
。
那么A、B主机之间的往返传输延迟δi和B相对于A在t1时刻的时间偏移量θi应该为:
。
由于在网络传输中分组传输的流量不确定,可能时大时小,而且通常是以突发的方式到达客户机,所以传输延迟不是一个稳态随机过程。
但是,我们可以通过对传输延迟的测量来对完成偏差的修正。
在图2-2中,B相对于A的真实时间偏移是θ。
假设用x表示从A到B的真实传输延迟,那么有:
。
由于x必须为正,即有
,所以
。
同理,我们可得出
,所以有
,即:
相当于:
这意味着,真实的时钟偏差值是以测量所得的偏差值为中心的,而其可能的变化范围则等长于测量所得的延迟。
每一条NTP消息都包含最新的3个时间戳,第4个时间戳则由消息的到达时刻确定。
因此,服务器和客户机都可以单独确定时间偏移。
这种对称的连续采样的时间传输方法的优点是对发送和接受的消息的顺序没有要求,因此不需要可靠的传输途径。
很显然,最终的准确度将取决于发送和接受路径的统计特性。
2.1.3网络时间服务的层状结构
时钟同步网络理论上根据其精确度和重要性一般分为从0-15的16个级别或更多级,实际应用上不会大于6级。
级别编码越低,精确度和重要性越高。
时间的分配自级别编码小的层次向较大的层次进行,即由第0级向第15级分配渗透。
第0级设备是时钟同步网络的基准时间参考源,它位于同步子网络的顶端,目前普遍采用全球卫星定位系统,即由GPS播发的UTC时间代码。
子网络中的设备可以扮演多重角色。
例如一个第二层的设备,对于第一层来说是客户机;对于第三层可能是服务器;对于同层的设备则可以是对等机。
这里对等机的含义是相互用NTP进行同步的计算设备。
DNS服务器
校园网用户
路由器
校园网用户
二级服务器
一级服务器
GPS接收器
图2-3时钟同步网络层结构
Fig.2-3Clocksynchronizationnetworklayerstructure
NTP协议就是通过这种网络层状结构一层一层延伸下去,为Internet提供授时服务的[5,6]。
现在,国外普遍使用网络时间协议和简单网络时间协议提供时钟同步服务。
经过二十年的发展,现在已有230个一级时间服务器分布在澳大利亚、加拿大、智利、法国、德国、以色列、意大利、荷兰、日本、挪威、西班牙、瑞典、瑞士、美国、英国等国家,还有100,000多台二级服务器分布世界各地。
不少公司机构已经能够提供时钟同步服务如BBN,MCI,Sprint,AlterNet,NIST,其中以NIST提供的服务最为成熟。
他们提供的时钟同步服务在局域网可以达到小于1毫秒的精度,在广域网可以达到1至几十毫秒的精度[7]。
2.1.4NTP的工作模式
NTP协议支持下列三种对时工作模式[8]:
(1)主从模式(Server/ClientMode):
客户机向一个或多个服务器提出服务请求,建立通信,根据所交换的信息中的时间戳,计算网络上的时间偏差和网络延迟,从中选择出最准确的时间偏差来调整客户机时钟。
(2)多播/广播模式(Multicast/BroadcastMode):
高速局域网中适用此种工作模式。
局域网中的服务器以固定的时间周期向某个多播地址广播自己的时刻,客户端直接用接收到的时刻修正自己的时钟,而不计算时间偏差和网络延迟,并忽略网络中及本地的各种误差。
(3)对称模式(SymmetricMode):
网络中的两个及两个以上的时间服务器,互为主从模式进行时间消息的通讯,相互校正对方的时间,以维持整个同步子网的时间一致性。
上述三种方式,时间信息的传输都使用UDP协议。
每一个时间包内包含最近一次的事件的时间信息、包括上次事件的发送与接收时间、传递现在事件的当地时间、及此包的接收时间。
在收到上述包后即可计算出时间的偏差量与传递资料的时间延迟。
时间服务器利用一个过滤演算法,及先前八个校时资料计算出时间参考值,判断后续校时包的精确性,一个相对较高的离散程度,表示一个对时资料的可信度比较低。
仅从一个时间服务器获得校时信息,不能校正通讯过程所造成的时间偏差,而同时与许多时间服务器通信校时,就可利用过滤算法找出相对较可靠的时间来源,然后采用它的时间来校时。
时间按NTP服务器的等级传播。
按照离外部UTC源的远近将所有服务器归入不同的Stratum(层)中。
Stratum-1在顶层,有外部UTC接入,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。
所有这些服务器在逻辑上形阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础。
2.2GPS时间同步及应用
2.2.1GPS概述
GPS全称GlobalPositioningSystem,是美国于20世纪80年代建成的,前苏联建成的GLONSS全称GlobalNavigationSatelliteSystem。
二者在卫星上都放有高性能的星载原子钟,并且都采用“测时—测距”体制,路径时延的测量时测距和导航定位的基础,因此具备高精度的授时功能。
GPSC/A码单站比对精度为340ns(SA,即SelectiveAvailability)和50ns(无SA)。
同期,美国国家标准局(NIST)提出了GPS共视方法,是的时间同步的精准达到纳秒级。
GPS卫星导航定位系统是美国国防部的第二代卫星导航定位系统[9,10]。
由三大部分构成:
GPS卫星星座(空间部分)、地面监控部分(控制部分)和GPS信号接收机(用户部分)。
如图2-4所示。
GPS
星座
注入信号
GPS信号
GPS信号
GPS信号接收机
地面监控系统
图2-4GPS卫星全球定位系统构成图
Fig.2-4GPSglobalsatellitepositioningsystemstructurediagram
GPS卫星主要有三个作用:
意识向用户连续发送GPS信号,在导航电文中报告自己的现在为止以及其他在轨卫星的概略位置;而是接收地面注入站发送给他的卫星导航电文和其他相关信息,并形成GPS信号;三十接收地面主控站通过注入站发送的卫星调度命令。
GPS系统能够实施全球性全天候全天时的连续不断的三维导航定位测量,每一个用户在任何地方都能够接收到4~12颗GPS卫星的信号,我国境内全天可以接收到5~8颗卫星的信号。
定位时,为了解算出接收机的三维坐标,至少需要观测4颗GPS卫星,这4颗卫星称为定位星座,它们在观测过程中的空间位置分布(几何结构)的优劣,对定位精度有一定的影响。
研究表明,星座四面体的体积
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 NTP 服务器 设计 完整版