当前位置: 首页 > 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;混…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...

JDK 17 序列化是怎么回事

如何序列化&#xff1f;其实很简单&#xff0c;就是根据每个类型&#xff0c;用工厂类调用。逐个完成。 没什么漂亮的代码&#xff0c;只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...