IETFに「NTP DNS Resource Record」というDraftを提出しました。
www.ietf.org
(まさか、このブログで自分の提案仕様をとりあげることになるとは)
NTP DNS Resource Record
このDraftでは、RFC9460のHTTPレコードと同様に、NTPレコードを定義します。
こんな感じのやつです。これはRFC9460で定義される SVCB-compatible RR typeです。
ntp.example.com. 300 IN NTP 1 . ntp-version=4,5
その背景にあるのが、NTPv5のバージョンネゴシエーションの課題です。
NTPの仕様では、サポートしてないNTPバージョンのパケットを受信してもドロップします。そのため、クライアントはNTPのやりとりを開始する前に使用するバージョンを決める必要があります。
しかし、クライアントは事前にサーバがサポートするNTPバージョンを知る方法は現状ありません。そこで、HTTPSレコードと同様に、DNSでNTPサポートバージョンをアドバタイズするという提案です。これにより、事前にサーバがサポートするNTPバージョンを知ることが出来ます。
(現状は、NTPv4のreference timestampフィールドに"NTP5NTP5"と入れることで、NTPv5サポートを通知できます。が、NTPv4サポートを暗黙的に仮定するというのが良くないと考えています。将来のNTPv6~ 以降のデプロイで課題は継続します。)