一、介绍

1:什么是ptp

PTP(Precision Time Protocol) 是一个通过网络同步时钟的一个协议。当硬件支持时,PTP 精度能达到亚微秒,比 NTP(Network Time Protocol)精度更高。

2:ptp应用场景

1)数据中心

数据中心需要NTP/PTP同步,以确保集群的时域运行。同步对于虚拟机计算是必不可少的。日志事件的时间顺序对于研究错误逻辑很重要。时间和日期对于自动备份和SQL转换回滚至关重要。弱同步使IT/IoT风险不稳定。
银行IT使用数据中心集群在需要微秒级精度的同步时域中运行。电子支付系统和信用卡操作都需要:安全和交易注册表(DB)。时间戳用于长期保存签名和数据密封。虽然精度要求仅为秒的十分之一,但对可信时间参考有着很严格的要求。带有时间戳的RFC3161证明了金融交易不可抵赖。银行IT基础架构需要强大的自动隔夜备份系统.。

2)智能电网

IEC 61850变电站和IEEE C37.238 PUM要求同步精度高于一个微秒,以保持稳健的配电管理。这强制PTP/IEEE1588在特殊的电源配置文件“或电力应用程序配置文件”中运行。PTP/IEEE1588主站需要确保同步精度优于200纳秒的服务器以太网输出。

3)自动驾驶、车路协同等边缘业务场景

自动驾驶车辆同步使用纳秒级和PTP IEEE1588配置文件AES67/IEEE 802.1AS。车辆排队是自动驾驶汽车可能采用的一系列功能的一部分。排队是一组可以非常紧密、安全和高速行驶的车辆。每辆车都能与队列中的其他车辆进行无线通信。此外,同步化对于自主人工智能驱动的车辆来说是至关重要的

3:操作系统里的 PTP

操作系统支持 PTP 被分开在 kernel 和 user space,比如 Redhat 或者 CentOS,内核支持 PTP 时钟,由网络驱动提供(硬件 PTP 依赖物理网卡提供硬件时钟),可以手动检查网卡是否支持 PTP

ethtool -T eno2

现协议是 linuxptp,PTPv2 的实现是根据 linux 的 1588v2 标准。linuxptp 软件包包含 ptp4l 和 phc2sys 两个时钟同步程序。ptp4l 程序实现了 PTP 时钟和普通时钟。通过硬件时间戳,它被用来同步物理网卡到远端主时钟的 PTP 硬件时钟。phc2sys 程序需要硬件时间戳,在网卡上(NIC)同步系统时钟到 PTP 硬件的时钟。

4:KVM virtual PTP driver

在云环境中,我们想要所有运行在云上的客户虚拟机都有和主机拥有相同精度的时钟,就需要 KVM virtual PTP driver。使用 kvm 虚拟 ptp 驱动程序,同一计算节点中的所有 VM 可以通过使用一个支持 ptp 的 NIC 作为时间源来实现相同的时间精度。

(1):网络(PTP)驱动是一个公共的支持硬件 PTP 的 linux 网络驱动(如:ixgbe.ko),使用’ethtool -T eth0’来检查硬件网络是否支持 PTP。
(2):Linuxptp 是针对 Linux 根据 IEEE 1588v2 标准实现的精准时钟协议(PTP)
(3):Linuxptp:ptp4l 实现 Boundary Clock (BC) 和 Ordinary Clock (OC),为了同步 ptp 硬件时钟(PHC)到远端主时钟。
(4):Linuxptp:phc2sys 在系统里同步两个或者更多的时钟,比如同步系统时钟到一个 PTP 硬件时钟(PHC)。
(5):系统实时时钟是系统时钟(CLOCK_REALTIME)。
(6):ptp_kvm.ko:内核模块,提供获取返回主机实时时钟的方法。允许 chrony 以高精度同步主机和客户端时钟。
(7):通过 kvm 虚拟 ptp 驱动,所有的虚拟机在同一个计算节点可以实现相同的时钟精度,通过使用一个支持 ptp 的网卡作为时间源

二、 物理机测试

1:本平台网络环境为dpdk,首先确认网卡是否支持ptp硬件时钟

网卡型号为X722,通过官网查看支持硬件时钟

2:在两台物理机都安装linuxptp软件包:

yum install linuxptp


确认安装完成

rpm -qa | grep linuxptp

3:修改master节点和slave节点的配置文件

Master节点:
修改prioprty值,值越小优先级越大。Master节点的优先级大于slave节点。
编辑配置文件

vim /etc/ptp4l.conf


Slave节点:
Priority的值默认为128,此处默认即可。

4:master节点启动ptp4l进程:

ptp4l -i eno2 -m -f /etc/ptp4l.conf


以上可知,master节点使用/dev/ptp5作为时钟源,地址为:48dc2d.ffe.0ce8af

5: slave节点启动ptp4l进程:

ptp4l -i eno2 -m -s  -f /etc/ptp4l.conf

可以看到连接地址为master的clock地址

停止master节点ptp4l进程,再启动ptp4l进程,可以看到slave节点先找本地,在连接master节点,如下:

6:slave节点同步系统时间到ptp4l应用程序同步的时钟

执行如下命令:

phc2sys -O 0 -r -m -s eno2

三、虚拟机使用物理机网卡时间作为时钟源

1:创建虚拟机,操作系统centos7.6

2:加载内核ptp_kvm

modprobe ptp_kvm
lsmod | grep kvm

3:写入配置文件,确保虚拟机重启后可以加载模块

echo "ptp_kvm" > /etc/modules-load.d/ptp_kvm.conf

4:添加ptp到chrony配置:

echo "refclock PHC /dev/ptp0 poll 3 dpoll -2" >> /etc/chrony.conf


重启chronyd服务

systemctl retstart chronyd

5:确认配置成功

chronyc sources

ptp(precision time protocol)时钟同步相关推荐

  1. ptp精准时间协议_网络时钟同步协议– NTP, PTP – 默默的点滴

    这篇文章介绍一下两个时钟同步的网络协议:NTP和PTP. 这里不涉及协议的原理和具体实现(想了解的可自行Google),重点是如何搭建起这两个服务. 1. NTP及PTP简介 NTP(Network ...

  2. CentOS网络时钟同步协议-- NTP, PTP

    这篇文章介绍一下两个时钟同步的网络协议:NTP和PTP. 这里不涉及协议的原理和具体实现(想了解的可自行Google),重点是如何搭建起这两个服务. 1. NTP及PTP简介 NTP(Network ...

  3. 向量时钟同步算法_【精品】无压缩4K超高清EFP系统中PTP精确时钟同步技术解析...

    点击标题下「广电猎酷」可快速关注 本文由<广播与电视技术>杂志独家授权.本文刊发于2020年第6期. 作者:钟辰 (中央广播电视总台,北京 100020) [摘 要] 在SMPTE-211 ...

  4. 时统ptp_无压缩4K超高清EFP系统中PTP精确时钟同步技术解析

    引言 2019年总台搭建的超高清EFP制作系统在结构上来说就是一个支持广电4K数据业务的三层IP系统网,在全IP化及无压缩标准进程中,以往视音频.辅助数据的基带SDI信号.控制信号都变成了IP数据包通 ...

  5. ptp精准时间协议_PTP精确时钟同步协议概述及应用

    PTP精确时钟同步协议的英文表述为:Precision Time Protocol:为这三个英文单词的缩写. 精确时钟同步协议PTP(Precision Time Protocol)是一种对标准以太网 ...

  6. IEEE 1588-2002 Precision Time Protocol(PTP)

    IEEE1588定义了一个在测量和控制网络中,与网络交流.本地计算和分配对象有关的精确同步时钟的协议(PTP). PTP与其他时钟同步协议(SNTP/NTP/GPS)之间的比较 . PTP是针对更稳定 ...

  7. IEEE1588精密时钟(PTP网络时钟服务器)在数字化变电站时钟同步方面的应用

    IEEE1588精密时钟(PTP网络时钟服务器)在数字化变电站时钟同步方面的应用 IEEE1588精密时钟(PTP网络时钟服务器)在数字化变电站时钟同步方面的应用 本文由安徽京准公司提供,未经授权请勿 ...

  8. SDH通信网络时钟同步服务(NTP/PTP精密网络时钟源)精度分析

    SDH通信网络时钟同步服务(NTP/PTP精密网络时钟源)精度分析 SDH通信网络时钟同步服务(NTP/PTP精密网络时钟源)精度分析 安徽京准公司提供原创资料!! 3) 从站时钟要从高一级设备或同一 ...

  9. 解密:智能化变电站中PTP时钟同步(北斗时钟服务器)

    解密:智能化变电站中PTP时钟同步(北斗时钟服务器) 解密:智能化变电站中PTP时钟同步(北斗时钟服务器) 简要:本文根据目前授时技术和市场形势,介绍北斗授时钟终端的工作原理.北斗授时机的应用途径和特 ...

最新文章

  1. php url模式在哪修改,如何在nginx环境中启用php的pathinfo URL模式[修正]
  2. devops_最低可行DevOps
  3. GDCM:MD5的测试程序
  4. swift date 计算差_[Swift 设计模式] 适配器
  5. python3 获取当前日期_python3获取日期
  6. (转)知乎-区块链技术:如何赋能供应链创新
  7. 征途私服门:一个程序员和一个黑客群的故事
  8. google chrome 同步书签 查看gmail邮箱 谷歌浏览器同步助手
  9. 域名带www和不带的区别
  10. 积分,积分兑换,英语怎么说?
  11. Playwright-新一代自动化工具 > 酱紫写爬虫?
  12. 热力夏季运动会java,夏季运动会作文(精选8篇)
  13. SAP CRM BOL entity deletion - root node and sub node
  14. 论字母导航的重要性,我们来实现一个联系人字母导航列表吧!
  15. 中国大学慕课——程序设计与算法(一)第三周测验
  16. 2020 - 2021 年 Web 前端最新导航 - 前端学习资源分享前端面试资源汇总
  17. 当CNN遇见Transformer!华为诺亚提出CMT:新视觉Backbone
  18. ue4 材质始终面向摄像机
  19. 【Redis】用windows客户端连接服务器上的Redis
  20. 超低功耗蓝牙模块的常用工作模式

热门文章

  1. java at 短信_让老手机变成短信平台-AT指令的应用
  2. 建议大家在入职前背调公司,现在公司坑很多,腾出来的社招岗位多数是前人留下的坑!...
  3. java actioncontext_struts2中ActionContext是什么东东
  4. ubuntu16.04设置应用程序桌面快捷方式(QQ为例)
  5. 详细的渗透思路(转Mr-xn)
  6. flutter 加载框
  7. CentOS7搭建GateOne,实现WebSSH
  8. DNS服务器工作方式
  9. 002 ps的窗口菜单
  10. input输入框使用正则限制为数字、英文及中文,微软自带输入法输入问题