web-dev-qa-db-ja.com

ルートネームサーバーがすべてのDNS要求を処理することはどのように可能ですか?

私は数日前にDNSについて読んでいて、要求がどのように処理されるかを学びました。 www.example.comにアクセスすると、ルートネームサーバーにリクエストが送信され、その.comアドレスの所有者が確認されます。次に、別のリクエストが別のよりローカルなDNSサーバーに送信され、example.comの所有者が確認されます。アドレスなど。

13のルートネームサーバーが、地球の何十億ものインターネットユーザーによって行われたすべての要求を、ddos:edを実行せずに同時に処理できることは、技術的にどのように可能ですか?

18
Rox

それらは単に13台のサーバーではなく、13台の高可用性クラスターです。

特に、ルートネームサーバーオペレーターには、通常のトラフィック負荷の3倍の処理能力( RFC 287 )が必要です。これはかなり大きなクラスターにつながります。

ただし、ルートネームサーバーはトップレベルドメイン自体に対する応答のみを提供します。つまり、com.net.uk.ae.など、ルートを照会するネームサーバーはこの情報をキャッシュできます 最大48時間 。これにより、ルートネームサーバーの負荷が大幅に軽減されます。これにより、クラスターが小さくなります。

ルートネームサーバーは、53か国で130以上の物理的な場所にあります。サーバー名が13だけの場合、これはIPv4エニーキャストの魔法によって行われます。

ルートネームサーバーにも独自のWebサイトがあります 。これは興味深い参考文献です。

51
Michael Hampton

彼らはしません。ルートネームサーバーは、どのネームサーバーがcomを処理するかを通知する必要があります。それ以降は、com内のドメインを処理するためにそれらにアクセスする必要はありません。ルートネームサーバーは、example.comを誰が所有しているかはわかりません。それらはrootネームサーバーであり、comネームサーバーではありません。

Slimsuperheroの発言も同様です。多くの大容量ネームサーバーは anycast を使用して、世界中の多数のサーバーから単一のIPアドレスを提供しています。

10
David Schwartz

各ルートサーバーは実際にはサーバーではなく、サーバーの巨大なクラスターです。これに加えて、すべての要求がルートサーバーに到達するわけではないため、DNS回答はキャッシュされます。

6
Gevial

yoはルートサーバーを使用しないことに注意してください。通常、インターネットサービスプロバイダーが提供するDNSサーバーを使用します。DNSサーバーは、必要な情報がローカルキャッシュにある場合、通常はすぐに応答できます。キャッシュされない場合にのみ、上流のDNSサーバーが要求され、最終的にルートサーバーが要求されます(その応答はキャッシュされます)。

実際には、世界中の多くのサーバーに解決される13のエニーキャストIPアドレス。 Link を見て、必要に応じてこれらのサーバーを見つけることができます。これらのサーバーはすべて、関係する機関によって管理されています。

まだ13のIPアドレス(および同じIPアドレスを持つサーバーのクラスター)のみを使用しているという事実は、パケットサイズが512バイトを超えないようにするためです。それでなんで? TCPこれはこのパケットサイズを超える可能性があるので、なぜそれを使用できないのでしょうか?ことです。TCPには複数のステップが含まれるため、非常に高いオーバーヘッドが含まれますTCP接続を確立するための手順。このため、DNSクエリのプロセス全体が遅くなります。

DNSのようなものが遅くなることはありません。そのため、私たちは同じ古いシステムを使用しています。

0
Jaison