1.时间

格林尼治时间 GMT,以地球自转为准的时间,也叫世界时UT,但是由于自转速度会变化,所以后来不被作为标准。

世界协调时UTC,以原子钟为准,现在时间校准的标准就是原子钟。

2.闰秒

是指地球自转时间加长,每过1~2年都会增加1秒左右,但是我们是以UTC为准的,如果不调整UTC的话,GMT和UTC会相差越来越大。

故某个组织就定了一套规则,每次增加1秒就固定在6月或12月底加一秒。

这里加一秒是指调整UTC的时间,比如本来UTC当前时间戳为1436255907,下一秒原子钟应该跳到1436255908,但是碰到闰秒设置的时候,组织就把下一秒的原子钟还是调为1436255907,然后后面继续1秒1秒的加(个人猜测,可能跟实际有误)。所以这里所说的加一秒是指某个时间戳所持续的时间由1秒变成2秒。服务器等会到校时服务器上去拿最新时间校验,此时服务器时间戳可能会不变,也可能会倒退1s。

可能带来的问题:服务器时间倒退,一些涉及到sleep,计时器,或者循环的一些逻辑可能出现错误或者死循,一些低版本应用或者系统可能会因此出现故障。

如:Linux kernel低于2.6.18-164的Linux系统在2012年那次闰秒时如果不停ntp服务的话会因为ntpd锁死而重启。

不过大部分问题都只是一些程序BUG,写代码的时候未注意处理出现闰秒时时间戳的处理,当然也包括操作系统本身在防范时间倒退上的一些处理。

貌似后来linux 或者ntpd都优化了对闰秒的处理,所以写程序的时候应该可以无视这种可能性。个人觉得ntpd在同步时间时,若发现比当前小1秒左右,可以判断一下是否出现在闰秒的日期附近,是的话就不进行倒退处理而是保持,同时时钟tick进行特殊处理,过了2秒才tick到下一时间戳。不知道实际ntpd是不是这样做的。

3.ntp

network time protocol

一种控制在几十ms或者几ms误差,提供加密处理的时间同步协议。

linux下时间同步可以用2个方法,两种方法不能同时用:

1)crontab 里面加 */5 * * * * /usr/sbin/ntpdate 172.16.10.69 > /dev/null 2>&1 计划任务跑用ntpdate命令 往69服的ntp服务器上同步最新数据

不过用这个命令就会出现上面时间跳跃的问题,所以一个健壮的系统(如外网)最好不要用这个

2)填好配置,/etc/ntp.conf 等一些,然后启动ntpd服务,服务会到配置的server上同步最新时间,也会开启123端口作为ntp服务器给其他客户端连。

ntp开启的123端口是udp的,所以netstat -nul|grep 123  其中 u表示udp,l表示只显示监听的,(一般的a表示显示所有的)

相关ntp的一些文章:

如何解决2012年7月1日增加闰秒后引起linux系统重启问题 http://www.2cto.com/os/201207/138634.html

linux时间同步,ntpd、ntpdate http://blog.sina.com.cn/s/blog_636a55070101u1mg.html

http://blog.chinaunix.net/uid-20690190-id-1894436.html

一台机器如何实现既做NTP服务器又做NTP客户端 http://bbs.csdn.net/topics/310020973

时间,闰秒,及NTP的更多相关文章

  1. Windows 客户端时间更新脚本NTP

    Windows XP 客户端时间更新脚本NTP ::Windows XP 客户端时间更新脚本NTP reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsof ...

  2. 时间服务器: NTP 服务器及客户端搭建

    时间服务器: NTP 服务器及客户端搭建 一. NTP 服务器的安装与设定 1. NTP 服务器的安装与设定前言 2. 所需软件与软件结构 3. 主要配置文件 ntp.conf 的处理 4. NTP ...

  3. 自动与因特网时间服务器同步 NTP 服务器 pool.ntp.org, 120.24.166.46 端口 123

    自动与因特网时间服务器同步   NTP 服务器 pool.ntp.org 海康提供的NTP服务器   120.24.166.46     端口  123

  4. 使用PowerCLI给ESXi批量设置时间和配置NTP

    在现代的各种业务系统中,时间同步很重要.现在VMware的虚拟化解决方案应用非常广泛,给ESXi宿主机一个统一准确的时间,也给客户机系统一个准确的时间. 生产环境中主机数量少的话倒是可以手动设置,但是 ...

  5. 搭建NTP时间服务器~使用NTP同步时间~构建主机间时间自动同步关系

    NTP是一个时间服务器,同时它也是一个时间客户端. 我们可以使用它构建主机与主机之间的时间自动同步环境,保证所有服务器时间一致性. 常用的公共NTP时间服务器有: cn.ntp.org.cn 中国 n ...

  6. 时间服务器:NTP 服务器

    15.1 关于时区与网络校时的通讯协议   使得每一部主机的时间同步化.   DHCP 客户端/服务器端所需要的租约时间限制. 网络侦测时所需要注意的时间点.刚刚谈到的登录文件分析功能.具有相关性的主 ...

  7. Centos 修改时间地区及NTP同步北京时间

    在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况.如果没有安装,而你使用的是 CentOS系统 那使用命令 yum insta ...

  8. 设置新时间校正服务器NTP SERVER

    时间校正服务器IP : 10.*.*.* 适用系统:windows server 2008/windows 7 net stop w32time net start w32time w32tm /qu ...

  9. CentOS7时间设置及ntp同步配置(转)

    出处:http://www.centoscn.com/CentOS/config/2015/1105/6385.html http://www.centoscn.com/CentOS/config/2 ...

  10. centos7 时间设置及ntp

    转自:https://blog.gtwang.org/linux/howto-set-date-time-from-linux-command-prompt/ 這裡介紹各種在 Linux 中以手動來調 ...

随机推荐

  1. Android:打包apk

    右击项目->导出export next,完成相关信息填写将得到.apk文件,即可部署到手机上. 第一次: 然后打开目录就可以看到生成的apk,可以发布到各大市场上.

  2. 1401 - Remember the Word

    注意到单词的长度最长100,其实最糟糕复杂度应该能到O(300005*100),需要注意的是在字典树上匹配单词时,一旦不匹配,则后面的就不会匹配,需要break出来(这个害我TLE查了半天,日!),还 ...

  3. ipc$漏洞利用实例

    一.什么是IPC$ IPC$(Internet Process Connection)是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道, 通过提供可信任的用户名和口令 ...

  4. 腾讯大讲堂ppt全集

    腾讯大讲堂ppt全集 腾讯大讲堂ppt全集资料下载 腾讯大讲堂ppt1-62资料下载 最新最全的腾讯大讲堂ppt全集 腾讯大讲堂ppt全集资料下载 腾讯大讲堂ppt1-62资料下载地址 http:// ...

  5. [原创]使用命令行工具提升cocos2d-x开发效率(一)之TexturePacker篇

    TexturePacker是一个常用的制作sprite sheet的工具,它提供了很多实用的功能. 一般我们制作sprite sheet都是使用他的gui版本,纯手工操作,就像下面这张图示的一样. 刚 ...

  6. 【原创】Sliding Window Maximum 解法分析

    这道题是lintcode上的一道题,当然leetcode上同样有. 本题需要寻找O(N)复杂度的算法. 解体思路比较有特点,所以容易想到参考 最小栈 的解题办法. 但是最小栈用栈维护最小值很直观,这道 ...

  7. arcgis engine 开发之QI

    ArcGIS Engine开发基础之QI AO开发中QI(接口查询)非常重要,从某种意义上说不会QI就不会做AO开发. 在讲ArcGIS Engine开发QI实例操作之前,以一个现实生活例子以方便大家 ...

  8. Ubuntu链接ubuntu服务器

    以前在windows下用ssh工具putty连接 linux服务器, 很简单,在linux下要连接linux的服务器, 找了下,果然putty在linux中也行1,sudo apt-get insta ...

  9. android从应用到驱动之—camera(2)---cameraHAL的实现

    本来想用这一篇博客把cameraHAL的实现和流程都给写完的.搞了半天,东西实在是太多了.这篇先写cameraHAL的基本实现框架,下一篇在具体写camerahal的流程吧. cameraHAL的实现 ...

  10. Android View 绘制过程

    Android的View绘制是从根节点(Activity是DecorView)开始,他是一个自上而下的过程.View的绘制经历三个过程:Measure.Layout.Draw.基本流程如下图: per ...