IEEE 1588:电信网络的精确时间协议 (PTP)

IEEE 1588:电信网络的精确时间协议

  • IEEE 1588 PTP 概述
  • PTP 协议特征
  • 同步类型
  • IEEE 1588 PTP 角色
  • IEEE 1588 PTP 的工作原理
  • PTP 设备类型
  • PTP 消息类型
    • 事件消息
    • 一般信息
  • PTP 时钟类规范
  • PTP 配置文件

https://www.techplayon.com/ieee-1588-precision-time-protocol-ptp-for-telecom-networks/

IEEE 1588 PTP 概述

PTP 是一种基于网络的时间同步协议,但PTP网络并非追求毫秒级同步,而是力求实现纳秒甚至皮秒级同步。同步对于电信网络节点而言至关重要,节点可以处于自由运行、频率锁定、相位锁定、保持等状态,如下图所示。

在这里插入图片描述

PTP 协议特征

PTP标准最初于 2002 年定义。
该标准的第二个版本和当前版本于 2008 年发布,被称为“ IEEE 1588-2008 ”,即网络测量和控制系统的精密时钟同步协议 IEEE 标准
PTP 时间戳如此准确,是因为它使用硬件时间戳而不是软件,并且 PTP 设备专用于一个特殊用途:保持设备同步。
PTP网络具有更精确的时间分辨率,与NTP不同
PTP 设备实际上会对同步消息在每个设备中所花费的时间进行时间戳记,这解释了设备延迟。
它基于主从概念,从节点尝试遵循主节点的时间
它有两种口味: 1 步和 2 步

同步类型

IEEE 1588 PTP 可用于实现电信网络中以下类型的同步:

频率同步:网络中的节点具有 48 位,特别是 32 位时间以相同的速率变化,而不必关心 48/32 位值是什么。电信应用最初仅使用IEEE 1588来分配频率。
相位同步:网络中的节点不仅 48/32 位时间以相同速率变化,而且至少秒边界时间也同时发生。也就是说,当纳秒时间滚动并增加秒时间时,所有节点都会同时执行此操作。这些节点可能不一定需要知道年、月、日和小时。
时间同步: 网络中的节点不仅频率和相位同步,而且还想知道年、月、日、时、秒以及纳秒。

IEEE 1588 PTP 角色

IEEE 1588 PTP 主要设计用于以下两个主要角色来分配时间:

主节点– 主节点角色将时间分配给从节点。主节点也可以是总主节点 (GM),它从主要参考源(通常是 GPS 卫星信号)获取时间。
从属– 从属设备远离主设备并与其同步。

IEEE 1588 PTP 的工作原理

IEEE 1588 主节点定期向从属设备发送SYNC 消息。当 SYNC 消息离开主节点的物理接口时,它会在主节点中捕获运行时间戳,显示为T1 。在此处说明的 1-Step 模式中,主节点在 SYNC消息完全退出接口之前将消息中的“原始时间戳”字段设置为T1 。
从属节点接收SYNC 消息,并且其运行时间戳时钟捕获SYNC 消息开始到达其物理端口的 时间 ( T2 ) 。
尽管从节点可以使用 T2 将其时间戳时钟设置为主节点的时钟,但由于有线网络的传播延迟,这会使从节点的时钟处于不准确的状态。此外,
在开始阶段,从节点的时间戳时钟将比主节点的运行速度稍快或稍慢。下一个从节点节点将尝试将其时钟频率锁定在主节点的时钟上。在此阶段,从节点将只接收 SYNC 消息,直到它认为其时间戳时钟的变化速率与主节点的相同。
频率锁定后,从节点接下来将确定其自身与主节点之间的延迟。

在这里插入图片描述
从设备通过向主设备发送延迟请求消息来计算延迟。当消息开始从从设备的物理接口传输时,从设备的运行时间戳时钟用于捕获时间 ( T3 ),从设备在等待回复时存储此时间。
主设备接收延迟请求,并使用主设备运行的时间戳时钟捕获在其物理接口上开始接收消息的时间 (T4)。检索捕获的 T4 值后,主设备将很快向
从设备发送包含捕获的T4值的延迟响应。
从站接收DELAY RESPONSE消息并提取其中的T4值。
从设备可以计算反向延迟 ( T4-T3 )。然后,它可以调整其时间戳时钟以考虑线路延迟,至少在开始阶段是这样。经过几次迭代以确保反向延迟测量稳定后,从设备现在可以使用 ( T2-T1
) 的捕获来测量正向延迟。
最后,IEEE 1588 不是只使用反向延迟,而是在稳定状态下同时使用正向和反向路径延迟来计算线路延迟。此延迟称为平均路径延迟,计算方式为{(T4-T3) + (T2-T1)}/2。计算完成后,从设备将重新调整其时钟以与主设备的时钟保持一致,主设备现在已将线路延迟考虑在内

PTP 设备类型

在IEEE 1588系统中可以发现几种类型的时钟:
在这里插入图片描述
主时钟(MC):主时钟为下游侧共置的从属时钟提供准确的时间戳。
主时钟 (GM):主时钟是位于根时钟的主时钟,因此是时钟参考,将时间信息传输到其段的时钟。写入时间戳并响应来自其他时钟的时间请求
透明时钟 (TC):透明时钟通过 PTP 消息传递,在校正字段中添加数据包在设备中传输所花费的时间。写入校正
边界时钟 (BC):边界时钟具有多个网络连接,可作为上游从属时钟和下游主时钟。然后,它将同步从一个段桥接到另一个段。读/写时间戳
普通时钟 (OC):这是一种具有单端口连接的时钟设备,可以根据其在网络中的位置扮演主设备或从设备的角色。读/写时间戳。

PTP 消息类型

PTP 消息有两种类型,即事件消息和通用消息。事件消息是时间关键型的,而通用消息则不是。

在这里插入图片描述

事件消息

00xH Sync:主机用它来传达时间。
01xH 延迟请求: —从机将此消息发送给主机并用于测量延迟。
02xH Pdelay 请求:用于 IEEE 1588 设备之间测量传入链路的延迟。仅在使用对等延迟机制时使用。
03xH Pdelay 响应:用于 IEEE 1588 设备之间测量传入链路的延迟。仅在使用对等延迟机制时使用。

一般信息

08xH 后续:主机使用它来传达已发送 SYNC 消息的已捕获时间戳。在 2 步模式下,它用于发送较早捕获的 SYNC 消息的时间戳。
09xH 延时响应:用于主机与从机之间使用端到端延时机制测量延时,主机以此来响应从机。
0axH Pdelay 响应跟进:用于 IEEE 1588 设备之间测量传入链路的延迟。仅在使用 2 步模式的对等延迟机制时使用。
0bxH Announce:由本地时钟端口发送和接收,包含各种信息。它可用于确定从几个可能的 Master 中选出哪一个作为最佳 Master。它还可用于 Master 和 Slave 之间协商单播服务
0cxH 信令:时钟使用它来传达诸如发送消息的频率、支持单播服务而不是多播等信息。
0dxH 管理:用于管理设备和时钟之间

PTP 时钟类规范

类别越低,主时钟越好,其值可以是 0 到十进制的 255

时钟类别 6:与主参考时钟锁定
时钟等级 7: PRC 已解锁但仍符合规格
时钟类 13:锁定到应用程序特定的时间尺度
时钟类 14:从应用程序特定时间解锁,但在规范中
时钟类 52,187:主参考时钟,未锁定且不符合规格
时钟类 52、193:特定应用程序未锁定且超出规格
时钟类 248: 如果没有其他适用,则为默认值
时钟类别 255:仅从属时钟

PTP 配置文件

IEEE 1588标准以配置文件的形式提供配置选项的自定义规范。这允许其他标准组织使用IEEE 1588作为更具体的时钟同步标准的一般基础。在下面的每个配置文件部分中,列出了几个配置选项。

默认配置文件
IEEE 1588 标准包括两个默认配置文件,每个延迟测量机制一个。
延迟请求-响应配置文件(对应于端到端延迟测量)
域 0、宣布间隔 1(范围 0-4)、同步间隔 0(-1 到 1)、Delay_Req 间隔 0(0-5)、
宣布超时 3(2-10)、优先级 1 128、优先级 2 128。
路径延迟测量机制:默认为延迟请求-响应 (e2e)。还允许对等延迟
。每个通信路径仅限于一种机制。
点对点配置文件(对应于点对点延迟测量)
与上文相同,但路径延迟测量机制默认为对等延迟(
允许延迟请求-响应)。此外,Pdelay_Req 间隔 0(0-5)。
电力分布 (IEEE PC37.238)
适用于可能相距较远的变电站内和变电站之间。
传输:第 2 层,多播
域 0、宣布间隔 0、同步间隔 0、Pdelay_Req 间隔 0、宣布超时 3(对于首选大师为 2)、优先级 1 128、优先级 2 128(对于仅从属时钟为 255)。
路径延迟测量机制:仅限对等延迟(p2p)
建议一步到位
电信配置文件 (ITU G.8265.1)
传输:第 3 层,单播
域:4,宣布超时2
路径延迟测量机制:延迟请求-响应(e2e)
gPTP 默认(IEEE 802.1AS)
这实际上不是一个 1588 配置文件,但基于 IEEE 1588 的 802.1AS 与 1588 配置文件相当。
传输:第 2 层、组播(WLAN 中的单播)
Pdelay_Req 间隔 0
路径延迟测量机制:仅限对等延迟(p2p)
两步

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DataFrame

目录 一、创建DataFrame二、Sql语法三、DSL语法四、RDD与DataFrame互相转换 一、创建DataFrame 在SparkSql中SparkSession是创建DataFrame和执行Sql的入口,创建DataFrame有三种方式: 通过Spark的数据源进行创建 从一个存在的RDD进行转换 从Hive Tabl…

Redis 高并发分布式锁实战

目录 环境准备 一 . Redis 安装 二:Spring boot 项目准备 三:nginx 安装 四:Jmeter 下载和配置 案例实战 优化一:加 synchronized 锁 优化二:使用 redis 的 setnx 实现分布式锁 优化三:使用 Lua 脚本…

参数估计理论

估计理论的主要任务是在某种信号假设下,估算该信号中某个参数(比如幅度、相位、达到时间)的具体取值。 参数估计:先假定研究的问题具有某种数学模型, 如正态分布,二项分布,再用已知类别的学习样…

[vulnhub] DarkHole: 2

https://www.vulnhub.com/entry/darkhole-2,740/ 端口扫描主机发现 探测存活主机,185是靶机 # nmap -sP 192.168.75.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-08 18:02 CST Nmap scan report for 192.168.75.1 Host is up (0.…

【温度表达转化】

【温度表达转化】 C语言代码C代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 利用公式 C5∗(F−32)/9 (其中C表示摄氏温度,F表示华氏温度) 进行计算转化。 输出 输出一行&#x…

【Promise】JS 异步之宏队列与微队列

文章目录 1 原理图2 说明3 相关面试题3.1 面试题13.2 面试题23.3 面试题33.4 面试题4 1 原理图 2 说明 JS 中用来存储待执行回调函数的队列包含 2 个不同特定的队列:宏队列和微队列。宏队列:用来保存待执行的宏任务(回调),比如:定…

【Linux】Linux入门实操——vim、目录结构、远程登录、重启注销

一、Linux 概述 1. 应用领域 服务器领域 linux在服务器领域是最强的,因为它免费、开源、稳定。 嵌入式领域 它的内核最小可以达到几百KB, 可根据需求对软件剪裁,近些年在嵌入式领域得到了很大的应用。 主要应用:机顶盒、数字电视、网络…

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver(二)

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver(二) 本教程作为gdb/gdbserver编译安装教程的一个补充,教会大家如何使用gdb/gdbserver进行远程调试。 如上图所示,我们需要将编译后的gdbserver上传至目标设备,其上…

Flutter错误: uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared

前言 今天要做蓝牙通信的功能,我使用了flutter_reactive_ble这个库,但是在运行的时候发现一下错误 Launching lib/main.dart on AQM AL10 in debug mode... /Users/macbook/Desktop/test/flutter/my_app/android/app/src/debug/AndroidManifest.xml Err…

c中柔性数组

c99中,结构中最后一个元素允许是未知大小的数组,这就叫柔性数组成员。 柔性数组的特点 1.结构中柔性数组前必须至少有一个其他成员 2.sizeof返回的这种结构大小不包括柔性数组的内存 3.包含柔性数组成员的结构用malloc函数进行动态分配,并…

WPS 默认模板修改

重装系统把word自定义样式搞没了,安装office时间太长,转战wps 解决方案 打开wps 点击【新建】word空白文档 设置修改你自己的样式 点击文件–另存为–Microsoft Word 带宏的模板文件(*.dotm) 另存路径为如下: 查…

Ubuntu24.04网络异常与应对方案记录

PS: 参加过408改卷的ZJU ghsongzju.edu.cn 开启嘲讽: 你们知道408有多简单吗,操作系统真实水平自己知道就行~~ Requested credits of master in UWSC30,in ZJU24,domestic master is too simple ubuntu安全软件 在 U…

[C++11] Lambda 表达式

lambda 表达式(Lambda Expressions)作为一种匿名函数,为开发者提供了简洁、灵活的函数定义方式。相比传统的函数指针和仿函数,lambda 表达式在简化代码结构、提升代码可读性和编程效率方面表现出色。 Lambda 表达式的基本语法 在…

Docker平台搭建方法

Docker平台搭建方法 1.1在VMware中创建两个虚拟机,只需要1个网卡,连接192.168.200.0网络。 虚拟机分配2个CPU,2G内存,60G硬盘,主机名分别为server和client,IP地址分别为192.168.200.137和192.168.200.138。server节点还兼做regis…

【学习笔记】Kylin-Desktop-V10-SP1 麒麟系统知识4——设备设置

提示:学习麒麟Kylin-Desktop-V10-SP1系统设备设置相关知识,包含设备设置进入方法、配置打印机、设置鼠标、键盘相关参数(包含输入法的配置)、以及管理快捷键组合、和多屏协同相关配置 一、前期准备 成功安装麒麟系统&#xff08…

Linux应用项目之量产工具(一)——显示系统

目录 前言 项目特点及介绍 ① 简单易用 ② 软件可配置、易扩展 ③ 纯 C 语言编程 软件总框架 显示系统 1.数据结构抽象 disp_manager.h 2.Framebuffer编程 framebuffer.c 3.显示管理 disp_manager.c 4.单元测试 disp_test.c 顶层目录Makefile 顶层目录Makefil…

企微SCRM价格解析及其性价比分析

内容概要 在如今的数字化时代,企业对于客户关系管理的需求日益增长,而企微SCRM(Social Customer Relationship Management)作为一款新兴的客户管理工具,正好满足了这一需求。本文旨在为大家深入解析企微SCRM的价格体系…

leetcode92:反转链表||

给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&#xff1a;[1,4,3,2…

Python——数列1/2,2/3,3/4,···,n/(n+1)···的一般项为Xn=n/(n+1),当n—>∞时,判断数列{Xn}是否收敛

没注释的源代码 from sympy import * n symbols(n) s n/(n1) print(数列的极限为&#xff1a;,limit(s,n,oo))

多线程的创建方式以及及Thread类详解

目录 一.线程的创建方法&#xff1a;&#xff08;重点&#xff09; 一&#xff1a;继承Thread类 写法一&#xff1a;正常写法 写法二&#xff1a;匿名内部类 二.实现Runnable接口 写法一&#xff1a;正常写法 写法二&#xff1a;匿名内部类 三. 实现 Callable 接口 ​…