当前位置: 首页 > news >正文

时间同步--- ntp与ptp

时间同步

1. 什么是NTP时间?什么是PTP时间?

NTP时间(Network Time Protocol 时间): NTP即网络时间协议(Network Time Protocol),它是一种用于同步计算机时间的网络协议。NTP可以将所有参与的计算机时间同步到协调世界时(UTC),从而确保系统之间的时间一致性。NTP使用分层、分散的方式,通过一系列时间服务器进行时间同步,允许客户端和服务器之间进行通信以协调时间。NTP可以精确到毫秒级别,且非常适用于大规模分布式系统。

PTP时间(Precision Time Protocol 时间): PTP即精确时间协议(Precision Time Protocol),定义在IEEE 1588标准中,用于在局部网络中实现更高精度的时间同步。PTP比NTP提供了更高的同步精度,通常可以达到微秒甚至纳秒级别。PTP使用主-从架构,可以更精确地测量网络延迟,从而实现更高精度的时间同步。PTP常用于工业自动化、电信和其他对时间精度要求非常高的场合。

2. LINUX中如何使用这两种同步方式?

NTP:

在Linux中,可以使用ntpq命令来查询本机正在使用的NTP服务器。以下是查询本机NTP服务器的步骤:

打开终端,以超级用户或具有足够权限的用户身份登录。

运行以下命令来查询本机正在使用的NTP服务器:

ntpq -p

该命令将显示与本机正在同步的所有NTP服务器的相关信息,包括服务器的IP地址、偏移量、延迟等。在输出中,标有"*"号的服务器表示本机正在使用的主要(首选)NTP服务器。

如果没有安装ntpq命令,可以使用下面的命令安装:

sudo apt install ntp

请注意,某些系统可能需要ntp服务正在运行才能使用ntpq命令。你可以使用sudo systemctl status ntp命令来检查NTP服务的状态,并根据需要启动或重启该服务。

ntpq -p 命令详解

假设运行ntpq -p命令后的输出如下所示:

JSON
remote refid st t when poll reach delay offset jitter

*ntp1.example.com .GPS. 1 u 123 256 377 0.123 0.045 0.056
+ntp2.example.net .PPS. 2 u 256 512 377 0.056 0.023 0.035
-ntp3.example.org .ACTS. 2 u 512 1024 377 0.078 -0.012 0.041

这里是各列的含义:

remote:NTP服务器的域名或IP地址。

refid:参考ID,指示了NTP服务器的参考源。

st:Stratum,指示NTP服务器的层级(stratum),数字越小表示层级越低,通常层级为1表示直接从原子钟获取时间。

t:类型,指示NTP服务器的类型,如本地时钟(l),外部源(u),多播(m)等。

when:上次成功与NTP服务器同步的时间(单位:秒)。

poll:NTP客户端向NTP服务器发送同步请求的间隔时间(单位:秒)。

reach:NTP客户端成功与NTP服务器通信的次数。

delay:NTP客户端与NTP服务器之间的往返延迟(单位:毫秒)。

offset:NTP客户端与NTP服务器之间的时间偏移量(单位:毫秒),即客户端时钟相对于服务器时钟的差异。

jitter:NTP客户端与NTP服务器之间的时钟抖动(单位:毫秒),即时钟不稳定性的度量。

在输出中,标有"*“的行表示本机正在使用的主要(首选)NTP服务器,标有”+"的行表示其他可用的NTP服务器。

检查NTP服务状态

systemctl status ntp

如果NTP服务已经安装并运行,则会显示服务的状态信息,包括是否正在运行以及运行状态是否正常。

PTP

检查Linux环境中是否存在ptp服务:

systemctl status ptp4l 如果有,则会看到如下输出

JSON
● ptp4l.service - PTP4L - IEEE 1588 PTP daemon
Loaded: loaded (/lib/systemd/system/ptp4l.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2024-04-04 10:30:00 UTC; 1 day 3h ago
Docs: man:ptp4l(8)
Main PID: 1234 (ptp4l)
Tasks: 1 (limit: 1234)
Memory: 10.0M
CGroup: /system.slice/ptp4l.service
└─1234 /usr/sbin/ptp4l -m

Apr 04 10:30:00 hostname systemd[1]: Starting PTP4L - IEEE 1588 PTP daemon…
Apr 04 10:30:00 hostname systemd[1]: Started PTP4L - IEEE 1588 PTP daemon.

在Linux中部署PTP服务:

  1. 安装PTP软件包

Bash

sudo apt-get install linuxptp    # Ubuntu/Debian
sudo yum install linuxptp        # CentOS/RHEL
  1. 配置PTP

编辑 /etc/linuxptp/ptp4l.conf 文件以配置PTP。这个文件包含了PTP4l的配置选项。你可以根据你的需求修改这个文件。

  1. 启动PTP服务

Bash

sudo systemctl start ptp4l
  1. 设置开机自启动

Bash
sudo systemctl enable ptp4l

  1. 检查服务状态

Bash

sudo systemctl status ptp4l

如果PTP服务正在运行,你将会看到类似如下输出:

Plain Text
● ptp4l.service - PTP4L - IEEE 1588 PTP daemon
Loaded: loaded (/lib/systemd/system/ptp4l.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2024-04-04 10:30:00 UTC; 1 day 3h ago
Docs: man:ptp4l(8)
Main PID: 1234 (ptp4l)
Tasks: 1 (limit: 1234)
Memory: 10.0M
CGroup: /system.slice/ptp4l.service
└─1234 /usr/sbin/ptp4l -m

Apr 04 10:30:00 hostname systemd[1]: Starting PTP4L - IEEE 1588 PTP daemon…
Apr 04 10:30:00 hostname systemd[1]: Started PTP4L - IEEE 1588 PTP daemon.

这就完成了在Linux中部署PTP服务的过程。你可以根据需要对配置文件进行调整,以满足你的特定需求。

在linux环境下,如果没有上述命令执行失败,需要执行下面的命令

输入

cd /lib/systemd/system/

目录下是否有ptp4l.service或者ptp4l@.service

如果有ptp4l@.service,则需要使用这个命令在对用的网络接口上创建PTP同步服务:

sudo systemctl start ptp4l@eth0.service

相关文章:

时间同步--- ntp与ptp

时间同步 1. 什么是NTP时间?什么是PTP时间? NTP时间(Network Time Protocol 时间): NTP即网络时间协议(Network Time Protocol),它是一种用于同步计算机时间的网络协议。NTP可以将所有参与的计…...

CSDN 僵尸粉 机器人

CSDN 僵尸粉 机器人 1. 前言 不知道什么时候开始每天创作2篇就有1500流量爆光,每次都能收获一些关注和收藏,感觉还是挻开心的感觉CSDN人气还是挻可以的以前各把月一个收藏和关注都没有写的动力了。 2. 正文 后面又连接做了2天的每日创建2篇任务&…...

【Material-UI】File Upload Button 组件详解

文章目录 一、基础实现1. component"label"2. 隐藏的输入元素 二、样式和交互增强1. 自定义按钮样式2. 交互提示 三、支持多文件上传四、无障碍性(Accessibility)1. 提供 aria-label 或 aria-labelledby2. 支持键盘导航 五、高级用法和集成1. …...

计算机组成原理 - 中央处理器

中央处理器 考纲内容 CPU的功能和基本结构指令执行过程数据通路的功能和基本结构控制器的功能和工作原理异常和中断机制 异常和终端的基本概念;异常和中断的分类;异常和中断的检测与响应指令流水线 指令流水线的基本概念;指令流水线的基本实…...

C++笔试练习笔记【5】:最小花费爬楼梯(有题目链接) 初识动态规划

文章目录 题目思路代码 动态规划简介**一、什么是动态规划****二、动态规划的应用场景****三、动态规划的基本步骤****四、动态规划的优缺点** 题目 题目链接:https://www.nowcoder.com/practice/9b969a3ec20149e3b870b256ad40844e?tpld230&tpld39751&ru/…...

数据结构----------贪心算法

什么是贪心算法? 贪心算法(Greedy Algorithm)是一种在问题求解过程中,每一步都采取当前状态下最优(即最有利)的选择,从而希望导致最终的全局最优解的算法策略。 贪心算法的核心思想是做选择时&…...

C++初学(11)

不知不觉就第11篇了QWQ 11.1、指针和自由存储空间 之前提到了计算机程序在存储数据时必须跟踪的3个基本属性: (1)信息存储在何处; (2)存储的值为多少; (3)存储的信息…...

Vba选择cad中不同类型图元(Select Case True语句和like用法)

Select Case True 是一个常见的VBA编程技巧,用于在多个条件之间进行选择。具体来说,Select Case True 语句的每个 Case 语句都包含一个布尔表达式,这些表达式会逐个与 True 进行比较。当其中一个表达式的结果为 True 时,对应的代码…...

Kafka基本讲解

Kafka基本讲解 一:Kafka介绍 Kafka是分布式消息队列,主要设计用于高吞吐量的数据处理和消息传输,适用于日志处理、实时数据管道等场景。Kafka作为实时数仓架构的核心组件,用于收集、缓存和分发实时数据流,支持复杂的…...

thinkphp6项目初始化配置方案二次修正版本

数据返回统一格式 app/BaseController.php新增文件内容在末尾,并在构造函数中实例化数据模型类 // 成功统一返回格式 function Result($data, $msg , $code 200, $httpCode 200): \think\response\Json {$res [code > $code,msg > $msg,data > $data];return j…...

XXE靶机教学

arp-scan -l主机发现 arp-scan -l 端口扫描 nmap -p- 192.168.48.139 服务探测 nmap -p80,5355 -sT -sC -sV 192.168.48.139 目录扫描 dirsearch -u http://192.168.48.139 访问robots.txt 发现两个可访问路径 burp抓包 测试是否存在xxe漏洞 <?xml version "1.…...

干货 | 2024步入数字化转型深水区,云原生业务稳定性如何保障(免费下载)

云原生业务的稳定性保障是一个涉及多个层面的复杂任务&#xff0c;以下是一些关键措施和策略&#xff0c;以确保云原生业务的高效稳定运行&#xff1a; 一、平台安全性评估与加固 云原生平台安全评估&#xff1a;对云原生平台&#xff08;如Kubernetes、Docker等&#xff09;…...

for(char c:s),std::vector<int> numbers 和std::int numbers[],.size()和.sizeof()区别

在C中当需要对某个容器或数组进行遍历时我们可以使用以下语句&#xff0c;c将会被赋值为s中的元素 for(char c:s)://s可以是任何满足条件的容器或数组for(int c:s):for(double c:s):for(float c:s):在C中我们来区分std::vector numbers {1, 2, 3, 4, 5};和std::int numbers[] …...

桌面云备份可以删除吗?安不安全

桌面云备份可以删除吗&#xff1f;答案是可以的。如果用户不需要这些备份或者想要释放存储空间&#xff0c;桌面云备份是可以进行删除的&#xff0c;并且删除桌面云备份是一个相对安全的过程&#xff0c;但需要注意以下几点来确保操作的安全性和数据的完整性。 一、桌面云备份…...

【爬虫实战】利用代理爬取电商数据

文章目录 前言工具介绍实战获取网站数据编写代码数据展示 推荐总结 前言 当今电商平台正经历着快速的转型与升级。随着技术的进步和用户需求的多样化&#xff0c;电商不仅从简单的在线购物演变为综合性的购物生态系统&#xff0c;还融合了人工智能、大数据和云计算等先进技术。…...

python如何统计列表中元素出现的次数

在 Python 中&#xff0c;可以使用多种方法来统计列表中元素出现的次数。以下是一些常用的方法&#xff1a; 方法 1: 使用 count() 方法 list 对象有一个内置的 count() 方法&#xff0c;可以直接统计某个元素在列表中出现的次数。 my_list [1, 2, 3, 2, 1, 4, 2] count_of…...

【算法】山脉数组的峰顶索引

难度&#xff1a;中等 题目描述&#xff1a; 给定一个长度为 n 的整数 山脉 数组 arr &#xff0c;其中的值递增到一个 峰值元素 然后递减。 返回峰值元素的下标。 你必须设计并实现时间复杂度为 O(log(n)) 的解决方案。 示例 1&#xff1a; 输入&#xff1a;arr [0,1,0]…...

牛客 JZ31.栈的压入,弹出序列 C++写法

牛客 JZ31.栈的压入&#xff0c;弹出序列 C写法 思路&#x1f914;&#xff1a; 创建一个栈&#xff0c;push压入序列&#xff0c;然后用栈顶跟弹出序列比&#xff0c;如果一样就出栈并且继续比较&#xff0c;不一样就再次push入栈&#xff0c;直到压入序列走完&#xff0c;如果…...

PageHelper在Mybatis的一对多表关联时total数错误

最近在学习PageHelper遇到一个bug记录一下&#xff1a; 在Mybatis的一对多表中&#xff0c;PageHelper获取的total是所有的记录数&#xff0c;而不是我想要的第一次sql的记录数。 解决方案1&#xff1a; 不要在mapper层获取一对多关联&#xff0c;在service层先获取一&#…...

(20240806)硫氧镁 / 碱式硫酸镁-混凝土

一、目录 一篇博士论文&#xff0c;5篇硕士论文&#xff0c;南京航空航天大学双一流211&#xff0c;60。余红发团队 具体涉及到 &#xff08;1&#xff09; 碱式硫酸镁水泥的混凝土应用 、&#xff08;一篇博士论文&#xff09; 有微观分析 &#xff08;2&#xff09;混…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...