BルートDNSサーバがanycastを開始
tech_team インターネットの技術2017年05月、 Information Sciences Institute(南カリフォルニア大学情報科学研究所)の運用するBルートDNSサーバ(B-root)がanycastを開始しました。
ルートDNSサーバは、データをツリー状の階層構造で管理するDNSにおいて、 最上位に位置するデータ(ルートゾーン)を維持するサーバです。 そのサーバは世界中にAからMまでの13システムあり、 各システムは個別の組織が管理運用しています。 Bルートサーバもそのうちの1システムです。 DNSのデータ検索(名前解決)はルートサーバに問い合わせることから始まるため、 重要な役割を担っています。 そのため、高い可用性や耐障害性が求められる訳ですが、 その実現方法の一つとしてIP anycastが使われています。
IP anycastはルーティング技術を用いた分散方法で、 一つのIPアドレスを複数のサーバに持たせ、 地理的・ネットワークトポロジー的にサーバを分散させるものです。 この手法はDNSだけではなく、 CDN (content delivery network)サービス等でも使われています。
インターネット上ではIP anycastで用いられるルーティングプロトコルは主にBGPが用いられています。 BGPでは送信元から送信先まで経路が複数あった場合、 経路の短い(ASパスの短い)ASに向かってパケットが転送される性質を持ちます。 そのため、同一のIPアドレスを複数の場所から経路広告した場合、 そのIPアドレスとの通信はASパスの短いノードと行われます。
例えば下記のネットワーク構成において、 AS5が二つのノードから192.0.2.0/24を広告しているとします。 このときAS1内のクライアントから192.0.2.1へパケットを送信した場合、 ASパスの短いAS2と接続するAS5へパケットが転送されます。
同様に、AS4内のクライアントからはAS4と接続するAS5へと転送されます。 このような性質によって冗長性やレスポンス時間の向上が実現されています。
また例えばAS2とAS5の疎通がなくなり経路広告が停止した場合、 AS1からはAS4につながるAS5のノードへパケットが転送されるようになります。 この性質を利用して耐障害性が確保できます。
B-rootのノードは元から運用されているロサンゼルスと、 今回のanycast化で追加されたマイアミ拠点と、 合計2拠点となりました。 残念ながらどちらも米国内の拠点であるため日本からはほとんど変化はないと思われますが、 DNSの安定運用という観点からはB-rootの耐障害性が向上したと考えることができるでしょう。
なお、 Anycast化にともないB-rootのIPv6アドレスが2001:500:200::bに変更されています。 2017年後半にはIPv4アドレスについても変更が予告されています。 DNSサーバの運用者の方々はルートヒントファイルの更新を忘れずにしておきましょう。