Peer-to-Peer Architectures and Signaling. Agenda

Similar documents
Peer-to-Peer Signalling. Agenda

Telecommunication Services Engineering Lab. Roch H. Glitho

Telematics Chapter 9: Peer-to-Peer Networks

Peer-to-Peer Networks

Unit 8 Peer-to-Peer Networking

A Survey of Peer-to-Peer Content Distribution Technologies

Peer-to-Peer Systems. Chapter General Characteristics

Peer-to-Peer Internet Applications: A Review

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics

Content Search. Unstructured P2P. Jukka K. Nurminen

Peer to Peer Networks

Overlay networks. Today. l Overlays networks l P2P evolution l Pastry as a routing overlay example

Latest Peer-to-Peer Technologies II Artjom Lind 1

Peer to Peer Networks

Advanced Computer Networks

Content Search. Unstructured P2P

An Analysis of the Skype P2P Internet Telephony Protocol 王永豪 B 杜明可 B 吳治明 B

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

Analysis and Signature of Skype VoIP Session Traffic

Peer-to-Peer (P2P) Systems

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Content Overlays. Nick Feamster CS 7260 March 12, 2007

EE 122: Peer-to-Peer Networks

Chapter 2: Application layer

Introduction to Peer-to-Peer Systems

P2PSIP, ICE, and RTCWeb

Introduction to P2P Computing

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

CSE 124 Finding objects in distributed systems: Distributed hash tables and consistent hashing. March 8, 2016 Prof. George Porter

Mobile Peer-to-Peer Business Models T Network Services Business Models. Mikko Heikkinen

internet technologies and standards

CMSC 332 Computer Networks P2P and Sockets

Flooded Queries (Gnutella) Centralized Lookup (Napster) Routed Queries (Freenet, Chord, etc.) Overview N 2 N 1 N 3 N 4 N 8 N 9 N N 7 N 6 N 9

Page 1. How Did it Start?" Model" Main Challenge" CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks"

Advanced Distributed Systems. Peer to peer systems. Reference. Reference. What is P2P? Unstructured P2P Systems Structured P2P Systems

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations

Scalable overlay Networks

Internet Protocol Stack! Principles of Network Applications! Some Network Apps" (and Their Protocols)! Application-Layer Protocols! Our goals:!

Decentralized supplementary services for Voice-over-IP telephony

P2P. 1 Introduction. 2 Napster. Alex S. 2.1 Client/Server. 2.2 Problems

Architectures for Distributed Systems

Searching for Shared Resources: DHT in General

Today s Objec2ves. Kerberos. Kerberos Peer To Peer Overlay Networks Final Projects

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q

Searching for Shared Resources: DHT in General

From POTS to VoP2P: Step 1. P2P Voice Applications. Renato Lo Cigno

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals.

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

Stratos Idreos. A thesis submitted in fulfillment of the requirements for the degree of. Electronic and Computer Engineering

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Assignment 5. Georgia Koloniari

Overview Computer Networking Lecture 17: Delivering Content Peer to Peer Examples Peter Steenkiste

1(11) Peer to peer networking

CSCI-1680 P2P Rodrigo Fonseca

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

Introduction to Peer-to-Peer Networks

Overlay and P2P Networks. Unstructured networks. PhD. Samu Varjonen

Making Gnutella-like P2P Systems Scalable

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

Distributed Knowledge Organization and Peer-to-Peer Networks

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Overlay and P2P Networks. Unstructured networks I. Prof. Sasu Tarkoma

Lecture 21 P2P. Napster. Centralized Index. Napster. Gnutella. Peer-to-Peer Model March 16, Overview:

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

CIS 700/005 Networking Meets Databases

Chord : A Scalable Peer-to-Peer Lookup Protocol for Internet Applications

Peer-peer and Application-level Networking. CS 218 Fall 2003

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016

EE 122: Peer-to-Peer (P2P) Networks. Ion Stoica November 27, 2002

Introduction on Peer to Peer systems

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Internet Technology 3/2/2016

Addressed Issue. P2P What are we looking at? What is Peer-to-Peer? What can databases do for P2P? What can databases do for P2P?

L3S Research Center, University of Hannover

CS 3516: Advanced Computer Networks

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Chapter 6 PEER-TO-PEER COMPUTING

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste

Lecture 8: Application Layer P2P Applications and DHTs

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE

Preface Preliminaries. Introduction to VoIP Networks. Public Switched Telephone Network (PSTN) Switching Routing Connection hierarchy Telephone

Peer to Peer I II 1 CS 138. Copyright 2015 Thomas W. Doeppner, Rodrigo Fonseca. All rights reserved.

WWW, REST, and Web Services

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Georges Da Costa Introduction on Peer to Peer systems

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015

Peer-to-peer systems and overlay networks

Big Compute, Big Net & Big Data: How to be big

Computer Science 461 Final Exam May 22, :30-3:30pm

An Efficient NAT Traversal for SIP and Its Associated Media sessions

Today. Architectural Styles

Goal and A sample Network App

Goals. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Solution. Overlay Networks: Motivations.

Last Lecture SMTP. SUNY at Buffalo; CSE 489/589 Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 1

Today. Architectural Styles

Peer to Peer Systems and Probabilistic Protocols

Transcription:

Peer-to-Peer Architectures and Signaling Juuso Lehtinen Juuso@netlab.hut.fi Slides based on presentation by Marcin Matuszewski in 2005 Introduction P2P architectures Skype Mobile P2P Summary Agenda 1

Introduction There are various definitions for what peer-to-peer is about A distributed network architecture may be called a Peer-to-Peer (P-to-P, P2P,... ) network, if the participants share a part of their own hardware resources (processing power, storage capacity, network link capacity, printers,... ). These shared resources are necessary to provide the service and content offered by the network (e.g. file sharing or shared workspaces for collaboration). They are accessible by other peers directly, without passing intermediary entities. The participants of such a network are thus resource (service and content) providers as well as resource (service and content) requesters (servent-concept). (Schollmeier, 2002) A peer-to-peer (or P2P) computer network is a network that relies on the computing power and bandwidth of the participants in the network rather than concentrating it in a relatively low number of servers. P2P networks are typically used for connecting nodes via largely ad hoc connections. Such networks are useful for many purposes. Sharing content files (see file sharing) containing audio, video, data or anything in digital format is very common, and realtime data, such as telephony traffic, is also passed using P2P technology. (Wikipedia, ref. 15.2.2006) Introduction Generally in peer-to-peer communication each communication node (peer) has both server and client capabilities any party can initiate a communication session applications connect with each other directly Peer-to-peer paradigm has many uses File-sharing Internet telephony Distributed computing 2

Peer-to-Peer popularity File-sharing applications are the most popular form of P2P at least traffic wise e.g. BitTorrent, Kazaa, Direct Connect P2P accounts for 60 80% of all Internet traffic Other peer-to-peer applications are also gaining popularity e.g. Skype - Voice over P2P, Mobile P2P London Internet Exchange (4/2001 2/2006) Amsterdam Internet Exchange (11/2004 2/2006) Introduction P2P architectures Skype Mobile P2P Summary Agenda 3

Traditional Client-Server Architecture One high-performance server holds all the content in the network Owner of the server has full control on the shared content Multiple clients share content via the centralized server P2P architectures Three main architecture types Centralized peer-to-peer Structured peer-to-peer Peer-to-Peer Architectures Always decentralized Unstructured peer-to-peer Decentralized peer-to-peer (a.k.a. pure p2p) Semi-centralized peer-to-peer (a.k.a. hybrid p2p) Centralized P2P Structured P2P Decentralized P2P Unstructured P2P Hybrid P2P 4

Centralized P2P architecture A centralized server, or a cluster of servers holds information about the files available on the clients Owner of the server has high control on the shared content The clients transfer content directly without the server involvement The server is only used for content searches Advantages Searches are quick and need very little bandwidth Disadvantages Server represents a single point of failure for entire system Can be easily attacked Have limited resources => scalability issue Example: Napster Query: music.mp3 Hit: Node b File transfer Has the content Pure P2P architecture All nodes are equal in the network There is no centralization No single node has control over the content shared by the other users Searches are done by flooding search requests in the network Downloads are executed in peer-to-peer fashion Control and data are completely distributed No centralized server Advantage Resilience to node failures Disadvantage Inter-peer connections tend to form a power-law graph (a small number of highly connected peers) Simple broadcast search is not efficient (delay, bandwidth) TTL is used to limit flooding Example: Gnutella 5

Search in pure peer-to-peer architecture Requests are flooded in the network Reply path may follow query path or be direct File transfer n4 n7 Looks for the certain content n1 n2 n3 n6 n8 has the content n5 Queries are flooded in the network Reply follows the original query path Hybrid P2P architecture There are two types of peers in a network: Gateways (Super-peers) more powerful peers become gateways to a network form a pure P2P network between themselves handle search requests on behalf of clients Clients (Ordinary-peers) less powerful peers act as clients to the gateway peers upload metadata information about shared files to gateways 6

Hybrid Peer-to-Peer Architecture There are two types of nodes in the network Ordinary-peers are connected to super-peers as in centralized peer-topeer architecture Super-peers are connected to each other in decentralized manner A super-peer has high control on content shared by ordinary nodes connected to it Super-peers do not have control on content announced by the other super-peers Downloads are executed in peer-topeer fashion Hybrid P2P - KaZaA KaZaA is an example of semi-centralized P2P network Super-Peers (SPs) are normal peers that have been automatically elected as the super-peers based on their up time, bandwidth, connectivity, CPU power, IP address (public vs. private) Super-peers maintain a database with: file identifiers, their children are sharing metadata (file name, file size, contenthash, file descriptors) corresponding IP addresses of children SP maintain long-lived TCP connections with other SPs 7

KaZaA cont. KaZaA peers frequently exchange list of super-peers Ordinary-Peer (OP) maintains list of 200 super-peers Super-Peer (SP) appears to maintain list of thousands of SPs All of the signaling traffic between peers is encrypted Handshaking traffic for connection establishment List of super-peers exchange Metadata upload Queries and replies File transfer between nodes is not encrypted TCP is used for both file transfer and signaling traffic KaZaA cont. Files searching OP sends a query with a keyword to its SP SP returns IP addresses and related metadata that correspond to the match from its database SP may forward query to one or more SPs to which it is connected Query visits only a small subset of SPs so the result represent only a small subset of all files stored in KaZaA network SPs frequently change their SP-SP connections on a time scale of tens of minutes => Larger part of network can be explored 8

Structured peer-to-peer architectures Are also totally decentralized there is no single point of control Based on Distributed Hash Table (DHT) algorithm Wildcard searches are not possible Exact name or has for the searched content must be known Thus unusable for traditional file sharing Structured P2P - Chord Chord provides improvements to the searching process Nodes in a network are organized in a circle Each file is identified by a unique key Each node and each key have assigned identifiers Node identifiers: SHA1(IP address) Key Identifiers: SHA1(key itself) K57 N60 Each key is assigned to N3 its successor K45 N51 K30 K25 N32 N19 K11 9

Chord - Finger Table Chord routing is based on finger table The information stored in the Finger Table is used for scalable node localisation Chord - key localisation process 10

Chord joining node Node 21 asks its successor the following question: Am I your predecessor? If node 26 joins the network an answer to this question is: NO, node 26 is my predecessor Properties of Chord Availability Protocol functions very well even if the system is in a continuous state of change Scalability Lookup grows only logarithmically with the number of nodes Load balancing Keys are spread evenly over the nodes Flexible naming No constraints on a key structure Not suitable for search engines Chord supports exact match, cannot handle queries similar to one or more keys 11

Introduction P2P architectures Skype Mobile P2P Summary Agenda Skype Skype is another application of peer-to-peer concept It provides very successful internet telephony, instant messaging and file transfer services Over 250 million downloads Skype is a proprietary protocol in contrast to SIP and H.323 No official specifications available some info acquired by reverse engineering the protocol Researchers are trying to apply P2P principle to SIP-based systems 12

Skype architecture Skype has a similar architecture as its predecessor KaZaA There are three types of nodes in the Skype network: Ordinary-peers Super-peers Central login server The login server stores all of user names and passwords and ensures that names are unique across the Skype name space Skype login server Skype some facts It uses TCP for signaling and both UDP and TCP for transporting media traffic It uses ilbc, isac or a third party unknown voice codec probably developed by GlobalIPSound All of the user communication is encrypted using AES 256-bit (Advanced Encryption Standard) Makes wiretapping impossible if there are no backdoors It uses a variation of STUN and TURN for NAT and firewall traversal Buddy list is signed digitally, encrypted and is local to the machine (not stored on the central server like in case of MSN Messenger) 13

Skype - login After installation a client connects to some bootstrap super-peers, since its Super- Peer list is empty, and acquires the address of the Login Server Normal login: Skype client (OP) connects to a Super-Peer OP authenticates the user name and password with the Login Server Skype - user search Client sends an user name to SP and as an answer receives four IP addresses and port numbers Subsequently the client contacts these four nodes If it cannot find the user it sends request to its SP once again and as a result receives eight IP addresses and port numbers The process continues until the user is found If the user is behind a NAT and an UDP-restricted firewall, SP searches user on behalf of the client Search results are cashed in the intermediate nodes 14

Skype - call establishment If both a caller and a callee have public IP addresses, a caller sends signaling information over TCP to a callee If a callee is behind a port-restricted NAT, caller sends signaling information over TCP to an online Skype node that forwards it to a callee If both a callee and a caller are behind a portrestricted NAT and an UDP-restricted firewall both exchange the information with an online Skype node Introduction P2P architectures Skype Mobile P2P Summary Agenda 15

Mobile P2P (MP2P) Faster residential Internet connection, more powerful desktop computers, and cheaper storage were the main drivers stimulating P2P growth We can observe a similar technological change in mobile networks Web browsing Email Requirements for MP2P (1/2) Technical Constraints Memory size CPU performance Screen and keyboard size Battery capacity Access Network Parameters Limited bandwidth shared between multiple users in the same cell 16

Requirements for MP2P (2/2) Special Needs of Mobile Environment Support for various access networks Operator control Feasible bandwidth pricing User Requirements Quick response times Rapid downloads Group management features for sharing private content Lot of content is probably self-created, like pictures/videos taken with camera-phone Optimal Architecture for MP2P Hybrid architecture optimal for mobile use Minimizes signaling load on the air interface Allows operator to have control on content by controlling the super-peer Multiple operators can network super-peers in peer-to-peer fashion still retaining quite high autonomy Super-peer can be also operated by private entity, e.g. family or sports club 17

SIP based MP2P application SIP based mobile peer-to-peer application has been developed in the Networking Laboratory Uses hybrid peer-to-peer architecture All signaling is in SIP Search File-list update Download initialization Use of SIP as the signaling protocol allows easy integration with IMS and other SIP aware networks SIP Requests Used for MP2P Signaling INVITE Content search and download session establishment MESSAGE File-list updates to superpeers Search and file-list update messages have all content information encoded in XML to enable easy parsing and extension of the format in the future 18

Use Case Register, Search, and Download Mobile P2P challenges Shortage of resources: Battery, CPU, Memory, Network connection Widely used P2P applications/protocols have to be redesigned Business issues Understand and analyze the impact of peerto-peer services on the mobile market and its value chain Identify some key application scenarios that are likely to be attractive to users 19

Introduction P2P architectures Skype Mobile P2P Summary Agenda Summary P2P architecture offers scalability, robustness and fault tolerance Content sharing is a dominant P2P application however other applications, such as Internet telephony, are emerging SIP over P2P concept aims to improve scalability and usability of standardized SIP applications no need for centralized SIP nodes In the near future we will see P2P services in the mobile domain 20

Thank you! References Ion Stoicay, Robert Morrisz, David Liben-Nowellz, David R. Kargerz, M. Frans Kaashoekz, Frank Dabekz,Hari Balakrishnanz Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Kundan Singh, Henning Schulzrinne, Peer-to-Peer Internet Telephony using SIP Salman A. Baset, Henning Schulzrinne, An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol www.skype.com 21