A frequency synchronization method, comprising: receiving, by a slave clock, a first pulse signal and a second pulse signal, wherein the second pulse signal is sent by a master clock after the master clock sends the first pulse signal, the first and second pulse signals being sent through a link between the master clock and the slave clock; determining, by the slave clock based on a first phase difference, a second phase difference, a first delay, and a second delay, that a frequency offset of the slave clock relative to the master clock is equal to a first frequency offset, wherein the first phase difference is a difference between a phase of a third pulse signal generated by the slave clock and a phase of the first pulse signal received by the slave clock, the third pulse signal is generated by the slave clock, the second phase difference is a difference between a phase of a fourth pulse signal generated by the slave clock and a phase of the second pulse signal received by the slave clock, the fourth pulse signal is generated by the slave clock, the first delay is a delay that is determined by the slave clock when the slave clock receives the first pulse signal and that is of the link between the master clock and the slave clock, the first delay is determined by the slave clock based on packets exchanged between the master clock and the slave clock through the link between the master clock and the save clock, the second delay is a delay that is determined by the slave clock when the slave clock receives the second pulse signal and that is of the link between the master clock and the slave clock, the second delay is determined by the slave clock based on packets exchanged between the master clock and the slave clock through the link between the master clock and the save clock, and the first delay is unequal to the second delay; and calibrating, by the slave clock, a frequency of the slave clock based on the first frequency offset. receiving, by a slave clock, a first pulse signal and a second pulse signal, wherein the second pulse signal is sent by a master clock after the master clock sends the first pulse signal, the first and second pulse signals being sent through a link between the master clock and the slave clock; determining, by the slave clock based on a first phase difference, a second phase difference, a first delay, and a second delay, that a frequency offset of the slave clock relative to the master clock is equal to a first frequency offset, wherein the first phase difference is a difference between a phase of a third pulse signal generated by the slave clock and a phase of the first pulse signal received by the slave clock, the third pulse signal is generated by the slave clock, the second phase difference is a difference between a phase of a fourth pulse signal generated by the slave clock and a phase of the second pulse signal received by the slave clock, the fourth pulse signal is generated by the slave clock, the first delay is a delay that is determined by the slave clock when the slave clock receives the first pulse signal and that is of the link between the master clock and the slave clock, the first delay is determined by the slave clock based on packets exchanged between the master clock and the slave clock through the link between the master clock and the save clock, the second delay is a delay that is determined by the slave clock when the slave clock receives the second pulse signal and that is of the link between the master clock and the slave clock, the second delay is determined by the slave clock based on packets exchanged between the master clock and the slave clock through the link between the master clock and the save clock, and the first delay is unequal to the second delay; and calibrating, by the slave clock, a frequency of the slave clock based on the first frequency offset.