Roofnet
From Wikipedia, the free encyclopedia
Please help improve this article or section by expanding it. Further information might be found on the talk page or at requests for expansion. (February 2007) |
This article may be too technical for a general audience. Please help improve this article by providing more context and better explanations of technical details to make it more accessible, without removing technical details. |
Roofnet is an experimental 802.11b/g mesh network currently under development at the Computer Science and Artificial Intelligence Laboratory of the Massachusetts Institute of Technology (MIT). Part of the research project at MIT includes link-level measurements of 802.11, finding high-throughput routes in the face of lossy links, link adaptation, and developing new protocols which take advantage of radio’s unique properties (ExOR). The software developed for this project is available for free as open source.
Contents |
[edit] Routing Protocol
The routing protocol is called SrcRR. There are two broadcasts used with the protocol. The first is periodic broadcasts used to determine a metric called ETX. These public broadcasts measure the probability that a packet between two nodes in radio contact reaches its destination. The second broadcast type is used to build up routing tables. A node 0 will broadcast that it wants to find a route to D. Then each node that receives the broadcast will add its id to the route and forward the packet on. When node D receives a packet, it will reply back along the route that was found for that packet. Then node 0 can use this information to determine the best route using the ETX metrics and the route information returned from its query.
[edit] Media Access and Forwarding
One media access and forwarding protocol tested with RoofNet was ExOR. ExOR simulates some advantages of multicasted data networks by using conventional 802.11 digital radios operated in broadcast modes.
The source radio uses routing data to establish a list of radios that could help reach the destination radio. The list is ordered so that radios closer to the destination are nearer to the head of the list. The destination is at the head of the list. The list is compactly stored in each packet.
Each packet also includes a list that shows the progress of each packet through the list of radios. This list has one entry per packet. Each entry is the number of radio that is closest to the destination and has retransmitted that packet. The source inistially sets this list all to the source radio's number.
Then, the source broadcasts a batch of packets.
Radios not on a packet's list discard the packet.
Radios on the list save the packet. They update their list of radios transmitting each packet. But they wait a calibrated time before they retransmit any packet. The time is less if they are closer to the destination. The time is a probabilistic estimate of the time to retransmit the packets that will be retransmitted by radios closer to the destination.
If a radio receives a packet transmitted from a radio that is closer to the destination, the farther radio throws away that packet, and never retransmits it. It also updates its list of packet progress.
As they work backwards toward the source, the retransmissions propagate the batch of packets' progress information back to the source radio.
At the end, a few packets of each batch sent by the source may never reach the destination. It sends these on by the most reliable route, using conventional routing.
[edit] See also
- B.A.T.M.A.N.
- Meraki - Company commercializing roofnet by producing hardware and software.