网络时间协议(精选11篇)
网络时间协议 篇1
随着当今科学技术飞速发展,融合了无线通信技术,嵌入式计算技术和集成电路技术的无线传感网络(Wireless Sensor Networks)应运而生[1]。这是信息科学领域中一个全新的研究方向,无线传感网络涉及众多学科,成为目前信息技术领域中的研究热点之一。美国商业周刊和麻省理工学院的《技术评论》杂志评出了对人类生活产生深渊影响的十大新兴技术,无线传感网络被列为第一。
时间同步技术是无线传感网络的基础支撑技术之一。在分布式系统中,由于物理上的分散性,系统无法为相互独立的模块提供统一的时间,而各个模块都有自己的本地时钟,而每个模块的本地时钟由于计时速率和运行环境存在差异,因此即使所有模块的本地时钟在某一时刻校准统一,但是一段时间后,这些模块的本地时钟都会出现时钟偏移。为了让这些模块再次校准统一的时间,必须进行时间同步的操作。时间同步就是对本地时钟进行某些操作,达到整个系统统一时间标度的过程。
1 无线传感网络中时间同步影响因素
消息包传输延时的不确定性是无线传感网络时间同步的主要研究之一。一方面传输延时比要求的时间同步的精度大;另一方面它极易受到处理器负载、网络负载等因素的影响。在无线传感网络中实现时间同步,分解消息包传递的不同阶段,是我们分析影响时间同步因素的关键。图1就是将消息包的收发时延分为以下六个部分[2]:
发送时间(Send time):发送节点构造一条消息所需时间,包括内核协议处理和缓冲时间等,它取决于处理器当前的负载和系统调用开销等。
访问时间(Access time):消息等待一个无线信道空闲所需的时间,即从等待信道空闲到消息发送开始时的延迟。这个时间是消息传递中最不确定的部分。它取决于底层MAC协议和网络当前负载状况。
传输时间(Transmission time):发送节点在无线链路的物理层上按位(bit)传输消息所需的时间。这个时间取决于消息的长度和无线传输速率。
传播时间(Propagation time):消息在发送节点和接收节点之间传输介质中的传播时间。这个时间取决于两个节点间的距离(电磁波在空气中传播的速率是一定的)。与其他时延相比这个时延可以忽略。
接受时间(Reception time):接收节点按位(bit)接受消息并传递给MAC层所需的时间。这个过程与传输时间相对应。
接受处理时间(Receive time):接受节点重新组装消息并传递给上层所需的时间。
Maroti等人把这种划分进一步的细化[3],还包括如下:
中断处理时间(Interrupt handling time):从中断申请到中断相应的时间。具有不确定性,取决于处理器的特性和处理器当前的负载。
编码时间(Encoding time):射频芯片对二进制数据进位行编码,然后转换为电磁波的时间。具有确定性,取决于射频芯片的种类。
解码时间(Decoding time):接收者的射频芯片将电磁波解码,然后转换为二进制数据位。和编码时间的特性类似。
字节调整时间(Byte alignment time):这个时间是由于发送者和接收者各自对于字节调整时间的不同而引起的。具有确定性,取决于信息数据发送速率和收发方的字节偏移。
2 典型无线传感网络时间同步协议研究
目前许多大学和研究机构对于无线传感网络时间同步机制算法都有深入的研究,并提出了很多时间同步机制。在现有的时间同步机制中我们总结了三种典型的同步机制:接收者-接收者同步机制;发送者-接收者双向同步机制;发送者-接收者单向同步机制。
2.1 接受者-接受者同步机制:
这种机制通过无线数据链路层的广播信道,利用第三方节点广播一个参考信息,广播范围内的接收节点通过接收这个参考信息后,各自比较接收这个信息的本地时间,即可得到接收者间的时间偏差。典型的协议为RBS协议(Reference Broadcast Synchronization)[4]。
RBS协议是由加州大学Jeremy Elson等提出的,利用了无线数据链路层的广播特性。RBS算法的基本原理(见图2):发送者广播一个信息分组,广播域中两个接受节点都能够接收这个信息分组,每个接受者都根据自己的本地时间记录这个接收信息分组的时间,然后相互交换记录信息分组的时间,两个接收时间的差值相当于两个接收者节点间的差值,其中一个接收者可以根据时间差值修改本地时钟,从而达到两个接收者时间同步。RBS的优点就是消除了发送节点的不确定性。按照无线传感网络中信息包的延时分解而言,就是消除了发送时间和访问时间。RBS的缺点是额外的增加了与其他接受节点的信息交换;另外,这种算法机制不适用于大型的多跳网络。
2.2 发送者-接收者双向同步机制:
加州大学洛杉矶分校的Ganeriewal认为:采用发送者-接收者的双向报文机制,由于报文传输的对称性,有可能精确地计算出报文的传输延迟,因此能获得较高的同步精度。为此,他采用了类似于NTP协议中的双向报文交换机制,提出了TPSN协
议(Timing-sync Protocol for Sensor Network)[5]。
TPSN协议的同步原理是由两个阶段完成:层次发现阶段(Level discovery phase)和同步阶段(Synchronization phase)。
层次发现阶段:传感网络部署后,首先通过这个阶段在传感网络中构建一个层次结构。首先在网络中设定一个根节点,并赋予层次号为0。然后由根节点广播包含层次号的信息分组,接收到此信息分组的节点都将信息分组中的层次号加1,并且设为自己的层次号,然后将包含自己层次号的信息分组广播出去,重复这个过程直到网络中所有节点都设置好层次号。
同步阶段:层次结构完成后,根节点就会广播时间同步信息分组,开始时间同步阶段。第1层的节点收到信息分组后,等待一个随机的时间,通过与根节点的信息分组的双向交换达成同步(见图3)。同时,第2层节点侦听到第1层节点的交换信息分组后,退避等待一个随机的时间,然后与第1层节点通过信息分组双向交换达成同步。重复这个过程,最终实现全网的时间同步。
TPSN协议利用时间戳消除发送时间,访问时间和接受时间。因此,TPSN协议大大提高时间同步精度。与RBS相比,时间同步精度提高了两倍[3]。TPSN协议的缺点是不能消除时钟偏移的误差。另外,这个算法不能处理动态改变的拓扑结构。
2.3 发送者-接收者单向同步机制
为了避免往返传输时间估计,减少信息交换量,并且兼顾扩展性,产生了发送者-接收者的单向同步机制。这种机制是通过一个节点作为时间基准点发送包含当前时钟信息的同步时间分组,其它节点接收到这个分组信息后,估算时延参数,调整本地时钟同步到时间基准点。然后,同步后的节点发送信息分组,直到整个网络的所有节点都同步到时间基准点。这种算法机制最具代表性是FTSP协议。
FTSP协议[3]是由Maroti等人提出,这种算法综合考虑了能量消耗,扩展性,鲁棒性,稳定性等方面的时间同步要求。FTSP协议的同步原理:在传感网络中每个节点有唯一的ID号,通过根节点的自动选择算法选出ID号最小的节点为根节点,根节点就是选中的同步时间基准点。同步从根节点开始,时间同步信息分组采用广播的方式发送。未同步节点接收到已同步节点广播的时间信息分组后,从信息分组中估算本地时间与全局时间的时间漂移和时钟偏移,调整自己的本地时间,使之与全局时间达成统一。在节点同步后,生成新的时间信息分组广播到网络中。重复这个过程,直到整个网络每个节点都时间同步。
FTSP协议主要采用下面几个机制来降低时间延迟对时间同步精度的影响:在MAC层记录时间信标,细分消息传输中的时间延迟并对这些延迟进行补偿,利用线性回归算法估算时间漂移。我们通过SIMSYNC[6]仿真实验,就目前几个典型的算法中,FTSP协议的同步精度最高。另外,FTSP协议还考虑到了根节点失效的情况。如果根节点失效,再次通过根节点的自动选择算法,找出网络中ID号最小的节点为根节点。FTSP协议具有较好的扩展性和鲁棒性,适合于实际环境的要求,工程实用性强。
3 时间同步协议研究面临的挑战
目前,对于无线传感网络时间同步协议的研究重点集中在三个方面:第一,如何提高时间同步的精度,或者说是尽可能的减小同步误差;第二,如何减少耗能,尽可能的提高网络生命期;第三,如何设计适应大规模网络扩展性强的时间同步协议。
低功耗、低成本与小体积的要求对无线传感网络软硬件设计的各个方面均提出挑战。如何降低能耗是设计时间同步软硬件必须遵循的原则。
无线传感网络时间同步协议会随着网络规模的扩大而出现同步精度不断降低的现象。网络规模的扩大还会引起时间同步协议其他方面性能的下降,甚至出现不能正常运行的情况。如何设计时间同步协议适应大规模无线传感网络是需要我们研究的主要问题之一。
在实际的无线传感网络应用中,节点本身的故障和外界环境变化导致无线传感网络拓扑结构动态改变的频率很高。静态配置机制不能应对网络的高度动态性。如何设计时间同步协议应对各种情况,保证系统实际应用的健壮性是我们需要重点考虑的问题之一,直接关系到设计出来的时间同步协议能否应用于真实的无线传感网络应用。
4 结束语
无线传感网络将在未来有着十分广泛的应用,因此需要高校和研究机构对各关键技术加大研究。在这篇文章中我们详细介绍了无线传感网络时间同步协议的基本概念,分析了现有的几个典型的时间同步协议,并讨论了时间同步协议设计时所要面临的挑战。时间同步协议是无线传感网络的基础中间件,其特性直接决定其他中间件的性能。如何提高同步精度、降低同步能耗,并且设计一个新的时间同步协议是我们下一步的研究方向。
参考文献
[1]Karl H,Willig A.Protocols and architectures for wireless sensor networks[M].John Wiley&Sons Ltd,2005.
[2]Kopetz H,Ochsenreiter W.Clock Synchronization in Distributed Real-Time Systems[J].IEEE Transactions on Computer,1988(8):933-939.
[3]Maroti M,Kusy B,Simon G.The Flooding Time Synchronization Protocol[C]//Procedddings of the Second ACM Conference on EmbeddedNetworked Sensor Systems(SenSys).Baltimore.MD:ACM Press,2004:39-49.
[4]Elson J E,Girod L,Estrin D.Fine-Grained Network Time Synchronization using Reference Broadcasts[J].The Fifth Symposium on Oper-ating Systems Design and Implementation(OSDI),2002(12):147-163.
[5]Ganeriwal S,Kumar R,Srivastava M.Timing-Sync Protocol for Sensor Networks[J].The First ACM Conference on Embedded NetworkedSensor System(SenSys),2003(11):138-149.
[6]Xu C N,Zhao L,Xu Y J,et al.SimSync:An effective Time Synchronization Simulator for Sensor Networks[J].ACTA AUTOMATICASINICA,2006,32(6):1008-1014.
网络时间协议 篇2
离婚协议并不是在签订后,立即生效,而需要在民政部门办理离婚登记之后,把离婚协议备案在民政部门后,才发生法律效力,对当事人具有约束力。
协议离婚要注意些什么?
新的《婚姻登记条例》已于10月1日开始实施。该条例规定,只要男女双方确属自愿离婚,并已对子女抚养、财产、债务等问题达成一离婚致处理意见的,当场予以登记,发给。虽然的手续简化了,但应注意以下几个问题:
1、协议离婚的程序分为申请、审查、登记三个环节。
当事人双方必须亲自申请,不得委托别人代理,还要出具两人共同签名的。离婚协议书应当载明双方自愿离婚的意思表示以及对子女的抚养、财产及债务的处理等平等协商一致的意见。
2、离婚协议要合法。
离婚协议不能想怎么写就怎么写,必须符合法律要求,否则就是无效的。例如,离婚协议书应当写明双方当事人自愿,对子女抚养、共同财产及债务处理要写明确;协议不允许对离婚附加期限条件,使离婚行为处于一种效力待定状态;对夫妻共同债务的分担不得损害债权人的.合法权益,如有的夫妻为了逃避债务而假离婚,使债权人合法权益的行使受到阻碍。对住房分配、离婚一方给生活困难的另一方的经济帮助等内容都要写明白,且必须合法。
3、协议离婚时,当事人还要注意保护自己的合法权益。
不能为了尽快离婚或图省心,而放弃自己在、子女抚养等问题上的权利,以免将来后悔,造成不必要的麻烦。
有些人协议离婚后,马上又反悔,无非两个因素。一是感情上的因素。因一时之气,而协议离婚。双方冷静下来后,都想起对方的优点,仍相互关心,放不下对方,觉得当时办离婚太草率。这种情况下,当事人双方可到婚姻登记机关办理登记。不办复婚登记就继续同居生活是不受法律保护的。另外一种因素是因离婚协议中有关财产、债权、债务等问题未及时履行发生争议,或者要求对子女抚养费进行变更,或因遗漏财产及债权债务等问题发生争议,此时,当事人必须到法院起诉。
网络“浪漫时间表”不靠谱 篇3
北京天文馆馆长朱进告诉记者,原帖说6月13日和21日这两天能看到水星,其实是误导。水星是太阳系中离太阳最近的行星,经常被湮没在太阳的光辉中,是太阳系八大行星中最难观测到的一颗。只有等到水星和太阳的角距达最大即大距时,公众才会有希望在几天时间里肉眼观测到水星。在13日前后的几天里,如果天气情况很好,都有希望于黄昏时分在西边的地平线太阳落山的方向找到水星,并非只有两天能看到。
除此之外,天琴座流星雨、牧夫座流星雨的命名也是错误的。流星雨的命名通常是以辐射点所在的星座或者附近的亮星命名的。辐射点在同一个星座,但是出现的时间不一样的流星雨有的需要在前面加上月份。因此,2013年6月份发生的这两次流星雨应该叫六月天琴座流星雨和六月牧夫座流星雨。
而六月天琴座流星雨本来流量就非常小,六月牧夫座流星雨历史上曾经出现过流量较大的爆发,而且又赶上月光的干扰比较大。因此今年六月份的这两个流星雨都不适合普通公众欣赏。
网络时间协议 篇4
分布式网络化测试系统具有快速的系统编程加载能力、更快的数据交换能力, 更广泛的数据共享能力和软硬件资源丰富等特点, 在新一代测控领域得到了应用。其中, 网络时间同步技术是测试领域的关键技术之一, 采用传统的构架的测试系统的外同步线同步方式和传统的以太网时间同步技术的时间不确定性是无法满足数据时间相关性分析对时间同步的准确性与实时性要求。
1 传统的主辅耦合构架测试系统同步方式
以典型的传统构架的测试系统为例。该方式采用传统的系统构架, 以外同步线方式进行时间同步。
例如:模拟量参数A从采集时刻开始到主采集器输出的最小时间延迟Tmin:
其中:Tb:采集器内部数据传输时间
N:内部数据传输次数
Tx:采集器之间数据传输时间
Ts:模拟量采集板采样周期
由此可知, 数据传输的最小延迟为60μS。这是一种实验室设备简单、线路单一化的理想数据延迟指标。同时, 传统采集系统构架的测试系统具有一定的局限性:
1) 每个测量单元有着各自时间同步协议, 不具有统一性;
2) 采用外同步线方式同步时钟系统, 线路较复杂;
3) 系统的最高采样位速率为20Mbps;
对于未来的测试任务, 采用传统系统构架的最高采样位速率的限制造成的时间延迟是无法满足测试任务对时间相关性的要求。因此有必要考虑采用更适合的分布式网络化采集系统及其相关精密时间同步协议满足测试任务的需求。
2 IEEE1588精密时间同步协议
2.1 IEEE1588精密时间同步协议的引入
传统的以太网数据时间同步技术存在着因工作环境温度变化、电磁干扰和网络负载变化等原因, 冲突机会多, 延迟也就越大, 时钟存在着不确定性, 无法满足实时数据融合精密时间同步的需要。针对网络化对测量和控制设备之间时间同步技术的要求, IEEE (电气与电子工程师协会) 于2003年初通过审核发布了IEEE1588标准, 全称网络测量和控制系统的精密时间同步协议标准。IEEE1588标准的基本功能是使控制网络内的最精密时钟与其它时钟保持同步, 在各个以太网现场对设备进行微秒级的高精度的时间控制。
2.2 IEEE1588精密时间同步协议的原理
IEEE1588的基本原理是用网络中最精密的时钟去校正或同步其他时钟, 最佳时钟的选取是自动执行, 通过最佳主站时钟算法实现。从理论上讲, 网络中有两种时钟:主时钟 (用于同步其他时钟) 、从时钟 (被同步的时钟) , 系统中所有的时钟都可能成为主时钟或从时钟。但是, 往往在网络中时钟是相对固定的, 所有从时钟通过与主时钟的同步消息去校准自己的时钟, 这个过程分为两个阶段:一个是是偏移校准, 一个延迟校准[2]。延迟校准用于确定主从两端的帧传输过程中的延迟。偏移校准是指测量主从时钟的偏移, 并在从时钟上消除这些偏移。图1举例演示了该过程。
通过主时钟端和从时钟端的这种相互之间的相应保证了时间的精度要求, 即实现了主时钟和从属时钟之间的严格的精密时间同步, 达到预期的目的[3]。
3 IEEE1588精密时间同步协议在网络化测试系统的应用
IEEE1588精密时间同步协议标准自推出之后, 在工业控制领域得到了广泛的应用, 网络化的测试系统与普通的测试网络相比, 是一种相对比较特殊的以太网结构。特具有以下的特点:
1) 网络拓扑结构稳定, 不会出现突发性的改变, 适于点对点的信息的传输;
2) 在任务需求预知的前提下, 网络负载相对稳定, 且呈现周期性变化;
3) 测试系统网络相对简单且规模相对较小, 利于最大幅度减少交换机的数量而有效的减少带来的网络抖动;
因此, 最简单的形式是使用IEEE1588协议同步网络化的测试系统的各个采集单元。在尽量减少交换机数量的前提下, 指定某个交换机作为主时钟 (可选配输入IRIG或GPS时钟) , 由它来同步其它采集单元时间控制器的时钟。
网络交换机作为时间同步的主控时钟源, 将接收到的精密时间信号作为主时钟去同步其他设备的设备时钟, 以达到我们要求的时间同步精度。我们将主、从时钟的lPPS输出连接到示波器, 通过示波器测量与标准秒脉冲信号之间的误差, 能非常清楚地测量出两个信号之间的偏离, 通过改变网络负载以求在最大抖动条件下的时间误差, 如图2所示。为了减少网络负载, 将实现时间同步的时间校准间隔定义为2秒, 太长不能保证足够的同步精度。
太短则会增加网络传输的负担。根据实验室的实验结果, 主、从时钟的最大偏移量可以控制在1μS的范围里, 可以满足未来测试任务中对高精度时间同步的要求。
4 结束语
IEEE1588定义了一个能够在系统中实现高精度时钟同步的协议———精确时间协议, 这一协议为消除或削弱分布式网络系统各个设备的时钟误差和数据在网络中的传输延迟提供了途径[4], 同时也为我们提供了一种网络化测试构架下, 不同类型、不同厂家的测试设备实现精密时间同步的有效手段。它适合于在一个有限的网络范围内满足高精度的分散时钟时间同步需求。
参考文献
[1]周文建, 白泰礼, 王平.网络化测试系统的时钟同步[J].实验科学与技术, 2005 (2) :16-18.
[2]黄云水, 冯玉光.IEEE1588精密时钟同步分析[J].国外电子测量技术, 2005, 24 (9) :9-12.
[3]王相周, 陈华婵.IEEE1588精确时间协议的研究与应用[J].计算机工程与设计, 2009, 30 (8) :1846-1849.
以形助数,建构时间的网络体系 篇5
1. 探究月与日之间的关系。
师:日与时之间的关系你知道吗?
生:1日=24小时。
师:用格子表示1时,1日有多少格。
生:1日有这样的24格。
师:如果把1日的时间条压缩成一格,那么一个月有这样的几格?
练习:1月有多少日?用水彩笔涂一涂,可以画出不同的情况。
学生进行练习,涂好后相互说一说。教师巡视收集作品。
生:32格。
师:同意吗?为什么?
生:不同意,因为一个月最多才31天。
生:31格,29格,30格,31格。
师:28格。你们能从日历中举例说明哪年哪月有28天?
生:2013年2月份,2015年2月份。
师:29日的,找到了吗?
生:2016年2月份。
师:30日的,找到了吗?
生:2015年4月、6月、9月等。
师:多吗?
生:很多,每年都有4个月天数是30天。
师:31日呢?
生:31天的月份比30天的还多。
小结:通过刚才的整理,月与日之间有4种可能。
【赏析】该环节,王老师继续以“时间条”为串联,但是这个时间条经过复制、压缩后,在这个环节中不同阶段表示的时间是不一样的。相同的是时间是有连续性的,“时”累积到24时后就是1日,日同样如此。另外月与日之间的关系到底如何?王老师采用凃一涂、相互说一说等方法发挥了学生的主观能动性,培养了学生的认知能力和互助的能力。
2. 探究年与日之间的关系。
师:关于年月日你还知道什么?
生:一年有12个月。(板书)
生:一年有的有365天,有的有366天。(板书)
生:每隔4年有1个闰年。
师:一年有12个月,你能不能从日历上一下子找到?
师:一年有365天、366天,你是从哪里知道的?
师:今天我们就一起来用算一算的方法验证一年到底有几日?
学生写算式并计算出结果。
教师选取部分作品,板书反馈:
①31+28+31+30+……+30+31+30+31=365(天)。
②31+29+31+30+……+30+31+30+31=366(天)。
③31×7+30×4+28=365(天)。
师:列成第①②种算法的举手。请你观察第①②种的算式,有什么不同?
生:2月份的天数不一样。
师:2月份有哪些可能?在日历中找一找。
生:2013年、2014年、2015年的2月份有28天。
生:2016年的2月份有29天。
师:我们把2月份有28天的这一年叫做平年。把2月份有29天的这一年叫做闰年。
师:观察第三种算法你看懂了吗?是什么意思?
生:先算31天有7个月,再算30天有4个月,最后再加2月份。
师:这有31天的7个月份是固定的吗?(是)
师:先找找2016年,哪几个月份有31天?
生:31天的有1月、3月、5月、7月、8月、10月、12月。(板书)
师:分别从2015年、2014年、2013年中找找这几个月份的天数,是不是都是固定的31天。(是)
师:30天的有4个月,是哪几个月?
生:30天的有4月、6月、9月、11月。(板书)
师:我们把有31天的月份叫做大月,有30天的月份叫做小月。
课件出示时间条,小结月与日的关系。(图1)
师:用这样的压缩时间条要表示一年的话,要画几格?
生:365格或366格,就是这样画太麻烦了。
师:如果用压缩的时间条中一格表示一个月,一年要画几格呢?
生:12格。
师:如果两个这样的时间条,是多少时间?
生:2年。
【赏析】数学活动应当是一个生动活泼、富有个性的过程。学生虽然知道一年有365天或366天,但只知道这个结果,却还没有经历知识的形成过程。于是王老师引导学生从计算一年有多少天入手,通过动手实践、操作验证,让他们知其然更要知其所以然,更能享受数学探究的乐趣。认识大、小月是本节课的学习重点之一,王老师摒弃了传统用拳头和儿歌来记忆大小月的方法,而是通过两步的操作实践让学生自主去发现:①观察计算一年有多少天的算式,发现2月的特殊性以及固定的月份。②通过查询日历,明确、区分大小月的月份。
【教学片段2】
(1)神舟九号是哪一年发射的?
(2)蓝点表示哪一年?为什么?
2. 猜一猜老师的生日。
提示信息1:星期四。(执教本课时为2016年)
生:可能性太多了。
提示信息2:生日在大月。
提示信息3:生日在下半年。
师:哪几个月份有可能?
生:7月,8月,10月,12月。
提示信息4:生日所在月的前一个月也是大月。
生:8月。
提示信息5:生日在这个月的上旬。
课件补充:1~10日是上旬,11~20日是中旬,剩下的是下旬。
生:8月4日。
课件展示身份证验明生日。
3. 填上合适的时间单位。
这雨已经持续下了几( );水下憋气持续时间几( );爸爸出差已经几( );蜜蜂每隔几( )扇一次翅膀。
先填能够确定的。适时补充课外知识:丹麦有个人在水底可憋气22分钟。蜜蜂每隔5毫秒扇一次翅膀。
【赏析】应用意识是数学基本活动经验的核心成分。练习1继续用数轴这个几何直观强化对时间认识的应用。练习2通过“猜一猜老师生日”这个有趣的活动,使学生全面地应用今天所学的知识去解决这个问题。练习3与生活实际相结合,既让学生感受到时间的长与短,又通过课件补充知识,拓宽了学生对时间长短的认知。
【教学片段3】
1. 今天你知道了什么?
板书图3。
2. 你还知道哪些时间单位?
【赏析】回顾全课教学,看得出王老师放弃了“年、月、日”的传统教学,把“年、月、日”放到了“量和计量”这个范畴去教学。“年、月、日”相对应的是“千米、米、分米”这些长度单位,抑或面积单位等,时间应该是有体系的,所以形成了这个知识结构图。但是相对于其他计量知识结构图,时间之间的进率实在太复杂了,也是最丰富的。
网络时间协议 篇6
无线传感器网络(Wireless Sensor Networks,WSNs)作为新一代传感器系统,能够实时监测、感知、采集各种环境或监测对象的信息,并对这些信息加以处理,以便获取详尽、准确的信息[1]。但由于其受功能、特性及应用背景的影响巨大,因此设计具有最大化生存周期、最小化网络能耗的无线传感器网络,保证网络的连通性和有效减低能耗具有十分重要的意义。
媒体访问控制协议(Medium Access Control,MAC)[2],处于无线传感器网络底层,是保证无线传感器网络高效通信的关键协议之一,尽可能延长无线传感器网络寿命十分重要。目前无线传感器网络的MAC协议设计中还存在许多缺陷需要去解决[3,4]。因此设计无线传感器网络MAC 协议应该在确保低能耗的前提下,具有尽可能高的吞吐量、尽可能小的时延、数据无误传输以及支持多种业务需要等特性以满足用户需求。
1 S-MAC协议工作机制
针对不同应用场合对无线传感器网络要求不尽相同的特点,MAC协议分为基于竞争协议、基于调度协议和混合MAC协议[5]。S-MAC协议[6]是一种基于竞争机制的典型MAC协议,专门针对事件通知应用场景,可以较好地适应这种场景中的数据流变化。在没有数据时节点基本处于休眠状态,节省自身的能量;而在突发事件触发大量数据传输时,又可以自适应增加节点唤醒次数,从而加快数据传输。S-MAC的主要工作机制如下。
1.1周期性侦听/休眠机制
S-MAC协议最主要的运行机制为周期性侦听/休眠机制。它将时间分为多个工作周期,每个工作周期又分为侦听阶段和休眠阶段。在侦听阶段,节点完成与相邻节点间通信。在休眠状态,节点为了减少能耗,直接关闭发射接收器。若此时存在需要处理的数据,则执行缓存操作,待到节点处于侦听状态时再进行处理。
1.2虚拟簇机制
节点每隔一段侦听周期广播一次同步信息,邻居节点同样采用该策略,从而使得整个网络形成了若干个采用不同策略的虚拟簇。不同的虚拟簇之间通过簇间边界节点进行数据交换,通过虚拟簇机制,新节点很容易加入到现有网络中去。但是这些边界节点为了能够保证簇与簇之间能够顺利地进行数据传输,保存了多个调度,这样在每个调度规定的时刻都会被唤醒。但这种机制存在节点能量过度消耗的情况。
1.3冲突/监听避免机制
S-MAC使用了802.11的冲突避免机制,即虚拟载波监听和物理载波监听结合的RTS-CTS通告机制,协议规定每个节点控制一个时间帧,当节点有数据包要发送时,先进行等待,直到属于该节点的帧到来时,先广播带有接收节点和包长度的控制报头消息,然后传送数据。收到报头消息的节点如果不是接收节点,则关闭射频模块,较好地解决了隐藏终端问题和暴露终端问题。
2 TS-MAC协议方案
在S-MAC协议初始化阶段,调度的同步十分重要。但是S-MAC协议的同步只能在较小范围内完成,导致了在全网范围内存在多个不同调度表的簇。簇边界上的节点,为了能够顺利与邻簇节点进行通信,需要在该节点上保存多个调度信息,因此边界节点会在每个调度表的监听时段醒来,相较于其他节点较少进入休眠阶段,能量消耗较大,导致了网络整体寿命的缩短。
2.1优先级标准
为了解决这个问题,对现有的SS-MAC协议[7]进行改进,设计了一种算法规则,采用优先级标准作为依据,使得相邻的虚拟簇进行合并,最终实现整个网络调度的统一,消除边界节点,从而解决了不同虚拟簇间边界节点能耗过快的问题。
整个虚拟簇用树来表示,把创建根节点称为树根,簇中每个节点都存在一个权值,表示节点距离根节点的跳数,根节点的权值为零,其余节点在接入网络之前,权值预设为一个较大的初始值。算法采用从根节点到虚拟簇边界的最大权值来表示优先级,生成树统计模型如图1所示。改进后的MAC协议称为TS-MAC协议,在每个节点上保存变量列表ValueList,包括某一虚拟簇全簇节点总数Total、最大权值ValueMax、本节点权值ValuePoint、父节点标识Father、子节点标识Son[i]、同步包到达时间ArriveTime[i]以及对应节点的下级节点总数SonNum[i]。
2.2根节点选举
在文献[8]中介绍了一种GAF改进算法,在该算法的基础上设计了一种根节点选择策略。假设每个节点能够随时查询自身ID以及剩余能量,同时赋予剩余能量最大的节点为根节点,剩余能量次大的节点作为候选根节点,当根节点剩余能量达到阈值时,候选根节点将接替成为根节点,避免由于根节点能量耗尽引起节点间通信质量的下降。
算法初始阶段,节点按照ID依次发送和接收通知消息M(N1,N2,Emax,Esub),其中Emax为现有虚拟簇内剩余能量最大值,Esub为剩余能量次大值,N1、N2为与此相对应的ID。
假设某虚拟簇内共有N个节点,任意一个节点ID为Nn,能量为En,Tr为初始时间,Ts为发送消息所需时间,具体根节点选举算法实现如下:
这样所有节点均将获悉根节点的ID和剩余能量,完成根节点的选举。
2.3创建生成树
创建生成树,统计簇内节点信息,实现虚拟簇内节点瞬时同步,算法实现如下:
2.4簇的合并
根据生成树信息,进行簇的合并,算法实现如下:
2.5动态拓扑改进
针对无线传感器网络所存在的特性,必须考虑由于网络拓扑变化造成树结构变化的情况。对于新加入的节点,可以通过监听网络中其余节点的同步请求报文,获取周期T(取3~5个同步周期)内收到的具有最小权值的邻居节点作为自身父节点,并将权值加1作为自身权值,保证了生成树总是拥有最新的拓扑,增强了鲁棒性。当节点因某些原因与网络失去联系时,若该节点不属于根节点,则按照上述方法进行拓扑调整。本算法规则采用消息开始发送到无线信道的时刻作为同步消息时间戳,消除了时延误差,提高了时间同步的精度。
如图2所示,在实际传输中存在着传输时延、接收时延等不确定性因素,则4个时刻T1、T2、T3、T4实际应该满足如下关系:
T1=T2-Δt0-d+εtrans12+εrecv2,
T4=T3+Δt0+d+εtrans21+εrecv1+
a12(T3-T2+d+εtrans21),
式中,εtrans12是消息由节点1传输到节点2的传输时延,εrecv2则是节点2接收消息时产生的随机误差;a12为节点2相对于节点1的局部误差。从上式中可以看到,报文间隔时间过长会造成同步精度的影响。因此,要求应答包返回的时间间隔不能太长,同时应答包一次所包含的同步信息也不能太多。
3仿真结果与分析
本文采用OMNET++仿真工具[9,10]对TS-MAC协议进行仿真分析。OMNET++是一款开源的网络仿真系统,近年来在科学和工业领域里逐渐流行,主要用于通信网络和分布式系统的仿真。
3.1OMNET++建模
OMNET++进行TS-MAC协议建模仿真流程如图3所示。
通过以上对TS-MAC协议的剖析和对OMNET++编程模式的理解,定义如下仿真环境。
仿真的节点拓扑如图4所示,N个节点呈线性分布,其中节点N-1为目标节点,节点0为源节点,相邻节点间隔为200 m。从源节点处开始发送数据包至目的节点,发送速率为n个/s。
3.2仿真参数选取
主要仿真参数如表1所示。
3.3仿真结果
3.3.1 能耗分析
如图4所示模型进行仿真,得到边界节点消耗能量随时间变化的曲线,如图5所示。由于边界节点在300 s开始接收到2个调度表信息,因此其能量消耗速率较之前快一倍。而TS-MAC与SS-MAC协议下边界节点始终只有一个调度表,因此其能量消耗速率保持不变。但TS-MAC协议较SS-MAC协议在完成全网同步时间上要少得多,因此能量消耗幅度始终低于SS-MAC协议。从仿真输出结果可以看出,TS-MAC与SS-MAC协议下数据流持续时间都比S-MAC协议下要长,网络连通性较好。
3.3.2 实时性分析
采用多次仿真取平均值的方法如图6所示,由图可以看出,SS-MAC协议在仿真时间达到3 200 s处实现全网同步,TS-MAC协议在1 600 s时实现全网同步,说明TS-MAC协议较之SS-MAC协议具有更好的实时性。
4结束语
针对S-MAC协议中边界节点能耗过快,SS-MAC协议中全局同步时间过长,无法快速实现全局同步的问题,提出了一种新的TS-MAC协议,通过设定优先级标准来确定虚拟簇的最大权值,利用生成树来完成根节点与下级节点的时间同步,以达到局部时间同步,并以此为标准在簇间边界节点上进行调度表的取舍,从而实现簇的合并和全网调度的同步,消除了边界节点。仿真结果验证了该算法能够有效地控制节点的能耗,提高了网络的连通性。
参考文献
[1]马祖长,孙怡宁,梅涛,等.无线传感器网络综述[J].通信学报,2004,25(4):114-124.
[2]蹇强,龚正龙,朱培栋,等.无线传感器网络MAC协议研究进展[J].软件学报,2008,19(2):389-403.
[3]KUNTZ R,GALLAIS A,NOEL T.From Versatility to Au-to-adaptation of the Medium Access Control in Wireless Sensor networks[J].Journal of Parallel and Distributed Computing,2011,71(9):1236-1248.
[4]BOKAREVA T,HU Wen,KANHERE S,et al.Wireless Sensor Networks for Battlefield Surveillance[C]∥Proc of Land Warfare Conference,LWC-2006,Australia,2006:1-5.
[5]YAHYA B,BEN-OTHMAN J.Towards a Classification of Energy Aware MAC Protocols for Wireless Sensor Net-works[J].Wireless Communications and Mobile Compu-ting,2009,9(12):1572-1607.
[6]YE W,HEIDEMANN J,ESTRIN D.An Energy-efficient MAC Protocol for Wireless Sensor Networks[C]∥Proc of IEEE INFOCOM2002,New York,USA,2002:1567-1576.
[7]刘冰,杨昀,张惠民,等.一种高效的无线传感器网络的MAC层方案[J].无线电工程,2007,37(3):11-13.
[8]SANTI P.Silenceis Golden with High Probability:Maintai-ning a Connected Backbone in Wireless Sesor Networks[C]∥Proc of European Workshop on WSN,Berlin,2004:106-121.
[9]冯友宏,关可.基于OMNET的无线传感器网络算法的改进[J].传感技术学报,2010,23(6):859-862.
网络时间协议 篇7
网络式仪器总线是一种基于M-LVDS技术、面向仪器应用的多主式结构仪器总线, 目前已经开始应用在多通道实时信号分析仪、分布式数据采集系统等仪器设备中[1]。网络式仪器总线在M-LVDS总线的线或机制的基础上, 引入了非破坏性逐位仲裁的媒体访问方法 (CSMA/BA) 。非破坏性逐位仲裁机制的引入, 使网络式仪器总线成为真正的多主式总线拓扑结构, 为分布式测试系统提供了一种有效的解决方案[2,3]。目前, 网络式仪器总线是基于消息触发方式的, 实时性已经满足大部分的应用需求。然而在实时性要求更高的应用场合中, 需要更为精确的时间同步和触发机制。
IEEE1588 标准定义了一种应用于分布式测量和控制系统的精确时间同步协议PTP (precise time protocol) , 该协议适用于任何满足多点通信的分布式控制系统。IEEE1588 时间同步协议是通过主从节点之间周期性交换带有时间戳的报文来测出节点间的时间偏差和频率偏差, 并采用适当的算法调整从节点的时间和频率, 从而达到时钟的同步[4]。
精确的时间标记方法和有效的从时钟补偿模型是提高总线同步精度的关键技术。在网络延时抖动小的总线环境下, 其同步精度可达到纳秒级[5]。
本研究提出了网络式仪器总线的精确时间同步协议模型, 并通过高精度时间戳生成方法提高了总线时钟同步精度。
1 网络式仪器总线时间同步
IEEE-1588标准定义了一种精确时间协议PTP (precision time protocol) , 规定了将分散在测量和控制系统内的分离节点上独立运行的时钟同步到一个高精度和准确度的协议。要求网络中的每个节点必须有一个硬件实时时钟, 以实现基于PTP协议栈的相关服务。从通信关系上把时钟分为主时钟和从时钟, 理论上任何时钟都能实现主时钟和从时钟的功能, 但一个PTP通信子网内只能有一个主时钟。主时钟要求具有高稳定性和精确性。
网络式仪器总线是一种多主式总线结构, 其各个节点之间不存在明显的主从关系。所有的节点都连在网络上, 消息和数据根据其优先级在总线上进行仲裁, 并从一个节点传送到另一个节点。因此在原来的网络式仪器总线中加入了一个时钟节点, 该节点不参与系统的任何测试和控制工作, 只是用于总线上每个节点提供一个时间基准。时钟节点中采用温控晶振OXCO作为标准时钟源, 其频率稳定度很好, 一般都优于0.1 ppm。总线上每个节点通过消息通道跟时钟节点进行同步, 从而实现网络上所有的节点之间的同步。
根据PTP协议原理, 时钟节点需要周期性的在总线上发布同步报文, 该报文通过广播的方式发送的总线上每个节点, 其同步过程如图1所示。
从图1看出, 整个同步过程可以分为两个部分, 偏移测量和延时测量[6]:
(1) 第一步, 主时钟在t1时刻往网络上各分支点发送同步报文 (Sync message) , 并记录t1时刻的时间值。当从时钟点收到同步报文后记录接收时刻t2的时间。随后主时钟向各分支点发送紧随报文 (Follow_Up message) , 紧随报文包含t1时刻的时间值。此时可以算出主时钟到从时钟的时钟偏差, 记为MS_difference, 这一偏差值相当于从时钟相对主时钟的偏移 (offset) 加上同步报文传输延迟时间 (MS delay) , 由此可以得到以下两个等式:
MS_difference=t2-t1 (1)
MS_difference=offset+MS_delay (2)
(2) 第二步, 从时钟在t3时刻向主时钟发送延迟请求报文 (Delay_Req message) , 并记录t3时刻的时间值。主时钟节点收到延迟请求报文后, 记录接收时刻t4的时间值, 并往从时钟节点发送延迟响应报文 (Delay_Resp message) , 延迟响应报文包含接收时刻t4的时间值。此时可以算出从时钟到主时钟的时钟偏差, 记为SM_difference, 这一偏差值相当于主时钟相对从时钟的偏移 (-offset) 加上延迟请求报文传输延迟时间 (SM delay) , 由此可以得到以下两个等式:
SM_difference=t4-t3 (3)
SM_differece=-offset+SM_delay (4)
由于同步报文和延迟请求报文在同一个物理介质中传输, 并且传输距离相同, 可以视两个传输延迟时间相同。即MS delay=SM delay。由此可以计算出主时钟和从时钟的偏移量 (offset) 和总线传输延迟时间 (delay) :
根据主时钟和从时钟的偏移量来校准从时钟节点的时钟, 从而达到主从节点的时间同步。理论上, 通过上述同步算法可以实现两个节点时间的绝对同步, 因为该算法是基于以下两个假设条件的[7]:
(1) 两个节点之间的网络延时在两个方向是对称的;
(2) 节点的计时晶振频率是相同的, 而且没有漂移。
消除延时抖动的最有效方式是, 把时间戳标记点设置在物理层和MAC层接入处。此时网络延时抖动主要取决于报文在物理层的传输延时抖动和时间戳精度。经过测试发现, M-LVDS总线的延时抖动只有皮秒级, 因此可以通过高精度的时间戳生成方法, 能够有效地消除总线延时抖动引起的同步误差。
从节点一般采用普通的晶振作为其计时时钟源, 由于通常使用的外部晶振的实际频率与标称频率有± (10~100) ×10-6 Hz的偏差。也就是在1 s的时间里晶振会产生± (10~100) μs的偏差。微秒级的误差在实时测试系统是不可取的, 在参考文献[8]中提出了一种从节点晶振频率补偿方法, 在一定程度上能够有效地补偿从节点的频率误差, 从而能够提高同步精度。本研究主要讨论精确时间戳生成方法, 从时钟频率补偿采用参考文献[8]中的方法, 因此在本研究中不再详细讨论。
2 精确时间戳生成方法
2.1 总线节点结构
网络式仪器总线协议一般采用简化的分层结构, 即由物理层、数据链路层和应用层组成。数据链路层又分为逻辑链路控制 (LLC) 子层和媒体访问控制 (MAC) 子层, LLC子层对具体的物理传输媒体和网络拓扑结构透明, 而MAC子层处于LLC子层和物理层之间, 向LLC子层提供一个信道访问服务界面。在实现时间同步算法时, 时间戳的加盖点选择在了MAC层和物理层的接入处, 如图2所示。
在物理层和MAC中间设计了一个帧鉴别器, 监视发送和接收报文。若发送的或接收的报文是同步报文 (Sync Message) 或延迟请求报文 (Delay_Req message) 时, 同步地产生时间戳标识脉冲, 该脉冲触发本地时间单元, 产生当前时间值并存入到时间戳缓存中。应用层可以直接读取缓存中的时间信息, 并计算从节点的时间偏差, 通过补偿算法调整从节点的时间, 实现从节点与主节点的时间同步。
时间在硬件中是由晶振驱动的计数器的形式描述的, 即在每个晶振周期, 时间值加T (晶振周期) 。因此时间的分辨率由晶振的频率决定。在网络式仪器总线中, 由FPGA内部的PLL器件产生的100 MHz的时钟作为计数器的驱动时钟, 因此时间的分辨率为10 ns。这也表明着时间戳的分辨率是10 ns。当时间戳标识脉冲触发计数器, 保存时间值时不可避免地引入量化误差, 其标准偏差可通过下式获得[9]:
在时钟周期为10 ns的情况下达到2.89 ns。消除量化误差的最直接的途径是提高计数时钟的频率, 然而在一般的FPGA期间中最高时钟频率只能达到300 MHz~500 MHz之间, 而且高速时钟对设计提出了更高的要求。针对这一问题, 下文中介绍了量化移相时钟的高精度时间戳生成电路。
2.2 时间戳标记电路
移相时钟时间测量方法 (phase shifted clock) 是由多个同频率的低频时钟实现等效的高频时钟计数的一种时间标记方法[10]。测量电路结构如图3所示。
由50 MHz时钟信号驱动FPGA芯片片内的锁相环, 倍频产生5个100 MHz的占空比为50%的时钟信号, 每个时钟的移相分别为0°、36°、72°、108°和144°。时间戳标记电路由一个64位计数器和采样/编码器组成。该电路工作原理如图4所示。
计数器在clk0的每个周期加1, 其分辨率是计数时钟的周期。其他4个移相时钟把计时时钟的一个周期平分为2 n=10个子区域, 每个子区域的时间间隔为:
式中 T—时钟周期, n—移相时钟数量。
当前的时间值由时间戳触发脉冲采样计数器和移相时钟的状态获得, 时间可以通过下式计算:
Time=counter×T+register×Δt (9)
式中 counter—计数器的值;register—由5个D触发器的输出通过编码转换获得。
在本设计中, 计时时钟周期T为10 ns。因此Δt=1 ns。通过公式 (9) 计算出的图4中的时间值为4 192×10+7×1=41 927 ns。
通过上述电路可获得分辨率为1 ns的时间值记录。该电路很容易在FPGA芯片中实现, 设计时通过约束条件, 保证时间戳触发脉冲到每个触发器的时间相等即可。设计中只有一个时钟参与计数, 简化了电路设计。该电路的时间记录不确定性只有1 ns, 而其标准偏差可通过下式获得:
上述电路能够为网络式仪器总线的时间同步算法, 提供精确的时间戳信息, 从而能够减少由传输延时抖动引起的同步误差。
3 实验验证
在实验室环境下对网络式仪器总线的时间同步算法进行了实验验证。为了实验分析方便, 实验中网络式仪器总线上只挂了两个节点, 即一个主节点和一个从节点。主节点用20 MHz的恒温晶振作为时钟源, 其频率稳定性为0.1 ppm;从节点采用50 MHz的普通晶振作时钟源, 频率稳定性为100 ppm。总线管理器和上文所述的时间单元在节点电路板上的FPGA内实现, 同步算法等应用层程序在电路板上DSP芯片内运行。
为了测试两个节点的同步误差, 两个节点均产生1 pps的测试脉冲信号接入到4 GS/s的示波器中进行测量, 以主节点的输出脉冲作为触发脉冲, 对从节点的输出脉冲与触发脉冲之间的偏差进行了测试。共采集了2 000个采样点, 从节点的偏差分布如图5所示。
测试结果表明, 从节点与主节点的时间偏移为-6 ns, 标准偏差5.97 ns。由于1 pps的测试脉冲信号是由100 MHz的时钟信号驱动的, 因此输出信号存在±10 n的相位噪声。
4 结束语
本研究以IEEE1588时间同步协议为基础, 实现了网络式仪器总线的时间同步。由于网络式仪器总线的传输延时比工业以太网小, 能够达到更高的精度。10 ns以内的同步精度能够满足大部分的应用要求, 然而对于更高精度的应用情况, 需要有更快的计时时钟或更好的从时钟补偿算法。
摘要:网络式仪器总线是一种基于M-LVDS技术的面向仪器应用的多主式仪器总线。由于仪器应用中对实时性的要求很高, 基于IEEE-1588时间同步协议实现了网络式仪器总线的时间同步机制。为了获得更高的同步精度, 设计了一种物理层时间标记的硬件电路。该电路采用移相时钟时间测量方法, 用低速的时钟信号实现了高分辨率的时间标记电路。最后, 采用Xilinx公司的Virtex5系列FPGA芯片研制了相应的测试平台。实验结果表明, 在此测试平台上, 网络式仪器总线的同步精度可达到10 ns。
关键词:网络式仪器总线,时间戳,时间同步协议,移相时钟
参考文献
[1]SONG K C, ZHU Z J, YE L Y, et al.Multi-DSP SignalAnalyzer based on Network Instrument Bus[C]//Proceed-ings of the 2006 IEEE/ASME International Conference onMechatronic and Embedded Systems and Applications, 2006.New York:IEEE, 2006:403-406.
[2]金小军.网络式仪器总线的研究[D].杭州:浙江大学机械与能源工程学院, 2003.
[3]陈静燕, 叶凌云, 宋开臣.水下捷联惯性组合导航数据处理系统测试平台[J].机电工程, 2009, 26 (3) :6-8.
[4]EIDSON J, LEE K.IEEE-1588 Standard for a PrecisionClock Synchronization Protocol for Networked Measurementand Control Systems[C]//Proceedings of the ISA/IEEESensors for Industry Conference.Houston:[s.n.], 2002:98-105.
[5]刘明哲, 徐皑冬, 赵伟.基于IEEE1588的时钟同步算法软件实现[J].仪器仪表学报, 2006 (z3) :2009-2011.
[6]宋波, 孙超, 姜守达.一种基于PTP协议的局域网高精度时钟同步方法[J].自动化技术与应用, 2010 (1) :67-70, 74.
[7]陈永标, 方兴其, 岑宗浩.IEEE1588-协议中时钟同步性能的影响因素以及时间戳的生成方式分析[J].微型电脑应用, 2009 (4) :1-4.
[8]NEAGOE T, HAMDI M, CRISTEA V.Frequency Compen-sated Hardware IEEE-1588 implementation[C]//IEEE In-ternational Symposium on Industrial Electronics.Montreal:[s.n.], 2006:240-245.
[9]LOSCHMIDTP, EXEL R, NAGY A, et al.Limits of Syn-chronization Accuracy using Hardware Support in IEEE 1588[C]//2008 IEEE International Symposium on PrecisionClock Synchronization for Measurement, Control and Com-munication.New York:IEEE, 2008:12-16.
网络时间协议 篇8
目前的汽车产业,其要求基本包括安全、方便、舒适、成本与低公害等,从而开发出了各种电子控制系统[1]。1986 年德国电气商博世公司开发了面向汽车的CAN通信协议[2],在此基础上实现了标准化的CAN。在开发了CAN等通信协议后,实现了多种LAN借助网关的数据交换[3]。如今,人们已经基本认同了CAN的高性能与可靠性,在工业自动化、医疗设备、船舶与工业设备等方面得到了广泛的应用。
文中在对时间触发和事件触发相结合的通信机制( TTCAN通信协议) 研究的基础上,分析TTCAN的特点和存在的不足,从理论上进行改进,并通过实验验证其可行性。
1 灵活的时间触发CAN协议
1. 1 结合时间触发和事件触发通信机制
不难看出,时间触发的系统活动建立在全局时钟上,所有的活动以这个时钟为准进行同步,周期地进行活动。在某个活动没有被轮到进行之前,难免存在延时,而延时的大小由于在计划之初就已经确定,所以是一个常数。基于控制的角度,较好的确定性,使系统稳定性得以增强; 而在事件触发的系统中,消息的产生带有随机性,而且传输延时随负荷的变化而变化,但是系统易于组合,灵活性较好。二者都有优势和不足,可以在不同的场合应用。
对事件触发与时间触发都支持是TTCAN通信协议的特点。然而,在调度表的仲裁窗口中传输的非周期性报文可能在其仲裁阶段或在其发送阶段,已经到了发送周期性报文的时刻。即在处理非周期报文时仲裁时间窗口或许会被超出,使周期性报文的发送受到影响。
为解决上述问题,本文提出了空闲时间的概念,即在异步窗口和异步窗口之间插入一定时间间隔的时间段,在次时间段内不允许任何操作。同时,也对调度表的结构进行了改变,如图1 所示,a为插入的空闲时间。
1. 2 同步报文系统
为了更好地进行通信服务,文中定义了两个子系统,同步报文系统( SMS ) 和异步报文系统( AMS) ,它们各自管理各自类型数据的传输。生产者- 消费者模型是SMS提供服务的基础,但是只提供基本的发送与接收服务是AMS的特点。以下是对二者的详细介绍。
SMS传输时间触发的报文,在此称为同步是因为它是同步于基本周期( EC) 的。实际上,EC的持续时间是用来描述时间触发通信的时间特性的基本时间单位。而且,EC的触发报文用来设置时间进程的步调,在它的数据场中详细地列出了在该EC中将要调度的同步报文如图2 所示。所有产生同步报文的节点都必须对EC的触发报文进行解码并核对它们是否为某个特殊报文的生产者,这个核对是通过扫描本地表单包含的报文的识别信息进行的,由此确定该报文是被该节点生产还是消费。
1同步报文请求表
同步报文请求表( SRT,synchronous requirement table ) 包含了以实际要求为依据所规定的同步报文的时间属性,公式如下:
式( 1) 中SMi为第i个同步报文; DLC为数据长度( 0 ~ 8bytes) ; 每一报文的最大传输时间( 包括填充位) 表示为C; Ph为相位; P为周期; D为截止日期; Pr为各同步报文的优先级; Ns为同步报文的个数。Ph ,P ,D都是基本周期EC整数倍。在SRT的基础上,针对即将发送的同步报文,主节点能够完成一个包括其时间特性调度表( Sch T ,schedule ta-ble) 的建立。值得注意的是,同步报文的优先级和它的标识符是不同的参数,两个优先级相同的同步报文标识符可以不同。如果两个报文( 像数据帧与相应的远程帧) 标识符相同,初始化同时进行,远程帧落后于数据帧。
2同步报文的灵活调度
以SRT在线调度器为依据完成每个EC同步调度的建立。这些调度被插入到EC触发报文的各自的数据域中并把它广播出去。因为必须在线完成调度功能,在有限的延迟后,SRT在运行过程中的改变将在总线的发送上反映出来,其灵活性很强。
本文采用计划调度,即基于软件的应用来降低在线调度的处理负载。这种方法包括为被称为计划的将来的一个时间段建立一个静态的调度表,并且在每个计划结束后重新在线建立调度表。该计划的持续时间与报文周期没有关系,因此存放计划调度表的空间是限定的并且事先知道的。这种计划调度器尤其适合由低运算能力的节点组成的系统( 例如,基于8 位的微控制器) 。
灵活的在线调度之外,灵活的时间触发CAN协议还有另外一层的灵活性,即调度策略的灵活性。因为借助SRT报文独立的标识符实现了调度,所以能够很容易地应用任一调度策略。
3同步通信的调度
专门为了同步通信而采用的调度模型不允许信息的传输超过同步窗口的界线。这可以通过利用插入空闲时间来实现,只要一个报文在给定的EC的同步窗口不能完成传输,就将被推迟到下一个EC中。因此,EC的触发报文通常的发送是不会受到阻塞的。
非抢占式的无阻塞调度,与在灵活的时间触发CAN中用来调度同步通信的调度模型非常相似。任务周期和截止日期都是基本周期的整数倍,运行时间通常要比基本周期短并且任务的激活通常是与基本周期的起始时间同步的。唯一不同的是,在非抢占式的无阻塞调度中,整个周期都是可以执行任务的,而灵活的时间触发CAN中同步发送被限制在每个EC的同步窗口中,该窗口最大长度为LSW。
1. 3 异步报文系统
事件触发通信的异步传输能够被灵活的时间触发CAN协议支持,其实现依靠AMS。这个子系统的工作方式和最初的CAN协议本身的分布仲裁机制很相似,并且继承了它在处理事件触发传输通信的效率。然而,在CAN仲裁的上层,AMS包含访问控制的另一层,其设定了这类传输在每个EC中异步窗口的界限。为了使SMS和EC触发报文受异步报文的干扰得以避免,可以将一个严格的时间间隔插入到两个子系统中。访问控制根据与EC触发报文相关的时间为每个异步窗口制定起始和结束时间。它对基于报文交换的控制形式没有任何要求,因此带宽得到有效的利用。
此外,那些有等待处理的异步发送请求的节点试图在异步窗口内立即发送。超过这个窗口,那些请求就得被保持到下一个窗口,然后再次进行仲裁。均衡而言,该技术缩短了响应异步请求的时间。在最坏的情况下,必须考虑由于总线被占用而导致的潜在阻塞,例如,超出异步窗口的时间。
1异步报文系统的通信服务
对于应用软件的报文发送是通过一个补充的基本服务叫做AMS_receive,它是一个模块化接收函数,允许等待明确的或不明确的报文。在接收节点,ASM也对来自网络的报文进行排队,直到它们被AMS_re-ceive服务程序重新检测到,队列的长度也是在配置时设定的,很像发送方的队列。在这种情况下,重要的方面是一个节点可以接收的异步报文的数目和在两个连续的检测之间到达的相同报文的数目。更为复杂可靠的交换,例如,请求确认和请求数据,必须用上面提到的两个基本的服务在应用层完成。
2异步传输调度
从传输调度的观点看,AMS遵循一个动态best-effort模式。当通信请求给定后,即便情况最糟,响应异步请求的时间也不是无限的。因此,支持用异步报文来传输像报警信息一样的实时数据。从最初的CAN协议继承了基本的调度策略,比如说优先级驱动,报文标识符选用固定的优先级。而且,调度利用插入空闲时间在两种传输之间执行一个严格的时间隔离,当超出异步窗口时,异步报文就不能传输了。
AMS可以利用的带宽是SMS和EC触发报文剩下的。所以,越重的同步负载,就会得到越短的SMS通信时间。然而,可以通过为同步窗口设定一个最大的持续时间,从而可以保证AMS得到一个最小的利用带宽。如式( 2) 所示:
在式( 2) 中,下边的式子可以计算在每一个EC的同步调度的结构中可能的插入空闲时间段( Cs为其上限) 。这个修正对于异步传输的调度分析是十分重要的,因为它允许像同步报文在EC中同步释放一样考虑异步请求响应时间的临界时刻。
对实时异步通信请求的设置放在一个名叫异步请求表( Asynchronous Requirement Table,ART) 中,如式( 3) 所示:
式( 3) 中AMi为第i个实时异步报文,除了截止时间不是E的整数倍外,DLC ,C和D与SRT中参数一样,miti为最小内部到达时间( minimum inter-arrival time) ,报文的优先级用Pri来表示,表示为CAN协议的标识符,实时异步报文的个数用NsRT来表示。另外,许多非实时异步报文也同时存在,要使灵活性得以保证,放低其优先级规定的同时,任何限制不能再有。AMnrt表示此类非实时异步报文。
调度表在生成时其最大值law( k) 就能由同步窗口确定,同时也可以确定触发报文( TM) 的值( LTM) ,所以,通过式( 3) 就能计算出异步窗口的大小。以式( 3) 为依据,每一基本周期中异步窗口的最小值就能被主节点计算出来,在触发报文广播到每个节点间,在节点将总线使用权取得后,比较将要发送的异步报文的最大执行时间与剩下的异步窗口,若没有足够的时间将该报文发送,就将空闲时间插入,延迟至下一个EC再发送该报文,从而使时间触发的周期性报文的时间特性得以保证。
2 软件设计及实验分析
2. 1 实验平台
总线数据采集部分与CAN通信部分共同构成了实验平台。其结构图如图3 所示。在CAN通信部分设置了一个主节点、一个备用主节点和四个从节点,它们的节点ID分别为0 × 01、0 × 02、0 × 10、0 × 20、0 × 30。CANalyst - I单路CAN分析仪用于数据采集部分。
对CAN总线网络进行安装、开发、测试、维护与管理是CANalsyt分析软件的功能。其32 位应用程序符合Windows 9X/ME /NT/2000 的标准,相关于操作系统的全部优势都在该工具中得到了体现,像多任务、剪切、粘贴与统一操作不依赖于程序等等。
以ZLGVCI( ZLGCAN软件驱动接口模块) 为基础的CANalsyt分析软件,能够在多个品种的ZLG-CAN智能CAN接口卡上运行,并且可以对11 位标志符模式( CAN2. 0A协议) 与29 位标识符模式( CAN2. 0B协议) 的CAN报文进行处理。
2. 2 实验数据分析
仿真实验设计的软件,结果如图4 所示。
从图4 中可以看出,主节点首先将第一个基本周期的触发报文发送给各个从节点,发送周期性报文的节点通过解码得知本周期是否要发报文; 作为对非周期性报文进行发送的节点,节点0x40 在触发报文与同步时间窗之间完成一组报文的随机发送。满足了按前文所述的基本周期顺序发送报文的要求。
3 结束语
文中以FTTCAN为基础,对其进行了改进,提出了在线生成调度表的方法。主节点在每一个调度周期完成后根据各个节点的情况,按照事先设定的生成策略自动生成。当网络发生变化时,主节点能够及时得知,重新生成新的调度,这样增加了应用的灵活性。同时,由于同步报文调度是通过同步报文请求表中报文的独立的标识符来实现的,因此,比较容易应用任何调度策略。
摘要:针对目前通信机制和调度算法CAN灵活可靠性问题,提出了一种基于FTTCAN的时间触发CAN通信协议,借鉴了FTTCAN关于事件触发和时间触发结合的通信机制。异步窗口与同步窗口对基本周期进行划分,传输方式用非周期报文与周期报文分别进行;将空闲时间插入两者之间,使非周期报文与周期报文的时间隔离得以实现。还提出了在线生成调度表的策略,即一个调度周期完成后,主节点再根据系统中节点的信息生成下一个调度表,实现了调度表的在线动态生成。实验表明,证明该协议不仅可以满足事件触发的灵活性,而且也可以满足时间触发的时间性,文中提出的通信机制和调度算法对CAN灵活可靠应用具有一定的参考价值。
关键词:时间触发,事件触发,空闲时间,EDF
参考文献
[1]王书举,张天侠,张国胜.车载CAN和FTTCAN网络设计与调度策略[J].农业机械学报,2011(2):7,14-17.
[2]高峰,吕广申.CAN总线调度算法的改进[J].佳木斯大学学报:自然科学版,2011(2):213-214,219.
[3]基于CAN总线的CANopen协议讲座(13)风电变流器设备CANopen通信的快速实现——基于CANopen协议的XGateCOP10应用[J].电子技术应用,2011(9):26-27.
[4]詹思瑜,李建平.基于遗传算法的Ad hoc路由协议优化[J].小型微型计算机系统,2012(1):24-27.
[5]Almeida L,Pedreiras P,Fonseca J.The FTT-CAN Protocol:Why and How[J].IEEE Transaction on Industrial Electronics,Dec.2002,49(6):1189-1201.
网络时间协议 篇9
2008年金融危机以来, 雷曼兄弟破产、房利美和房地美国有化、AIG濒临倒闭、冰岛银行体系瓦解、欧洲发达国家发生主权债务危机等系列事件, 把此次金融危机推向了高潮。
由于对次级抵押品嵌入的违约风险的不正确估价, 导致了经济危机的爆发, 使人们又一次认识到风险管理对于金融行业及其监管者的重要性。这其中, 信用风险的评估与防范就显得尤为重要。
信用风险模型可以被分为两类:结构模型和简化模型。结构模型在估计风险债务时使用监管者的信息来设置。因此, 违约时间可以被看做公司的资产价值下降到负债额度时的第一时间。对于大多数模型而言, 公司的资产价值服从连续过程, 这也就是说, 在公司违约时, 公司的负债额度并不会产生跳跃。在这种情况下, 公司的风险债务价格直到违约发生时才会随即下降。结构模型并没有说明风险债务价格过程随后的违约情况。简化模型在估计风险债务时使用市场信息来设置。因而, 违约时间在模型中被设定为点过程中的第一次跳跃时间。这暗含着公司的债务价值在违约时存在一个负值跳跃。与结构模型一样, 简化模型也没有说明在风险债务价格过程后的违约情况。
2 区分经济违约时间与记录违约时间的必要性
为了准确估计违约过程, 违约时间需要被准确的估计。事实上, 我们从市场数据中可以发现, 对于大多数违约公司来说, 在违约事件被记录在案之前, 市场就能够很好地预期到违约事件的发生。同样, 我们有时也会发现, 当一家上市公司违约时, 它所发行的股票在违约发生时股价可能并没有像预期的那样会下跌, 甚至有时会产生股价上涨的现象。在我国, 假设被ST的公司可能发生违约的概率更大, 也有实证研究发现 (唐齐鸣等, 2010) , ST股在被特别处理前几年中的波动风险相对明显增加, 跳风险的增加幅度大大超过了整体风险的增加幅度。
下图所显示的是Delta航空公司在2004年10月1日到2005年12月21日的发行的长期债券价格走势。这家公司在2005年9月14日申请破产 (即当天发生违约) , 而从图中我们可以看出, 当天的债券价格没有下跌反而处于上涨趋势。债券价格在违约发生时没有跳跃。事实上, 我们从下图中可以看出, 债券价格在8个月前似乎就已经提早预期到未来违约的即将发生而产生的连续下跌。
这些都说明: (1) 由于缺乏信息, 已记录的违约日期可能并不是市场所已知的违约发生日期。 (2) 市场已经早于我们对违约点的观测值开始就认为违约已经发生了。这实际上就引入了经济违约时间和记录违约时间的概念。
3 经济违约时间与记录违约时间
所谓记录违约时间 (或记录违约日) 是指应清偿的债务没有获得支付的发生间断的第一时间, 也是违约情况被监管法制部门记录在案的第一时间。如监管部门对外公布, 某债券或银行贷款不能支付利息或本金发生的第一时间。从经济角度来说, 在当今的信用风险衍生产品定价文献中所指的“违约时间”都是记录违约时间。
所谓经济违约时间 (或经济违约日) 是指早于记录违约时间发生的, 违约主体仍有能力按期偿付债务的最后一刻时间。由于公司的管理层知道最后一次有能力清偿债务后公司即将违约的事实, 因而经济违约时间实际上代表了违约的“真实”时间。实际上, 经济违约时间也是当经济主体发生违约时市场价格变动的第一时间。
对于经济违约日, 有两点需要注意: (1) 如果债务的经济违约时间已到, 则市场价格就可能发生变动, 而这时公司还可能没有进入正式的破产或重组程序, 也就是“官方违约日”还没有到达。然而, 事实上市场已经确定该违约已经发生。这与我们所认为的“违约到期日”是不同的。 (2) 确定“违约日”的目标并不是单单为了估计金融困境资产被处理后的债务的回收价值, 而且也是为了估计到“违约日”时已发生的偿付价值的现值。这个现值反映了估计期间的非完全信息。
4 带有经济违约时间的回收率模型
假设有给定的概率空间[Ψ, F, (Ft) t∈[0, ∞], P], 同时满足随机过程的基本假设条件, 用τr代表记录违约时间, Btd代表经济违约时间。从上文分析可得:τe≤τr。
对于一个特定的公司而言, 我们令Bt代表在t时刻风险债务的价格[t∈[0, ∞]], 且Bt是滤波 (Ft) t∈[0, ∞) 适应的。这笔风险债务有到期日和利率 (固定、浮动皆可) 。令Btd代表经济违约日后t时刻的风险债务价格 (t≥τe) 。对于t≥τe, 实际上有Btd=Bt。
在下文分析中, 我们还需使用到无风险即期利率rt, T时刻到期的在t时刻的无风险息票债券价格pt (T) , rt和pt (T) 都是滤波 (Ft) t∈[0, ∞) 适应的。
4.1 截面回收率模型设定
目前已有的文献中, 截面回收率模型主要有三类: (1) 票面额回收 (RFV) 。 (2) 长期国库券回收 (RT) 。 (3) 市场价值回收 (RMV) 。这三种模型都是仅用来确定经济违约日的回收率。
使用截面模型估算回收率的程序是: (1) 确定一家违约公司。 (2) 确定一个日期τ来观测债务价格。 (3) 估计回收率。注意估算出来的回收率是对单一公司的单一点估计值。因而, 通过估算多个公司的截面数据来获得更好的回收率估计值是必要的
4.2 票面额回收模型 (RFV)
F代表债务的票面额, δτe为回收率, 且δτe∈[0, ∞) 。使用RFV度量违约时债务的回收率的原因是, 在违约时, 全部的本金和增加的利息额都变得不确定了。本金的增加额在某种程度上会产生大于1的回收率。
4.3 长期国库券回收 (RT)
同样, δτe为回收率, 且δτe∈[0, ∞) 。pτe (T) 是在T时刻到期的在τe时刻的无风险息票债券价格。
4.4 市场价值回收 (RMV)
同样, δτe为回收率, 且δτe∈[0, ∞) 。注意RMV隐含了在经济违约日τe, 债券价格会发生跳跃, 除非此时的回收率为1。
4.5 时序回收率模型建立
因为我们要在区分经济违约时间和记录违约时间的基础上来估算回收率, 涉及多个时间段, 因而, 我们采用时间序列模型可能更好。这样做可以达到两个目标: (1) 可以将经济违约时间估算出来的回收率估计值与记录违约时间估算出的回收率值比较看出其差别。 (2) 使得记录违约时间后的困境债务定价成为可能 (τr≤t) 。
实际上, 上文中得出的模型都可以归纳为下列形式:
假设回收支付发生在τe时刻, 或风险债务本金在τe时刻卖出, 则在未来的某一天t≥τe时所获得的支付价值为:
这个公式来自于将风险债务卖出所得到的资金在时刻t投资于货币市场工具获得违约的无风险即期利率。在无套利条件下, 在τe时刻, Btd=Bτd。因而, 这个定价模型与标准定价模型是一致的。
由式1、式2可得:
其中t≥τe。
这里应注意, 式3同样适用于记录违约日后的风险债务价格 (τr≤t) 。
因而, 我们可以得到回收率δ⌒τe的估计值是:
4.6 经济违约日τe的估计值
上面的回收率模型中都使用了经济违约日来估计, 因而, 经济违约日的确定就显得非常重要。
经济违约日指当违约发生时债务的市场价格变化的第一时间。因而, 我们可以通过回归用债务价格来得出经济违约日:
τe是经济违约日的估计值。这里τe的估计值取决于记录违约日τr, 在记录违约日的债务价格Bdτr, 即期利率{rs:s≤τr}。
5 结论
在估计信用风险模型时, 区分经济违约时间和记录违约时间是非常重要的。对于大多数债务主体来说, 经济违约时间早于记录违约时间而发生。现实情况是, 标准行业一般采用30天后的违约价格来计算回收率并将其视为无偏估计量。这样的结果实际上反映了目前建立在行业回收率估计基础上的经济计量分析研究都使用了有偏的数据。因而, 用经济违约时间而不是采用记录违约时间来估算回收率就显得必要而紧急。
本文给出了经济违约时间的含义, 并将其与通常文献研究中所用的记录违约时间进行了比较。在此基础上提出了相应的回收率模型及估计方程式。然而, 这只是对回收率估计当中时间问题的初步探索, 有关用经济违约时间如何确定我国金融资产的实际回收状况, 违约前债务及信用衍生产品的定价等问题, 都需要做进一步的研究。
参考文献
[1]唐齐鸣, 黄苒.中国上市公司违约风险的测度与分析[J].数量经济技术经济研究, 2010 (10) .
[2]Moody (R) (TM) s.Investor Service, Global Credit Re-search[J].Default and Recovery Rates of Corporate Bond Issuers, 2005 (1) :1920-2004.
[3]R.Jarrow, S.Turnbull.Pricing Derivatives on Financial Securi-ties Subjectto CreditRisk[J].Journal of Finance, 1995, 50 (1) :53-85.
网络时间协议 篇10
【关键词】网络时间同步;电子商务;数字时间戳;动态口令身份认证
一、引言
随着电子信息技术的发展,人们对计算机网络的依赖程度日益加深,电子商务领域中几乎所有的业务交易都通过计算机网络来实现。然而,计算机本身的时间精度并不高,它的生成一般来源于廉价的振荡电路或者石英钟,每天的误差可达数秒,经过一段时间的积累,就会出现较大的误差,引起彼此时间系统的不同步。当用户通过数字时间戳、动态口令身份认证等电子商务安全技术进行交易时,需要网络时间的同步以保证用户交易信息的安全。因此有必要对电子商务领域中各时间系统进行同步,以保障其业务交易的正常进行。
将通信网上各种通信设备或计算机设备的时间信息(年月日时分秒)基于UTC(协调世界时)时间偏差限定在足够小的范围内(如100ms),这种同步过叫做时间同步。通常,时间同步应用最广泛的是在因特网,例如电子商务领域中的E-Mail信息、文件创建和访问、数据库时间处理等事件都需要计算机详细记录事件处理的事件信息。如果计算机时钟运行的不够准,那么上述应用中很多事件将无法正常处理。
二、网络校时协议(NTP)
世界上大多数国家采用的标准时间是基于地球自转的天文时和基于原子振荡的原子时获得的协调世界时。UTC时间通过很多途径传播,包括卫星导航系统、电话调制解调器和便携计时器。随着计算机网络的发展,Network Time Protocol(NTP)协议成为TCP/IP协议家族的一员。
NTP是由美国德拉瓦大学的David.L.Mills教授于1985年提出,除了可以估算封包在网络上的往返延迟外,还可独立地估算计数机时钟偏差,从而实现网络上计算机的高精度校时,它是设计用来在网络上使不同的机器维持相同时间的一种通讯协定。
NTP协议中规定了一个64bit的协调世界时时间戳,时间分辨率使200ps,它代表相对于UTC时间1900年1月1日0时的秒数,前32bit为整数部分,后32bit为小数部分,无意义位补零。它可以提供1~50ms的时间校准精度。其准确度和NTP服务器与用户间的距离有关,一般在国内外区域内可以获得1~50ms的时间校准精度。目前国际上有几百台一级时间服务器提供这种时间同步服务,其中以美国国家标准技术研究院(NIST)的性能最好。
三、网络时间同步在数字时间戳(DTS)技术中的应用
对于成功的电子商务应用,要求参与交易各方不能否认其行为。这其中需要在进过数字签名的交易上打上一个可信赖的时间戳,从而解决一系列的实际和法律问题。由于用户桌面时间很容易改变,由该时间产生的时间戳不可信赖,因此需要一个权威第三方(DTS机构)来提供可信赖的且不可抵赖的时间戳服务。如图1所示。
DTS作为网上安全服务项目由专门的机构提供,是一个经加密后形成的凭证文档,它包括3个部分:需要加时间戳的文件的摘要;DTS机构收到文件的日期和时间;DTA机构的数字签名。
时间戳的产生过程如图2所示。发送方首先将需要加时间戳的文件用HASH编码加密形成摘要,然后将这个摘要发送到DTS机构,DTS机构在加入了收到文件摘要的日期和时间信息后,再对这个文件加密(数字签名),然后送回给发送方。书面文件的时间是由签署人自己写上的,而数字时间戳则不然,它是由认证单位DTS机构来加的,以DTS机构收到文件的时间为依据。
这个过程中,关键是要利用NTP把时间戳的传送时间精确到毫秒级,以确定电子商务交易发生的正确顺序,特别是大量交易几乎同时发生时。由于电脑交易都是自动和迅速完成的,用于确定交易双方系统时间的时间差必须少于最少的交易时间-确定时间大约需要5~20ms,这就对网络时间同步的精度要求非常高。
四、网络时间同步在动态口令身份认证技术中的应用
电子商务的身份认证采用最多的就是静态口令的“用户名+密码”的方式,这是最为传统的方式,现在很多领域还在沿用。但是,在木马和病毒横行无忌的今天,这种基于静态口令的身份认证技术已经暴露出了许多弊端。因此,产生了动态口令身份认证技术。
动态口令(Dynamic Password)也称一次性口令,是变动的口令,其变动来源于产生口令的运算因子是变化的。动态口令的产生因子一般都采用双运算因子:其一,为用户的私有密钥。它是代表用户身份的识别码,是固定不变的;其二,为变动因子。正是变动因子的不断变化,才产生了不断变动的动态口令。采用不同的变动因子,形成了不同的动态口令认证技术,其中就包括以时间作为变动因子的时间同步认证技术,一般以60s作为变化單位。当用户在进行电子商务交易过程中,通过时间同步认证技术访问身份认证系统时,整个过程如图3所示。
(1)客户请求接入应用服务器。用户端提出申请的主要目的是要与应用服务器进行网络时间同步。当用户提出认证申请后,双方使用NTP协议进行时间同步。即使在广域网的环境下,NTP的时间同步精度也能够达到数十毫秒,完全可以满足动态口令身份认证对时间同步的要求。需要说明的是,应用服务器与认证服务器之间也必须进行网络时间同步,这样才能保证用户端与认证服务器的时间同步。
(2)应用服务器请求认证服务器对客户的身份的合法性和真实性进行认证。
(3)客户终端弹出身份认证对话框。
(4)客户在持有的口令卡上键入PIN码(或开机码),激活口令卡。
(5)客户将账号和口令键入终端的身份认证对话框。
(6)客户终端将账号和口令通过网络传输给认证服务器。
(7)认证服务器调用客户信息,产生与客户信息和时间相关的随机序列,并与客户输入的口令进行比对,判别客户身份的合法性和真实性。
(8)认证服务器将认证结果报告给应用服务器。
(9)应用服务器根据客户身份的合法性和真实性反馈给客户终端,并决定可以提供服务或拒绝服务。
五、展望
北斗卫星导航试验系统是我国区域性卫星导航系统,能够提供导航定位服务和授时服务。它生成的系统时间与国际UTC一般保持在几百纳秒的范围内,提供的授时服务精度完全能够满足我国电子商务领域通过网络进行国内外交易时时间同步的需求,同时目前我国电子商务领域的计算机网络主要是通过GPS或国外一级网络时间服务器进行时间溯源和时间同步,这对我国经济安全是极大的隐患,例如最近美国空军试图通过改变GPS星座的构型来提高该系统的精确性,正在进行升级维护,结果导致2010年1月13日我国绝大多数省份出现网络告警,庆幸没有引发网络中断和延时,所以用户并没有多大的感知。但是由此我们还是能够看出,我国网络安全的关键技术还掌握在别人手里,而北斗卫星导航试验系统作为我国自主研发的系统,完全能够为电子商务领域提供独立的不受外部环境影响的时间安全保障。因此在可预见的未来,随着电子商务领域业务交易的不断增多,及其对自身安全意识的不断增强,北斗卫星授时会得到越来越广泛的应用。
参考文献
[1]罗鸣,曹冲,肖雄兵.全球定位系统[M].北京:电子工业出版社,2008.
[2]谭述森.卫星导航定位工程[M].北京:国防工业出版社,2007.
[3]贺鹏,李青.计算机系统的时间服务研究和应用[J].航空计算科学,2003,33(3):90-91.
网络时间协议 篇11
安全协议是利用密码算法来完成密钥分配、身份认证等功能的一种通信协议。一般地,安全协议都应该具备一些安全属性,比如机密性、完整性和认证性等。很多因素都会在不同程度上影响安全协议的安全性,其中一个重要因素就是时间。一方面,安全协议是对符合一定时序关系的行为序列的规定,另一方面,有些协议本身对于时间关系有着严格的规定,比如电子商务协议,如果缺乏时限性,可能会导致交易的公平性[1]。
本文基于CPN模型检测方法,提出一种针对含有时间因素的安全协议的形式化分析方法,该方法使用了CPN Tools中的内置全局时钟标记,在此基础上,时间相关性质可通过仿真和生成状态图进行分析验证。
1 基于CPN描述安全协议的时间属性的方法
1.1 包含时间因素的安全协议
时间因素对安全协议来说是非常关键的。在有些安全协议中,时间因素会包含在协议所传递的消息中,以便验证与时间相关的安全属性,比如Kerberos协议;还有一些协议,在其发送/接收的消息中不直接包含时间信息,但不可避免地,时间因素对该类协议的运行产生或多或少的影响。比如,在这些协议执行关键时间时所消耗的时间以及超时都会对协议的安全性带来影响[2]。
本文主要针对那些不直接在协议中包含时间因素,而是在协议运行中受到时间因素影响的协议,提出基于CPN模型检测的方法,将检测的焦点集中于协议执行关键步骤是否超时,比如随机数的产生和加密解密过程。从而使得整个模型包含实时系统,更接近于真实的协议运行环境,对安全协议的描述也更加细致清晰。
1.2 利用全局自动时钟描述包含时间因素的安全协议
本文利用CPN对安全协议拥有的强大描述和分析能力,对于包含时间因素的安全协议,提出一种时间描述方法,即:使用内置全局自动时钟标记。图1是一个简单实例模型。其中,消息定义的尾端附上了timed,表示所定义的颜色集带有时间,称为时间标记。图1中的“@+time_response”代表A实体所消耗的响应时间。本模型是很简单的设置和判定的例子,只采用了固定的常量代表操作时间,用简单的IF语句判断超时,即B实体在收到A的消息后,判断若时间超时,则当前会话结束,所采用的会话密钥被丢弃,否则继续。
2 含有时间因素的安全协议的CPN检测
为了验证本文所提出的方法的有效性,以下以简化版的NS协议作为非时间敏感安全协议为例,来分析验证与时间相关的安全属性。协议建模工作集中在判断每个关键步骤所消耗的时间是否超出正常范围,并利用随机数产生函数对加密解密过程所消耗的时间进行赋值。
2.1 简化版NS协议
Needham Schroeder认证协议(NS协议)是Needham和Schroeder两人于1978年提出的基于共享密钥体系的认证协议。NS协议的目的是使得通信双方能够相互证实对方的身份并且为后续的加密通信建立一个会话密钥[3,4]。我们利用CPN建立了针对化简版的NS协议进行了建模。这里化简版NS协议的目标是通信双方互相验证对方的身份,即,仅向响应者B证明发起者A的身份(这里并不失一般性,只是为了使描述的清晰对协议进行了简化),具体如下:
A → B : A
B → A : {NB} KA
A → B : {NB} KB
在第一步,发起者A发送一条包含自己身份的消息给接收者B。B接收到消息后,生成随机数NB,用A的公钥KA加密并发送给A。收到B发送的消息后,A使用自己的私钥对消息进行解密,得到随机数NB,使用B的公钥KB加密并发送给B。
2.2 NS协议的时间CPN模型
最上层模型见图2,其中包含了所有的诚实实体——发起者和接收者,以及不诚实的实体入侵者。
图3展示了与NS协议模型中的时间元素相关的部分声明。作为一个用于传输消息的颜色集的集合,颜色集U被声明为timed类型。这意味着U与一个全局时钟绑定,这个时钟是系统内置的时间标记,随着系统的运行自动累加。变量timei和uptimei代表系统当前时间和事件发生后系统的更新时间,变量time_delay则代表动作引起的时间延迟。这三个变量在StartProc函数中将被赋值。一些变量(比如time_decrypt和time_encrypt)用于记录某些功能作用所消耗的时间,如加密、解密和随机数生成,在实际协议运行环境中,他们的初始值可根据实际情况而设定。特别地,time_response代表消息传输时所消耗的时间。这里还设置了两个常量,timeout_A是A等待B的消息的最大等待时间,timeout_B则是B等待A的消息的最大等待时间。同时,建立一些timeout库所用来检测相应事件所消耗的时间是否在时间条件以内。
除了时间元素的相关声明,在模型中还需要一些与时间有关的函数使时间模型检测顺利运行。表1详细说明了这些函数。
另外,为了使这些函数在适当的时机被调用,需要对变迁的动作(action)进行编码。一个典型的变迁编码函数如下,它的目的是模仿时间的流逝。由于在Petri网中,变迁的发生是瞬时的,因此需要此函数对系统时间进行更新,人为制造出一个随机函数产生的随机延迟时间。在NS模型中有两处调用了此函数,分别在发起者检查时间条件和接收者检查时间条件时,均在图4和图5中用虚线框标注出来。
input (timei,time_delay);
output (uptimei,time_response);
action
(startProc(timei,time_delay));
发起者的模型请见图4。发起者A收到start信号后开始运行。它的身份在变量init_id中保存,与渠道信息init_msg一起,发送给“接收者”。同时,发起者激活了时钟并开始等待接收者直到该时钟超时,在这里超时的时限为20。库所i<timeout是为了标识超时是否发生而设。如果超时了,即库所i<timeout中出现标记,则协议异常终止。这时的重发机制就等同于重新运行协议。如果响应消息在超时之前成功收到,则A的解密时间为time_decrypt。接着发起者将得到的随机数用B的公钥加密(存储在re(resultenc)中),并最终将结果和一个结束标记传输到库所fin中,表示协议正常结束。从模型中可以看出,这个响应所消耗的时间由以下语句产生(如果不存在入侵者):
initiator.time_response = responder.time_gen + responder.time_encrypt
+ output of fun StartProc(time_response)
接着考虑接收者B的运行模型(如图5所示)。收到开始信号和A的身份init_id后,B存储init_id并开始执行它的响应动作。首先,B利用generate_nonce函数生成一个随机数。接着B根据它收到的发送者的身份信息(init_id)找到相应的公钥,将随机数加密。密文发送后,B开始等待响应。如果响应的消息在时间条件timeout之前到达(i<timeout),则B解密收到的消息并将其与已存储的init_id比较。如果发起者的身份匹配,则一个结束标记finish将传送到库所fin中。类似发起者的模型,在接收者B的模型中,如下语句代表了在理想情况下(没有入侵者)事件的消耗响应时间是怎样计算的:
responser.time_response (uptimei-timei) = initiator.time_decrypt
+ initiator.time_encrypt + output of fun StartProc(time_response)
入侵者模型借鉴了Dolev-Yao模型[5]和文献[3]利用UPPAAL建立的入侵者模型的方法,使得模型(如图6所示)描述的入侵者具有的以下能力:
拥有一个合法身份并将其存储在它的颜色集partykey里(变迁cho_pk);
加密一个数值(变迁encrypt);
解密一个数值(变迁decrypt);
生成一个随机数(变迁gennonce);
监听和传输消息(变迁trans to b/a);
阻止消息的传输或以任意时间延迟传输(变迁delay)。
从模型中可以看出,入侵者所进行的动作仍需要消耗一定的延迟时间,比如time_decrypt,time_encrypt等。
2.3 NS协议的验证分析
在对NS协议的分析中,我们使用了“标准分析方法”,这是由CPN Tools根据仿真运行的情况自动生成标准报告,包括有界性和活性等性质的验证和分析。这种分析方法的好处在于简单易行,不需要用户自定义。但是,缺点就是这种方法只能支持有限的一般化的Petri网模型的属性,更复杂的分析不能通过这种方式得到[5]。通常我们还需要结合基于查询函数的分析[6]。
对于简化版NS协议,验证工作是针对其AUT性质[3]。即,是否存在这样的状态,当接收者已经结束了其模型的运行但它收到的发起者所声明的身份id值(包含在协议的第一条信息中)与发起者的真实身份不相符,这时协议就出现了漏洞。在接收者模型中(图5),变迁check result 检查条件“re(resultdec)=re(resultgen)”是否满足,如果满足,则信号finish被传送到库所fin中,否则,库所abort中出现一个标记。为了验证AUT性质,我们利用了标准化分析。CPN Tools自动生成的报告如图7所示。
图7是当我们将B检测的超时条件范围设置为较小时得到的。如 Timeout_B >= initiator.time_encrypt + initiator.time_decrypt, 同时, Timeout_B < Intruder.time_decrypt + Intruder.time_encrypt + initiator.time_encrypt + initiator.time_decrypt。
从报告中可以看出,接收者的fin库所的上限值是1,即超时没有发生且协议成功运行结束。
接着,为了快速查看当超时发生时的情况,我们将时间条件的范围缩小,比如timeout_A=50, timeout_B=100。模型运行结束后,我们编写了ML查询函数IFtimeout,以便找出超时发生的状态。如图8所示,结果是节点(Node9)。通过分析状态空间图,我们可以容易地检查Node9状态下系统中各个库所所包含的标记值。如图8中下划线标出部分所示,我们可以确定在Node9状态下,发起者的库所timeout的标记值是1,说明超时发生在此状态下,从而导致了协议异常终止。
总结NS模型,可以看出,逐渐增值的变量timei代表系统运行的当前时间,通过跟踪标识”@”后面的数字可以追踪它的值。这个值代表自动的内置时钟,且可以与相关函数、变迁的动作(action)编码、描述和仿真结合,从而可实现更强大的操作功能。并且,CPN Tools提供的仿真和分析机制在深入分析密码协议的时间相关安全性质时非常有效,比如状态空间查询功能和自动生成的报告。这种方法的明显优势在于时间是由系统自动控制,用户不需要考虑时间的增减机制,只需要思考如何利用时间标记,在需要操作它的时候编写相应的函数或语句进行操作,比如,在系统需要进行某一事件的操作时,延迟一定的响应时间后继续运行,这个响应消耗的时间也可以由随机函数随机产生。但是不可避免地,模型的复杂度也由于增加了更多的机制而提高了,比如在NS模型中特别说明的函数和变迁编码。
3 结 语
本文提出了一种基于CPN的含有时间因素的安全协议的形式化分析方法,即利用CPN Tools中的内置全局自动时钟标记,在此基础上,时间相关性质可通过仿真和生成状态图进行分析验证。这种方法的优势在于由于是系统的自动时钟,在系统建模和验证时有系统支持的方法,即使是对复杂的协议,也可以清晰地描述和分析。通过对简化版NS协议的验证分析,证明了这种方法的有效性。
摘要:提出一种针对包含时间因素的安全协议的有色Petri(CPN)形式化分析方法,利用CPN Tools中的内置全局自动时钟标记,时间相关性质可通过仿真和生成状态图进行分析验证。基于这一方法,对著名的NS协议(简化版)建模,来分析验证与时间相关的安全属性。然后利用CPN Tools,采用CPN ML语言编写查询函数验证协议的AUT性质,从而发现协议的漏洞。应用分析结果表明方法有效,且操作简单容易理解。
关键词:形式化分析,CPN,时间因素,安全协议
参考文献
[1]刘文琦,顾宏.基于分层时间有色Petri网的支付协议公平性分析[J].电子与信息学报,2009,31(6):1445-1450.
[2]Olveczky P C,Grimeland M.Formal Analysis of Time-Dependent Cryp-tographic Protocols in Real-Time Maude[C]//Parallel and DistributedProcessing Symposium,2007,IPDPS 2007,IEEE International,2007:1-8,26-30.
[3]Corin R,Etalle S,Hartel P H,et al.Timed model checking of securityprotocols[C]//Workshop on Formal Methods in Security Engineering.Proceedings of the 2004 ACM workshop on Formal methods in securityengineering,SESSION:Logics and security:23-32.
[4]吴瑞龙,李陶深.基于有色Petri网模型的安全协议检测方法[J].微电子学与计算机,2006(3):160-164.
[5]苏桂平,孙莎.一种基于有色Petri网的安全协议分析方法研究[J].微型机与应用,2011,30(15):1-4.
【网络时间协议】推荐阅读:
时间网络图05-15
网络时间服务器06-16
网络媒体“第一时间”的舆论引导06-06
延长劳动时间补充协议12-05
用网络协议分析工具侦测网络故障05-24
卫星网络协议08-12
网络协议认识10-18
小区网络转让协议12-14
网络协议分析技术10-19