如何使用PTP4l测试PTPV2协议精度?

1、首先安装ptp4l的方式

http://linuxptp.sourceforge.net/

下载和安装方式请参照此网址,下载开源代码,然后使用make ,make install 手动安装

或者使用yum install ptp4l 进行安装

2、ptp4l环境搭建

使用ptp4l测试环境,需要两个机器直连或者通过交换机连接。使用一台window下虚拟机环境的Linux主机和一台实体Linux主机。

需要确保两个机器网络频段处于同一个网段,此时先不考虑多跳的事情。

需要注意的是,虚拟机中Linux主机应该采用桥连模式(需要特别注意)

如何使用PTP4l测试PTPV2协议精度?_第1张图片

3、ptp4l测试命令

刚开始使用的测试命令为:

主时钟 :“ptp4l -i ens33 -m -S ”

从时钟:“ptp4l -i ens1 -m -S -s ”

结果并没有如网上的结果一样,从时钟会卡在如图的位置

后面通过查询命令采用下面的命令可以有效避免此问题:

主时钟 :“ptp4l -2 -i ens33 -m -S ”

从时钟: “ptp4l -2 -i ens1 -m -S -s ”

我采用第二种方式的时候,发现可以正常运行。

通过在出现问题的时候,可以使用wireshark软件进行分析数据包,首先执行ptp4l -2 -i ens33 -m -S 然后再通过wireshark查看是否有PTPV2协议的数据发送。

4、ptp4l命令参数说明

ptp4l [ -A | -E | -P ] [ -2 | -4 | -6 ] [ -H | -S | -L ] [ -f config ] [ -p phc-device ] [ -s ] [ -l print-level ] [ -q ] [ -v ] [ -i interface ] ...

选项

-A 自动选择延迟机制,初始为E2E,当收到对端的delay request的时候切换到P2P.

-E 选择延迟 请求-响应机制E2E。默认机制

-P 选择对端延迟机制P2P.

-2 IEEE802.3网络传输

-4 UDP IPv4传输 默认值

-6 UDP IPv6 传输

-H 硬件打时间戳

-S 软件打时间戳

-L legacy硬件时间戳

-f config 读取配置文件

-p phc设备,硬件时间戳的设备 /dev/ptp0

-s 只作为从时钟

-l 打印级别,级别是根据syslog定义的。默认为6 LOG_INFO

-q 不打印消息到系统日志

-v 打印消息的标准输出

-i interface 确定一个ptp的端口。

-h 显示帮助信息

你可能感兴趣的:(Linux操作系统进阶之路,ptp4l,Linux)