El Capitan の Happy Eyeballs の挙動を確認してみた

IPv6 ネタを連発してますが、 El Capitan から IPv4/IPv6 デュアルスタック環境 での IPv4 と IPv6 の優先度が変わったという話を見つけたので、実際に試してみた。
IPv4/IPv6 切り替えアルゴリズムのことを、 Happy Eyeballs というのですね。

確かに、 Lion では IPv6 のアドレスを持っていても、IPv4 でのアクセスが優先されてたし、その後のバージョンでも特に変わりはなかったなぁ、というのは知っていましたが…。

どうもLionでのDNSの名前解決の順序がA→AAAAになっているらしく、

[From 内部からのアクセスもIPv6化 - Soukaku's HENA-CHOKO Blog]

Yosemite を VirtualBox で仮想化して、比較してみた

とりあえず、以下のサイトを参考に、VirtualBox 上に Yosemite の仮想環境を構築して、 それと El Capitan の挙動の違いを確認してみることに。

OS X 10.10 Yosemiteを仮想環境(VirtualBox VM)にインストールするための作業備忘録(アプリの動作チェック)

[From VirtualBox -仮想環境”OS X Yosemite”を作成- | External storage]

チェック方法は、お手軽に test-ipv6.jp にアクセスしただけですが、それでも挙動の違いはわかるので。


まず、 Yosemite から。

Yosemiteでtest-ipv6.jpにアクセス

IPv4 アドレスは、IP Masquerade している Linux サーバのアドレスなので、 Yosemite 自体に付与されたアドレスではありません。
IPv6 アドレスは、radvd が広告しているアドレスレンジから割り当てられたものが表示されているものになっていて、test-ipv6.jp 側でそのアドレスからのアクセスだということが認識出来ているようですので、問題なし。

ポイントは、4項目めの「あなたのブラウザは動作するIPv6アドレスを持っています - しかし利用が回避されています。」の部分。このメッセージが出ているということは、Pv4/IPv6 デュアルスタック環境へのアクセスに関しては、IPv4 が優先されているということになります。
このメッセージがあっっても、IPv6 オンリーのサイトへのアクセスに関しては、問題なし。

次に、El Capitan の場合。

El Capitanでtest-ipv6.jpにアクセス

こちらも、IPv4 、 IPv6 ともにアドレスに関しては、 Yosemite の時と同じですが、「利用が回避されています」云々の表記はありません。
念のため、デュアルスタックなサイト( www.iij.ad.jp とか www.kddi.com )へのアクセスの状況を、 Wireshark を使ってパケットレベルでもチェックしましたが、IPv6 でのアクセスになっていることが確認できました。

ちなみに、通常のWeb アクセスは Proxy (Squid) を通しているのですが、 Proxy を通しているときの test-ipv6.jp へのアクセスは、下の画像のようになって、 IPv6 アドレスがサーバに割り当てているものになっています。(スクリーンショットは、 FireFox のものですが、 Safari での挙動は同じ。)

test-ipv6にProxy経由でアクセス

ということで、El Capitan からは、IPv6 が優先されるようなったというのは、本当のようですね。

トラックバック(1)

Yosemite と El Capitan Public Beta での、 Ha... 続きを読む

コメントする