JPドメイン名のサービス案内、ドメイン名・DNSに関連する情報提供サイト


JPRS トピックス&コラム No.005


DNSのさらなる信頼性向上のために~IP Anycast技術とDNS~


ルートサーバーやTLDサーバーなど、特に重要な権威DNSサーバーを中心に導入されている「IP Anycast」技術について、その概要と特徴、DNSへの導入効果を解説します。

インターネットにおける通信の仕組み

 IP Anycastについて解説する前に、インターネットにおける通信の仕組みについて、簡単におさらいしておきましょう。


 インターネットでは通信相手をドメイン名で指定します。指定されたドメイン名はDNSによって対応するIPアドレスに変換され、実際の通信ではIPアドレスにより、通信相手が指定されます(図1)。
図1ドメイン名からIPアドレスへの変換
図 1 ドメイン名からIP アドレスへの変換

 インターネットに接続しているすべての機器には、それぞれ個別のIPアドレスが割り当てられます。そのため、通信相手のIPアドレスを送信先として指定することにより、その相手との間で一対一の通信を行うことができます(図2)。

図2IPアドレスを指定した一対一通信
図 2 IP アドレスを指定した一対一通信

 このような通信方式はインターネットにおいて一般的なものであり、ユニキャスト(Unicast)と呼ばれています。ユニキャストの「ユニ」は「単一の」という意味の接頭辞で、ユニキャストでは送信元と送信先の機器は、常に一対一で対応付けられることになります。

IP Anycast

 これに対しIP Anycastでは、一つのIPアドレスがインターネット上の複数の機器に同時に割り当てられ、共有されます。これらの機器はIP Anycastを構成するノード(node)と呼ばれ、送信元から送られたデータはそれぞれのノードのうちのいずれか一つ(any)に到達し、処理されます(図3)。

図3IPAnycastによる通信
図 3 IP Anycastによる通信

 IP Anycast を構成するノードには、それぞれの機器に個別に割り当てられるIPアドレスとは別に、IP Anycastで使用するためのIPアドレス(共有アドレス)が追加で割り当てられます。そして、すべてのノードにおいて、当該の共有アドレスで同じサービスを動作させることにより、どのノードが処理をしても同じサービスが提供されるように設定されます。

IP Anycastの特徴

 IP Anycastでは、同じIPアドレスを持つ複数の機器(ノード)がインターネットに同時に接続された状態になります。そのため、通常の通信方式(ユニキャスト)にはない、次のような特徴を備えています。

①接続条件によりデータが到達する機器が異なる

 ユニキャストでは送信元や送信先の接続条件、例えば利用しているプロバイダーや利用している地域などが異なっていても、データが到達する機器は常に一定です。しかしIP Anycastの場合、接続条件によりデータが到達するノードが異なってきます。

②送信元が同一であってもデータが到達する機器が異なる場合がある

 インターネットにおける通信の状況は常に変化する可能性があるため、同じ発信元から送信されたデータであっても、状況の変化により別のノードに到達する場合があります。

IP Anycastの制限

 このようにIP Anycastでは、データが到達するノードが接続条件により異なり、また通信の状況の変化により、データが到達するノードが変化する可能性があります。このような変化は通信中であっても起こり得るため、IP Anycastを実際のインターネットに適用する場合、その特性をよく理解した上で導入を検討する必要があります。
 例えば、インターネット上の通信で広く使われているTCPによる通信では、事前に「スリーウェイ・ハンドシェイク」という手順により相手との間の接続を確立します。この手順では、送信元から送信先に二つのパケット(SYNとACK)が送られますが、もしこの間に接続状況が変化してそれぞれのパケットが別のノードに到達してしまった場合、相手側との接続が確立できなくなってしまいます(図4)。

図4スリーウェイ・ハンドシェイクの失敗
図 4 スリーウェイ・ハンドシェイクの失敗

 また、インターネット上の通信では送信元から送信先に送るデータサイズが大きい場合、経路の途中でデータが分割される場合があります。このような場合に分割された断片(フラグメント)が別のノードに到達してしまうと、相手側との通信が確立できなくなってしまいます。

IP AnycastとDNS

 DNSでは主な通信プロトコルにUDPを使用しているため通信開始時の接続の確立が必要なく、基本的に一度のやり取りで通信が完結します。かつ、一般的なDNSの問い合わせパケットのサイズは512バイト以下であり、現在のインターネットでは経路途中におけるデータの分割は発生しません。
 DNSはこれらの特徴によりIP Anycastが適用可能なプロトコルの一つであると考えられ、2002年10月に発生したルートサーバーへの大規模なDDoS攻撃をきっかけとして、ルートサーバーやTLD サーバーなどの特に重要なDNSサーバーを中心に、IP Anycastの導入が行われてきました。

IP Anycastにより得られる効果

 DNSサーバーにIP Anycastを導入することにより、以下に示す効果が期待できます。
①負荷分散・冗長化
 複数のサーバーや複数の拠点にリクエストを分散さ せることにより、負荷分散や冗長化を実現できます。
②DNS平均応答時間の短縮
 ノードを地域ごとに分散配置することで、DNSサーバーの平均応答時間を短縮させることができます。
③DoS攻撃の局所化
 1カ所からのDoS攻撃はネットワーク的に一番近いノードに局所化され、他のノードは被害を受けません。
④DDoS攻撃の効果抑制
 DDoS攻撃は複数のノードに分割されるため、効果を抑制することができます。
 このように、IP AnycastをDNSに導入することでDNSサーバーの性能や耐障害性を向上させ、結果としてDNS全体の信頼性を向上させることができます。

IP Anycast導入の現状

 IP Anycastは13系列あるルートサーバーのうち、B-Rootを除く12系列に導入されており、合計450以上のノードが世界中で稼動しています。
  JP DNSでは7系列あるサーバーのうちa.dns.jp、c.dns.jp、d.dns.jp、e.dns.jpの4系列にIP Anycastを導入し、信頼性の向上を図っています。



掲載内容は2015年2月のものです。