|
PTP时钟和NTP时钟同步有什么区别 PTP时钟 理论上任何PTP时钟都能实现主时钟和从时钟的功能,但一个PTP通信子网内只能有一个主时钟。整个系统中的最优时钟为最高级时钟GMC(Grandmaster Clock),有着最好的稳定性、精确性、确定性等。根据各节点上时钟的精度和级别以及UTC(通用协调时间)的可追溯性等 特性,由最佳主时钟算法(Best MasterClock)来自动选择各子网内的主时钟;在只有一个子网的系统中,主时钟就是最高级时钟GMC。每个系统只有一个GMC,且每个子网内只有一个主时钟,从时钟与主时钟保持时钟同步。 下图所示的是一个典型的主时钟、从时钟关系示意图: PTP时钟同步的基本原理包括时间发出和接收时间信息的记录,并且对每一条信息增加一个“时间戳”。有了时间记录,接收端就可以计算出自己在网络中的时钟误差和延时。 PTP域的节点设备按照一定的主从关系(Master-Slave)进行时钟同步。主从关系是相对而言的,同步时钟的节点设备称为从节点,发布时 钟的节点设备称为主节点,一台设备可能同时从上层节点设备同步时钟,然后向下层节点设备发布时钟。对于相互同步的一对时钟节点来说, 存在如下主从关系: 发布 同步时间的节点称为主节点,而接收同步时间的节点则称为从节点。 主节点上的时钟称为主时钟,而从节点上的时钟则称为从时钟。 发布同步时间的端口称为主端口,而接收同步时间的端口则称为从端口。 应用了PTP协议的网络称为PTP域,网络中可能含有多个PTP域,PTP域是独立PTP时钟同步系统,一个PTP域内有且只有一个时钟源,域内的所有设备都与该时钟源保持同步。 IEEE1588标准所定义的精确网络同步协议实现了网络中的高度同步,使得在分配控制工作时无需再进行专门的同步通信,从而达到了通信时间模式与应用程序执行时间模式分开的效果。 由于高精度的同步工作,使以太网技术所固有的数据传输时间波动降低到可以接受的,不影响控制精度的范围。 NTP时钟 网络时间协议(NTP)以合适的算法以增强时钟的准确性,并且减轻多个由于同步源而产生的差错,实现了准确性低于毫秒的时间服务,以满足目前因特网中路径量测的需要。通常让局域网上的若干台主机通过因特网与其他的NTP主机同步时钟,接着再向局域网内其他客户端提供时间同步服务。 在配置时,NTP可以利用冗余服务器和多条网络路径来获得时间的高准确性和高可靠性。实际应用中,又有确保秒级精度的简单的网络时间协议。NTP服务器可以使计算机时间同步化的一种协议,其同步时钟源不仅仅局限于网络的时间服务器,还包括时钟设备,如石英钟,原子钟, GPS接收器等。 NTP是网络时间协议(NetworkTime Protocol),它是用来同步网络中各个计算机的时间的协议。在计算机的世界里,时间非常地重要,例如 对于火箭发射这种科研活动,对时间的统一性和准确性要求就非常地高,是按照A这台计算机的时间,还是按照B这台计算机的时间?NTP就是用 来解决这个问题的,NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机 的 时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。以上为广义的对PTP和NTP的 说明,下面主要说明PTP时钟和NTP时钟的关联性特点。
文档结构: 1、时钟相关基本概念 2、1588时钟同步原理 3、同步以太时钟同步原理 4、GPS时钟同步原理 5、混合时钟同步原理 5.1 1588+SyncE同步原理 5.2 GPS+SyncE同步原理 补充GPS同步相关信息。 对于5G NR的应用部署来说,基本通信业务对时钟的需求+-1.5us的精度。{Why?指标是怎么来的?感觉2个方面,一是CA,二是覆盖,根据CP计算的么?} NR当前支持GPS和1588v2同步。新建推荐GPS同步易部署,可慢慢向1588过渡。对成本敏感推荐GPS+1588v2,对安全敏感推荐双层1588v2. 在GULNR场景下,支持GUL和NR独立时钟源和共时钟源。
1 时钟相关基本概念和原理 1.1 什么是时钟 时钟就是产生时间信号的设备。时钟信号包含频率、周期、抖动、漂移等参考指标。 1.2 同步与异步 现代数字通讯是数字信息从发送器向接受器传送的过程。那么接收器如何对接收到的数据进行采样和恢复原始数据,影响这种协调的方式有异步和同步两种。 【异步】 接受器通过判断数据的起始位和停止位,实现有效数据的接收,是一种短时间的同步。数据流不连续,使用的方式消耗了发送端和接收端速率的差异。 【同步】 发送器和接受器具有相同的时钟信号,在同步的前提下对数据进行批量传输,提高了数据传输的效率。 1.3 同步的分类 【频率同步】 指两个信号的变化频率相同或者保持固定的比例。信号的相位可以不一致,频率也可以不一致。 【时间同步】 时间信号是带有年月日时分秒时间信息的时钟信号。目前时间信息业界使用UTC(Universal Time Coordinated)时间信息。UTC时间是世界标准时间。 时间同步又称时刻同步,是绝对时间的同步。全网时间和UTC时间保持一致。e.g. B和A同步,CD不同步。 时间同步又称为相位同步(Phase Time)指时钟信号与理想信号在对应的有效瞬间(一般指上升沿或下降沿)的延迟时间,简称为“相位”。相位也就是时延。 【总结】 时间同步:绝对时间的同步; 频率同步:相对时间恒定的同步。 1.4 1PPS秒脉冲 PPS:pulse per second,秒脉冲。1PPS = 1Hz = 1次/秒。 顾名思义,就是一秒钟一个脉冲信号,用来指示整秒时刻,该时刻通常由秒脉冲的上升沿来标示。秒脉冲精度可达到ns级别,并且没有累积误差。 1.5 晶振和DA 石英晶体又称为石英晶体谐振器,就是简称的晶振。当外加交变电压的频率与石英片固有频率(取决于晶片的尺寸)相等时,机械振动的幅度将急剧增加,这种现象称为压电谐振。时钟算法通过对频偏值计算出一个DA值,通过DAC输出相应的电压控制晶振频率。时钟软锁方案中,就是通过调整DA的方式来调整相位的。 根据时钟源不同,基本原理也略有不同。时钟源分GPS、1588和SYNCETH,这里暂时只记录1588和SyncE。 2 1588同步原理 2.1 基本概念 IEEE1588最初由IEEE提出,用于支持工业自动化领域的精确时间同步,基本功能是实现分布式网络内的时钟同步,随着协议的发展,2008年发布了1588V2,提出了profile的概念:从协议中选择一些或者几个特定的特性来用于某个特定场合或场景,而不仅是工业自动化领域。 2.1.1 1588V2设备时钟模式 (1)普通时钟(OC:Ordinary Clock) 在同步架构中,普通时钟可以做master也可以做slave。 master向网络发送基准时钟,slave从网络接收基准时钟。 (2)边界时钟(BC:Boundary Clock) 边界时钟有2个或2个以上端口,一个作slave,用于跟上级master同步,一个做master,用于给下级slave提供定时。 (3)透传时钟(TC:Transparent Clock) 同时提供多个时钟端口,透传时钟信号,TC上不部署业务,本地时钟不同步,提供时钟传输延迟补偿。透传时钟又分: (a)End-to-end透传时钟(E2E TC):透明传输时钟信息。但是在透传节点上,把透传节点内的传输时延加以补偿修正。 (b)Peer-to-peer透传时钟(P2P TC):跟End-to-end透传时钟的区别在于时间戳处理的不同。 2.2 同步原理 1588通过master和slave之间收发IP报文(携带时间戳)来进行同步的。分频率同步和时间同步。 2.2.1 频率同步 1588V2的频率同步是通过Master和Slave之间的Sync报文来实现频率同步。Master周期性给Slave发送Sync报文,如果不考虑传输链路的时延变化,在相同的时间间隔内,Master和Slave累积的时间偏差如果相同,那么他们就是同步的。如果不同,根据偏差调整Slave的频率。 2.2.2 时间同步 1588V2的时间同步是通过Master和Slave之间多次交互报文(携带时间戳)实现的。 原理如下图所示,很简单,假设Master和Slave之间的传输时延是对称的,那么Slave与Master之间的时间偏差就是((t2-t1)-(t4-t3))/2 Slave就根据这个时间偏差,来调节自身的时间以达到和Master同步的效果。 从1588V2同步的上述原理可以看出,该同步技术需要建立在Master和Slave之间收发链路的时延对称基础上的,如果不对称,则将引入同步误差。误差=不对称时延/2。如果不对称时延是固定的,还可以通过补偿的方式进行修正。 3 SyncE同步原理 3.1 基本概念 同步以太和传统SDH同步类似,是一种基于物理层码流携带和恢复频率信息的同步技术。通过以太网线路的物理层芯片从串行数据码流中恢复出发送端的时钟,然后通过以太网把频率向下游网络传递,使得时钟频率可以通过以太网传送。时钟的质量等级信息可以在以太网上通过专门的SSM帧进行传送。 同步以太优势: (1)比GPS施工、安全的成本低; (2)可以应用于现有以太网,摆脱对GPS的依赖。 劣势: 只有频率同步,没有时间同步。在需要时间同步的应用场景下,需要结合其他同步技术一起使用。 3.1.1 以太网PHY PHY是物理接口收发器,它实现了七层网络协议的物理层。 PHY的工作过程是:PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据流而不管什么地址,数据还是CRC),每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则(10Based-T 的NRZ编码或100Based-T的曼彻斯特编码)把数据编码,再变为模拟信号把数据送出去。收数据时反之。 3.1.2 SSM帧 用于时钟选择算法,暂不介绍了,有兴趣自己搜着看吧。 3.2 同步基本原理 同步以太技术从以太网线路的串行码流里提取时钟,通过选源算法后,送给设备系统时钟锁相环跟踪产生系统时钟,然后通过系统时钟把该端口的线路时钟作为其他同步以太端口的发送参考时钟,在发送的串行码流中发送出去。 4 GPS同步原理 4.1 GPS概述 目前的卫星导航系统主要有美国的全球定位系统( GPS)、俄罗斯的格洛纳斯(GLONASS)、欧洲的伽利略卫星定位系统(Galileo)、中国的北斗卫星导航系统(COMPASS),被使用较多的是美国的GPS系统。系统分三部分组成: (1)太空卫星部分:N颗卫星组成,分不同轨道运行。每个卫星均持续发射有卫星轨道和时间信息的无线电波,供地球上的接收机设备来接收。 (2)地面管制部分:跟踪和控制上述卫星运转的监控控制点。 (3)接收机部分:可以接收所有GPS卫星信号,并实时地计算接收机所在位置的坐标、移动速度及时间。 4.2 GPS接收机 现在GPS接收机一般都是12通道,可以同时接收12颗卫星。 GPS信号接收需要在开阔可见天空的地方。并且受大气气体、云、雨、雾等衰减损耗。因此有时候天气不好卫星信号也不好。 强电磁信号也可能干扰GPS信号。 4.3 GPS原子时 传统GPS信号由3部分组成:数据码(导航电文)、测距码(C/A码)和载波(L1和L2)。GPS接收机的作用就是接收来自GPS的卫星信号,输出UTC时间和1pps,其中UTC时间就是年月日时分秒的时间信息,而它的起始点就是1pps秒脉冲的上升沿。接收设备就可以通过这2个信息进行精确的时间+频率同步。 不同GNSS系统中采用的时间系统不同,详细信息网上可以搜到。 4.4 GPS同步方案 小站直接在DU处理,1pps送给FPGA鉴相,时钟软件得到鉴相数据后,计算频偏调整晶振,以达到时钟同步。 宏站通过主控和星卡板,CI互连获得UTC时间和1pps,处理如上。 5 混合时钟同步原理 2~4章介绍了三种同步技术: 1588同步对网络要求比较高,网络时延会引入误差。在频率同步上SyncE相对更稳定,但是SyncE又没有时间同步。因此部分场景下会考虑混合时钟源的方式进行部署。 5.1 1588+SyncE同步原理 (1)频率同步:PHY恢复SyncE时钟源,送给锁相环进行硬锁,同时生成122.88MHz工作钟送给业务用; (2)时间同步:软件解析1588报文,获取时间戳信息,再与1PPS拉齐1588相位。 然后频率和相位都锁定拉齐后的1PPS。 异常场景: 如果SyncE时钟源出现问题,1588正常,就会切回1588锁频和锁相,也就是简称的软锁方案。 如果1588异常,SyncE正常,相位会跟踪异常的1588时钟源,最终可能出现很大的相偏。 如果1588丢失,SyncE正常,因为SyncE的1PPS相位已经和1588拉齐,1588的相位信息一直存在,所以锁相环状态会一直处于锁定。 5.2 GPS+SyncE同步原理 (暂无)
一、NTP 基本原理
NTP 实现过程如图所示。RouterA 和 RouterB 通过广域网 WAN(Wide Area Network)相连,它们都有自己独立的系统时钟,通过 NTP 实现系统时钟自动同步。
作如下假设: · 在 RouterA 和 RouterB 的系统时钟同步之前, RouterA 的时钟设定为 10:00:00a.m., RouterB的时钟设定为 11:00:00a.m.。
· RouterB 作为 NTP 时间服务器, RouterA 的时钟要与 RouterB 的时钟进行同步。
· 报文在 RouterA 和 RouterB 之间单向传输需要 1 秒。
· RouterA 和 RouterB 处理 NTP 报文的时间都是 1 秒。 NTP 实现图 系统时钟的同步流程如下所示:
1. RouterA 发送一个 NTP 报文给 RouterB,该报文中带有它离开 RouterA 时的时间戳10:00:00a.m.(T1)。
2. 此 NTP 报文到达 RouterB 时, RouterB 加上到达时间戳 11:00:01a.m.(T2)。
3. 此 NTP 报文离开 RouterB 时, RouterB 再加上离开时间戳 11:00:02a.m.(T3)。
4. RouterA 接收到该响应报文时,加上新的时间戳 10:00:03a.m.(T4)。至此, RouterA 获得了足够信息来计算以下两个重要参数:
· NTP 报文来回一个周期的时延:Delay= ( T4 - T1 ) - ( T3 – T2 )。
· RouterA 相对 RouterB 的时间差:Offset= ( ( T2- T1 ) + ( T3 – T4 ) ) / 2。
5. RouterA 根据计算得到 Delay 为 2 秒, Offset 为 1 小时。RouterA 根据这些信息来设定自己的时钟,实现与 RouterB 的时钟同步。
说明:
以上是 NTP 工作原理的简略描述, RFC1305 为 NTP 定义了复杂的算法来确保时钟同步的精确性。 二、网络结构
NTP 的目的是:在一个同步子网中,主时间服务器通过 NTP 协议将时间信息传递到其他二级时间服务器,即同步二级时间服务器与主时间服务器的时钟。
这些服务器按层级关系连接,每一级称为一个层数(stratum),如:主时间服务器为 stratum 1,二级时间服务器为 stratum 2,以此类推。时钟层数越大,准确性越低。 在 NTP 的网络结构中,主要存在如下概念:
· 同步子网:如图所示,由主时间服务器、二级时间服务器、客户端和它们之间互连的传输路径组成同步子网。
· 主时间服务器:通过线缆或无线电直接同步到标准参考时钟,标准参考时钟通常是 RadioClock 或卫星定位系统等。
· 二级时间服务器:通过网络中的主时间服务器或者其他二级服务器取得同步。二级时间服务器通过 NTP 将时间信息传送到局域网内部的其它主机。
· 层数(stratum):层数是对时钟同步情况的一个分级标准,代表了一个时钟的精确度,取值范围 1~16,数值越小,精确度越高。1 表示时钟准确度最高, 16 表示未同步。
NTP 网络结构 在正常情况下,同步子网中的主时间服务器和二级时间服务器呈现出一种分层主从结构。在这种分层结构中,主时间服务器位于根部,二级时间服务器向叶子节点靠近,层数递增,准确性递减,降低的程度取决于网络路径和本地时钟的稳定性。 说明:
当同步子网中存在多台主服务器时,可通过算法来选择最优的服务器。 如此设计的目的是:
· 当一台或多台主/二级时间服务器或它们之间的网络路径发生故障时,同步子网的主从分层结构将自动发生重构以获得最精确和最可靠的时间。
· 当同步子网中正常使用的主时间服务器都失效,备用的主时间服务器将继续运行。
当子网中所有的主时间服务器都失效时,其它二级时间服务器将在它们内部达到同步。此时,这些二级时间服务器将脱离同步子网,自动运行在它们最后一次确定的时间和频率。由于这些计算精度很高,所以当一台具有比较稳定的振荡器的路由器长时间脱离子网时,它的计时误差可以保持在一天不大于几毫秒。
三、NTP 的工作模式
设备可以采用多种 NTP 工作模式进行时间同步:
· 单播服务器/客户端模式
· 对等体模式
· 广播模式
· 组播模式
· 多播模式 用户可以根据需要选择合适的工作模式。在不能确定服务器或对等体 IP 地址、网络中需要同步的设备数量很多等情况下,可以通过广播或组播模式实现时钟同步;服务器和对等体模式中,设备从指定的服务器或对等体获得时钟同步,增加了时钟的可靠性。 单播服务器/客户端模式 单播服务器/客户端模式运行在同步子网中层数较高层上。这种模式下,需要预先知道服务器的IP 地址。
· 客户端:运行在客户模式的主机(简称客户端)定期向服务器端发送报文,报文中的 Mode字段设置为 3(客户模式)。当客户端接收到应答报文时,客户端会进行时钟过滤和选择,并同步到时钟优选的服务器。客户端不管服务器端是否可达及服务器端的层数。运行在这种模式的主机,通常是网络内部的工作站,它可以依照对方的时钟进行同步,但不会修改对方的时钟。
· 服务器:运行在服务器模式(简称服务器)的主机接收并回应报文,报文中的 Mode 字段设置为 4(服务器模式)。运行在服务器模式的主机,通常是网络内部的时间服务器,它可以向客户端提供同步信息,但不会修改自己的时钟。
单播客户端/服务器模式 运行在客户模式的主机在重新启动时和重新启动后定期向运行在服务器模式的主机发送 NTP 报文。服务器收到客户端的报文后,首先将报文的目的 IP 地址和目的端口号分别与其源 IP 地址和源端口号相交换,再填写所需的信息,然后把报文发送给客户端。服务器在客户端发送请求之间无需保留任何状态信息,客户端根据本地情况自由管理发送报文的时间间隔。 对等体模式
对等体模式运行在同步子网中层数较低处。这种模式下,主动对等体和被动对等体可以互相同步,等级低(层数大)的对等体向等级高(层数小)的对等体同步。
对等体模式下,主动对等体会发起 Mode 字段为 3(客户端模式) NTP 报文,由被动对等体响应4(服务器模式)的 NTP 报文。这一交互过程主要是为了获得网络延迟,使两端设备进入对等体模式。
· 主动对等体:运行在这一模式下的主机定期发送报文,报文中的 Mode 字段设置为 1(主动对等体)。不考虑它的对等体是否可达以及对等体的层数。运行在这一模式下的主机可以向对方提供同步信息,也可以依照对方的时间信息同步本地时钟。
· 被动对等体:运行在这一模式的主机接收并回应报文,报文中的 Mode 字段设置为 2(被动对等体)。运行在被动对等体模式的主机可以向对方提供同步信息, 也可以依照对方的时间信息同步本地时钟。
说明:
被动对等体不需要用户配置,只有当本机收到 NTP 报文时才建立连接及相关的状态变量。 广播模式
广播模式应用在有多台工作站、不需要很高的准确度的高速网络。典型的情况是网络中的一台或多台时间服务器定期向工作站发送广播报文,广播报文在毫秒级的延迟基础上确定时间。
· 广播服务器:运行在广播模式下,周期性向广播地址 255.255.255.255 发送时钟同步报文,报文中的 Mode 字段设置为 5(广播模式)。不管它的对等体是否可达或层数为多少。运行在广播模式的主机通常是网络内运行高速广播介质的时间服务器,向所有对等体提供同步信息,但不会修改自己的时钟。
· 广播客户端:客户端侦听来自服务器的时钟同步报文。当接收到第一个时钟同步报文,客户端与服务器交互 Mode 字段为 3(客户模式)和 4(服务器模式)的 NTP 报文,即客户端先启用一个短暂的服务器/客户端模式与远程服务器交换消息,以获得客户端与服务器间的网络延迟。之后恢复广播模式,继续侦听时钟同步报文的到来,根据到来的时钟同步报文对本地时钟再次进行同步。
组播模式
组播模式适用于有大量客户端分布在网络中的情况。通过在网络中使用 NTP 组播模式, NTP 服务器发送的组播消息包可以到达网络中所有的客户端,从而降低由于 NTP 报文过多而给网络造成的压力。
· 组播服务器:服务器端周期性向组播地址发送时钟同步报文,报文中的 Mode 字段设置为 5(组播模式)。运行在组播模式的主机通常是网络内运行高速广播介质的时间服务器,向所有对等体提供同步信息,但不会修改自己的时钟。
· 组播客户端:客户端侦听来自服务器的组播消息包。当客户端接收到第一个组播报文后,客户端与服务器交互 Mode 字段为 3(客户模式)和 4(服务器模式)的 NTP 报文,即客户端先启用一个短暂的服务器/客户端模式与远程服务器交换消息,以获得客户端与服务器间的网络延迟。之后,客户端恢复组播模式,继续侦听组播消息包的到来,根据到来的组播消息包对本地时钟进行同步。
多播模式
多播模式适用于服务器分布分散的网络中。客户端可以发现与之最近的多播服务器,并进行同步。多播模式适用于服务器不稳定的组网环境中,服务器的变动不会导致整网中的客户端重新进行配置。
· 多播客户端:多播模式下的客户端周期性地向 IPv4/IPv6 组播地址发送请求报文(Mode 字段设置为 3)。当客户端接收到应答报文时,客户端会进行时钟过滤和选择,并同步到时钟优选的服务器。
· 多播服务器:多播服务器持续监听报文。若某个服务器可以被同步,则服务器将使用客户端的单播地址返回报文(Mode 字段设置为 4)。
为了防止多播模式下,客户端不断的向多播服务器发送 NTP 请求报文增加设备的负担,协议规定了最小连接数的概念。多播模式下,客户端每次和服务器时钟同步后,都会记录下此次同步过中建立的连接数,将调用最少连接的数量被称为最小连接数。以后当客户端调动的连接数达到了最小连接数且完成了同步,客户端就认为同步完成;同步完成后每过一个超时周期,客户端都会传送一个报文,用于保持连接。 同时,为了防止客户端无法同步到服务器,协议规定客户端每发送一个 NTP 报文,都会将报文的生存时间 TTL(Time To Live)进行累加(初始为 1),直到达到最小连接数,或者 TTL 值达到上限(上限值为 255)。若 TTL 达到上限,或者达到最小连接数,而客户端调动的连接数仍不能完成同步过程,则客户端将停止一个超时周期的数据传输以清除所有连接,然后重复上述过程。 说明:
在 NTP 模块实现中,对每一个同步源都建立了一个 PEER 结构,并把这些 PEER 结构以 Hash 的形式存储成链状。每一个 PEER 结构对应于一个连接。单台设备支持的连接数最多为 128。当连接数超过 128 时,将无法建立新的连接。 四、NTP 访问控制
当同步子网中的一台时间服务器发生意外或遭到恶意攻击时,通常不应该导致子网中其它时间服务器的计时错误。因此, NTP 还提供了如下安全机制:访问权限、 KOD 和 NTP 认证功能。这样就对网络的安全性提供了保障。
|