Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Expert Network Time Protocol

Posted by timothy on Fri Aug 19, 2005 01:08 PM
from the this-will-make-you-smile dept.
Ben Rothke writes "If you review the thousands of Internet RFCs, you'd be hard pressed to find a protocol that lends itself to philosophical overtones, save for one -- the Network Time Protocol (NTP). The nature of time is abstract, difficult to measure and highly subjective. Yet time is a critical element in everyone's life, and in the effective operations of corporate networks." Read on for the rest of Rothke's review.


NTP is built on top of the TCP/IP protocol suite and is used to ensure accurate time-keeping with a trusted time reference. These references can be radio signals, GPS satellites, atomic clocks, Internet-based time servers and more. NTP is powerful enough to synchronize network clocks with millisecond accuracy.

In Expert Network Time Protocol: An Experience in Time with NTP, Peter Rybaczyk merges the philosophical aspects of time with the nuts of bolts of the NTP protocol. The book is composed of two parts, the first concerned with the meta-philosophy of time, and the second detailing the inner workings of NTP. The attempt in part one to merge technology and science with philosophy is a daunting task, and most often does not succeed. The notable exception to this is Douglas Hofstadter's Gödel, Escher, Bach: An Eternal Golden Braid.

Rybaczyk creates Sam, a fictional character who walks through the history of time. It is unclear who this Sam is -- whether he is supernatural being, or someone who got root on a time server. The author writes that the transcendental nature of time and the nuts and bolts of NTP are inseparable, but I personally found it difficult to determine what message part one was meant to convey. Fortunately, part one takes up but the first 34 pages.

Where the book shines, and where most readers will find value, is in part two, which details how to effectively design, configure, deploy and operate NTP. Where part one is conceptual, part two is extremely practical. Chapter 3 opens up with a comprehensive overview of the what, how and why effective time-keeping via NTP is needed.

The book details from a business perspective why synchronized and accurate time is a universal need. From transactional integrity, airline departures, sporting events, job shift changes, to FedEx pickups and more, nearly every activity requires time synchronization to work at peak levels. Effective network administration also requires time synchronization for network login procedures, directory synchronization, backups, and routing stability to work accurately.

From an information security perspective, password and digital ID synchronization, log file accuracy and auditing, and access control security are just a few of the areas where correct time can mean the difference between success and failure.

Where time synchronization is crucial, though, is in the realm of digital forensics. An otherwise painstaking digital forensic process might be worthless if time-related evidence from network devices is not correctly synchronized. If network devices are not correctly synchronized, you can basically forget about using them in any type of legal case.

Attorney Ronald Coleman, partner and computer law litigator at the New Jersey-based Coleman Law firm explains that in a computer law case involving serious discrepancies in network log times, the prosecution would conceivably drop the case. Similarly, a civil case to recover damages from an attacker is seriously undercut by these seemingly innocuous timing mistakes. "The network managers' lack of diligence at ensuring that the time was synchronized on their systems," explains Coleman, "opens them up to serious questions in front of a jury as to whether the logs and the system data are reliable at all -- especially with a gap of more than a couple of minutes, which might be explained away by which clocks were being relied on." In fact, an error of this magnitude would make the entire network administration suspect. That could be a disaster, Coleman says, where the network tracing record plus the human beings who sloppily set the automation in motion are going to be the chief sources of evidence against the alleged computer criminal. "A snafu such as seriously unsynchronized logs is just the sort of opening that could raise the level of doubt needed to undermine the other side's case."

Chapter 3 concludes with an interesting look at the cutting edge of time protocols, specifically the Interplanetary Internet. The Interplanetary Internet project is an attempt to synchronize computer time within the realm of deep space. NASA will in due time establish a deep space infrastructure whose purpose is to support the communication needs of multiple missions. Such an infrastructure would require time synchronization, but within a radically different framework from what exists today. The Interplanetary Internet and its underlying time synchronization are intended to solve that.

Chapter 4 brings the reader back to earth and provides vital information about how to design an effective NTP architecture. The key to designing the most appropriate NTP architecture for a given infrastructure is to first understand the different modes that NTP devices can operate in. The chapter details the five different NTP modes, the mode categories, and gives configuration information about each mode.

The chapter also provides information about NTP security. While NTP versions 3 and 4 provide added security (including symmetric private key cryptography and support of the Autokey protocol), it is ultimately up to the organization to determine what level of NTP security they need. Those organizations that don't require accurate time won't need much NTP security. But for those organizations who business requires synchronized and accurate time, such issues will drive the implementation of how they deploy NTP and its security functionality.

Chapter 5 details how organizational motivations (again, from a business perspective) will affect how you design your NTP architecture, and then describes several use scenarios. The book notes that designing an effective NTP deployment is a process that embodies four key steps: choosing a time source, deciding upon the NTP topology, determining the NTP features to configure, and then monitoring and managing the NTP operations. The chapter then goes on to describe various ways these steps can be carried out. The chapter provides a comprehensive overview on how to deploy NTP, be it on a dedicated time server, via already deployed products such as Cisco or Juniper routers, or on Unix/Linux/Windows file servers.

It is important to note that NTP is just the protocol. The actual implementation of NTP requires separate software client and server applications. The book focuses on the protocol and does not get into any specific vendors, other than a few screen shots from the configuration menu of a Symmetricom time server.

The author notes that on the surface, NTP is simple and almost inconspicuous, and overshadowed by better-known protocols such as HTTP, FTP and DNS. But once you start digging into NTP, you are dealing with one of the most pervasive elements of existence, namely time. Within NTP's scope, one could be dealing with atomic clocks, GPS satellites, clock selection, encryption algorithms and much more. So while at its heart, NTP may be a simple protocol, there is a complex infrastructure beneath it.

NTP is one of the most fundamental, yet overlooked services in the TCP/IP suite, and time synchronization is one of the most overlooked areas in networking. Hopefully, a book such as this can spark a renaissance. For far too long, time synchronization has not been afforded due diligence, and the effects have at times been disastrous. A view of the archives of the Risk Forum digest attests to this fact.

After a somewhat murky start in part one, Expert Network Time Protocol: An Experience in Time with NTP provides the reader with a superb synopsis of nearly everything he needs to know about NTP and effective time synchronization on his network, from an experienced implementer in the field. It is a fascinating look at one of the most humble, yet fundamental protocols on the Internet. For those who care about the correct time on their network, this book is required reading.


Ben Rothke, CISSP is a New-York based security consultant with ThruPoint, Inc. and the author of Computer Security: 20 Things Every Employee Should Know. He can be reached at ben@rothke.com You can purchase Expert Network Time Protocol: An Experience in Time with NTP from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by Anonymous Coward on Friday August 19 2005, @01:09PM (#13356661)
    But I just synched my clock and it turns out I'm ten minutes behind.
  • It was far too long and I have far too little time to read it.
    • Cliff sez... (Score:5, Insightful)

      by fm6 (162816) on Friday August 19 2005, @01:41PM (#13356932) Homepage Journal
      There's this protocal called NTP that's used to synchronize computer clocks. That's not enough to fill out a book, so the author padded it out with a lot of stuff from history and philosophy. At least, that's my summary of the review.

      Really, all most of us need to know about NTP can be found on Ntp.org. [ntp.org]. Particularly useful is their NTP Pool project [ntp.org], which uses DNS aliasing to allow you to sync from random servers, and avoid placing a burden on any one server.

      • Re:Cliff sez... (Score:4, Insightful)

        by EvilTwinSkippy (112490) <[yoda] [at] [etoyoc.com]> on Friday August 19 2005, @02:22PM (#13357330) Homepage Journal
        You know, people manage to fill books on just about anything. And the padding usually centers around the Philosophy behind it.

        (Glances at shelf... sees "Longitude", Talbot's "The Holographic Universe", Glieck's "Chaos"... Ok, I never did read Longitude. That was for a Engineering Humanities course.)

        • Re:Cliff sez... (Score:4, Informative)

          by hal9000(jr) (316943) on Friday August 19 2005, @02:56PM (#13357661)
          Duuuude. Longitude is a brief history of the development of navigation and an interesting read. Whoda thunk that determining your longitude would be such a problem. Besides, it's short. But what I have found is that many, many technical books are either way to general about things you need to know and way to specific about stuff you do.
    • Chapter 1: Meet Sam

      Chapter 1: Sam sets up NTP on Linux
      Section1: Sam meets the man in the Red Hat: In this chapter Sam types rpm -i ntp.rpm && ntpd
      Section2: Sam meets Mandrake: In this chapter Sam types urpmi ntp && ntpd
      Section3: Sam meets Gentoo: In this chapter Sam types emerge ntp && ntpd
      Section 4: Sam meets Debian and battles the GNU: In this chapter Sam types apt-get install ntp && ntpd

      Chapter 2: Sam set up NTP on other Unixes
      Section 1: In this chapter Sam
  • Minor correction (Score:3, Informative)

    by Bandito (134369) on Friday August 19 2005, @01:13PM (#13356698)
    NTP is built on top of the TCP/IP protocol suite and is used to ensure accurate time-keeping with a trusted time reference.

    Ummm, doesn't NTP run over UDP?
  • meh (Score:4, Insightful)

    by ResQuad (243184) * <slashdot.konsoletek@com> on Friday August 19 2005, @01:15PM (#13356710) Homepage
    Does this really matter? I mean NTP works, which is great, so do I really need to understand the "meta-philosophy" behind NTP? All I know is that I have the two Domain Controllers sync to 6 outside machines (reliable servers), and all the machines internally sync off thoes two.

    All the computers in the network are within a second of eachother - and thats good nuff for me.
    • Re:meh (Score:5, Informative)

      by Just Some Guy (3352) <kirk+slashdot@strauser.com> on Friday August 19 2005, @01:29PM (#13356836) Homepage Journal
      Does this really matter?

      Yes, if you're into the meta-philosophy of timekeeping. If not, then the first part of this book obviously isn't for you.

      All I know is that I have the two Domain Controllers sync to 6 outside machines (reliable servers)

      Do you know enough about NTP to be able to evaluate whether those are good sources? If not, then the second part of this book may be useful.

      All the computers in the network are within a second of eachother - and thats good nuff for me.

      ...you hope. As the reviewer said, precise synchronization is absolutely critical for forensic purposes. Can you conclusively demonstrate that Event A on machine Foo occurred before Event B on machine Bar? Would you be willing to testify to that fact if a conviction or monetary judgment were on the line?

      Even if you don't think you need it, it's so trivially easy to get millisecond accuracy on all but the most unstable tickers that I never have understood why people don't sync their computers. If nothing else, it's nice to be able to set your watch to a known-accurate time source, then use that to set the rest of the clocks in your house. Am I the only one that hates seeing different times on the combination oven and microwave that has two separate displays within two feet?

    • Re:meh (Score:4, Insightful)

      by b0r1s (170449) on Friday August 19 2005, @01:30PM (#13356845) Homepage
      Agreed. It should be sufficient to point out a few facts:

      1) It's important
      2) You want to sync at least 2 internal machines to more than one outside system
      3) You want to have internal machines sync against your two internal machines from (2)

      The philosophy of time doesn't need to be in a book about NTP. Waste of paper, waste of print, waste of ... time.
  • Windows does not support NTP properly, and most of the earlier versions don't support it at all.

    It works fine in BSD, but you dont need a whole book, just tick the NTP box during the install process. (Linux is probably the same).

    • by hey (83763) on Friday August 19 2005, @01:32PM (#13356859) Journal
      You seem very incurious. Ever considered running for president?
      • How do you enable true NTP support in Windows (any version)?
        All I ever found was SNTP and other names for "regularly poll some real server and smack the result into the clock".
        No PLL, no filtering, no multiple sources, no local clock support, nothing.

        Or do you mean an xntpd port to Windows?
          • I am aware of such possibilities, but I thought the poster claimed that W2K somehow has usable NTP support builtin. I never found it...

            I run ntpd on a Linux system to keep accurate time, and let the Windows sytems get their time from it over the LAN. SNTP is usable for that (not for syncing over a WAN link that is also used for other purposes). For that, a Windows version of ntpd is a much better choice.
  • Subjective? (Score:5, Funny)

    by mybecq (131456) on Friday August 19 2005, @01:20PM (#13356753) Homepage
    The nature of time is ... highly subjective
    But only when discussed by metaphysical artists approaching the speed of light...
  • by shadowmatter (734276) on Friday August 19 2005, @01:20PM (#13356756)
    ... without any of that mumbo-jumbo from RFCs can be found here [wisc.edu] [warning: PostScript file]. It's well written, and the safeguards and filtering techniques are very interesting.

    - shadowmatter
  • by Momoru (837801) on Friday August 19 2005, @01:21PM (#13356770) Homepage Journal
    Be sure to purchase these books on other such stimulating topics:

    Ping, For Dummies!
    Gopher: The Next Generation
    All you ever wanted to know about the "yes" command
  • by Lost+Found (844289) on Friday August 19 2005, @01:22PM (#13356778)
    DJB's clockspeed package:

    http://cr.yp.to/clockspeed.html [cr.yp.to]

    Includes an SNTP client, TAI client, TAI server, and clock correction program. It's very simple and it keeps my entire cluster to within a very small amount of drift of the atomic clock, with the sync interval doubling at every sync.

    I use SNTP to get Stratum-1 time from NIST, then TAI to serve Stratum-2 time to my cluster.
    • I use SNTP to get Stratum-1 time from NIST

      Don't be so needlessly antisocial. Pick a nice public stratum-2 server [isc.org] and leave the big guys alone. It reduces load (thus latency, thus inaccuracy) at the top and probably gives you better accuracy, assuming you're not in the same building as tycho.

      I'd much rather sync against my ISP's GPS-based NTP server than a better source far away. It's better in every way, and it won't make the stratum-1 guys want to punch you.

      By the way, clockspeed hasn't been updated since October 1998. OpenNTPD [openntpd.org] is a light, modern client that you might wish to consider.

    • It uses the RDTSC assembly command on the x86. While this is good and nice if you don't have a speedstep technology computer, if you do, then the clockspeed of the CPU actually varies, and the RDTSC is defined to increment every clock-edge of the CPU.

      This means that if you have the SpeedStep technology in your computer, then RDTSC is not a reliable time source.

      This should be noted as a particular caveat on anything relying on RDTSC as a reliable timer.
  • I would just like to say that seeing articles like this one... well, it doesn't help speed up the recovery process. It's like leading an alcoholic to the door of a bar.
  • Lunchtime, doubly so. ;P
  • Damn! (Score:5, Funny)

    by dal20402 (895630) * <dal20402@m[ ]com ['ac.' in gap]> on Friday August 19 2005, @01:26PM (#13356810) Journal
    the transcendental nature of time

    I tried to explain this to my boss when I showed up for work at 10:30 today. But he's such a moron, he didn't understand it. Instead of being impressed by my knowledge and intelligence, he fired me. Dammit!

  • by markov_chain (202465) on Friday August 19 2005, @01:31PM (#13356852) Homepage
    The most annoying thing about dealing with NTP for me was that nowhere in the documentation or on the 'net was there a clear, simple, one-command way to sync a machine's time to a given time server.
  • You need a book for this?

    C:\>net time /setsntp:ntp.yourisp.net
    C:\>w32tm /resync (windows 2k3)
    C:\>w32tm -once (win 2k)
  • by cryptochrome (303529) on Friday August 19 2005, @01:43PM (#13356946) Homepage Journal
    Rybaczyk creates Sam, a fictional character who walks through the history of time. It is unclear who this Sam is -- whether he is supernatural being, or someone who got root on a time server.

    We do know, however, that he has a holographic partner named Al who talks to a computer named Ziggy a lot, and that he hopes that his next leap will be the leap home.
  • calendar puzzle (Score:5, Interesting)

    by ch-chuck (9622) on Friday August 19 2005, @01:45PM (#13356971) Homepage
    At your command prompt type $ cal 9 1752
    explain.
  • Simultaneity (Score:3, Insightful)

    by hcg50a (690062) on Friday August 19 2005, @01:46PM (#13356973) Journal
    Chapter 3 (a look at the cutting edge of time protocols, specifically the Interplanetary Internet) should be pretty short.

    In a relativistic universe, the concept of absolute simultaneity is gone. Given two events separated in space (like two nearby supernovae, or two alarm clocks going off), depending on their speeds and distances, two observers may disagree on which one occurred first, even after they make various relativistic corrections for their own speed.

    If two observers can't agree on simultaneity of two events, they will not be able to agree on the correct time.

    Of course, this won't matter practically within the solar system, but between solar systems, it could start to make a difference.
  • by papasui (567265) on Friday August 19 2005, @01:48PM (#13356991)
    Precisely how long has it been since this guy last got laid.... DON'T ANSWER IT'S AN INFINITE LOOP!
  • by bobalu (1921) on Friday August 19 2005, @01:59PM (#13357051)
    "Time, time, what is time? The Swiss manufacture it, Italians squander it, French hoard it, the Americans say it is money and the Hindus say it does not exist.

    I think time is a crook".

    From "Beat The Devil", 1953:
    http://www.imdb.com/title/tt0046414/ [imdb.com]
  • by phallstrom (69697) on Friday August 19 2005, @03:45PM (#13358076)
    I just keep track of the dupes on slashdot. When I see this story again, I'll know it's four hours later... ... give or take a month or two... :)
    • That's basically NTP. Congrats!

      Of course, the interesting part is that packets don't travel instantaneously. It's not enough to ask what the time is - you also need to know how long it takes the responder to answer. Furthermore, travel times aren't symmetric and you have to estimate how much of the total elapsed time between sending the request and receiving the answer occurs during each leg of the trip. Remember, the other guy faces the same constraints that you do - you can't just ask him for the an

    • Maybe this is why I'm not a protocol engineer.

      I used to be. And I knew Dave Mills, who designed NTP.

      There are quite a number of problems in time synchronization. Here are a few of them.

      • Authoritative source You have to get time from a better source than you have locally. So you need some scheme to identify time source quality. And it has to detect and prevent loops, so you don't get a group of machines all synchronizing to each other and behaving as if they're synchronized to a primary standar