论文部分内容阅读
[摘要]随着计算机技术以及网络通信技术的快速发展,网络环境中各节点的时钟同步问题变得越来越重要。介绍时钟同步的方法及其相关协议,并对其安全性进行分析和探讨。
[关键词]网络通信技术 同步 相关协议
中图分类号:TP3 文献标识码:A 文章编号:1 671—7597(2009)1010076—01
随着计算机技术和网络技术的迅猛发展,特别是Internet与Intrauet的普及,管理信息系统已经步入基于网络系统的分布式环境。要使分布在各个计算机中的应用程序相互协调、共同合作完成一项任务,就需要这些系统之间有一个统一的、标准的时间。当前人们活动的很多领域的两络系统如金融业(证券、银行)、广电业(广播、电视)、交通业(火车、飞机)、电子商务(交易、认证、加密)、电信(计费、IP电话、网间结算)、大型分布式商业数据库等需要在大范围保持计算机间的时间同步和时间准确。所以,网络时间同步技术是当前网络应用系统所需要的一项关键性技术。
一、时钟同步的方法概述
时间同步是很多基于网络的关键应用的基础。时钟同步包括逻辑时钟同步和物理时钟同步。逻辑时钟同步是指,在分布式系统中,所有进程在事件发生的顺序上要完全一致,而时序上没有要求,即时间上并不需要完全一致。物理时钟同步包括外同步和内同步。外同步是通过某种算法,使得系统内的时钟与系统外的某个标准时钟相一致。内同步则是实现系统内时钟间的相互偏差不超过一个既定的范围。绝对物理时钟同步方法一般有三种硬件同步方法、软件同步方法和分层式混合同步方法。
(一)硬件同步方法
硬件同步有两种一种是借助于接收机或接收机来实现。网络中每个节点各自引入接收机或接收机。第二种是各网络节点都联入专用的时钟信号线,进行时钟同步。硬件同步法精度很高,但成本很高、操作不便。适用于小规模网络系统,在大规模分布式网络系统中完全采用硬件同步方法是不现实的。
(二)软件同步方法
完全利用软件。通过时钟同步算法的处理完成分布式系统中各节点的时钟同步。软件同步法一般涉及时间信息包在网络中要同步的节点间的传输,因此软件同步的缺点是同步精度与网络延迟有关,对于分布在广域网上的大型分布式系统可能不能保证同步精度。
(三)分层式混合同步方法
将大规模分布式系统的节点网络划分为多个网段。在每个网段设置一个节点为时间服务节点,在该节点上引入接收机或接收机及其相应的时钟接口设备,实现不同网段的时钟同步。然后,在每个网段内部通过软件同步方法使本网段其它节点的时钟与本网段时间服务节点的时钟同步,从而实现整个分布式网络的时钟同步。
二、网络时间协议
网络时间协议(NTP),是目前互联网中应用非常广泛的时间同步协议。NTP协议是TCP/IP协议簇的一部分,是运行在应用层协议。它是由时间协议(Time Protocol、Timestamp Message)及网际协议时间选项(IP TimeIP协议和UDP协议之上的ICMP时间戳消息(ICMP Option)发展而来的。
(一)网络时问服务的实现方式
网络时间服务的实现方式有以下几种方法:
无线时钟(wireless clock):服务器系统可以通过串口连接一个无线时钟。无线时钟接收GPS全球卫星定位系统)的卫星发射的信号来决定当前时间。无线时钟是一个非常精确的时间源,但是需要花一定的费用。
时间服务器:可以使用网络中NTP时间服务器,通过这个服务器来同步网络中的系统的时钟。在德拉瓦大学的网站上,寻找到这个链接http://www.eeeis.udel,)edu/)mills/ntp/servers.htrnl,就可以找到国外大多数的一级时间服务器以及访问所需要的IP或域名地址。此方式受网络状况的影响很大。
局域网内的同步:如果只是需要在本地局域网内进行系统间的时钟同步,那么就可以使用局域网中任何一个系统的时钟。当然,你需要选择局域网中的某个节点的时钟作为“权威的”的时间源(即领导),然后其它的节点就只需要与这个时间源进行时间同步即可。使用这种方式,所有的节点都会使用一个公共的系统时钟,但是不需要和局域网外的系统进行时钟同步。如果一个系统在一个局域网的内部,同时又不能使用无线时钟,这种方式是最好的选择。对于网络时间协议,在时间同步过程中每个需要同步的本地时钟(客户端)都与多个服务器连接,本地时钟通过过滤判定最佳的同步路径和服务器源。当客户端与某个服务器长时间失去信息交换,那么客户端会在冗余的服务器中进行查询,然后选出当时的最优同步路径和时钟源。
(二)NTP协议的优势
作为现今Internet上最流行的,也是使用最为广泛的时间同步标准,NTP协议设计主要有以下几个优势:
1,可提供精准的时间
NTP使用协调世界时间UTC作为时钟参考,时间信息的来源可以是原子钟、天文台或是GPS卫星,同时也可以通过软件方法从Internet上获取。因此可以提供准确且稳定可靠的时钟源。
2,时钟服务器提供分层服务
NTP服务器具有分层服务器,分为0-15层,其中Stratum 0为GPS等UTC时间源,Stratum 1是一级服务器,直接从GPS等设备获取时间。随着层数的增加,服务器等级降低,能提供的时钟同步精度也降低。在现实的网络世界中,对时钟精度的要求不尽相同,并不是至高精度方至好,因此采用分层的方法定义时钟准确性,可以让人们根据自己的精度需要选择合适的服务器,从而迅速同步网络中各台设备的时间。
3,采用认证机制来实现抗干扰和避免恶意破坏
NTP认证机制支持访问控制和MDS验证。为防止对时间服务器的恶意破坏,检查来对时的信息是否是真正来自所宣称的服务器并检查信息的返回路径,确保提供对时信息的服务器不是伪装的源,从而防止恶意或意外的干扰。
三、NTP的安全性分析
NTP的安全需求要远高于其他的分布式服务。首先,认证机制和时间同步机制的操作无法避免的缠绕。一方面可靠的时间同步要有密钥:另一方面密钥只有在指定的时间间隔上才一有效,而时间间隔只有在相关的服务器和客户端与UTC可靠的同步时才能生效。另外,NTP子网是天然分层的,因而时间和可靠流是从根部的主服务器通过二级服务器流到叶节点上的客户端。
只有当到主服务器路径上的所有服务器都是均属可信时,客户才一可以宣称从属应用是可靠的。在NTP里面,每个服务器验证次低一层服务器并可通过归纳验证最低层的服务器(主服务器)。
由可信的概念,引申出了可信联系。可信联系指的是如果服务器的证书和身份通过了校验,那么联系就是可信的。虽然如此客户与可信源同步意味着系统时钟使用了一个或几个可信联系的时间值进行重置,并且遵从NTP分洪(mitigation)算法。当证书机构签署证书请求时必须满足可信要求,而证书本身可以存储在公共目录里,并且可以在不安全的网络路径进行检索。在安全模型里,最基本的假设是网络上传输的包可能被期望的接收者以外的人截获:截获者以各种方式重构包,部分或全部重放包,然后再继续传输或者给以响应。这些包可能会使得客户认为可信或者得出错误的信息,从而使得协议操作失败、网络服务中断或者宝贵的网络和处理器资源被消耗。
对于NTP来说,入侵者的理论目标有:植入错误的时间值;破坏协议:用伪造的包来堵塞网络、服务器和客户,从而耗尽资源并否定对合法应用的服务。对于这些可能存在的入侵,NTP建立了大量的防护机制-最基本的防护机制是时戳交换机制,它先天就能防止欺骗和重播攻击。加强的时钟过滤、选择和群集算法被用于抵抗拜占庭式的恶意攻击。当没有特别的指定防御顽固入侵者时,这些算法和相应的检测很好的防止了不当的操作。尽管如此,这些机制并没有为客户安全的鉴别和验证服务器。
[关键词]网络通信技术 同步 相关协议
中图分类号:TP3 文献标识码:A 文章编号:1 671—7597(2009)1010076—01
随着计算机技术和网络技术的迅猛发展,特别是Internet与Intrauet的普及,管理信息系统已经步入基于网络系统的分布式环境。要使分布在各个计算机中的应用程序相互协调、共同合作完成一项任务,就需要这些系统之间有一个统一的、标准的时间。当前人们活动的很多领域的两络系统如金融业(证券、银行)、广电业(广播、电视)、交通业(火车、飞机)、电子商务(交易、认证、加密)、电信(计费、IP电话、网间结算)、大型分布式商业数据库等需要在大范围保持计算机间的时间同步和时间准确。所以,网络时间同步技术是当前网络应用系统所需要的一项关键性技术。
一、时钟同步的方法概述
时间同步是很多基于网络的关键应用的基础。时钟同步包括逻辑时钟同步和物理时钟同步。逻辑时钟同步是指,在分布式系统中,所有进程在事件发生的顺序上要完全一致,而时序上没有要求,即时间上并不需要完全一致。物理时钟同步包括外同步和内同步。外同步是通过某种算法,使得系统内的时钟与系统外的某个标准时钟相一致。内同步则是实现系统内时钟间的相互偏差不超过一个既定的范围。绝对物理时钟同步方法一般有三种硬件同步方法、软件同步方法和分层式混合同步方法。
(一)硬件同步方法
硬件同步有两种一种是借助于接收机或接收机来实现。网络中每个节点各自引入接收机或接收机。第二种是各网络节点都联入专用的时钟信号线,进行时钟同步。硬件同步法精度很高,但成本很高、操作不便。适用于小规模网络系统,在大规模分布式网络系统中完全采用硬件同步方法是不现实的。
(二)软件同步方法
完全利用软件。通过时钟同步算法的处理完成分布式系统中各节点的时钟同步。软件同步法一般涉及时间信息包在网络中要同步的节点间的传输,因此软件同步的缺点是同步精度与网络延迟有关,对于分布在广域网上的大型分布式系统可能不能保证同步精度。
(三)分层式混合同步方法
将大规模分布式系统的节点网络划分为多个网段。在每个网段设置一个节点为时间服务节点,在该节点上引入接收机或接收机及其相应的时钟接口设备,实现不同网段的时钟同步。然后,在每个网段内部通过软件同步方法使本网段其它节点的时钟与本网段时间服务节点的时钟同步,从而实现整个分布式网络的时钟同步。
二、网络时间协议
网络时间协议(NTP),是目前互联网中应用非常广泛的时间同步协议。NTP协议是TCP/IP协议簇的一部分,是运行在应用层协议。它是由时间协议(Time Protocol、Timestamp Message)及网际协议时间选项(IP TimeIP协议和UDP协议之上的ICMP时间戳消息(ICMP Option)发展而来的。
(一)网络时问服务的实现方式
网络时间服务的实现方式有以下几种方法:
无线时钟(wireless clock):服务器系统可以通过串口连接一个无线时钟。无线时钟接收GPS全球卫星定位系统)的卫星发射的信号来决定当前时间。无线时钟是一个非常精确的时间源,但是需要花一定的费用。
时间服务器:可以使用网络中NTP时间服务器,通过这个服务器来同步网络中的系统的时钟。在德拉瓦大学的网站上,寻找到这个链接http://www.eeeis.udel,)edu/)mills/ntp/servers.htrnl,就可以找到国外大多数的一级时间服务器以及访问所需要的IP或域名地址。此方式受网络状况的影响很大。
局域网内的同步:如果只是需要在本地局域网内进行系统间的时钟同步,那么就可以使用局域网中任何一个系统的时钟。当然,你需要选择局域网中的某个节点的时钟作为“权威的”的时间源(即领导),然后其它的节点就只需要与这个时间源进行时间同步即可。使用这种方式,所有的节点都会使用一个公共的系统时钟,但是不需要和局域网外的系统进行时钟同步。如果一个系统在一个局域网的内部,同时又不能使用无线时钟,这种方式是最好的选择。对于网络时间协议,在时间同步过程中每个需要同步的本地时钟(客户端)都与多个服务器连接,本地时钟通过过滤判定最佳的同步路径和服务器源。当客户端与某个服务器长时间失去信息交换,那么客户端会在冗余的服务器中进行查询,然后选出当时的最优同步路径和时钟源。
(二)NTP协议的优势
作为现今Internet上最流行的,也是使用最为广泛的时间同步标准,NTP协议设计主要有以下几个优势:
1,可提供精准的时间
NTP使用协调世界时间UTC作为时钟参考,时间信息的来源可以是原子钟、天文台或是GPS卫星,同时也可以通过软件方法从Internet上获取。因此可以提供准确且稳定可靠的时钟源。
2,时钟服务器提供分层服务
NTP服务器具有分层服务器,分为0-15层,其中Stratum 0为GPS等UTC时间源,Stratum 1是一级服务器,直接从GPS等设备获取时间。随着层数的增加,服务器等级降低,能提供的时钟同步精度也降低。在现实的网络世界中,对时钟精度的要求不尽相同,并不是至高精度方至好,因此采用分层的方法定义时钟准确性,可以让人们根据自己的精度需要选择合适的服务器,从而迅速同步网络中各台设备的时间。
3,采用认证机制来实现抗干扰和避免恶意破坏
NTP认证机制支持访问控制和MDS验证。为防止对时间服务器的恶意破坏,检查来对时的信息是否是真正来自所宣称的服务器并检查信息的返回路径,确保提供对时信息的服务器不是伪装的源,从而防止恶意或意外的干扰。
三、NTP的安全性分析
NTP的安全需求要远高于其他的分布式服务。首先,认证机制和时间同步机制的操作无法避免的缠绕。一方面可靠的时间同步要有密钥:另一方面密钥只有在指定的时间间隔上才一有效,而时间间隔只有在相关的服务器和客户端与UTC可靠的同步时才能生效。另外,NTP子网是天然分层的,因而时间和可靠流是从根部的主服务器通过二级服务器流到叶节点上的客户端。
只有当到主服务器路径上的所有服务器都是均属可信时,客户才一可以宣称从属应用是可靠的。在NTP里面,每个服务器验证次低一层服务器并可通过归纳验证最低层的服务器(主服务器)。
由可信的概念,引申出了可信联系。可信联系指的是如果服务器的证书和身份通过了校验,那么联系就是可信的。虽然如此客户与可信源同步意味着系统时钟使用了一个或几个可信联系的时间值进行重置,并且遵从NTP分洪(mitigation)算法。当证书机构签署证书请求时必须满足可信要求,而证书本身可以存储在公共目录里,并且可以在不安全的网络路径进行检索。在安全模型里,最基本的假设是网络上传输的包可能被期望的接收者以外的人截获:截获者以各种方式重构包,部分或全部重放包,然后再继续传输或者给以响应。这些包可能会使得客户认为可信或者得出错误的信息,从而使得协议操作失败、网络服务中断或者宝贵的网络和处理器资源被消耗。
对于NTP来说,入侵者的理论目标有:植入错误的时间值;破坏协议:用伪造的包来堵塞网络、服务器和客户,从而耗尽资源并否定对合法应用的服务。对于这些可能存在的入侵,NTP建立了大量的防护机制-最基本的防护机制是时戳交换机制,它先天就能防止欺骗和重播攻击。加强的时钟过滤、选择和群集算法被用于抵抗拜占庭式的恶意攻击。当没有特别的指定防御顽固入侵者时,这些算法和相应的检测很好的防止了不当的操作。尽管如此,这些机制并没有为客户安全的鉴别和验证服务器。