On 1/16/07, Andy Green <[EMAIL PROTECTED]> wrote:
...
The basic concept is that all those machines you see around you on your
wifi applet or iwlist wlan0 scan could participate together to form a
large and fast, if patchy network completely outside the Internet, using
addressless unencrypted broadcast packets, at the same time they remain
associated and using crypto for their internal traffic as usual.

a quick overview, since i don't have time (yet) for a more detailed reply:
there are a plethora of ad-hoc routing protocols [0] and some are well
suited towards this kind of wireless mesh.  my particular favorite is
Link Quality Source Routing [1] which supports multiple radios nicely.
this is what you'll need to do your "rebroadcast" efficiently.

some comments about the broadcasts:  you'll want to consider encoding
rate and transmit power in the xmit stack, one size fits all (that is,
no differentiation between packet types and encoding) will be
inefficient, and you'll get better behavior if you can tune this
accordingly.  rate control is actually pretty complicated in practice,
while it may seem seductively easy in theory. [2]

along similar lines, packet size (including fragmentation, if needed)
will greatly affect the receive-ability of your broadcasts by multiple
clients, since longer payloads are more likely to experience
collision, thus forcing back-off and retransmission.  in short, it
might work best to have the signalling/control/discovery traffic in
small packets, sent at the lowest bitrate and max power, while the
data traffic uses a different (more flexible) rate and fragmentation
layer.  (you might be doing this already, but i did not see details on
the wiki)  antenna selection may also be useful now that wireless
devices are including MIMO and multiple antennas more frequently.

[just to emphasize this point, the broadcast nature of wireless makes
it ideal for resource discovery requests, since it is a true
broadcast, and not an emulated one implemented via iterative unicast
or forwarding, etc.  in particular i've tested small periodic payloads
(<128 bytes) at 1M rate and 1W xmit to great effect, literally many
tens of miles diameter.  you shouldn't need such a high degree source,
but this does show just how wide a unidirectional path can be when the
wireless layer is tuned for distance]


The state at the moment is I am working on two Linux wifi drivers, for
zd1211rw and ipw3945 to add the Penumbra packet transfer stuff as a
proof of concept, and that the usermode daemon SSL and upload stuff is
done and under GPL.  So it is quite early days but there is progress.

i'd highly recommend looking at the madwifi [3] driver as well, and
fortunately it makes this kind of extension very easy.  there is also
a reverse engineering ath-driver HAL [4] for even more non-standard
tweaking of radio parameters if you want to _really_ avoid contention
in the usual 2.4Ghz bands by giving a finger to the FCC :P

there is even an existing program that uses control frames in 802.11
for covert channel transmissions [5] that may be useful.

last but not least, the latest madwifi drivers support virtual devices
[6], so you can have a client association, a master mode AP device,
and a raw monitor device all sharing the same physical radio hardware,
which may eliminate the need for driver tweaks when using Atheros
devices.

best regards,

[p.s.  i like the single use RSA keys and content based identifiers
for sharing data.  you avoid lots of problems with malicious nodes
that way, although if you need to use persistent identities for secure
routing, an opportunistically shared RSA identity key (for
routing/control) could be used while keeping the single use RSA keys
(perhaps in a mode like ephemeral diffie hellman, with the transient
keys signed by the long lived identity key).


0. Ad-hoc Routing Protocols
  http://en.wikipedia.org/wiki/List_of_ad-hoc_routing_protocols

1. Self-Organizing Neighborhood Wireless Mesh Networks
  http://research.microsoft.com/mesh/

2. MadWifi Rate Control
  http://madwifi.org/wiki/UserDocs/RateControl

3. MadWifi
  http://madwifi.org/

4. Ath-driver devel
  http://lists.gnumonks.org/pipermail/ath-driver-devel/

5. Raw Covert
  http://rfakeap.tuxfamily.org/#Raw_Covert

6. MadWifi NG Features
  http://madwifi.org/wiki/ngFeatures
_______________________________________________
p2p-hackers mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/p2p-hackers

Reply via email to