检查肝挂什么科| 胃窦炎吃什么药| 梦见摘辣椒是什么意思| 女人的逼长什么样| 大什么针| 浒苔是什么| experiment是什么意思| 指滑是什么意思| 什么是有机物什么是无机物| 超脱是什么意思| 吃什么能补血| 老年人脚肿是什么原因引起的| 二甲医院是什么级别| 少帅是什么军衔| 发福是什么意思| 供不应求是什么意思| 伊面是什么面| 吃什么肉不会胖又减肥| 蚂蟥是什么| 局级干部是什么级别| 玉屏风颗粒治什么病| 朱元璋代表什么生肖| 调戏是什么意思| 办慢性病有什么好处| hazzys是什么牌子| 两对半是什么意思| 唇周发黑是什么原因| 耳石症是什么| 腹腔气体多是什么原因| 子欲养而亲不待是什么意思| 催乳素高是什么原因| 肝火旺吃什么中药| 眼睛充血是什么原因| ovs是什么品牌| 人为什么需要诗歌| 张郃字什么| 感冒为什么会流眼泪| 女人腰疼是什么原因引起的| 什么水果降火效果最好| 唐僧成了什么佛| 艾叶泡水喝有什么功效| 脂蛋白是什么意思| 孩子病毒感染吃什么药| 什么是调剂| 维生素c阴性什么意思| 什么食物含dha| 专科什么专业就业前景好| 感冒为什么会打喷嚏| 大公鸡是什么牌子| 画肖指什么生肖| 体外射精是什么| 剖腹产坐月子吃什么| 女孩名字带什么字好听| 化疗期间吃什么| 2月12日什么星座| 2014年什么年| 食道癌有什么症状| 嗜酸性粒细胞高是什么原因| 嘴上长痘痘是什么原因| 杏花代表什么生肖| pd是什么金属| 右肺中叶小结节是什么意思严重吗| 没落是什么意思| 梦见买袜子是什么意思| 什么网名好听| dvf是什么档次的牌子| 孕妇为什么会便秘| 诸葛亮长什么样| 阴液是什么| 六味地黄丸什么牌子好| 手背出汗是什么原因| moncler是什么品牌| 九分裤配什么鞋| giuseppe是什么牌子| cd8高是什么原因| gas是什么意思| 洗完牙需要注意什么| 吃什么促进消化| 女人梦到蛇是什么意思| 女人矜持是什么意思| 月关是什么意思| 幽门螺杆菌阳性什么意思| 淫秽是什么意思| 喝酒后胃不舒服吃什么药| 占卜是什么意思| 尿糖阴性什么意思| 独占鳌头是什么意思| hpv51阳性是什么意思| 分割线是什么意思| 快闪店是什么意思| loa是什么胎位| 真菌菌丝阳性什么意思| 做深蹲有什么好处| 鸡蛋吃多了有什么坏处| 马不停蹄是什么生肖| 天蝎座是什么性格| 吃什么最补胶原蛋白| 蟋蟀吃什么东西| seifini是什么牌子| 中暑吃什么药见效快| ag医学上是什么意思| 康斯坦丁是什么意思| 长痱子用什么药| 肾透析是什么意思| o型血孩子父母是什么血型| 窦道是什么意思| 查乳腺挂什么科| 10月29日是什么星座| 渴望是什么意思| 肝转氨酶高有什么危害| 幽门螺杆菌阳性是什么意思| 六三年属什么生肖| 伛偻是什么意思| 为什么会胃胀气| 鬓角长痘痘是什么原因| 审时度势是什么意思| 乌龟死了是什么样子| 趋是什么意思| 总胆红素偏高是什么意思| 骨灰盒什么材质的好| 一九三九年属什么生肖| 月抛什么意思| 信指什么生肖| 正装是什么意思| tt是什么| 心肌酶是什么| 什么手机像素好| mt是什么| 结晶是什么| 过敏了吃什么药| 夸张是什么意思| 未属什么五行| 8月23日是什么星座| 少年白头发是什么原因| 十二朵玫瑰花代表什么意思| 尿路感染吃什么药最好| 食是代表什么生肖| 附件炎是什么引起的| 眉心中间有痣代表什么| 桂花是什么季节开的| 生产是什么意思| cpi指数上涨意味着什么| 精神心理科主要治疗什么疾病| 莲花有什么寓意| 取环挂什么科室| 积水是什么意思| 腿无力是什么原因| 农历五月是什么月| 为什么会尿频尿急| 1972年属什么| 感冒发烧挂什么科室| 4月25号什么星座| 惊为天人是什么意思| 沙中土命什么意思| 羊肉补什么| 家庭主妇是什么意思| 38属什么| 地中海贫血有什么症状| 沙门氏菌是什么| 狗为什么怕猫| 胆结石吃什么排石最快| 红楼梦为什么是四大名著之首| 过敏性紫癜是什么症状| 一件代发是什么意思| 喜丧是什么意思| 橘色五行属什么| 待定是什么意思| 为什么大便会拉出血| 为什么会得阴虱| 为什么叫香港脚| 弥漫性病变是什么意思| 蛇是什么号码| 什么叫猥亵| 什么是花胶| 左氧氟沙星的功效是什么| 寒露是什么意思| 什么药治痔疮最快| o型血吃什么瘦的最快| 暂时无法接通是什么意思| 圣罗兰为什么叫杨树林| 洗洗睡吧什么意思| 梦见头上长虱子是什么意思| 肠系膜多发淋巴结是什么意思| 自控能力是什么意思| 汉城为什么改名叫首尔| 怕是什么生肖| 破执是什么意思| 小白鼠吃什么| 怀孕不可以吃什么东西| 前置是什么意思| 钙化是什么意思啊| 89年的属什么| 荨麻疹可以涂什么药膏| 绿萝叶子发黄是什么原因| 口舌生疮吃什么药| 鱼加思读什么| 军绿色裤子配什么上衣| 木辛读什么| 肝病吃什么药| 血压高吃什么好| 氨酶偏高是什么意思| 结婚登记需要什么| 春捂秋冻指的是什么意思| 北豆腐是什么| 补维生素吃什么好| 血糖高吃什么水果最好| 羽字属于五行属什么| 吃什么有助于消化| 脑卒中是什么意思| 肝病初期有什么症状| 绿字五行属什么| ms什么意思| 甲减是什么| 糜烂性胃炎可以吃什么蔬菜| 手术室为什么在三楼| 避孕套是什么| 系统b超主要检查什么| 什么方法| 是谁在敲打我窗是什么歌| 上发条是什么意思| 降血糖的草都有什么草| 囊肿是什么原因造成的| 1211是什么星座| 梦见家里水管漏水是什么意思| 一比吊糟什么意思| 上不下要念什么| 猫睡在枕头旁说明什么| 来来来喝完这杯还有三杯是什么歌| 胃不好早餐吃什么好| 海马萎缩是什么情况| 为什么睡觉会流口水| 金牛座和什么星座不合| 肺结节挂什么科室| 腹泻吃什么药最有效| 风湿因子高是什么原因引起的| 热鸡蛋滚脸有什么作用| 地动山摇是什么生肖| 脖子黑是什么原因| 白头发吃什么可以改善| 安赛蜜是什么东西| pr间期延长是什么意思| 股骨径是指胎儿什么| 6月26号是什么日子| 兰若是什么意思| 止吐针是什么药| 湿疹擦什么药好| 血便是什么原因引起的| 小便无力是什么原因| 温度计里面红色液体是什么| 七月是什么月| 山穷水尽的尽是什么意思| 可乐必妥是什么药| 经常手淫会有什么危害| 流产期间吃什么好| 气血两虚吃什么药| 什么是宫颈息肉| 左下腹疼痛是什么原因| 表哥的女儿叫什么| 平衡液是什么| 生姜红糖水有什么作用| 冶阳萎什么药最有效| 二月二十三日是什么星座| 头皮发痒是什么原因引起的| 割掉胆对人有什么影响| 百度Jump to content

梦见好多黄鳝是什么意思

From Wikipedia, the free encyclopedia
This is the current revision of this page, as edited by Folkezoft (talk | contribs) at 17:59, 23 July 2025 (General fixes via AutoWikiBrowser). The present address (URL) is a permanent link to this version.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
百度 打造真实感品牌,以户外社区推广运动始祖鸟最核心的理念是服务消费者,消费者是社区概念的导向,相比高调的进行宣传性广告的活动,始祖鸟更加投入在社区可持续性的成长,帮助消费者更加深入的了解产品的需求和推广运动。

Network Time Protocol
International standardRFC 5905
Developed byDavid L. Mills, Harlan Stenn, Network Time Foundation
Introduced1985; 40 years ago (1985)

The Network Time Protocol (NTP) is a networking protocol for clock synchronization between computer systems over packet-switched, variable-latency data networks. In operation since before 1985, NTP is one of the oldest Internet protocols in current use. NTP was designed by David L. Mills of the University of Delaware.

NTP is intended to synchronize participating computers to within a few milliseconds of Coordinated Universal Time (UTC).[1]:?3? It uses the intersection algorithm, a modified version of Marzullo's algorithm, to select accurate time servers and is designed to mitigate the effects of variable network latency. NTP can usually maintain time to within tens of milliseconds over the public Internet, and can achieve better than one millisecond accuracy in local area networks under ideal conditions. Asymmetric routes and network congestion can cause errors of 100 ms or more.[2][3]

The protocol is usually described in terms of a client–server model, but can as easily be used in peer-to-peer relationships where both peers consider the other to be a potential time source.[1]:?20? Implementations send and receive timestamps using the User Datagram Protocol (UDP); the service is normally on port number 123, and in some modes both sides use this port number.[4][5]:?16? They can also use broadcasting or multicasting, where clients passively listen to time updates after an initial round-trip calibrating exchange.[3] NTP supplies a warning of any impending leap second adjustment, but no information about local time zones or daylight saving time is transmitted.[2][3]

The current protocol is version 4 (NTPv4),[5] which is backward compatible with version 3.[6]

Clock synchronization algorithm

[edit]
Round-trip delay time δ

A typical NTP client regularly polls one or more NTP servers. The client must compute its time offset and round-trip delay. Time offset θ is the positive or negative (client time > server time) difference in absolute time between the two clocks. It is defined by

and the round-trip delay δ by where

  • t0 is the client's timestamp of the request packet transmission,
  • t1 is the server's timestamp of the request packet reception,
  • t2 is the server's timestamp of the response packet transmission and
  • t3 is the client's timestamp of the response packet reception.[1]:?19?

To derive the expression for the offset, note that for the request packet, and for the response packet, Solving for θ yields the definition of the time offset.

The values for θ and δ are passed through filters and subjected to statistical analysis ("mitigation"). Outliers are discarded and an estimate of time offset is derived from the best three remaining candidates. The clock frequency is then adjusted to reduce the offset gradually ("discipline"), creating a feedback loop.[1]:?20?

Accurate synchronization is achieved when both the incoming and outgoing routes between the client and the server have symmetrical nominal delay. If the routes do not have a common nominal delay, a systematic bias exists of half the difference between the forward and backward travel times. A number of approaches have been proposed to measure asymmetry,[7] but among practical implementations only chrony seems to have one included.[8][9]

History

[edit]
NTP was designed by David L. Mills.

In 1979, network time synchronization technology was used in what was possibly the first public demonstration of Internet services running over a trans-Atlantic satellite network, at the National Computer Conference in New York. The technology was later described in the 1981 Internet Engineering Note (IEN) 173[21] and a public protocol was developed from it that was documented in RFC 778. The technology was first deployed in a local area network as part of the Hello routing protocol and implemented in the Fuzzball router, an experimental operating system used in network prototyping, where it ran for many years.

Other related network tools were available both then and now. They include the Daytime and Time protocols for recording the time of events, as well as the ICMP Timestamp messages and IP Timestamp option (RFC 781). More complete synchronization systems, although lacking NTP's data analysis and clock disciplining algorithms, include the Unix daemon timed, which uses an election algorithm to appoint a server for all the clients;[22] and the Digital Time Synchronization Service (DTSS), which uses a hierarchy of servers similar to the NTP stratum model.

In 1985, NTP version 0 (NTPv0) was implemented in both Fuzzball and Unix, and the NTP packet header and round-trip delay and offset calculations, which have persisted into NTPv4, were documented in RFC 958. Despite the relatively slow computers and networks available at the time, accuracy of better than 100 milliseconds was usually obtained on Atlantic spanning links, with accuracy of tens of milliseconds on Ethernet networks.

In 1988, a much more complete specification of the NTPv1 protocol, with associated algorithms, was published in RFC 1059. It drew on the experimental results and clock filter algorithm documented in RFC 956 and was the first version to describe the client–server and peer-to-peer modes. In 1991, the NTPv1 architecture, protocol and algorithms were brought to the attention of a wider engineering community with the publication of an article by David L. Mills in the IEEE Transactions on Communications.[23]

In 1989, RFC 1119 was published defining NTPv2 by means of a state machine, with pseudocode to describe its operation. It introduced a management protocol and cryptographic authentication scheme which have both survived into NTPv4, along with the bulk of the algorithm. However the design of NTPv2 was criticized for lacking formal correctness by the DTSS community, and the clock selection procedure was modified to incorporate Marzullo's algorithm for NTPv3 onwards.[24]

In 1992, RFC 1305 defined NTPv3. The RFC included an analysis of all sources of error, from the reference clock down to the final client, which enabled the calculation of a metric that helps choose the best server where several candidates appear to disagree. Broadcast mode was introduced.

In subsequent years, as new features were added and algorithm improvements were made, it became apparent that a new protocol version was required.[25] In 2010, RFC 5905 was published containing a proposed specification for NTPv4.[26] Following the retirement of Mills from the University of Delaware, the reference implementation is currently maintained as an open source project led by Harlan Stenn.[27][28] On the IANA side, a ntp (network time protocols) work group is in charge of reviewing proposed drafts.[29]

The protocol has significantly progressed since NTPv4.[26] As of 2022, three RFC documents describing updates to the protocol have been published,[18][19][20] not counting the numerous peripheral standards[29] such as Network Time Security.[30] Mills had mentioned plans for a "NTPv5" on his page, but one was never published.[26] An unrelated draft termed "NTPv5" by M. Lichvar of chrony was initiated in 2020 and includes security, accuracy, and scaling changes.[31]

SNTP

[edit]

As NTP replaced the old Time Protocol, some use cases nevertheless found the full protocol too complicated. In 1992, Simple Network Time Protocol (SNTP) was defined to fill this niche. The SNTPv3 standard describes a way to use NTPv3 such that no storage of state over an extended period is needed. The topology becomes essentially the same as with the Time Protocol, as only one server is used.[13] In 1996, SNTP was updated to SNTPv4,[15] with some features of the then-in-development NTPv4. SNTPv4 was merged into the main NTPv4 standard in 2010.[5] SNTP is fully interoperable with NTP since it does not define a new protocol.[32]:?§14? However, the simple algorithms provide times of reduced accuracy and thus it is inadvisable to sync time from an SNTP source.[16]

Clock strata

[edit]
The U.S. Naval Observatory Alternate Master Clock at Schriever AFB (Colorado) is a stratum 0 source for NTP.
Yellow arrows indicate a direct connection; red arrows indicate a network connection.

NTP uses a hierarchical, semi-layered system of time sources. Each level of this hierarchy is termed a stratum and is assigned a number starting with zero for the reference clock at the top. A server synchronized to a stratum n server runs at stratum n + 1. The number represents the distance from the reference clock and is used to prevent cyclical dependencies in the hierarchy. Stratum is not always an indication of quality or reliability; it is common to find stratum 3 time sources that are higher quality than some stratum 2 time sources.[a] Brief descriptions of strata 0, 1, 2 and 3 are provided below.

Stratum 0
These are high-precision timekeeping devices such as atomic clocks, GNSS (including GPS) or other radio clocks, or PTP-synchronized clocks.[33] They generate a very accurate pulse per second signal that triggers an interrupt and timestamp on a connected computer. Stratum 0 devices are also known as reference clocks. NTP servers cannot advertise themselves as stratum 0; a stratum field set to 0 in an NTP message indicates an unspecified stratum.[5]:?21?
Stratum 1
These are computers whose system time is synchronized to within a few microseconds of their attached stratum 0 devices. Stratum 1 servers may peer with other stratum 1 servers for sanity check and backup.[34] They are also referred to as primary time servers.[2][3]
Stratum 2
These are computers that are synchronized over a network to stratum 1 servers. Often a stratum 2 computer queries several stratum 1 servers. Stratum 2 computers may also peer with other stratum 2 computers to provide more stable and robust time for all devices in the peer group.
Stratum 3
These are computers that are synchronized to stratum 2 servers. They employ the same algorithms for peering and data sampling as stratum 2, and can themselves act as servers for stratum 4 computers, and so on.

The upper limit for stratum is 15; stratum 16 is used to indicate that a device is unsynchronized. The NTP algorithms on each computer interact to construct a Bellman–Ford shortest-path spanning tree, to minimize the accumulated round-trip delay to the stratum 1 servers for all the clients.[1]:?20?

In addition to stratum, the protocol is able to identify the synchronization source for each server in terms of a reference identifier (refid).

Common time reference identifiers (refid) codes
Refid[35] Clock Source
GOES Geostationary Operational Environmental Satellite (described as “Geosynchronous Orbit Environment Satellite” in RFC 5905)
GPS Global Positioning System
GAL Galileo Positioning System
PPS Generic pulse-per-second
IRIG Inter-Range Instrumentation Group
WWVB LF Radio WWVB Fort Collins, Colorado 60 kHz
DCF/PZF[36] LF Radio DCF77 Mainflingen, DE 77.5 kHz
HBG LF Radio HBG Prangins, HB 75 kHz (ceased operation)
MSF LF Radio MSF Anthorn, UK 60 kHz
JJY LF Radio JJY Fukushima, JP 40 kHz, Saga, JP 60 kHz
LORC MF Radio Loran-C station, 100 kHz
TDF MF Radio Allouis, FR 162 kHz
CHU HF Radio CHU Ottawa, Ontario
WWV HF Radio WWV Fort Collins, Colorado
WWVH HF Radio WWVH Kauai, Hawaii
NIST NIST telephone modem
ACTS NIST telephone modem
USNO USNO telephone modem
PTB German PTB time standard telephone modem
MRS (Informal) Multi Reference Sources
GOOG (Unofficial) Google Refid used by Google NTP servers as time4.google.com

For servers on stratum 2 and below, the refid is an encoded form of the upstream time server's IP address. For IPv4, this is simply the 32-bit address; for IPv6, it would be the first 32 bits of the MD5 hash of the source address. Refids serve to detect and prevent timing loops to the first degree.[5]

The refid field is filled with status words in the case of kiss-o'-death (KoD) packets, which tell the client to stop sending requests so that the server can rest.[5] Some examples are INIT (initialization), STEP (step time change), and RATE (client requesting too fast).[37] The program output may additionally use codes not transmitted in the packet to indicate error, such as XFAC to indicate a network disconnection.[35]

The IANA maintains a registry for refid source names and KoD codes. Informal assignments can still appear.[38]

Software implementations

[edit]
The NTP management protocol utility ntpq under Windows 11 being used to query the state of stratum 1 time servers and verify proper operation of the client

Reference implementation

[edit]

The NTP reference implementation, along with the protocol, has been continuously developed for over 20 years. Backwards compatibility has been maintained as new features have been added. It contains several sensitive algorithms, especially to discipline the clock, that can misbehave when synchronized to servers that use different algorithms. The software has been ported to almost every computing platform, including personal computers. It runs as a daemon called ntpd under Unix or as a service under Windows. Reference clocks are supported and their offsets are filtered and analysed in the same way as remote servers, although they are usually polled more frequently.[1]:?15–19? This implementation was audited in 2017, finding 14 potential security issues.[39]

Windows Time

[edit]

All Microsoft Windows versions since Windows 2000 include the Windows Time service (W32Time),[40] which has the ability to synchronize the computer clock to an NTP server.

W32Time was originally implemented for the purpose of the Kerberos version 5 authentication protocol, which required time to be within 5 minutes of the correct value to prevent replay attacks. The network time server in Windows 2000 Server (and Windows XP) does not implement NTP disciplined synchronization, only locally disciplined synchronization with NTP/SNTP correction.[41]

Beginning with Windows Server 2003 and Windows Vista, the NTP provider for W32Time became compatible with a significant subset of NTPv3.[42] Microsoft states that W32Time cannot reliably maintain time synchronization with one second accuracy.[43] If higher accuracy is desired, Microsoft recommends using a newer version of Windows or different NTP implementation.[44]

Beginning with Windows 10 version 1607 and Windows Server 2016, W32Time can be configured to reach time accuracy of 1 s, 50 ms or 1 ms under certain specified operating conditions.[45][43][46]

OpenNTPD

[edit]

In 2004, Henning Brauer of OpenBSD presented OpenNTPD, an NTPv3/SNTPv4[47] implementation with a focus on security and encompassing a privilege separated design. Whilst it is aimed more closely at the simpler generic needs of OpenBSD users, it also includes some protocol security improvements while still being compatible with existing NTP servers. The simpler code base sacrifices accuracy, deemed unnecessary in this use case.[48] A portable version is available in Linux package repositories.

NTPsec

[edit]

NTPsec is a fork of the reference implementation that has been systematically security-hardened. The fork point was in June 2015 and was in response to a series of compromises in 2014.[49] The first production release shipped in October 2017.[50] Between removal of unsafe features, removal of support for obsolete hardware, and removal of support for obsolete Unix variants, NTPsec has been able to pare away 75% of the original codebase, making the remainder easier to audit.[51] A 2017 audit of the code showed eight security issues, including two that were not present in the original reference implementation, but NTPsec did not suffer from eight other issues that remained in the reference implementation.[52]

chrony

[edit]
chronyc, showing Network Time Security (NTS) sources and activity information

chrony is an independent NTP implementation mainly sponsored by Red Hat, who uses it as the default time program in their distributions.[53] Being written from scratch, chrony has a simpler codebase allowing for better security[54] and lower resource consumption.[55] It does not however compromise on accuracy, instead syncing faster and better than the reference ntpd in many circumstances. It is versatile enough for ordinary computers, which are unstable, go into sleep mode or have intermittent connection to the Internet. It is also designed for virtual machines, a more unstable environment.[56]

chrony has been evaluated as "trustworthy", with only a few incidents.[57] It is able to achieve improved precision on LAN connections, using hardware timestamping on the network adapter.[8] Support for Network Time Security (NTS) was added on version 4.0.[58] chrony is available under GNU General Public License version 2, was created by Richard Curnow in 1997 and is currently maintained by Miroslav Lichvar.[55]

ntpd-rs

[edit]
ntp-ctl (part of ntpd-rs), showing synchronization information and NTS sources

ntpd-rs is a security-focused implementation of the NTP protocol, founded by the Internet Security Research Group as part of their Prossimo initiative for the creation of memory safe Internet infrastructure. ntpd-rs is implemented in Rust programming language which offers memory safety guarantees in addition to the Real-time computing capabilities which are required for an NTP implementation. ntpd-rs is used in security-sensitive environments such as the Let's Encrypt non-profit Certificate Authority.[59] Support for NTS is available.[60] ntpd-rs is part of the "Pendulum" project which also includes a Precision Time Protocol implementation "statime". Both projects are available under Apache and MIT software licenses.

Others

[edit]
  • Ntimed was started by Poul-Henning Kamp of FreeBSD in 2014 and abandoned in 2015.[61] The implementation was sponsored by the Linux Foundation.[62]
  • systemd-timesyncd is the SNTP client built into systemd. It is used by Debian since version "bookworm"[63] and the downstream Ubuntu.

Leap seconds

[edit]

On the day of a leap second event, ntpd receives notification from either a configuration file, an attached reference clock, or a remote server. Although the NTP clock is actually halted during the event, because of the requirement that time must appear to be strictly increasing, any processes that query the system time cause it to increase by a tiny amount, preserving the order of events. If a negative leap second should ever become necessary, it would be deleted with the sequence 23:59:58, 00:00:00, skipping 23:59:59.[64]

An alternative implementation, called leap smearing, consists in introducing the leap second incrementally during a period of 24 hours, from noon to noon in UTC time. This implementation is used by Google (both internally and on their public NTP servers), Amazon AWS,[65] and Facebook.[66] chrony supports leap smear in smoothtime and leapsecmode configurations, but such use is not to be mixed with a public NTP pool as leap smear is non-standard and will throw off client calculation in a mix.[67]

Security concerns

[edit]

Because adjusting system time is generally a privileged operation, part or all of NTP code has to be run with some privileges in order to support its core functionality. Only a few other security problems have been identified in the reference implementation of the NTP codebase, but those that appeared in 2009[which?] were cause for significant concern.[68][69] The protocol has been undergoing revision and review throughout its history. The codebase for the reference implementation has undergone security audits from several sources for several years.[70]

A stack buffer overflow exploit was discovered and patched in 2014.[71] Apple was concerned enough about this vulnerability that it used its auto-update capability for the first time.[72] On systems using the reference implementation, which is running with root user's credential, this could allow unlimited access. Some other implementations, such as OpenNTPD, have smaller code base and adopted other mitigation measures like privilege separation, are not subject to this flaw.[73]

A 2017 security audit of three NTP implementations, conducted on behalf of the Linux Foundation's Core Infrastructure Initiative, suggested that both NTP[74][75] and NTPsec[76] were more problematic than chrony[77] from a security standpoint.[78]

NTP servers can be susceptible to man-in-the-middle attacks unless packets are cryptographically signed for authentication.[79] The computational overhead involved can make this impractical on busy servers, particularly during denial of service attacks.[80] NTP message spoofing from a man-in-the-middle attack can be used to alter clocks on client computers and allow a number of attacks based on bypassing of cryptographic key expiration.[81] Some of the services affected by fake NTP messages identified are TLS, DNSSEC, various caching schemes (such as DNS cache), Border Gateway Protocol (BGP), Bitcoin [citation needed]and a number of persistent login schemes.[82][83]

NTP has been used in distributed denial of service attacks.[84][85] A small query is sent to an NTP server with the return IP address spoofed to be the target address. Similar to the DNS amplification attack, the server responds with a much larger reply that allows an attacker to substantially increase the amount of data being sent to the target. To avoid participating in an attack, NTP server software can be upgraded or servers can be configured to ignore external queries.[86]

Secure extensions

[edit]

NTP itself includes support for authenticating servers to clients. NTPv3 supports a symmetric key mode, which is not useful against MITM. The public key system known as "autokey" in NTPv4 adapted from IPSec offers useful authentication,[79] but is not practical for a busy server.[80] Autokey was also later found to suffer from several design flaws,[87] with no correction published, save for a change in the message authentication code.[19] Autokey should no longer be used.[88]

Network Time Security (NTS) is a secure version of NTPv4 with TLS and AEAD.[89] The main improvement over previous attempts is that a separate "key establishment" server handles the heavy asymmetric cryptography, which needs to be done only once. If the server goes down, previous users would still be able to fetch time without fear of MITM.[30] NTS is supported by several NTP servers including Cloudflare and Netnod.[90][91] It can be enabled on chrony, NTPsec, and ntpd-rs.[92]

Microsoft also has an approach to authenticate NTPv3/SNTPv4 packets using a Windows domain identity, known as MS-SNTP.[93] This system is implemented in the reference ntpd and chrony, using samba for the domain connection.[94]

NTP packet header format

[edit]
NTP packet header format[5]:?§7.3?
Offset Octet 0 1 2 3
Octet Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 LI VN Mode Stratum Poll Precision
4 32 Root Delay
8 64 Root Dispersion
12 96 Reference ID
16 128 Reference Timestamp (64-bits)
20 160
24 192 Origin Timestamp (64-bits)
28 224
32 256 Receive Timestamp (64-bits)
36 288
40 320 Transmit Timestamp (64-bits)
44 352
48 384 Optional: Extension Field(s) (n * 32 bits)
52 416 Optional: Key Identifier (If a MAC is present)
56 448 Optional: Message Digest (dgst) (If a MAC is present)
60 480
64 512
68 544
LI (Leap Indicator): 2 bits
Warning of leap second insertion or deletion:
  • 0 = no warning
  • 1 = last minute has 61 seconds
  • 2 = last minute has 59 seconds
  • 3 = unknown (clock unsynchronized)
VN (Version Number): 3 bits
NTP version number, typically 4.
Mode: 3 bits
Association mode:
  • 0 = reserved
  • 1 = symmetric active
  • 2 = symmetric passive
  • 3 = client
  • 4 = server
  • 5 = broadcast
  • 6 = control
  • 7 = private
Stratum: 8 bits
Indicates the distance from the reference clock.
  • 0 = invalid
  • 1 = primary server
  • 2–15 = secondary
  • 16 = unsynchronized
Poll: 8 bits
Maximum interval between successive messages, in log?(seconds). Typical range is 6 to 10.
Precision: 8 bits
Signed log?(seconds) of system clock precision (e.g., –18 ≈ 1 microsecond).
Root Delay: 32 bits
Total round-trip delay to the reference clock, in NTP short format.
Root Dispersion: 32 bits
Total dispersion to the reference clock, in NTP short format.
Reference ID: 32 bits
Identifies the specific server or reference clock; interpretation depends on Stratum.
Reference Timestamp: 64 bits
Time when the system clock was last set or corrected, in NTP timestamp format.
Origin Timestamp (org): 64 bits
Time at the client when the request departed, in NTP timestamp format.
Receive Timestamp (rec): 64 bits
Time at the server when the request arrived, in NTP timestamp format.
Transmit Timestamp (xmt): 64 bits
Time at the server when the response left, in NTP timestamp format.
Extension Field: variable
Optional field(s) for NTP extensions (see [5], Section 7.5).
Key Identifier: 32 bits
Unsigned integer designating an MD5 key shared by the client and server.
Message Digest (MD5): 128 bits
MD5 hash covering the packet header and extension fields, used for authentication.

Timestamps

[edit]

The 64-bit binary fixed-point timestamps used by NTP consist of a 32-bit part for seconds and a 32-bit part for fractional second, giving a time scale that rolls over every 232 seconds (136 years) and a theoretical resolution of 2?32 seconds (233 picoseconds). NTP uses an epoch of January 1, 1900. Therefore, the first rollover occurs on February 7, 2036.[95][96]

NTPv4 introduces a 128-bit date format: 64 bits for the second and 64 bits for the fractional-second. The most-significant 32 bits of this format is the Era Number which resolves rollover ambiguity in most cases.[97] According to Mills, "The 64-bit value for the fraction is enough to resolve the amount of time it takes a photon to pass an electron at the speed of light. The 64-bit second value is enough to provide unambiguous time representation until the universe goes dim."[98][b]

See also

[edit]

Notes

[edit]
  1. ^ Telecommunication systems use a different definition for clock strata.
  2. ^ 2?64 seconds is about 54 zeptoseconds (light would travel 16.26 picometers, or approximately 0.31 × Bohr radius), and 264 seconds is about 585 billion years.

References

[edit]
  1. ^ a b c d e f David L. Mills (12 December 2010). Computer Network Time Synchronization: The Network Time Protocol. Taylor & Francis. pp. 12–. ISBN 978-0-8493-5805-0. Archived from the original on 18 July 2014. Retrieved 16 October 2016.
  2. ^ a b c "Executive Summary: Computer Network Time Synchronization". Archived from the original on 2 November 2011. Retrieved 21 November 2011.
  3. ^ a b c d "NTP FAQ". The NTP Project. Archived from the original on 6 September 2011. Retrieved 27 August 2011.
  4. ^ "Port Numbers". The Internet Assigned Numbers Authority (IANA). Archived from the original on 4 June 2001. Retrieved 19 January 2011.
  5. ^ a b c d e f g h i D. Mills; J. Burbank; W. Kasch (August 2010). J. Martin (ed.). Network Time Protocol Version 4: Protocol and Algorithms Specification. Internet Engineering Task Force. doi:10.17487/RFC5905. ISSN 2070-1721. RFC 5905. Proposed Standard. Obsoletes RFC 1305, 4330. Updated by RFC 7822, 8573 and 9109.
  6. ^ a b David L. Mills (March 1992). Network Time Protocol (Version 3) - Specification, Implementation and Analysis. Network Working Group. doi:10.17487/RFC1305. RFC 1305. Obsolete. Obsoleted by RFC 5905. Obsoletes RFC 958, 1059 and 1119.
  7. ^ Gotoh, T.; Imamura, K.; Kaneko, A. (2002). "Improvement of NTP time offset under the asymmetric network with double packets method". Conference Digest Conference on Precision Electromagnetic Measurements. Conference on Precision Electromagnetic Measurements. pp. 448–449. doi:10.1109/CPEM.2002.1034915. ISBN 0-7803-7242-5.
  8. ^ a b Lichvar, Miroslav (18 September 2018). "chrony – chrony.conf(5)". Chrony project. Retrieved 2 August 2020. This directive enables hardware timestamping of NTP packets sent to and received from the specified network interface.
  9. ^ "sourcestats.c, function estimate_asymmetry()". git.tuxfamily.org (chrony).
  10. ^ D. Mills (September 1985). Network Time Protocol (NTP). Network Working Group. doi:10.17487/RFC0958. RFC 958. Obsolete. Obsoleted by RFC 1059, 1119 and 1305.
  11. ^ D. Mills (July 1988). Network Time Protocol (Version 1) Specification and Implementation. Network Working Group. doi:10.17487/RFC1059. RFC 1059. Obsolete. Obsoleted by RFC 1119 and 1305.
  12. ^ D. Mills (September 1989). Network Time Protocol (Version 2) Specification and Implementation. Network Working Group. doi:10.17487/RFC1119. RFC 1119. Obsolete. Obsoleted by RFC 1305. Obsoletes RFC 958 and 1059.
  13. ^ a b D. Mills (August 1992). Type of Service in the Internet Protocol Suite. Network Working Group. doi:10.17487/RFC1361. RFC 1361. Obsolete. Obsoleted by RFC 1769.
  14. ^ D. Mills (March 1995). Simple Network Time Protocol (SNTP). Network Working Group. doi:10.17487/RFC1769. RFC 1769. Obsolete. Obsoleted by RFC 2030. Obsoletes RFC 1361.
  15. ^ a b D. Mills (October 1996). Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI. Network Working Group. doi:10.17487/RFC2030. RFC 2030. Obsolete. Obsoleted by RFC 4330. Obsoletes RFC 1769.
  16. ^ a b D. Mills (January 2006). Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI. Network Working Group. doi:10.17487/RFC4330. RFC 4330. Obsolete. Obsoletes RFC 2030 and 1769. Obsoleted by RFC 5905.
  17. ^ D.L. Mills (April 1981). DCNET Internet Clock Service. IETF. doi:10.17487/RFC0778. RFC 778. Historic.
  18. ^ a b T. Mizrahi; D. Mayer (March 2016). Network Time Protocol Version 4 (NTPv4) Extension Fields. Internet Engineering Task Force. doi:10.17487/RFC7822. ISSN 2070-1721. RFC 7822. Informational. Updates RFC 5905.
  19. ^ a b c A. Malhotra; S. Goldberg (June 2019). Message Authentication Code for the Network Time Protocol. Internet Engineering Task Force. doi:10.17487/RFC8573. ISSN 2070-1721. RFC 8573. Proposed Standard. Updates RFC 5905.
  20. ^ a b F. Gont; G. Gont; M. Lichvar (August 2021). Network Time Protocol Version 4: Port Randomization. Internet Engineering Task Force. doi:10.17487/RFC9109. ISSN 2070-1721. RFC 9109. Proposed Standard. Updates RFC 5905.
  21. ^ D.L. Mills (25 February 1981), Time Synchronization in DCNET Hosts, archived from the original on 30 December 1996
  22. ^ "TIMED(8)", UNIX System Manager's Manual, archived from the original on 22 July 2011, retrieved 12 September 2017
  23. ^ David L. Mills (October 1991). "Internet Time Synchronization: The Network Time Protocol" (PDF). IEEE Transactions on Communications. 39 (10): 1482–1493. Bibcode:1991ITCom..39.1482M. doi:10.1109/26.103043. Archived (PDF) from the original on 10 June 2016. Retrieved 6 November 2017.
  24. ^ David L. Mills (March 1992). Network Time Protocol (Version 3) - Specification, Implementation and Analysis. Network Working Group. doi:10.17487/RFC1305. RFC 1305. Obsolete. The clock-selection procedure was modified to remove the first of the two sorting/discarding steps and replace with an algorithm first proposed by Marzullo and later incorporated in the Digital Time Service. These changes do not significantly affect the ordinary operation of or compatibility with various versions of NTP, but they do provide the basis for formal statements of correctness.
  25. ^ David L. Mills (15 November 2010). Computer Network Time Synchronization: The Network Time Protocol on Earth and in Space, Second Edition. CRC Press. p. 377. ISBN 978-1-4398-1464-2.
  26. ^ a b c "Future Plans", Network Time Synchronization Research Project, archived from the original on 23 December 2014, retrieved 24 December 2014
  27. ^ "NTP Needs Money: Is A Foundation The Answer?". InformationWeek. 23 March 2015. Archived from the original on 10 April 2015. Retrieved 4 April 2015.
  28. ^ "NTP's Fate Hinges On 'Father Time'". InformationWeek. 11 March 2015. Archived from the original on 10 April 2015. Retrieved 4 April 2015.
  29. ^ a b "Network Time Protocols (ntp): Documents". datatracker.ietf.org. Retrieved 27 December 2022.
  30. ^ a b D. Franke; D. Sibold; K. Teichel; M. Dansarie; R. Sundblad (September 2020). Network Time Security for the Network Time Protocol. Internet Engineering Task Force. doi:10.17487/RFC8915. ISSN 2070-1721. RFC 8915. Proposed Standard.
  31. ^ Lichvar, Miroslav (6 December 2022). "Network Time Protocol Version 5". www.ietf.org.
  32. ^ D. Mills; J. Burbank; W. Kasch (August 2010). J. Martin (ed.). Network Time Protocol Version 4: Protocol and Algorithms Specification. Internet Engineering Task Force. doi:10.17487/RFC5905. ISSN 2070-1721. RFC 5905. Proposed Standard. Primary servers and clients complying with a subset of NTP, called the Simple Network Time Protocol (SNTPv4) [...], do not need to implement the mitigation algorithms [...] The fully developed NTPv4 implementation is intended for [...] servers with multiple upstream servers and multiple downstream servers [...] Other than these considerations, NTP and SNTP servers and clients are completely interoperable and can be intermixed [...]
  33. ^ "Combining PTP with NTP to Get the Best of Both Worlds". www.redhat.com. Programs from the linuxptp package can be used in a combination with an NTP daemon. A PTP clock on a NIC is synchronized by ptp4l and is used as a reference clock by chronyd or ntpd for synchronization of the system clock.
  34. ^ "Network Time Protocol: Best Practices White Paper". Archived from the original on 1 October 2013. Retrieved 15 October 2013.
  35. ^ a b "'ntpq -p' output". NLUG.ML1.co.uk. Archived from the original on 12 November 2018. Retrieved 12 November 2018.
  36. ^ "IMS-PZF: PZF (DCF77) Correlation Receiver (Eurocard)". Meinberg Funkuhren GmbH & Co KG. Retrieved 19 June 2025.
  37. ^ "Event Messages and Status Words". docs.ntpsec.org. Refid codes are used in kiss-o'-death (KoD) packets, the reference identifier field in ntpq and ntpmon billboard displays and log messages.
  38. ^ "Network Time Protocol (NTP) Parameters". www.iana.org.
  39. ^ "Pentest-Report NTP 01.2017" (PDF). Cure53. 2017. Archived (PDF) from the original on 1 December 2018. Retrieved 3 July 2019.
  40. ^ "Windows Time Service Technical Reference". technet.microsoft.com. 17 August 2011. Archived from the original on 6 September 2011. Retrieved 19 September 2011.
  41. ^ "Windows Time Service page at NTP.org". Support.NTP.org. 25 February 2008. Archived from the original on 14 May 2017. Retrieved 1 May 2017.
  42. ^ "How the Windows Time Service Works". technet.microsoft.com. 12 March 2010. Archived from the original on 24 September 2011. Retrieved 19 September 2011.
  43. ^ a b "Support boundary to configure the Windows Time service for high accuracy environments". Microsoft. 19 October 2011. Archived from the original on 12 January 2009. Retrieved 10 December 2008.
  44. ^ Ned Pyle (23 October 2007). "High Accuracy W32time Requirements". Microsoft. Archived from the original on 17 October 2012. Retrieved 26 August 2012.
  45. ^ "Windows Server 2016 Accurate Time". technet.microsoft.com. Archived from the original on 2 December 2016. Retrieved 7 December 2016.
  46. ^ dahavey. "Support boundary for high-accuracy time". docs.microsoft.com. Archived from the original on 2 May 2021. Retrieved 24 July 2021.
  47. ^ "ntpd(8) - OpenBSD manual pages". man.openbsd.org. It implements the Simple Network Time Protocol version 4, as described in RFC 5905, and the Network Time Protocol version 3, as described in RFC 1305.
  48. ^ The OpenBSD Project (21 August 2006). "FAQ 6.12.1: 'But OpenNTPD isn't as accurate as the ntp.org daemon!'". The OpenBSD Project. Archived from the original on 5 February 2016. Retrieved 14 May 2020.
  49. ^ Raymond, Eric S. (30 March 2017). "NTPsec: a Secure, Hardened NTP Implementation | Linux Journal". Linux Journal. Archived from the original on 26 January 2024. Retrieved 26 January 2024.
  50. ^ "The Secure Network Time Protocol (NTPsec) Distribution". Archived from the original on 13 January 2019. Retrieved 12 January 2019.
  51. ^ Liska, Allan (10 December 2016). NTP Security: A Quick-Start Guide. Apress. pp. 80–. ISBN 978-1-4842-2412-0.
  52. ^ "Pentest-Report NTPsec 01.2017" (PDF). Cure53. 2017. Archived (PDF) from the original on 4 July 2019. Retrieved 3 July 2019.
  53. ^ Lichvar, Miroslav (20 July 2016). "Combining PTP with NTP to Get the Best of Both Worlds". Red Hat Enterprise Linux Blog. Red Hat. Archived from the original on 30 July 2016. Retrieved 19 November 2017. Starting with Red Hat Enterprise Linux 7.0 (and now in Red Hat Enterprise Linux 6.8) a more versatile NTP implementation is also provided via the chrony package
  54. ^ "Securing Network Time". Core Infrastructure Initiative, a Linux Foundation Collaborative Project. Core Infrastructure Initiative. 27 September 2017. Archived from the original on 28 October 2017. Retrieved 19 November 2017. In sum, the Chrony NTP software stands solid and can be seen as trustworthy
  55. ^ a b "chrony introduction". TuxFamily, a non-profit organization. chrony. Archived from the original on 9 December 2009. Retrieved 19 November 2017. The software is supported on Linux, FreeBSD, NetBSD, macOS, and Solaris.
  56. ^ Both, David. "Manage NTP with Chrony". Opensource.com. Archived from the original on 29 June 2019. Retrieved 29 June 2019.
  57. ^ Heiderich, Mario (August 2017). "Pentest-Report Chrony 08.2017" (PDF). Cure53.de Team. wiki.mozilla.org, AKA MozillaWiki or WikiMO. Archived from the original (PDF) on 5 October 2017. Retrieved 19 November 2017. Withstanding eleven full days of on-remote testing in August of 2017 means that Chrony is robust, strong, and developed with security in mind.
  58. ^ "chrony/chrony.git - Official Git repository for the Chrony project". git.tuxfamily.org. Retrieved 31 July 2021.
  59. ^ Aas, Josh. "More Memory Safety for Let's Encrypt: Deploying ntpd-rs". Let's Encrypt. Let's Encrypt. Retrieved 18 December 2024.
  60. ^ "Network Time Security - ntpd-rs documentation". docs.ntpd-rs.pendulum-project.org. Retrieved 13 January 2025.
  61. ^ Poul-Henning, Kamp. "20140926 – Playing with time again". PHK's Bikeshed. Archived from the original on 20 December 2019. Retrieved 4 June 2015.
  62. ^ Poul-Henning, Kamp. "Network time synchronization software, NTPD replacement". ntimed git repository README file. Github. Archived from the original on 2 August 2015. Retrieved 4 June 2015.
  63. ^ "Switching from OpenNTPd to Chrony - anarcat". anarc.at. So in effect, systemd-timesyncd became the default NTP daemon in Debian in bookworm, which I find somewhat surprising.
  64. ^ David Mills. "The NTP Timescale and Leap Seconds". Archived from the original on 7 September 2013. Retrieved 15 October 2013.
  65. ^ "Google Developers Leap Smear". Archived from the original on 4 April 2019. Retrieved 4 April 2019.
  66. ^ Obleukhov, Oleg (18 March 2020). "Building a more accurate time service at Facebook scale". Engineering at Meta.
  67. ^ "chrony – Frequently Asked Questions". chrony.tuxfamily.org.
  68. ^ "Security Notice". Support.NTP.org. 10 December 2009. Retrieved 12 January 2011.[permanent dead link]
  69. ^ "Cisco IOS Software Network Time Protocol Packet Vulnerability". Cisco Systems. 23 September 2009. Archived from the original on 11 June 2020. Retrieved 11 June 2020.
  70. ^ "Code Audit". Support.NTP.org. 13 June 2009. Retrieved 12 January 2011.
  71. ^ "Network Time Protocol Vulnerabilities (Update C) | ICS-CERT". Ics-cert.us-cert.gov. Archived from the original on 20 December 2014. Retrieved 15 April 2015.
  72. ^ Cunningham, Andrew (23 December 2014). "Apple automatically patches Macs to fix severe NTP security flaw". arstechnica. Archived from the original on 15 April 2015. Retrieved 29 April 2015.
  73. ^ Fairhead, Harry (23 December 2014). "NTP The Latest Open Source Security Problem". I Programmer. Archived from the original on 24 December 2014. Retrieved 24 December 2014.
  74. ^ NTP SecurityNotice Page Archived 2025-08-07 at the Wayback Machine
  75. ^ NVD NIST Product Search NTP
  76. ^ NVD NIST Product Search NTPsec Archived 2025-08-07 at the Wayback Machine
  77. ^ NVD NIST Product Search Chrony Archived 2025-08-07 at the Wayback Machine
  78. ^ "CII Audit Identifies Most Secure NTP Implementation". The Linux Foundation. 28 September 2017. Archived from the original on 3 February 2018. Retrieved 3 July 2019.
  79. ^ a b Network Time Protocol Version 4: Autokey Specification. IETF. June 2010. doi:10.17487/RFC5906. RFC 5906.
  80. ^ a b "NTP Security Analysis". Archived from the original on 7 September 2013. Retrieved 11 October 2013.
  81. ^ Jose Selvi (16 October 2014). "Bypassing HTTP Strict Transport Security" (PDF). Archived from the original (PDF) on 18 October 2014. Retrieved 16 October 2014.
  82. ^ Aanchal Malhotra; Isaac E. Cohen; Erik Brakke & Sharon Goldberg (20 October 2015). "Attacking the Network Time Protocol" (PDF). NDSS. Archived from the original (PDF) on 22 October 2015. Retrieved 27 October 2015.
  83. ^ "Attacking the Network Time Protocol". www.cs.bu.edu. Archived from the original on 24 October 2015. Retrieved 27 October 2015.
  84. ^ Goodin, Dan (13 January 2014). "New DoS attacks taking down game sites deliver crippling 100Gbps floods". Ars Technica. Archived from the original on 24 January 2014. Retrieved 25 January 2014.
  85. ^ Lee, Dave (11 February 2014). "Huge Hack 'Ugly Sign of Future' for Internet Threats". BBC. Archived from the original on 11 February 2014. Retrieved 12 February 2014.
  86. ^ "DRDoS / Amplification Attack using ntpdc monlist command". support.NTP.org. 24 April 2010. Archived from the original on 30 March 2014. Retrieved 13 April 2014.
  87. ^ Dieter Sibold; Stephen R?ttger (2012). Analysis of NTP's Autokey Protocol (PDF). IETF 83.
  88. ^ H. Stenn; D. Sibold (July 2019). D. Reilly (ed.). Network Time Protocol Best Current Practices. Internet Engineering Task Force. doi:10.17487/RFC8633. ISSN 2070-1721. BCP 223. RFC 8633. Best Current Practice 223Best Current Practice. sec. 4.2.
  89. ^ "nts.time.nl homepage". nts.time.nl. Retrieved 19 August 2021.
  90. ^ Langer, Martin (5 December 2019). "Setting up NTS-Secured NTP with NTPsec". Weberblog.net. Retrieved 19 August 2021.
  91. ^ "How to use NTS | Netnod". Netnod. Retrieved 19 August 2021.
  92. ^ "Network Time Security · Cloudflare Time Services docs". developers.cloudflare.com. 13 August 2024. Retrieved 12 January 2025.
  93. ^ "[MS-SNTP]: Network Time Protocol (NTP) Authentication Extensions". 24 June 2021.
  94. ^ "Comparison of NTP implementations". chrony.tuxfamily.org. Retrieved 8 October 2019.
  95. ^ David L. Mills (12 May 2012). "The NTP Era and Era Numbering". Archived from the original on 26 October 2016. Retrieved 24 September 2016.
  96. ^ W. Richard Stevens; Bill Fenner; Andrew M. Rudoff (2004). UNIX Network Programming. Addison-Wesley Professional. pp. 582–. ISBN 978-0-13-141155-5. Archived from the original on 30 March 2019. Retrieved 16 October 2016.
  97. ^ "A look at the Year 2036/2038 problems and time proofness in various systems". 14 March 2017. Archived from the original on 21 July 2018. Retrieved 20 July 2018.
  98. ^ University of Delaware Digital Systems Seminar presentation by David Mills, 2025-08-07

Further reading

[edit]
[edit]
大便黄色是什么原因 类风湿有什么症状 尿失禁是什么原因 肚脐上方是什么器官 后羿代表什么生肖
胸部dr是什么 什么水果含铁量最高 山楂搭配什么泡水喝好 精神可嘉是什么意思 多子多福是什么意思
宫颈纳囊多发是什么意思 什么病 上海有什么烟 秋天是什么样子的 喝牛奶放屁多是什么原因
mnm是什么单位 2月18日是什么星座 牵牛花像什么 白夜是什么意思 吃什么对肺好
不容乐观是什么意思hcv8jop0ns9r.cn 洋盘是什么意思hcv7jop4ns5r.cn 排卵期什么时候hcv7jop7ns1r.cn 炒菜用什么油好hcv9jop3ns7r.cn 书卷气是什么意思luyiluode.com
什么是谈恋爱hcv7jop4ns6r.cn 狗为什么喜欢吃骨头hcv9jop6ns5r.cn 血小板低什么症状hcv8jop6ns8r.cn 青春期什么时候结束hcv9jop5ns2r.cn 黄体期是什么时候hcv9jop2ns5r.cn
结石什么东西不能吃inbungee.com 娃娃鱼是什么动物hcv8jop8ns6r.cn 太阳是什么颜色的hcv7jop9ns7r.cn 诗经是什么朝代的hcv9jop1ns6r.cn 9月3日是什么星座的hcv7jop6ns0r.cn
偏头疼吃什么药clwhiglsz.com 牛奶不能和什么东西一起吃hcv7jop6ns0r.cn 三月27号是什么星座hcv8jop6ns7r.cn 天麻种植需要什么条件hcv7jop5ns0r.cn 手心出汗是什么原因hcv8jop4ns1r.cn
百度