资讯

展开

LinuxPTP时什么 利用LinuxPTP进行时间同步(软/硬件时间戳)

作者:快盘下载 人气:156

PTP的一些名词

PTP域中的节点称为时钟节点;PTP协议定义了以下三种类型的基本时钟节点;
OC;Ordinary Clock;普通时钟;;只有一个PTP通信端口的时钟是普通时钟。
BC;Boundary Clock;边界时钟;;有一个以上PTP通信端口的时钟。
TC;Transparentclock;透明时钟;;与BC/OC相比;BC/OC需要与其它时钟节点保持时间同步;而TC则不与其它时钟节点保持时间同步。TC有多个PTP端口;但它只在这些端口间转发PTP协议报文并对其进行转发延时校正;而不会通过任何一个端口同步时间。TC包括以下两种类型;
E2ETC;End-to-End TransparentClock;端到端透明时钟;;直接转发网络中非P2P;Peer-to-Peer;点到点;类型的协议报文;并参与计算整条链路的延时。
P2PTC;Peer-to-PeerTransparent Clock;点到点透明时钟;;只直接转发Sync报文、Follow_Up报文和Announce报文;而终结其它PTP协议报文;并参与计算整条链路上每一段链路的延时。
一般链式的P2P网络选择E2E-TC;而从钟节点较多的网络考虑P2P-TC。因在 P2P 延时测量机制中;延时报文交互是在每条链路的两个端口间进行的;主钟只与直接相连的网络交换设备有延时报文交互;因此在 P2P TC 的延时测量机制中;没有对从钟数量的限制。
主时钟;一个PTP通信子网中只能有一个主时钟。
 

2、硬件支持

查看网卡是否支持软硬件时间戳;
sudo ethtool -T eno1

LinuxPTP时什么 利用LinuxPTP进行时间同步(软/硬件时间戳)

软件时间戳需要包括参数
SOF_TIMESTAMPING_SOFTWARE
SOF_TIMESTAMPING_TX_SOFTWARE
SOF_TIMESTAMPING_RX_SOFTWARE

硬件时间戳需要包括参数
SOF_TIMESTAMPING_RAW_HARDWARE
SOF_TIMESTAMPING_TX_HARDWARE
SOF_TIMESTAMPING_RX_HARDWARE

3、LinuxPTP源码下载

sudo git
clone git://git.code.sf.net/p/linuxptp/code linuxptp
  • cd linuxptp
  • sudo make
  • sudo make install

     查看Usage;ptp4l -h

    4、run linuxptp

    • 4.1 软件时间戳;主从模式测试

    服务端;主钟;;sudo ptp4l -i enp0s31f6 -m -S (网卡名按照对应连接的实际网卡名进行修改)

    客户端;从钟;;sudo ptp4l -i eno1 -m -S -s  (网卡名按照对应连接的实际网卡名进行修改)


    运行结果;
    主钟;

    时间同步

    从钟;

    LinuxPTP

    运行一会儿以后;

    LinuxPTP

    log中的内容为;

    master offset : 即PTP协议中定义的主从端时间差;单位;ns
    s0;s1;s2 : 表示时钟伺服器的不同状态;s0表示未锁定;s1表示正在同步;s2表示锁定;锁定状态表示不会再发生阶跃行同步;只是缓慢调整
    freq:


    port 0:INITIALIZING to LISTENING on INIT_COMPLET :    本地PTP管理的Unix域socket;
    port 1:new foreign … : eno1上的端口;实际主从同步端口;


    从钟端口状态由UNCALIBRATED 变为SLAVE时;则从钟已经成功地与best master同步。若将主时钟端服务退出;则从时钟端会选择本地时钟作为best master。 

    • 4.2 硬件时间戳测试


    服务端;主钟;;sudo ptp4l -i enp0s31f6 -m -H

    客户端;从钟;;sudo ptp4l -i eno1 -m -H -s

    运行结果;
    从钟;

    LinuxPTP

    显然用硬件时间戳同步的精度高得多。

    • 4.3 透明时钟;TC;模式测试;有问题;

    TC和BC都需要及其至少有两个interface;
    执行命令;sudo ptp4l -i eno1 -m -H -t

    提示无效的选项;

    LinuxPTP

    usage里分明写着 -t 是transparent clock 啊
    sudo vim ptp4l.8
    嗯;-f -i -m -p -l -i -A -E -P -2 -4 -6 -H -S -L -q -v -h
    ??就是没有-t;不懂了

    • 强行TC/BC;需要设备有俩网卡;一个卡绑从钟一个卡绑定主钟;来实现TC/BC。
    • 最近开发时遇到的USRP的U L O问题;

      LinuxPTP

     

     

    转自;https://blog.csdn.net/BUPTOctopus/article/details/86246335

     

     

     

     

     

    加载全部内容

    相关教程
  • 无人机防御系统与时间同步系统的兼
  • MySQL InnoDB存储索引详解
  • 猜你喜欢
      用户评论
      快盘暂不提供评论功能!