Sorry if I'm not using the right language for all this, I'm a software developer not a server/network administrator!
I've got a Windows machine with a single NIC with multiple IP addresses configured. As an example, the NIC address is 172.1.48.3
. It has three IP addresses configured in Properties -> Ip 4 Properties -> Advanced, all on different subnets 172.1.48.3
, 172.1.88.3
and 172.1.104.3
. (Subnet mask is 255.255.255.0
on all these).
I have a program listening on three UDP sockets with each of these IP addresses.
Three things on the network are broadcasting to each subnet: 172.1.48.255
, 172.1.88.255
and 172.1.104.255
.
I can see in wireshark that UDP is coming in from these addresses, so 172.1.48.255 -> 172.1.48.3
, 172.1.88.255 -> 172.1.88.3
etc. However, I'm seeing 'cross contamination' between the sockets. The UDP socket bound to 172.1.48.3
is recieving UDP messages from 172.1.48.3
, 172.1.88.3
and 172.1.104.3
.
Either I'm not understanding UDP properly, or something with the networking. I think it's some issue with having these three separate IP addresses on one NIC, because it works fine if each IP has it's own machine (and thus NIC).
Anyone know why a 172.1.48.3
socket would be receiving messages broadcast to a different subnet 172.1.104.255
?