要約

  • AFRINICのNS2測定設定には17地点があるが、導入前と導入後の測定IDが両方入っているのは6地点だけで、残る11地点は両方とも空欄の「設定待ち」である。
  • リンクされた12件のDNS測定はすべてis_oneoff: trueかつStoppedだ。導入時の比較には使えても、latestを取得するだけで現在の健全性を示す資料にはならない。

「最新」は、現在進行形を意味しない

AFRINICのNS2測定ページは、平均RTT、導入前後の差、プローブ表示、「最終更新」といった要素を備え、「Real-time Anycast Node Monitoring」と名乗っている。利用者が、ページを開いた時点のネットワークを示すものだと受け取っても不思議ではない。

しかし、公開されている実装の境界はもっと狭い。ノード設定には17地点が並ぶ。画面側の処理は、beforeMeasurementIdとafterMeasurementIdがともに存在するときだけ「Configured」と判定し、両方がない地点を「Pending Configuration」と表示する。

対になっているのは、ナイロビのKIXP、ハラレのHIXP、ルサカのLSKIX、ドゥアラのDoualaIX、ラゴスのIXPN、ローズヒルのMIXPである。JINX、s02.iso、CINX、s01.pkl、s02.pkl、DINX、NMBINX、DarIX、UIXP、RINEX、TUNIXには、前後どちらのIDもない。片側だけが入った地点はゼロだ。したがって、この設定自体が示す内訳は「6地点が比較可能、11地点が設定待ち」である。

設定済み地点について、画面はAtlasの/measurements/{id}/latest/を呼ぶ。ここでlatestは、その測定に保存された最後の結果を返すという意味にすぎない。測定が周期的か、継続中か、最近実行されたかは別の属性だ。停止した単発測定にも最後の結果はある。今日その結果を取得しても、今日の観測が増えるわけではない。

公開面には三つの異なる台帳がある

AFRINICのDNS Anycast Programmeは二つのサービスを紹介している。AS37181はCIP、すなわち逆引きDNS側の基盤、AS37177はアフリカの国別トップレベルドメインを支えるNS2基盤として示される。ホスト候補にはAnycast能力、冗長性、24時間の運用支援も求めている。

一方、ノード分布図は、CIPのCSVに20行、NS2のCSVに20行を持つ。これはホスト単位の配備台帳である。

公開マップスクリプトからも、この二つの台帳が表示を構成していることを確認できる。

測定画面の見出しは「NS2 DNS Measurement」であり、設定単位は17の地点ラベルだ。40のホスト行と17地点を差し引きし、23ホストが未測定だと結論することはできない。一地点に複数ホストがあり得るうえ、測定画面はCIPを対象としていないからだ。配備台帳、導入比較の設定、現在の監視範囲は、それぞれ別の分母を持つ。

この区別は運用判断に直結する。配備台帳は「どこに何を載せたか」を答える。導入前後の実験は「限られた時間とプローブから何が変わったか」を答える。現在監視は「今、どの視点から、どの応答ノードを、どれだけ新しいデータで見ているか」を答える。三つを一つの地図に載せることはできても、一つの状態に畳むことはできない。

12件のライフサイクルはすべて同じだ

六つの組は次の公開測定を参照する。

地点 設定上の「前」 設定上の「後」 Atlasの予定プローブ数
KIXP 154055021 154055966 16 / 16
HIXP 142775401 142775907 3 / 3
LSKIX 142730550 142730838 6 / 6
DoualaIX 155156750 155156902 2 / 2
IXPN 143072543 147523251 12 / 10
MIXP 142741062 142740732 8 / 8

12件すべてでis_oneoffはtrue、状態はStoppedである。期間は最も早い開始が2025年12月8日、最も遅い終了が2026年2月16日で、多くは約5分の測定だった。RIPE AtlasのAPI仕様も、単発測定と周期測定を区別し、Stoppedを明示的な状態として定義している。

ここから「測定は無価値」とは言えない。たとえばKIXPの二件は同じASNとIPを対象にしており、同じ設計のもとで導入前後のRTT分布を比べる材料になり得る。だが、実験が当時有効だったことと、現在も観測が続いていることは別問題である。二つの短い窓の間に成立した結論は、数か月の空白を飛び越えて現在形にはならない。

プローブ数も結論と一緒に運ばなければならない。DoualaIXの各測定は2プローブ、KIXPは16プローブを予定している。二つでも局所的な導入比較には役立つ場合がある。しかし、二つの視点が大陸規模のAnycastサービスを代表するとは限らない。16に増えても単発性は変わらない。プローブの所在、経路、対象、問い合わせ種別、応答したノードが結果の射程を決める。

HIXPとMIXPは、グラフを読む前に対応関係を確かめたい

HIXPの設定では142775401が「前」だが、Atlasの説明は“After”で終わる。相方の142775907はZimbabweという一般的な説明で、対象ASNとIPも前者とは異なる。比較設計が必ず誤っているという証拠ではない。それでも、なぜ異なる対象が一組になり、どのラベルを正式とするのかは、図の増減を解釈する前に説明されるべきだ。

MIXPでは向きがさらに明瞭に交差する。「前」欄の142741062はAtlas上で“After”と説明され、「後」欄の142740732には“before”とある。単純な並び替えミスかもしれない。DNS障害、ノードの誤配備、測定データの破損を示すものではない。示しているのは、比較の方向に意味を与える確認記録が必要だということだけである。

メタデータのずれを障害へ飛躍させない節度と、見栄えのよい図を無条件に信じない節度は両立する。元のID、旧マッピング、修正理由、有効期間を残せば、誤りを直しつつ歴史も保存できる。

Anycastでは観測地点が結果の一部になる

Anycast運用のBCPであるRFC 4786は、分散サービスの監視が難しい理由を整理している。クライアントは経路によって複数ノードの一つへ運ばれ、可用性や性能の見え方は観測地点で変わる。同文書は、代表性のある分散プローブから監視し、可能なら応答ノードの識別子を性能・可用性統計とともに記録することを勧める。

これはAFRINIC向けの拘束的な製品仕様ではなく、義務違反の証拠でもない。ただし、分析の物差しとして有効だ。Anycastの測定値は、対象、プローブ、経路、応答ノード、時刻の組み合わせである。時刻を落とせば履歴が現在に化け、ノードを落とせば別地点の応答を帰属させる危険があり、プローブ集合を落とせば局所差が地域全体の変化に見える。

責任も一枚岩ではない。別のルートサーバー・コピー計画では、AFRINICはコピー運用者ではなく促進役とされ、現地支援はホスト側に置かれる。RFC 6304はAS112の運用背景を与えるが、CIPやNS2の全ノードについて責任者を自動的に決めるものではない。測定画面は、自分が観測した範囲だけを正確に示すべきである。

必要なのは新しい画面ではなく、ノード別の観測票だ

証拠の境界を直すために大型システムを追加する必要はない。各地点と各測定目的に一枚の短い観測票を付ければよい。

まず単位を固定する。NS2かCIPか、ホストか地点か、公開地点名と、安全に確認できる場合のNSIDは何か。次に、配備台帳、導入前実験、導入後実験、現在監視のどれかを明示する。時制をフィールドにすれば、過去のチャートがデザインだけで「ライブ」に昇格することを防げる。

測定契約には、二つのID、確認済みの前後順、対象ASNとIP、DNSの問い合わせ名と種別、アドレスファミリー、要求・実施されたプローブ集合、開始・停止時刻、単発か周期かを残す。前後で対象や集合が変わるなら、比較可能とした理由を書く。説明できなければ「直接比較不可」とする。

新鮮さにも型が要る。「最後に取得した時刻」と「最後に観測した時刻」は違う。現在健康を示す表示には最大許容年齢を設定し、超過したら「履歴」または「現況には古い」と表示する。最後の値を緑のまま残してはならない。

最後に、機密性を損なわない役割分担を書く。測定定義の所有者、地点マッピングの修正者、ホストやccTLD運用者からの異議経路で十分だ。修正時には旧対応のハッシュと有効期間を残す。ルーター設定や施設の詳細を公開せずに、図の根拠を監査できる。

状態名は地味でよい。「配備済み・未計測」「導入実験設定済み」「実験終了」「継続監視中」「現況データ期限切れ」「対応関係を確認中」。サービスが正常でも、各行が異なる状態にあってよい。精密な表現は危機を作らない。未完成の観測面を運用障害と混同しないためにある。

検証に使った入口

数値はAFRINICの計画ページ、分布図、測定画面、設定、画面処理、CIPとNS2の各CSVから再計算できる。12件のAtlas記録は表に個別リンクし、状態の定義はAtlas API仕様に従った。RFC 4786、コピー計画、RFC 6304は監視と役割の境界を考えるためだけに用いている。