mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
298 lines
19 KiB
Markdown
298 lines
19 KiB
Markdown
网络时间的那些事情及 ntpq 详解
|
||
================================================================================
|
||
[Gentoo][1](也许其他发行版也是?)中 ["ntpq -p" 的 man page][2] 只有简短的描述:“*打印出该服务器已知的节点列表和它们的状态概要信息。*”
|
||
|
||
我还没见到关于这个命令的说明文档,因此这里对此作一个总结,可以补充进 "[man ntpq][3]" man page 中。更多的细节见这里 “[ntpq – 标准 NTP 请求程序][4]”(原作者),和 [其他关于 man ntpq 的例子][5].
|
||
|
||
[NTP][6] 是一个设计用于通过 [udp][9] 网络 ([WAN][7] 或者 [LAN][8]) 来同步计算机时钟的协议。引用 [Wikipedia – NTP][10]:
|
||
|
||
> 网络时间协议(英语:Network Time Protocol,NTP)一种协议和软件实现,用于通过使用有网络延迟的报文交换网络同步计算机系统间的时钟。最初由美国特拉华大学的 David L. Mills 设计,现在仍然由他和志愿者小组维护,它于 1985 年之前开始使用,是因特网中最老的协议之一。
|
||
|
||
想了解更多有关时间和 NTP 协议的知识,可以参考 “[The NTP FAQ, Time, what Time?][11]”和 [RFCs for NTP][12]。早期的“Network Time Protocol (Version 3) RFC” ([txt][13], or [pdf][14], Appendix E, The NTP Timescale and its Chronometry, p70) 包含了对过去 5000 年我们的计时系统的变化和关系的有趣解释。维基百科的文章 [Time][15] 和 [Calendar][16] 提供了更宏观的视角。
|
||
|
||
命令 "ntpq -q" 输出下面这样的一个表:
|
||
|
||
remote refid st t when poll reach delay offset jitter
|
||
==============================================================================
|
||
LOCAL(0) .LOCL. 10 l 96h 64 0 0.000 0.000 0.000
|
||
*ns2.example.com 10.193.2.20 2 u 936 1024 377 31.234 3.353 3.096
|
||
|
||
### 更多细节 ###
|
||
|
||
#### 表头 ####
|
||
|
||
|
||
- **remote** – 用于同步的远程节点或服务器。“LOCAL”表示本机 (当没有远程服务器可用时会出现)
|
||
- **refid** – 远程的服务器进行同步的更高一级服务器
|
||
- **st** – 远程节点或服务器的 [Stratum][17](级别,NTP 时间同步是分层的)
|
||
- **t** – 类型 (u: [unicast(单播)][18] 或 [manycast(选播)][19] 客户端, b: [broadcast(广播)][20] 或 [multicast(多播)][21] 客户端, l: 本地时钟, s: 对称节点(用于备份), A: 选播服务器, B: 广播服务器, M: 多播服务器, 参见“[Automatic Server Discovery][22]“)
|
||
- **when** – 最后一次同步到现在的时间 (默认单位为秒, “h”表示小时,“d”表示天)
|
||
- **poll** – 同步的频率:[rfc5905][23]建议在 NTPv4 中这个值的范围在 4 (16秒) 至 17 (36小时) 之间(即2的指数次秒),然而观察发现这个值的实际大小在一个小的多的范围内 :64 (2^6 )秒 至 1024 (2^10 )秒
|
||
- **reach** – 一个8位的左移移位寄存器值,用来测试能否和服务器连接,每成功连接一次它的值就会增加,以 [8 进制][24]显示
|
||
- **delay** – 从本地到远程节点或服务器通信的往返时间(毫秒)
|
||
- **offset** – 主机与远程节点或服务器时间源的时间偏移量,offset 越接近于0,主机和 NTP 服务器的时间越接近(以[方均根][25]表示,单位为毫秒)
|
||
- **jitter** – 与远程节点同步的时间源的平均偏差(多个时间样本中的 offset 的偏差,单位是毫秒),这个数值的绝对值越小,主机的时间就越精确
|
||
|
||
#### 字段的统计代码 ####
|
||
|
||
表中第一个字符(统计代码)是状态标识(参见 [Peer Status Word][26]),包含 " ","x","-","#","+","*","o":
|
||
|
||
- " " – 无状态,表示:
|
||
- 没有远程通信的主机
|
||
- "LOCAL" 即本机
|
||
- (未被使用的)高层级服务器
|
||
- 远程主机使用的这台机器作为同步服务器
|
||
- “**x**” – 已不再使用
|
||
- “**-**” – 已不再使用
|
||
- “**#**” – 良好的远程节点或服务器但是未被使用 (不在按同步距离排序的前六个节点中,作为备用节点使用)
|
||
- “**+**” – 良好的且优先使用的远程节点或服务器(包含在组合算法中)
|
||
- “*” – 当前作为优先主同步对象的远程节点或服务器
|
||
- “**o**” – PPS 节点 (当优先节点是有效时)。实际的系统同步是源于秒脉冲信号(pulse-per-second,PPS),可能通过PPS 时钟驱动或者通过内核接口。
|
||
|
||
参考 [Clock Select Algorithm][27].
|
||
|
||
#### refid ####
|
||
|
||
**refid** 有下面这些状态值
|
||
|
||
- 一个IP地址 – 远程节点或服务器的 [IP 地址][28]
|
||
- **.LOCL.** – 本机 (当没有远程节点或服务器可用时)
|
||
- **.PPS.** – 时间标准中的“[Pulse Per Second][29]”(秒脉冲)
|
||
- **.IRIG.** – [Inter-Range Instrumentation Group][30] 时间码
|
||
- **.ACTS.** – 美国 [NIST 标准时间][31] 电话调制器
|
||
- **.NIST.** –美国 NIST 标准时间电话调制器
|
||
- **.PTB.** – 德国 [PTB][32] 时间标准电话调制器
|
||
- **.USNO.** – 美国 [USNO 标准时间][33] 电话调制器
|
||
- **.CHU.** – [CHU][34] ([HF][35], Ottawa, ON, Canada) 标准时间无线电接收器
|
||
- **.DCFa.** – [DCF77][36] ([LF][37], Mainflingen, Germany) 标准时间无线电接收器
|
||
- **.HBG.** – [HBG][38] (LF Prangins, Switzerland) 标准时间无线电接收器
|
||
- **.JJY.** – [JJY][39] (LF Fukushima, Japan) 标准时间无线电接收器
|
||
- **.LORC.** – [LORAN][40]-C station ([MF][41]) 标准时间无线电接收器,注: [不再可用][42] (被 [eLORAN][43] 废弃)
|
||
- **.MSF.** – [MSF][44] (LF, Anthorn, Great Britain) 标准时间无线电接收器
|
||
- **.TDF.** – [TDF][45] (MF, Allouis, France)标准时间无线电接收器
|
||
- **.WWV.** – [WWV][46] (HF, Ft. Collins, CO, America) 标准时间无线电接收器
|
||
- **.WWVB.** – [WWVB][47] (LF, Ft. Collins, CO, America) 标准时间无线电接收器
|
||
- **.WWVH.** – [WWVH][48] (HF, Kauai, HI, America) 标准时间无线电接收器
|
||
- **.GOES.** – 美国[静止环境观测卫星][49];
|
||
- **.GPS.** – 美国 [GPS][50];
|
||
- **.GAL.** – [伽利略定位系统][51]欧洲 [GNSS][52];
|
||
- **.ACST.** – 选播服务器
|
||
- **.AUTH.** – 认证错误
|
||
- **.AUTO.** – Autokey (NTP 的一种认证机制)顺序错误
|
||
- **.BCST.** – 广播服务器
|
||
- **.CRYPT.** – Autokey 协议错误
|
||
- **.DENY.** – 服务器拒绝访问;
|
||
- **.INIT.** – 关联初始化
|
||
- **.MCST.** – 多播服务器
|
||
- **.RATE.** – (轮询) 速率超出限定
|
||
- **.TIME.** – 关联超时
|
||
- **.STEP.** – 间隔时长改变,偏移量比危险阈值小(1000ms) 比间隔时间 (125ms)大
|
||
|
||
#### 操作要点 ####
|
||
|
||
一个时间服务器只会报告时间信息而不会从客户端更新时间(单向更新),而一个节点可以更新其他同级节点的时间,结合出一个彼此同意的时间(双向更新)。
|
||
|
||
[初次启动][53]时:
|
||
|
||
> 除非使用 iburst 选项,客户端通常需要花几分钟来和服务器同步。如果客户端在启动时时间与 NTP 服务器的时间差大于 1000 秒,守护进程会退出并在系统日志中记录,让操作者手动设置时间差小于 1000 秒后再重新启动。如果时间差小于 1000 秒,但是大于 128 秒,会自动矫正间隔,并自动重启守护进程。
|
||
|
||
> 当第一次启动时,时间频率文件(通常是 ntp.drift 文件,记录时间偏移)不存在,守护进程进入一个特殊模式来矫正频率。当时钟不符合[规范][54]时这会需要 900 秒。当校正完成后,守护进程创建时间频率文件进入普通模式,并分步校正剩余的偏差。
|
||
|
||
NTP 0 层(Stratum 0 )的设备如原子钟(铯,铷),GPS 时钟或者其他标准时间的无线电时钟为 1 层(Stratum 1)的时间服务器提供时间信号。NTP 只报告[UTC][55] 时间(统一协调时,Coordinated Universal Time)。客户端程序使用[时区][56]从 UTC 导出本地时间。
|
||
|
||
NTP 协议是高精度的,使用的精度小于纳秒(2的 -32 次方)。主机的时间精度和其他参数(受硬件和操作系统限制)使用命令 “ntpq -c rl” 查看(参见 [rfc1305][57] 通用变量和 [rfc5905][58])。
|
||
|
||
#### “ntpq -c rl”输出参数 ####
|
||
|
||
- **precision** 为四舍五入值,且为 2 的幂数。因此精度为 2^precision (秒)
|
||
- **rootdelay** – 与同步网络中主同步服务器的总往返延时。注意这个值可以是正数或者负数,取决于时钟的精度。
|
||
- **rootdisp** – 相对于同步网络中主同步服务器的偏差(秒)
|
||
- **tc** – NTP 算法 [PLL][59] (phase locked loop,锁相环路) 或 [FLL][60] (frequency locked loop,锁频回路) 时间常量
|
||
- **mintc** – NTP 算法 PLL/FLL 最小时间常亮或“最快响应
|
||
- **offset** – 由结合算法得出的系统时钟偏移量(毫秒)
|
||
- **frequency** – 系统时钟频率
|
||
- **sys_jitter** – 由结合算法得出的系统时钟平均偏差(毫秒)
|
||
- **clk_jitter** – 硬件时钟平均偏差(毫秒)
|
||
- **clk_wander** – 硬件时钟偏移([PPM][61] – 百分之一)
|
||
|
||
Jitter (也叫 timing jitter) 表示短期变化大于10HZ 的频率, wander 表示长期变化大于10HZ 的频率 (Stability 表示系统的频率随时间的变化,和 aging, drift, trends 等是同义词)
|
||
|
||
#### 操作要点(续) ####
|
||
|
||
NTP 软件维护一系列连续更新的频率变化的校正值。对于设置正确的稳定系统,在非拥塞的网络中,现代硬件的 NTP 时钟同步通常与 UTC 标准时间相差在毫秒内。(在千兆 LAN 网络中可以达到何种精度?)
|
||
|
||
对于 UTC 时间,[闰秒 leap second ][62] 可以每两年插入一次用于同步地球自传的变化。注意本地时间为[夏令时][63]时时间会有一小时的变化。在重同步之前客户端设备会使用独立的 UTC 时间,除非客户端使用了偏移校准。
|
||
|
||
#### [闰秒发生时会怎样][64] ####
|
||
|
||
> 闰秒发生时,会对当天时间增加或减少一秒。闰秒的调整在 UTC 时间当天的最后一秒。如果增加一秒,UTC 时间会出现 23:59:60。即 23:59:59 到 0:00:00 之间实际上需要 2 秒钟。如果减少一秒,时间会从 23:59:58 跳至 0:00:00 。另见 [The Kernel Discipline][65].
|
||
|
||
那么… 间隔阈值(step threshold)的真实值是多少: 125ms 还是 128ms? PLL/FLL tc 的单位是什么 (log2 s? ms?)?在非拥塞的千兆 LAN 中时间节点间的精度能达到多少?
|
||
|
||
感谢 Camilo M 和 Chris B的评论。 欢迎校正错误和更多细节的探讨。
|
||
|
||
谢谢
|
||
Martin
|
||
|
||
### 附录 ###
|
||
|
||
- [NTP 的纪元][66] 从 1900 开始而 UNIX 的从 1970开始.
|
||
- [时间校正][67] 是逐渐进行的,因此时间的完全同步可能会画上几个小时。
|
||
- [节点状态][68] 可以被记录到 [summarise/plot time offsets and errors][69]
|
||
- [RMS][70] – 均方根
|
||
- [PLL][71] – 锁相环路
|
||
- [FLL][72] – 锁频回路
|
||
- [PPM][73] – 百万分之一,用于描述频率的变化
|
||
- [man ntpq (Gentoo 简明版本)][74]
|
||
- [man ntpq (长期维护版本)][75]
|
||
- [man ntpq (Gentoo 长期维护版本)][76]
|
||
|
||
### 另见 ###
|
||
|
||
- [ntpq – 标准 NTP 查询程序][77]
|
||
- [The Network Time Protocol (NTP) 分布][78]
|
||
- NTP 的简明[历史][79]
|
||
- 一个更多细节的简明历史 “Mills, D.L., A brief history of NTP time: confessions of an Internet timekeeper. Submitted for publication; please do not cite or redistribute” ([pdf][80])
|
||
- [NTP RFC][81] 标准文档
|
||
- Network Time Protocol (Version 3) RFC – [txt][82], or [pdf][83]. Appendix E, The NTP Timescale and its Chronometry, p70, 包含了对过去 5000 年我们的计时系统的变化和关系的有趣解释。
|
||
- 维基百科: [Time][84] 和 [Calendar][85]
|
||
- [John Harrison and the Longitude problem][86]
|
||
- [Clock of the Long Now][87] – The 10,000 Year Clock
|
||
- John C Taylor – [Chronophage][88]
|
||
- [Orders of magnitude of time][89]
|
||
- [Greenwich Time Signal][90]
|
||
|
||
### 其他 ###
|
||
|
||
SNTP (Simple Network Time Protocol, [RFC 4330][91],简单网络协议)基本上也是NTP,但是少了一些基于 [RFC 1305][92] 实现的 NTP 的一些不再需要的内部算法。
|
||
|
||
Win32 时间 [Windows Time Service][93] 是 SNTP 的非标准实现,没有精度的保证,并假设精度几乎有 1-2 秒的范围。(因为没有系统时间变化校正)
|
||
|
||
还有一个[PTP (IEEE 1588)][95] Precision Time Protocol(精准时间协议)。见维基百科:[Precision Time Protocol][96]。软件程序为 [PTPd][97]。虫咬的功能是这是一个 [LAN][98] 高精度主从同步系统,精度在毫秒级,使用 [International Atomic Time][99] (TAI, [monotonic][100],无闰秒)。数据报时间戳需要在网卡中启用。支持 PTP 的网络会对数据报记录时间戳以减少交换机路由器的影响。也可以在不记录时间戳的网络中使用 PTP 但可能应为时间偏差太大而无法同步。因此使用这个需要对网络进行设置。
|
||
|
||
### 更老的时间同步协议 ###
|
||
|
||
- DTSS – DEC公司的数字时间同步服务, 被 NTP 所取代。例子: [DTSS VMS C code c2000][101]。 (哪里有关于 DTSS 的文章或文档吗?)
|
||
- [DAYTIME protocol][102],使用 [TCP][103] 或 [UDP][104] 13 端口同步
|
||
- [ICMP Timestamp][105] 和 [ICMP Timestamp Reply][106],使用 [ICMP][107] 协议同步
|
||
- [Time Protocol][108],使用 TCP 或 UDP 37 号端口同步
|
||
|
||
--------------------------------------------------------------------------------
|
||
|
||
via: http://nlug.ml1.co.uk/2012/01/ntpq-p-output/831
|
||
|
||
作者:Martin L
|
||
译者:[Liao](https://github.com/liaosishere)
|
||
校对:[wxy](https://github.com/wxy)
|
||
|
||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||
|
||
[1]:http://www.gentoo.org/
|
||
[2]:http://nlug.ml1.co.uk/2012/01/man-ntpq-gentoo-brief-version/853
|
||
[3]:http://www.thelinuxblog.com/linux-man-pages/1/ntpq
|
||
[4]:http://www.eecis.udel.edu/~mills/ntp/html/ntpq.html
|
||
[5]:http://linux.die.net/man/8/ntpq
|
||
[6]:http://www.ntp.org/
|
||
[7]:http://en.wikipedia.org/wiki/Wide_area_network
|
||
[8]:http://en.wikipedia.org/wiki/Local_area_network
|
||
[9]:http://en.wikipedia.org/wiki/User_Datagram_Protocol
|
||
[10]:http://en.wikipedia.org/wiki/Network_Time_Protocol
|
||
[11]:http://www.ntp.org/ntpfaq/NTP-s-time.htm
|
||
[12]:http://www.ntp.org/rfc.html
|
||
[13]:http://www.ietf.org/rfc/rfc1305.txt
|
||
[14]:http://www.rfc-editor.org/rfc/rfc1305.pdf
|
||
[15]:http://en.wikipedia.org/wiki/Time
|
||
[16]:http://en.wikipedia.org/wiki/Calendar
|
||
[17]:http://en.wikipedia.org/wiki/Network_Time_Protocol#Clock_strata
|
||
[18]:http://en.wikipedia.org/wiki/Unicast
|
||
[19]:http://www.eecis.udel.edu/~mills/ntp/html/manyopt.html#mcst
|
||
[20]:http://en.wikipedia.org/wiki/Broadcasting_%28computing%29
|
||
[21]:http://en.wikipedia.org/wiki/Multicast
|
||
[22]:http://www.eecis.udel.edu/~mills/ntp/html/manyopt.html
|
||
[23]:http://www.ietf.org/rfc/rfc5905.txt
|
||
[24]:http://en.wikipedia.org/wiki/Octal#In_computers
|
||
[25]:http://en.wikipedia.org/wiki/Root_mean_square
|
||
[26]:http://www.eecis.udel.edu/~mills/ntp/html/decode.html#peer
|
||
[27]:http://www.eecis.udel.edu/~mills/ntp/html/select.html
|
||
[28]:http://en.wikipedia.org/wiki/Ip_address
|
||
[29]:http://en.wikipedia.org/wiki/Pulse_per_second
|
||
[30]:http://en.wikipedia.org/wiki/Inter-Range_Instrumentation_Group
|
||
[31]:http://en.wikipedia.org/wiki/Standard_time_and_frequency_signal_service
|
||
[32]:http://www.ptb.de/index_en.html
|
||
[33]:http://en.wikipedia.org/wiki/United_States_Naval_Observatory#Time_service
|
||
[34]:http://en.wikipedia.org/wiki/CHU_%28radio_station%29
|
||
[35]:http://en.wikipedia.org/wiki/High_frequency
|
||
[36]:http://en.wikipedia.org/wiki/DCF77
|
||
[37]:http://en.wikipedia.org/wiki/Low_frequency
|
||
[38]:http://en.wikipedia.org/wiki/HBG_%28time_signal%29
|
||
[39]:http://en.wikipedia.org/wiki/JJY#Time_standards
|
||
[40]:http://en.wikipedia.org/wiki/LORAN#Timing_and_synchronization
|
||
[41]:http://en.wikipedia.org/wiki/Medium_frequency
|
||
[42]:http://en.wikipedia.org/wiki/LORAN#The_future_of_LORAN
|
||
[43]:http://en.wikipedia.org/wiki/LORAN#eLORAN
|
||
[44]:http://en.wikipedia.org/wiki/Time_from_NPL#The_.27MSF_signal.27_and_the_.27Rugby_clock.27
|
||
[45]:http://en.wikipedia.org/wiki/T%C3%A9l%C3%A9_Distribution_Fran%C3%A7aise
|
||
[46]:http://en.wikipedia.org/wiki/WWV_%28radio_station%29#Time_signals
|
||
[47]:http://en.wikipedia.org/wiki/WWVB
|
||
[48]:http://en.wikipedia.org/wiki/WWVH
|
||
[49]:http://en.wikipedia.org/wiki/GOES#Further_reading
|
||
[50]:http://en.wikipedia.org/wiki/Gps#Timekeeping
|
||
[51]:http://en.wikipedia.org/wiki/Galileo_%28satellite_navigation%29#The_concept
|
||
[52]:http://en.wikipedia.org/wiki/Gnss
|
||
[53]:http://www.eecis.udel.edu/~mills/ntp/html/debug.html
|
||
[54]:http://www.ntp.org/ntpfaq/NTP-s-algo-kernel.htm
|
||
[55]:http://en.wikipedia.org/wiki/Coordinated_Universal_Time
|
||
[56]:http://en.wikipedia.org/wiki/Time_zone
|
||
[57]:http://www.ietf.org/rfc/rfc1305.txt
|
||
[58]:http://www.ietf.org/rfc/rfc5905.txt
|
||
[59]:http://en.wikipedia.org/wiki/PLL
|
||
[60]:http://en.wikipedia.org/wiki/Frequency-locked_loop
|
||
[61]:http://en.wikipedia.org/wiki/Parts_per_million
|
||
[62]:http://en.wikipedia.org/wiki/Leap_second
|
||
[63]:http://en.wikipedia.org/wiki/Daylight_saving_time
|
||
[64]:http://www.ntp.org/ntpfaq/NTP-s-time.htm#Q-TIME-LEAP-SECOND
|
||
[65]:http://www.ntp.org/ntpfaq/NTP-s-algo-kernel.htm
|
||
[66]:http://www.ntp.org/ntpfaq/NTP-s-algo.htm#AEN1895
|
||
[67]:http://www.ntp.org/ntpfaq/NTP-s-algo.htm#Q-ACCURATE-CLOCK
|
||
[68]:http://www.ntp.org/ntpfaq/NTP-s-trouble.htm#Q-TRB-MON-STATFIL
|
||
[69]:http://www.ntp.org/ntpfaq/NTP-s-trouble.htm#AEN5086
|
||
[70]:http://en.wikipedia.org/wiki/Root_mean_square
|
||
[71]:http://en.wikipedia.org/wiki/PLL
|
||
[72]:http://en.wikipedia.org/wiki/Frequency-locked_loop
|
||
[73]:http://en.wikipedia.org/wiki/Parts_per_million
|
||
[74]:http://nlug.ml1.co.uk/2012/01/man-ntpq-gentoo-brief-version/853
|
||
[75]:http://nlug.ml1.co.uk/2012/01/man-ntpq-long-version/855
|
||
[76]:http://nlug.ml1.co.uk/2012/01/man-ntpq-gentoo-long-version/856
|
||
[77]:http://www.eecis.udel.edu/~mills/ntp/html/ntpq.html
|
||
[78]:http://www.eecis.udel.edu/~mills/ntp/html/index.html
|
||
[79]:http://www.ntp.org/ntpfaq/NTP-s-def-hist.htm
|
||
[80]:http://www.eecis.udel.edu/~mills/database/papers/history.pdf
|
||
[81]:http://www.ntp.org/rfc.html
|
||
[82]:http://www.ietf.org/rfc/rfc1305.txt
|
||
[83]:http://www.rfc-editor.org/rfc/rfc1305.pdf
|
||
[84]:http://en.wikipedia.org/wiki/Time
|
||
[85]:http://en.wikipedia.org/wiki/Calendar
|
||
[86]:http://www.rmg.co.uk/harrison
|
||
[87]:http://longnow.org/clock/
|
||
[88]:http://johnctaylor.com/
|
||
[89]:http://en.wikipedia.org/wiki/Orders_of_magnitude_%28time%29
|
||
[90]:http://en.wikipedia.org/wiki/Greenwich_Time_Signal
|
||
[91]:http://tools.ietf.org/html/rfc4330
|
||
[92]:http://tools.ietf.org/html/rfc1305
|
||
[93]:http://en.wikipedia.org/wiki/Network_Time_Protocol#Microsoft_Windows
|
||
[94]:http://en.wikipedia.org/wiki/Personal_computer
|
||
[95]:http://www.nist.gov/el/isd/ieee/ieee1588.cfm
|
||
[96]:http://en.wikipedia.org/wiki/IEEE_1588
|
||
[97]:http://ptpd.sourceforge.net/
|
||
[98]:http://en.wikipedia.org/wiki/Local_area_network
|
||
[99]:http://en.wikipedia.org/wiki/International_Atomic_Time
|
||
[100]:http://en.wikipedia.org/wiki/Monotonic_function
|
||
[101]:http://antinode.info/ftp/dtss_ntp/
|
||
[102]:http://en.wikipedia.org/wiki/DAYTIME
|
||
[103]:http://en.wikipedia.org/wiki/Transmission_Control_Protocol
|
||
[104]:http://en.wikipedia.org/wiki/User_Datagram_Protocol
|
||
[105]:http://en.wikipedia.org/wiki/ICMP_Timestamp
|
||
[106]:http://en.wikipedia.org/wiki/ICMP_Timestamp_Reply
|
||
[107]:http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol
|
||
[108]:http://en.wikipedia.org/wiki/Time_Protocol
|