NTP (Network Time Protocol) is the most widely used time synchronisation protocol on the Internet. The reason for its success is that is both flexible and highly accurate (as well as being free). NTP is also arranged into a hierarchical structure allowing thousands of machines to be able to receive a timing signal from just one NTP server.
Obviously, if a thousand machines on a network all attempted to receive a timing signal from the NTP server at the same time the network would become bottlenecked and the NTP server would be rendered useless.
For this reason, the NTP stratum tree exists. At the top of the tree is the NTP time server which is a stratum 1 device (a stratum 0 device being the atomic clock that the server receives its time from). Below the NTP server, several servers or computers receive timing information from the stratum 1 device. These trusted devices become stratum 2 servers, which in turn distribute their timing information to another layer of computers or servers. These then become stratum 3 devices which in turn can distribute timing information to lower strata (stratum 4, stratum 5 etc).
In all NTP can support up to nine stratum levels although the further away from the original stratum 1 device they are the less accurate the synchronisation. For an example of how a NTP hierarchy is setup please see this stratum tree