はじめに
このドキュメントでは、EDNSクライアントサブネット(ECS)と、Cisco Umbrellaとの連携方法について説明します。
ECSとは
従来のDNSは、単一のAレコード応答で応答するDNSサーバでの要求です。この説明は、Aレコードのみを説明することによって簡素化されています。同じプロセスがIPv6レコードとAAAAレコードにも適用されます。広く分散したコンテンツ配信ネットワーク(CDN)と再帰DNSサービスの登場により、最適なエクスペリエンスを得るための位置情報の重要性が高まっています。
従来のDNSは、権威DNSサーバでDNSの質問に対する答えを地理検索し、DNSクエリの送信元に最も一致する答えを返します。比喩的な例を使用するには、電話帳を取ります。従来、関連する電話帳はローカルの電話帳だけであったため、常にローカルの店舗を見つけていました。「コールジムのハードウェア店」のクエリ。 現在、1つのWebアドレスに世界中の多くの場所が存在するため、近くのサーバに接続するには快適な環境が必要です。再帰的なDNSサーバとより多くの分散ネットワークでは、DNSクエリの送信元IPが必ずしも最適な地理位置情報データのソースになるとは限りません。
図2:権限のあるDNSからの応答を求めるニュージャージーのユーザの例

私たちの電話帳の比喩では、企業は世界中に50の場所を持っていますが、読者は最も近いものを知っていて、それらを呼び出します。Jim'sは順調にいっているので、「call Jim's hardware store」の問い合わせでは、問い合わせ先に応じてニュージャージーの店舗またはシカゴの店舗に移動できます。ECSはDNSルックアップに対して同じサービスを実行します。EDNSクライアントサブネット(ECS)は、DNSクエリーの目的の送信元IPアドレスをDNSパケットのEDNS情報に埋め込むメカニズムです。ECSをサポートする権威DNSサーバは、このソース情報を読み取り、最適な場所に配置されたサーバのAレコードで応答します。 この電話帳のメタファーでは、ECSは調べるエリアの電話帳を指定するメモと同じです。このリクエストは「ニュージャージー州ベルビデーレにあるJimのハードウェアストアに電話をかける」というもので、理想的な回答を提供できます。詳細については、umbrella.cisco.comにあるECSプロジェクトのホームページを参照してください。
ECSおよび再帰DNSサーバ
Cisco Umbrellaは、他の再帰DNSサービスと同様、DNSベースの位置情報の課題です。従来、ユーザはISPにDNSを要求し、ISPはDNS機関に問い合せていました。これにより、ISPのネットワークIP範囲に対してネイティブで良好な位置情報が提供されます。
再帰DNSプロバイダーは、ISPのネットワークの外に配置され、任意の場所に配置できます。Cisco UmbrellaはエニーキャストIPアドレスで多数のデータセンターを運用しており、DNSクエリは世界中の多様なリゾルバの場所の1つに到達できます。最も頻繁に最も近い場所がクエリーされますが、これは各ISPとの最適なルートに依存します。最も重要なのは、CDNなどの広く分散したWebサービスの場合、最も近いUmbrellaリゾルバが要求者のロケーションに対してネットワーク的に近くないことがあり、応答として低いCDNサーバを受信する可能性があることです。たとえば、コスタリカのユーザがCisco Umbrellaのマイアミのデータセンターをヒットし、マイアミのCDNからコンテンツを配信されたとします。電話帳の比喩では、これはオペレータに電話をかけることと、ジムのハードウェアの番号を尋ねることに相当します。オペレータの所在地に基づいて、その地域に基づく回答を受け取ります。シカゴはホイートンのジムを返し、マイアミはサウスビーチのジムを返すことができます。
図2:Cisco Umbrellaの回答を求めるニュージャージーのユーザの例

ECSは、再帰DNSプロバイダーにとってCDNにとって非常に重要です。これは、元の送信元サブネットをECS経由でCDNの権威DNSインフラストラクチャに渡すことができるためです。ECS対応ネームサーバに対するUmbrella経由のクエリには、要求元ユーザのクラスCネットワーク(/24 CIDRブロック)が権威DNSクエリに含まれ、関連する応答を(TTLに従って)返してキャッシュします。電話帳の比喩では、オペレータに電話をかけ、コスタリカのサンホセの近くでジムのハードウェアを要求しています。マイアミのオペレータは、サンペドロのジムの番号を返信します。
結論として、ECSを使用すると、ユーザは世界中のあらゆる場所からネームサーバにクエリーを実行でき、非常に離れた場所にある再帰DNSサーバ(ECSをサポート)を使用している場合でも、送信元の場所に基づいてカスタムの応答を受信できます。 その結果、サポートされている任意のDNSサービスを介して、世界中のどこからでも可能な最速のCDNサーバが実現します。
ECSとCisco Umbrella
Cisco Umbrellaは、ネームサーバの所有者のオプトインに基づいて、権威DNSリゾルバのECSをサポートします。多くのCDNはUmbrellaユーザのために高速で正確な位置情報を利用しますが、一部のCDNとサービスはまだECSをサポートしていません。
まだECSを利用していないサービスを知っていますか?CDNネットワークに問い合わせ、ECSの実装について質問します。ECSは、UmbrellaがECSデータを送信する前に、正規のネームサーバでサポートされている必要があります。
サイトの所有者の方は、ECSを今すぐ利用されている場合は、umbrella-support@cisco.comまでお問い合わせください。実装を検証し、Cisco UmbrellaからECSデータを今すぐ受け取ることができます。IPv6およびIPv4 ECSデータがサポートされています。検証するネームサーバのリスト(名前順)と、検証対象のドメインを含めます。
digでのECSの使用
バージョン9.10以降でdigがDNSクエリのECSをネイティブでサポートしていることをご存知でしたか?直接、権威ネームサーバに対してdigに"+subnet=<subnet>"を追加します。Umbrellaに直接クエリを実行すると、このデータは削除され、ソース/24に置き換えられることに注意してください。詳細については、こちらの記事をご覧ください。https://support.opendns.com/hc/en-us/articles/227987687
dig +subnet=208.67.222.0/24 <domain> @<nameserver>
応答でこのサブセクションを探し、ネームサーバがECSデータを使用していることを確認します。
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; CLIENT-SUBNET: 208.67.222.0/24/32
権威ネームサーバの所有者
貴社のネームサーバでECSを使用し、世界中のCisco Umbrellaユーザの潜在能力を引き出したいとお考えですか。umbrella-support@cisco.comまでお知らせください。これで、ECSデータのネームサーバへの送信を開始できます。要求に応じて、ネームサーバドメインのリストと、設定の検証に使用できるECS対応のサンプルドメインを含めます。より高速なインターネットを一緒に構築しましょう。