[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
R: [lwip-devel] IP conflict detecting
From: |
Ceresoli Luca |
Subject: |
R: [lwip-devel] IP conflict detecting |
Date: |
Wed, 28 Jan 2009 18:57:52 +0100 |
Piero 74 wrote:
> i configured emac on my microcontroller to filter ethernet
> packets, so, only packets for my macaddress OR broadcast
> ethernet packets are forwarded to microcontroller.
> So, packets with different mac and different IP are not
> received, and broadcast ethernet packets have FFFFFFFFFF
> as mac address (i.e. arp packets), so i cannot detect ip
> conflict....
You might still receive packets whose _source_ IP is identical to yours, for
example an ARP request (which is broadcast). That is a detectable conflict.
Nonetheless, IP conflicts in a non-AUTOIP network may be undetected by some
nodes for an indefinite amount of time.
Consider this example.
Hosts A and B share the same IP address, 1.2.3.4. They are just servers, so
they might work for years without starting any outgoing connection. Then they
don't need to send any broadcast packet.
In this case, A will never receive a packet from B (which would allow A to
detect the conflict) and viceversa.
Now take a third host, C, with a different IP. If C ARPs for 1.2.3.4 it will
receive two answers (from A and B), and it can detect a conflict, but A and B
still wouldn't.
AUTOIP has a smart way of detecting conflicts even in the above scenario: all
ARP replies, not only requests, are broadcast. RFC3927 gives a good explanation
of all of this stuff.
Luca