A laptop with a wired ethernet NIC and a wireless NIC.
The Wired NIC get its IP from a DHCP server.
The wireless NIC also get its IP address from a DHCP server.
When only one of the NICs is active, everything works fine (wireless or
wired). But when boths get active, Windows XP detects a "Duplicate IP".
A WireShark capture shows that when the second NIC comes up, it does a DHCP
request, gets an IP from the DHCP server, then issues a Gratuitous ARP to
verify if the IP is in use. Nobody else answers the Gratuitous ARP (so far so
good). The NIC issues another Gratuitous ARP, again nobody answers (this is
excellent so far). But then the laptop issues a third Gratuitous ARP over the
same NIC, but with the MAC address of the other NIC. The laptop then replies
itself to this last Gratuitous ARP with the original MAC saying it already
has that IP. At that point Windows shows the "Duplicate IP" message.
Why would the laptop cheat itself issuing and then answering a Gratuitous
ARP with two different MACs over the same NIC? Is there something I am
missing? Have anyone seen this before?
This not only happens when both NICs connect to the same subnet, but also
when they connect to different subnets. this confirms that the third
Gratuitous ARP is sent over the same NIC than the first two, but with the
other NIC's MAC ( as oppose to the other NIC sending a separate Gratuitous
ARP which is heard by the other NIC).
Laptop is a Gateway Tablet.
Wireless NIC is Intel 3945ABG
Wired NIC is Intel PRO 10/100/1000
Wireless NIC is managed by Windows Zero Configuration Service.
|