NTP相关问题

ntp协议的相关概念
ntp(时间同步协议),用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的UDP端口号是123.
使用NTP的目的是对网络内所有具有时钟的设备进行时间同步,是网络内所有设备的时钟保持一致,并且可以和其他设备互相同步。
NTP的工作原理:
在这里插入图片描述

   Device A和Device B通过网络相连,它们都有自己独立的系统时钟,需要通过NTP实现各自系统时钟的自动同步。 Device B作为NTP时间服务器,即Device A将使自己的时钟与Device B的时钟同步。系统时钟同步的工作过程如下:Device A发送一个NTP报文给Device B,该报文带有它离开Device A时的时间戳,该时间戳为10:00:00am(T1)。当此NTP报文到达Device B时,Device B加上自己的时间戳,该时间戳为11:00:01am(T2)。当此NTP报文离开Device B时,Device B再加上自己的时间戳,该时间戳为11:00:02am(T3)。当Device A接收到该响应报文时,Device A的本地时间为10:00:03am(T4)。至此,Device A已经拥有足够的信息来计算两个重要的参数:NTP报文的往返时延Delay=(T4-T1)-(T3-T2)=2秒。Device A相对Device B的时间差offset=((T2-T1)+(T3-T4))/2=1小时。这样,Device A就能够根据这些信息来设定自己的时钟,使之与Device B的时钟同步。

NTP报文格式:ntp与两种不同类型的报文 1. 时钟同步报文 2. 控制报文

在这里插入图片描述

NTP的工作模式:
客户端\服务器模式
客户端向服务器发送时钟同步报文,报文中的Mode字段设置为3(客户模式)。服务器端收到报文后会自动工作在服务器模式,并发送应答报文,报文中的Mode字段设置为4(服务器模式)。客户端收到应答报文后,进行时钟过滤和选择,并同步到优选的服务器。

在这里插入图片描述

对等体模式
广播模式
组播模式

ntpd和ntpdate的区别
ntpd和ntpdate都是Linux操作系统实现时间同步的方式,但是他们在基本原理上有着本质的区别:

  • ntpd在实际同步时间时是一点点校准时间的,平滑同步;
  • ntpdate不会考虑其他程序是否会阵痛,就立即同步。(ntpdate需要慎用)
    时钟的跃变,有时候会产生很严重的问题。很多应用程序以来连续的时钟。ntpdate调整时间的方式就是我们所说的跃变。

ntpq和ntpdc的区别
ntpq和ntpdc都是用于与NTP守护进程进行交互的客户端工具,但它们有以下几个区别:

  1. 功能不同:ntpq主要用于查询和监控NTP服务器的状态和性能信息,例如查看服务器列表、查看时间同步状态、查看系统时钟偏差等。而ntpdc更专注于配置和管理NTP服务器,例如修改服务器配置、控制时间同步行为、管理NTP服务器的密钥等。
  2. 用户界面不同:ntpq提供了一个交互式的命令行界面,用户可以通过输入不同的命令来执行查询操作。ntpdc也是一个命令行工具,但它提供了更多的命令和选项,用户可以直接在命令行中指定需要执行的操作。
  3. 数据显示方式不同:ntpq以表格形式显示查询结果,每个查询结果都有一个标识符和相应的值。ntpdc则以更详细的方式显示结果,通常包含更多的信息和选项。
  4. 访问权限不同:ntpq通常可以通过简单的网络连接来访问NTP服务器,而ntpdc通常需要在本地主机上运行,并且需要管理员权限来访问和管理NTP服务器。

综上所述,ntpq主要用于查询和监控NTP服务器的状态,而ntpdc则更适合于配置和管理NTP服务器。选择使用哪个工具取决于具体的需求和操作。

在执行ptyrun()函数时,有一些特殊的点需要注意:

    1. 权限:ptyrun()函数通常需要在具有足够权限的环境下执行,因为它涉及到创建伪终端(pseudo-terminal)和执行子进程等操作。如果没有足够的权限,可能会导致函数执行失败或出现错误。
    1. 子进程管理:ptyrun()函数会创建一个子进程,并在该子进程中执行指定的命令。因此,需要注意对子进程的管理,包括等待子进程结束、处理子进程的退出状态等。
    1. 输入和输出处理:ptyrun()函数会将子进程的输入和输出重定向到伪终端。在使用ptyrun()函数时,需要考虑如何处理子进程的输入和输出。可以通过pty模块提供的函数,如pty.spawn()来实现与子进程的交互。
    1. 异常处理:在执行ptyrun()函数时,可能会出现各种异常情况,如无法创建伪终端、子进程执行失败等。因此,需要适当处理这些异常,以确保程序的稳定性和可靠性。
    1. 跨平台兼容性:ptyrun()函数的行为可能会因操作系统的不同而有所差异。因此,在编写使用ptyrun()函数的代码时,需要考虑跨平台兼容性,并根据具体的操作系统进行相应的处理和调整。
  • 总之,在使用ptyrun()函数时,需要注意权限、子进程管理、输入输出处理、异常处理和跨平台兼容性等方面的问题,以确保函数的正确执行和程序的稳定性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/52753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java转Go】快速上手学习笔记(六)之网络编程篇一

目录 TCP一个简单案例server.go 服务端client.go 客户端 HTTPserver.go 服务端client.go 客户端 RPC一个很简单的示例server.go 服务端client.go 客户端 WebSocketserver.go 服务端client.go 客户端 完整代码server.go 服务端client.go 客户端 go往期文章笔记: 【J…

spring整合MybatisAOP整合PageHelper插件

一,spring集成Mybatis的概念 Spring 整合 MyBatis 是将 MyBatis 数据访问框架与 Spring 框架进行集成,以实现更便捷的开发和管理。在集成过程中,Spring 提供了许多特性和功能,如依赖注入、声明式事务管理、AOP 等 它所带来给我们的…

Qt --- QTimer

在Qt开发界面的时候,非常多的时候都得使用定时器,定时器具体可以干什么呢?比如:控制时钟、定时改变样式、改变进度等。。。说到这里,经常使用QQ,而不同的时段都会显示不同的背景,我认为如果用Qt…

yolov8实战之torchserve服务化:使用yolov8x来预打标

前言 最近在做一个目标检测的任务,部署在边缘侧,对于模型的速度要求比较严格(yolov8n这种),所以模型的大小不能弄太大,所以原模型的性能受限,更多的重点放在增加数据上。实测yolov8x在数据集上…

Golang Gorm 一对多关系 关系表创建

一对多关系 我们先从一对多开始多表关系的学习因为一对多的关系生活中到处都是,例如: 老板与员工女神和添狗老师和学生班级与学生用户与文章 在创建的时候先将没有依赖的创建。表名称ID就是外键。外键要和关联的外键的数据类型要保持一致。 package ma…

【Linux】进程状态|僵尸进程|孤儿进程

前言 本文继续深入讲解进程内容——进程状态。 一个进程包含有多种状态,有运行状态,阻塞状态,挂起状态,僵尸状态,死亡状态等等,其中,阻塞状态还包含深度睡眠和浅度睡眠状态。 个人主页&#xff…

【Linux网络】Cookie和session的关系

目录 一、Cookie 和 session 共同之处 二、Cookie 和 session 区别 2.1、cookie 2.2、session 三、cookie的工作原理 四、session的工作原理 一、Cookie 和 session 共同之处 Cookie 和 Session 都是用来跟踪浏览器用户身份的会话方式。 二、Cookie 和 session 区别 2.…

Linux下的Shell基础——正则表达式入门(四)

前言: 正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 在Linux 中,grep,sed,awk 等文本处理工具都支持…

redis持久化机制 事务详解

目录 前言: 持久化机制 RDB(Redis DataBase) 手动触发 save bgsave 自动触发 RDB特点 AOF(append only file) 缓冲区刷新策略 重写机制 aof重写流程 混合持久化 事务 事务操作命令 WATCH WATCH实现原…

分布式计算框架:Spark、Dask、Ray

目录 什么是分布式计算 分布式计算哪家强:Spark、Dask、Ray 2 选择正确的框架 2.1 Spark 2.2 Dask 2.3 Ray 什么是分布式计算 分布式计算是一种计算方法,和集中式计算是相对的。 随着计算技术的发展,有些应用需要非常巨大的计算能力才…

亿赛通电子文档安全管理系统 RCE漏洞复现(QVD-2023-19262)

0x01 产品简介 亿赛通电子文档安全管理系统(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资产&…

VIT 和Swin Transformer

VIT:https://blog.csdn.net/qq_37541097/article/details/118242600 Swin Transform:https://blog.csdn.net/qq_37541097/article/details/121119988 一、VIT 模型由三个模块组成: Linear Projection of Flattened Patches(Embedding层) Tran…

C语言基础之——数组

前言:本篇文章,我们将对一维数组,和二维数组进行展开式的讲解,并进行实际应用。 目录 一.一维数组 1.一维数组的创建和初始化 (1)数组的创建 (2)数组的初始化 2.一维数组的使用…

二叉树中的最大路径和-递归

路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root…

AI智能语音机器人的基本业务流程

先画个图,了解下AI语音机器人的基本业务流程。 上图是一个AI语音机器人的业务流程,简单来说就是首先要配置话术,就是告诉机器人在遇到问题该怎么回答,这个不同公司不同行业的差别比较大,所以一般每个客户都会配置其个性…

华为OD机试 - 最佳植树距离 - 二分查找(Java 2023 B卷 100分)

目录 一、题目描述二、输入描述三、输出描述四、备注说明五、二分查找六、解题思路七、Java算法源码八、效果展示1、输入2、输出3、说明 一、题目描述 按照环保公司要求,小明需要在沙化严重的地区进行植树防沙工作,初步目标是种植一条直线的树带。 由于…

微信小程序——van-field中的left-icon属性自定义

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

vue 简单实验 v-for 循环

1.代码 <script src"https://unpkg.com/vuenext" rel"external nofollow" ></script> <div id"list-rendering"><ol><li v-for"todo in todos">{{ todo.text }}</li></ol> </div> &…

Jenkins自动化部署Vue项目

1、新建item&#xff0c;选择 Freestyle project 2、源码管理选择git&#xff0c;输入git仓库地址和授权账号&#xff0c;并指明要部署的分支 3、构建选择 Execute shell&#xff0c;输入vue项目打包命令 命令示例&#xff1a; source /etc/profile node -v npm config set re…

【stable-diffusion使用扩展+插件和模型资源(上】

文章目录 前言一、插件推荐1.qrcode-monster2.sd-webui-openpose-editor3.sd-webui-depth-lib4.roop&#xff08;换脸插件&#xff09;5.sd-webui-qrcode-toolkit&#xff08;艺术二维码&#xff09;5.光源控制6.二次元转真人7.动态视频转场&#xff08;loopback-wave&#xff…