Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

COM 319 REPORT An Explanation of The Network Time Protocol Abstract: The purpose of this report is to analyse and

explain the Network Time Protocol,


or NTP, and how it helps computer systems keep an accurate time. More specifically, it will show how this protocol will keep computer clocks around the world synchronized by looking into just how exactly the NTP protocol works , what advantages and disadvantages this holds to the computing community, and how such an old standard protocol still holds significance in the face of modern and emerging technologies. It will also touch upon the structure of NTP, and the different types of NTP.

Contents
BACKGROUND ......................................................................................................................................... 1 BODY ....................................................................................................................................................... 2 CONCLUSION........................................................................................................................................... 5 REFERENCES ............................................................................................................................................ 6

BACKGROUND
NTP stands for Network Time Protocol and is a computer protocol developed to synchronize and maintain time to a high degree of accuracy [1]. It was developed by Professor David L. Mills while he was a lecturer in the University of Delaware as a means of synchronizing the clocks of computers on a data network. It has been in use since 1985 as one of the first methods of keeping time accurate across computer networks [2] and is maintained by professor Mills and his team of volunteers [3]. Its main native operating system in UNIX, but as time progressed, it has been adapted to work on other UNIX based systems, and NTPv4 has been ported over to the Windows operating system, supporting the OS from Windows NT up to Windows 7[9]. NTP is built on top of TCP/IP(Transmission Control Protocol/Internet Protocol), the internet standard that consists of a group of communication protocols used in order to connect hosts to the internet and for transmitting data[17], and utilises UTC(Coordinated Universal Time), which is a time scale which combines atomic time(measured by cesium atomic clocks and is highly accurate) and Greenwich Mean Time(based on Earths rotation)[18]. It was created mainly so that computers could keep accurate time. A closed off network may run the wrong time, and while this may not affect anything on the closed network, once a computer connects to the internet the effects can become apparent, such as delays when sending and receiving emails[4]. For some systems, time can be safety critical, IE wrong or off timing can cause disastrous results, and a good example of this is air traffic

control, as airplane computers require coordinated timing and precisely timed flight paths [5]. As an aside, it Is not surprising that air traffic control systems were the first to adopt NTP as a timing method[4].NTP is now an internet standard, meaning it is a clearly defined and specified technology relating to the internet, and is now in its fourth iteration, designated NTPv4[6].

BODY
The Network time Protocol architecture contains a number of stratum, which is to say levels or measures for synchronisation distance. Each level will contain different devices involved in NTP. Stratum 0 contains reference clocks, which is a device that shows the time as accurately as possible and follows a time standard[7]Types of reference clocks include atomic clocks, GPS clocks and radio clocks[3]. Stratum 1 contains time servers, also known as Stratum1 servers, which are computers that are attached to stratum 0 devices via a direct link EG an RS 232 connection[8].These computers can act as servers for timing requests from stratum 2 servers via NTP, hence the name time servers[3]. Stratum 2 consists of computers that send NTP requests to the stratum 1 servers[3]. ntp2d.mcc.ac.uk is an example of a stratum 2 server within the UK[10]. These servers can and often do connect to a number of stratum 1 servers in order to reliably gain the time. This process allows for bogus information to be discarded, as a false reference can be easily spotted when compared to 3 or 4 other trusted and authenticated time servers[11]. Using the NTP algorithm, a stratum 2 server will gather the best time sample from the servers to which its connected, and they will peer, that is act as a server for other computers[12], with other computers to provide a stable time for any other devices connected in the peer group[3]For example, a computer in an office network may be send an NTP request to a stratum 1 computer. Once it has collected a quality sample from stratum one devices, it can act as a server for the other computers throughout the office and provide a more stable time for the entire network. As the stratum has before, these computers can act as servers for the next stratum: Stratum 3[3]. Stratum 3 computers will connect to stratum 2 servers and employ the same techniques used, IE data sampling for quality and peering with other devices. Again these computers can act as servers for any lower stratum[3].it should be noted that if computers are connected to each other, they can act as stratum 3 and synchronize themselves via per-topeer[13].

[14]

[19]

In terms of how the time is actually synchronised using these stratum, the process goes as follow: NTP uses an algorithm called Marzullos Algorithm, which is an algorithm used for selecting sources to estimate time from a number of noisy channels, IE it gets sources from bad channels which it knows can hand out quality time references[15]. NTP computes statistical values as a means of describing the quality of time it sees from a reference clock, such as stability and jitter[7]. This is so each NTP server can maintain an estimate of quality about both itself and its reference clocks. Synchronisation consists of several data packet exchanges, with each exchange containing a request from a computer, be it from stratum 1,2 etc., and a reply from the stratum above[7]. Within each part of the exchange, both the client and the network server will store its own time into the packet being sent, originate and receive timestamps respectively[7]. Once the reply is received, the receiver will then log its own receipt time. This then estimates the travelling time of the packet between the two servers, and marks the offset between the two. The shorter the travelling time between each exchange , the more accurate the current estimate of time is. While the two servers may begin to establish the time, it is not believed until several packets have been exchanged. As well as sending requests and replies, the packets must pass a set of sanity checks each time, which are defined checks in the protocol specification such as setting a time correction limit of 1000 seconds[16]. After several good samples of data exchange, the NTP server will be accepted as a synch source. This can be repeated by the client for several different sources, which is often advisable in order to avoid false or malicious sources.

While the protocol itself is over a quarter of a century old, it is still useful in modern computing. Networking is now bigger than ever, and incorrect time can lead to discrepancies as described earlier. The impact of this can affect many areas in computing such as many e-commerce related sites: If Amazon sent Christmas orders at midnight on Christmas Eve, there would be no point in sending them, or if a bidder on eBay was behind by 7 minutes they could miss whatever they are trying to bid on. Many aspects of E-Commerce rely on correct timing. A few examples would be sectors such as finance; particularly stockbrokers and the stock exchange[20]. Some of these companies are required to have highly accurate time by law[20]. Another application of accurate timing and the NTP would be to do with network discrepancies and security breaches[20]. Inaccurate timestamps can make security logs redundant and can make the task of finding problems affecting a large number of components impossible, again to inaccurate logs[20]

File updates, which are paramount in modern computer networks( think software updates on consoles/phones, or updating important work files within modern offices) require accurate timestamps and synchronised clock times[21].

There are a number of varieties of the Network Time Protocol, such as NTPD, which is an Operating System daemon(program that runs applications and such as background tasks, originated in UNIX) thatll set and synchronize the time with standard time servers[22]. There is also SNTP(Simple Network Time Protocol), which is a stripped down and simpler version of NTP[23]. This is used mainly when the full performance of the NTP is not required, or if the installation of NTP is deemed to complex for the system[22]. Considering that NTP ios mainly for heavy duty data transfer networks, such as that present in offices, finance industries or any network with a large number of workstations, SNTP can be used for computers that dont require intense, complex calculations to keep time synchronised, and it can help stand alone computers or very small networks get by[24].

CONCLUSION
As can be seen from the body, and its various examples, there is still a need for the network time protocol. Time is more important than ever in many sectors, and with the explosion of e-commerce and the sheer number of industry sectors now switching over to business on the internet, synchronised time is arguably more important than before. Despite being such an old protocol, it is easily implemented into large networks such as WANS and LANS(Wide Area Network and Local Area Network respectively), and can maintain an accurate time to within 1 or 2 milliseconds. It is easily adjustable should there be time discrepancies, and there is a variety of source available which have been authenticated to give accurate and reliable time. Due to the NTP becoming an internet standard, there is a huge amount of documentation available for review on all aspects of the protocol; from installing the protocol onto your office network, creating stratum 2 and further servers for worldwide use, up to lists of stratum 0 sources and local stratum 1 servers in any country in the world[25]. The protocol is available in a variety of forms, and can be run on a number of platforms, and as such can be tailored to suit any size of network or range of platforms and devices despite originally starting off on UNIX[7]. To conclude, NTP is still a very powerful protocol despite its age, and due to the ever increasing dependence on computer software, time management is becoming increasingly important in many sectors such as air travel, globalised business and stocks, and for efficient running of businesses worldwide. Although its pushing 26 years old, it may see more use than ever before in the new generations of technology.

REFERENCES
InetDaemon. (2011). Network Time Protocol. Available: http://www.inetdaemon.com/tutorials/internet/ntp/index.shtml. Last accessed 10/11/2011. [1] Unknown. (2011). New Technologies And The Growing Importance Of Time Synchronisation. Available: http://www.pslyon7.org/new-technologies-and-the-growingimportance-of-time-synchronisation.html#more-31389. Last accessed 10/11/2011.[2]

Unknown. (Unknown). Network Time Protocol. Available: http://en.wikipedia.org/wiki/Network_Time_Protocol. Last accessed 10/11/2011.[3]
Unknown. (Unknown). What is NTP?. Available: http://www.ntp.org/ntpfaq/NTP-sdef.htm. Last accessed 10/11/2011.[4] Unknown. (2000). What is Network Timing Protocol?. Available: http://searchnetworking.techtarget.com/definition/Network-Time-Protocol`. Last accessed 10/11/2011.[5] Unknown. (Unknown). NTP: The Network Time Protocol. Available: http://www.ntp.org/. Last accessed 10/11/2011.[6] Unknown. (Unknown). How does it Work?. Available: http://www.ntp.org/ntpfaq/NTP-salgo.htm#Q-ALGO-BASIC-SYNC. Last accessed 10/11/2011.[7] EndRun Technologies. (2005). What is stratum 1?. Available: http://www.endruntechnologies.com/stratum1.htm. Last accessed 10/11/2011.[8] Meinberg Funkuhren. (Unknown). Network Time Protocol. Available: http://www.meinberg.de/english/info/ntp.htm#platforms. Last accessed 10/11/2011[9] Unknown. (Unknown). Stratum two Time Servers. Available: http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers. Last accessed 10/11/2011.[10] Unknown. (Unknown). Ntp Security: Authentication and Trusted Time References. Available: http://www.streetdirectory.com/travel_guide/119397/security/ntp_security_authenticati on_and_trusted_time_references.html. Last accessed 10/11/2011[11] Unknown. (Unknown). definition of peer-to-peer. Available: http://www.google.co.uk/search?gcx=c&sourceid=chrome&ie=UTF8&q=definition+of+peer+to+peer#hl=en&safe=off&q=peer-topeer&tbs=dfn:1&tbo=u&sa=X&ei=Q068TpT7FcTusga_uu2yAw&ved=0CCYQkQ4&bav=on .2,or.r_gc.r_. Last accessed 10/11/2011 [12]

Unknown. (Unknown). NTP. Available: http://en.gentoo-wiki.com/wiki/NTP. Last accessed 10/11/2011.[13].

Picture available at http://en.wikipedia.org/wiki/File:Network_Time_Protocol_servers_and_clients.svg [14] Unknown. (2011). Marzullos Algorithm. Available: http://en.wikipedia.org/wiki/Marzullo%27s_algorithm. Last accessed 10/11/2011 [15] Picture available a
http://www.css-security.com/wp-content/uploads/2011/10/NTP-Diagram.jpg

Unknown. (2011). cPanel ntp server time wrong. Available: http://www.outofcontrol.ca/thoughts/comments/cpanel-ntp-server-timewrong. Last accessed 10/11/2011.[16]
Unknown. (Unknown). TCP/IP. Available: http://www.webopedia.com/TERM/T/TCP_IP.html. Last accessed 10/11/2011. [17] Unknown.(Unknown).UTC. Available: http://www.webopedia.com/TERM/U/UTC.html. Last

accessed 10/11/2011[18].
Endrun Technologies. (2008). Network Time Servers. Available: http://www.endruntechnologies.com/network-time-synchronization.htm. Last accessed 14/11/11.[20] Searchnetwork Techteam. (2000). Network Time Protocol(NTP).Available: http://searchnetworking.techtarget.com/definition/Network-Time-Protocol. Last accessed 14/11/11.[21] Unknown. (Unknown). Network Time Protocol. Available: http://en.wikipedia.org/wiki/Ntpd. Last accessed 15/11/2011.[22] Unknown. (Unknown). What is SNTP?. Available: http://www.webopedia.com/TERM/S/SNTP.html. Last accessed 15/11/2011.[23] David White. (2011). What is SNTP?. Available: http://www.wisegeek.com/what-issntp.htm. Last accessed 15/11/2011. [24] Unknown. (Unknown). NIST NTP Stratum 1 and 2 servers. Available: http://www.supertechnetworks.com/index.php?option=com_content&view=article&id=6 5:nist-ntp-stratum-1-and-stratum-2-servers-list&catid=33:technicaldocuments&Itemid=52. Last accessed 15/11/2011.[25]

You might also like