Kiss-of-Death (KoD) and poll intervals

Also see: Rate Management and the Kiss-o'-Death Packet

NTP clients are expected to correctly inform their servers of the poll interval they are using. While servers generally don’t use this information, there seem to be circumstances where a server could make good use of the client’s poll interval. For example, Harlan wants to do a comprehensive analysis of client performance around leap smear windows.

In general, each client manages its own poll interval with each time source. The one avenue where NTP expects the server to have a say in the client’s poll interval is the Kiss-of-Death RATE packet.

And unauthenticated KoD packets are a Denial of Service (DoS) vector.

RFC5905 states that a KoD packet:

  • Has 0 in the Stratum field
  • Provides a maximum of 4 characters as a “kiss code” in the REFID field
  • The KoD packet’s Receive and Transmit Timestamps … “are undefined and MUST NOT be relied upon to have valid values and MUST be discarded.”

RFC5905 says nothing about using the poll value in the KoD packet, but the code copies the packet’s poll interval to the association poll interval. At least Harlan believes that we need to validate the poll interval in the KoD packet.