An investigation of network time protocol
LE3 .A278 2019
Bachelor of Science
Time is widely used in life: most people want to accurately know the time. If we have a mechanical watch, maybe it is sufficient to make it accurate to one second. However, on computers, especially on computers with high speed CPUs and networks, people want their system time to be more accurate. Time is sensitive for some programs, such as logging programs or a program related to stock market transactions. The Network Time Protocol is designed to synchronize computers’ system times. The basic idea is to let a computer communicate with servers whose system times are synchronized, then based on the response, the computer can change its system time. There are some atomic clocks which are extremely accurate. Some servers can synchronize to them, and more servers can synchronize to synchronized servers. The servers become a network. When we want to synchronize our computer, we can try to synchronize to servers in the network. The difficulty is we do not know how long a request packet takes to travel from us to servers, how long it takes for a server to deal with the request and how long a response packet takes to travel back to us. The Network Time Protocol is designed to overcome, as much as possible, this difficulty. This thesis investigates how the Network Time Protocol operates and explains the complex algorithms employed.
The author grants permission to the University Librarian at Acadia University to reproduce, loan or distribute copies of my thesis in microform, paper or electronic formats on a non-profit basis. The author retains the copyright of the thesis.