James Bannan31 October 2006, 12:27 AM
Network admins won't be happy: in its default state, Vista uses up to three times more network bandwidth than XP thanks to its many new networking features. On networks with many PCs, that could be a big problem.
Vista’s much-touted new networking features like the Network Centre, Network Map, Sharing and Discovery and UPnP Media Sharing could not be possible without some extra grunt at the networking application level.
A default installation of Vista has the standard Windows networking protocols and clients installed and enabled – Client for Microsoft Networks, QoS Packet Scheduler, File and Printer Sharing for Microsoft Networks and Internet Protocol TCP/IP – but it also features some extras. Namely Internet Protocol TCP/IP Version 6 and the two components of LLDP (Link-Layer Discovery Protocol) – the Discovery Mapper and Discovery Responder.
Loaded up: Vista's default networking setup |
Or to put in another way, that’s one client, two services and four protocols in Vista versus one client, two services and one protocol in XP.
Common sense would dictate that Vista is, by default, going to be a lot chattier on the network than XP. By and large, that’s not too much of a problem. Most home networks are running 100Mb or even 1000Mb wired ethernet, which has plenty of bandwidth to cope with excess chatter without degrading performance. But consider 54Mb or 108Mb shared wireless connections, or business environments which have not one or two, but dozens or hundreds of PCs/devices on their network, busily chattering away. Under these conditions, increased network traffics isn’t something which can simply be absorbed – it’s a definite problem.
Or course in large business environments, there are generally de-centralised switches which provide bandwidth throttling, QoS and broadcast limitation to keep the backbone relatively free of excess chatter. But that won’t eradicate localised bandwidth degeneration.
Vista Chatter Put To The TestTo test just how Vista compares to XP on the network Chat-O-Meter, I rigged up a little experiment using VMWare (my favourite app since
XTree Gold). I created two virtual XP machines and two virtual Vista machines, all configured absolutely stock-standard. The machines all ran on a host-only virtual network, meaning that they couldn’t NAT out to the general network, which would result in traffic over and above the absolute minimum.
The idea was to see how much traffic was generated between two machines running the same OS in absolute isolation. The host machine ran Ethereal and monitored the virtual network. The advantage of this setup is that there’s no external traffic interfering with the internal network, and the peer-to-peer traffic between workstations is captured too, as two machines on the same network will generate more traffic that one isolated machine – they need to sort each other out and determine who’s boss.
The only changes I made to the workstations was to disable the Automatic Update service on the Windows XP machines, and the Windows Update service on the Vista machines.
The Ethereal capture was run just until the machines had powered on and logged into the desktop. The capture is done in realtime, so there’s a marked spike in network activity while the services come online, dropping down to nothing again pretty quickly.
Ethereal: a packet capture from two XP machines |
The results were quite startling. The XP machines generated 107 packets between them – the vast majority being UDP-based traffic. There was a small amount of DHCP, DNS and ARP traffic as the workstations acquired IP addresses, but the overwhelming volume of traffic was NBNS (NetBIOS Name Service), caused by the workstations finding each other and sorting out machine priority.
The capture for the Vista machines showed 315 packets – almost three times as much. Interestingly, there were 222 UDP packets (three times as much as the 87 packets in the XP capture), but 56 ICMP (ping) packets – over 8 times as many. A fair bit of this was due to TCP/IPv6.
The next test was to see how the capture stats changed be disabling particular (and arguably unnecessary) networking components, and also to see what impact different protocols have on Vista’s general state of chattiness. First I disabled TCP/IP Version 6 (it can’t be uninstalled) and re-ran the capture. Immediately the stats were down with 201 packets captured – a 36% drop.
Next I reinstated TCP/IPv6 and disabled the two Link-Layer protocols – these can be uninstalled if you wish. Surprisingly the capture was pretty high – 277 packets. Given the peer-to-peer mapping nature of the Link-Layer protocols, I’d expected this to be a major source of chattiness.
Finally, I disabled both TCP/IPv6 and the Link-Layer protocols, so that the Vista machines were running the same networking components as the XP machines. The capture picked up 201 packets – exactly the same as the test without TCP/IPv6.
So what does all this mean? Well, it seems that the default networking setup of Vista is guaranteed to increase chatter on the network in a big way, but that it’s not all down to the bulked-up protocol stack. TCP/IPv6 seems to have quite a substantial impact, and while it’s nice that Vista has IPv6 support built-in, it would be better if it was an optional add-in as with Windows XP, rather than something you have to live with and manually disable.
However it seems that the real culprits are Vista’s back-end services. Even running the same networking protocols and clients as XP, Vista generates at least twice as much network traffic as XP. This won’t impact home users too much, but network admins definitely won’t be happy.