要約

  • 権威サーバー1台の実験は254,894,985件のテストで、1件当たりの権威問い合わせは平均3.43回だった。後の2台実験は150,221,951件で、平均2.57回だった。
  • 問い合わせが1回だけだったテストの比率は58%から71%へ上がった。しかし両実験は別々に行われ、母集団の規模も異なる。追加サーバーが差を生んだとは、公開集計だけでは証明できない。
  • 次に必要なのは再現レシートである。同一期間内の無作為割り当て、比較可能なリゾルバーとネットワークの構成、固定した権威トポロジー、公開された正規化式、代替機序を検証できる到着時間分布をそろえるべきだ。

大きな差と、未確定の説明

APNIC Labsが問うたのは実務的な論点だ。権威ネームサーバーを2台提示すると、再帰リゾルバーが送る問い合わせ数は変わるのか。1台構成のデータでは、254,894,985件のテストから875,316,423件の権威問い合わせが届き、平均は3.43回だった。147,233,117件、報告値で58%は1回だけだった。

2台構成の後続データは150,221,951件のテストと385,725,364件の問い合わせで、平均2.57回。1回だけのテストは106,376,529件、71%だった。再問い合わせがあったテストに限った平均回数も3.80から2.56へ下がった。

規模も差も無視できない。後続実験では、テスト当たりの問い合わせが少なく、1回で終わる比率が高かった。だが「2台で観測した」という記述は、「2台だから起きた」という説明ではない。原著者自身が結果を予想外とし、確定的な説明はできないと書いている。

件数の違いより、条件の比較可能性

約2億5500万件と1億5000万件の比較は、それだけで不適切になるわけではない。大規模な観測研究では比率や正規化を使う。APNICも時間分布を比べる前に両データを正規化した。問題は、実行条件が十分にそろっていたかどうかである。

先行実験は、Google広告の測定ポイントを通じて一意の無作為名を発生させ、署名のないゾーンから短く切り詰めのない応答を返した。UDPとTCPに対応し、DoTとDoHは使わず、権威側への到着を24時間数えた。地理差もあり、ロシアが目立つ例外だった。1台構成では、北米、南米、欧州とアフリカ、インド、アジア、中国の6地域に、それぞれデュアルスタックの権威サーバーを1台置いた。

因果を切り分けるには、2台目を加えた際に何が固定されていたかが必要だ。同じ日付と時間帯だったか。国、アクセス網、リゾルバーの送信元、IPアドレス族の構成は安定していたか。配置、経路、anycastかunicastか、TTL、応答コード、パケット長、観測期間は一致したか。正規化は分母を同じ尺度にできるが、記録されない集団や経路の変化までは補正できない。

したがって、「標本数が違うから実験は無効」という批判は的を外す。正しくは、「処置条件を結ぶレシートが足りない」である。割り当てと統制が見えるなら小さい後続標本でも説得力を持つ。逆に数億件あっても、条件と同時に時間や母集団が変われば因果は開いたままだ。

平均値より多くを語る時間分布

到着曲線は重要な手掛かりを含む。1台構成では重複の85%超が最初の1秒に到着し、2台構成では75%だった。どちらも約90%が5秒以内に届いた。2台の曲線には約0.75秒、1.5秒、3秒の山も見える。

速い側では、1台構成の再問い合わせの17%が10ミリ秒未満、2台構成は12%だった。正規化後の最大差は10〜70ミリ秒、とりわけ10〜40ミリ秒に集中した。この時間は一般的な再帰リゾルバーのUDPタイムアウトより短い。「待機し、失敗し、再送する」だけでは説明しにくい。

原著者が挙げた可能性の一つはリゾルバーファームだ。DNSを理解するフロントエンドが複数の再帰バックエンドへ処理を分け、複数のバックエンドが同じ名前を追うことはあり得る。PowerDNSはdnsdistを再帰サーバーの前段に置くDNSロードバランサーと説明する。これは構成の存在を示すだけで、APNICの曲線を生んだ証拠ではない。内部トレースがなければ、同じ外部アドレスの背後に、振り分け、競合、IPv4/IPv6選択、キャッシュ状態、実装固有の選択が隠れる。

権威サーバーの選び方も実装で異なる。APNICのDNS-OARC 43報告は、BIND、PowerDNS Recursor、Knot Resolver、Unboundで初期評価、遅延学習、IPv6の扱いが違うことを示す。2台目のデュアルスタック名は、単に数を1から2にするのではなく、名前とアドレスの選択肢を増やす。

再現レシートに記す項目

追試では、同じ測定期間の各テストを1台と2台へ無作為に割り当てるか、事前に定めた短いブロックで交互に実行する。ブロックごとの件数を公表し、日付、広告キャンペーン、トラフィックの変化が処置効果に化けないようにする。

次に、プライバシーを守る集計で、大地域、アクセス網、安定したリゾルバーアドレス、IPアドレス族ごとの構成を示す。利用者を特定するためではない。58%と71%を構成する集団が比較可能か、層別後も差が残るかを見るためだ。

追加する名前以外の権威面は固定する。サーバーソフトウェア、ゾーン内容、TTL、DNSSEC、応答コードと長さ、切り詰め、UDP/TCP、観測期間、アドレス、拠点、経路をそろえ、unicastかanycastかを明記する。同じ拠点の裏にある二つの名前は、トポロジーが異なる二つのサービスと同じ耐障害性を試してはいない。

さらに、正規化式、除外条件、分母、未加工と正規化後の分布、不確実性区間を公開する。10ミリ秒未満、10〜70ミリ秒、後続のタイマーの山、5秒超の尾を分ける。フロントエンド分散、バックエンド並行処理、アドレス族、実装、キャッシュ、広告地域を競合仮説として先に宣言する。

2台を使う理由は別に成立する

この検証は複数の権威サーバーを否定しない。RFC 2182は、信頼性と負荷分散のため、物理的・トポロジー的に分離した複数サーバーを推奨する。APNICの先行研究も、異なるデュアルスタックかつ地理的に多様なサービスを少なくとも二つ使うことを示唆し、測定上は二つを超える追加効果が小さくなるとした。

根拠は継続性である。一つのサーバー、経路、拠点が止まっても、別のサービスでゾーンを到達可能に保つ。そのために、2台目がすべての再帰問い合わせを3.43から2.57へ減らすと約束する必要はない。運用者は耐障害性のために2系統を維持しつつ、この差を容量設計や製品選定へ入れる前に統制された追試を求められる。

結論は狭いほど強い。APNICは二つの公開基準値の間に大きな差を観測し、原因を知っているとは装わなかった。時間、集団、トポロジーを共有する再現レシートが、その誠実な不確実性を検証可能な運用知へ変える。

情報源