1 of 18

Lightning Talk:

Stratum 1 NTP サーバの�試作と公開

佐藤 泰介 (paina) �BBSakura Networks 株式会社

2023/05/19 ENOG78 Meeting

2023/05/23 公開用 (rev.2)

2 of 18

自己紹介

佐藤 泰介 (paina)

  • (2 年前から)新潟市在住
  • ネットワークエンジニア
  • BBSakura Networks / BBIX �  ※発表内容は個人的な活動に関するものです
  • WIDE Project
  • Twitter: @paina

2

おそれおおくもこのアイコンで生きています

みかけたらよろしくおねがいします

3 of 18

概要

やったこと(引っ越し前)

  • GNSS を時刻源とする Stratum 1 NTP サーバの試作
  • その NTP サーバのインターネットでの公開
  • (細々ですが割と長期間(数年間)やっていました)

やりたいこと(引っ越し後)

  • 同 NTP サーバの再公開
  • 公開 NTP サーバのリクエストの統計情報の取得

3

4 of 18

Stratum 1 NTP Server とは

  • NTP: Network Time Protocol
  • NTP は時刻源を階層 (stratum) 化して利用する
    • stratum 0: NTP のネットワーク外の基準時刻源
      • GNSS,原子時計,PTP etc.
    • stratum 1: stratum 0 を時刻源とする NTP サーバ
    • stratum 2: stratum 1 を時刻源とする NTP サーバ ……

  • Stratum 1 NTP Server:�基準時刻源を接続してあるサーバ

4

Wikimedia, File:Network Time Protocol servers and clients.svg

5 of 18

なぜそんなものを

回答例 1

趣味……!

回答例 2

NTP Pool Project(後述)に参加してインターネットに貢献したかった

回答例 3

時刻に関する科学的・技術的知見を……

5

6 of 18

時刻源

NTP サーバのリファレンス実装 ntpd では�時刻源を Reference Clock Driver として実装している

6

発表者が制作中の同人誌より

7 of 18

2 手順でできる! Stratum 1 NTP Server

  • ご家庭によくある GNSS 受信キットを PC に接続
  • PC で ntpd を立ち上げる

※GNSS: Global Navigation Satellite System� GPS 等の衛星航法システムの総称

7

GNSS アンテナの例,https://amzn.to/3G56GqH

GNSS 受信キットの例,秋月電子

8 of 18

信号変換回路(これだけははんだ付けした)

8

9 of 18

9

117 を聴きながらデバッグ中

10 of 18

10

ベランダに取り付けた GNSS アンテナ

こちらは Wi-Fi AP

11 of 18

公開当時の構成など

ハードウェア / ソフトウェア

  • FreeBSD 9
  • ntpd (FreeBSD base)
  • Intel J1900 の小型 PC

ネットワーク

  • フレッツ光ネクスト
  • PPPoE で固定 IPv4 アドレスを借りられる ISP
  • IPoE VNE の IPv6 アドレス

数十万リクエスト/秒くらいを捌く

  • J1900 でもいけました
  • ISP からのおこられに注意(私はだいじょうぶでした……)

11

12 of 18

数十万リクエスト/秒??

  • NTP Pool Project に参加して NTP サーバを公開していた
    • jp.pool.ntp.org で割とよく出る paina.net

  • NTP Pool Project
    • タイムサーバの仮想クラスタ
    • 多くの Linux ディストリビューション等のデフォルト参照先

12

FreeBSD etc/ntp.conf

https://www.ntppool.org

13 of 18

ご好評の声(Twitter)

13

14 of 18

ご好評の声(何故か NICT・ntt.net と並ぶ paina.net

14

👉

https://server-network-note.net/2021/02/centos8-set-ntp/

15 of 18

引っ越し!

  • 引っ越しの数ヶ月前に NTP Pool からサーバを抜く
  • ntpd の挙動上 クライアントは�server ステートメントで指定したホストの IP アドレスをつかみ続けるが……
  • 最近は ntpd 以外のクライアントや pool ステートメントでの指定も多いためか�割とちゃんとリクエストが減る
  • それでも正直トラフィックが完全になくなるとはいえなかった
  • (言い訳)本当は同じ IPv4 アドレスを使い続けるつもりだった
    • フレッツのタイプが変わってしまい PPPoE できなかった

15

16 of 18

おやすみ中

  • まだおやすみ中,再公開したい

  • やりたいこと
  • リクエストの統計情報をとる
    • トラフィック
    • NTP バージョン
    • src IP
  • サーバの統計情報を取る
    • offset
    • jitter

16

床の間に置いた自宅のネットワーク機器など

17 of 18

また進捗報告します!

ご質問などあれば Twitter @paina まで

17

🕒

18 of 18

(発表時省略)同人誌作っています

NTP に関する同人誌を制作中……!

こちらもまたどこかで進捗報告します

18