エニーキャストDNSとは? | エニーキャストDNSの仕組み

DNSでエニーキャストを使用すると、ユーザーのDNS解決プロセスを高速化して、DNSの信頼性を確保することができます。

Share facebook icon linkedin icon twitter icon email icon

Anycast DNS

学習目的

この記事を読み終えると、以下のことができます。

  • エニーキャストの仕組みを理解する
  • エニーキャストがDNS解決を迅速かつ効率よく実行する方法を学ぶ
  • エニーキャストがDNSフラッドDDoS攻撃を軽減する理由を説明する

エニーキャストDNSとは?

エニーキャストでは、1つのIPアドレスを複数のサーバーに適用できます。つまり、エニーキャストDNSでは多くのDNSサーバーの中から任意の1つがDNSクエリに応答することができ、通常は地理的に最も近いサーバーがレスポンスを提供します。これにより、レイテンシーが減少し、DNS解決サービスの稼働時間が増し、DNSフラッドDDoS攻撃に対する保護が適用されます。

エニーキャストとは?

通常、インターネットに直接接続するすべてのデバイスまたはサーバーは固有のIPアドレスを持っています。ネットワークに接続されたデバイス同士の通信は1対1です。それぞれの通信は、1つの特定のデバイスから通信の反対側にあるターゲットデバイスに向けられます。これに対して、エニーキャストネットワークでは、ネットワーク上の複数のサーバーが同じIPアドレス、またはIPアドレスのセットを使用することを可能にします。エニーキャストネットワークを使用した通信は、1対多になります。

エニーキャストDNS

通常、IPアドレスは住所の役割を果たし、メッセージが送信される特定の1つの場所を指定します。ここで、ある友人が国内に複数の居宅を持っていると仮定しましょう。そのいずれか1つの住所に宛てた手紙は、差出人に距離的に最も近い家に届けることが可能なのです。たとえ、その手紙が別の都市にある家に宛てられたものであってもです。エニーキャストルーティングはこのように機能します。1つのIPアドレスを複数の場所に関連付けることができるのです。

たとえば、Cloudflare CDN内のIPアドレスへのリクエストは、1つの特定のサーバーではなく、Cloudflareが運用するどのデータセンターでも応答することができます。エニーキャストの詳細とCDNがそれを使用する方法については、「エニーキャストとは?」を参照してください。

エニーキャストDNSの仕組み

DNSは、Domain Name System(ドメインネームシステム)の略称であり、ドメイン名(Webサイトの名前)をマシンが判読できる英数字のIPアドレスに変換するシステムです。このことを「名前解決」と呼んでいて、DNSリゾルバーは解決を管理するサーバーです。ユーザーがWebサイトを読み込む場合、クライアントデバイスは、そのWebサイトのIPアドレスをDNSリゾルバーに問い合わせる必要があります。

エニーキャストはDNS解決を高速化します。エニーキャストDNSを使用すると、DNSクエリは特定の1つのリゾルバーではなくDNSリゾルバーのネットワークに送られ、最も近くにある利用可能なリゾルバーにルーティングされます。DNSクエリとレスポンスは、できるだけ早くクエリに応答するために最適化されたパスをたどります。

また、エニーキャストはDNS解決サービスの可用性を高く維持するのに役立ちます。1つのDNSリゾルバーがオフライン状態になっても、ネットワーク内のほかのリゾルバーがクエリに応答できます。

Cloudflareは、200の都市にあるデータセンターを使用して、分散CDNでDNSリゾルバーを提供しています。CDNはエニーキャストであるため、DNSクエリはネットワーク内のどのデータセンターからでも解決することができます。ネットワーク内のすべてのDNSリゾルバーが、任意のDNSクエリに応答できます。

エニーキャストを使用しないDNS解決の仕組み

DNS解決サービスがエニーキャストを使用しない場合、ユニキャストルーティングを使用する可能性があります。ユニキャストルーティングでは、すべてのDNSサーバーが1つのIPアドレスを持ち、すべてのDNSクエリが特定のサーバーに送られます。そのリゾルバーがダウンしている場合または利用可能ではない場合、クライアントはほかのDNSリゾルバーに対してクエリを実行しなければならないため、DNS解決プロセスに余分な時間がかかります。

エニーキャストDNSはどのようにDDos攻撃に対する耐性を提供するか?

DDoS攻撃は、DNSフラッド攻撃を介してDNSリゾルバーを標的にすることができます。通常、こうした攻撃は、IoTデバイスの大規模なボットネットを使用して、大量のDNSクエリでDNSリゾルバーを圧倒します。「フラッド(洪水)」のように氾濫させるのです。(DNSフラッド攻撃は、オープンなDNSリゾルバーを使用してDDoS攻撃を増幅させるDNSアンプ攻撃とは異なります。このような攻撃では、リゾルバーそのものが標的になることはありません。)

エニーキャストとユニキャスト

エニーキャストネットワークは、DDoS攻撃対策を提供しますが、これはトラフィックがネットワーク全体に分散するためです。言い換えれば、1つのIPアドレスへのリクエストに多くのサーバーが応答できるので、数千のリクエストは1つのサーバーを圧倒せずに多くのサーバーに負荷が分散されます。したがって、エニーキャストDNSは大部分のDNSフラッド攻撃の影響をあまり受けず、こうした理由から、Cloudflare DNSサービスはDDoS攻撃に対して耐性があります。