强制使用本地GNSS作为时钟源带来的思考

news2024/11/24 22:38:23

1.背景知识在这里插入图片描述
BMCA(最佳时钟源选择算法):它是在PTP网络里面用来选择最佳时钟源的一种常见算法,它的执行过程包含一下四步:

  1. 时钟源发现:在网络中的PTP设备会交换时钟源信息。每个设备会公告自己的时钟源特性,包括时钟源标识、精度、可用性等。
  2. 选择主时钟源:每个设备根据接收到的时钟源信息进行评估和比较。BMCA算法使用时钟源标识、精度和可用性等指标来确定最佳的主时钟源。一般来说,具有更高精度和可用性的时钟源更有可能被选为主时钟源
  3. 确定备用时钟源:BMCA算法还会确定一些备用时钟源,作为主时钟源的备份。备用时钟源具有次优的精度和可用性,以应对主时钟源故障或不可用的情况
  4. 同步过程:一旦主时钟源被选定,设备将与主时钟源进行同步。PTP协议使用时间戳和精确的同步机制,使设备能够与主时钟源保持高度准确的时间同步

G.8275.1是ITU-T定义的配置文件,用于在全路径定时支持分组网络中分发高精度的时间/相位信息。G.8275.1 T-BC或T-TSC时钟使用替代的BMCA(A-BMCA)从网络中选择最佳的主母进行锁定,参考ITU-T G.8275.1标准,A-BMCA算法如上图所示。
T-BC时钟作为边界时钟位于网络边缘,具体地说,位于两个不同子网之间的边界位置。它接收来自相邻时钟的PTP消息,并在转发消息时进行时间校正,以保持准确的时间同步。T-BC时钟有助于在不同的网络段之间保持准确的时间同步,并提升PTP网络的性能和可扩展性。

T-TSC (Transparent-Time and Space Clock) 是精密时间协议(PTP)中的一种特殊类型的边界时钟。

T-TSC时钟不仅具备T-BC时钟的功能,还提供了空间位置的参考。它能够通过全球定位系统(GPS)或其他定位系统获取位置信息,并将时间同步与空间位置相关联。这使得T-TSC时钟在提供时间同步的同时,还能够提供位置参考,将时间和空间信息融合起来。

T-TSC时钟通常部署在网络的边界位置,用于跨越子网边界,并提供高精度的时间同步和空间位置参考。它在一些应用场景中特别有用,例如需要同时进行时间同步和空间位置参考的应用,如无线电频谱管理、物联网、航空航天等领域。

2.技术演进
随着客户需求的不断发展,对时间精度的要求越来越高,传统的1PPS+TOD的精度只能到微秒级别,显然这是不能够满足要求的。随着ePRTC主站的普及,越来越多的ePRTC主站被部署在客户的现网里,它们通过以太网端口连接到T-BC上。在没有PTP的网络中,ePRTC只能作为一种精确的时间源来传递时间信息,不能够实现全局的时间同步和补偿。在这种情况下,每个设备可以使用ePRTC作为本地的时间参考,但由于缺乏时间同步协议的支持,设备之间的时间可能会存在一定的漂移和不一致性。

由于缺乏时间同步机制,设备之间的时钟漂移会随着时间的推移逐渐累积,导致时间的不准确和不一致。这可能对需要协同操作、事件时间戳、数据一致性等关键应用造成问题。
ePRTC PTP主机时钟在宣布信息中使用0x20的时钟精度值,由于当地的GNSS接收器是一个具有PRTC功能的设备,当映射到路由设备实现中的虚拟tp端口时,其时钟精度为0x21。

3.特定场景
一般情况下,ePRCT在电信网络中的优先权都是高于本地GNSS时钟源的,在A-BMCA算法的选择作用下,路由设备就是会选择ePRTC来作为自己的第一时钟源,但是在一些特定场景里面,客户却并不希望我们这么做,而是要将本地的GNSS作为自己的优先时钟源。

客户产生这种需求的原因无非就是自己的现网里面的网络情况不稳定,担心如果使用remote的ePRTC的情况下,会给自己积累一些误差,让自己的精度下降,甚至达不到使用本地GNSS作为优先时钟源的情况。至于从remote ePRTC到现网的这段路径上为什么会积累这么多误差,这就是客户自己的问题了,可能是外部电磁环境干扰,设备性能相差太大造成收发包拥堵从而导致网络堵塞等问题。

4.可能的解决方案

根据ITU-T G.8275.1修正案3中的附录XV,运营商可以通过调整ePRTC设备中的clockAccuracy为0x21,以及offsetScaledLogVariance为0x4E5D来抵消一部分网络拥堵造成的ePRTC时间误差。

clockAccuracy:clockAccuracy表示时钟的精度,用于描述时钟的准确度水平。在这个建议中,clockAccuracy被设置为0x21,这是一个十六进制值。具体数值的解释和对应的精度会依赖于具体的标准和规范。一般来说,较小的数值表示更高的精度。因此,0x21可以被解释为具有较高精度的时钟源。

offsetScaledLogVariance:offsetScaledLogVariance是一个用于描述时钟的稳定性和偏差的参数。它描述了时钟的偏差和变化的程度。同样,具体数值的解释和对应的度量单位也会依赖于具体的标准和规范。在这个建议中,offsetScaledLogVariance被设置为0x4E5D,也是一个十六进制值。它表示时钟的偏差和变化程度的度量。

然后运营商的操作人员就可以看到远程ePRTC T-GM将被显示为PRTC,本地PRTC GNSS的选择将由路由设备上每项配置的本地优先权所主导。当本地的GNSS不可用的时候,它可以选择GM或者邻近设备的GNSS。

除此之外,还可以通过修改虚拟PTP口的参数来使得本地GNSS的参考时钟被显示为ePRTC的参考时钟,但是这样做可能会带来风险,这样做会欺骗下游的时钟从而是的它们在选择GM的过程中损失精度,让下游网络中的T-BC或者T-TSC时钟的优先级大于PRTC主时钟。

这三个时钟的特点读者如果不理解可以参考下表

时钟类型主要特点
PRTCPRTC级主时钟:PRTC级主时钟是PTP中最高级别的主时钟。它们通常由高精度的时间源提供时间参考,如原子钟或卫星导航系统。PRTC级主时钟在网络中起着核心时间同步的作用。
T-BCT-BC时钟是一种特殊类型的边界时钟,用于跨越边界或网络边缘的时间同步。它在网络中的位置通常位于两个不同的子网之间,作为中继节点。T-BC时钟能够转发和处理PTP消息,并提供时间同步服务。
T-TSCT-TSC时钟是一种更高级别的边界时钟,除了具备T-BC时钟的功能外,还提供时间和空间参考。它可以通过GPS或其他定位系统获取位置信息,并与时间同步相关联。T-TSC时钟在提供时间同步的同时,还能够提供空间位置的参考

5.实施方案

运营商人员在配置现网中的路由设备时,可以强制将本地GNSS时钟源作为有限时钟源,不参与冗余BMCA算法的进程,这样一来,其他PTP选择参考仍然基于A-BMCA,在虚拟PTP口(绑定了本地GNSS源的口)收发无包故障的时候,不管数据包质量水平如何,它时始终会将本地GNSS源作为优先时钟源。当然,我们在实施这个决策的时候要评估一下这个操作对下游网络的影响,如果影响过大,就不能给够强制绑定。

在上面强制将本地GNSS源绑定到虚拟PTP口以后,我们可以为每一个虚拟PTP口自定义优先级,这种方案的好处在于我们只需要修改中央BMCA的参数,而无需修改边缘网络设备里面的BMCA参数。这两种BMCA的区别如下:

BMCA类别特点使用场景
中央BMCABMCA的计算和决策过程在一个中央位置或中央实体中进行。中央实体可以是一个专用的时间服务器或网络管理系统,负责收集和分析来自各个时钟源的信息,并根据特定的算法选择和指派最佳主时钟。集中式BMCA具有全局视野和控制能力,可以基于全局信息做出更全面的决策,以确保网络中选择的主时钟具有最高的准确性和可靠性。1.集中式BMCA可能需要更多的配置和管理。2.适合大规模的网络
嵌入式BMCABMCA的计算和决策过程分布在PTP网络中的各个节点中,形成一个堆叠式的结构。每个节点都根据本地信息和接收到的PTP消息来执行BMCA算法,并选择本地主时钟。然后,通过PTP消息的传递和传播,整个网络中的节点逐步收敛到一个共识的主时钟。堆叠式嵌入式BMCA适用于分布式的网络环境,没有集中式控制的需求堆叠式嵌入式BMCA可以根据网络的变化和拓扑结构的变化动态地进行主时钟选择和适应2.适合小规模的网络

6.Accuracy TLV 可能带来的影响

Accuracy TLV是用于BMCA算法里面的一种数据格式,在TLV格式中,数据被分为三个部分:

  1. Type(类型):表示数据的类型或标识符,用于标识数据的含义和解析方式。通常使用一个固定大小的数值或者字节来表示。
  2. Length(长度):表示Value字段的长度,即数据的大小。通常使用一个固定大小的数值或者字节来表示。
  3. Value(值):实际的数据内容,根据Type字段的定义进行解析和处理。

这样的好处就是可以适应不同类型和长度的数据,并且易于扩展和解析。这使得它成为了许多通信协议和数据格式中常用的编码方式之一。

它在BMCA网络中的具体应用如下:

  1. 提供准确度衡量:Accuracy
    TLV可以包含有关时钟源的准确度度量。准确度度量可以基于特定的标准或指标,如时钟的稳定性、精度、偏差范围等。这样,BMCA可以使用Accuracy
    TLV中提供的准确度信息来评估每个时钟源的质量和准确度。

  2. 辅助主时钟选择:BMCA利用Accuracy
    TLV的准确度信息来辅助主时钟的选择过程。准确度信息可以作为决策因素之一,帮助BMCA在多个时钟源之间进行权衡和选择。具有更高准确度的时钟源可能会被优先选择为主时钟。

  3. 优先级断点(Breaker):Accuracy
    TLV可以作为一个优先级断点,在BMCA中的主时钟选择过程中发挥作用。当主时钟的准确度达到一定的阈值或要求时,BMCA可以使用Accuracy
    TLV作为断点,停止考虑其他时钟源,直接选择具有高准确度的主时钟。

我们在上文中强制使用了本地GNSS时钟源作为第一优先级时钟源梯队,这样就会削弱Accuracy TLV在BMCA算法中的作用,还会为系统引入不确定的风险,但是前提是你的本地GNSS源足够的可靠,这样以来,当remote ePRTC因为网络延迟带来较大的误差积累,强制使用本地GNSS作为时钟源就可以起到一个功大于过的作用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/661935.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

联想拯救者电脑触摸板用不了了

文章目录 问题分析解决1. 解决方法一2. 解决方法二3. 解决方法三 问题 电脑触摸板用不了了,无论使用怎样的操作均未能完成对鼠标的操作 分析 这是因为被误触了“游戏模式”,就会出现“防误触”开关 解决 1. 解决方法一 (开机输入密码前…

汽车EDI:如何与SAS建立 EDI 连接?

SAS Automotive Systems (以下简称为:SAS)是一家全球领先的汽车零部件制造商,总部位于德国。该公司专注于汽车电子技术和系统集成领域,为世界各大汽车制造商提供创新的解决方案。 EDI(电子数据交换&#x…

MFC扩展库BCGControlBar Pro v33.5亮点 - Ribbon Bar等全新升级

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。 BCGControlBar专业版 v33.5已正式发布了,此版本包含了Ribbon(功能区)自定义…

『 前端三剑客 』:CSS常用属性

文章目录 一 . CSS常用元素属性1.1 字体家族和 字体大小1.2 设置字体粗细 font-weight1.3 文字样式1.4 文字颜色1.5 文本对齐1.6 文本装饰1.7 文本缩进1.8 背景属性1.9 边框设置 二 . 元素的显示模式2.1 块级元素2.2 行内元素2.3 css 盒子模型 三 . 弹性布局3.1 开启弹性布局3.…

springboot+vue地方美食分享网站(java项目源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的地方美食分享网站。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风…

Python基础(9)——Python运算符

Python基础(9)——Python运算符 文章目录 Python基础(9)——Python运算符目标运算符的分类1. 算数运算符2. 赋值运算符3. 复合赋值运算符4. 比较运算符5. 逻辑运算符5.1 拓展 总结 目标 掌握常用运算符的作用 运算符的分类 算数…

weboffice获取外部剪切板内容解决方案

1、初始化引入sdk时,需要传入监听函数 -- getClipboardData 在移动端 APP 需要从系统剪切板获取数据时,可以使用该接口。 目前仅支持移动端表格以及文字,并且 JSSDK 版本为 v1.1.6 可以通过传入 获取系统剪切板数据函数 在文档粘贴的时候&…

「深度学习之优化算法」(四)遗传算法

1. 遗传算法简介 遗传算法(Genetic Algorithms,GA)是一种模拟自然中生物的遗传、进化以适应环境的智能算法。由于其算法流程简单,参数较少优化速度较快,效果较好,在图像处理、函数优化、信号处理、模式识别等领域有着广泛的应用。   在遗传算法(GA)中,每一个待求问题…

“鸡兔同笼”问题蕴含的数学思维、数学思想

郭靖 [摘 要]“鸡兔同笼”问题是我国古代数学里的经典问题,出自《孙子算经》,也是小学数学的拓展内容。“鸡兔同笼”问题是一类题的总述,其背后隐藏着不同的解题策略与思维。教师应剖析由“鸡兔同笼”问题延伸出来的解题思路与思考方式&…

社交电商以人为核心,流量营销矩阵该如何打造

​ 从流量运营的角度来看,社交电商和传统电商最大的区别在于,社交电商在一开始就不是以流量为核心,而是以人为核心。 具体来说,就是通过社交关系链把消费者串联起来,打造一个巨大的流量池。在这个流量池中&#xff0…

经典游戏|像素鸟

基于C#制作一个经典的像素风休闲娱乐小游戏|像素鸟。 一、项目搭建1.1、创建1.2、界面设计二、功能实现2.1、初始化游戏2.2、绘制管道2.3、地面移动2.4、控制小鸟下落的重复执行事件2.5、结语一、项目搭建 1.1、创建 打开Visual Studio,右侧选择创建新项目。 搜索框输入winf…

AI实景三维建模开放网页版,无需下载客户端,照片/视频转3D模型

近年来,随着实景中国建设进程的推进,从日常生活中道路、桥梁等基础设施的实景三维数字化,到虚拟现实、元宇宙数字展厅、虚拟数字人等互联网新基建参与方的不断增加,对现实物品进行1:1建模再映射到数字空间中的需求领域已经越来越广…

Docker部署(3)——Dockerfile文件参数

一、Dockerfile文件参数 Dockerfile 是用于构建 Docker 镜像的文件(之前的项目就是将jar包通过Dockerfile文件(D要记得大写!!),打包成一个镜像,当然后面也有一键化部署,使用插件来完成,方式有很多&…

Benewake(北醒) TF-LC02 (TTL) 雷达不使用TTL转USB转接板在Arduino Uno上的运用

目录 前言Benewake(北醒) TF-LC02产品简要说明Arduino开发板介绍Benewake(北醒) TF-LC02 接口及通讯协议说明接口定义串口协议说明通讯协议说明功能码说明 接线示意图例程说明配置软硬串口定义获取TOF数据的结构获取雷达距离数据的协议解析通过主循环发送获取距离指令&#xff…

信号AWGN噪声添加及SNR计算(matlab完整代码)

SNR(Signal-to-Noise Ratio,信噪比)是与信号质量相关的重要指标。它衡量了信号与噪声之间的相对强度,在计算 SNR之前,通常需要进行校准和对齐,以确保接收到的信号与理想信号具有相同的参考点和相位&#xf…

第三方库介绍——zlib库

文章目录 zlib1. zlib库介绍2. zlib库的应用3. 下载地址4. 函数使用教程4.1 compress 与 uncompress4.3 使用过程解析4.2 infate、deflate、z_stream 5. 交叉编译zlib库 zlib 1. zlib库介绍 zlib是一套通用的解压缩开源库,提供了内存(in-memory&#x…

SpringBoot对接kafka,批量、并发、异步获取消息,并动态、批量插入库表

SpringBoot对接kafka,批量、并发、异步获取消息,并动态、批量插入库表 更多优秀文章,请扫码关注个人微信公众号或搜索“程序猿小杨”添加。 一、背景 因业务发展需要,需要对接kafka,快速批量接收消息日志,避免消息日志累积过多&a…

客服岗位必备的在线工具:内部知识库

随着互联网的快速发展,越来越多的企业开始将客户服务转移到在线平台上,以便更好地满足客户需求。在线客服是这一趋势中的重要组成部分,它不仅能够提高客户满意度,还能够提高客户忠诚度和品牌形象。但是在进行在线客服工作时&#…

Vault从入门到精通系列之一:深入了解安全工具Vault、Vault根令牌和解封密钥,详细整理部署Vault的详细步骤

Vault从入门到精通系列之一:深入了解安全工具Vault、Vault根令牌和解封密钥,详细整理部署Vault的详细步骤 一、深入了解安全工具Vault二、Vault根令牌和解封密钥的含义和作用三、centos7上部署和启动Vault的流程四、vault下载地址五、安装vault六、启动V…

爬虫程序采集网络数据

目录 一、Xampp搭建本地网站 二、认识Html标签 三、爬虫程序范例 (一)调用模块 (二)加载需要爬虫的网址 (三)爬取内容选取 (四)爬取内容保存 (五) 完整爬…