ntp初识

什么是ntp

网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议,用来使客户端和服务器之间进行时钟同步,提供高精准度的时间校正。NTP服务器从权威时钟源(例如原子钟、GPS)接收精确的协调世界时UTC,客户端再从服务器请求和接收时间。
NTP基于UDP报文进行传输,使用的UDP端口号为123。

为什么需要ntp

因为精确的时间对于网络至关重要:

  • 日志:我们可能需要对每一个系统的日志信息进行采集,需要以时间作为参考依据,如果不同系统上的时间都是不一致的话,对于定位问题会有很大的影响
  • 协同:多个系统以不同的顺序来处理一个复杂的事件,如果各个系统的时间没有同步,而是各自有自己的校准机制的话,那么就会造成多个系统的先后顺序的不同,从而导致事件处理失败

更多详细的可以参考:ntp解释

其实总的来说,ntp就是一个时间同步的服务,通过为每一个系统设置相同的时钟源来达到时间的一致性

ntp安装

直接使用:yum -y install ntp
命令结果

基本使用

分为ntpq和ntpdate这两种命令使用方式

  • ntpdate
    类似于手动的强制同步的感觉,ntpdate nameserver 会强制将系统的时间变为nameserver(ntp时钟源)的时间,是一种非平滑的方式同步时间,一般是在系统开机,部署在上面的服务都还没有启动的时候使用。不推荐在服务启动的过程中进行,如果你的系统时间快于ntp时钟源,这个时候你使用这个命令,就会强制时间变成ntp时钟源的时间,对于同一个定时任务就会出现两次执行,这种情况基本是不允许的
    比较常用的命令是:ntpdate nameserver(强制同步时间) ntpdate -d nameserver(作为检测连通性测试用)

  • ntpq
    相较于ntpdate更加的平滑,至少对于同一个时间点,它不会经历两次,使用一种平滑的方式来达到同步时间。我的理解是,它会以一种延长或缩短到达下一秒的时间这种机制来达到同步时间。
    ntpq -p的输出值解释(还有一个ntp -pw能完整的显示remote的名字,因为remote可能显示的是域名,长度过长的话,输出会隐藏后面超出部分)
    ntpq -p的输出

这个基本网上都有了,我只是做了些补充
- remote 响应这个请求的NTP服务器的名称,前面的*表示正常,正在使用;+表示正常,备用;没有则表示不响应,还有其他的,比如-
啥的,都是表示不可用了
- refid NTP服务器使用的更高一级服务器的名称
- st 正在响应请求的NTP服务器的级别
- when 上一次成功请求之后到现在的秒数
- poll 本地和远程服务器多少时间进行一次同步,单位秒,在一开始运行NTP的时候这个poll值会比较小,服务器同步的频率大,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率也就会相应减小
- reach 用来测试能否和服务器连接,是一个八进制值,每成功连接一次它的值就会增加,一般正常的标志就是377
- delay 从本地机发送同步要求到ntp服务器的往返时间
- offset 主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒,offset越接近于0,主机和ntp服务器的时间越接近。简单理解:当前主机时间 + offset = ntp时钟源时间。还有需要注意的是,offset显示的长度是:符号数字,数字的长度最长为六位,所以你可能会看到+12345.这样的时间,所以,ntpd最大允许偏差时间为999999ms,也就是1000s的话,服务大概率就停了
- jitter 统计了在特定个连续的连接数里offset的分布情况。简单地说这个数值的绝对值越小,主机的时间就越精确

以上是我使用ntpd作为客户端服务使用的一些内容,如有错误,烦请指出,不胜感激

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值