【NTP】日本から使える公開NTPサーバ

# 公開NTPサーバについて
設計する中でどのNTPサーバと同期するか検討する際のメモです。

何も考えずに "NICTでOK" と考える方も多いですが、上限規制がありますので、頻繁に同一IPからアクセスがあると制限される場合があります。
制限されなかったとしても、あくまで公共リソースですのでルールを守った利用をするために、ポーリング間隔をきちんと設定するようにしましょう。

# わかってる人用メモ
```:おすすめ設定
■検証環境など最低限の同期を取る場合 [Polling間隔：約17分固定(1024sec)]
Catalyst(config)# ntp server ntp.nict.jp minpoll 10

■企業内のNTPサーバとして正確な運用をする場合 [Polling間隔：16秒固定]
Catalyst(config)# ntp server ntp.nict.jp minpoll4 maxpoll 4
*NICT場合、3分以下のIntervalは要事前申請

■事前申請なしでNICTを使用する場合 [Polling間隔：256～1024sec]
Catalyst(config)# ntp server ntp.nict.jp minpoll 8
```

#### ■公開NTPサーバリスト (IP/delayは参考値)

|FQDN|stratum|IP address|delay|
|:-:|:-:|:-:|:-:|
|ntp.nict.jp|1|61.205.120.130|13.113|
|time.google.com|1|216.239.35.4|36.632|
|time.asia.apple.com<br>time.apple.com|1|17.253.68.253|2.139|
|ntp.nc.u-tokyo.ac.jp|1|133.11.204.98|4.861|
|1.jp.pool.ntp.org|1|133.243.238.163|3.271|
|ntp.tohoku.ac.jp|1|130.34.11.117|7.570|
|ats1.e-timing.ne.jp|1|61.114.187.55|4.227|
|ntp.jst.mfeed.ad.jp|2|210.173.160.57|11.404|
|3.jp.pool.ntp.org|2|118.27.19.72|2.732|
|s2csntp.miz.nao.ac.jp|2|133.40.41.134|10.696|
|ntp.tut.ac.jp|2|133.15.64.100|10.837|
|ntp01.usen.ad.jp|2|61.122.112.135|2.822|
|ntp1.sakura.ad.jp|2|210.188.224.14|5.401|
|0.jp.pool.ntp.org|3|162.159.200.1|2.134|
|2.jp.pool.ntp.org|3|160.16.113.133|2.568|
|time.windows.com|3|20.43.94.199|3.112|
|ntp-tk01.ocn.ad.jp|3|202.234.233.106|13.822|
|ntp-tk02.ocn.ad.jp|3|202.234.233.109|11.946|
|ntp-os01.ocn.ad.jp|3|210.145.255.76|11.758|
|time.aws.com|4|15.152.156.115|9.639|
|ntp1.plala.or.jp|4|219.164.211.129|10.173|
|ntp2.plala.or.jp|4|219.164.211.137|12.952|


#### ■状態確認Command(Catalyst)
```:show ntp associations
Load for five secs: 22%/0%; one minute: 22%; five minutes: 23%
Time source is NTP, 03:45:32.863 JST Mon Jul 3 2023

  address         ref clock       st   when   poll reach  delay  offset   disp
-~133.11.204.98   .GNSS.           1      6      8   377  4.434  -3.292  0.550
*~133.243.238.163 .NICT.           1      1      8   377  3.270  -3.641  0.582
+~17.253.68.123   71.80.83.115     1      4      8   377  2.709  -2.841  0.306
-~216.239.35.4    .GOOG.           1      7      8   377 37.065  -4.129  0.471
-~17.253.68.125   71.80.83.115     1      3      8   377  2.062  -2.565  0.345
-~130.34.11.117   .GPS.            1      6      8   377  7.557  -3.189  0.445
+~61.114.187.55   .PPS.            1      4      8   377  4.548  -2.593  0.306
 * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured
```
```:show ntp status
Load for five secs: 23%/0%; one minute: 22%; five minutes: 23%
Time source is NTP, 03:45:35.223 JST Mon Jul 3 2023

Clock is synchronized, stratum 2, reference is 133.243.238.163
nominal freq is 286.1023 Hz, actual freq is 286.0871 Hz, precision is 2**19
ntp uptime is 301800 (1/100 of seconds), resolution is 3496
reference time is E84C444A.E2E939B7 (03:45:30.886 JST Mon Jul 3 2023)
clock offset is -3.6419 msec, root delay is 3.27 msec
root dispersion is 4.55 msec, peer dispersion is 0.58 msec
loopfilter state is 'CTRL' (Normal Controlled Loop), drift is 0.000052894 s/s
system poll interval is 8, last update was 5 sec ago.
```
```:show ntp packets
Load for five secs: 23%/0%; one minute: 22%; five minutes: 23%
Time source is NTP, 03:45:37.743 JST Mon Jul 3 2023

Ntp In packets                  :  598
Ntp Out packets                 :  598
Ntp bad version packets         :  0
Ntp protocol error packets      :  0
```


# NICTのアクセス制限について
NICTのホームページにアクセスについての規定があります。


https://jjy.nict.go.jp/

[NICT公開NTP FAQ [Q1-4]ポーリング間隔(アクセス回数)に制限はありますか？](https://jjy.nict.go.jp/tsp/PubNtp/qa.html#q1-4/ "日本標準時グループ:Q&A ポーリング間隔(アクセス回数)に制限はありますか？")

>[Q.1-4]
>ポーリング間隔(アクセス回数)に制限はありますか？
>
>[A.1-4]
>1時間平均で20回(1日の合計が480回)を超えないようにしてください。
>それ以上が必要な場合は事前にご連絡ください。
>例えば、ISP あるいは企業等でネットワーク配下のクライアント(目安は10台以上)に時刻を供給する stratum 2 を運用される場合には、
>16秒間隔でのポーリングを推奨します (/etc/ntp.confの設定例 "pool ntp.nict.jp minpoll 4 maxpoll 4")。
>これは、3分間隔ポーリングの末端クライアント10台分程度のトラフィックに相当しますが、代表する stratum 2 の安定度を高めることにより、配下のクライアント精度も向上することができるためです。
>また、安定した stratum 2 を増やすことにより、stratum 1 への集中を防ぎ、ネットワーク全体のトラフィックを低減することができます。


# 設定値について(Catalystの場合)
https://www.cisco.com/c/ja_jp/support/docs/ip/network-time-protocol-ntp/116161-trouble-ntp-00.html
>NTPがクライアントとサーバの間で安定すると、ポーリング間隔が64秒から1024秒までの小さなステップで増加する可能性があり、通常はその間のどこかで安定します。しかし、この値はクライアントとサーバの間のネットワークの状態、および NTP パケットの損失に基づいて動的に変化します。


Ciscoの仕様では64-1024秒での動的変化ですので、3分(=180sec)以上間隔を空けるには下限を設定してあげる必要があります。

```:NTP同期間隔の設定
Catalyst(config)# ntp server ntp.nict.jp minpoll 4　→ 16 sec
Catalyst(config)# ntp server ntp.nict.jp minpoll 5　→ 32 sec
Catalyst(config)# ntp server ntp.nict.jp minpoll 6　→ 64 sec
Catalyst(config)# ntp server ntp.nict.jp minpoll 7　→ 128 sec (約2分)
Catalyst(config)# ntp server ntp.nict.jp minpoll 8　→ 256 sec (約4分)
Catalyst(config)# ntp server ntp.nict.jp minpoll 9　→ 512 sec (約8分半)
Catalyst(config)# ntp server ntp.nict.jp minpoll 10　→ 1024 sec (約17分)
Catalyst(config)# ntp server ntp.nict.jp minpoll 11　→ 2048 sec (約34分)
:
:
Catalyst(config)# ntp server ntp.nict.jp minpoll 17　→ 131,072　 sec (約36.4時間)
```

```:Commandメモ
*Default
Catalyst(config)# ntp server ntp.nict.jp minpoll 6 maxpoll 10

*設定範囲は4-17
Catalyst(config)# ntp server ntp.nict.jp minpoll ?
  <4-17>  Poll value in Log2
```

# おわりに
公開NTPはサービス終了したりすることもあり、それなりの数を投入しておく方が無難です。
弊社ではSt1に記載したSVに対してminpoll 10 で全部設定しています。

NICTをメインにしている設計が多いと思いますが、全国の様々な機器からアクセスを受け付けているため、大学のNTPサーバの方が遅延も少なく有用なサーバとして動作していると考えます。

但し、福岡大学や大阪府立大学などサービスを終了した大学も多く、執筆時点で有効性が確認できたサーバを記載しておりますが、今後終了する可能性が十分にあります。
運用していくことを考えると、GPSから同期するSt1のNTPサーバを構築する方が良いかもしれません。

弊社で実施した際には別途まとめます。