FQDNがIPv6として解釈されるかIPv4として解釈されるかを決定するものは何ですか?


9

URLバーに完全修飾ドメイン名(FQDN)を入力すると、ブラウザーは、要求されたファイルがホストされている場所を決定するマッピングテーブル(このテーブルはどこに保存されているか?サービスプロバイダーと一緒に?)に接続します。

したがって、IPv6アドレスがサポートされているかどうかは、サービスプロバイダー(変換テーブルを持っていると想定している人)によって異なります。本当?

回答:


7

これはiptablesとタグ付けされているので、これはLinuxの質問だと思います。

Linuxでは、プログラムが特定のホスト名に対してIPv6アドレス(AAAA)またはIPv4アドレス(A)のどちらを先に検索するかを決めるのはglibcの責任です。glibcを使用するプログラムは、getaddrinfo()関数を使用します。getaddrinfo()の動作は/etc/gai.confで設定されます。

システムでは、/ etc / gai.conf内のほとんどすべてがコメント化されています。エントリのコメントを外します:

ラベル:: / 0 1

私にとって、AAAAファーストルックアップのアクティブ化につながったため、IPv6アドレスが優先的にルックアップされます。だから、これはあなたが望むものかもしれません。

追加する更新:適切な方法は、gai.confの「label」ブロック全体を0〜7の値でコメント解除することです。

label ::1/128       0
label ::/0          1
label 2002::/16     2
label ::/96         3
label ::ffff:0:0/96 4
label fec0::/10     5
label fc00::/7      6
label 2001:0::/32   7

4

IPv4アドレスは、DNS(ドメインネームシステム)のA(アドレス)レコードによってドメイン名にマップされます。IPv6アドレスは、AAAAレコードを使用してマッピングされます。奇妙に思われる?IPv4アドレスは32ビット、IPv6は128ビットです。128/32 = 4なので、AAAAA / A = 4も同様です。DNSでIPv6のエントリを設計した人による巧妙なトリック。

DNSは、インターネット全体にわたる階層的な分散システムです。ブラウザがシステムライブラリを呼び出し、ルックアップチェーンが開始されます。最初にローカルキャッシュをチェックします。通常はメモリに保存されます。次に、ディスクを探し、HOSTSファイル(ほとんどのUNIX / Linuxでは/ etc / hosts、WindowsではC:\ Windows \ System32 \ drivers \ etc \ HOSTS)を調べます。その後、それでも回答が見つからない場合は、ネットワーク構成に従って、割り当てられたDNSサーバーに呼び出しを行います。

そのDNSサーバーは、はるかに大きいキャッシュをチェックします。一致する場合は、回答を返します。答えが見つからない場合は、向きを変えて、ISPのISPが実行しているさらに上位のDNSサーバーに問い合わせます。あなたは、ルートネームサーバを打つまで、このプロセスは継続a.root-servers.netを通じてm.root-servers.net。DNSクエリの大部分は、そこまで到達する前に長時間解決されますが、1つまたは2つで解決されることもあります。しかし、答えが見つかると、そのチェーンのすぐ下のブラウザに渡されます。

しかし、ブラウザはどのレコードタイプを要求するかどのようにして知るのでしょうか それはシステム設定に依存します。IPv4スタックを優先するように設定した場合、ブラウザーはDNSクエリでAレコードのみを要求します。IPv6の場合、最初にAAAAレコードを要求し、次にAレコードにフォールバックします。

他のレコードタイプもあります。MXレコードは、ドメインのメールサーバーの場所を定義します。NSレコードは、ドメインのネームサーバーを定義します。SRVレコードは、特定のサービス(SSHやWebなど)の場所を示します。

DNSはインターネットの文字通りの電話帳です。


2

ルックアップはDNS(およびおそらくローカルホストファイル)によって処理されます。特定の名前がIPv6またはIPv4アドレスとして解決されるかどうかは、ブラウザーの設定(IPv6をサポートし、IPv6 AAAA要求を送信するか、オペレーティングシステム(とりわけIPv6スタックがあるかどうか)、およびDNSプロバイダー(AAAA(IPv6)要求をサポートするかどうか)。

一部の(古い)ブラウザーはAAAAルックアップ要求を決して発行せず、それらを送信しないように構成できる(Firefoxにはこのための設定があります)が、ほとんどの最近のブラウザーは最初にAAAA要求を送信してフォローアップするという事実により、ブラウザーの問題はさらに複雑になりますAリクエスト。


Windows Vistaのローカルホストファイルはどこにありますか?
Lazer

かしこまりました、ここで見つかりました:C:\Windows\System32\drivers\etc。しかし、それは空です。
Lazer、2010

%SYSTEMROOT%\ System32 \ drivers \
etc-

2
通常は空です-どうしても必要な場合はエントリを追加してください。IPv6の名前解決をDNSに任せたいと考えています。
Helvick
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.