首页 > 其他分享 >(笔记)【NTP系列:06】NTP报文解读

(笔记)【NTP系列:06】NTP报文解读

时间:2023-02-03 11:23:38浏览次数:55  
标签:同步 06 NTP 报文 时间 本地 时钟

一、概念

  1. NTP(Network Time Protocol),互联网时间协议。
  2.  UTC(Coordinated Universal Time),协调通用时间。根据原子振荡周期所计算的物理时钟,这种计算方式对于时间的计算误差时很小的。
  3. GMT(Greenwich Mean Time),表示的是格林尼治时间,是根据地球的自转周期计算的标准时间,由于各种不稳定因素的影响,计时不是很理想。
  4. 软件时钟:表示的是操作系统从1970/01/01开始计算的秒数。
  5. 硬件时钟:主机硬件上面的时钟,主要是BIOS内部时间的记录了。
 
二、原理
  1. NTP是为实现高精确度的时间同步,而设计的网络时钟同步协议,基于IP和UDP,相关标准在RFC1305中有定义。
  2. NTP客户端按照规定的时间间隔内向时钟源发出探测报文,一次发出8份报文,报文中记录了进行时间同步需要的所有信息。如果当前客户端和时钟源之间的时差和同步距离在容忍之内,则进行平滑同步(不允许时间跳变),若超出容忍值,则认为该时钟源不可信,返回400标识,不同步。
  3. NTP工作室可以构建树形结构进行时间同步。

 
NTP共有四种工作模式:client/server、对等体模式、广播模式、组播模式。

 

NTP数据报文

这里仅对常用的模式简单介绍一下:

  • VN:NTP版本号。
  • Mode:NTP工作模式。
  • Stratum:时钟层数,表示时钟精确度。取值1-15,精确度递减。
  • Poll:发送探测报文的最小间隔时间。
  • Precision:时钟精度,由多个计算量经一系列算法计算得到(时差、网络拥塞等)。
  • Root Delay:到主参考时钟的总往返时间。
  • Root Dispersion:本地时钟相对于主参考时钟的最大误差。
  • Reference Timestamp:本地时钟最后一次被设定或更新的时间。如果值为0表示本地时钟从未被同步过。
  • Originate Timestamp:NTP报文离开本地NTP客户端的时间戳(T1)。
  • Receive Timestamp:NTP报文到达对端时钟源(server)的本地时间(T2)。
  • Transmit Timestamp:应答报文离开对端时钟源(server)的本地时间(T3)。

 

上述几个报文字段有如下关系:先假设应答报文到达本地的时间为T4,则,

  • 报文往返时延Delay=(T4-T1)-(T3-T2)
  • 客户端与时钟源的时间差offset=((T2-T1)+(T3-T4))/ 2


我们在分析问题时一般不会直接管制NTP的数据报文,除非要定位系统底层问题。当NTP同步状态异常时,分析控制报文往往会事半功倍。


NTP控制报文

 

标签:同步,06,NTP,报文,时间,本地,时钟
From: https://www.cnblogs.com/tdyizhen1314/p/17088534.html

相关文章

  • (笔记)NTP时间同步失败:Windows(W32Time)作为NTP时钟源服务端,Linux作为客户端
     一、问题现象使用windows(W32Time)作NTP时钟源服务端,控制板端Linux作为客户端,使用ntpd服务无法同步时间,但是ntpdate是可以同步成功。 二、问题分析 1.从报文的角度分......
  • py06
    元祖tuple与列表类似可以存多个值,但是不同的是元祖本身不能被修改#一:基本使用:tuple#1用途:记录多个值,当多个值没有改的需求,此时用元组更合适#2定义方式:在()内用逗号......
  • 决战圣地玛丽乔亚Day06-- MQ消息队列
    MQ消息队列。目前市面上流行的MQ有:RocketMQ、kafka、RabbitMQ、ActiveMQ比较一下这几个消息队列一般消息队列的作用和使用场景是:1.解耦。(本来A要调很多接口,现在A直接把......
  • 力扣106 从中序与后序遍历序列构造二叉树
    题目:给定两个整数数组inorder和postorder,其中inorder是二叉树的中序遍历,postorder是同一棵树的后序遍历,请你构造并返回这颗二叉树。示例:输入:inorder=[9......
  • 【智能车】RT1064-GPIO输入输出
    输入上拉输入GPIO引脚配置为上拉输入模式,在默认状态下(GPIO引脚无输入),读取得的GPIO引脚数据为1,高电平;上拉输入默认是高电平,外接低电平有影响,故只能用来检测外接低......
  • 新奥赛 1061
    1061:求整数的和与均值时间限制:1000ms      内存限制:65536KB提交数:119446   通过数:59245【题目描述】读入n(1≤n≤10000)个整数,求它们的和与......
  • Kroger EDI 850 采购订单报文详解
    本文着重讲述KrogerEDI项目中,Kroger发给供应商的X12850报文(采购订单)。在此前的文章 如何读懂X12 中,我们对X12已经做了详细的解读,接下来让我们以KrogerEDI项目中对X......
  • 1061
    1061:求整数的和与均值时间限制:1000ms      内存限制:65536KB提交数:119446   通过数:59245【题目描述】读入n(1≤n≤10000)个整数,求它们的和......
  • (笔记)ntpd与ntpdate的区别
     一、ntp和ntpdate区别①两个服务都是centos自带的(centos7中不自带ntp)。ntp的安装包名是ntp;ntpdate的安装包是ntpdate。他们并非由一个安装包提供。②ntp守护进程为ntpd,......
  • (笔记)NTP使用常见问题记录
     一、ntpd&ntpdate  我的两台虚拟机,使用135作为ntp服务器,138以135为准同步时间。version:4.2.6p5ntpd服务是按照一定时间来同步,而ntpdate是立即同步,但是二者都......