www.
任敏
E-mail:
摘要:在电信网络中,由于分时段费率的存在和多运营商的出现,导致网间的计费不一致,从而造成话单损失和客户流失。采用各电信设备的时间同步可减小这些隐患,因此研究NTP协议在电信网络中的应用有重要意义。本文在时间同步基本概念的基础上,研究网络时间协议的原理等,并结合课题探讨时间同步在电信网络实际中的应用。 关键词:时间同步网络 网络时间协议 NTP
中图分类号:TP393
1.引言
由于电信网络的日益扩大,电信设备的数量和种类都在快速增加,电信设备之间的系统时间很难精确地
保持一致,但是当前对用户的服务质量来说,这是非常重要的方面。虽然不会影响对用户计费的准确性,但是因为相关局(特别是长途局和关口局)话单时间基准点的不同,这样就可能造成重叠话单和话单时间不准等一系列情况的出现,从而容易引起计费纠纷,引发用户投诉,导致客户的流失。同时在多个电信运行商共存的今天,相互之间的结算必须非常准确,为了确保服务质量,实现向用户提供优质网络服务的承诺,必须尽量减少话单的差错,保证电信网络系统时间的准确。
现阶段,采取人工修正时间的方法,维护人员对电信设备时间逐个进行修改,由于受人的反应能力和命令相应时间等条件的限制,人工修改时间的误差较大,不能很好使各电信设备的时间同步。所以将通信网上各种通信设备的时间信息基于UTC(协调世界时)时间偏差限定在标准时差范围之内,进行网上设备的时间同步已经被提到首要的地位。电信网络时钟同步始终被运营商关注和研究。 本论文结合我所参加的项目中关于电信网络交换机时钟同步这一功能,对NTP时间同步在电信网络中的应用加以阐述。
2 .时间同步介绍
2.1NTP协议介绍
网络时间协议Network Time Protocol(NTP)是用来在整个网络内发布精确时间的TCP / IP 协议,其
本身的传输基于UDP,保留端口号123。一般让局域网上的若干台主机通过因特网与其他的NTP主机同步时钟,接着再向局域网内其他客户端提供时间同步服务。或者局域网内其他客户端与局域网内时钟精确的主机建立时钟同步。
由于电信网自身无法提供UTC,需要建立时间同步网络,各网元设备或应用系统通过这个网络获得UTC并与UTC进行时间同步。对电信网上的各种时间设备进行UTC时间同步,必须解决以下3个方面的问题:
1)尽量选取高精度的时间源;
2)将高精度的时间传送到时间设备,尽量减小传输误差;
3)用绝对时间来同步设备时间,充分利用设备各自的时间校准机制自动实现时间同步,
尽量排除人工因素。
2.2网络时间服务的实现方式
NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。NTP 获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。这样就有了准确而可靠的时间源。
网络时间服务的实现方式主要有以下三种方式:
1)无线时钟。服务器系统可以通过串口连接一个无线时钟。无线时钟接收GPS(全球卫 星定位系统)的卫星发射的信号来决定当前时间。无线时钟是一个非常精确的时间源,但是需要花一定的费用。
2)时间服务器。可以使用网络中NTP时间服务器,通过这个服务器来同步网络中的系统
的时钟。is.udel.edu/~mills/ntp/servers.html列出了Internet上有效的一级
时间服务器。
3)局域网内的同步。如果只是需要在本局域网内进行系统间的时钟同步,就可以使用局
域网中任何一个系统的时钟。需要选择局域网中的一个节点的时钟作“权威的”的时
间源,然后其它的节点就只需要与这个时间源进行时间同步即可。如果一个系统在一
个局域网的内部,同时又不能使用无线时钟,这种方式是最好的选择。
本论文的网络时间服务实现方式为局域网内的同步。一台服务器可以选择局域网内的多台主机为时间源。
图1NTP网络时间服务的层次结构
如图1,时间按NTP服务器的等级传播。按照离外部UTC源的远近将所有服务器归入不同的Stratum(层)中。Stratum-1在顶层,有外部UTC接入,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础。计算机主机一般同多个时间服务器连接, 利用统计学的算法过滤来自不同服务器的时间,以选择最佳的路径和来源来校正主机时间。即使主机在长时间无法与某一时间服务器相联系的情况下,NTP服务依然有效运转。为防止对时间服务器的恶意破坏,NTP使用了识别(Authentication)机制,检查来对时的信息是否是真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制。
2.3 NTP的工作模式
NTP工作模式主要有以下三种:
1)Sever/Client mode。用户向一个或几个服务器提出服务请求,根据所交换的信息,从中
选择认为最准确的时间,并调整本地的时钟。
2)Multicast/Broadcast mode。此种模式是适用于用在高速的LAN上。利用一个或多个服
务器在固定的周期向某个多播地址做广播。
3)Symmetric mode。二个以上的Server互相进行时间消息的通讯,可以互相校正对方的
时间,以维持整个子网的时间一致性。
本论文所选课题中,NTP工作在Sever/Client模式下。
3.1NTP时间戳
与因特网标准一致, NTP数据被指定为整数或定点小数,位从左边0位或者高位计数。如下图2所示,NTP把时间戳表示为64 bits unsigned定点数,以秒的形式从1900年1月1日的00:00:00算起。整数部分在前32位里,后32bits(seconds Fraction)用以表示秒以下的部分。在Seconds Fraction 部分,无意义的低位设置为0。它代表的精度是大约是200 picoseconds(百亿分之一秒)。
图2 NTP时间戳格式
从1968年起,最高有效位(整数部分的0 bit位) 已经被确定,64 位比特字段在2036 年将溢出。如果NTP在2036 年还在使用的话,一些外部方法将有必要用来调整与1900年及2036 年有关的时间(136 年的其它倍数也一样)。从今以后每136 年,就会有200 picoseconds的间隔,会被忽略掉,64个比特字段将全部置为0 ,按照惯列它将被解释为一个无效的或者不可获得的时间戳[1]。
3.2 NTP 报文格式
NTP是用户数据报协议(UDP)的客户端,而UDP自己是网际协议(IP)的客户端。UDP的端口是123,UDP头中的源端口和目的端口都是一样的。
NTP报文格式紧跟在IP和UDP报头之后。NTP消息的格式被显示如图3。
图3 NTP报文格式
对每个字段的功能进行简要说明:
1.闰秒标识器(LI):这是一个二位码,预报当天最近的分钟里要被插入或删除的闰秒秒数。用
1/0表示,分别说明如下图4。
内外牙LI Value含义
00 0 无预告
01 1 最近一分钟有61秒
10 2 最近一分钟有59秒
11 3 警告状态(时钟未同步)
图4 闰秒识别器说明
2.版本号(VN):这是一个三bits的整数,表示NTP的版本号,现在为3。
3.模式(mode):这是一个三bits的整数,表示模式,定义如图5。
mode含义
0 保留
1 对称性激活
2 被动的对称性
3 客户端
4 服务器
5 广播网约车管理系统
6 为NTP控制性能保留
7 为自用保留
图5 模式说明
在点对点模式下,客户端机在请求中设置此字段为3,服务器在回答时设置此字段为4;在
4.stratum(层):这是一个8 bits的整数(无符号),表示本地时钟层次水平,数值定义如图6。
Stratum含义
0 未指定或难以获得
1 主要参考(如无线电时钟)cao20
2-15 第二参考(通过NTP)
16-255保留
图6 stratum的说明
5.测试间隔(Poll):八位signed integer,表示连续信息之间的最大间隔,精确到秒的平方级。
本字段的值从4(16s)到14(16284s)。然而,大多数应用使用6(64s)到10(1024s)。
6.精度(Precision):八位signed integer,表示本地时钟精度,精确到秒的平方级。值从-6(主
平)到-20(微妙级时钟)。
7.根时延(Root Delay):32位带符号定点小数,表示在主参考源之间往返的总共时延,以小数
位后15~16bits。数值根据相关的时间与频率可正可负,从负的几毫秒到正的几百毫秒。8.根离散(Root Dispersion):32位带符号定点小数,表示在主参考源有关的名义错误,以小数
位后15~16bits。范围:0~几百毫秒。
9.参考时钟标识符(Reference Identifier):32bits,用来标识特殊的参考源。在stratum 0(未指
光固化剂定)或stratum 1(基本参考)的情况下,该字段以四个八位字节,左对齐,零填充的string 表示。当没有NTP枚举时,使用下列ASCII标识符,如图7。
代码含义
阶
层
1 pps 精度校准源,如ATOM(原子钟),PPS为每秒脉冲精度源。
地下水净化设备1 service 除一般的NTP报时服务外,例如ACTS(计算机自动化报时服务),TIME(UDP/Time协议),
TSP(Unix 报时服务协议),DTSS. (数字化时间同步服务)
1 radio 一般的收音机服务,例如CHU, DCF77, MSF, TDF,等
1 nav 无线电导航系统,例如OMEG(欧米加导航系统), LORC(远距离无线电导航系统),等等
1 satellite 一般的卫星业务,例如GOES(地球同步轨道环境卫星),GPS(全球卫星定位服务),等等
2 address 二级参考(4个八位二进制字节表示的NTP服务器因特网地址)
图7 参考时钟标识符说明
10.参考时间戳(Reference Timestamp):64bits时间戳,本地时钟被修改的最新时间。
11. 原始时间戳(Originate Timestamp):客户端发送的时间,64bits。
12. 接受时间戳(Receive Timestamp):服务端接受到的时间,64bits。
13. 传送时间戳(Transmit Timestamp):服务端送出应答的时间,64bits。
14. 认证符(可选项)(Key Identifier (optional)):当NTP的认证机制已运行后,这个字段包含认证者的信息。在NTP中本字段一般被来报输入消息所忽略,也不用在输出消息中[2] [3]。
衣架制作3.3往返传播延迟d(delay)和本地时钟补偿t(offset)的测量原理
通过图8和图9来说明传播延迟和本地时钟补偿的测量原理