1. Time
GMT, the time of the Earth's rotation, also called the world time UT, but because of the rotation speed will change, so later not to be used as a standard.
UTC, the world coordinates, the atomic clock, and now the time calibration standard is the atomic clock.
2. Leap seconds
The Earth's rotation time is longer, and every 1-2 years it will increase by about 1 seconds, but we are in UTC, and GMT and UTC will be more and more different if UTC is not adjusted.
Therefore, an organization has set a set of rules, each increase of 1 seconds will be fixed in June or the end of December plus one second.
One second here is the time to adjust UTC, for example, UTC current Timestamp is 1436255907, the next second atomic clock should jump to 1436255908, but when the leap seconds set, the organization will be the next second of the atomic clock or tune to 1436255907, Then continue after 1 seconds for 1 seconds plus (personal guess, probably with actual error). So the one-second point here is that the duration of a timestamp lasts from 1 seconds to 2 seconds. Server and so on to the school when the server to get the latest time check, the server timestamp may be unchanged, may also be backward 1s.
Possible problems: Server time backwards, some logic related to sleep, timers, or loops may be faulty or dead, some low-version applications or systems may fail.
such as : Linux kernel less than 2.6.18-164 Linux system in 2012 that leap seconds if the NTP service will be restarted because of the ntpd lock dead.
However, most of the problems are only some program bugs, when writing code is not aware of processing when the leap seconds time stamp processing, of course, including the operating system itself in the prevention of time to reverse some of the processing.
It seems that Linux or ntpd have optimized the processing of leap seconds, so you should be able to ignore this possibility when writing programs. Personally feel ntpd in sync time, if found than the current small 1 seconds or so, you can judge whether it appears in the leap seconds near the date, is not to reverse processing but to maintain, while the clock tick special processing, after 2 seconds before the tick to the next timestamp. Do not know the actual ntpd is not doing so.
3.ntp
Network Time Protocol
A time synchronization protocol that controls the error of dozens of MS or several MS, providing cryptographic processing.
Linux under Time synchronization can be used in 2 ways, two methods cannot be used simultaneously:
1) crontab inside add */5 * * * */usr/sbin/ntpdate 172.16.10.69 >/dev/null 2>&1 scheduled task run with ntpdate command to synchronize the latest data on the NTP server with 69 services
But with this command there will be a time-hopping problem, so a robust system (such as an extranet) is best not to use this
2) Fill in the configuration,/etc/ntp.conf and so on, and then start the NTPD service, the service will synchronize the latest time on the configured server, and also turn on port 123 as the NTP server to the other clients.
Some articles related to NTP:
How to resolve the Linux system restart problem after adding leap seconds on July 1, 2012 http://www.2cto.com/os/201207/138634.html
Linux time synchronization, NTPD, Ntpdate http://blog.sina.com.cn/s/blog_636a55070101u1mg.html
Http://blog.chinaunix.net/uid-20690190-id-1894436.html
How a machine implements both NTP server and NTP client http://bbs.csdn.net/topics/310020973
Time, leap seconds, and NTP