Roofnet map
Typical rooftop view
Roofnet Goals and Design Ideas Goals Operate without extensive planning or central management Provide wide coverage and acceptable performance Design decisions Unconstrained node placement Omni-direc=onal antennas Mul=-hop rou=ng with combina=on of source rou=ng and link state ETX/ETT: Rou=ng metric to op=mize for throughput in a (slowly) changing network SampleRate: Bit-rate selec=on method 3
Roofnet radio links 1 kilometer
A Roofnet Self-Installation Kit Antenna ($65) 50 :. Cable ($40) 8dBi, 20 degree ver=cal Low loss (3dB/100V) Computer ($340) Miscellaneous ($75) 533 MHz PC, hard disk, CDROM Chimney Mount, Lightning Arrestor, etc. 802.11b card ($155) So:ware ( free ) Our networking sovware based on Click Engenius Prism 2.5, 200mW Total: $685 (2004) Takes a user about 45 minutes to install on a flat roof
Roofnet Node Software dhcpd sshd apache User-space Linux Kernel Linux TCP/IP antenna ETX/ETT NAT srcr 802.11 Click eth Living-room ethernet
Roofnet link quality distribution Packet Delivery Probability 11 mbits/sec 1 megabit/second Node Pair
Delivery prob vs SNR Roofnet links
Transmit bit-rate choice 11 megabits/second Packets/second received 5.5 2 1 Node Pair
Basic Roofnet performance Hops Node Pairs Throughput Kilobits/sec Latency ms 1 179 2528 12 2 354 784 22 3 354 368 39 4 256 272 44 5 127 216 61 6 43 248 81 7 38 184 72 8 17 168 98 9 6 152 121
What is the typical radio range? Delivery probability Distance (Meters)
Srcr: Roofnet routing Goal is high throughput paths Uses source rou=ng Source picks path based on link metrics (composed into path using min-cost shortest path alg / Dijkstra s alg) What happens if route unknown at a source? Use DSR, dynamic source rou=ng, which floods request for route and nodes respond with cached responses (if any) Q: Why not use standard min-cost distance vector rou=ng? 12
Challenge: multiple hops reduce throughput Links in route share radio spectrum Extra hops reduce throughput Throughput = 1 Throughput = 1/2 Throughput = 1/3
Challenge: many links are lossy One-hop broadcast delivery ratios Good Bad Smooth link distribution complicates link classification
Challenge: many links are asymmetric Broadcast delivery ratios in both link directions. Very asymmetric link. Many links are good in one direction, but lossy in the other
A straw-man route metric Maximize bodleneck throughput B Delivery ratio = 100% 50% A C 51% 51% D Bottleneck throughput: A-B-C = 50% A-D-C = 51% Actual throughput: A-B-C : 33% A-D-C : 25%
Another straw-man metric Maximize end-to-end delivery ra=o B 100% 51% A 50% C End-to-end delivery ratio: A-B-C = 51% A-C = 50% Actual throughput: A-B-C : 33% A-C: 50%
New metric: ETX Minimize total transmissions per packet (ETX, Expected Transmission Count ) Link throughput 1/ Link ETX Delivery Ratio 100% Link ETX 1 Throughput 100% 50% 2 50% 33% 3 33%
Calculating link ETX Assuming 802.11 link-layer acknowledgments (ACKs) and retransmissions: P(TX success) = P(Data success) P(ACK success) Link ETX = 1 / P(TX success) = 1 / [ P(Data success) P(ACK success) ] Estimating link ETX: P(Data success) measured fwd delivery ratio r fwd P(ACK success) measured rev delivery ratio r rev Link ETX 1 / (r fwd r rev )
Measuring delivery ratios Each node broadcasts small link probes (134 bytes), once per second Nodes remember probes received over past 10 seconds Reverse delivery ratios estimated as r rev pkts received / pkts sent Forward delivery ratios obtained from neighbors (piggybacked on probes)
Route ETX Route ETX = Sum of link ETXs Route ETX 1 Throughput 100% 2 50% 2 50% 3 33% 5 20%
ETX Properties ETX predicts throughput for short routes (1, 2, and 3 hops) ETX quan=fies loss ETX quan=fies asymmetry ETX quan=fies throughput reduc=on of longer routes
ETX caveats ETX link probes are suscep=ble to MAC unfairness and hidden terminals Route ETX measurements change under load ETX es=mates are based on measurements of a single link probe size (134 bytes) Under-es=mates data loss ra=os, over-es=mates ACK loss ra=os ETX assumes all links run at one bit-rate
ETT: Expected Transmission Time ETX assumes all links run at one bit-rate Include the total transmission =me for successful delivery, i.e., take the link s bit rate into account Each node broadcasts 1500-byte packets at all bit rates; receivers measure the packet delivery probability Product of bit rate and delivery probability is a rough es=mate of throughput, so assume that the highest among these is picked Use this rate to es=mate transmission =me to each neighbor (accoun=ng for retransmissions) Send that in the link state adver=sements
SampleRate: Bit rate selection What bit rate should be used? There are many schemes Old idea: if bit rate X is losing packets, reduce bit rate This doesn t always work if packet is lost because of collision, reducing rate is exactly the wrong thing to do! SampleRate considers which rate among the set gets data through the fastest to the neighbor, including MAC retransmission delays Other schemes: Mistral (Linux), RRAA, and various schemes implemented by vendors today Good 6.829 project(s)