A clock synchronization method, wherein the method is executed by a receiver and comprises: obtaining a common reference clock signal, wherein a frequency of the common reference clock signal is f n ; and determining B t according to the common reference clock signal and Mr d ( t -1), wherein B t = mod ∑ n = 0 t − 1 Mr d n , 2 p , t is a positive integer, and Mr d is a preset initial value of frequency offset information at the receiver; when C t obtained by means of calculation according to Mr d ( t - 1) is less than or equal to a threshold, determining that Mr d ( t - 1) is a target Mr d , wherein C t = B t - A t , A t is comprised in a residual time stamp RTS packet that is sent by a transmitter and that is received by the receiver last time, and A t = mod ∑ n = 0 t M d n , 2 p ; M d ( n ) is frequency offset information, and M d ( n ) = M q ( n ) - M nom ; M q ( n ) is a quantity, determined by the transmitter within an n th RTS period, of rising edges of the common reference clock signal; M nom is a reference quantity, obtained by the transmitter, of clock periods of the common reference clock signal within the n th RTS period; P is a bit width of a counter in the transmitter; the counter in the transmitter is configured to record the quantity M q (n), in the transmitter within the n th RTS period, of rising edges of the common reference clock signal; and n is a positive integer; performing frequency division on the common reference clock signal by using the target Mr d as a frequency dividing coefficient, to obtain a first clock signal, wherein a frequency of the first clock signal is f sN ; and performing frequency multiplication processing on the first clock signal, to obtain a service clock signal, wherein a frequency of the service clock signal is f s , f s = f sN ×N, and N is a multiplication factor. obtaining a common reference clock signal, wherein a frequency of the common reference clock signal is f n ; and determining B t according to the common reference clock signal and Mr d ( t -1), wherein B t = mod ∑ n = 0 t − 1 Mr d n , 2 p , t is a positive integer, and Mr d is a preset initial value of frequency offset information at the receiver; when C t obtained by means of calculation according to Mr d ( t - 1) is less than or equal to a threshold, determining that Mr d ( t - 1) is a target Mr d , wherein C t = B t - A t , A t is comprised in a residual time stamp RTS packet that is sent by a transmitter and that is received by the receiver last time, and A t = mod ∑ n = 0 t M d n , 2 p ; M d ( n ) is frequency offset information, and M d ( n ) = M q ( n ) - M nom ; M q ( n ) is a quantity, determined by the transmitter within an n th RTS period, of rising edges of the common reference clock signal; M nom is a reference quantity, obtained by the transmitter, of clock periods of the common reference clock signal within the n th RTS period; P is a bit width of a counter in the transmitter; the counter in the transmitter is configured to record the quantity M q (n), in the transmitter within the n th RTS period, of rising edges of the common reference clock signal; and n is a positive integer; performing frequency division on the common reference clock signal by using the target Mr d as a frequency dividing coefficient, to obtain a first clock signal, wherein a frequency of the first clock signal is f sN ; and performing frequency multiplication processing on the first clock signal, to obtain a service clock signal, wherein a frequency of the service clock signal is f s , f s = f sN ×N, and N is a multiplication factor. <EOS>