您的位置:首页 > 编程语言 > PHP开发

ptpd 守护程序

2020-02-12 18:23 543 查看

转载:https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_71/com.ibm.aix.cmds4/ptpd.htm

ptpd 守护程序

用途

启动精确时间协议 (1588-2008) 守护程序 (ptpd)。

语法

/usr/sbin/ptpd [ -? ] [ -h ] [ -H ] [ -e setting ] [ -k ] [ -v ] [ -O ] [ -L ] [ -A ] [ -s ] [ -m ] [ -M ] [ -y ] [ -E ] [ -P ] [ -a ] [ -n ] [ -C ] [ -V ] [ -c file ] [ -R dir ] [ -f file ] [ -S file ] [ -ddomain_number ] [ -u IP_address ] [ -r number ] [ -l file ] [ -i dev ]

描述

ptpd 守护程序将实现按 IEEE 1588-2008 标准定义的精确时间协议 (PTP) V2。PTP 对通过 LAN 连接的计算机提供精确时间协调。您必须在具备 root 用户权限的情况下运行此守护程序,才能处理系统时钟和使用较小的端口号。ptpd 守护程序支持 IPv4 多点广播、单点广播、混合方式(混合)和以太网方式操作。即使在没有硬件辅助的情况下,ptpd 守护程序也可以实现并保持亚微秒级别的计时精度。

使用 /etc/ptpd2.conf 配置文件(缺省文件)来配置 ptpd 守护程序。短标志 (-x) 和长标志 (--xxxxx) 对守护程序操作提供基本控制,并且仅提供基本 PTP 协议设置。可以使用 -h、-H 和 -e 标志来显示其他设置。

可以从系统资源控制器 (SRC) 或者从命令行来启动 ptpd 守护程序。

请使用下列 SRC 命令来处理 ptpd 守护程序:

startsrc

启动子系统、子系统组或子服务器。

stopsrc

停止子系统、子系统组或子服务器。

refresh

使子系统或者一组子系统再次读取适当的配置文件。

lssrc

获取子系统、子系统组或子服务器的状态。

注:

ptpd 守护程序不支持与网络时间协议 (NTP) 和简单网络管理协议 (SNMP) 相关的功能。

ptpd 守护程序使用下列术语:

从属设备

运行 ptpd 守护程序的系统,它接受来自主控设备的命令,并使其系统时间同步,以与相关联的辅助时钟时间相匹配。

主控设备

绑定至边界时钟的设备,它使时间与同一网络上的一个或多个 PTP 从属设备同步。

超级主控设备

具有由“最佳主控时钟”算法提供的最佳时钟的主控设备。它将同步所有其他主控设备(又称为边界时钟),这又会更新和同步所有相关联的从属设备。超级主控时钟又称为最佳主控时钟或最佳时钟。

标志

短标志 长标志 描述
-a --delay-override 覆盖由处于从属状态的主控设备声明的延迟请求时间间隔。此标志将 ptpengine 属性设置为下列设置:
[code]ptpengine:log_delayreq_override
-A --auto-lock 使用预先设置或者特定于端口方式的锁文件名。当您运行 ptpd 守护程序的多个实例时,此标志很有用。
-c file --config-file file 指定配置文件的路径。
-C --foreground 指定要在前台运行的命令。此标志按如下所示设置 global 属性:
[code]global:foreground=Y
注:

如果是从 SRC 启动 ptpd 守护程序,那么会忽略此选项。

-d domain_number --domain domain_number 指定要成为其一部分的 PTP 域号。此标志按如下所示设置 ptpengine 属性:
[code]ptpengine:domain
-D [DD] --debug 指定调试级别。此标志按如下所示设置 global 属性:
[code]global:debug_level
您可以指定多个实例以增加调试级别信息。例如,-D 选项将指定最小调试信息。-DD 选项指定详细调试信息。-DDD 选项指定最大调试信息。
-e setting --explain setting 显示单个设置的帮助信息。此标志按如下所示设置 section 属性:
[code]section:key
-E --e2e 指定端到端延迟检测。此标志按如下所示设置 ptpengine 属性:
[code]ptpengine:delay_mechanism=E2E
-f file --log-file file 指定日志文件的路径。此标志按如下所示设置 global 属性:
[code]global:logfile
-h --help 显示帮助屏幕。
-H --long-help 显示所有设置和行为的详细帮助。
-i dev --interface dev 指定要用于 ptpd 实现的接口。例如,en0。此标志按如下所示设置 ptpengine 属性:
[code]ptpengine:interface
-k --check-config 检查 PTP 配置并退出。如果配置正确,那么将返回 0。
-l file --lockfile file 指定锁文件的路径。此标志按如下所示设置 global 属性:
[code]global:lock_file
-L --ignore-lock 跳过检查,并锁定锁文件。此标志按如下所示设置 global 属性:
[code]global:ignore_lock
-m --masterslave 指定完整 IEEE 1588 实现:主控和从属(当不是超级主控(最佳主控)时)。此标志按如下所示设置ptpengine 属性:
[code]ptpengine:preset=masterslave
-M --masteronly 指定“仅主控”模式:被动(当不是最佳 GM 时)。此标志按如下所示设置 ptpengine 属性:
[code]ptpengine:preset=masteronly
-n --clock:no_adjust 指定不调整时钟。此标志按如下所示设置 clock 属性:
[code]clock:no_adjust
-O --default-config 显示缺省配置并退出。可以将输出用作配置文件。
-p --print-lockfile 显示锁文件的路径并退出。此标志对于 init 脚本与自动锁文件组合使用很有用。
-P --p2p 指定对等延迟检测。此标志按如下所示设置 ptpengine 属性:
[code]ptpengine:delay_mechanism=P2P
-r number --delay-interval number 指定延迟请求消息(日志 2)的时间间隔。此标志按如下所示设置 ptpengine 属性:
[code]ptpengine:log_delayreq_interval
-R dir --lock-directory dir 指定用于存储锁文件的目录。此标志按如下所示设置 global 属性:
[code]global:lock_directory
-S file --statistics-file file 指定统计信息文件的路径。此标志按如下所示设置 global 属性:
[code]global:statistics_file
-s --slaveonly 开启“仅从属”模式。此标志按如下所示设置 ptpengine 属性:
[code]ptpengine:preset=slaveonly
-u --unicast 指定单点广播模式(无单点广播协商),并将所有消息发送至 IP。此标志按如下所示设置 ptpengine属性:
[code]ptpengine:ip_mode=unicast + ptpengine:unicast_address
-v --version 显示版本字符串并退出。
-V --verbose 指定要在前台运行的命令,并将所有消息记录到标准输出。此标志按如下所示设置 global 属性:
[code]global:verbose_foreground=Y
注:

如果是从 SRC 启动 ptpd 守护程序,那么会忽略此选项。

-y --hybrid 指定混合模式:混合多点广播和单点广播操作。多点广播用于同步和声明,单点广播用于延迟请求和响应。此标志按如下所示设置 ptpengine 属性:
[code]ptpengine:ip_mode=hybrid

PTP 守护程序端口状态

ptpd 端口可以具有下列状态:

状态 描述
init 正在初始化
flt 存在错误
lstn_init 正在侦听(首次)
lstn_reset 正在侦听(后续重置)
pass 被动(不是最佳主控,未声明)
uncl 未校准
slv 从属
pmst 预主控
mst 主控(活动)
dsbl 已禁用
? (unk) 未知状态

统计信息日志文件格式

当您启用 ptpd 统计信息日志时,下列选项可用:

ptpengine:log_statistics

更新所接收到的每个 PTP 包的登录信息。

ptpengine:statistics_file

指定统计信息日志文件的位置路径。注:

此选项启用统计信息收集。

如果启用了统计信息记录,那么在接收到同步和延迟响应消息时,ptpd 从属设备将记录时钟同步信息。当 ptpd 守护程序启动或者清空日志时,会记录一个注释行(以 # 开头),其中包含所有列的名称。日志文件采用逗号分隔值 (CSV) 格式,可以轻松将其导入到统计信息工具和电子表格软件包,以进行分析和创建图形。当您在较长持续时间内运行 ptpd 守护程序,并且具有高消息速率时,日志文件的大小将增大。因此,为了减少所记录的消息数,可以使用 global:statistics_log_interval 设置来将日志输出限制为在所配置的每个时间间隔内仅生成一条消息。还可以控制统计信息日志文件的大小和最大数目。

统计信息日志文件中各列的描述如下:

时间戳记

接收到消息的时间。日期和时间信息表示为文本、UNIX 时间戳记(具有小数秒)或者表示为这两种形式(在这种情况下,添加了额外字段),视global:statistics_timestamp_format 设置而定。当您将日志文件导入到绘图软件时,如果该软件能够了解 UNIX 时间,那么将时间戳记格式设置为 unix 或者both,因为某些软件在转换文本中的日期和时间时不会解释秒的小数部分。

状态

端口的状态。有关各种端口状态的更多信息,请参阅 PTP 守护程序端口状态

时钟标识

按 IEEE 1588 标准定义的当前最佳主控时钟的端口标识。如果本地时钟是最佳主控时钟,那么此标识是本地时钟的标识。此参数显示为 clock_id 或 port(主机)。端口是 PTP 时钟端口号,而不是用户数据报协议 (UDP) 端口号。时钟标识是一个 64 位的扩展唯一标识 (EUI)-64 标识,它从 48 位 MAC 地址转换而来,即,在 MAC 地址的中部插入 0xfffe 而得到时钟标识。

单向延迟

单向延迟(或者平均路径延迟)的当前值(秒),由处于从属状态的 ptpd 守护程序从延迟请求和延迟响应消息交换来计算。注:

如果此值保持为零,那么意味着未接收到延迟响应消息,这可能是由于存在网络问题所导致。

主控设备中的偏移

主控设备中的当前偏移值(秒)。它是处于从属状态的 PTP 引擎的主要输出。此值是时钟伺服算法中用于时钟校正的输入。通常在评估从属设备的性能时测量此值。

从属到主控

从延迟请求和延迟响应消息交换中抽取的中间偏移值(秒)。此值用于计算单向延迟。如果过滤器拒绝了最后一个值,那么前一个值会显示在日志文件中。如果未接收到延迟响应消息,那么此值为零 (0)。

主控到从属

从同步消息中抽取的中间偏移值(秒)。此值用于计算主控设备中的偏移值。如果过滤器拒绝了最后一个值,那么前一个值会显示在日志文件中。

观察到的漂移

从属时钟与主控时钟之间的频差,由时钟控制比例积分 (PI) 伺服模型的积分累加器来测量。当时钟偏移值稳定时,此值便稳定,此值用来检测时钟的稳定性。

接收到的最后一个包

此字段显示最后接收到的消息。对于同步消息,它将显示 S;对于延迟响应消息,它将显示 D。如果从属设备未记录任何 D 条目,那么意味着从属设备由于存在网络问题而未接收到延迟响应消息。

单向延迟平均值

针对最后的采样时间段计算的单向延迟平均值。

单向延迟标准差

针对最后的采样时间段计算的单向延迟标准差。

与主控设备平均值的偏移

针对最后的采样时间段计算的与主控设备平均值的偏移。

与主控设备标准差的偏移

针对最后的采样时间段计算的与主控设备标准差的偏移。

观察到的漂移平均值

针对最后的采样时间段计算的观察到的漂移或本地时钟频率调整平均值。

观察到的漂移标准差

针对最后的采样时间段计算的观察到的漂移或本地时钟频率调整标准差。较小值表明不主动控制时钟。因此,值更稳定。

注:

仅当使用 --enable-statistics 标志创建了 ptpd 守护程序时,才会计算和显示所有统计度量值(平均值和标准差)。使用global:statistics_update_interval 设置来控制采样周期的持续时间。

处理信号

ptpd 守护程序将处理下列信号:

项目 描述
SIGHUP 重新装入配置文件(如果守护程序使用了配置文件),并重新打开日志文件。SRC 的 refresh 子命令将执行相同任务。
SIGUSR1 当子系统处于从属状态时,ptpd 守护程序将强制时钟从主控设备值步入当前偏移值。
SIGUSR2 将所有 PTP 协议计数器转储到当前日志目标(如果设置了 ptpengine:sigusr2_clears_counters 属性,那么将清除计数器)。
SIGINT|SIGTERM 关闭日志文件和其他打开的文件。它还会清除锁文件并退出。
SIGKILL 强制退出,而不进行清理。

退出状态

退出时,ptpd 守护程序在成功时(以守护程序方式成功启动或者清理之后退出)返回 0。当使用 -k (--check-config) 选项并且配置正确时,也会返回值 0。在发生错误时,会返回非零退出代码。如果非 root 用户启动了 ptpd 守护程序,那么会返回值 127。在锁文件发生错误以及 ptpd 守护程序无法作为守护程序启动时,会返回值 3。在守护程序已启动的情况下,发生内存分配错误时会返回值 2。对于所有其他错误情况(例如,配置错误、以帮助方式或者不附带任何参数来运行 ptpd 守护程序、自动关闭子系统以及网络启动错误),都将返回值 1。

示例

  1. 要使用 SRC 启动 ptpd 守护程序,请输入以下命令:
    [code]startsrc -s ptpd
  2. 要使用 SRC 停止 ptpd 守护程序,请输入以下命令:
    [code]stopsrc -s ptpd
  3. 要使用 SRC 刷新 ptpd 守护程序,请输入以下命令:
    [code]refresh -s ptpd
    ptpd 守护程序将重新装入配置文件(如果该守护程序使用了配置文件),并重新打开日志文件。
  4. 要检查是否正确配置了 /etc/ptpd2.conf 路径中的配置文件,请输入以下命令:
    [code]ptpd -k
  5. 要查看单个设置的含义,请输入以下命令:
    [code]ptpd -e ptpengine:interface
    输出将说明 ptpengine:interface 设置的含义。

文件

项目 描述
/etc/ptpd2.conf ptpd 守护程序配置文件的缺省路径。
/usr/samples/tcpip/ptpd2/ptpd2.conf ptpd2.conf 配置文件的样本文件


 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
CLOUD_FL 发布了20 篇原创文章 · 获赞 1 · 访问量 1830 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: