Does Windows 7 load balance multiple internet connections? [yes, probably]

Question. Does Windows 7 load balance multiple internet connections? And what exactly is load balancing anyway?

Answer. Yes,  Windows 7 appears to load balance!

Annoyances.org – re: Multiple Internet Connections (Windows 7 Discussion Forum)

Annoyances.org – re: Multiple Internet Connections (Windows 7 Discussion Forum) pg. 2

Windows 7 Break through. Excited!! Load Balancing Works! – Overclock.net – Overclocking.net

NOTE: I haven’t found any official MS documentation on this topic, but from reports on the web it does seem to work…

Load balancing distributes downloads (or uploads) over different internet connections.

Example:
You have two internet connections, one DSL (150kbs actual download) and one cable modem (500kbs actual download). #1 You start a large file download, and Windows 7 assigns the download to your cable modem. #2 Then you start streaming a Netflix movie, Windows 7 assigns the streaming movie to your DSL connection.

If anybody has more specific information on how Windows 7 determines the load balancing (i.e. randomly, or via specific parameters) please post in the comments below, thanks!

PS if you would like to force Windows to use a specific network connection for a particular application, you can: ForceBindIP – Bind any Windows application to a specific interface (works on Windows NT/2000/XP/2003, I’m not sure about Windows Vista or Windows 7)

PSS Bonus link, How to Turn your Windows 7 Netbook into a Wireless adapter for your Xbox 360

13 comments

  • Chris

    Hi, I have multiple internet connections and have been wanting to get them to work simultaneously very bad in Windows 7. It sucks that there’s not much information on load balancing in Windows 7.

    After some investigation, I believe the answer should be probably NOT. The two links you provide don’t really shed light on the issue — they’re posted by non technical people. In the “break through” post, look at the very last response.

    A very simple verification that Windows is cycling through multiple connections is just to pull up a site like “whatismyip.com” and see if the reported IP changes. If you use two different browsers and refresh 20 times and it’s the same IP, Windows is not using two separate connections — this is a very simple test anyone at home can do. Of course, you can use software that actually monitors the incoming and outgoing IPs actually used — this is a better method but requires purchasing software.

    A guaranteed method to achieve load balancing is running a virtual machine and configuring pfsense to perform the work… but this is labor intensive.

    Anyway, just want to put this out there because I’ve been trying to figure this out for a long time but see no solution for a Windows 7 only solution. Thanks for your site.

    • I agree with Cris,

      I am also a victim of same. Windows 7 load balance not works as expected.

      What I can see is that window starts looking with configuration order of connection and than see which first can response quickly to a web request..

      Suppose you say Google.com in a browser. In first attempt when browser attempts to open an internet connection the windows load balancer will look one time wich connection can run fast and route all of that particular application to that network connection.

      At the same time if any other application requests additional internet request than the load balancer sees which connection was rated high previously. Than it will attempt to assign that internet connection to new application once if that internet connection is not in use. If in use than again from step one (which goes high)..

      This does not help me to increase torrent speed, but helps me alot to work freely as possible since application request routes to the available internet resource. Usually when I download something my internet goes down even not able to open google.com.

      But anyways, I am very unhappy. I thought adding a detailed feedback on Cris reply makes sense as he did all tests as basic I did all test as modetative tests as per my mentality.

      Hope all this helps others to understand the load balance in windows 7 how it works rather than how we expect but I wishes that load balance needs to work as how we expect but we all technical guys knows that request can be made using 1 IP address for a static text content, but can help if the contents on pages like css, images, js will all go in a particular loop as explained in first step. This will really makes sense when we speak about load balance 🙂

      Thanks anyways,

      Farhan Islam

      • Hi Farhan,
        Thank you for your comment. I am sorry that Windows 7 has not been helpful to you in your attempts to get beneficial load balancing 🙁

        Your description of intelligent load balancing would be quite nice. 🙂

        Best regards,
        -JD

  • A guy who knows what he's talking about

    Windows absolutely does not load balance.

    Connect your computer to a wired connection and a wireless connection. Then unplug the wireless router from the internet. Your wired connection will say “internet access” while your wireless connection says “no internet access”. Yet, if you try to open your browser, it will still try to connect through the wireless network and fail to reach a site, even though your computer has full access to the internet through a different connection.

    The only thing that matters is which IP has been assigned as the Default Gateway, which is usually determined by which connection you made first.

  • Amaechi Ilo

    Obviously, the guy who knows what he’s talking about knows absolutely nothing about what he’s taking about.

    http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/route.mspx

    read a lil more man…

  • L.S. Melbourne

    I’ve been trying to work out how to load balance over Windows 7 for some time. A friend of mine who is quite knowledgeable when it comes to network configurations tells me it can be done but he’s never done it before..

  • I totally agree with Amaechi. “A guy who knows what he’s talking about” really needs a clue on what he is talking about.

    Now time for some Labworks.

    Goal was to load balance with two Interfaces in between two ISPs.

    To achieve that, Windows 7 OS has to send packets over two equal cost default routes.

    In this case the default routes will be the two paths directly attached to the ISPs.

    So, I issue the netstat -rn command to look at the routing table.

    Routing table looks like this:

    ****************

    IPv4 Route Table
    ===========================================================================
    Active Routes:
    Network Destination Netmask Gateway Interface Metric
    0.0.0.0 0.0.0.0 192.168.19.1 192.168.19.100 20
    0.0.0.0 0.0.0.0 192.168.15.1 192.168.15.126 40

    *****************************

    If you notice, default route through 192.168.19.1 has a lower metric. Which means, all packets will prefer that path.

    Next, I delete the default route through 192.168.19.1 with the following command:

    route delete 0.0.0.0 mask 0.0.0.0 192.168.19.1

    Then I add the route back with the following command:

    route add 0.0.0.0 mask 0.0.0.0 192.168.19.1 metric 20 IF 11

    (For some weird reason, Windows add a 20 on top of the metric I define. So, I specify 20 in stead of 40. The goal is to bring both of the default routes with equal metric).

    And voila:

    netstat -rn

    IPv4 Route Table
    ===========================================================================
    Active Routes:
    Network Destination Netmask Gateway Interface Metric
    0.0.0.0 0.0.0.0 192.168.19.1 192.168.19.100 40
    0.0.0.0 0.0.0.0 192.168.15.1 192.168.15.126 40

    ************************************

    I have two default routes on my routing table through both ISPs with equal metric. Redundant path with equal cost default metric achieved.

    Thanks a lot.

    — MushMax (CCNP, CCSP).

  • Rafael

    Hi,

    I have coded a simple load balancer, it may be useful for you.

    Check out at https://github.com/dextervip/load-balancer

    • Hi Rafael,
      Thank you for your comment. Your load balancer looks cool, thanks for posting it!

      When I get some free time I hope to test it out 🙂

      Best regards,
      -JD

  • Zubair

    Is there a way that can we load balance in a way, 2 incoming connections and 1 outgoing connection. More elaborately that, I want to build a machine which can act as load balancer router or server, and more preferably windows machine, xp – win 7, server 2003 or server 2008.

    • Hi Zubair,
      Thank you for your comment. I believe your desired setup is doable. However, I don’t have any first hand experience building a 2 incoming connections and 1 outgoing connection load balancer. Hopefully another reader will answer you with some detailed setup instructions!

      Best regards,
      -JD

  • @Zubair @JDH – Yes, that is possible. Windows Server installations support Load Balancing. But if you would like to set up a machine that does that, I would prefer PF-Sense – It’s a customized distro of FreeBSD to be used as a Firewall/Router.

    And if you would like to save some money, you can try setting up a virtual machine instead of a physical one that does basically what you’re asking for. Here’s a great (but complex) tutorial I found: Multi-LAN Load Balancing.

    • Hi Sheharyar,
      Thank you for your excellent load balancing tips! I especially like your suggestions to use a VM for the load balancing, very cool. 🙂

      Best regards,
      -JD

Leave a Reply

Your email address will not be published. Required fields are marked *