Accessing same Internet host through multiple DUN connections
Posted on 1997-10-16
For some specialized test software, I need to access an Internet host through multiple Dial-Up Networking connections through multiple modems and multiple ISPs on Windows 95.
The test host has multiple COM ports, each with a different modem attached. There are multiple DUN Connections defined, one for each modem, each to a different ISP.
This is how I am thinking the software will work:
The client software on the test host has one thread or instance for each DUN Connection. The client establishes the connection, then learns the IP address (which is accessible through the RAS API) for that connection. It creates a TCP connection, binding the interface address of the DUN connection it established as the local IP address (instead of letting the OS pick one for it.)
But, will Windows 95 actually route the client's TCP traffic through the interface created by the DUN connection the client just established?
I am not certain if Windows 95 will let it. I suspect Windows 95 will try to send the traffic for all clients out only one of the interfaces.
Typically this would be the connection associated with the default route.
If I create a default route (or, a route to the Internet host) for each DUN connection, and each client binds to the interface address associated with the DUN connection it wants to use for IP traffic, will Windows 95 route that traffic through the desired connection? Or will it force it through the first default route it encounters in the routing table? Or, is there something else I should do to make this work?
I have assigned extra points to this question because I am looking for a specific answer by someone who has done this and can tell me the configuration to make it work. If I am breaking routing rules, a reference to the applicable RFC or Microsoft Knowledge Base article or similar profound piece of work will get the points. Similarly, higher grades will be assigned when references to applicable articles showing how it should work are made. If you plan to post an answer, please check the "email notification" box as I expect a few clarification comments to be exchanged.
I would like to avoid a solution where the Internet host is configured with multiple IP addresses, and each client specifies a different IP address, and a route is created to that IP address through the interface address associated with the DUN connection the client established. I would like the Internet host to have only one IP address. It is most desirable for the Internet host to have one IP address.
I suspect I could also initiate the TCP connections from the Internet host, to each of the interface addresses on the test host (the Internet host would somehow have to be told these addresses, since most will be dynamically assigned.) This will force the traffic to travel at lease one direction, but I'm afraid the reverse traffic may still pass through only one of the interfaces, unless it is possible to set this beast up this funky way.