PTP Clock Servo Algorithm
 
 
  PTP as a protocol basically gives the timestamp values based on its messages
      and operation for calculating offset and drift adjustment. The problem is that the Slave clock
      cannot be simply corrected by setting the free running counter to a new value. If done this
      way, there would be time intermission or time back scenarios, and inaccurate synchronization.
      Thus the change to the slave clock should be brought in gradually while taking several other
      factors into account that affect the working of PTP: 
  
      - Packet Error (if there is an error in time stamp)
- Extended Packet Loss (an outage scenario) 
- Packet Delay Variation (network load increase)   
Timestamps provided by PTP are used as an input to the Servo Algorithm. This algorithm
      addresses all of above mentioned network impairments (PDV being the most critical one) and
      gives an output for the amount of adjustment that should be made to the local slave clock.
      1588v2 Specification does not define the Servo part. The Servo Algorithm‘s goal is to achieve
      zero time difference between the master and the slave, and that the frequency of the slave
      clock and master clock are locked (meaning the ratio should be constant).