Microsoft Windows Update and Network Bandwidth?
Brett Glass asks: "As we reviewed the cache statistics for our small ISP today, we noted that the traffic generated by Microsoft's Windows Update feature constituted 45% -- no, that's not a misprint -- of our total throughput. Because so many computers on the Internet run Windows, this massive resource drain occurs whenever Microsoft announces major security holes (as it did this week). The traffic could be greatly reduced, and service to users much improved, if the updates were cacheable at the ISP. But Microsoft has set up the service in such a way that the data can't be cached. (It's digitally signed, so inserting Trojans into the cache is virtually impossible; in any event, no more of an issue than intercepting the data stream.) Are others out there seeing the same pattern? How might Microsoft be convinced to make its updates cacheable, so as not to waste unthinkable amounts of bandwidth?"
No no! You're supposed to buy and install and manage an internal (corporate, academic, whatever) Windows Update server and manage your internal clients yourself.... :-)
I can only speak from what I've seen in our offices, but squid (running in transparent proxy mode) very definitely caches content from Windows Update... I set it up about six month ago and remeber being really surprised (because I think I very reasonably expected it not to).
Not being a windows user, how big are the windows updates and how often do they come?
Apple's own software updates are pretty big, although with a much smaller percentage of machines as macs they're not going to cause the same volume of problems. The last few I've seen have been around 40MB, with one topping out at 80, and most security updates (every 2 months perhaps) being 5-15MB
I visited the site linked to in the post, and it came up with a message about how it doesn't work with my browser/OS (Mozilla/Linux). Boy, that just boils my blood! Oh, wait.
compare to 95% usage last time Code Red visit. :)
The rest 5% is Netbios traffic.
Here at Berkeley all of the Windowsupdates come from an internal server instead of externally. That way they control who gets the updates and when.
You can download the updates individually, and there is probably a way to have them downloaded to the server automatically. All you have to do is convince the users to download them from you and install them manually. Can you block traffic from the autoupdate applet? I bet that would significantly reduce traffic, at the cost of insecure customers.
What about running an internal WU server and changing the DNS entry at the local level to a local server? You'd have to keep the catalog of updates stocked and refreshed constantly, for multiple OS's, so I don't know how cost effective it might be.
-Ryan
AUWYHSTOT (Acronyms are Useless When You Have to Spell Them Out Too)
Another option is to use a systems management package (LANDesk, ZENworks, SMS, etc.) to build the packages and deploy them while only using your internal network bandwidth (once you've downloaded the hotfixes anyway).
Of course, the two options above are really meant for company networks, but even those can help reduce the bandwidth used for more important things.
First step is to download the patches/update manually and save them elsewhere accessable to all users:
- Windows 2000 users, please visit the
Windows 2000 Downloads site.
- Windows NT 4.0 users, please visit the
Microsoft Download Center.
- Windows 98 users, please visit the
Windows 98 Downloads site.
- Windows 95 users, please visit the
Windows 95 Downloads site.
Second, we found that users would rather use windowsupdate.microsoft.com then to go to our patches/update repository, that make sense. You could forbid your users from accessing windowsupdate.microsoft.com, but it might have a problem, as some update might actually request windowsupdate.microsoft.com during installation.Therefore, we limit the priority of traffic in/out of windowsupdate.microsoft.com. Eventually we lower the prior of entire microsoft.com because that's really necessary. Users could access to windowsupdate.microsoft.com on their own as usual - if they don't mind holding up their machines for a couple of days.
This works great. Larger and bigger patches are stored locally for users, while they could still access to windowsupdate for smaller patches/fixes. Our bandwidth load lessen(to a certain degree, we still can't solve that 5-15% Netbios traffic jam
Hope this help.
~~~
Let me guess... the other 55% is porn?
Wouldn't it be nice if you could set up a caching proxy to establish a verification process with the items being cached from that server - that way the server could perform checksum verification on the file and approve the copy for distribution.
It seems that it could be an easy implementation. The proxy requests the file verification in, an XML-RPC request is returned from the server to perform the checksum, the resulting data is sent via SOAP, and approval is given or denied, causing the cache to be used or flushed.
I don't know enough about it to say how difficult it would be to have the proxy determine if the service is available, though. It needs an acronym if it's going anywhere. How about Verify Cache Request (VCR)?
That what was all this school was for... to teach us how to solve our own problems. -- janeowit
...download the updates yourself and either push them to the users through something like SMS, or have a program check the registry in the login script. It is fairly simple.
If it's a big problem, just block off windowsupdate and redirect them to your own page. You could implement a simple scan using something like HFNetChk. It's command line and works well.
Hey, look at it this way.. at least your users are updating! That puts them above 90% of the users out there.
No one's bitching. All the person is asking is whether there's a whether he can change Microsoft's mind. Nowhere does he insult MS. In fact, he states that there is a completely justifiable reason for not letting anyone cache the updates.
Just settle down, really. Maybe you should go to bed.
In the meantime, you should be aware that all the major service packs for Microsoft products can be downloaded as stand-alone executables. Also, the IE download page includes some critical updates. Make your own "cache" on the network, and let everybody get their updates from there.
So dare I ask what the other 55% is? Here's my guess:
No, don't check. You don't want to know.
GStreamer - The only way to stream!
You can't transparently cache, but you can set up an SUS server and point your clients at it. Software Update Services FAQ. I don't think it costs anything (beyond the cost of a Windows 2000 Server or Windows 2003 Server), and I don't see anywhere that it says you can only use it in a business... Wouldn't that work?
Time flies like an arrow. Fruit flies like a banana.
Just checked the stats for the past 24 hours (from a Squid cache). This time, *.windowsupdate.com generated 56.11% of the traffic, with a hit rate of only 2.37%. In short, Microsoft is eating (and expending!) huge amounts of bandwidth, and almost none of what is being transmitted can be cached. What a waste.
Ahem.... Red Hat updates are cacheable. But the percentage of Linux users on our network is in the single digits. Most users run Windows.
Why don't you subscribe to or at least take a look the ISP-Caching mailing list?
How about trying something like this.
The latest update was the Java fix, and that weighed in at 5MB. If that's all it takes to spike your traffic then you're probably getting off cheap the rest of the time, with most users not doing much downloading other than mail and news.
Why don't you post some hard data instead of percentages? Saying windows update is 50% of your traffic is meaningless unless you provide background. What is your normal traffic? How close are you to capacity?
Doesn't happen. If there's an update to the update, it's done as a separate update.
I suspect that someone at Microsoft has been reading this discussion, which is good.
Most of the stuff that became cacheable, though, was for Windows XP. Windows 98 and Me updates (and we have a lot of users running 98 and Me) are still dragging the system down. I know, I know, you guys at Microsoft are trying to persuade Windows users to upgrade. But could you please not attempt to do this by making updates slower? We ISPs would appreciate it.