[Cu-wireless] architecture proposal

David Young dyoung at onthejob.net
Fri May 3 02:33:32 CDT 2002


Here is the latest architecture from the labs of Dave and Zach.

What we are trying to achieve is a hierarchical network that will
also support ad hoc networking. We want for stations in the network to
self-configure, for the most part.  We want configuration to be stored
in a database distributed across the network.

IP Numbering: Unroutable, Two Schemas
-- ---------- ----------- --- -------

We define this IP numbering scheme. First, we use the unroutable
network 10/8. In the most significant bits that follow the 10, there
is a 2-bit schema identifier. The schema identifier tells the schema
in which the bits that follow will be interpreted. We define only two
schema now, the "home schema" (schema 0) and the "pod schema" (schema 1).

Home Schema
---- ------

In the home schema, the remaining 22 bits are interpreted as four fields:
a 14-bit home number, a 2-bit network type number, a 2-bit interface
number, and a 3-bit host number.  I assign bit-widths to these fields
*tentatitvely*, for concreteness.  I call these fields HOME_ID, TYPE,
IFACE_ID, and HOST_ID.

Home Schema Fields
---- ------ ------

HOME_ID identifies a station on the community network. It is unique
throughout the community.

TYPE is one of Uplink (0) or Eth (1). We reserve TYPEs 2 and
3. Uplink-type IP numbers are the ends of a point-to-point or
point-to-multipoint wireless network. Eth-type IP numbers are assigned
to ends on a user's ethernet network.

For Uplink-type IP numbers, IFACE_ID names a radio interface on the
station.  HOST_ID is a particular host on that interface.  On all a
station's radio interfaces, its local IP number has HOST_ID = 1. A
station assigns HOST_ID 2 and greater to the remote stations on its
radio interfaces.

For Eth-type IP numbers, IFACE_ID names an ethernet jack on the
station given by HOME_ID. HOST_ID is a particular host reachable on that
ethernet. A station assigns its ethernet jacks IP numbers with HOST_ID =
1. It assigns the hosts on attached ethernets HOST_ID 2 and greater.

Initialization in the Home Schema
-------------- -- --- ---- ------

When a new station is turned on, it sends DHCP-Requests on its wireless
interfaces. When a station on the network hears, it replies itself (if it
has that authority) or it relays the Request to another station. Whichever
station replies will associate the MAC address of the new station with a
unique HOME_ID, H, in a Distributed Master Database backed to nonvolatile
storage. Then the database station sends a DHCP-Response to the new
station. The response contains the new station's IP number, which is
given in the home schema given by (HOME_ID = H, TYPE = Uplink, IFACE_ID
= 1, HOST_ID = 1).  When the new station receives the DHCP-Response,
it asks its owner whether it should join a certain pod (more on pods
later) or tune its radios to different channels than the default.
Possibly it asks other questions for our user database.  Next, the
station configures its other interfaces.  The remaining radio interfaces
are given numbers (HOME_ID = H, TYPE = Uplink, IFACE_ID = 2 or greater,
HOST_ID = 1). Ethernet jacks are given numbers (HOME_ID = H, Type = Eth,
IFACE_ID = 2 or greater, HOST_ID = 1).  All the numbers are registered
with the master database using an HTTP POST.  DHCP Servers/Relays are
run on every interface. Finally, routing and forwarding is begun.

When a station configures the 2nd, 3rd, ..., nth time, its DHCP-Request
yields a DHCP-Response containing the configuration associated with its
radio MAC.

Pod Schema
--- ------

In an IP number in the Pod Schema, there are two fields: a 16-bit pod
number (POD_ID) and a 6-bit host ID (STATION_ID).

The POD_ID names a pod. A pod is an arbitrary cluster of stations---for
instance, all the stations in a neighborhood.  A STATION_ID identifies
a particular station in the cluster.

Stations belonging to the same pod form an ad hoc network.  A station
sets the IP number for at least one radio to an IP number in the pod. For
every radio participating in the ad hoc network, a station in a pod
adds an entry to OSPF's tables for STATION_IDs 1 through 62, so that
OSPF will check for a link to each host on each radio.  (If this is not
making sense, it is because I don't know OSPF. Please let me know.)

Without either a user's or an administrator's intervention, a station will
join the pod its uplink belongs to. A station finds out its uplink's pod
from the DHCP-Response sent to it at configuration time. A station uses
DHCP to acquire unique IP numbers for the radio interfaces involved in
the ad hoc network.

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)

This will make a whole lot more sense with diagrams, which we can draw
a-plenty at the next architecture meeting.

Dave

-- 
David Young             OJC Technologies
dyoung at onthejob.net     Engineering from the Right Brain
                        Urbana, IL * (217) 278-3933




More information about the CU-Wireless mailing list