NTP协议原理_ntp协议属于哪一层

NTP协议原理_ntp协议属于哪一层NTP协议

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

什么是NTP协议

  当第一次听到NTP时,完全不知道是什么概念,只好问度娘。度娘搜到的答案如下:
这里写图片描述

  看了度娘的解释后,才大概明白该协议是进行网络对时的协议,比如当自己的电脑时间不对,可以从另外一台电脑病基于NTP协议进行对时,以另外一台电脑的时间作为基准。那么,更官方的理解就是:使用NTP的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用。对于运行NTP的本地系统,既可以接收来自其他时钟源的同步,又可以作为时钟源同步其他的时钟,并且可以和其他设备互相同步。

NTP工作原理

  NTP的基本工作原理如图所示。Device A和Device B通过网络相连,它们都有自己独立的系统时钟,需要通过NTP实现各自系统时钟的自动同步。为便于理解,作如下假设:
  在Device A和Device B的系统时钟同步之前,Device A的时钟设定为10:00:00am,Device B的时钟设定为11:00:00am。NTP报文在Device A和Device B之间单向传输所需要的时间为1秒。
这里写图片描述
1.Device A发送一个NTP报文给Device B,该报文带有它离开Device A时的时间戳,该时间戳为10:00:00am(T1)。
2.当此NTP报文到达Device B时,Device B加上自己的时间戳,该时间戳为11:00:01am(T2)。
3.当此NTP报文离开Device B时,Device B再加上自己的时间戳,该时间戳为11:00:02am(T3)。
4.当Device A接收到该响应报文时,Device A的本地时间为10:00:03am(T4)。
5.至此,Device A已经拥有足够的信息来计算两个重要的参数:
NTP报文的往返时延Delay=(T4-T1)-(T3-T2)=2秒。
Device A相对Device B的时间差offset=((T2-T1)+(T3-T4))/2=1小时。

NTP的报文格式

这里写图片描述
主要字段的解释如下:

  • LI(Leap Indicator):长度为2比特,值为”11”时表示告警状态,时钟未被同步。为其他值时NTP本身不做处理。

这里写图片描述

  • VN(Version Number):长度为3比特,表示NTP的版本号,目前的最新版本为4。后面会有不同版本的测试,发现发送不同版本的报文,服务器均有数据返回,说明NTP协议是向下兼容的,老的版本也可以使用。

  • Mode:长度为3比特,表示NTP的工作模式。不同的值所表示的含义分别是:0未定义、1表示主动对等体模式、2表示被动对等体模式、3表示客户模式、4表示服务器模式、5表示广播模式或组播模式、6表示此报文为NTP控制报文、7预留给内部使用。
    这里写图片描述

  • Stratum:系统时钟的层数,取值范围为1~16,它定义了时钟的准确度。层数为1的时钟准确度最高,准确度从1到16依次递减,层数为16的时钟处于未同步状态,不能作为参考时钟。
    这里写图片描述
  • Poll:轮询时间,即两个连续NTP报文之间的时间间隔。
  • Precision:系统时钟的精度。
  • Root Delay:本地到主参考时钟源的往返时间。
  • Root Dispersion:系统时钟相对于主参考时钟的最大误差。
  • Reference Identifier:参考时钟源的标识。
  • Reference Timestamp:系统时钟最后一次被设定或更新的时间。
  • Originate Timestamp:NTP请求报文离开发送端时发送端的本地时间。
  • Receive Timestamp:NTP请求报文到达接收端时接收端的本地时间。
  • Transmit Timestamp:应答报文离开应答者时应答者的本地时间。
  • Authenticator:验证信息。
    这里写图片描述
    上述总结了NTP协议的原理,下一篇将讲解NTP的代码实现。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/182734.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • RC有源滤波器之带通滤波器(四)

    RC有源滤波器之带通滤波器(四)记录一下,方便以后翻阅~过去的滤波器都是由R、L、C等无源元件组成,称为无源滤波器。现在的滤波器大都是由R、C元件与有源器件(如运算放大器)组成,称为RC有源滤波器。常见滤波器类型有低通滤波器、高通滤波器、带通滤波器、带阻滤波器、全通滤波器等。RC有源带通滤波器带通滤波器允许某一频率范围内的信号通过,衰减或抑制此频率范围以外的频率信号。理想带通滤波器的模频特性如下图所示,Wc2和Wc1分别为上下截止频率。RC有源带通滤波器器电路如下图所示:电压传输函数为:其模:…

  • jdbc连接mysql5.7_JDBC连接MySQL5.7的方法

    jdbc连接mysql5.7_JDBC连接MySQL5.7的方法1.首先准备mysql和eclipse环境,在环境搭建好之后,从eclipse官网下载jdbc的驱动包,下载地址http://dev.mysql.com/downloads/connector/j/2.从下载的文件中取出mysql-connector-java-5.1.31-bin.jar,放到工程中,并导入路径方法:右击工程名->BuildPath->ConfigureBuil…

  • http://91.3p7.us/index.php,bee/new.go at b412890c3385694a5a0034d07c703f1eabd3a22e · ws6/bee · GitHub…

    http://91.3p7.us/index.php,bee/new.go at b412890c3385694a5a0034d07c703f1eabd3a22e · ws6/bee · GitHub…background-image:url(‘data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAgAElEQVR42uy9d5Rd13Xm+TvnxhfrVS5UIRSIQEIAQUpMIKlEylGWZblbTi27veyWJXcvjZqW7TVrrPG0Q0vyTKtHtnuWou0ZS1Y7yDOyksd…

  • map key为null_mybatis json

    map key为null_mybatis jsonmybatis返回Map结果集value为Null的情况下丢失key的解决办法本博主之前一直是网络资源的索取者,本着开源精神愿意把自己在开发过程中遇到过的问题以及解决方案分享给大家,这是我的第一篇博客,希望以后能坚持写博客,让大家少走弯路、少踩坑。废话少说,直入主题!springcloud微服务集成mybatis动态多数据源在网上有很多文章可以搜到,这里就不重复造轮子了。如题,网上…

  • avlang php,www.xcnxm.com

    avlang php,www.xcnxm.comDomainName:xcnxm.comRegistryDomainID:2006268495_DOMAIN_COM-VRSNRegistrarWHOISServer:whois.ename.comRegistrarURL:http://www.ename.netUpdatedDate:2016-02-25T06:10:47ZCreationDate:2016-02-2…

  • feign 面试_面试官问你有什么缺点

    feign 面试_面试官问你有什么缺点导语  事情是这样的,昨天参加了某公司二面,被面试官问道了SpringCloud的RESTFul远程调用。项目上用到的技术就是OpenFeign,面试官可能自己不是太了解,给他解释一番发现自己还有很多的细节也不是太清楚,下面就来结合OpenFeign的源码来分析一下文章目录@EnableFeignClients注解registerDefaultConfiguration()方法registerFeignClients()方法内部流转逻辑FeignInvocationHandler调用处理器Met.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号