Two ethernet cards/networks (still)
Steve Holden
steve at holdenweb.com
Thu Sep 7 18:34:30 EDT 2006
Bob Greschke wrote:
> There is a lot to stuff that seems to skirt around this issue (most of which
> has to do with finding your IP address), but I can't find anything that
> explains how to write a client that (in my case) needs to collect some
> information from some equipment on a private network/Ethernet card, then
> transmit that info on the other Ethernet card/"outside" network to another
> program (which will put it into a db).
>
> "binding to a specific address is almost never used for a client", sez
> Foundations of Python Network Programming, but is that how it's done?? Each
> card has a fixed IP address. It's on Windows at this time if that makes any
> difference.
>
The reason that "binding to a specific address is almost never used for
a client" is because it's the server destination address that the
network layer will use to determine which interface is used to
communicate with a specific server host.
Suppose your network setup looks like this:
+-------------------+------------------------+ Network A
|
|
|
| 192.168.12.34/24
|
+--------+--------+
| |
| |
| YOUR HOST |
| |
| |
+--------+--------+
|
| 201.46.34.22/24
|
|
|
+-------------------+----------+-------------+ Network B
|
+
+--------+--------+
| router |
| to internet |
+-----------------+
If your client program tries to communicate with, say, 192.168.12.18
then by the IP network layer will automatically select network A as the
medium, since the destination is local to that network. If you then want
to communicate the results to 201.46.34.118 then network B will be used,
again because the destination is local to that network (its first 24
bits are the same as the first 24 bits of the destination).
In this case the router on network B will almost certainly be the
default route for the host, as it's the way to everywhere else.
This isn't really Python-related, so I hope it answers your question!
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://holdenweb.blogspot.com
Recent Ramblings http://del.icio.us/steve.holden
More information about the Python-list
mailing list