There are 2 types of clock synchronization algorithms: Centralized and Distributed. Centralized is the one in which a time server is used as a reference. The single time-server propagates it's time to the nodes, and all the nodes adjust the time accordingly.