|We have a device discovery protocol which uses a UDP broadcast to find devices on the local network, and I'm trying to understand the behavior of windows XP networking in a corner case.|
When writing to the UDP broadcast address, without specifying an IP, the machine will normally send out the broadcast packet on all NICs, as desired. However, if the IP addresses and subnet masks on the two NICs overlap (example below) it will only send out the broadcast on one card.
Eth0 IP: 10.0.x.y
Eth1 IP: 10.a.b.c
In this case, the broadcast will only be sent out on Eth0. If the subnet mask for Eth1 is changed to a typical 255.255.255.0, then both NICs will be used.
Is this expected (and explainable) behavior? Is there a resource somewhere to explain the inner workings of windows routing in scenarios like this? Anyone run into something like this before?