• Workaround for IPv6 Default Address Selection Implementation in Vista

    Posted on April 1st, 2009 sridhar 1 comment

    Microsoft implemented the standard (RFC 3484) specifically section 6 rule 9 in Windows Vista and Windows Server 2008. Microsoft I think is the first major client OS to do so.

    Rule 9:  Use longest matching prefix.
       When DA and DB belong to the same address family (both are IPv6 or
       both are IPv
    4): If CommonPrefixLen(DA, Source(DA)) >
       CommonPrefixLen(DB, Source(DB)), then prefer DA.  Similarly, if
       CommonPrefixLen(DA, Source(DA)) < CommonPrefixLen(DB, Source(DB)),
       then prefer DB.

    This rule may have been introduced to route the request to the closest location rather than choosing the destination address randomly when presented with multiple A records. But in IPv4 it doesnt work that well as internet ip addresses doesnt correlate fully with geographical location. More than that if your behind a NAT gateway your IP address the DNS client in your Windows PC sees is one of these “10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16″ which doesnt provide much information on your geographical location and hence cannot be used to gauge location proximity resulting in wrong routing decisions if you implement Rule 9. This is not just theory but has happened in practice as explained by Dr Plotka in his blog and hence is extremely problematic. So in effect Microsoft kind of broke the internet traffic by correctly implementing the standard.

    But the standard does provide an optionality to this implementation as follows:

    Rules 9 and 10 may be superseded if the implementation has other
       means of sorting destination addresses.  For example, if the
       implementation somehow knows which destination addresses will result
       in the “best” communications performance.

    Infact in the case of IPv4 communication I would say you would be better of selecting randomly than following the rule 9 suggested by the standard. All along all DNS clients in Windows PC chose randomly by default. This changed only in Windows Vista and Windows Server 2008.

    Realizing the problem Microsoft has caused they have published a workaround to revert back to the randomn selection behaviour.

    Please read the Microsoft support article here.

     

    One response to “Workaround for IPv6 Default Address Selection Implementation in Vista”

    1. I am using vista for over a year now, still not okey with it. I surely miss XP. Anyway looking forward for SP2 to be released. :)

    Leave a reply