SlideShare a Scribd company logo
1 of 42
Download to read offline
On Redundant Multipath
Operating System Support for
 Wireless Mesh Networks
          Presented by Raluca Musaloiu-E.
             Johns Hopkins University




       Yair         Claudiu         Michael   That’s    Nilo
       Amir         Danilov         Kaplan     Me      Rivera
SMesh story
On Redundant Multipath Operating System Support for Wireless Mesh Networks
On Redundant Multipath Operating System Support for Wireless Mesh Networks
On Redundant Multipath Operating System Support for Wireless Mesh Networks
On Redundant Multipath Operating System Support for Wireless Mesh Networks
Redundant multipath routing is an essential service for
    increasing reliability in wireless mesh networks.
Redundant multipath is not natively
supported by current operating systems.
Spines


                        Spines
               Spines
 User space
Kernel space
                                 Spines
A cost effective wireless mesh deployment
    requires low-cost mesh nodes.
TCP Throughput (Mbps)
11.0
 9.9
 8.8
 7.7
 6.6
 5.5
 4.4

           CPU limitation!
 3.3
 2.2
       2           2           2
 1.1                                    2        2

  0
  1 hop          2 hops      3 hops   4 hops   5 hops



                          Overlay
We present a minimally invasive mechanism to
support redundant multipath routing in kernel-space.




  User space            Control



 Kernel space         Data routing
We present a minimally invasive mechanism to
support redundant multipath routing in kernel-space.




  User space            Control


                                        Module for
 Kernel space         Data routing
                                        multipath
TCP Throughput (Mbps)
11.0
 9.9
       10
 8.8
 7.7
 6.6
 5.5
 4.4             5

 3.3
                          3
 2.2                                       3
                                                        2
       2         2        2
 1.1                                       2            2

  0
  1 hop        2 hops   3 hops          4 hops        5 hops


            Overlay              Redundat Multipath
Architecture
1                     2
                                                                    No

   To route,                                    3          Source

   consider                                               Node 1

                     4                                    Node 2
entry point,                       5
                                                    6
in addition to
  destination                  7

   address.                                    Client 1




                         Fig. 1.   The routes to a mobile client (m
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                                  …              …
                                                                  6



                                             7

                                                             Client 1




           Node 5
 We use
                                       Fig. 1.   The routes to a mobile client (multipath routing).




multiple                  an overlay network to increase the reliability of the end-
                                                         Node 3
                          to-end path. End-System-Multicast [14] and Spines [3] also
                          route through an application router to support overlay multicas
routing                                  Node 2
                          without infrastructure support.
                             Other work has looked into operating system support for

tables.                   wireless ad-hoc routing protocols. Chakeres and Belding
                              Node 1
                          showed in [9] an in-kernel design and implementation of the
                          ad-hoc AODV protocol using Netfilter modules, and showed
                          performance improvement compared to user-level ad-hoc pro-
                    clienttocols. Kawadia et al. [16] proposed a complete architecture
                            1
                    clientto2support ad-hoc protocols in-kernel and a generic ad-hoc
                          support library for user-level programs to control different ad-
                    .... hoc protocols.
                             SMesh [4] recently showed how overlay multicast can be
                          used in wireless mesh networks to provide fast handoff to
                          unmodified 802.11 clients that connect transparently using
                          DHCP. SMesh allows multiple access points to service the
                          client during handoff, as it works in ad-hoc mode. In SMesh
                          packets sent by the mobile client are diverted from the kerne
                          to the Spines user-level overlay router. Multicast trees are
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                                  …              …
                                                                 6



                                            7

                                                            Client 1




                 Node 5
Each route may
                                      Fig. 1.   The routes to a mobile client (multipath routing).




     have                  an overlay network to increase the reliability of the end-
                           to-end path. End-System-Multicast [14] and Spines [3] also
                           route through an application router to support overlay multicas
  multiple                             Node 1
                           without infrastructure support.
                              Other work has looked into operating system support for

 next-hops.                wireless ad-hoc routing protocols. Chakeres and Belding
                      Destination                          Next-hops
                           showed in [9] an in-kernel design and implementation of the
                           ad-hoc AODV protocol using Netfilter modules, and showed
                       client 1                              6, 7
                           performance improvement compared to user-level ad-hoc pro-
                           tocols. Kawadia et al. [16] proposed a complete architecture
                       client 2                               3
                           to support ad-hoc protocols in-kernel and a generic ad-hoc
                           support library for user-level programs to control different ad-
                           ...                                ...
                           hoc protocols.
                              SMesh [4] recently showed how overlay multicast can be
                           used in wireless mesh networks to provide fast handoff to
                           unmodified 802.11 clients that connect transparently using
                           DHCP. SMesh allows multiple access points to service the
                           client during handoff, as it works in ad-hoc mode. In SMesh
                           packets sent by the mobile client are diverted from the kerne
                           to the Spines user-level overlay router. Multicast trees are
Fig. 2.   Architecture.
Implementation
0               78              15 16            23 24          31


Encode entry             IHL         TOS                    Total length
               Version

                   Identification (IPID)                      Fragment offset
 node in the                                      Flags
                    TTL             Protocol              Header checksum
  packet’s                                 Source IP
IP header.                              Destination IP
                                     Options and padding
0               78              15 16            23 24          31


Encode entry             IHL         TOS                    Total length
               Version

                   Identification (IPID)                      Fragment offset
 node in the                                      Flags
                    TTL             Protocol              Header checksum
  packet’s                                 Source IP
IP header.                              Destination IP
                                     Options and padding
0               78              15 16            23 24          31


Encode entry             IHL         TOS                    Total length
               Version

                   Identification (IPID)                      Fragment offset
 node in the                                      Flags
                    TTL             Protocol              Header checksum
  packet’s                                 Source IP
IP header.                              Destination IP
                                     Options and padding
# iptables -A PREROUTING -t mangle
                   -m u32 --u32 quot;2&0xFFFF=35quot;
                   -j MARK --set-mark 35
      Use
policy routing
   and define
multiple routing
     tables.       # ip rule add fwmark 35 table 35
CONFIG_IP_ROUTE_MULTIPATH

                 # 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


   Use
MULTIHOP
 Netfilter   MULTIHOP

 module.
Fig. 3.   Implementation in Linux.
5
5
IPID: 5
     TOS
5
IPID: 5
 TOS




 5
IPID: 5
           TOS




                    5

IPID: 5
 TOS
IPID: 5
           TOS




                    5
IPID: 5
 TOS
5
Evaluation
One router
1



       5 nodes
      wireless
2
    “line” setup



     17 nodes
     wireless
3
      testbed
Rate            24 Mbps


Transmission power     50 mW


Retransmission limit     7


    VoIP stream        64 Kbps
We route up to 50 duplex VoIP streams
           1
                                                                                            before the CPU is saturated.


                                                               Overlay              4 streams                        512 Kbps

                                                                Kernel              50 streams                       6.4 Mbps

                                                       Native kernel routing        60 streams                       7.6 Mbps


                                  Pkts/s (sent + received)                                                                   Pkts/s (sent + received)
                 400 800   1600          3200      4000      5000     6000   7000
                                                                                                           400 800    1600          3200      4000      5000     6000   7000
            1                                                                                        100
                                                                Overlay                                                                                    Overlay
                                                                 Kernel                                                                                     Kernel
                                                Kernel without Multipath                                                                   Kernel without Multipath
           0.8                                                                                        80



                                                                                     Loss rate (%)
CPU Load




           0.6                                                                                        60


           0.4                                                                                        40


           0.2                                                                                        20


            0                                                                                          0
                 24 8      16           32    40      50 55 60 64            70                            24 8        16           32    40      50 55 60 64           70
                           # of VoIP streams (each direction)                                                          # of VoIP streams (each direction)
2
              TCP Throughput (Mbps)
11.0   10
 9.9
 8.8
 7.7

                                                     With one wireless
 6.6
              5
 5.5
                                                  hop, we get 10 Mbps
 4.4
                         3
                                                           in a “line” setup.
 3.3                              3
                                           2
 2.2
       2      2          2
 1.1                              2        2

    0
    1 hop   2 hops     3 hops   4 hops   5 hops



             Overlay            Kernel
3
                                                               Overlay                                                                                                                                                    Kernel multipath
                         10                                                                                                                                                                                        10
                                                                                                                                                                         10
                                                                                                                        28
                                                                                             28                                                                                                                                                                          28
                                                                                                                        5 hops
                                                                                             5 hops                                                                                                                                                                      5 hops
                         9                                                                                                                                                                                         9
                                                                                                                        26                                               9
                                                                                             26                                                                                                                                                                          26
                                                                                                                        4 hops
                                                                                             4 hops                                                                                                                                                                      4 hops
                                                                                                                        25
                                                                                             25                                                                                                                                                                          25
                         8                                                                                                                                                                                         8
                                                                                                                        3 hops                                           8
                                                                                             3 hops                                                                                                                                                                      3 hops
                                                                                                                        24
                                                                                             24                                                                                                                                                                          24
                                                                                                                        2 hops
                                                                                             2 hops                                                                                                                                                                      2 hops
                         7                                                                                                                                                                                         7
                                                                                                                                                                         7
                                                                                                                        36
                                                                                             36                                                                                                                                                                          36
                                                                                                                        33
                                                                                             33                                                                                                                                                                          33
                                                                                                                        32
     Throughput (Mbps)




                                                                                                                                                                                       Throughput (Mbps)
                                                                                             32                                                                                                                                                                          32




                                                                                                                                             Throughput (Mbps)
                         6                                                                                                                                                                                         6
                                                                                                                                                                         6
                                                                                                                        1 hop
                                                                                             1 hop                                                                                                                                                                       1 hop
                                                                                                                        31




                                                                                                                                 Router ID
                                                                                             31                                                                                                                                                                          31




                                                                                                      Router ID




                                                                                                                                                                                                                                                                                  Router ID
                         5                                                                                                                                                                                         5
                                                                                                                                                                         5

                         4                                                                                                                                                                                         4
                                                                                                                                                                         4

                         3                                                                                                                                                                                         3
                                                                                                                                                                         3


                         2                                                                                                                                                                                         2
                                                                                                                                                                         2


                         1                                                                                                                                                                                         1
                                                                                                                                                                         1


                         0                                                                                                                                                                                         0
                                                                                                                                                                         0
                              0          50            100          150          200           250                300                                                                                                0       20      40        60     80        100    120        140
       50                          100         150           200           250         300                                                                                    0   20                               40       60      80       100    120        140    160
                                                                   Time (s)                                                                                                                                                                         Time (s)
                                              Time (s)                                                                                                                                                                            Time (s)



                                  TCPFig. 8. TCPOverlay (moving).
                                      throughput: throughput: Overlay (moving).                                                                                                                                          TCP Fig. 9. TCP throughput: Kernel (moving).
   Fig. 8.                                                                                                                                                                        Fig. 9.                                    throughput: Kernel (moving).



                                                             Results are close to the “line” topology                                                                                                              100
                                                                                                                                                                         100
between the client and client and the Internet. Each (one-way)
   streams between the the Internet. Each (one-way)
as stream of 64 Kbps. We monitored the averagethe average CPU90
    a rate has a rate of 64 Kbps. We monitored CPU                                                                                                                                                                  90


                                                                                                                                                                                  ( 8.5 Mbps for one hop).
 ure 4) (Figure 4) and the(Figure 5). (Figure 5). The top x-axis80
   load and the loss rate loss rate The top x-axis                                                                                                                                                                  80


e corresponding number of number of packets/sec.
   shows the corresponding packets/sec.                                                                                                                                                                             70
                                                                70


 erstandunderstand overhead of our kernel our kernel approach,60
      To better the better the overhead of approach,
                                                                                                                                                                                           Percentage of packets
                                                                                                                                                 Percentage of packets




                                                                                                                                                                                                                    60

ded an additional additional kernel routing without without50
   we included an scenario: scenario: kernel routing                                                                                                                                                                50

 ead of Netfilterof Netfilter rules required by our scheme. We40
   the overhead rules required by our scheme. We                                                                                                                                                                    40
Redundant multipath routing is important in WMN.



We can support it with minimal changes in Linux kernel.



SMesh is available as open-source at www.smesh.org.
Thanks
Questions

More Related Content

What's hot

Cisco Live! Designing Multipoint WAN QoS
Cisco Live! Designing Multipoint WAN QoSCisco Live! Designing Multipoint WAN QoS
Cisco Live! Designing Multipoint WAN QoSEddie Kempe
 
Trill and Datacenter Alternatives
Trill and Datacenter AlternativesTrill and Datacenter Alternatives
Trill and Datacenter AlternativesAricent
 
Wp ip-mpls-based-vpns
Wp ip-mpls-based-vpnsWp ip-mpls-based-vpns
Wp ip-mpls-based-vpnssubha_87
 
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute OperationsQuantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute OperationsjournalBEEI
 
Flexible Data Centre Fabric - FabricPath/TRILL, OTV, LISP and VXLAN
Flexible Data Centre Fabric - FabricPath/TRILL, OTV, LISP and VXLANFlexible Data Centre Fabric - FabricPath/TRILL, OTV, LISP and VXLAN
Flexible Data Centre Fabric - FabricPath/TRILL, OTV, LISP and VXLANCisco Canada
 
Integrated services and RSVP - Protocol
Integrated services and RSVP - ProtocolIntegrated services and RSVP - Protocol
Integrated services and RSVP - ProtocolPradnya Saval
 
Application Behavior-Aware Flow Control in Network-on-Chip
Application Behavior-Aware Flow Control in Network-on-ChipApplication Behavior-Aware Flow Control in Network-on-Chip
Application Behavior-Aware Flow Control in Network-on-ChipIvonne Liu
 
MINIMALLY BUFFERED ROUTER USING WEIGHTED DEFLECTION ROUTING FOR MESH NETWORK ...
MINIMALLY BUFFERED ROUTER USING WEIGHTED DEFLECTION ROUTING FOR MESH NETWORK ...MINIMALLY BUFFERED ROUTER USING WEIGHTED DEFLECTION ROUTING FOR MESH NETWORK ...
MINIMALLY BUFFERED ROUTER USING WEIGHTED DEFLECTION ROUTING FOR MESH NETWORK ...VLSICS Design
 
Fuzzy logic and Satellite communication Systems
Fuzzy logic and Satellite communication SystemsFuzzy logic and Satellite communication Systems
Fuzzy logic and Satellite communication SystemsQueen's University
 
Ucs security part2
Ucs security part2Ucs security part2
Ucs security part2Krunal Shah
 
QoS (quality of service)
QoS (quality of service)QoS (quality of service)
QoS (quality of service)Sri Safrina
 
DBDP_AODV ROUTING PROTOCOL
DBDP_AODV ROUTING PROTOCOLDBDP_AODV ROUTING PROTOCOL
DBDP_AODV ROUTING PROTOCOLnithin revi
 
Integrated and Differentiated services Chapter 17
Integrated and Differentiated services Chapter 17Integrated and Differentiated services Chapter 17
Integrated and Differentiated services Chapter 17daniel ayalew
 
CloudStack Performance Testing
CloudStack Performance TestingCloudStack Performance Testing
CloudStack Performance Testingbuildacloud
 
Chapter3 frame relay
Chapter3   frame relayChapter3   frame relay
Chapter3 frame relayjuliusbangaw
 

What's hot (20)

Cisco Live! Designing Multipoint WAN QoS
Cisco Live! Designing Multipoint WAN QoSCisco Live! Designing Multipoint WAN QoS
Cisco Live! Designing Multipoint WAN QoS
 
Mit6 02 f12_chap18
Mit6 02 f12_chap18Mit6 02 f12_chap18
Mit6 02 f12_chap18
 
Trill and Datacenter Alternatives
Trill and Datacenter AlternativesTrill and Datacenter Alternatives
Trill and Datacenter Alternatives
 
Wp ip-mpls-based-vpns
Wp ip-mpls-based-vpnsWp ip-mpls-based-vpns
Wp ip-mpls-based-vpns
 
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute OperationsQuantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
 
Flexible Data Centre Fabric - FabricPath/TRILL, OTV, LISP and VXLAN
Flexible Data Centre Fabric - FabricPath/TRILL, OTV, LISP and VXLANFlexible Data Centre Fabric - FabricPath/TRILL, OTV, LISP and VXLAN
Flexible Data Centre Fabric - FabricPath/TRILL, OTV, LISP and VXLAN
 
Mpls co s
Mpls co sMpls co s
Mpls co s
 
Integrated services and RSVP - Protocol
Integrated services and RSVP - ProtocolIntegrated services and RSVP - Protocol
Integrated services and RSVP - Protocol
 
Ijcta2011020605
Ijcta2011020605Ijcta2011020605
Ijcta2011020605
 
Application Behavior-Aware Flow Control in Network-on-Chip
Application Behavior-Aware Flow Control in Network-on-ChipApplication Behavior-Aware Flow Control in Network-on-Chip
Application Behavior-Aware Flow Control in Network-on-Chip
 
MINIMALLY BUFFERED ROUTER USING WEIGHTED DEFLECTION ROUTING FOR MESH NETWORK ...
MINIMALLY BUFFERED ROUTER USING WEIGHTED DEFLECTION ROUTING FOR MESH NETWORK ...MINIMALLY BUFFERED ROUTER USING WEIGHTED DEFLECTION ROUTING FOR MESH NETWORK ...
MINIMALLY BUFFERED ROUTER USING WEIGHTED DEFLECTION ROUTING FOR MESH NETWORK ...
 
IntServ & DiffServ
IntServ & DiffServIntServ & DiffServ
IntServ & DiffServ
 
Fuzzy logic and Satellite communication Systems
Fuzzy logic and Satellite communication SystemsFuzzy logic and Satellite communication Systems
Fuzzy logic and Satellite communication Systems
 
Ucs security part2
Ucs security part2Ucs security part2
Ucs security part2
 
Mpls Qos Jayk
Mpls Qos JaykMpls Qos Jayk
Mpls Qos Jayk
 
QoS (quality of service)
QoS (quality of service)QoS (quality of service)
QoS (quality of service)
 
DBDP_AODV ROUTING PROTOCOL
DBDP_AODV ROUTING PROTOCOLDBDP_AODV ROUTING PROTOCOL
DBDP_AODV ROUTING PROTOCOL
 
Integrated and Differentiated services Chapter 17
Integrated and Differentiated services Chapter 17Integrated and Differentiated services Chapter 17
Integrated and Differentiated services Chapter 17
 
CloudStack Performance Testing
CloudStack Performance TestingCloudStack Performance Testing
CloudStack Performance Testing
 
Chapter3 frame relay
Chapter3   frame relayChapter3   frame relay
Chapter3 frame relay
 

Similar to On Redundant Multipath Operating System Support for Wireless Mesh Networks

Practical Wireless Mesh Networks and Their Applications
Practical Wireless Mesh Networks and Their ApplicationsPractical Wireless Mesh Networks and Their Applications
Practical Wireless Mesh Networks and Their ApplicationsRaluca Musaloiu-E.
 
ddsf-student-presentation_756205.pptx
ddsf-student-presentation_756205.pptxddsf-student-presentation_756205.pptx
ddsf-student-presentation_756205.pptxssuser498be2
 
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
 
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
 
mSwitch: A Highly-Scalable, Modular Software Switch
mSwitch: A Highly-Scalable, Modular Software SwitchmSwitch: A Highly-Scalable, Modular Software Switch
mSwitch: A Highly-Scalable, Modular Software Switchmicchie
 
Node.js Explained
Node.js ExplainedNode.js Explained
Node.js ExplainedJeff Kunkle
 
AN IMPLEMENTATION POSSIBILITIES FOR AODV ROUTING PROTOCOL IN REAL WORLD
AN IMPLEMENTATION POSSIBILITIES FOR AODV ROUTING PROTOCOL IN REAL WORLDAN IMPLEMENTATION POSSIBILITIES FOR AODV ROUTING PROTOCOL IN REAL WORLD
AN IMPLEMENTATION POSSIBILITIES FOR AODV ROUTING PROTOCOL IN REAL WORLDijdpsjournal
 
Link Capacity Estimation in SDN-based End-hosts
Link Capacity Estimation in SDN-based End-hostsLink Capacity Estimation in SDN-based End-hosts
Link Capacity Estimation in SDN-based End-hostsFarzaneh Pakzad
 
CisCon 2018 - Overlay Management Protocol e IPsec
CisCon 2018 - Overlay Management Protocol e IPsecCisCon 2018 - Overlay Management Protocol e IPsec
CisCon 2018 - Overlay Management Protocol e IPsecAreaNetworking.it
 
AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)Kato Kiwamu
 
Backbone nodes based stable routing for mobile ad hoc networks
Backbone nodes based stable routing for mobile ad hoc networksBackbone nodes based stable routing for mobile ad hoc networks
Backbone nodes based stable routing for mobile ad hoc networksambitlick
 
Backbone nodes based stable routing for mobile ad hoc networks
Backbone nodes based stable routing for mobile ad hoc networksBackbone nodes based stable routing for mobile ad hoc networks
Backbone nodes based stable routing for mobile ad hoc networksambitlick
 
What Multisite Means for Identity Management
What Multisite Means for Identity ManagementWhat Multisite Means for Identity Management
What Multisite Means for Identity ManagementOPNFV
 
Experimental Analysis Of On Demand Routing Protocol
Experimental Analysis Of On Demand Routing ProtocolExperimental Analysis Of On Demand Routing Protocol
Experimental Analysis Of On Demand Routing Protocolsmita gupta
 
Blue host openstacksummit_2013
Blue host openstacksummit_2013Blue host openstacksummit_2013
Blue host openstacksummit_2013Jun Park
 
Blue host using openstack in a traditional hosting environment
Blue host using openstack in a traditional hosting environmentBlue host using openstack in a traditional hosting environment
Blue host using openstack in a traditional hosting environmentOpenStack Foundation
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101HungWei Chiu
 

Similar to On Redundant Multipath Operating System Support for Wireless Mesh Networks (20)

Practical Wireless Mesh Networks and Their Applications
Practical Wireless Mesh Networks and Their ApplicationsPractical Wireless Mesh Networks and Their Applications
Practical Wireless Mesh Networks and Their Applications
 
WMQ, WMB and EIP
WMQ, WMB and EIPWMQ, WMB and EIP
WMQ, WMB and EIP
 
ddsf-student-presentation_756205.pptx
ddsf-student-presentation_756205.pptxddsf-student-presentation_756205.pptx
ddsf-student-presentation_756205.pptx
 
B03406010
B03406010B03406010
B03406010
 
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)
 
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...
 
mSwitch: A Highly-Scalable, Modular Software Switch
mSwitch: A Highly-Scalable, Modular Software SwitchmSwitch: A Highly-Scalable, Modular Software Switch
mSwitch: A Highly-Scalable, Modular Software Switch
 
Node.js Explained
Node.js ExplainedNode.js Explained
Node.js Explained
 
AN IMPLEMENTATION POSSIBILITIES FOR AODV ROUTING PROTOCOL IN REAL WORLD
AN IMPLEMENTATION POSSIBILITIES FOR AODV ROUTING PROTOCOL IN REAL WORLDAN IMPLEMENTATION POSSIBILITIES FOR AODV ROUTING PROTOCOL IN REAL WORLD
AN IMPLEMENTATION POSSIBILITIES FOR AODV ROUTING PROTOCOL IN REAL WORLD
 
Link Capacity Estimation in SDN-based End-hosts
Link Capacity Estimation in SDN-based End-hostsLink Capacity Estimation in SDN-based End-hosts
Link Capacity Estimation in SDN-based End-hosts
 
CisCon 2018 - Overlay Management Protocol e IPsec
CisCon 2018 - Overlay Management Protocol e IPsecCisCon 2018 - Overlay Management Protocol e IPsec
CisCon 2018 - Overlay Management Protocol e IPsec
 
AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)
 
IPv6
IPv6IPv6
IPv6
 
Backbone nodes based stable routing for mobile ad hoc networks
Backbone nodes based stable routing for mobile ad hoc networksBackbone nodes based stable routing for mobile ad hoc networks
Backbone nodes based stable routing for mobile ad hoc networks
 
Backbone nodes based stable routing for mobile ad hoc networks
Backbone nodes based stable routing for mobile ad hoc networksBackbone nodes based stable routing for mobile ad hoc networks
Backbone nodes based stable routing for mobile ad hoc networks
 
What Multisite Means for Identity Management
What Multisite Means for Identity ManagementWhat Multisite Means for Identity Management
What Multisite Means for Identity Management
 
Experimental Analysis Of On Demand Routing Protocol
Experimental Analysis Of On Demand Routing ProtocolExperimental Analysis Of On Demand Routing Protocol
Experimental Analysis Of On Demand Routing Protocol
 
Blue host openstacksummit_2013
Blue host openstacksummit_2013Blue host openstacksummit_2013
Blue host openstacksummit_2013
 
Blue host using openstack in a traditional hosting environment
Blue host using openstack in a traditional hosting environmentBlue host using openstack in a traditional hosting environment
Blue host using openstack in a traditional hosting environment
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101
 

Recently uploaded

KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 

Recently uploaded (20)

KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 

On Redundant Multipath Operating System Support for Wireless Mesh Networks

  • 1. On Redundant Multipath Operating System Support for Wireless Mesh Networks Presented by Raluca Musaloiu-E. Johns Hopkins University Yair Claudiu Michael That’s Nilo Amir Danilov Kaplan Me Rivera
  • 7. Redundant multipath routing is an essential service for increasing reliability in wireless mesh networks.
  • 8. Redundant multipath is not natively supported by current operating systems.
  • 9. Spines Spines Spines User space Kernel space Spines
  • 10. A cost effective wireless mesh deployment requires low-cost mesh nodes.
  • 11. TCP Throughput (Mbps) 11.0 9.9 8.8 7.7 6.6 5.5 4.4 CPU limitation! 3.3 2.2 2 2 2 1.1 2 2 0 1 hop 2 hops 3 hops 4 hops 5 hops Overlay
  • 12. We present a minimally invasive mechanism to support redundant multipath routing in kernel-space. User space Control Kernel space Data routing
  • 13. We present a minimally invasive mechanism to support redundant multipath routing in kernel-space. User space Control Module for Kernel space Data routing multipath
  • 14. TCP Throughput (Mbps) 11.0 9.9 10 8.8 7.7 6.6 5.5 4.4 5 3.3 3 2.2 3 2 2 2 2 1.1 2 2 0 1 hop 2 hops 3 hops 4 hops 5 hops Overlay Redundat Multipath
  • 16. 1 2 No To route, 3 Source consider Node 1 4 Node 2 entry point, 5 6 in addition to destination 7 address. Client 1 Fig. 1. The routes to a mobile client (m
  • 17. 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 … … 6 7 Client 1 Node 5 We use Fig. 1. The routes to a mobile client (multipath routing). multiple an overlay network to increase the reliability of the end- Node 3 to-end path. End-System-Multicast [14] and Spines [3] also route through an application router to support overlay multicas routing Node 2 without infrastructure support. Other work has looked into operating system support for tables. wireless ad-hoc routing protocols. Chakeres and Belding Node 1 showed in [9] an in-kernel design and implementation of the ad-hoc AODV protocol using Netfilter modules, and showed performance improvement compared to user-level ad-hoc pro- clienttocols. Kawadia et al. [16] proposed a complete architecture 1 clientto2support ad-hoc protocols in-kernel and a generic ad-hoc support library for user-level programs to control different ad- .... hoc protocols. SMesh [4] recently showed how overlay multicast can be used in wireless mesh networks to provide fast handoff to unmodified 802.11 clients that connect transparently using DHCP. SMesh allows multiple access points to service the client during handoff, as it works in ad-hoc mode. In SMesh packets sent by the mobile client are diverted from the kerne to the Spines user-level overlay router. Multicast trees are
  • 18. 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 … … 6 7 Client 1 Node 5 Each route may Fig. 1. The routes to a mobile client (multipath routing). have an overlay network to increase the reliability of the end- to-end path. End-System-Multicast [14] and Spines [3] also route through an application router to support overlay multicas multiple Node 1 without infrastructure support. Other work has looked into operating system support for next-hops. wireless ad-hoc routing protocols. Chakeres and Belding Destination Next-hops showed in [9] an in-kernel design and implementation of the ad-hoc AODV protocol using Netfilter modules, and showed client 1 6, 7 performance improvement compared to user-level ad-hoc pro- tocols. Kawadia et al. [16] proposed a complete architecture client 2 3 to support ad-hoc protocols in-kernel and a generic ad-hoc support library for user-level programs to control different ad- ... ... hoc protocols. SMesh [4] recently showed how overlay multicast can be used in wireless mesh networks to provide fast handoff to unmodified 802.11 clients that connect transparently using DHCP. SMesh allows multiple access points to service the client during handoff, as it works in ad-hoc mode. In SMesh packets sent by the mobile client are diverted from the kerne to the Spines user-level overlay router. Multicast trees are
  • 19. Fig. 2. Architecture.
  • 21. 0 78 15 16 23 24 31 Encode entry IHL TOS Total length Version Identification (IPID) Fragment offset node in the Flags TTL Protocol Header checksum packet’s Source IP IP header. Destination IP Options and padding
  • 22. 0 78 15 16 23 24 31 Encode entry IHL TOS Total length Version Identification (IPID) Fragment offset node in the Flags TTL Protocol Header checksum packet’s Source IP IP header. Destination IP Options and padding
  • 23. 0 78 15 16 23 24 31 Encode entry IHL TOS Total length Version Identification (IPID) Fragment offset node in the Flags TTL Protocol Header checksum packet’s Source IP IP header. Destination IP Options and padding
  • 24. # iptables -A PREROUTING -t mangle -m u32 --u32 quot;2&0xFFFF=35quot; -j MARK --set-mark 35 Use policy routing and define multiple routing tables. # ip rule add fwmark 35 table 35
  • 25. CONFIG_IP_ROUTE_MULTIPATH # 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 Use MULTIHOP Netfilter MULTIHOP module.
  • 26. Fig. 3. Implementation in Linux.
  • 27. 5
  • 28. 5
  • 29. IPID: 5 TOS 5
  • 31. IPID: 5 TOS 5 IPID: 5 TOS
  • 32. IPID: 5 TOS 5 IPID: 5 TOS
  • 33. 5
  • 35. One router 1 5 nodes wireless 2 “line” setup 17 nodes wireless 3 testbed
  • 36. Rate 24 Mbps Transmission power 50 mW Retransmission limit 7 VoIP stream 64 Kbps
  • 37. We route up to 50 duplex VoIP streams 1 before the CPU is saturated. Overlay 4 streams 512 Kbps Kernel 50 streams 6.4 Mbps Native kernel routing 60 streams 7.6 Mbps Pkts/s (sent + received) Pkts/s (sent + received) 400 800 1600 3200 4000 5000 6000 7000 400 800 1600 3200 4000 5000 6000 7000 1 100 Overlay Overlay Kernel Kernel Kernel without Multipath Kernel without Multipath 0.8 80 Loss rate (%) CPU Load 0.6 60 0.4 40 0.2 20 0 0 24 8 16 32 40 50 55 60 64 70 24 8 16 32 40 50 55 60 64 70 # of VoIP streams (each direction) # of VoIP streams (each direction)
  • 38. 2 TCP Throughput (Mbps) 11.0 10 9.9 8.8 7.7 With one wireless 6.6 5 5.5 hop, we get 10 Mbps 4.4 3 in a “line” setup. 3.3 3 2 2.2 2 2 2 1.1 2 2 0 1 hop 2 hops 3 hops 4 hops 5 hops Overlay Kernel
  • 39. 3 Overlay Kernel multipath 10 10 10 28 28 28 5 hops 5 hops 5 hops 9 9 26 9 26 26 4 hops 4 hops 4 hops 25 25 25 8 8 3 hops 8 3 hops 3 hops 24 24 24 2 hops 2 hops 2 hops 7 7 7 36 36 36 33 33 33 32 Throughput (Mbps) Throughput (Mbps) 32 32 Throughput (Mbps) 6 6 6 1 hop 1 hop 1 hop 31 Router ID 31 31 Router ID Router ID 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 0 50 100 150 200 250 300 0 20 40 60 80 100 120 140 50 100 150 200 250 300 0 20 40 60 80 100 120 140 160 Time (s) Time (s) Time (s) Time (s) TCPFig. 8. TCPOverlay (moving). throughput: throughput: Overlay (moving). TCP Fig. 9. TCP throughput: Kernel (moving). Fig. 8. Fig. 9. throughput: Kernel (moving). Results are close to the “line” topology 100 100 between the client and client and the Internet. Each (one-way) streams between the the Internet. Each (one-way) as stream of 64 Kbps. We monitored the averagethe average CPU90 a rate has a rate of 64 Kbps. We monitored CPU 90 ( 8.5 Mbps for one hop). ure 4) (Figure 4) and the(Figure 5). (Figure 5). The top x-axis80 load and the loss rate loss rate The top x-axis 80 e corresponding number of number of packets/sec. shows the corresponding packets/sec. 70 70 erstandunderstand overhead of our kernel our kernel approach,60 To better the better the overhead of approach, Percentage of packets Percentage of packets 60 ded an additional additional kernel routing without without50 we included an scenario: scenario: kernel routing 50 ead of Netfilterof Netfilter rules required by our scheme. We40 the overhead rules required by our scheme. We 40
  • 40. Redundant multipath routing is important in WMN. We can support it with minimal changes in Linux kernel. SMesh is available as open-source at www.smesh.org.