ptpd2的使用

功能介绍

ptpd2是实现了ptp协议的一个用于本地局域网内的多台设备间的时间戳同步的工具。
为什么要做时间戳同步?

  • 需要测试一个大包从开始发送到完成接收时,延时的时间
  • 问题在于发送开始是发送端才能感知的,接收结束是接收端感知的,
  • 这就需要发送端和接收端的时间戳同步
  • 当然如果发送方每个包都不存在排队的情况,即每个包发送的时间和对端接收的时间几乎相等,那也可以不考虑时间戳同步

编译

项目源码:https://github.com/ptpd/ptpd
安装说明查看根目录下的INSTALL文件即可,如果是交叉编译需要指定交叉编译工具链的位置和host类型,比如:

./configure CC=/opt/tuya/rts3903/toolchain/rsdk-4.8.5-5281-EL-3.10-u0.9.33-m32fut-161202/bin/mips-linux-uclibc-gcc --host=mips

编译完成后在src目录下会生成一个ptpd2的文件

使用

需要在多台设备上同时运行ptpd2,而且关闭本地的网络时间同步功能。多台设备间会选举出一个master设备,其他设备同步master设备上的时间戳
运行命令:

./ptpd2 -C -m -i 网卡

效果如下:
master

# ./ptpd2 -C -m -i enp0s9
2019-11-05 15:51:27.209776 ptpd2[28013].startup (notice)    (___) PTPd version 2.3.2 starting
2019-11-05 15:51:27.210028 ptpd2[28013].startup (info)      (___) Starting ptpd2 daemon with parameters:      ./ptpd2 -C -m -i enp0s9
2019-11-05 15:51:27.210137 ptpd2[28013].startup (info)      (___) Checking configuration
2019-11-05 15:51:27.211055 ptpd2[28013].startup (info)      (___) Configuration OK
2019-11-05 15:51:27.211625 ptpd2[28013].startup (info)      (___) Successfully acquired lock on /var/run/ptpd2.lock
2019-11-05 15:51:27.211830 ptpd2[28013].startup (notice)    (___) PTPd started successfully on enp0s9 using "masterslave" preset (PID 28013)
2019-11-05 15:51:27.211901 ptpd2[28013].startup (info)      (___) TimingService.PTP0: PTP service init
2019-11-05 15:51:27.212993 ptpd2[28013].enp0s9 (info)      (init) Observed_drift loaded from kernel: 0
尽管当前提供的引用并未涉及 `ptpd2` 的相关内容,以下是基于专业知识整理的有关 `ptpd2` 安装教程的信息。 ### PTPD2 简介 PTPD2 是 Precision Time Protocol (PTP) 协议的一个实现版本,主要用于网络时间同步。它遵循 IEEE 1588 标准,能够提供亚微秒级的时间精度[^3]。 ### Linux 平台下的安装方法 #### 方法一:通过包管理器安装 许多现代 Linux 发行版提供了预编译好的 `ptpd2` 软件包,可以通过系统的包管理工具直接安装。 对于 Debian 及其衍生发行版(如 Ubuntu),可以运行以下命令完成安装: ```bash sudo apt update && sudo apt install ptpd2 ``` 对于 Red Hat 和 CentOS 用户,则可尝试使用 `yum` 或者 `dnf` 命令来获取并安装软件包: ```bash sudo yum install ptpd2 ``` 或者 ```bash sudo dnf install ptpd2 ``` #### 方法二:从源码构建 如果官方仓库未包含最新版本或特定功能需求无法满足时,可以从项目官方网站下载最新的源代码自行编译安装。 1. **准备依赖环境** 需要先确认系统已安装必要的开发工具链以及库文件。例如,在基于 Debian 的系统上执行如下操作即可准备好所需的基础组件: ```bash sudo apt-get install build-essential cmake git autoconf automake libtool pkg-config ``` 2. **克隆 Git 仓库** 使用 Git 将远程存储库复制到本地机器以便进一步处理: ```bash git clone https://github.com/ptpd/ptpd.git cd ptpd ``` 3. **配置与编译** 运行脚本来初始化子模块,并按照指示设置选项后启动实际的构建流程: ```bash ./bootstrap.sh ./configure --prefix=/usr/local make ``` 4. **最终部署** 当所有步骤顺利完成之后就可以把生成的目标程序安置至指定位置了: ```bash sudo make install ``` ### Windows 下的安装指南 目前原生支持有限,推荐借助虚拟机或者 WSL 来运行上述过程中的任意一种方案;当然也有第三方移植版本可供选用,具体取决于应用场景和个人偏好决定采用哪条路径更为合适一些[^4]。 ###
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值