web-dev-qa-db-ja.com

Webブラウザーは、IPv4またはIPv6を使用して宛先に接続するタイミングをどのように決定しますか?

このトピックに関するいくつかの関連記事を見ました: クライアントアプリケーションはIPv4またはIPv6の使用をどのように知っていますか? および ブラウザがWebサイトのIpv4またはIpv6アドレスに接続されているかどうかを知る方法?

最初の投稿は数年前なので、それがまだ関連しているかどうかはわかりませんが、2番目の投稿は私の質問に答えませんでした。

私が尋ねる理由は、広告をブロックするのに役立つ pi hole をインストールしたことです。 IPv4 DNSサーバーとしてpi-holeを使用するようにルーターを設定しましたが、CNNなどのサイトを閲覧すると広告が表示されます。次に、ISPプロバイダー(Comcast)が2つのIPアドレス(1つはIPv4、もう1つはIPv6)を提供し、ルーターもIPv6をサポートしていることに気付きました。

ネットワークカードでIPv6を手動で無効にすると、CNNWebサイトを閲覧したときに広告が表示されなくなります。したがって、私はIPv6を使用してCNN Webサイトに接続していると結論付けました。私の質問は、いつWebブラウザーがIPv4またはIPv6を使用して宛先に接続することを決定するのですか?単純に最初にIPv6を使用しようとし、成功した場合はそれを使用するだけですか、それ以外の場合はIPv4にフォールバックしますか?

ちなみに、どうやらArris SBG6700-ACモデム/ルーターでは、IPv4 DNSサーバーのみを構成でき、IPv6DNSサーバーは構成できません。独自のIPv6 DNSサーバーを指定するには、コンピューター自体からセットアップする必要があります。

3
beyonddc

最初:ホスト名を解決する方法は、解決できるアドレスとは関係ありません。 DNSサーバーは、IPv4を介して要求されたときにIPv6 AAAAレコードを返すことができ、その逆も可能です。

ブラウザが試行するアドレスを選択する方法について:リンクした最初の投稿は引き続き関連性があり、変更されたのはマイナーな優先度の調整だけです。

  • 最近のほとんどのブラウザは Happy Eyeballs アルゴリズムを使用しています。彼らは一度にすべてのアドレスを試し、最も速く応答するアドレスに固執します。これは完全にアプリ内に実装されており、OSの影響を受けることはありません。 (両方とも同様の結果が得られる場合に備えて、IPv6またはIPv4を有利に開始できるようにアルゴリズムが調整されることがあることに注意してください。)

  • 古いブラウザや他の多くのプログラムは、すべてのアドレスを1つずつ試行し、 デフォルトのアドレス選択アルゴリズム に従ってソートします。これは通常、自動v6トンネルよりもネイティブIPv4よりもネイティブIPv6を優先します。この順序付けは通常でOS(gai.confなど)に実装されており、プログラムはアドレスを手動でソートしません。

13
user1686

WebブラウザーがIPv6を使用するかIPv4を使用するかを決定する方法を直接制御することはできません。

これはすべて、コンピューターのIPスタックによって処理されます。

広告に関しては、代替の広告ブロッカーを検討することをお勧めします。私はv4対v6の問題があなたが見ている結果の原因であるとは思わない。

Windowsのヒント:Adblockはうまく機能します。 Adblock Plusは「許容される」広告のテーブルに読み込まれるため、メモリを大量に消費するため、使用しないでください。

一方、あなたの質問から、私は提案があります:すべてのルーターをIPv6を無効にするように設定し、必要になるまでそれを無効にします。

次に、すべてのコンピューターで同じことを行います。各インターフェースについて、IPv6サポートをオフにするか(Windows)、無効または自動に設定して(Linux)、ルーターに残りの処理を任せます。

いつの日かIPv6が必要になるでしょうが、それは主にISPに影響を与える問題になるでしょう。 (私はCox Cableを使用しています)ユーザーレベルまでプッシュするには、その時点でモデムとルーターを組み合わせたボックスを交換する必要があります。または、すべてのユーザーが独自のルーター再構成を行う必要があります。これらのいずれかを実行した場合、特に変更またはヘルプラインのサポートに追加料金を追加した場合、損失が発生します。結局私は、Coxがそのような大量の作業を防ぐ方法を見つけ出すと予測しています。彼らはビジネスであり、ダウンタイムにつながる追加料金やユーザーによる構成エラーが発生した場合、顧客を失うことを認識しなければなりません。

したがって、今のところ、ユーザーレベルではIPv6はまったく必要ありません。

NATルーターの背後にあるすべてのシステムは、当分の間v4を使用し続けることができるでしょう。v6はより大きなネットでのみ必要になります。

1
SDsolar