2021年7月14日、株式会社日本レジストリサービス(JPRS)、北海道総合通信網株式会社(HOTnet)、株式会社QTnet(QTnet)が連名で、JP DNSサーバーとして初となるローカルノードの運用開始を発表した[*1] [*2] [*3]。本記事では、JP DNSサーバーに導入されたローカルノードの概要とそのメリット、実証実験で検証した項目とその結果、今後の展望について、順を追って解説する。
「ローカルノード」の概要とそのメリット
あるゾーンを管理する全ての権威DNSサーバーへの到達性が失われた場合、そのゾーンに加え、そのゾーンから委任された全てのゾーンのサービスにも致命的な影響を及ぼす。そのため、ルートゾーンを管理するルートサーバーやjpゾーンを管理するJP DNSサーバーには、特に高い可用性が要求される。
DNSの可用性を高める技術の1つとして、IP Anycast[*4]が挙げられる。IP Anycastは同一のサービス用IPアドレスを複数のサーバーノード(ホスト)で共有することでサービスの可用性を高める仕組みであり、ルートサーバー・JP DNSサーバーにはともに、導入済みとなっている。
インターネットにおけるIP Anycastのサーバーノードはサービスの提供範囲により、グローバルノードとローカルノードの2種類に分けられる。グローバルノードは、外部のネットワークにサービスを提供するサーバーノードであり、隣接するネットワークに経路情報を広報することで、外部からのアクセスがサーバーノードに到達するように設定する。
一方、ローカルノードは、設置したネットワークのみにサービスを提供するように設定したサーバーノードを指す。具体的には、BGPのNO_EXPORTにより隣接するネットワークに経路情報を広報しないようにすることで、サーバーノードをローカルノードに設定する。IP Anycastにおいて個々のサーバーノードをグローバルノードとするかローカルノードとするかは、サービス提供者のポリシーにより、任意に設定可能である。
ローカルノードではサービスの提供範囲が設置したネットワークのみに限定されるため、グローバルノードに比べ、より小規模な設備・運用体制でのサービス提供が可能になる。また、経路情報を外部に広報しないため、外部ネットワークの障害やグローバルノードに対するアクセス数の急変によるローカルノードへの影響を回避できる。その一方、サーバーノードが提供するサービスの恩恵は、当該ノードを設置したネットワークのみにとどまることになる。
実証実験で検証した項目とその結果
JPRSでは、研究開発用の「.jprs」TLDを利用したDNSサービスの継続に関する実証研究を、2回にわたり実施した。2016年から2017年には国内の電力系ISPの8社と、2019年からは国内ISPの9社と共同で実施している。
そのうち、2019年からの共同研究においてローカルノード設置に向けた事前検証のための実証実験を、HOTnet、株式会社オプテージ(OPTAGE)、QTnetの3社と共同で実施した。実証実験では、.jprs TLDのローカルノードを各ISPに設置し、以下の5つの状況を発生させることで、ローカルノードの設置による名前解決への影響と、障害発生時のサービス継続性を検証した。
- グローバルノードのみを稼動(通常の状態)
- 1.においてグローバルノードに障害が発生し、到達性が喪失
- ISPにおいてローカルノードを稼動
- 3.においてグローバルノードに障害が発生し、到達性が喪失
- 3.においてローカルノードに障害が発生し、到達性が喪失
その結果、
- ローカルノードの稼動によりISP内における.jprsの権威DNSサーバーのRTT値が低下し、名前解決の効率が向上する
- 障害によりグローバルノードへの到達性が失われた場合も、ISP内における.jprsの名前解決が継続される
ことを確認でき、ローカルノードの設置がDNSサービスの品質とサービス継続性の向上に有効であることを検証できた。また、
- サービス範囲がISP内に限定されるため、トラフィックの急増など、ローカルノードにおいてイベントが発生した際の原因の特定がしやすくなる
という知見も得られた[*5]。
今回のローカルノードの運用開始は本実証実験を含む、これまでの実証研究に基づくものである。
今後の展望
実証実験の結果を踏まえ、JPRSではJP DNSサーバーの一つである「g.dns.jp」にIP Anycastを導入し、そのローカルノードをHOTnetとQTnetのネットワークに設置することで、JP DNSサーバーを増強した。JPRSでは今回の増強による効果を踏まえ、今後もJP DNSサーバーの更なる安定運用に向けた活動を続けていく予定である。