A tale of woe with Vista’s TCP/IP stack

Analysis
Mar 9, 20093 mins

As you may be aware, Microsoft rewrote its TCP/IP stack for Vista. But the new stack is broken, according to a “Dr Plokta.” He tells a strange tale of faulty load balancing involving Vista clients and Microsoft’s interpretation of RFC3484 aka Default Address Selection for Internet Protocol version 6.

Dr Plotka works for a company that load balances its Web traffic across three sites (up to 22 million page views a day) and after a while it noticed a problem. Site 1 was handling the most traffic and site 3 the least and the difference between the two was slowly increasing. The company uses F5’s Global Traffic Manager on BigIP gear to balance the load equally between the three sites. Dr Plotka explains:

After several days of analyzing log files, it looked like a performance problem at site 3, and to a lesser extent at site 2. … The obvious conclusion was that users at site 3 were having pages load slowly enough that they loaded fewer of them, which would be bad news — it could potentially be reducing our total traffic by several million pages per day. Further analysis of log files then showed that the problem was only affecting Windows Vista users (30% of our total traffic). Other users showed the same performance and traffic at all three sites.

More research showed that Vista “was preferring site 1 to site 2 or 3, and site 2 to site 3, at the point of choosing an IP address” and that when Vista is given a choice of IP addresses it picks one based on if the destination address shares the most prefix bits with the source address. This is one element of the IETF’s RFC3484 spec. The theory is that the two will be geographically closer — but the theory is incorrect since various regions have non-sequential blocks of addresses. On top of that, network address translation is not factored in and home routers tend to use default addresses in the 192.168 block, making all Vista machines on home networks automatically prefer site 1. For similar reasons, Dr Plotka also discovered that Vista dial-up users would automatically prefer site 3.

The perfect summary of the odd situation was made by Andrew Ducker, who wrote, “So Vista sucks more because it implemented a standard properly. Oh, the hilarity.

Props are due: This little tidbit comes from Twitter friend Packet Rancher and his blog of the same name.

Visit the Microsoft Subnet web site for more news, blogs, podcasts. Subscribe to all Microsoft Subnet bloggers.bi-weekly Microsoft newsletter. (Click on News/Microsoft News Alert.)SSH PowerShell for the massesWe-Fi: find Wi-Fi hotspots anywhere, anytime!Windows 7 post-beta leaks – why you should worryMicrosoft secretly tests uninstall option for IE in Windows 7Six of the best gadgets from Microsoft TechFestReader’s Choice for Best Windows open source Projects Microsoft to give away one million training vouchers

Sign up for the

Follow Microsoft Subnet on Twitter