IPアドレスとDNSサーバーに関する私の知識によれば、Chromeのアドレスバーにfacebook.comと入力し、Enterボタンを押すと、DNSサーバー(例:Google DNSサーバー))コンピューターにキャッシュが保存されていない場合、ブラウザーは8.8.8.8
IPアドレスにリダイレクトしますよね?8.8.8.8
にpingを送信できますが、ブラウザーに入力しても表示されません?なぜですか?
8.8.8.8はWebサイトではないため、何も「リダイレクト」されません。これは、Googleが提供するパブリックDNSサーバーのアドレスです。
DNSは検索アドレスに使用されるシステムです。
Chromeなどのバーにアドレスを入力すると、www.example.com
次に、ブラウザはDNSサーバーに接続して、そのアドレスのIPアドレスを見つけます。この関数は8.8.8.8
が提供します。
これはWeb上のサービスですが、Webサイトと同じように、または同じプロトコルまたはポートを使用して応答するという意味ではありません。これは、Webサイトの提供とは別のサーバーおよびプロセスです。
8.8.8.8はパブリックIPアドレスです。それがWebページでない場合、それは何になりますか?
それは多くのことができます。
「ウェブ」は「インターネット」とまったく同じではありません。たまたま運ばれるさまざまなサービスの1つにすぎませんoverインターネット。言い換えれば、インターネットの仕事はIPアドレス間でデータをやり取りすることであり、ウェブサイトは特定の種類のデータにすぎません(ニュース放送がテレビに表示できる多くのものの1つにすぎないのと同じように)。
WebサイトはHTTPプロトコルを使用してアクセスされますが、インターネット上で実行されるサービスの多くの例を見つけることができますが、WebもHTTPも使用しません(結局のところ、Webが発明されるまでの10年間インターネットは使用されていました) )– DNSはそのようなサービスの1つであり、電子メールは別のサービスであり、ほとんどのオンラインゲームも実際にはWebベースではありません。
一般に、このようなプロトコルにはすべて異なる「ポート番号」が割り当てられています。HTTPSには443、DNSには53などがあります。ブラウザは、ポート443でサーバーに接続することを具体的に要求します。サーバーはそれを提供しないプロトコルとして認識し、ブラウザが実際のリクエストの送信を開始する前に接続を完全に拒否します。
(最後に、システムはIPアドレスを持つことができ、サービスをまったく提供しない可能性があります。ほとんどの場合、クライアントとして機能し、他の場所でホストされるサービスにアクセスします。ただし、何かを転送するには、IPアドレスが必要です。インターネット経由で)
これは、GoogleのDNSサーバーのIPアドレスなのでできません。ポート80は使用できないため、Webブラウザーからポートにアクセスできません。実際、見るものは何もありません。
DNSサーバーは、パブリックIPアドレスとそれに関連付けられたホスト名のデータベースを含むコンピューターサーバーであり、ほとんどの場合、要求に応じてこれらの名前をIPアドレスに解決または変換します。 DNSサーバーは特別なソフトウェアを実行し、特別なプロトコルを使用して相互に通信します。
出典: DNSサーバーとは
DNSの理解が間違っています。 Webブラウザーは8.8.8.8にリダイレクトせず、google public dnsは、どの名前/ URLがどのパブリックIPアドレスと一致するかへの参照としてのみ使用されます。コンピュータは8.8.8.8を参照して「facebook.com」のパブリックIPを見つけ、その情報をキャッシュします。
DNSサーバーは電話帳に似ています。 Webブラウザーを8.8.8.8に直接向けることは、電話の受話器で電話帳を叩くようなものです。あなたはそれがうまくダイヤルすることを期待しないでしょうね?あなたは本を使って正しい番号を調べ、それから電話でその番号をダイヤルします-それは多段階のプロセスです。
Webブラウジングの場合、ルックアッププロセスはバックグラウンドで行われます。 WebブラウザにURLを入力します。コンピュータはDNSサーバーにその名前が対応するIPを尋ね、DNSサーバーはIPを返します。次に、コンピュータはURLの代わりにそのIPを(表示して)使用します。 WebブラウザーでIPアドレスを指定して「直接ダイヤル」しようとする場合、反対側のサーバーは、WebページのWebブラウザー要求(HTTPまたはHTTPSの適切なポートをリッスンし、応答など)。 GoogleのDNSサーバーはHTTP/HTTPSリクエストをリッスンせず、DNSリクエストのみをリッスンしています。
コンピューター、インターネット上の他のコンピューターでWebブラウザーを使用すると、DNS、ルーティング、ロードバランシング、ポート転送など、他にもたくさんのことが起こります。DNSを単純化しました- DNSプロトコルには、データの配布、データの有効期間の制御、最終的な権限ポイントの決定などが含まれます。
IPアドレスとDNSサーバーに関する私の知識によれば、Chromeのアドレスバーにfacebook.comと入力し、Enterボタンを押すと、DNSサーバー(例:Google DNSサーバー)が表示されます)、コンピューターにキャッシュが保存されていない場合、ブラウザーは8.8.8.8 IPアドレスにリダイレクトします。
コンピューターはDNSを使用して、facebook.com
などの名前をIPアドレスに変換します。コンピューターはIPアドレスを使用して通信するため、名前を指定する場合は、まず変換する必要があります。
リダイレクトはここでは間違った単語です。あなたのブラウザがすることはこれです:
facebook.com
のIPがまだわからない場合、またはその情報が古すぎる場合は、DNSサーバーに「facebook.com」のIPを要求します。 8.8.8.8はGoogleのDNSサーバーです(他にもたくさんあります)。
知っておくべきこと:
IPアドレスを持つコンピュータは、同じIPを同時にリッスンする多くのプログラムを持つことができます。これがportの概念がある理由です-プログラムが異なるポートでリッスンしている場合、それらは同じIP上に存在できます。
一部のサービスには標準ポートがあります。 DNSはポート53を使用します。HTTPはポート80を使用します。HTTPSはポート443を使用します。
非標準ポートでサービスを確実に実行できますが、これは通常、クライアント側でポートを指定する必要があることを意味します(デフォルトのポートは通常標準ポートです)。
したがって、ブラウザまたはOSが8.8.8.8をDNSサーバーとして使用するように設定されている場合、ブラウザはDNSリクエストポート53でを8.8.8.8に送信します。ブラウザとOSはDNSリクエストをキャッシュするため、このリクエストは必要な場合にのみ送信されます。
また、これを覚えておく必要があります。
facebook.com
からwebpageを取得したい場合、_HTTPリクエストポート443でを発行し、facebook.com
、それはキャッシュまたはDNSリクエストから学習したものです。DNSリクエストとHTTP/HTTPSリクエストは異なります。 DNSリクエストが必要な場合、HTTPリクエストを与えることはできません。およびその逆。理解できず、エラーを返します。
8.8.8.8にpingできますが、ブラウザーに入力しても表示できません。どうして?
http://8.8.8.8
はデフォルトでポート80に移動するためです。 https://8.8.8.8
はデフォルトでポート443に移動します。
とにかく、ポートをリッスンするプログラムがDNS要求を必要とする場合、HTTP要求を処理する方法がわからないため、またその逆も同様であるため、それはまだ機能しません。
しかし:
DNS-over-HTTPS(DoH)と呼ばれるものがあります。これで、ブラウザーはHTTPSを使用してDNS要求を発行できるようになりました。
HTTPSには証明書のセキュリティメカニズムがあり、途中でトラフィックが変更されたように見える場合に警告が表示されます。
これが特定の人々がそれを使いたがる理由であり、それはISPや他の人があなたのDNSリクエストをいじったり、潜在的にあなたを間違ったIPアドレスに移動させたりすることを防ぎます。
HTTPSは「ブラウザリダイレクト」機能をサポートしています。Webサイトには、ブラウザに別のWebページをロードするように指示する情報しかありません。
Thisは、ブラウザにhttps://8.8.8.8
を配置してGoogle DNSページを取得できる理由です。
ここで新しいものはDNS over HTTPSと呼ばれますが、notDNS over HTTPであることに注意してください。そのため、ブラウザにhttp://8.8.8.8
を配置しても何も読み込まれません。グーグルは8.8.8.8でポート80で聞くことさえプログラムを持っていません。
Webページ(HTML、CSS、JS)は、ポート80または443のサーバーに対して要求が行われたときにブラウザーでレンダリングされるものです。サーバーは、これらのアセット(HTML、CSS、JS)とブラウザーのジョブで応答します。画面上に人間が読める形式をレンダリングします。
DNSサーバーの(8.8.8.8)ジョブは少し異なりますが、要求されたドメインのIPアドレスを検索し、ドメインにリンクされた静的IPアドレスを返す必要があります。このため、ドメイン名を含む要求がこのサーバーに送信されます@port 53(UDP)。たとえば、8.8.8.8(dnsサーバー)を使用するツールnslookupを使用して、ドメインgoogle.comのIPアドレスを確認できます。
nslookup google.com 8.8.8.8
>
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 172.217.160.142
そのIPアドレスのブラウザを介して表示するものは何もありません。
あなたがしようとしていることは、DNSサーバーが機能するかどうかをテストしていることのようであり、それを行うには、「google.com」のようなドメインにpingを送信できます。
DNSサーバーが機能していない場合でも、8.8.8.8にpingできますが、ドメインにpingすることはできません。
代わりにあなたがする必要があるのは、あなたがDNSに設定するのを忘れたのかを理解しようとすることです。
[〜#〜] http [〜#〜]リクエストを[〜#〜] dns [〜#〜]サーバーに送信すると、無視されます。ホスト名を解決する要求を「聞く」だけです。 (たとえば、superuser.com
が他のIPアドレス151.101.129.69
にあることをご存知ですか?DNSサーバーが実行します!)