JPドメイン名のサービス案内、ドメイン名・DNSに関連する情報提供サイト
JPRS トピックス&コラム No.005
ルートサーバーやTLDサーバーなど、特に重要な権威DNSサーバーを中心に導入されている「IP Anycast」技術について、その概要と特徴、DNSへの導入効果を解説します。
インターネットにおける通信の仕組み
IP Anycastについて解説する前に、インターネットにおける通信の仕組みについて、簡単におさらいしておきましょう。
インターネットに接続しているすべての機器には、それぞれ個別のIPアドレスが割り当てられます。そのため、通信相手のIPアドレスを送信先として指定することにより、その相手との間で一対一の通信を行うことができます(図2)。
このような通信方式はインターネットにおいて一般的なものであり、ユニキャスト(Unicast)と呼ばれています。ユニキャストの「ユニ」は「単一の」という意味の接頭辞で、ユニキャストでは送信元と送信先の機器は、常に一対一で対応付けられることになります。
IP Anycast
これに対しIP Anycastでは、一つのIPアドレスがインターネット上の複数の機器に同時に割り当てられ、共有されます。これらの機器はIP Anycastを構成するノード(node)と呼ばれ、送信元から送られたデータはそれぞれのノードのうちのいずれか一つ(any)に到達し、処理されます(図3)。
IP Anycast を構成するノードには、それぞれの機器に個別に割り当てられるIPアドレスとは別に、IP Anycastで使用するためのIPアドレス(共有アドレス)が追加で割り当てられます。そして、すべてのノードにおいて、当該の共有アドレスで同じサービスを動作させることにより、どのノードが処理をしても同じサービスが提供されるように設定されます。
IP Anycastの特徴
IP Anycastでは、同じIPアドレスを持つ複数の機器(ノード)がインターネットに同時に接続された状態になります。そのため、通常の通信方式(ユニキャスト)にはない、次のような特徴を備えています。
①接続条件によりデータが到達する機器が異なる
ユニキャストでは送信元や送信先の接続条件、例えば利用しているプロバイダーや利用している地域などが異なっていても、データが到達する機器は常に一定です。しかしIP Anycastの場合、接続条件によりデータが到達するノードが異なってきます。
②送信元が同一であってもデータが到達する機器が異なる場合がある
インターネットにおける通信の状況は常に変化する可能性があるため、同じ発信元から送信されたデータであっても、状況の変化により別のノードに到達する場合があります。
IP Anycastの制限
このようにIP Anycastでは、データが到達するノードが接続条件により異なり、また通信の状況の変化により、データが到達するノードが変化する可能性があります。このような変化は通信中であっても起こり得るため、IP Anycastを実際のインターネットに適用する場合、その特性をよく理解した上で導入を検討する必要があります。
例えば、インターネット上の通信で広く使われているTCPによる通信では、事前に「スリーウェイ・ハンドシェイク」という手順により相手との間の接続を確立します。この手順では、送信元から送信先に二つのパケット(SYNとACK)が送られますが、もしこの間に接続状況が変化してそれぞれのパケットが別のノードに到達してしまった場合、相手側との接続が確立できなくなってしまいます(図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月のものです。