インターネット上のノードを識別するIPベースのシステムがある場合、なぜDNSが必要なのですか?
インターネット上のノードを識別するIPベースのシステムがある場合、なぜDNSが必要なのですか?
回答:
DNSがインターネットが機能するために必要ではないと他の誰もが示唆していますが、私は同意しません。DNSは、IPベースのネットワークが機能するために必要ではありませんが、今日私たちが知っているインターネット にとっては絶対に必要です!!
DNSは人間が読める名前をIPアドレスにマッピングするだけでなく、接続するネットワークエンドポイントの特定の詳細からクライアントを切り離します。
これにより、サービスのプロバイダーは、クライアントに影響を与えることなく、高可用性システムを実装し、実装の詳細を変更できます。
DNSを使用すると、1つのIPアドレスで複数のドメインのWebサイトに対応できます。(少なくともHTTP / 1.1を実行している場合。)DNSがなければ、すべてのWebサイトは基本的に専用のIPアドレスを必要とし、それらはかなり速く実行されます。
IPとDNS名の違いは、IPはサーバーの場所を指定するのに対して、DNS名はサービス自体を指定できることです。DNSで得られる大きな勝利は、DNS名を覚えるほど簡単ではないが、サービスとその実装の間に抽象化の層があることです。そのため、基礎となる実装が変更される可能性があり、ユーザーが気付かないうちにサーバーが動き回ることができます。
インターネットがなくてもインターネットは機能しますか?DNSのようなサービスを実装して、DNSの欠如によって生じるすべての問題を回避することが最初になるため、長くはかかりません。DNSがなければ、他のWebページへのハイパーリンクは、たとえば、簡単に途切れてしまい、ワールドワイドウェブが適切に機能できなくなります。
ある意味では、DNSはコンテンツアドレス指定可能なネットワークの非常に基本的な形式であり、あなたが望むものを言いますが、そこに到達する方法は言いません。あなたが言うのはwww.google.com
、Googleは検索を行うことは知っているが、サーバーがどこに配置されているのかわからないので、最終的にはDNSのおかげであなたから離れて抽象化されます。
DNSがなければ、IPアドレスを記憶することが唯一の選択肢ではないことを忘れているようです。ARPANETにはDNSがありませんでした。そこで、hostsファイルが作成されました。ウィキペディアから:
インターネットの前身であるARPANETには、ホスト名を使用してホストのネットワークノードアドレスを取得するための最新のドメインネームシステムなど、分散ホスト名データベースがありませんでした。各ネットワークノードは、知る必要のあるネットワークノードの独自のマップを保持し、ユーザーに覚えやすい名前を割り当てました。[...] ARPANETのサイズが小さいため、hostsファイルの使用が実用的になりました[...]、hostsファイルのメンテナンスは、システム管理者にとって大きな負担になりました[...]ホストファイルは、最終的に分散ドメインネームシステムの作成を必要としました。
はい、インターネットはDNSなしで「機能」します。IPパケットは、IPアドレスとサブネットマスクに基づいてルーティングされます。発信元と宛先の間のさまざまなルーターは、人間が読めるエイリアスを気にしません。
ただし、人間にとっては、「1600 Amphitheatre Parkway」が「37.423156、-122.084917」よりも覚えやすいのと同じ理由で、「www.google.com」は「74.125.225.209」よりも覚えやすいです。どちらの場合も同じ情報が伝えられますが、どちらの場合も覚えやすくなります。とにかく、人間にとって。
インターネット自体、低レベルで?確かに-IPアドレスの全体のポイント、およびIPスタック全体は、ドメインネームシステムに依存しない他のプロトコルの助けを借りて、ある場所から別の場所にパケットをルーティングするのに役立ちます。
一方、DNSシステムでは、いくつかの便利なことができます。まず、人間に優しい方法でホストを見つけることができます。第二に、HTTPのようなDNSを認識しているプロトコルの場合、目的の宛先(仮想ホストなど)に基づいて送信するコンテンツを選択できます。これにより、利用可能なリソースをより効率的に使用でき、マルチキャストなどを利用できます、近くのサーバーへの地理的ルーティングや、生活を楽にするその他の豪華なもの。
インターネットはDNSなしで「機能」しますか?絶対に。それは完全な痛みでしょうか?おそらく-そして、DNSが明日を破ったなら、インターネット上の多くのサービスが壊れるでしょう。
いいえ。StackExchangeネットワークはDNSなしでは機能しません。
それを証明するために、のIPを見つけましょうstackoverflow.com
:
$ host stackoverflow.com
stackoverflow.com has address 198.252.206.16
ブラウザーでそれに移動すると、次のようなエラーページが表示されます。
198.252.206.16が見つかりませんでした
Q&Aサイト198.252.206.16はまだ存在していないようですが…まだです。
(申し訳ありませんが、リンクできません。StackExchangeでは、IPへのリンクを入力できません。
これはhsdkgujahr.stackexchange.com
、「Q&Aサイトhsdkgujahr.stackexchange.com
は存在しないように見えますが... 」と表示されることを除いて、存在しないStack Exchangeサイトにアクセスした場合に得られるものです。
次のIPを確認しましょうsuperuser.com
。
$ host superuser.com
superuser.com has address 198.252.206.16
IPアドレスがまったく同じであることに注意してください。あなたがDNSルックアップをすれば実際には、任意のスタックExchangeサイト、あなたは同じIPを取得します。
単一のIPが複数のWebサイトにマッピングされている場合、サーバーはどのWebサイトをどのように認識しますか?
答えは、HTTPヘッダーHost
がリクエストとともにサーバーに送信されており、サーバーの完全修飾DNS名が含まれていることです。
したがって、DNSがないと、お気に入りのStack Exchangeサイト(またはSourceForgeプロジェクトサイト、同じように機能します)にアクセスできません。
198.252.206.16 stackoverflow.com
し、Hostsファイルに追加してから、stackoverflow.comにアクセスすると、DNSを無効にしただけでも機能することがわかります。実用的?ありえない。しかし、インターネットは DNSなしでも機能します。さまざまなサイトのIPを取得することはできません。