36
o11s Javier Cardona – 1 / 34 Wireless Mesh hits the kernel Javier Cardona cozybit Inc. OLPC User Group Wednesday, August 16 th 2008

Javier Cardona Mesh Slides

Embed Size (px)

Citation preview

Wireless Mesh hits the kernelJavier Cardona cozybit Inc.OLPC User Group Wednesday, August 16th 2008

o11s

Javier Cardona 1 / 34

Denitions1-node Network Star Topology Fully Connected Mesh Partially Connected Mesh IEEE 802.11s open80211s (aka o11s) Q&A

Denitions

o11s

Javier Cardona 2 / 34

1-node NetworkDenitions 1-node Network Star Topology Fully Connected Mesh Partially Connected Mesh

IEEE 802.11s open80211s (aka o11s) Q&A

o11s

Javier Cardona 3 / 34

Star TopologyDenitions 1-node Network Star Topology Fully Connected Mesh Partially Connected Mesh

IEEE 802.11s open80211s (aka o11s) Q&A

o11s

Javier Cardona 4 / 34

Fully Connected MeshDenitions 1-node Network Star Topology Fully Connected Mesh Partially Connected Mesh

IEEE 802.11s open80211s (aka o11s) Q&A

o11s

Javier Cardona 5 / 34

Partially Connected MeshDenitions 1-node Network Star Topology Fully Connected Mesh Partially Connected Mesh

IEEE 802.11s open80211s (aka o11s) Q&A

o11s

Javier Cardona 6 / 34

Denitions

IEEE 802.11sScope Status Main Features Path Selection Example Step 1 Step 2 Step 3 Step 4 Deployed Implementations open80211s (aka o11s) Q&A

IEEE 802.11s

o11s

Javier Cardona 7 / 34

ScopeDenitions IEEE 802.11s Scope Status Main Features Path Selection Example Step 1 Step 2 Step 3 Step 4 Deployed Implementations

open80211s (aka o11s) Q&A

IEEE 802.11 Wireless Distribution System (WDS) using the IEEE 802.11 MAC/PHY layers that supports both broadcast/multicast and unicast delivery over self-conguring multi-hop topologies.

o11s

Javier Cardona 8 / 34

...in EnglishDenitions IEEE 802.11s Scope Status Main Features Path Selection Example Step 1 Step 2 Step 3 Step 4 Deployed Implementations

Multi-hopping at layer 2.

open80211s (aka o11s) Q&A

o11s

Javier Cardona 9 / 34

StatusDenitions IEEE 802.11s Scope Status Main Features Path Selection Example Step 1 Step 2 Step 3 Step 4 Deployed Implementations

Draft 2.0 failed Letter Ballot on May 6th 2008. Currently working on comment resolutions. Next plenary comming up: expect progress.

open80211s (aka o11s) Q&A

o11s

Javier Cardona 10 / 34

Main FeaturesDenitions IEEE 802.11s Scope Status Main Features Path Selection Example Step 1 Step 2 Step 3 Step 4 Deployed Implementations

Radio-aware Path Selection protocol.

Based on AODV with proactive extensions. Logical tree structures from root mesh point. Mesh Portals. Proxying. Necessary for Power Save operation. Key distribution mechanism. Hop-by-hop security.

Interworking.

Distributed Synchronization.

open80211s (aka o11s) Q&A

Security.

No changes to the physical layer.

o11s

Javier Cardona 11 / 34

Path Selection ExampleDenitions IEEE 802.11s Scope Status Main Features Path Selection Example Step 1 Step 2 Step 3 Step 4 Deployed Implementations

A - - - - - - - - -B - - - - - - - - - D . | . . | . . | . . | . C

open80211s (aka o11s) Q&A

o11s

Javier Cardona 12 / 34

Step 1Denitions IEEE 802.11s Scope Status Main Features Path Selection Example Step 1 Step 2 Step 3 Step 4 Deployed Implementations

A

B

C

D

------ PREQ ( D ) - - - - - - - - -)) + - - - -+ + - - - -+ + - - - -+ + - - - -+ + - - - -+ + - - - -+ + - - - -+ + - - - -+

open80211s (aka o11s) Q&A

o11s

Javier Cardona 13 / 34

Step 2Denitions IEEE 802.11s Scope Status Main Features Path Selection Example Step 1 Step 2 Step 3 Step 4 Deployed Implementations

A

B

C

D

------- PREQ ( D ) - - - - - - - -)) -- PREQ ( D ) - -)) + - - - -+ + - - - -+ + - - - -+ |A A| + - - - -+ + - - - -+ |A A| + - - - -+ + - - - -+ + - - - -+

open80211s (aka o11s) Q&A

o11s

Javier Cardona 14 / 34

Step 3Denitions IEEE 802.11s Scope Status Main Features Path Selection Example Step 1 Step 2 Step 3 Step 4 Deployed Implementations

A

B

C

D

+ - - - -+ |D B| + - - - -+ + - - - -+ |A A| |D D| + - - - -+ + - - - -+ |A A| + - - - -+ + - - - -+ |A B| + - - - -+

open80211s (aka o11s) Q&A

o11s

Javier Cardona 16 / 34

Deployed ImplementationsDenitions IEEE 802.11s Scope Status Main Features Path Selection Example Step 1 Step 2 Step 3 Step 4 Deployed Implementations

OLPC (based on draft 0.01)

500,000 units out there, and many more to follow. In mainline kernel since 2.6.26.

open80211s

open80211s (aka o11s) Q&A

o11s

Javier Cardona 17 / 34

Deployed ImplementationsDenitions IEEE 802.11s Scope Status Main Features Path Selection Example Step 1 Step 2 Step 3 Step 4 Deployed Implementations

OLPC (based on draft 0.01)

500,000 units out there, and many more to follow. In mainline kernel since 2.6.26. ... that makes 5 1010 deployed units?

open80211s

open80211s (aka o11s) Q&A

o11s

Javier Cardona 17 / 34

Denitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it?

open80211s (aka o11s)

Who are your peers? Mesh paths? Conguration Statistics Q&A

o11s

Javier Cardona 18 / 34

GoalDenitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it?

Who are your peers? Mesh paths? Conguration Statistics Q&A

To create the rst open implementation of 802.11s. To let the world use it, understand it and contribute to it. To connect all the Linux devices in the world to One Big Mesh.

o11s

Javier Cardona 19 / 34

Whos behind it?Denitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it?

Sponsors: cozybit Inc. Nortel One Laptop Per Child

Who are your peers? Mesh paths? Conguration Statistics Q&A

o11s

Javier Cardona 20 / 34

Whos behind it?Denitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it?

Sponsors: cozybit Inc. Nortel One Laptop Per Child new sponsor to be announced soon

Who are your peers? Mesh paths? Conguration Statistics Q&A

o11s

Javier Cardona 20 / 34

Where is it?Denitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it?

Who are your peers? Mesh paths? Conguration Statistics Q&A

+ - - - - - - - - - - - - - - - - - - - - - - - - - - -+ | IP | + - - - - - - - - - - - - - - - - - - - - - - - - - - -+ | 802.1 bridging | + - - - - - - - - - - - - - - -************* | AP | STA * Mesh * + - - - - - - - - - - - - - - -* - - - - - - - - - - -* | mac80211 * o11s * + - - - - - - - - - - - - - - -************* | wireless device driver | + - - - - - - - - - - - - - - - - - - - - - - - - - - -+

o11s

Javier Cardona 21 / 34

Whats implemented?Denitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it?

1. 2. 3. 4. 5. 6. 7. 8.

Unicast Forwarding {Broad,Multi}cast controlled ooding. Hybrid Wireless Mesh Protocol Airtime link metric Mesh Peer Links Per-neighbor rate adaptation Mesh beaconing and scanning Mesh ID

Who are your peers? Mesh paths? Conguration Statistics Q&A

o11s

Javier Cardona 22 / 34

Whats missing?Denitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it?

1. Access control/encryption. 2. Mesh-wide synchronization. 3. Power saving.

Who are your peers? Mesh paths? Conguration Statistics Q&A

o11s

Javier Cardona 23 / 34

Live DemoDenitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it?

o11s Wireless Mesh Live CD One of the supported wireless cards, as of today:

Zydas (now Atheros) (zd1211rw) Broadcom (b43) (more cards will be supported soon)

Who are your peers? Mesh paths? Conguration Statistics Q&A

o11s

Javier Cardona 24 / 34

How do you use it?Denitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it?

Create a mesh network interface:# ifconfig wlan0 down # iw dev wmaster0 interface add msh0 type mesh \ mesh_id o11s

Who are your peers? Mesh paths? Conguration Statistics Q&A

o11s

Javier Cardona 25 / 34

Denitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it?

Assign an IP address:# ifconfig msh0 10. X . X . X

OR# ifconfig ipv6 add msh0 fec0 ::1/64

OR# zcip -i msh0

Who are your peers? Mesh paths? Conguration Statistics Q&A

o11s

Javier Cardona 26 / 34

Who are your peers?Denitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it? Who are your peers? Mesh paths? Conguration Statistics

# iw dev msh0 station dump 00:11: a3 :03: fe :32 msh0 576 11409 160 27160 9158 ESTAB 00: c0 :49: fc : db : ca msh0 60 45435 20024 4162 2895 ESTAB

Q&A

1. 2. 3. 4. 5. 6. 7. 8.

Peer Addres Interface Name Inactive Time RX bytes TX bytes Local Link ID Peer Link ID Peer Link State

o11s

Javier Cardona 27 / 34

Mesh paths?Denitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it? Who are your peers? Mesh paths? Conguration Statistics

# iw dev msh0 mpath dump 00: c0 :49: fc : db : ca 00: c0 :49: fc : db : ca msh0 362 152 \ 0 2568 100 0 0 x15 00:11: a3 :03: fe :32 00:11: a3 :03: fe :32 msh0 0 8193 \ 0 2568 0 0 0 x11

Q&A

1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Destination Next hop Interface name Destination sequence number Metric Frame queue length Expiration time Discovery timeout Discovery retries FlagsJavier Cardona 28 / 34

o11s

CongurationDenitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it? Who are your peers? Mesh paths? Conguration Statistics

Q&A

# cd debugfs && grep . mesh_config mesh_config / auto_open_plinks :1 mesh_config / dot11MeshConfi rm Ti me ou t :100 mesh_config / dot11MeshHoldi ng Ti me ou t :100 mesh_config / dot11MeshHW M Pa c ti ve P at h Ti m eo u t :5000 mesh_config / dot11MeshHWM P ma xP RE Q re tr i es :4 mesh_config / dot11Mesh HW M P ne t D ia m et e r Tr a v er s a lT i me :50 mesh_config / dot11MeshHW MP pr e qM in I nt er v al :10 mesh_config / dot11MeshMaxPeer Li nks :32 mesh_config / dot11MeshMaxRetries :3 mesh_config / dot11MeshRetryTi me out :100 mesh_config / dot11MeshTTL :5 mesh_config / min_discovery_ti me out :100 mesh_config / path_refresh_time :1000

o11s

Javier Cardona 29 / 34

StatisticsDenitions IEEE 802.11s open80211s (aka o11s) Goal Whos behind it? Where is it? Whats implemented? Whats missing? Live Demo How do you use it? Who are your peers? Mesh paths? Conguration Statistics

# cd debugfs && grep . mesh_stats mesh_stats / dropped_frames _n o_ ro ut e :0 mesh_stats / dropped_frames_ttl :0 mesh_stats / estab_plinks :2 mesh_stats / fwded_frames :79

Q&A

o11s

Javier Cardona 30 / 34

Denitions IEEE 802.11s open80211s (aka o11s)

Q&ALets Play

Q&A

o11s

Javier Cardona 31 / 34

Q&ADenitions IEEE 802.11s open80211s (aka o11s) Q&A Lets Play

Questions?

o11s

Javier Cardona 32 / 34

Lets PlayDenitions IEEE 802.11s open80211s (aka o11s) Q&A Lets Play

o11s

Javier Cardona 33 / 34

Thanks!Denitions IEEE 802.11s open80211s (aka o11s) Q&A Lets Play

Thanks!

o11s

Javier Cardona 34 / 34