文档详情

[NTP协议分析.doc

发布:2017-01-07约字共13页下载文档
文本预览下载声明
NTP协议分析 一. NTP协议背景 2 二. NTP协议原理 2 2.1 NTP协议概述 2 2.2 NTP协议工作原理 5 2.3 NTP的工作模式 6 三. NTP系统体系结构 7 四. NTP应用 8 五. NTP实现方案分析 12 5.1 NTP协议客户端实现流程图 12 5.2 NTP协议客户端实现的命令行 12 5.3 NTP协议客户端实现特性、性能及对外接口 13 待补充。 13 六. 参考文档 13 NTP协议背景 随着网络的普及,许多单位都建了自己的园区网,使用的网络设备和服务器日益增多。这些设备都有自己的时钟,而且是可以调节的。但是无法保证网络中的所有设备和主机的时间是同步的,因为这些时钟每天会产生数秒、甚至数分钟的误差。经过长期运行,时间差会越来越大,这种偏差在单机中影响不太大,但在网络环境下的应用中可能会引发意想不到的问题。如在分布式计算环境中,由于每个主机时间不一致,会造成同一操作在不同主机的记录时间不一致,将导致服务无法正常地进行。随着各种网络应用的不断发展,对时间的要求也越来越高,否则会引发许多的问题。 实现计算机网络系统时间同步的方法比较多。方法一:在windows操作系统环境下可以利用局域网时间同步命令Net time来实现与服务器时间同步;方法二:利用服务器数据库系统函数(比如Mircsoft SQL Server数据库的内部时间函数Getdate(),ORACLE数据库的内部时间函数SYSDATE())获取服务器的系统时钟,客户机定时访问服务器,并返回服务器的标准时间,然后调用系统内部的API函数来校正客户机的系统时钟;方法三:依靠系统管理员手工来校正各个设备的系统时钟,来实现整个网络内各个设备系统时钟同步。由于各计算机网络系统构成越来越复杂并且服务器和工作站选用的系统软件、应用软件和数据库可能是不同厂家的产品,如果采用以上三种方法来实现系统内时间同步存在一定困难。 NTP协议原理 2.1 NTP协议概述 网络时间协议(Network Time Protocol,简称NTP)最早是由美国Delaware大学Mills教授设计实现的,它是用来使计算机时间同步化的一种协议,可以使计算机对其服务器或时钟源(如原子钟、GPS卫星等国际标准时间)做同步化,能够提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上误差几十毫秒),它由时间协议、ICMP时间戳消息及IP时间戳选项发展而来,是OSI参考模型的高层协议,它使用UTC作为时间标准,是基于无连接的IP 协议和UDP协议的应用层协议,使用层次式时间分布模型,所能取得的准确度依赖于本地时钟硬件的精确度和对设备及进程延迟的严格控制。在配置时,NTP可以利用冗余服务器和多条网络路径来获得时间的高准确性和高可靠性。实际应用中,又有确保秒级精度的简单的网络时间协议(Simple Network Time Protocol,SNTP)。NTP拥有专用源端口和目标端口123。 NTP适用于网络环境下,可以在一个无序的网络环境下提供精确和健壮的时间服务,NTP是TCP/IP标准协议族的一员,从最初的V1版本到现在的V4版本已经变的越发稳定,它定义在IEEE802.3af,支持的RFC有RFC958、RFC1119、RFC1165及RFC1305。 NTP 的设计带来了三种产品——时钟偏移、时间延迟及差量,它们都与指定参考时钟相关联。时钟偏移表示调整本地时钟与参考时钟相一致而产生的偏差数;时间延迟表示在指定时间内发送消息到达参考时钟的延时时间;差量表示了相对于参考时钟本地时钟的最大偏差错误。因为大多数主机时间服务器通过其它对等时间服务器达到同步,所以这三种产品中的每一种都有两个组成部分:其一是由对等决定的部分,这部分是相对于原始标准时间的参考来源而言;其二是由主机衡量的部分,这部分是相对于对等而言。每一部分在协议中都是独立维持的,从而可以使错误控制和子网本身的管理操作变得容易。它们不仅提供了偏移和延迟的精密测量,而且提供了明确的最大错误范围,这样用户接口不但可以决定时间,而且可以决定时间的准确度。 NTP 源于时间协议和 ICMP 时间标志消息,但其设计更强调精确度和健壮性两个方面,即使是在有多路网关、延迟差量及不可靠网络上使用时。 下图是对NTP协议报文的解析: 图1:UDP分组中的NTP信息NTP协议版本号图:P服务过程示意图 影响NTP 协议精确度最关键的原因在于由网络延迟的随机性而引起的时钟延迟计算的不准确。由于延迟不准确,所以无法依靠从时间服务器到客户机的单边传输来传递精确的时间信息。为了解决这个问题,在NTP协议中使用时间服务器和客户机之间的双向信息交换和时间戳(timestamp)的概念。图显
显示全部
相似文档