15.1 关于时区与网络校时的通讯协议
使得每一部主机的时间同步化。
DHCP 客户端/服务器端所需要的租约时间限制、 网络侦测时所需要注意的时间点、刚刚谈到的登录文件分析功能、具有相关性的主机彼此之间的错误侦测、前一章谈到的丛集计算机群等等,都需要具有相同的时间才能够找出问题。
因为这种芯片的震荡周期在不同的芯片之间多多少少都会有点差异性,甚至同一批芯片也可能会或多或少有些许的差异 (就连温度也可能造成这样的误差呢),因此也就造成了 BIOS 的时间会经常的给他快了几秒或者慢了几秒。
仔细的算一算,会发现,一天快五秒,那么一个月快 2.5 分钟,一年就快了 75 分钟了!所以说,时间差是真的会存在的!那么如果你的计算机真的有这样的情况, 那要怎么来重新校正时间呢?那就需要『网络校时』 (Network Time Protocol, NTP) 的功能。
15.1.4 NTP通讯协议
- 软件时钟:由 Linux 操作系统根据 1970/01/01 开始计算的总秒数;
- 硬件时钟:主机硬件系统上面的时钟,例如 BIOS 记录的时间;
1. 首先,主机当然需要启动这个 daemon ,之后
2. Client 会向 NTP Server 发送出调校时间的 message ,
3. 然后 NTP Server 会送出目前的标准时间给 Client ,
4. Client 接收了来自 Server 的时间后,会据以调整自己的时间,就达成了网络校时!
问题:
client请求时间后,server发送给client这段时间过长,那么又会导致时间的不一致,那么如何解决?
解决:
1.一些服务会自动计算时间传送过程的误差,以更准确的校准自己的时间。
2.采用 server/client 及master/slave的架构,类似DNS:
如*的标准时间主机去国际标准时间主机校时,
然后各大院校再到*的标准时间校时,
最后,我们再到各大院校的标准时间校时。
ntp 是以 port 123 端口 (使用 UDP 封包),所以我们要利用 Time server 来进行时间的同步更新时,
就得要使用 NTP 软件提供的ntpdate 来进行 port 123 的联机。
15.1.5 NTP服务器的阶层概念
其实 NTP 的阶层概念与 DNS 很类似啦,当你架设一部 NTP 主机,这部 NTP 所向上要求同步化的那部主要主机为 stratum-1 时,那么你的 NTP 就是 stratum-2 !举例来说,如果我们的 NTP 是向*的 tock.stdtime.gov.tw 这部 stratum-2 的主机要求时间同步化,那我们的主机即为 stratum-3 ,如果还有其他的 NTP 主机向我们要求时间同步, 那么该部主机则会是 stratum-4 啦!就这样啊~ 那最多可以有几个阶层?最多可达 15 个阶层!