NTP 协议介绍_什么是UTC协议

NTP 协议介绍_什么是UTC协议NTP协议NTP(NetworkTimeProtocol,网络时间协议)是由RFC1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的UDP端口号为123。使用NTP的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用。对于运行NTP的本地系统,既可以接收来…

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

Jetbrains全系列IDE稳定放心使用

NTP协议

NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的UDP端口号为123。使用NTP的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用。

对于运行NTP的本地系统,既可以接收来自其他时钟源的同步,又可以作为时钟源同步其他的时钟,并且可以和其他设备互相同步。

NTP工作原理

NTP的基本工作原理如图所示。Device A和Device B通过网络相连,它们都有自己独立的系统时钟,需要通过NTP实现各自系统时钟的自动同步。为便于理解,作如下假设:

Device A和Device B的系统时钟同步之前,Device A的时钟设定为10:00:00am,Device B的时钟设定为11:00:00am。

Device B作为NTP时间服务器,即Device A将使自己的时钟与Device B的时钟同步。

NTP报文在Device A和Device B之间单向传输所需要的时间为1秒。

 

系统时钟同步的工作过程如下:

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有两种不同类型的报文,一种是时钟同步报文,另一种是控制报文。控制报文仅用于需要网络管理的场合,它对于时钟同步功能来说并不是必需的。

 

主要字段的解释如下:

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

VN(Version Number):长度为3比特,表示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:验证信息。

参考:https://www.cnblogs.com/panhongqing/p/6292348.html

转载于:https://www.cnblogs.com/tunian/p/9327460.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182896.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月12日 上午9:16
下一篇 2022年10月12日 上午9:16


相关推荐

  • 小程序列表跳转至详情_小程序跳转链接怎么获取

    小程序列表跳转至详情_小程序跳转链接怎么获取效果展示:列表页js部分:onLoad:function(options){varthat=this;wx.request({url:’你的接口’,data:{ 接口参数},header:{‘content-type’:’ap…

    2022年8月18日
    10
  • Linux经常使用命令大全「建议收藏」

    Linux经常使用命令大全

    2022年1月27日
    45
  • 俞敏洪与新东方_新东方俞敏洪现状

    俞敏洪与新东方_新东方俞敏洪现状俞敏洪与新东方“江阴模式”助俞敏洪考上北大  俞敏洪,1962年出生于江苏省江阴。  俞敏洪出生在一个普通的农村家庭里,父亲是一名木匠,母亲则是当地生产队的妇女队长,她有与这一职位对应果敢的作风。俞敏洪还有一个姐姐,是一名赤脚医生。作为一个农家孩子,俞敏洪回忆:我从小就在农田里干活,插秧、割稻、撒猪粪,样样都干……  母亲希望他的人生能有某种意义上的改变,希望…

    2025年11月6日
    5
  • 微信公众平台-微信服务号开发

    文章目录背景:一、微信各个平台介绍二、公众平台介绍三、开发前准备四、服务器配置五、服务器验证六、消息接收七、客服消息八、获取素材九、相关工具十、最终效果展示总结背景:近期接到了涉及微信开放平台和微信公众平台相关的开发需求,开发过程中踩了许多坑,把相关问题整理记录下来以便巩固记忆,并把总结的经验分享出来,本篇分享微信服务号开发,希望可以给大家提供帮助一、微信各个平台介绍1、微信开放平台:面向开发人员,为网站、App提供微信第三方登录功能,为App提供支付功能。2、微信公众平台:对应的是公众号,包括订

    2022年4月12日
    173
  • vue模板渲染 mustache简单实现[通俗易懂]

    vue模板渲染 mustache简单实现[通俗易懂]vue源码探究,模板渲染,实现mustache的渲染功能

    2022年7月19日
    14
  • 关于一道微软面试题的思考

    关于一道微软面试题的思考nbsp 条件 1 一架飞机加满油能绕地球飞半圈 2 飞机之间可以互相加油 3 只有一个机场 问 要多少架飞机起飞才能保证一架飞机绕地球飞一圈 所有飞机都必须安全降落 不考虑加油时间 nbsp nbsp 我想出来的解决办法 设地球周长为 S 三架同时起飞 行到 1 8S 处 一架返航 这时候它消耗了 1 4 的油 还需要 1 4 的油返航 所以它可以给其他每个飞机加 1 4 的油 这时候其他两架飞

    2026年3月27日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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