HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Peer to Peer Applications in Ad hoc Networks Author: Jesús Hijas jhijas@netlab.hut.fi Networking Laboratory Helsinki University of Technology Supervisor: Professor Raimo Kantola Instructor: LSc. José CostaRequena HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Outline • Problem overview – Ad Hoc Networks – Peer to Peer applications • P2P architectures • Study of the problem – Limitations when using P2P applications in Ad Hoc networks. • Solution – P2P application proposal for Ad Hoc networks • Verification – Tests and results • Conclusions HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Problem • The problem to be solved in this Thesis is how to discover and use Peer to Peer applications in Ad Hoc networks. • We also study their performance and scalability problems when running in nodes that are part of an Ad Hoc network. HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Problem (II) • Ad Hoc networks are wireless, self-organizing systems that provide functionality without infrastructure support. • Peer to Peer (P2P) applications are those that do not rely on elements as servers or clients • Inherent symbiosis: – P2P applications: distributed, running in the nodes of the network, not in central servers – Ad hoc networks: all nodes are peers (equals) that have to act both as clients and servers (P2P paradigm). HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Problem (III) • P2P architectures: Centralized (e.g. Napster) HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Problem (IV) • P2P architectures: Distributed and unstructured (e.g. Gnutella) HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Problem (V) • P2P architectures: Distributed but structured (e.g. Kazaa) HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Study of the problem • Problem description: to achieve the goal of this Thesis, we need to study which problems appear when integrating P2P applications and Ad Hoc networks: – Service Discovery: P2P architecture is fully distributed, which means that applications are available in concrete nodes of the network and not centralized in servers. In Ad Hoc networks, one node does not know the others beforehand. Thus, applications have to be discovered before they can be used. – P2P architecture: should not rely on central nodes, since in Ad Hoc networks one node can be down at anytime. – P2P applications: may act both as client and server with high reliability. HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Solution • We need to implement a Service Discovery mechanism so that peers can find each other and the services they provide. It will be implemented over UPnP. – Chosen among others such as JINI, Salutation, SLP, etc. • P2P architecture must be distributed and unstructured. • P2P application must include both client and server entities in a single piece of software that will run in every node in the Ad Hoc network. HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Solution (II) • P2P application proposal for Ad Hoc networks: – P2P application: Presence Service. • Chosen among others such as Instant Messaging, Voice over IP, file sharing, etc. due to its simplicity. • Will run over SIP. – Service Discovery module: in charge of solving the problem of service discovery in Ad Hoc networks. • Will run over UPnP. Solution (III) HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas • P2P application proposal for Ad Hoc networks: design of the system. SIP HTTP, TCP, IP, SSDP, UDP, XML… HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Solution (IV) • Presence Service functionality: – Service that allows the user to know about the reachability, availability and willingness of communication of another user (i.e. his status). – Users subscribe to others’ presence information. – When the presence status of one user changes, it has to notify all the subscribers this user has. HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Solution (V) • UPnP functionality: – We use UPnP discovery step, in which control points and devices multicast SSDP discovery messages (to address 239.255.255.250). HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Verification • Tests scope: estimate the performance of the P2P application developed in a real Ad Hoc Network. • Test method: prepare test cases with different number of nodes in the network and measure the total traffic generated by the application in one node. • Test conclusions: consider scalability problems based on the results obtained in the tests and the previous analytic study. HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Verification (II) • The Ad Hoc network is formed by iPAQ PDAs with with one wireless adapter • Linux OS • Wireless link bandwidth: 2Mbps • 1 iPAQ 3900 and 2 iPAQ 3800 Verification (III) HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas • Analytic study: – Excluding unavoidable traffic, such as IGMP, TCP or ARP, the total traffic of the application is: T TSIP TUPnP – SIP traffic, TSIP, is the number of SIP messages sent by one node. – UPnP traffic, TUPnP, varies with the expression: TUPnP ( packs / sec) 1 N N tx CC – With: • CC = Value of control-cache header • N = number of nodes in the network • Ntx = number of transmissions of one packet HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Verification (IV) • Tests case 1: one node in the network – Scope: measure the UPnP traffic in one iPAQ when it does not interact with other devices and estimate the value of CC to complete the analytic formula. – Results: Test case 1 UPnP Total Time between first and last packet (sec) 6,719 7,348 Packets 29 33 Avg. Traffic (Kbit/s) 9 10 – CC: time between UPnP announcements (expiration time) CC time 6,719s 0,232s packets 29 packs Verification (V) HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas • Analytic study: – We will assume no UPnP retransmissions, i.e. N tx 1 – With these data the general analytic model for the traffic of the application is: 1 1 T ( packs / s) TSIP N N tx 0 N 1 4,31 N CC 0,232 – The capacity consumed by the application is: BW (bits / s) Traffic(bytes / s) Avg. packsize(bytes) 8(bits / byte) – Considering the average UPnP packet size measured in the test cases (309 bytes): BW (bits / s) 4,31 N 309 8 10654,32 N HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Verification (VI) • Test case 2: two nodes in the network. Scenario. HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas • Test case 2: capture. Verification (VII) HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas • Test case 2: Traffic. Verification (VIII) Verification (IX) HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas • Test case 2: Result analysis. – Initial IGMP and ARP traffic. – SIP traffic (red) is very low compared to UPnP traffic (green). – Data and comparison: Test case 2 Avg. Traffic (Kbit/s) SIP 1 UPnP Total 22 24 – Analytic results for test case 2: TUPnP 10654,32 2 21,308Kbit / s HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Verification (X) • Test case 3: three nodes in the network. Scenario. HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas • Test case 3: Traffic. Verification (XI) HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Verification (XII) • Test case 3: Result analysis. – – – – – IGMP and ARP traffic peaks in the initialization. UPnP traffic: predomines during all the test. SIP traffic (red) is very low. Total traffic increases softly compared to test case 1. Data: Test case 3 Avg. Traffic (Kbit/s) SIP UPnP Total 1 35 36 – Analytic results for test case 3: TUPnP 10654,32 3 31,926Kbit / s Verification (XIII) HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas • Result analysis: Bandwidth (Kbit/s) Bandwith of the Presence Service Application 450 400 350 300 250 200 150 100 50 0 Analytic function Measured values 1 4 7 10 13 16 19 22 25 Number of nodes (N) 28 31 34 37 40 HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Verification (XIV) • Result analysis: – If we consider the total capacity of the channel provided by the wireless card in the iPAQ devices (2Mbit/s), we could accept that the Presence application would consume the 20% of this capacity. Therefore, the maximum acceptable capacity of the application in one device would be: BWMAX ( KBit / s) 20% 2MBit / s 400KBit / s – This maximum is reached with 37 nodes in the network. This number can be taken as the maximum acceptable number of nodes in the Ad Hoc network so that the application is efficient. HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Conclusions • In this Thesis we have developed a Peer to Peer application that will run in an Ad Hoc network. • Attending to the results got, we can conclude that Peer to Peer applications are suitable for Ad Hoc networks, providing a fully-distributed service and automatic service discovery in every node, without relying in central servers and with a reasonable scalability. • Possible future work: – Reducing the UPnP traffic to improve the scalability of the application. – Integrating the Presence Service with any other P2P application such as VoIP or IM to allow users a wider way of communication. HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Questions? HELSINKI UNIVERSITY OF TECHNOLOGY Peer to Peer Applications in Ad Hoc Networks Jesús Hijas Thank you