Apple、iOS 9とOS X 10.11 El Capitan BetaでIPv6を優先し使用するよう「Happy Eyeballs」のアルゴリズムを変更。

El Capitan

 Apple、iOS9とOS X 10.11 El Capitan BetaでIPv6を優先し使用しているそうです。詳細は以下から。


 9to5MacやThe Next Webによると、AppleのCoreOSネットワークエンジニアDavid Schinaziさんが、メーリングリストにてiOS 9とOS X 10.11のBeta版ではIPv6をメインストリームに開発を行っているとコメントしているそうです。

Apple says this work has now progressed sufficiently for IPv6 to be considered mainstream, and it is prioritizing the use of the new addressing system in the public betas of both iOS 9 and OS X 10.11.

What both operating systems previously did was to try both old and new addressing systems and use whichever responded fastest. Both platforms now prefer IPv6 even if it is slightly slower, explained Apple CoreOS Networking Engineer David Schinazi in an Internet Engineering Task Force post.

[Internet’s new addressing system now mainstream, says Apple – prioritized in iOS 9 & OS X 10.11 betas – 9to5Mac]

 Davidさんは「我々は(IPv4とIPv6のうち通信状態の良い方を優先 する)”Happy Eyeballs“アルゴリズムをiOS 8とYosemiteではIPv4/IPv6をそれぞれ50/50で実装してきましたが、iOS 9とOS X 10.10 Elcapitan Betaからは ほぼ99% IPv6を使用するように実装しています」とコメントしており、そのアルゴリズムを公開しています。

Hi everyone,

Today Apple released the first public seeds of iOS 9 and OS X El Capitan.
These seeds (and the third developer seeds released yesterday) include an improved version of Happy Eyeballs.

Based on our testing, this makes our Happy Eyeballs implementation go from roughly 50/50 IPv4/IPv6 in iOS 8 and Yosemite to ~99% IPv6 in iOS 9 and El Capitan betas.
[[v6ops] Apple and IPv6 – Happy Eyeballs –]


If this behavior proves successful during the beta period, you should expect more IPv6 traffic from Apple products in the future.Note however that this only describes the current beta and all these details are subject to change.
Please test this out if you have the means to, we’d love to see test results and receive feedback!

[[v6ops] Apple and IPv6 – Happy Eyeballs –]


  1. Apple7743 より:

    AAAとAのサイトは25ms timerが行われるだけで遅延てわけじゃい。
    – Query the DNS resolver for A and AAAA.
    If the DNS records are not in the cache, the requests are sent back to back on the wire, AAAA first.
    – If the first reply we get is AAAA, we send out the v6 SYN immediately
    – If the first reply we get is A and we’re expecting a AAAA, we start a 25ms timer
    – If the timer fires, we send out the v4 SYN
    – If we get the AAAA during that 25ms window, we move on to address selection

  2. Apple7743 より: