SlideShare a Scribd company logo
Practical
      Wireless Mesh Networks
      and Their Applications


                   Raluca Musăloiu-E.
                       Johns Hopkins University
                         November 11, 2009




Joint work with:
Yair Amir, Claudiu Danilov, Michael Hilsdale, Michael Kaplan, Nilo Rivera
Deploying a wireless
    network...
... using access points.



Follows client-server paradigm.
For more coverage, install more
access points.
Each access point is connected to
the Internet.
That’s a lot of wires
  for a wireless
     network!
Mesh networks are a paradigm shift.



Two classes of participants:
   Clients, which are mobile.
   Nodes, which are relatively stationary.

Only a few nodes are connected to
the Internet (Internet gateways).
They are multi-hop networks.
Lots of research on wireless
networks relies on simulations.
The Mistaken Axioms of Wireless-Network Research:
(Kotz et al., Darmouth College, Tech Report, 2003)


                                       “The world is flat.”
                            “A radio's transmission area is circular.”
                                 “All radios have equal range.”
                      “If I can hear you, you can hear me (symmetry).”
                      “If I can hear you at all, I can hear you perfectly.”
                      “Signal strength is a simple function of distance.”
We try to bridge the gap
between theory and practice
and build a real mesh system.
Effort has already been made to
make mesh networks a reality.
However...


Some of them are experimental testbeds.
Use expensive hardware for mesh nodes.
Have limited support (or none) for mobility.
For example,
  In academia:                          In industry:
     MIT Roofnet                              Metricom Ricochet
     Microsoft MCL                            Nokia Rooftop
     UCSB MeshNet                             Firetide
     Rice Taps                                Meraki
     Rutgers ORBIT Lab                        Tropos Networks
     Stony Brook iMesh


  Community Networks:
    Champaign-Urbana Community Wireless Network (CUWiN)
    NYCwireless
    Freyfunk (Germany)
What we are looking for is
Seamless access for mesh users.
Fast handoff while roaming.
Rapid deployment.
Robustness.
Low cost.
Security.
Applications.
This thesis introduces


The architecture of the first high-throughput wireless mesh
network with fast handoff using off-the-shelf routers.


The first robust Push-To-Talk service for wireless mesh
networks.
Introducing SMesh
The entire mesh network is
               seen by the client as an
               omniscient access point!

               We use 802.11 IBSS mode
               (ad-hoc).



MobiSys 2006
WoWMoM 2007
WiMesh 2008
SMesh communication
infrastructure uses the Spines
Messaging System.

Spines was created by Yair Amir and Claudiu Danilov (DSN03, NOSSDAV05,
TOM06).
Spines daemons create overlay networks on the fly.
We run a Spines daemon on each mesh node.
Spines provides unicast, anycast, multicast communication.
Mesh topology formation

Direct links are created                  Client C

between nearby nodes via an
auto-discovery mechanism.
                               Client B




Virtual links are created
between Internet gateways
(they form a fully connected
graph, communicating over
an overlay multicast group).

                                                     Client A
Mesh topology is hybrid: we use
both wireless and wired links.
The routing metric gives preference to wired links.
SMesh provides a seamless
interface to the mobile clients.

Standard DHCP protocol.

Client always gets the same IP address
(private IP in 10.0.0.0/8 address space;
based on the MAC address).

Client routes all packets through a Virtual
Default Gateway.
NAT



We associate two overlay multicast groups for
each client.
Control
                                                Group


                     26
               30



          14




                                                 NAT



We associate two overlay multicast groups for
each client.
Control
                                                Group


                     26                         Data
               30
                                                Group


          14




                                                 NAT



We associate two overlay multicast groups for
each client.
Fast intra-domain handoff.


The handoff is controlled from the mesh infrastructure!
We use multiple access points during the handoff, to avoid
losing packets.
Fast inter-domain handoff.
SMesh runs in a private address space (NAT is performed at
each Internet gateway).
Connection oriented protocols expect packets to come
from the same source.

Solution: Route each stream through the Internet gateway
used during connection establishment.
We deployed SMesh in our campus.

18-nodes testbed, covering three buildings in
our campus (NEB/Shaffer, Maryland, Barton).

Linksys WRT54G 802.11b/g routers,
BCM947XX radios, omni-directional
antennas, 16 MB RAM, 4 MB flash memory,
200 Mhz CPU.

Available as open-source software
(smesh.org).
How did we do what?
SMesh
Routing Architecture
1                     2
                                                                      Node 5 routing rules
                                                  3          Source      Destination    Ne
                                                            Node 1      client 1       6
                                                                        …              …
                       4                                    Node 2      client 1       6, 7
                                     5                                  …              …
                                                      6



                                 7

                                                 Client 1




                           Fig. 1.   The routes to a mobile client (multipath routin
To route, we need to use source based multicast trees.
Multipath routing is not supported by current operating
systems.        an overlay network to increase the reliability of
                to-end path. End-System-Multicast [14] and Spine
For flexibility in routing we
could use user-space routing,
but...
With user-space routing all the
packets are moved to
application level.
                                 Spines


               Spines   Spines
 User space
Kernel space
                                 Spines
We need flexibility in
routing... but without losing
performance.
We developed a new architecture that maintains the control in
user space, while the data is routed at the kernel level.
Node’s 5 kernel routing tables:
          1                     2
                                                             Node 5 routing rules
                                         3          Source      Destination     Next-Hop(s)
                                                   Node 1      client 1        6
                                                               …               …
              4                                    Node 2      client 1        6, 7
                            5                                  …               …        Node 3
                                             6
                                                                                    Node 2
                        7                                                     Node 1
                                        Client 1




                  Fig. 1.   The routes to a mobile client (multipath routing).                       Fig. 2



     an overlay network to increase the reliability of the end- space to user space in orde
     to-end path. End-System-Multicast [14] and Spines [3] also routing decision is made, th
Each route through an application router to support overlay multicast spaceone for sent on th
      node maintains multiple kernel routing tables, where it is
each without infrastructure support.
      node in the network.                                            boundary must be crossed
        Other work has looked into operating system support for         We describe next a me
     wireless ad-hoc routing protocols. Chakeres and Belding dundant multipath routing
     showed in [9] an in-kernel design and implementation of the is simple: each node maint
     ad-hoc AODV protocol using Netfilter modules, and showed one for each node in the
One of node’s 5 routing tables:
          1                     2
                                                             Node 5 routing rules
                                         3          Source      Destination
                                                                                       Node 2
                                                                               Next-Hop(s)
                                                   Node 1      client 1       6
                                                               …              …
              4
                            5
                                                   Node 2            Destination
                                                               client 1       6, 7              Next-hops
                                                               …              …
                                             6                        client 1                    6, 7
                                                                      client 2                     3
                        7
                                                                          ...                      ...
                                        Client 1




                  Fig. 1.   The routes to a mobile client (multipath routing).                                      Fig. 2



    an overlay network to increase the reliability of the end-                               space to user space in orde
Eachto-end path. End-System-Multicast [14] and Spines [3] also
     route may have multiple next-hops.                                                      routing decision is made, th
    route through an application router to support overlay multicast                         space where it is sent on th
    without infrastructure support.                                                          boundary must be crossed
       Other work has looked into operating system support for                                  We describe next a me
    wireless ad-hoc routing protocols. Chakeres and Belding                                  dundant multipath routing
    showed in [9] an in-kernel design and implementation of the                              is simple: each node maint
    ad-hoc AODV protocol using Netfilter modules, and showed                                  one for each node in the
Fig. 2.   Architecture.
Some interesting
implementation
   details...
1. Encode entry node in the
packet’s IP header.
  0                      7   8                15 16             23 24           31



      Version      IHL            TOS                       Total length

                Identification (IPID)              Flags       Fragment offset

            TTL                  Protocol                 Header checksum

                                            Source IP

                                        Destination IP

                                    Options and padding
1. Encode entry node in the
packet’s IP header.
  0                      7   8                15 16             23 24           31



      Version      IHL            TOS                       Total length

                 Identification (IPID)
                Identification (IPID)              Flags       Fragment offset

            TTL                  Protocol                 Header checksum

                                            Source IP

                                        Destination IP

                                    Options and padding
1. Encode entry node in the
packet’s IP header.
  0                      7   8                15 16             23 24           31



      Version      IHL             TOS
                                  TOS                       Total length

                 Identification (IPID)
                Identification (IPID)              Flags       Fragment offset

            TTL                  Protocol                 Header checksum

                                            Source IP

                                        Destination IP

                                    Options and padding
2. Use policy routing and define
multiple routing tables.

 # iptables -A PREROUTING -t mangle
            -m u32 --u32 "2&0xFFFF=35"
            -j MARK --set-mark 35




 # ip rule add fwmark 35 table 35
3. Build a kernel module to
deliver packets to multiple next
hops.
 Use CONFIG_IP_ROUTE_MULTIPATH kernel option.


 # ip route add 10.233.59.169/32 table 35
       nexthop via 10.0.11.32 dev eth1
       nexthop via 10.0.11.33 dev eth1

 # iptables -A POSTROUTING
            -t mangle
            -j MULTIHOP
A packet path in the kernel..
entry point: set IPID
             set TOS

all routers: set fwmark      fwmark                                   MULTIHOP module


                             Routing
   NF_IP_PRE_ROUTING                       NF_IP_FORWARD          NF_IP_POST_ROUTING
                             Decision




                                                           Routing
                                                           Decision



                          NF_IP_LOCAL_IN             NF_IP_LOCAL_OUT
... and a packet path in the mesh.




                       Node 5
... and a packet path in the mesh.




                       Node 5
... and a packet path in the mesh.




                                 IPID: 5
                                TOS set
                       Node 5
... and a packet path in the mesh.



                         IPID: 5
                        TOS set




                       Node 5
... and a packet path in the mesh.
                        IPID: 5
                       TOS set




                                  Node 5

             IPID: 5
            TOS set
... and a packet path in the mesh.
                IPID: 5
               TOS set




     IPID: 5              Node 5
    TOS set
... and a packet path in the mesh.




                       Node 5
Evaluation
We used three configurations.


1.                        One router




2.                      5 nodes wireless
                          “line” setup




3.                      17 nodes wireless
                             testbed
Rate            24 Mbps


Transmission power     50 mW


Retransmission limit     7


    VoIP stream        64 Kbps
1. Single router
                              Packets / s (sent + received)                                                        Packets / s (sent + received)
                 100    800   1600      3200   4000   5000        6000   7000                       100    800   1600        3200   4000      5000        6000   7000




                                                                                             100
           1.0

                                Overlay routing                                                                                     Overlay routing




                                                                                             80
           0.8




                                                                                             60
           0.6
CPU load




                                                                                 Loss rate
                                                                   Native
                                       SMesh                       kernel
                                                                  routing




                                                                                             40
           0.4



                                                                                                                                                    SMesh




                                                                                             20
           0.2



                                                                                                                   Native kernel routing
           0.0




                                                                                             0
                  1 4    8     16        32     40     50    55    60       70                       1 4    8      16         32     40        50    55    60     70
                        Number of VoIP streams (each direction)                                            Number of VoIP streams (each direction)




We route up to 50 duplex VoIP streams, before the CPU
is saturated.
                                                                                             User space overlay routing                    4 streams              512 Kbps
                                                                                                           SMesh                          50 streams              6.4 Mbps
                                                                                                   Native kernel routing                  60 streams              7.6 Mbps
2. “Line” topology of 5 nodes
             TCP Throughput (Mbps)

     10.1




                                                    With one wireless
                5.1                                 hop, we get 10 Mbps.
                          3.3
                                   2.7
                                              2.1

   2.1       2.1        2.0      1.8        1.8


  1 hop     2 hops    3 hops    4 hops   5 hops



            Overlay routing         SMesh
3. Testbed of 17 nodes
                              User-space overlay routing                                              SMesh kernel routing
                                                              Access                                                             Access
                                                              Point ID                                                           Point ID
                     10                                  5 hops   28                         10                                5 hops   28


                                                         4 hops   26                                                           4 hops   26


                                                         3 hops   25                                                           3 hops   25

                      8                                           24                          8                                         24
                                                         2 hops                                                                2 hops
 Throughput (Mbps)




                                                                         Throughput (Mbps)
                                                                  36                                                                    36
                                                                  33                                                                    33
                                                         1 hop    32                                                           1 hop    32
                      6                                                                       6
                                                                  31                                                                    31




                      4                                                                       4



                      2                                                                       2



                      0                                                                       0

                          0       80    160       240   320                                       0    40    80    120   160
                                       Time (s)                                                             Time (s)




Results are close to the “line” topology (8.5 Mbps for one hop).
Application:
Push-To-Talk
System for First
  Responders
What is PTT?




Half-duplex communication
system with multiple
participants.
While one person speaks, the
others listen.
Push-To-Talk systems require an arbitration
mechanism (“floor control”) that
determines the order in which participants
speak.

In cellular networks, Push-To-Talk systems are centralized.
We need a robust, distributed
Push-To-Talk system that works
even when

Mesh nodes crash.
The network is partitioned or it merges.
Our Push-To-Talk system allows regular
phone users to remotely join a PTT
session established inside the mesh!
How does the system work?
Mobile Client with VoIP Software

                   SIP                           RTP




                                                                             PTT Controller
               Distributed                    RTP Proxy                    Mobile, Fault-Tolerant
               SIP 3PCC                      DTMF   Voice
                                                                                            Floor
                                                                        Monitor
                                                                                         Management


             Mobile Client
Mesh Node




            State sip_call_id,               PTT Session
            sip_cseq, rtp_port,               Manager
            ptt_group, ptt_state




                    Client                                               PTT                PTT
                                               PTT Data
                    Control                                            CMonitor           Controller
                                                Group
                    Group                                               Group              Group


                       Routing Daemon (Discovery, Topology Management, Group Management)




                                               Wireless Mesh Network
Interface with Mobile Client


We use the standard Session Initiation Protocol (SIP) to interact
with users.
The entire mesh is seen by the user as a single, distributed third
party call controller (3pcc).
A user interacts with the system
using a VoIP application.

                                 sip : ptt @ 192.168.1.10
 How to connect:
                               (that’s a virtual SIP server)

 How to join a group:                  type # 12 #


 How to request to speak:                 type 5

 How is notified when he
                            receive a “beep-beep” audio signal
 has permission to speak:
We use multicast groups to
manage the client and the PTT
sessions.

These are overlay multicast groups.
Client management




Session management
Client management

         Control
         Group




Session management
Client management

         Control
         Group




Session management
Client management

          Control
          Group




Session management

         Controller
          Group
Client management

          Control
          Group




Session management

         Controller
          Group




         Monitoring
          Group
Client management

          Control
          Group




Session management

         Controller
          Group




         Monitoring
          Group




           Data
           Group
How are
users’ requests
  arbitrated?
Sending   Mesh
                 Controller
 client   node
Sending            Mesh
                                  Controller
         client            node


Sends “Request to speak”
   to the access point.
Sending            Mesh
                                                       Controller
         client            node

                                    Floo
                                        r Re
Sends “Request to speak”          Con         ques
                                                   t
                                     trol
   to the access point.                    ler g
                                                roup
Sending            Mesh
                                                         Controller
         client            node

                                    Floo
                                         r Re
Sends “Request to speak”          Con         ques
                                                     t
                                     trol
   to the access point.                    ler g
                                                roup



                                                 k
                                         e st Ac
                                    Requ
                                               st
                                       u nica
Sending                 Mesh
                                                                                 Controller
         client                 node

                                                         Floo
                                                              r Re
Sends “Request to speak”                             Con           ques
                                                                          t
                                                          trol
   to the access point.                                         ler g
                                                                     roup



                                                                      k
                                                              e st Ac
                                                         Requ
                                                                    st
                                                            u nica



                                                                          k
                                                                  to Spea
                                                             sion           up
                                                     Pe rmis         ol gro
                                                              C ontr
   Receives “Permission                                lient
                                Mesh                 C
    granted” from the           node
       access point.

                     This can be a different node!
Sending                 Mesh
                                                                                 Controller
         client                 node

                                                         Floo
                                                              r Re
Sends “Request to speak”                             Con           ques
                                                                          t
                                                          trol
   to the access point.                                         ler g
                                                                     roup



                                                                      k
                                                              e st Ac
                                                         Requ
                                                                    st
                                                            u nica



                                                                          k
                                                                  to Spea
                                                             sion           up
                                                     Pe rmis         ol gro
                                                              C ontr
   Receives “Permission                                lient
                                Mesh                 C
    granted” from the           node
       access point.                                        PTS
                                                                  Ac k
                                                           unic
                     This can be a different node!             ast
The controller is rotated periodically,
according to participants’ locations in
the network.


We want to maintain the controller node in the “center of
gravity” of the nodes handling PTT clients on a certain group.
Controller
Mesh
            Controller
                                          node



When a “better” controller is available
stop handling and queueing requests.
Mesh
            Controller
                                                                       node



When a “better” controller is available
stop handling and queueing requests.      INVI
                                              TE (
                                                  Grou
                                                       p, Q
                                               unic        ueue
                                                     ast       )

                                                                   Join Controller group
                                                                   Join Monitoring group

                                                                   Start handling
                                                                   requests
Mesh
            Controller
                                                                               node



When a “better” controller is available
stop handling and queueing requests.      INVI
                                              TE (
                                                  Grou
                                                       p, Q
                                               unic            ueue
                                                     ast               )

                                                                           Join Controller group
                                                                           Join Monitoring group

                                                                           Start handling
                                                                   )
                                                                           requests
                                                           (G roup
                                                      k
                                                TE Ac
                                           INVI           st
                                                   u nica


Controller change succeeded

Leave Controller group
Leave Monitoring group (if necessary)
The system needs to withstand
node crashes, network partitions
and merges.
Network
Network   Controller
Sending
Network   Controller
                        node
Sending
Network   Controller
                        node




                       Sending
                        client
PING_CMON                     Sending
Network                                   Controller
                       Monitoring group                 node


On timeout: Controller is lost

Join Controller group (if lowest IP).
Start handling requests.




                                                       Sending
                                                        client
PING_CMON                                   PTS_PING (client)   Sending
Network                                     Controller
                       Monitoring group                              Controller group     node


On timeout: Controller is lost            On timeout: Sending node is lost

Join Controller group (if lowest IP).     Handle the next client in the
Start handling requests.                  queue.




                                                                                         Sending
                                                                                          client
PING_CMON                                   PTS_PING (client)   Sending
Network                                     Controller
                       Monitoring group                              Controller group     node


On timeout: Controller is lost            On timeout: Sending node is lost

Join Controller group (if lowest IP).     Handle the next client in the                       Voice
Start handling requests.                  queue.




                                                                                         Sending
                                                                                          client
In summary,


We instantiate a controller for each PTT group that arbitrates the
requests on that group.
The controller is monitored and rotated if a more suitable node is
available.
We achieve high availability with a monitoring mechanism that uses
overlay multicasts groups.
System
Evaluation
Nodes              14

       Rate            18 Mbps

Transmission power     50 mW

Retransmission limit     7

    VoIP stream        64 Kbps

  Speak duration       20 sec
We evaluated the system when

1.   The network is stable (normal operation).

2.   The number of users in a PTT group increases.

3.   The number of groups increases.

4.   Large-scale scenario (40 clients, 10 groups, network partitions
     and merges).
1. Normal operation
                                          Throughput

 80 Kbps

                      Sender node 2     Sender node 12            Sender node 14




                                                                                              14 nodes,
 60 Kbps




 40 Kbps                                                                                      4 users, each speaks
                                                                                              for 20 seconds.
 20 Kbps
                                          Overhead



  0 Kbps

           0            10        20       30              40          50     60   70

                                                Time (s)




           Sender node 2                                                Sender node 12



 21.7          21.8          21.9         22.0                  22.1        22.2    22.3   22.4

                                       Packet Arrival time (s)
2. Scalability with the #clients
                              Average latency                                                                 Average loss rate
                                                                      1.2 %
120 ms                                     114


                                                                       1 %
100 ms                                                                                                                     0.92



                                                                      0.8 %
80 ms                 No PTT support


60 ms                                                                 0.6 %                        No PTT support


40 ms                                                                 0.4 %
                         27
                                                  Single radio   28                                                               Single radio
                 23                         26
                                                                                                                                                 0.23
         18 16           21                                                                            0.18                0.19
                                                                 25   0.2 %
20 ms            17
                                            21
                         19
                 16                               Dual radio                  0.08          0.09        0.1
                                                                                                                                                 0.15
                                                                                     0.05                                  0.13
                                                                                                                                  Dual radio
 0 ms                                                                  0 %
         2 4     8       14                28                    42            2 4           8         14                  28                    42
                              Number of clients                                                               Number of clients




   Using dual radios, it scales to at least 42 users in a single PTT
   session, in our testbed.
3. Scalability with the #groups
                          Average latency                                                           Average loss rate
2500 ms                                                                          20 %                           Dual radio
                           Single radio                                                                             18
                               2227



2000 ms                                                                                             Single radio
                                                                                 15 %                      14
                                      Dual radio                  Dual radio+
                                        1541
1500 ms                                                            packing
                                                                          1270
                                                                                 10 %                             Single radio+            Dual radio+
                                                                                                                     packing                packing
1000 ms                                                                                                                                             6
                                                                                                                    6



                                       Single radio+                             5 %
500 ms                         360        packing                                                                                             2
                                                                                                           2
                         244                                                                                                          1
                                         178                        183                                                           1
                                                                                                0                            0
                                                        74   53                         0   0                       0
          24   26   28    24     26       30       37
  0 ms                                                                           0 %
          1    2    4      6     8       10    12       14   16     18    20            1   2   4    6     8       10    12      14   16     18    20
                         Number of groups                                                           Number of groups




    Using dual radios and packing, it scales up to 18 groups, with 4
    users in each PTT group.
4. Large-scale scenario
                      (10 PTT groups, 4 clients on each group)

                                                Data & overhead traffic:
                     5000
                                                                                                                          Data
  Traffic (kbps)




                     4000
                                                       C                          D         F
                                                                                                            PTT control traffic
                                                                                                         Routing control traffic
                     3000
                                A    B                                                E
                     2000
                     1000
                                                                                                                           G
                        0
                            0   50       100   150         200              250       300       350                  400           450
                                                                 Time (s)




                                                Overhead traffic only:
                     100
                                                       C                          D         F
                                                                                                         PTT control traffic
    Traffic (kbps)




                      80
                                A    B                                                E
                                                                                                      Routing control traffic
                      60
                      40                                                                                                   G
                      20
                       0
                            0   50       100   150         200              250       300       350                 400            450
                                                                 Time (s)




 (A) clients join                                                            (D) the network partitions
 (B) clients request to speak                                                (E) stable network after partition
 (C) regular operation                                                       (F) the network merges
                                                                             (G) clients stop speaking
In conclusion, we presented

The architecture of the first high-throughput wireless mesh
network with fast handoff using off-the-shelf routers.


The first robust Push-To-Talk service for wireless mesh
networks.
Some final words...
Turning research ideas into
practical systems is not an
easy task, but it’s definitely
a lot of fun.
Wireless Mesh Networks
is a promising technology.

Killer applications are yet to come. They may
require infrastructure support.
The SMesh system is
available as open-source at
http://smesh.org
Try it for yourself and let us know what you think! :-)

More Related Content

What's hot

Wireless mesh networkk routing
Wireless mesh networkk routingWireless mesh networkk routing
Wireless mesh networkk routing
Abhishek Kona
 
Wireless mesh network (2)
Wireless mesh network (2)Wireless mesh network (2)
Wireless mesh network (2)
Jyoti Yadav
 
Wireless communication & adhoc networks
Wireless communication & adhoc networksWireless communication & adhoc networks
Wireless communication & adhoc networks
Salahuddin Jokhio
 
Mobile ad hoc network
Mobile ad hoc networkMobile ad hoc network
Mobile ad hoc network
skobu
 
Lecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocolsLecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocols
Chandra Meena
 
Ad hoc network
Ad hoc networkAd hoc network
Ad hoc network
Muhammad UL Islam
 
Adhoc technologies
Adhoc technologiesAdhoc technologies
Adhoc technologies
shashi712
 
Ad-HOc presentation
Ad-HOc presentationAd-HOc presentation
Ad-HOc presentation
Elanthendral Mariappan
 
A Survey of Various Routing and Channel Assignment Strategies for MR-MC WMNs
A Survey of Various Routing and Channel Assignment Strategies for MR-MC WMNsA Survey of Various Routing and Channel Assignment Strategies for MR-MC WMNs
A Survey of Various Routing and Channel Assignment Strategies for MR-MC WMNs
ijsrd.com
 
Mobile Ad hoc network
Mobile Ad hoc networkMobile Ad hoc network
Mobile Ad hoc network
Md. Mashiur Rahman
 
Lecture 5 6 .ad hoc network
Lecture 5 6 .ad hoc networkLecture 5 6 .ad hoc network
Lecture 5 6 .ad hoc network
Chandra Meena
 
DSR Protocol
DSR ProtocolDSR Protocol
DSR Protocol
@zenafaris91
 
Mobile Computing UNIT-7
Mobile Computing UNIT-7Mobile Computing UNIT-7
Mobile Computing UNIT-7
Ramesh Babu
 
Ad hoc networks introduction
Ad hoc networks   introductionAd hoc networks   introduction
Ad hoc networks introduction
Prof. Dr. Noman Islam
 
Adhoc and routing protocols
Adhoc and routing protocolsAdhoc and routing protocols
Adhoc and routing protocols
shashi712
 
Ad-Hoc Networks
Ad-Hoc NetworksAd-Hoc Networks
Ad-Hoc Networks
Mshari Alabdulkarim
 
Adhoc networks notes by divya (rnsit)
Adhoc networks notes by divya (rnsit)Adhoc networks notes by divya (rnsit)
Adhoc networks notes by divya (rnsit)
Vivek Maurya
 
Adhoc Wireless Network
Adhoc Wireless Network Adhoc Wireless Network
Adhoc Wireless Network
YunusKhan38
 
Ad-Hoc Wireless Network
Ad-Hoc Wireless NetworkAd-Hoc Wireless Network
Ad-Hoc Wireless Network
mdfarhanh1
 
ADhoc- network overview,application,issues.
ADhoc- network overview,application,issues.ADhoc- network overview,application,issues.
ADhoc- network overview,application,issues.
Mangesh Vasu
 

What's hot (20)

Wireless mesh networkk routing
Wireless mesh networkk routingWireless mesh networkk routing
Wireless mesh networkk routing
 
Wireless mesh network (2)
Wireless mesh network (2)Wireless mesh network (2)
Wireless mesh network (2)
 
Wireless communication & adhoc networks
Wireless communication & adhoc networksWireless communication & adhoc networks
Wireless communication & adhoc networks
 
Mobile ad hoc network
Mobile ad hoc networkMobile ad hoc network
Mobile ad hoc network
 
Lecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocolsLecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocols
 
Ad hoc network
Ad hoc networkAd hoc network
Ad hoc network
 
Adhoc technologies
Adhoc technologiesAdhoc technologies
Adhoc technologies
 
Ad-HOc presentation
Ad-HOc presentationAd-HOc presentation
Ad-HOc presentation
 
A Survey of Various Routing and Channel Assignment Strategies for MR-MC WMNs
A Survey of Various Routing and Channel Assignment Strategies for MR-MC WMNsA Survey of Various Routing and Channel Assignment Strategies for MR-MC WMNs
A Survey of Various Routing and Channel Assignment Strategies for MR-MC WMNs
 
Mobile Ad hoc network
Mobile Ad hoc networkMobile Ad hoc network
Mobile Ad hoc network
 
Lecture 5 6 .ad hoc network
Lecture 5 6 .ad hoc networkLecture 5 6 .ad hoc network
Lecture 5 6 .ad hoc network
 
DSR Protocol
DSR ProtocolDSR Protocol
DSR Protocol
 
Mobile Computing UNIT-7
Mobile Computing UNIT-7Mobile Computing UNIT-7
Mobile Computing UNIT-7
 
Ad hoc networks introduction
Ad hoc networks   introductionAd hoc networks   introduction
Ad hoc networks introduction
 
Adhoc and routing protocols
Adhoc and routing protocolsAdhoc and routing protocols
Adhoc and routing protocols
 
Ad-Hoc Networks
Ad-Hoc NetworksAd-Hoc Networks
Ad-Hoc Networks
 
Adhoc networks notes by divya (rnsit)
Adhoc networks notes by divya (rnsit)Adhoc networks notes by divya (rnsit)
Adhoc networks notes by divya (rnsit)
 
Adhoc Wireless Network
Adhoc Wireless Network Adhoc Wireless Network
Adhoc Wireless Network
 
Ad-Hoc Wireless Network
Ad-Hoc Wireless NetworkAd-Hoc Wireless Network
Ad-Hoc Wireless Network
 
ADhoc- network overview,application,issues.
ADhoc- network overview,application,issues.ADhoc- network overview,application,issues.
ADhoc- network overview,application,issues.
 

Similar to Practical Wireless Mesh Networks and Their Applications

On Redundant Multipath Operating System Support for Wireless Mesh Networks
On Redundant Multipath Operating System Support for Wireless Mesh NetworksOn Redundant Multipath Operating System Support for Wireless Mesh Networks
On Redundant Multipath Operating System Support for Wireless Mesh Networks
Raluca Musaloiu-E.
 
H017615563
H017615563H017615563
H017615563
IOSR Journals
 
Impact of Malicious Nodes on Throughput, Packets Dropped and Average Latency ...
Impact of Malicious Nodes on Throughput, Packets Dropped and Average Latency ...Impact of Malicious Nodes on Throughput, Packets Dropped and Average Latency ...
Impact of Malicious Nodes on Throughput, Packets Dropped and Average Latency ...
iosrjce
 
Black Hole Detection in AODV Using Hexagonal Encryption in Manet’s
Black Hole Detection in AODV Using Hexagonal Encryption in Manet’sBlack Hole Detection in AODV Using Hexagonal Encryption in Manet’s
Black Hole Detection in AODV Using Hexagonal Encryption in Manet’s
IJMER
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
IJERD Editor
 
Security in Manet Using Fl-Saodv
Security in Manet Using Fl-SaodvSecurity in Manet Using Fl-Saodv
Security in Manet Using Fl-Saodv
journal ijrtem
 
New Scheme for Secured Routing in MANET
New Scheme for Secured Routing in MANET New Scheme for Secured Routing in MANET
New Scheme for Secured Routing in MANET
IJCSEA Journal
 
Mobility and Node Density Based Performance Analysis of AODV Protocol for Adh...
Mobility and Node Density Based Performance Analysis of AODV Protocol for Adh...Mobility and Node Density Based Performance Analysis of AODV Protocol for Adh...
Mobility and Node Density Based Performance Analysis of AODV Protocol for Adh...
IDES Editor
 
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
IJCNCJournal
 
WMQ, WMB and EIP
WMQ, WMB and EIPWMQ, WMB and EIP
WMQ, WMB and EIP
Vít Kotačka
 
Manet ppt
Manet pptManet ppt
Manet ppt
sandeep Kaur
 
A Survey On Secure Cooperative Bait Detection Approach For...
A Survey On Secure Cooperative Bait Detection Approach For...A Survey On Secure Cooperative Bait Detection Approach For...
A Survey On Secure Cooperative Bait Detection Approach For...
Jennifer Perry
 
A distributed virtual architecture for data centers
A distributed virtual architecture for data centersA distributed virtual architecture for data centers
A distributed virtual architecture for data centers
Ali Kashif Bashir. Ph.D, MIEEE
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
ijceronline
 
An alternative Routing Mechanisms for Mobile Ad-hoc NetworksPresentation2
An alternative Routing Mechanisms for Mobile Ad-hoc NetworksPresentation2An alternative Routing Mechanisms for Mobile Ad-hoc NetworksPresentation2
An alternative Routing Mechanisms for Mobile Ad-hoc NetworksPresentation2
Aws Ali
 
IRJET- Performance Improvement of Wireless Network using Modern Simulation Tools
IRJET- Performance Improvement of Wireless Network using Modern Simulation ToolsIRJET- Performance Improvement of Wireless Network using Modern Simulation Tools
IRJET- Performance Improvement of Wireless Network using Modern Simulation Tools
IRJET Journal
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
ijceronline
 
call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...
International Journal of Engineering Inventions www.ijeijournal.com
 
Qo s provisioning for scalable video streaming over ad hoc networks using cro...
Qo s provisioning for scalable video streaming over ad hoc networks using cro...Qo s provisioning for scalable video streaming over ad hoc networks using cro...
Qo s provisioning for scalable video streaming over ad hoc networks using cro...
Mshari Alabdulkarim
 
Distributed Routing Protocol for Different Packet Size Data Transfer over Wir...
Distributed Routing Protocol for Different Packet Size Data Transfer over Wir...Distributed Routing Protocol for Different Packet Size Data Transfer over Wir...
Distributed Routing Protocol for Different Packet Size Data Transfer over Wir...
IRJET Journal
 

Similar to Practical Wireless Mesh Networks and Their Applications (20)

On Redundant Multipath Operating System Support for Wireless Mesh Networks
On Redundant Multipath Operating System Support for Wireless Mesh NetworksOn Redundant Multipath Operating System Support for Wireless Mesh Networks
On Redundant Multipath Operating System Support for Wireless Mesh Networks
 
H017615563
H017615563H017615563
H017615563
 
Impact of Malicious Nodes on Throughput, Packets Dropped and Average Latency ...
Impact of Malicious Nodes on Throughput, Packets Dropped and Average Latency ...Impact of Malicious Nodes on Throughput, Packets Dropped and Average Latency ...
Impact of Malicious Nodes on Throughput, Packets Dropped and Average Latency ...
 
Black Hole Detection in AODV Using Hexagonal Encryption in Manet’s
Black Hole Detection in AODV Using Hexagonal Encryption in Manet’sBlack Hole Detection in AODV Using Hexagonal Encryption in Manet’s
Black Hole Detection in AODV Using Hexagonal Encryption in Manet’s
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Security in Manet Using Fl-Saodv
Security in Manet Using Fl-SaodvSecurity in Manet Using Fl-Saodv
Security in Manet Using Fl-Saodv
 
New Scheme for Secured Routing in MANET
New Scheme for Secured Routing in MANET New Scheme for Secured Routing in MANET
New Scheme for Secured Routing in MANET
 
Mobility and Node Density Based Performance Analysis of AODV Protocol for Adh...
Mobility and Node Density Based Performance Analysis of AODV Protocol for Adh...Mobility and Node Density Based Performance Analysis of AODV Protocol for Adh...
Mobility and Node Density Based Performance Analysis of AODV Protocol for Adh...
 
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
 
WMQ, WMB and EIP
WMQ, WMB and EIPWMQ, WMB and EIP
WMQ, WMB and EIP
 
Manet ppt
Manet pptManet ppt
Manet ppt
 
A Survey On Secure Cooperative Bait Detection Approach For...
A Survey On Secure Cooperative Bait Detection Approach For...A Survey On Secure Cooperative Bait Detection Approach For...
A Survey On Secure Cooperative Bait Detection Approach For...
 
A distributed virtual architecture for data centers
A distributed virtual architecture for data centersA distributed virtual architecture for data centers
A distributed virtual architecture for data centers
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
An alternative Routing Mechanisms for Mobile Ad-hoc NetworksPresentation2
An alternative Routing Mechanisms for Mobile Ad-hoc NetworksPresentation2An alternative Routing Mechanisms for Mobile Ad-hoc NetworksPresentation2
An alternative Routing Mechanisms for Mobile Ad-hoc NetworksPresentation2
 
IRJET- Performance Improvement of Wireless Network using Modern Simulation Tools
IRJET- Performance Improvement of Wireless Network using Modern Simulation ToolsIRJET- Performance Improvement of Wireless Network using Modern Simulation Tools
IRJET- Performance Improvement of Wireless Network using Modern Simulation Tools
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...
 
Qo s provisioning for scalable video streaming over ad hoc networks using cro...
Qo s provisioning for scalable video streaming over ad hoc networks using cro...Qo s provisioning for scalable video streaming over ad hoc networks using cro...
Qo s provisioning for scalable video streaming over ad hoc networks using cro...
 
Distributed Routing Protocol for Different Packet Size Data Transfer over Wir...
Distributed Routing Protocol for Different Packet Size Data Transfer over Wir...Distributed Routing Protocol for Different Packet Size Data Transfer over Wir...
Distributed Routing Protocol for Different Packet Size Data Transfer over Wir...
 

Recently uploaded

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 

Practical Wireless Mesh Networks and Their Applications

  • 1. Practical Wireless Mesh Networks and Their Applications Raluca Musăloiu-E. Johns Hopkins University November 11, 2009 Joint work with: Yair Amir, Claudiu Danilov, Michael Hilsdale, Michael Kaplan, Nilo Rivera
  • 2. Deploying a wireless network...
  • 3. ... using access points. Follows client-server paradigm. For more coverage, install more access points. Each access point is connected to the Internet.
  • 4. That’s a lot of wires for a wireless network!
  • 5. Mesh networks are a paradigm shift. Two classes of participants: Clients, which are mobile. Nodes, which are relatively stationary. Only a few nodes are connected to the Internet (Internet gateways). They are multi-hop networks.
  • 6. Lots of research on wireless networks relies on simulations. The Mistaken Axioms of Wireless-Network Research: (Kotz et al., Darmouth College, Tech Report, 2003) “The world is flat.” “A radio's transmission area is circular.” “All radios have equal range.” “If I can hear you, you can hear me (symmetry).” “If I can hear you at all, I can hear you perfectly.” “Signal strength is a simple function of distance.”
  • 7. We try to bridge the gap between theory and practice and build a real mesh system.
  • 8. Effort has already been made to make mesh networks a reality. However... Some of them are experimental testbeds. Use expensive hardware for mesh nodes. Have limited support (or none) for mobility.
  • 9. For example, In academia: In industry: MIT Roofnet Metricom Ricochet Microsoft MCL Nokia Rooftop UCSB MeshNet Firetide Rice Taps Meraki Rutgers ORBIT Lab Tropos Networks Stony Brook iMesh Community Networks: Champaign-Urbana Community Wireless Network (CUWiN) NYCwireless Freyfunk (Germany)
  • 10. What we are looking for is Seamless access for mesh users. Fast handoff while roaming. Rapid deployment. Robustness. Low cost. Security. Applications.
  • 11. This thesis introduces The architecture of the first high-throughput wireless mesh network with fast handoff using off-the-shelf routers. The first robust Push-To-Talk service for wireless mesh networks.
  • 13. The entire mesh network is seen by the client as an omniscient access point! We use 802.11 IBSS mode (ad-hoc). MobiSys 2006 WoWMoM 2007 WiMesh 2008
  • 14. SMesh communication infrastructure uses the Spines Messaging System. Spines was created by Yair Amir and Claudiu Danilov (DSN03, NOSSDAV05, TOM06). Spines daemons create overlay networks on the fly. We run a Spines daemon on each mesh node. Spines provides unicast, anycast, multicast communication.
  • 15. Mesh topology formation Direct links are created Client C between nearby nodes via an auto-discovery mechanism. Client B Virtual links are created between Internet gateways (they form a fully connected graph, communicating over an overlay multicast group). Client A
  • 16. Mesh topology is hybrid: we use both wireless and wired links. The routing metric gives preference to wired links.
  • 17. SMesh provides a seamless interface to the mobile clients. Standard DHCP protocol. Client always gets the same IP address (private IP in 10.0.0.0/8 address space; based on the MAC address). Client routes all packets through a Virtual Default Gateway.
  • 18. NAT We associate two overlay multicast groups for each client.
  • 19. Control Group 26 30 14 NAT We associate two overlay multicast groups for each client.
  • 20. Control Group 26 Data 30 Group 14 NAT We associate two overlay multicast groups for each client.
  • 21. Fast intra-domain handoff. The handoff is controlled from the mesh infrastructure! We use multiple access points during the handoff, to avoid losing packets.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. Fast inter-domain handoff. SMesh runs in a private address space (NAT is performed at each Internet gateway). Connection oriented protocols expect packets to come from the same source. Solution: Route each stream through the Internet gateway used during connection establishment.
  • 28. We deployed SMesh in our campus. 18-nodes testbed, covering three buildings in our campus (NEB/Shaffer, Maryland, Barton). Linksys WRT54G 802.11b/g routers, BCM947XX radios, omni-directional antennas, 16 MB RAM, 4 MB flash memory, 200 Mhz CPU. Available as open-source software (smesh.org).
  • 29. How did we do what?
  • 31. 1 2 Node 5 routing rules 3 Source Destination Ne Node 1 client 1 6 … … 4 Node 2 client 1 6, 7 5 … … 6 7 Client 1 Fig. 1. The routes to a mobile client (multipath routin To route, we need to use source based multicast trees. Multipath routing is not supported by current operating systems. an overlay network to increase the reliability of to-end path. End-System-Multicast [14] and Spine
  • 32. For flexibility in routing we could use user-space routing, but...
  • 33. With user-space routing all the packets are moved to application level. Spines Spines Spines User space Kernel space Spines
  • 34. We need flexibility in routing... but without losing performance. We developed a new architecture that maintains the control in user space, while the data is routed at the kernel level.
  • 35. Node’s 5 kernel routing tables: 1 2 Node 5 routing rules 3 Source Destination Next-Hop(s) Node 1 client 1 6 … … 4 Node 2 client 1 6, 7 5 … … Node 3 6 Node 2 7 Node 1 Client 1 Fig. 1. The routes to a mobile client (multipath routing). Fig. 2 an overlay network to increase the reliability of the end- space to user space in orde to-end path. End-System-Multicast [14] and Spines [3] also routing decision is made, th Each route through an application router to support overlay multicast spaceone for sent on th node maintains multiple kernel routing tables, where it is each without infrastructure support. node in the network. boundary must be crossed Other work has looked into operating system support for We describe next a me wireless ad-hoc routing protocols. Chakeres and Belding dundant multipath routing showed in [9] an in-kernel design and implementation of the is simple: each node maint ad-hoc AODV protocol using Netfilter modules, and showed one for each node in the
  • 36. One of node’s 5 routing tables: 1 2 Node 5 routing rules 3 Source Destination Node 2 Next-Hop(s) Node 1 client 1 6 … … 4 5 Node 2 Destination client 1 6, 7 Next-hops … … 6 client 1 6, 7 client 2 3 7 ... ... Client 1 Fig. 1. The routes to a mobile client (multipath routing). Fig. 2 an overlay network to increase the reliability of the end- space to user space in orde Eachto-end path. End-System-Multicast [14] and Spines [3] also route may have multiple next-hops. routing decision is made, th route through an application router to support overlay multicast space where it is sent on th without infrastructure support. boundary must be crossed Other work has looked into operating system support for We describe next a me wireless ad-hoc routing protocols. Chakeres and Belding dundant multipath routing showed in [9] an in-kernel design and implementation of the is simple: each node maint ad-hoc AODV protocol using Netfilter modules, and showed one for each node in the
  • 37. Fig. 2. Architecture.
  • 39. 1. Encode entry node in the packet’s IP header. 0 7 8 15 16 23 24 31 Version IHL TOS Total length Identification (IPID) Flags Fragment offset TTL Protocol Header checksum Source IP Destination IP Options and padding
  • 40. 1. Encode entry node in the packet’s IP header. 0 7 8 15 16 23 24 31 Version IHL TOS Total length Identification (IPID) Identification (IPID) Flags Fragment offset TTL Protocol Header checksum Source IP Destination IP Options and padding
  • 41. 1. Encode entry node in the packet’s IP header. 0 7 8 15 16 23 24 31 Version IHL TOS TOS Total length Identification (IPID) Identification (IPID) Flags Fragment offset TTL Protocol Header checksum Source IP Destination IP Options and padding
  • 42. 2. Use policy routing and define multiple routing tables. # iptables -A PREROUTING -t mangle -m u32 --u32 "2&0xFFFF=35" -j MARK --set-mark 35 # ip rule add fwmark 35 table 35
  • 43. 3. Build a kernel module to deliver packets to multiple next hops. Use CONFIG_IP_ROUTE_MULTIPATH kernel option. # ip route add 10.233.59.169/32 table 35 nexthop via 10.0.11.32 dev eth1 nexthop via 10.0.11.33 dev eth1 # iptables -A POSTROUTING -t mangle -j MULTIHOP
  • 44. A packet path in the kernel.. entry point: set IPID set TOS all routers: set fwmark fwmark MULTIHOP module Routing NF_IP_PRE_ROUTING NF_IP_FORWARD NF_IP_POST_ROUTING Decision Routing Decision NF_IP_LOCAL_IN NF_IP_LOCAL_OUT
  • 45. ... and a packet path in the mesh. Node 5
  • 46. ... and a packet path in the mesh. Node 5
  • 47. ... and a packet path in the mesh. IPID: 5 TOS set Node 5
  • 48. ... and a packet path in the mesh. IPID: 5 TOS set Node 5
  • 49. ... and a packet path in the mesh. IPID: 5 TOS set Node 5 IPID: 5 TOS set
  • 50. ... and a packet path in the mesh. IPID: 5 TOS set IPID: 5 Node 5 TOS set
  • 51. ... and a packet path in the mesh. Node 5
  • 53. We used three configurations. 1. One router 2. 5 nodes wireless “line” setup 3. 17 nodes wireless testbed
  • 54. Rate 24 Mbps Transmission power 50 mW Retransmission limit 7 VoIP stream 64 Kbps
  • 55. 1. Single router Packets / s (sent + received) Packets / s (sent + received) 100 800 1600 3200 4000 5000 6000 7000 100 800 1600 3200 4000 5000 6000 7000 100 1.0 Overlay routing Overlay routing 80 0.8 60 0.6 CPU load Loss rate Native SMesh kernel routing 40 0.4 SMesh 20 0.2 Native kernel routing 0.0 0 1 4 8 16 32 40 50 55 60 70 1 4 8 16 32 40 50 55 60 70 Number of VoIP streams (each direction) Number of VoIP streams (each direction) We route up to 50 duplex VoIP streams, before the CPU is saturated. User space overlay routing 4 streams 512 Kbps SMesh 50 streams 6.4 Mbps Native kernel routing 60 streams 7.6 Mbps
  • 56. 2. “Line” topology of 5 nodes TCP Throughput (Mbps) 10.1 With one wireless 5.1 hop, we get 10 Mbps. 3.3 2.7 2.1 2.1 2.1 2.0 1.8 1.8 1 hop 2 hops 3 hops 4 hops 5 hops Overlay routing SMesh
  • 57. 3. Testbed of 17 nodes User-space overlay routing SMesh kernel routing Access Access Point ID Point ID 10 5 hops 28 10 5 hops 28 4 hops 26 4 hops 26 3 hops 25 3 hops 25 8 24 8 24 2 hops 2 hops Throughput (Mbps) Throughput (Mbps) 36 36 33 33 1 hop 32 1 hop 32 6 6 31 31 4 4 2 2 0 0 0 80 160 240 320 0 40 80 120 160 Time (s) Time (s) Results are close to the “line” topology (8.5 Mbps for one hop).
  • 59. What is PTT? Half-duplex communication system with multiple participants. While one person speaks, the others listen.
  • 60. Push-To-Talk systems require an arbitration mechanism (“floor control”) that determines the order in which participants speak. In cellular networks, Push-To-Talk systems are centralized.
  • 61. We need a robust, distributed Push-To-Talk system that works even when Mesh nodes crash. The network is partitioned or it merges.
  • 62. Our Push-To-Talk system allows regular phone users to remotely join a PTT session established inside the mesh!
  • 63. How does the system work?
  • 64. Mobile Client with VoIP Software SIP RTP PTT Controller Distributed RTP Proxy Mobile, Fault-Tolerant SIP 3PCC DTMF Voice Floor Monitor Management Mobile Client Mesh Node State sip_call_id, PTT Session sip_cseq, rtp_port, Manager ptt_group, ptt_state Client PTT PTT PTT Data Control CMonitor Controller Group Group Group Group Routing Daemon (Discovery, Topology Management, Group Management) Wireless Mesh Network
  • 65. Interface with Mobile Client We use the standard Session Initiation Protocol (SIP) to interact with users. The entire mesh is seen by the user as a single, distributed third party call controller (3pcc).
  • 66. A user interacts with the system using a VoIP application. sip : ptt @ 192.168.1.10 How to connect: (that’s a virtual SIP server) How to join a group: type # 12 # How to request to speak: type 5 How is notified when he receive a “beep-beep” audio signal has permission to speak:
  • 67. We use multicast groups to manage the client and the PTT sessions. These are overlay multicast groups.
  • 69. Client management Control Group Session management
  • 70. Client management Control Group Session management
  • 71. Client management Control Group Session management Controller Group
  • 72. Client management Control Group Session management Controller Group Monitoring Group
  • 73. Client management Control Group Session management Controller Group Monitoring Group Data Group
  • 75.
  • 76. Sending Mesh Controller client node
  • 77. Sending Mesh Controller client node Sends “Request to speak” to the access point.
  • 78. Sending Mesh Controller client node Floo r Re Sends “Request to speak” Con ques t trol to the access point. ler g roup
  • 79. Sending Mesh Controller client node Floo r Re Sends “Request to speak” Con ques t trol to the access point. ler g roup k e st Ac Requ st u nica
  • 80. Sending Mesh Controller client node Floo r Re Sends “Request to speak” Con ques t trol to the access point. ler g roup k e st Ac Requ st u nica k to Spea sion up Pe rmis ol gro C ontr Receives “Permission lient Mesh C granted” from the node access point. This can be a different node!
  • 81. Sending Mesh Controller client node Floo r Re Sends “Request to speak” Con ques t trol to the access point. ler g roup k e st Ac Requ st u nica k to Spea sion up Pe rmis ol gro C ontr Receives “Permission lient Mesh C granted” from the node access point. PTS Ac k unic This can be a different node! ast
  • 82. The controller is rotated periodically, according to participants’ locations in the network. We want to maintain the controller node in the “center of gravity” of the nodes handling PTT clients on a certain group.
  • 84. Mesh Controller node When a “better” controller is available stop handling and queueing requests.
  • 85. Mesh Controller node When a “better” controller is available stop handling and queueing requests. INVI TE ( Grou p, Q unic ueue ast ) Join Controller group Join Monitoring group Start handling requests
  • 86. Mesh Controller node When a “better” controller is available stop handling and queueing requests. INVI TE ( Grou p, Q unic ueue ast ) Join Controller group Join Monitoring group Start handling ) requests (G roup k TE Ac INVI st u nica Controller change succeeded Leave Controller group Leave Monitoring group (if necessary)
  • 87. The system needs to withstand node crashes, network partitions and merges.
  • 88.
  • 90. Network Controller
  • 91. Sending Network Controller node
  • 92. Sending Network Controller node Sending client
  • 93. PING_CMON Sending Network Controller Monitoring group node On timeout: Controller is lost Join Controller group (if lowest IP). Start handling requests. Sending client
  • 94. PING_CMON PTS_PING (client) Sending Network Controller Monitoring group Controller group node On timeout: Controller is lost On timeout: Sending node is lost Join Controller group (if lowest IP). Handle the next client in the Start handling requests. queue. Sending client
  • 95. PING_CMON PTS_PING (client) Sending Network Controller Monitoring group Controller group node On timeout: Controller is lost On timeout: Sending node is lost Join Controller group (if lowest IP). Handle the next client in the Voice Start handling requests. queue. Sending client
  • 96. In summary, We instantiate a controller for each PTT group that arbitrates the requests on that group. The controller is monitored and rotated if a more suitable node is available. We achieve high availability with a monitoring mechanism that uses overlay multicasts groups.
  • 98. Nodes 14 Rate 18 Mbps Transmission power 50 mW Retransmission limit 7 VoIP stream 64 Kbps Speak duration 20 sec
  • 99. We evaluated the system when 1. The network is stable (normal operation). 2. The number of users in a PTT group increases. 3. The number of groups increases. 4. Large-scale scenario (40 clients, 10 groups, network partitions and merges).
  • 100. 1. Normal operation Throughput 80 Kbps Sender node 2 Sender node 12 Sender node 14 14 nodes, 60 Kbps 40 Kbps 4 users, each speaks for 20 seconds. 20 Kbps Overhead 0 Kbps 0 10 20 30 40 50 60 70 Time (s) Sender node 2 Sender node 12 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 Packet Arrival time (s)
  • 101. 2. Scalability with the #clients Average latency Average loss rate 1.2 % 120 ms 114 1 % 100 ms 0.92 0.8 % 80 ms No PTT support 60 ms 0.6 % No PTT support 40 ms 0.4 % 27 Single radio 28 Single radio 23 26 0.23 18 16 21 0.18 0.19 25 0.2 % 20 ms 17 21 19 16 Dual radio 0.08 0.09 0.1 0.15 0.05 0.13 Dual radio 0 ms 0 % 2 4 8 14 28 42 2 4 8 14 28 42 Number of clients Number of clients Using dual radios, it scales to at least 42 users in a single PTT session, in our testbed.
  • 102. 3. Scalability with the #groups Average latency Average loss rate 2500 ms 20 % Dual radio Single radio 18 2227 2000 ms Single radio 15 % 14 Dual radio Dual radio+ 1541 1500 ms packing 1270 10 % Single radio+ Dual radio+ packing packing 1000 ms 6 6 Single radio+ 5 % 500 ms 360 packing 2 2 244 1 178 183 1 0 0 74 53 0 0 0 24 26 28 24 26 30 37 0 ms 0 % 1 2 4 6 8 10 12 14 16 18 20 1 2 4 6 8 10 12 14 16 18 20 Number of groups Number of groups Using dual radios and packing, it scales up to 18 groups, with 4 users in each PTT group.
  • 103. 4. Large-scale scenario (10 PTT groups, 4 clients on each group) Data & overhead traffic: 5000 Data Traffic (kbps) 4000 C D F PTT control traffic Routing control traffic 3000 A B E 2000 1000 G 0 0 50 100 150 200 250 300 350 400 450 Time (s) Overhead traffic only: 100 C D F PTT control traffic Traffic (kbps) 80 A B E Routing control traffic 60 40 G 20 0 0 50 100 150 200 250 300 350 400 450 Time (s) (A) clients join (D) the network partitions (B) clients request to speak (E) stable network after partition (C) regular operation (F) the network merges (G) clients stop speaking
  • 104. In conclusion, we presented The architecture of the first high-throughput wireless mesh network with fast handoff using off-the-shelf routers. The first robust Push-To-Talk service for wireless mesh networks.
  • 106. Turning research ideas into practical systems is not an easy task, but it’s definitely a lot of fun.
  • 107. Wireless Mesh Networks is a promising technology. Killer applications are yet to come. They may require infrastructure support.
  • 108. The SMesh system is available as open-source at http://smesh.org Try it for yourself and let us know what you think! :-)

Editor's Notes

  1. explain how it works