[Cu-wireless] architecture proposal

Ralph Johnson johnson at cs.uiuc.edu
Sat May 4 15:11:50 CDT 2002


On 5/3/02 2:33 AM, "David Young" <dyoung at onthejob.net> wrote:

> The master database is not well-defined. Some requirements are that it
> is replicated so that it withstands network "splits." Four questions
> Zach has about the master database include
> 
> 1 are replicas read/write or read-only?
> 2 can stations cache data?
> 3 are all stations replicas?
> 4 domain-based master servers? (I don't understand this one)

According to what you said earlier, once an IP address is assigned to a MAC
address, your master database should always assign it.  There is no
provision for deleting a MAC address.  So, mappings get added when a device
comes up for the first time but never removed.  In practice, you might want
to have a way of removing obsolete MAC addresses so you can reuse the IP
number.

1) Replicas could be read-only, in which case they are really caches.  If
they can't find their master then the device can't be initialized.  Old
devices can be turned on and off, but new ones can't until the network is
reconnected.  

If replicas are not read-only then the problem that could occur is if a
device comes up for the first time in a partitioned network, and is given an
IP address.  Then the device is turned off and brought back up again, except
that this time it is with a different partition.  This partition has never
communicated with the first partition, so it will allocate a new IP number
for the device.  This seems pretty unlikely to me.  My guess is that it
would be good enough to detect this problem and complain about it and let
someone fix it.  The way to detect it is to merge databases when the network
is reconnected, and to merge them by adding new records to each database.
If the two databases have new records with the same MAC address then the
error occurred.

2) It is always safe to cache data, since the database grows but never
shrinks and no record is changed once it is created.  There is no real
difference between a cache and a replica, except that a replica thinks it
knows when a new IP address needs to be invented, but a cache will not.  But
IP addresses will be required so infrequently that it seems to me pointless
to cache it.  Caching is a performance optimization.

3) Any station that wants to can be a replica.  It will waste a little
space, but not much.   As long as there aren't many devices (a few hundred)
you might as well make them all do it.

Won't this require hacking the DHCP server, or does it already have an
option for caching, etc?

-Ralph




More information about the CU-Wireless mailing list