The Network Time Protocol (NTP) is a protocol for synchronizing the clocks of computer systems over packet-switched Packet switching is a digital networking communications method that groups all transmitted data – regardless of content, type, or structure – into suitably-sized blocks, called packets. Packet switching features delivery of variable-bit-rate data streams over a shared network. When traversing network adapters, switches, routers and other, variable-latency Latency in a packet-switched network is measured either one-way , or round-trip (the one-way latency from source to destination plus the one-way latency from the destination back to the source). Round-trip latency is more often quoted, because it can be measured from a single point. Note that round trip latency excludes the amount of time that a data networks. NTP uses UDP The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol (IP) network without requiring prior communications to set up special transmission on port In computer networking, a port is an application-specific or process-specific software construct serving as a communications endpoint used by Transport Layer protocols of the Internet Protocol Suite, such as Transmission Control Protocol and User Datagram Protocol (UDP). A specific port is identified by its number, commonly known as the port 123 as its transport layer In computer networking, the Transport Layer is a group of methods and protocols within a layered architecture of network components within which it is responsible for encapsulating application data blocks into data units suitable for transfer to the network infrastructure for transmission to the destination host, or managing the reverse. It is designed particularly to resist the effects of variable latency by using a jitter buffer Jitter in technical terms is the deviation in or displacement of some aspect of the pulses in a high-frequency digital signal. As the name suggests, jitter can be thought of as shaky pulses. The deviation can be in terms of amplitude, phase timing, or the width of the signal pulse. Another definition is that it is "the period frequency. NTP also refers to a reference software implementation that is distributed by the NTP Public Services Project.
NTP is one of the oldest Internet protocols The Internet Protocol Suite is the set of communications protocols used for the Internet and other similar networks. It is named from two of the most important protocols in it: the Transmission Control Protocol (TCP) and the Internet Protocol (IP), which were the first two networking protocols defined in this standard. Today's IP networking still in use (since before 1985). NTP was originally designed by Dave Mills David L. Mills is an American computer engineer. Mills was the chairman of the GADS Task Force and the first chairman of the Internet Architecture Task Force. He invented the Network Time Protocol, the fuzzball router, the Exterior Gateway Protocol, inspired the author of ping, and had the first FTP implementation. He has also authored numerous of the University of Delaware The University of Delaware is the largest university in Delaware. The main campus is in Newark, with satellite campuses in Dover, Wilmington, Lewes and Georgetown. It is medium-sized – approximately 16,000 undergraduate and 3,500 graduate students. Although UD receives public funding for being a land-grant, sea-grant, space-grant and urban-grant, who still maintains it, along with a team of volunteers.
NTP is not related to the simpler DAYTIME (RFC 867) and TIME (RFC 868) protocols.
Contents |
Overview
NTP uses Marzullo's algorithm, and includes support for features such as leap seconds. NTPv4 can usually maintain time to within 10 milliseconds (1/100 s) over the public Internet, and can achieve accuracies of 200 microseconds (1/5000 s) or better in local area networks under ideal conditions.
NTP provides Coordinated Universal Time (UTC). No information about time zones or daylight saving time is transmitted; this information is outside its scope and must be obtained separately. In isolated LANs, NTP could in principle be used to distribute a different time scale (e.g. local zone time), but this is uncommon.
The operational details of NTP are specified in RFC 778, RFC 891, RFC 956, and RFC 1305. The current reference implementation is version 4 (NTPv4);[1] however, as of 2005, only versions up to 3 (1992) have been documented in RFCs. The Internet Engineering Task Force NTP Working Group[2] standardizes the work of the NTP community since publication of RFC 1305.
A less complex implementation of NTP, using the same protocol but without requiring the storage of state over extended periods of time, is known as the Simple Network Time Protocol (SNTP). It is used in some embedded devices and in applications where high accuracy timing is not required (RFC 1361, RFC 1769, RFC 2030, and RFC 4330).
NTP software implementations
Unix
For modern Unix systems, the NTP client is implemented as a daemon process that runs continuously in user space (ntpd). Because of sensitivity to timing, however, it is important to have the standard NTP clock phase-locked loop implemented in kernel space. All recent versions of Linux, BSD, Mac OS X and Solaris are implemented in this manner.
Microsoft Windows
All Microsoft Windows versions since Windows 2000 include the Windows Time Service,[3] which has the ability to sync the computer clock to an NTP server. However, the version in Windows 2000 only implements Simple NTP, and violates several aspects of the NTP version 3 standard.[4] Beginning with Windows Server 2003, the Microsoft documentation states that Windows Time Service implements the full NTPv3 protocol[5] as specified in RFC 1305.
However, the Windows Time Service cannot maintain the system time more accurately than about a 1-2 second range. Microsoft "[does] not guarantee and [does] not support the accuracy of the W32Time service between nodes on a network. The W32Time service is not a full-featured NTP solution that meets time-sensitive application needs."[6]
The reference implementation of NTP can be used on Microsoft Windows systems.[7]
Clock strata
Yellow arrows indicate a direct connection; red arrows indicate a network connection. The U.S. Naval Observatory Alternate Master Clock at Schriever AFB (Colorado) is a Stratum-0 source for NTPNTP uses a hierarchical, semi-layered system of levels of clock sources. Each level of this hierarchy is termed a stratum and is assigned a layer number starting with 0 (zero) at the top. The stratum level defines its distance from the reference clock and exists to prevent cyclical dependencies in the hierarchy. It is important to note that the stratum is not an indication of quality or reliability, it is quite common to find "stratum 3" time sources that are higher quality than other "stratum 2" time sources. This definition of "stratum" is also different from the notion of clock strata used in telecommunication systems.
- Stratum 0
- These are devices such as atomic (caesium, rubidium) clocks, GPS clocks or other radio clocks. Stratum-0 devices are traditionally not attached to the network; instead they are locally connected to computers (e.g., via an RS-232 connection using a Pulse per second signal).
- Stratum 1
- These are computers attached to Stratum 0 devices. Normally they act as servers for timing requests from Stratum 2 servers via NTP. These computers are also referred to as time servers. Many Stratum 1 servers (for NTP v3 and earlier versions) may not actually be operating with Stratum 1 precision. As the NTP protocol is developed, it will become less and less possible for misleading Stratum 1 servers to run — instead the protocol would automatically bump the server Stratum level down accordingly.
- Stratum 2
- These are computers that send NTP requests to Stratum 1 servers. Normally a Stratum 2 computer will reference a number of Stratum 1 servers and use the NTP algorithm to gather the best data sample, dropping any Stratum 1 servers that seem obviously wrong. Stratum 2 computers will peer with other Stratum 2 computers to provide more stable and robust time for all devices in the peer group. Stratum 2 computers normally act as servers for Stratum 3 NTP requests.
- Stratum 3
- These computers employ exactly the same NTP functions of peering and data sampling as Stratum 2, and can themselves act as servers for lower strata, potentially up to 16 levels. NTP (depending on what version of NTP protocol in use) supports up to 256 strata.
It is hoped that in NTP 5, a protocol still in development, only 8 strata will be permitted. As most NTP clients call on Stratum 2 servers, it is expected that no users will be disadvantaged by the reduced maximum levels of strata.[citation needed]
NTP timestamps
The 64-bit timestamps used by NTP consist of a 32-bit seconds part and a 32-bit fractional second part, giving NTP a time scale of 232 seconds (136 years) and a theoretical resolution of 2−32 seconds (233 picoseconds).
The NTP timescale wraps around every 232 seconds (136 years). NTP uses an epoch of January 1, 1900, so the first rollover will occur in 2036, well before the familiar UNIX Year 2038 problem.
Implementations should disambiguate NTP time using a knowledge of the approximate time from other sources. Since NTP only works with the differences between timestamps and never their absolute values, the wraparound is invisible as long as the timestamps are within 68 years of each other. This means that the rollover will be invisible for most running systems, since they will have the correct time to within a very small tolerance. However, systems that are starting up need to know the date within no more than 68 years. Given the large allowed error, it is not expected that this is too onerous a requirement. One suggested method is to set the clock to no earlier than the system build date. Many systems use a battery powered hardware clock to avoid this problem.
Even so, future versions of NTP may extend the time representation to 128 bits: 64 bits for the second and 64 bits for the fractional-second.
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."[8] Indeed, 2−64 seconds is about 54 zeptoseconds, and 264 seconds is about 585 billion years.
Security concerns
Only a few security problems have been identified in the reference implementation of the NTP codebase in its 25+ year history.[9][10]
NTP itself has been undergoing revision and review over its entire history; no security vulnerabilities have ever been reported that have been traced to the NTP specification.[11]
The current codebase for the reference implementation has been undergoing security audits from several sources for several years now, and there are no known high-risk vulnerabilities in the current released software.[12]
See also
| Time portal |
- Allan variance
- Clock synchronization
- International Atomic Time
- ntpd, OpenNTPD and Ntpdate
- NTP pool, a collection of worldwide computers that provide a highly accurate time via the Network Time Protocol
- NTP server misuse and abuse
- Synchronization
- Time server
Other time synchronization protocols:
- DAYTIME protocol, older time synchronization protocol using TCP or UDP port 13
- ICMP Timestamp and ICMP Timestamp Reply, older time synchronization protocol using ICMP
- Precision Time Protocol
- TIME protocol, older time synchronization protocol using TCP or UDP port 37
References
- ^ NTPv4
- ^ NTP Working Group
- ^ Windows Time Service Technical Reference
- ^ Windows Time Service page at NTP.org
- ^ Windows Time Service Time Protocols
- ^ Support boundary to configure the Windows Time service for high accuracy environments
- ^ doc.ntp.org: NTP 4.x for Windows NT
- ^ University of Delaware Digital Systems Seminar presentation by David Mills, 2006-04-26
- ^ http://support.ntp.org/security
- ^ results returned by a search on "Network Time Protocol" at http://cert.org]
- ^ Look at RFC 778, RFC 891, RFC 956, RFC 958, RFC 1305, and the NTPv4 specification and notice the lack of revisions due to protocol security problems. Similarly, look at the results returned by a search on "Network Time Protocol" at http://cert.org]
- ^ http://support.ntp.org/Main/CodeAudit
Further reading
- Mills, David L.. Computer Network Time Synchronization: The Network Time Protocol. Taylor & Francis / CRC Press. ISBN 0849358051.
External links
- NTP Public Services Project This is the home for the NTP (Network Time Protocol) Public Services Project which provides public support for the NTP Project and the IETF NTP Working Group. Also a Wiki with lists of NTP servers.
- NTP Overview and configuration options
- IETF NTP working group
- David Mills' NTP project page
- NTP version 4 Release Notes
- Time and NTP paper
- NTP Survey 2005
- Pool of public NTP Time Servers
- For a comprehensive list of NTP Servers
- HTTP Time Protocol
- NetTime client
Categories: Network time-related software | Internet standards | Internet protocols
|
RealEngineer.com
Wed, 09 Sep 2009 22:25:16 GM
Solution provides PRS/PRC and PTP/. NTP. timing and synchronization providing seamless migration to next- generation networks with ITU Stratum timing distribution over an IP infrastructure. Brilliant Telecommunications (Brilliant), Inc., ...
Q. Hi I have a 3Gb file that transfers from one of our Dell servers through a 1Gb ethernet switch to a Cisco 3800 router over a 45Mbps DS-3 connection, to a Cisco 3700 router to a 100Mbps switch to another Dell Server. The transfer takes over 3 hours, which equates to around 1.5Mbps throughput (correct me if I'm wrong on the speed.) I've checked all connections & none have errors or other obvious problems. Ping response times are relatively fast over all network connections. The sysadmin is using just the normal xcopy in a script to tranfer the files..he believes the problem is possibly with a bottleneck in the network (transitioning over multiple speed connections) but I think the problem may be with the protocol or with the servers. I… [cont.]
Asked by VodkaTonic - Fri Jan 5 13:17:11 2007 - - 3 Answers - 0 Comments
A. There are many things to check: 1. Match speed/duplex on all physical connections. A number of lousy network performance problems are traced to mismatched duplex between a server and a switch (half-duplex on one end, full-duplex on the other), such as after a power outage or rebooting a server. Auto-negotiation with network devices is similar to auto-negotiation with used-car salesmen. Set a fixed speed and full-duplex on each end of each connection you control (assuming each device supports full-duplex). 2. Check that your DS-3 connection really is a full DS-3. You may have a physical DS-3, but may only be paying for some fraction of the 45 megabit/second bandwidth. Is this a point-to-point DS-3 between the two sites, or is each… [cont.]
Answered by tom_gronke - Sat Jan 6 01:10:13 2007
