时间同步需求
当今企业园区网络中很多场景都需要所有设备保持时钟一致:
- 网络管理:对从不同路由器采集来的日志信息、调试信息进行分析时,需要以时间作为参照依据。
- 计费系统:要求所有设备的时钟保持一致。
- 多个系统协同处理同一个复杂事件:为保证正确的执行顺序,多个系统必须参考同一时钟。
- 备份服务器和客户机之间进行增量备份:要求备份服务器和所有客户机之间的时钟同步。
- 系统时间:某些应用程序需要知道用户登录系统的时间以及文件修改的时间。
NTP简介
如果采用管理员手工输入命令修改系统时间来进行时间同步,不但工作量巨大,而且也不能保证适中的精确性。为此可以使用NTP(Network Time Protocol)技术来同步设备的时钟。
网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议。NTP用于在一系列分布式时间服务器与客户端之间同步时钟。NTP的实现基于IP和UDP。NTP报文通过UDP传输,端口号是123。
目前主流的网络设备,如:AC(Access Controller,无线控制器)、AP(Access Point,接入点)、Firewall、Router、Switch、Server等基本都作为NTP的客户端,同时其中部分还可以作为NTP服务器端。
NTP网络结构
主时间服务器:通过线缆或无线电直接同步到标准参考时钟,标准参考时钟通常是Radio Clock或卫星定位系统等。
二级时间服务器:通过网络中的主时间服务器或者其他二级服务器取得同步。二级时间服务器通过NTP将时间信息传送到局域网内部的其它主机。
层数(stratum):层数是对时钟同步情况的一个分级标准,代表了一个时钟的精确度,取值范围1~15,数值越小,精确度越高。1表示时钟精确度最高,15表示未同步。
NTP的同步流程
- R1发送一个NTP报文给R2,该报文中带有它离开R1时的时间戳10:00:00a.m.(T1)。
- 此NTP报文到达R2时,R2加上到达时间戳11:00:01a.m.(T2)。
- 此NTP报文离开R2时,R2再加上离开时间戳11:00:02a.m.(T3)。
- R1接收到该响应报文时,加上新的时间戳10:00:03a.m.(T4)。至此,RouterA获得了足够信息来计算以下两个重要参数:
- NTP报文来回一个周期的时延:Delay= ( T4 - T1 ) - ( T3 – T2 )。
- R1相对R2的时间差:Offset= ( ( T2- T1 ) + ( T3 – T4 ) ) / 2。
- R1根据计算得到Delay为2秒,Offset为1小时。R1根据这些信息来设定自己的时钟,实现与R2的时钟同步。