精确时间协议(ptp)是用于在网络中进行时钟同步的协议。当与硬件支持结合使用时, ptp 能够达到亚微秒的精度,这远好于通常使用的 ntp 。 ptp 支持分为内核空间和用户空间。该协议的实际实现称为linuxptp,它是 ptpv2 根据 linux 的 ieee 标准 1588 实现的。所述linuxptp包包括ptp4l和phc2sys用于时钟同步的程序。该ptp4l程序实现了 ptp 边界时钟和普通时钟。硬件时间戳用于将 ptp 硬件时钟与主时钟同步,软件时间戳用于将系统时钟与主时钟同步。
认识ptp
同步的时钟按 ptp 按照主从层次结构组织。从站与它们的主站同步,而主站可能是他们自己的主站的从站。层次结构由最佳主时钟( bmc ) 算法自动创建和更新,该算法在每个时钟上运行。当一个时钟仅具有一个端口,它可以是主或从属,这样的时钟被称为普通时钟(oc)。具有多个端口的时钟可以在一个端口上作为主时钟,在另一个端口上作为从时钟,这样的时钟称为边界时钟 ( bc )。顶级master被称为grandmaster 时钟,可以使用全球定位系统( gps ) 时间源进行同步。通过使用基于 gps 的时间源,可以高度准确地同步不同的网络。
ptp的优势
ptp 与网络时间协议( ntp ) 相比的主要优势之一是各种网络接口控制器( nic ) 和网络交换机中需要硬件时间戳支持。这种专用硬件可以 ptp 解决消息传输中的延迟,并大大提高时间同步的准确性。虽然可以在网络中使用不支持 ptp 的硬件设备(如不支持ptp的交换机),但这通常会导致抖动增加或在延迟中引入不对称性,从而导致同步不准确。为获得尽可能高的准确性,建议将所有网络设备之间的 ptp 时钟的 ptp 硬件是启用的。并非所有网络硬件都支持 ptp 。大型网络中的时间同步可能更适合 ntp。在硬件 ptp 支持下,nic 拥有自己的板载时钟,用于为接收和传输的 ptp 消息添加时间戳。正是这个板载时钟与 ptp 主机同步,计算机的系统时钟 ptp 与网卡上的硬件时钟同步。在软件 ptp 支持下,系统时钟用于对 ptp 消息打时间戳,并直接与主站同步。硬件 ptp 支持提供了更高的准确性,因为 nic 可以在ptp 数据包发送和接收的确切时刻标记数据包,而软件 ptp 支持需要 ptp 操作系统对数据包进行额外处理。
实践1-检查硬件时间戳
为了使用 ptp ,网络接口的内核网络驱动程序必须支持软件或硬件时间戳功能。除了驱动程序中存在的硬件时间戳支持之外,nic 还必须能够在物理硬件中支持此功能。验证特定驱动程序和 nic 的时间戳功能的最佳方法是使用ethtool查询接口,如下所示:
~]# ethtool -t eth3time stamping parameters for eth3:capabilities: hardware-transmit (sof_timestamping_tx_hardware) software-transmit (sof_timestamping_tx_software) hardware-receive (sof_timestamping_rx_hardware) software-receive (sof_timestamping_rx_software) software-system-clock (sof_timestamping_software) hardware-raw-clock (sof_timestamping_raw_hardware)ptp hardware clock: 0hardware transmit timestamp modes: off (hwtstamp_tx_off) on (hwtstamp_tx_on)hardware receive filter modes: none (hwtstamp_filter_none) all (hwtstamp_filter_all)
其中eth3是您要检查的接口。对于软件时间戳支持,参数列表应包括:
sof_timestamping_software sof_timestamping_tx_software sof_timestamping_rx_software
对于硬件时间戳支持,参数列表应包括:
sof_timestamping_raw_hardware sof_timestamping_tx_hardware sof_timestamping_rx_hardware
实践2-安装linuxptp
yum安装
sudo yum install linuxptp
apt-get安装
sudo apt-get install linuxptp
git安装
sudo git clone git://git.code.sf.net/p/linuxptp/code linuxptp cd linuxptp sudo make sudo make install
测试:
~]# ptp4l -h usage: ptp4l [options] delay mechanism -a auto, starting with e2e -e e2e, delay request-response (default) -p p2p, peer delay mechanism 。..
实践3-运行程序
硬件时间戳,主从模式测试主时钟:
sudo ptp4l -i enp0s31f6 -m –h
从时钟:
sudo ptp4l -i eno1 -m -h –s
运行结果,从钟:
主偏移值是以纳秒为单位测量的主偏移。的 s0 , s1 , s2 串表示不同的时钟伺服状态:s0 被解锁,s1 是时钟步骤和 s2 被锁定。一旦伺服处于锁定状态( s2 ),除非 pi_offset_const 在配置文件中将该选项设置为正值,否则时钟将不会步进(仅缓慢调整)。该 freq 值是时钟的频率调整,以十亿分之一 (ppb) 为单位。路径延迟值是从主站发送的同步消息的估计延迟(以纳秒为单位)。端口 0 是用于本地 ptp 管理的 unix 域套接字。端口 1 是 eth3 接口。 initializing、listening、uncalibrated 和 slave 是一些可能的端口状态,它们会在 initialize、rs_slave、master_clock_selected 事件上发生变化。在最后一个状态更改消息中,端口状态从uncalibrated 更改为 slave,表明与 ptp 主时钟成功同步。
在新的工业 4.0 理念正在改变技术格局的世界中,提出了更高的时间同步要求。虹科 & elproma 提供世界领先的时间同步解决方案。elproma(1992年起)提供先进的ntp ptp / ieee1588时间服务器,用来确保从时钟高度稳定和准确。
高可用性支持(ha)
两路冗余天线
便捷式型号可选
mtbf 391000 小时
支持ntp/ptp/irig/1pps+tod
电信,电力等多行业ptp标准支持
超声波雾化器怎么使用_超声波雾化器有什么作用
通信通道映射和保护与zecurion流量控制模块
RX65N RSK和 AWS之间的通信设置
消息称马自达将目标转向高端市场 全新马自达CX-5搭配六缸发动机
电动汽车5种错误的、最伤车的充电方式
Linux ptp4l程序实现PTP边界时钟和普通时钟
dv试验和pv试验的内容及区别
施密特:谷歌的五大原则
Digi推出一体化3G蜂窝路由器,该路由器具备Wi-Fi、全
NVIDIA推出全球最强PC级GPU 可提供110TFLOP深度学习运算
百度Apollo汽车智能化解决方案频获行业认可
Genesis计划明年推出两款EV进军电动汽车市场
区块链将会加强监管吗
继电保护整定计算实例_10kv继电保护整定计算详解
为什么5G需要网络切片,将带来全新的运营模式
新形势:以巨头为主导的带屏智能音箱市场
如何寻找时序路径的起点与终点
一颗怎样的芯片让高通颤抖,让苹果不能平静的喘息
高通推出首款基于新的WiGig标准802.11ay的60GHz WiFi解决方案
Si整流器与SiC二极管的性能特点及应用比较