MANETs, P2P, and P2P MANET Overlays An Introduction to the Components of Mobile Resource Sharing on an Ad Hoc Overlay Network Chris Wilder Introduction to MANETs • Mobile Ad Hoc Network (MANET) • The IETF – MANET Autoconfiguration (2007) document defines a MANET as a routing domain comprised of MANET routers [2] • Started out as packet radio back in the 1970’s and 80’s • Under research for the past 10 years • Only a small amount of MANETs are currently used in the real world and are primarily used by the military and emergency response teams MANET Terminology • MANET Neighbors – Two or more MANET Routers that can directly communicate with each other, without needing other routers to bridging the communication path between the communicating routers • Semi-Broadcast Interface (SBI) – A broadcast capable interface that may exhibit asymmetric reachability [2] MANET Neighbors N3 N4 N2 MR1 MR2 MR3 N1 N5 MR4 N6 Attributes of MANETs • • • • • • • • Multihop Networks Autonomous system of mobile routers and nodes All elements reside on wireless domains Nodes can join and leave the network at any time Dynamic topology Wireless connectivity implements node mobility Primarily operates in the network layer (layer 3) as a means of routing, but can be implemented in other layers as well Asymmetric Reachability – Transitive communication: • – Non-bidirectional communication: • • Even though data send from A is able to be received by C, data sent from C may not reach A MANETs do not scale well – – – – • Data sent from A can be received by B and data sent from B are reachable by C, but it is not certain that data sent from A can be received by C Network performance dissipates exponentially as the network grows larger MANETs with anywhere between 2 to 100 MANET Routers don’t suffer from performance problems A big or very big MANET, consisting of any where between 100 to 1000 or more MANET routers, has scalability issues and comes at the high cost of performance degradation. The scalability problem is caused by the required features of the MANET routing protocols which enable them to successfully operate on a mobile ad-hoc network. Solutions to this problem are being researched MANETs can be implemented as an overlay on top of any wired topology or network MANET Asymmetric Reachability N3 N4 N2 MR1 N6 N1 N5 MR3 MR2 MR4 MANET Components • MANET Interface (MI) – An MI is commonly recognized by it’s unique time-varying asymmetric Reachability[2] – Connecting point where nodes can attach[1] – Allows MANETs to connect to each other – Every MANET Interface has a unique identifier, usually an IP address • Routers that support both wired networks and MANETs have both an IP address and a separate unique identifier to represent the MANET interface • MANET Router (MR) – – – – – Classified as having one or more MANET interfaces May have zero or more non-MANET Interfaces Only one MR is required to setup a MANET, however, the more the better Hides MANET characteristics from all nodes that are not MANET aware. Routers which support intercommunication have two or more interfaces which includes a MANET interface (wireless) and one or more wired interfaces – MANET packets are encapsulated in IP packets and vice versa – Specific MANET routing protocols are used to route traffic through out a MANET [1] MANET Routing Protocols • Only MANET routing protocols can be used on a MANET • Any of the traditional routing protocols are not designed to work in a unpredictable and dynamic network such as a MANET • The MANET routing protocols are unstructured, which is the reason why MANETs do not scale well. • Ad-Hoc Routing Protocols – Ad-Hoc On-Demand Distance Vector (AODV) • Type = Reactive – Searches for routing paths or routes on-demand – If a route to a specific destination does not exist, then it is created • When the route to a desired host doesn’t exits, route request (RREQ) messages are generated and sent out using the expanding ring technique to flood the network • Problems – Flooding the network with RREQ messages causes an initial network delay – Performance degrades as the size of the network grows MANET Routing Protocols • Ad-Hoc Routing Protocols (cont.) – Optimized Link State routing (OLSR) • Type = Proactive – Routing records are actively updated and maintained as changes to the topology occur – In practice, all nodes should be fully aware of their network • Routing information is stores in a table structure • Uses a technique called MultiPoint Relaying to optimize routing – Visited nodes are recorded to avoid loops and ensure duplicate retransmissions don’t occur • Problems – Overhead is created by the constant routing traffic – Not scaleable, comes at the cost of performance – Zone Routing Protocol (ZRP) • Type = Hybrid – Uses both reactive and proactive routing protocols • Uses both the reactive and proactive type routing protocols • The network is separated into zones, by routing protocol – Intrazone » Proactive (local) – Intrazone Routing Protocol (IARP) – Interzone » Reactive (Global) – Interzone Routing Protocol (IERP) • Bordercast Resolution Protocol (BRP) is used to maintain and control traffic between zones • Problems – Not very scalable – Inherits the weaknesses from both the Proactive and Reactive Routing protocols Peer to Peer (P2P): An Overview • Decentralized system of nodes that are connected to each other, logically and/or physically, via an ad-hoc connection • Client-Server type architecture exist (e.g. Napster), but are not used as much as they used to • Implemented at the application layer (Layer-7) [4] • Notoriously used for file sharing and transferring realtime data (i.e. internet telephone or instant messaging services) • Pure P2P does not have a distinction between client or server nodes, each node operates as an individual Types of P2P Architectures • Structured – Uses distributed hash tables (DHT) for the location of resources – Examples: Chord, Pastry, etc. • Unstructured – Multicasting is send out queries for data (i.e. files, nodes, etc.) – Examples: Gnutella, FastTrack • Overlay – Uses both structured and unstructured protocols as layers in an effort to utilize the strengths of each protocol • The structured layer may exists as the top layer – Peers are organized into groups in the unstructured layer, using some criteria (i.e. proximity, resource availability, etc) • The unstructured layered is used as the bottom layer of the overlay – Organized by the structured layer to optimize performance – Example: Bit Torrent P2P: Chord System • • • • • • • A structured approach to implementing a P2P system Uses a distributed hash table to lookup nodes and locate resources Decentralized, does not have a single point of failure Symmetric Fault tolerant or failure transparent Adaptable to change, the system has the ability to adjust to nodes joining and leaving (i.e. node churn) The system supports the following operations[5] – Addition and departure of Chord server nodes – Insert, update, and lookup of unstructured key/value pairs • • • Insertions and lookups occur logarithmically The sole responsibility of the Chord protocol is to use a specified key and find which node in the system is in charge of storing the key’s corresponding value Generalized, it can be used to implement different types of systems – Can be used as an alternative to the client/server model P2P: Chord System • Queries – Used for looking up nodes and/or resources – Occur in logarithmic time, in a system of N nodes only log N nodes are queried with a specified key k • Keys are well balanced [5] meaning each node is responsible for a predefined number of keys • Results in the success or a definitive failure [5] • In an system N nodes: – Lookups are average at O(log N) – When the Nth node joins or leaves the network, only an average of O(1/N) key/value pairs need to be updated [5] P2P: Chord System • An overlay network of Chord nodes • Each node, n, maintains a subset of key/value pairs and routing table consisting nodes that are well known • The logical model of the system of identifiers is a circle where each node has a successor and a predecessor • A proximity functions may be used to arrange nodes by identifiers, location, etc. • The routing tables are referred to as finger tables in which m is the # of bits used in the binary representation of the key/node ID. • Only m entries exist in a finger table • Each node, n, has an entry for itself and its successors stored in its finder table • “The ith entry in the table at node n contains the identity of the first node, s, that succeeds n by at least 2i-1 on an identifier circle P2P: Chord System Finger Table n = 2, m = 3 Finger Table Index Start Interval Successor (i <= m) (Node ID) i (n + 2i-1) mod m [finger[i].start, finger[i+1].start) 1 3 [3,4) 4 2 4 [4,6) 4 3 6 [6,2) 1 P2P: Chord System Start Int. Succ. 0 [0,1) 1 1 [1,3) 1 3 [3,7) 4 Start Int. Succ. 2 [2,3) 2 3 [3,5) 4 5 [5,1) 7 Start Int. Succ. 3 [3,4) 4 4 [4,6) 4 6 [6,2) 7 0 1 7 6 2 5 3 4 Start Int. Succ. 5 [5,6) 0 6 [6,0) 7 0 [0,4) 1 P2P: Chord System - DHT • Keys are an array of bytes to symbolize a random m-bit key identifier • Node identifiers are determined by hashing the IP address or some unique ID of the node to the m-bit identifier space[5] • Each key has an identifier and the key identifier is found by hashing the key into an m-bit space • Values are also considered as an array of bytes • It is up to the application to define what the array of bytes represent • Values may represent: – Locations of resources such as an IP address or a pointer to some location, etc. – Identifiers, for example: filename or the id of a node in the network, etc. – Actual data itself (e.g. files, etc.) [5] P2P: Chord System - Hashing Hash Function Key (m = 3) Key = 0x001 0 0 1 Hashes to 0x006 Array of Values or Identifiers null 0 null 1 null 2 null 3 null 4 null 5 data 6 ... 7 ... ... null n-1 n Data 1 0x006 0 1 1 0 0 0 1 0 1 P2P Over MANET • A mobile ad hoc network with a peer to peer overlay network • A MANET will operate in the first four layers of the OSI model, while P2P will run in the fourth through seventh layer. This is only a general case • Next generation of client based networks • Can be implemented in more than one way considering that: – There is more than one MANET protocol – P2P can be built as a structured, unstructured, or overlay type network – Each P2P network architecture has a multitude of protocols and characteristics which inhibit their own unique features and constraints P2P Over MANET Protocol Stack OSI P2P Application Application Presentation Presentation Session Layer MANET Session Layer Transport Transport Transport Network Network Data-link Data-link Physical Physical Homogeneous Characteristics of P2P and MANET • Supports node churning [2]; consistency of nodes entering and leaving the network • Self-organizing architectures [4] • Traffic patterns closely resemble those caused by multi-hop broadcasting or multicasting [3] • Dynamic topology • The ability for nodes to rearrange themselves when connecting to the network • Fault tolerant; resistant and transparent to errors • Unique Identifiers are required to identify nodes • Decentralized • Nodes can act as a client and/or server node • Nodes have the ability to perform routing services Why P2P Over MANET • P2P and MANETs share many similarities[4] • P2P offers the stability that MANETs lack – Overlaying P2P on top the unstructured routing protocols of a MANET gives MANETs alleviates some of the problems that are difficult to solve using just MANET routing protocols – Frequent topology changes that occur in a MANET in some cases can be better manage by an application layer protocol • P2P Over MANET is not as expensive to scale as a MANET • Differences between both networks compliment each other when combined • A MANET provides the underlying network for a P2P application to reside on • MANETs track the location of peers • P2P manages the location of resources (data-centric Building a P2P MANET Overlay Architecture • • • No standard architectures currently exist A common approach made when designing a P2P MANET Overlay is to layer the P2P on top of the MANET [4] Build a list of optimization and specification criteria – • Ad-Hoc Routing Protocol – – • Consider the benefits and drawbacks Size of network P2P Architecture – – • Useful when selecting which protocols, topology, and architecture to use Use a the P2P architecture that will offer the best solution to the network constraints Compare and contract P2P protocols with the ad-hoc routing protocols The structure of the overlay as a whole – – – – – How many layers How is each layer implemented Benefits and drawbacks of the structure of the overlay What will the network be used for What type of environment will the network exist in Examples of P2P Over MANET systems • An integrated approach for P2P file sharing on a MANET (Tang, Zhou, Kashyap, Chuieh)[4] – Uses FASTTRACK as the application layer protocol • FASTRACK is an unstructured P2P protocol • Super peers are added to the P2P overlay to – – – – – Increase scaling capabilities Reduce network delay Assist in failure recovery Mange node churn Improve performance • Each super peer is aware all the nodes and resources of it’s underlying network – The ad-hoc on-demand distance vector (AODV) adhoc routing protocol is used to implement the MANET layer Examples of P2P Over MANET systems • An integrated approach for P2P file sharing on a MANET (Tang, Zhou, Kashyap, Chuieh)[4] – The AODV routing protocol and the FASTTRACK P2P protocol are both unstructured • Both use similar look up techniques • Both use flooding to query the network – An overview of how it works • All peers are physically connected through the underlying MANET architecture • Peers are grouped into multiple unstructured groups and each group is assigned a super peer • The super peers for each group are used to form the top unstructured P2P layer • When a peer is searching for a file, the lower P2P layer is queried • If the file is found, is location is returned to the requesting peer • If the file is not found, the file request is sent to the super peer, and thus it is sent out on the top layer network, to query all the super peers – The AODV and FASTTRACK protocols are configured so that the file requested and established route can be determined simultanesously[4] Examples of P2P Over MANET systems • A better approach is to use a structured P2P protocol such as chord and layer it over the AODV MANET routing protocol. – (See the image on the next slide) References [1] S. Corson and J. Macker. “Mobile Ad Hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Considerations”, IETF Network Working Group, January 1999, RFC 2501, (http://www.ietf.org/rfc/rfc2501.txt). [2] I. Chakeres, J. Macker, and T. Clausen, “Mobile Ad Hoc Network Architecture draft-ieft-autoconf-manetarch-06”, IETF Internet-Draft MANET Autoconfiguration (AUTOCONF), October 2007. [3] Aisling O’ Driscoll, Susan Rea, and Dirk Pesch, “A Framework for Supporting Structured Peer-to-Peer P2P Overlays over Large Scale Mobile Ad-Hoc Networks (MANETs), Wireless World Research Forum, CAWS, Cork Institute of Technology, Ireland. [4] Bin Tang, Zongheng Zhou, Anand Kashyap, and Tzi-cker Chiueh, “An integrated approach for P2P file sharing on multi-hop wireless networks”, Department of Computer Science, Stoney Brook University. [5] Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan, “Chord: A scalable peer-to-peer look service for Internet applications”, MIT-LCS-TR-819.