まず、VRRPはDNSにまったく依存していません。単一サイト内の冗長性のために、共有VRRPアドレスでDNSサーバーをうまく実行できます。
しかし、他の人がコメントで述べたように、サービスはエニーキャストルーティングも使用します。つまり、同じIPアドレスが世界中の複数の場所に存在することになります。サイト全体がダウンすると、世界中のルートが再計算されるため、パケットは最終的に別の稼働サイトに送信されます。
GoogleのパブリックDNSよりも良い例のようになり、ルート DNSサーバ-役立つもの.
にゾーンとホールドポインタをcom
、org
、eu
、というように-彼らはので、マップ持っている 13個の論理アドレスのすべてのインスタンスのを。ICANNの「L」は160の異なるサイトで提供されています!
エニーキャストは、DNSベースのラウンドロビン(同じ名前に複数のアドレスがある)とは関係がないことに注意してください。エニーキャストは、基本的にルーティングプロトコルに依存することによって行われます。
インターネットはBGPを使用して、組織間でルーティング情報を交換します。
BGPは本質的に、さまざまな基準に基づいて、同じネットワークに向かう複数のルートから最適なルートを選択することをサポートしています。たとえば、同じ顧客が同じISPへの冗長アップリンクを使用している可能性があります(重み/設定のみが異なる2つのルートを発表します)。または、顧客が複数のISPを介してアップリンクを持ち、全員が優先ルート(主に最短のASパス)を選択する場合があります。これが「真の」マルチWANの要点です。
Multihoming
┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter--+ │
¦ │ ¦--DNSserver │
client 2 ---ISP---│--BGProuter--+ │
└──────────────────────────┘
ただし、BGPはトラフィックを玄関ドアに導くだけで、それ以降に何が起こるかは気にしません。したがって、同じサーバーへの両方のルートを内部で設定すると、マルチホーミングが発生します。しかし、各「入り口」が異なるサーバー(同じIPに設定されている)につながる場合は、エニーキャストが発生します。
Anycast... kind of?
┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter-----DNSserver │
¦ │ │
client 2 ---ISP---│--BGProuter-----DNSserver │
└──────────────────────────┘
重要なのは、これは、ASがまったく隣接していない場合でもBGPが気にしないことを意味します。世界規模の冗長性を得るには、複数の物理的な場所から同じネットワークをアナウンスするだけです–それらの場所を一緒に接続すると(そのネットワークが1つの場所にルーティングされるように)、マルチホーミングが得られます。それらが島である場合、エニーキャストを取得します。
Anycast
┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter-----DNSserver │
¦ └──────────────────────────┘
¦
¦ ┌────────[AS 65535]────────┐
client 2 ---ISP---│--BGProuter-----DNSserver │
└──────────────────────────┘
(さらに言えば、同じASである必要はありません。たとえば、6to4リレーは複数の独立した組織によって運営されており、それぞれがへの独自のルートを発表してい192.88.99.0/24
ます。)
注意事項:
エニーキャストは冗長性を提供しますが、ロードバランシングは提供しません。BGPが収束すると、各ルーターは単一の優先ルート(または場合によってはいくつか)を選択し、ネットワークが変更されるまでそれを使用し続けます。
ただし、ルートが安定したままになる期間を予測することはできないため、エニーキャスティングステートフルサービスは扱いにくい場合があります。ステートレスであり、主にUDPを使用しているため、DNSはそれを回避します(EDNSはTCP接続の必要性を減らしました)。
サービスがクラッシュした場合にルートが撤回されるように、実際のサービスとBGPルーターの間には調整が必要です。
「4.2.2.2の歴史。ストーリーとは?」もご覧ください。NANOGメーリングリスト:投稿1、投稿2。