Peer-to-peer Communication Services Project Status Presentation Sep 18, 2007 Henning Schulzrinne, Jae Woo Lee, Salman Baset Columbia University Wolfgang.

Slides:



Advertisements
Similar presentations
P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Advertisements

Transitioning to IPv6 April 15,2005 Presented By: Richard Moore PBS Enterprise Technology.
NAT/Firewall Traversal April NAT revisited – “port-translating NAT”
Voice over IP Skype.
Review of a research paper on Skype
Comparison between Skype and SIP- based Peer-to-Peer Voice-Over-IP Overlay Network Johnson Lee EECE 565 Data Communications.
Addressing the P2P Bootstrap Problem for Small Overlay Networks David Wolinsky, Pierre St. Juste, P. Oscar Boykin, and Renato Figueiredo ACIS P2P Group.
Draft-bryan-sipping-p2p David Bryan IETF 63, Paris August 3, 2005.
IOS Networking CS328. Big Picture Core Foundation Networking CF Networking APIs are abstractions on top of the BSD sockets to make it easier to program.
SUPE z2z: Discovering Zeroconf Services Beyond Local Link Jae Woo Lee, Henning Schulzrinne Columbia University Wolfgang Kellerer, Zoran Despotovic.
VoIP - beyond replicating the limitations of the past Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration.
More about Skype. Overview Any node with a public IP address having sufficient CPU, memory and network bandwidth is a candidate to become a super node.
Making Peer-to-Peer Work for SIP Henning Schulzrinne with Salman Baset, Jae Woo Lee Dept. of Computer Science, Columbia University, New York
Engineering peer-to-peer systems Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (with Salman Baset, Jae.
Peer-to-peer Communication Services
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Peer-to-peer VoIP: revolution or better plumbing? Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (with.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Measurements of Multicast Service Discovery in a Campus Wireless Network Se Gi Hong, Suman Srinivasan, and Henning Schulzrinne Columbia University.
VoIP: Not your grandmother's phone any more Henning Schulzrinne Dept. of Computer Science, Columbia University, New York (based on work in collaboration.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 19 Domain Name System (DNS)
Peer-to-peer approaches for SIP Henning Schulzrinne Dept. of Computer Science Columbia University.
Accelerating Service Discovery in Ad Hoc Zero Configuration Networking
Internet Indirection Infrastructure (i3) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002.
December 2007IETF 70 - SIPPING1 SIP URI Service Discovery using DNS-SD draft-lee-sip-dns-sd-uri-02 Presented by Henning Schulzrinne Jae Woo Lee & Henning.
SIMULATING A MOBILE PEER-TO-PEER NETWORK Simo Sibakov Department of Communications and Networking (Comnet) Helsinki University of Technology Supervisor:
P2PSIP Charter Proposal Many people helped write this charter…
 Introduction  VoIP  P2P Systems  Skype  SIP  Skype - SIP Similarities and Differences  Conclusion.
Zero Configuration Networking Sander Temme. Agenda What is Zero Configuration Networking Demonstration Description of Protocols Available Implementations.
 A P2P IRC Network Built on Top of the Kademlia Distributed Hash Table.
Apache and Zeroconf Networking Sander Temme. Agenda u What is Zeroconf? u Technology Overview u Existing Initiatives u Zeroconf-enabling Apache httpd.
Peer-to-Peer Name Service (P2PNS) Ingmar Baumgart Institute of Telematics, Universität Karlsruhe IETF 70, Vancouver.
IETF P2P efforts & Testbeds Salman Abdul Baset, Gaurav Gupta, Jae Woo Lee and Henning Schulzrinne Columbia University SIP 2009 (Paris, January 2009)
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Peer-to-Peer Network Tzu-Wei Kuo. Outline What is Peer-to-Peer(P2P)? P2P Architecture Applications Advantages and Weaknesses Security Controversy.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
An analysis of Skype protocol Presented by: Abdul Haleem.
Paper Survey of DHT Distributed Hash Table. Usages Directory service  Very little amount of information, such as URI, metadata, … Storage  Data, such.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
March 2007IETF68 - SIP1 SIP URI Service Discovery using DNS-SD draft-lee-sip-dns-sd-uri-00 Henning Schulzrinne Jae Woo Lee Columbia University.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 19 Domain Name System (DNS)
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
7DS - Node Cooperation and Information Exchange in Mostly Disconnected Networks Suman Srinivasan, Arezu Moghadam, Se Gi Hong, Henning Schulzrinne IRT Lab,
Protocol Requirements draft-bryan-p2psip-requirements-00.txt D. Bryan/SIPeerior-editor S. Baset/Columbia University M. Matuszewski/Nokia H. Sinnreich/Adobe.
Interactive Connectivity Establishment : ICE
Peer to Peer Network Design Discovery and Routing algorithms
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Peer-to-Peer Systems: An Overview Hongyu Li. Outline  Introduction  Characteristics of P2P  Algorithms  P2P Applications  Conclusion.
November 2005IETF 641 Interconnect SIP networks using P2P SIP Marc Bailly
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
RELOAD draft-bryan-p2psip-reload-01 draft-lowekamp-p2psip-reload-security-01 Bruce Lowekamp David Bryan Jim Deverick Marcia Zangrilli.
KYUNG-HWA KIM HENNING SCHULZRINNE 12/09/2008 INTERNET REAL-TIME LAB, COLUMBIA UNIVERSITY DYSWIS.
Draft-ietf-p2psip-base-08 Cullen Jennings Bruce Lowekamp Eric Rescorla Salman Baset Henning Schulzrinne March 25, 2010.
Peer-to-Peer Protocol (P2PP) Salman Baset, Henning Schulzrinne Columbia University.
SOSIMPLE: A Serverless, Standards- based, P2P SIP Communication System David A. Bryan and Bruce B. Lowekamp College of William and Mary Cullen Jennings.
P2P Cullen Jennings Out of scope Mechanisms File Sharing Fluffy’s Hair XCAP.
Skype.
Mobile IP THE 12 TH MEETING. Mobile IP  Incorporation of mobile users in the network.  Cellular system (e.g., GSM) started with mobility in mind. 
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Chapter 29 Peer-to-Peer Paradigm Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
Innovations in P2P Communications David A. Bryan College of William and Mary April 11, 2006 Advisor: Bruce B. Lowekamp.
Peer to peer Internet telephony challenges, status and trend
SIP URI Service Discovery using DNS-SD draft-lee-sip-dns-sd-uri-02
DHT Routing Geometries and Chord
Peer-to-Peer Protocol (P2PP)
draft-bryan-sipping-p2p
draft-ietf-p2psip-base-03
P2P: Distributed Hash Tables
Presentation transcript:

Peer-to-peer Communication Services Project Status Presentation Sep 18, 2007 Henning Schulzrinne, Jae Woo Lee, Salman Baset Columbia University Wolfgang Kellerer, Zoran Despotovic DoCoMo Communications Laboratories Europe

Outline Research overview –Initial proposal –Summary of current results Conceptual framework –Four stages of p2p systems Zeroconf: solution for bootstrapping –Overview and example z2z: Zeroconf-to-Zeroconf interconnection –Overview, design and implementation Zeroconf for SIP –Motivation and overview of the Internet Draft P2P-SIP –Background concepts and overview of current proposals Next step –DHT discovery –DHT initialization

Initial research proposal Investigate core problems related to p2p communication services –Transient p2p services –Adaptive p2p systems –Standardization of p2p elements

Current results Conceptual framework: 4 stages of p2p systems –Bootstrapping –Interconnection –Structure formation –Growth Zeroconf: solution for bootstrapping –Detailed study of Bonjour, Apple’s Zeroconf implementation –Internet Draft published on using Zeroconf for SIP z2z: Zeroconf-to-Zeroconf Toolkit –Interconnect Zeroconf networks using OpenDHT –C++ prototype for proof of concept –z2z v1.0: open-source Java implementation on SourceForge –Paper submitted to IEEE Globecom’07 Workshop on Service Discovery Next step: DHT discovery and initialization –How to discover an existing DHT? –How to construct a DHT efficiently from scratch?

Four stages of dynamic p2p systems 1.Bootstrapping Formation of small private p2p islands 2.Interconnection Connectivity and service discovery between the p2p islands (each represented by a leader) 3.Structure formation DHT construction among the leaders 4.Growth Merger of multiple such DHTs

Zeroconf: solution for bootstrapping Three requirements for zero configuration networks: 1)IP address assignment without a DHCP server 2)Host name resolution without a DNS server 3)Local service discovery without any rendezvous server Solutions and implementations: –RFC3927: Link-local addressing standard for 1) –DNS-SD/mDNS: Apple’s protocol for 2) & 3) –Bonjour: DNS-SD/mDNS implementation by Apple –Avahi: DNS-SD/mDNS implementation for Linux and BSD

DNS-SD/mDNS overview DNS-Based Service Discovery (DNS-SD) adds a level of indirection to SRV using PTR: _daap._tcp.local. PTR Tom’s Music._daap._tcp.local. _daap._tcp.local. PTR Joe’s Music._daap._tcp.local. Tom’s Music._daap._tcp.local. SRV Toms-machine.local. Tom’s Music._daap._tcp.local. TXT "Version=196613" "iTSh Version=196608" "Machine ID=6070CABB0585" "Password=true” Toms-machine.local. A Multicast DNS (mDNS) –Run by every host in a local link –Queries & answers are sent via multicast –All record names end in “.local.” 1:n mapping

z2z: Zeroconf-to-Zeroconf interconnection rendezvous point - OpenDHT z2z Import/export services Zeroconf subnet A z2z Import/export services Zeroconf subnet B

Demo: global iTunes sharing Exporting iTunes shares under key “columbia”: $ z2z --export:opendht _daap._tcp --key “columbia” Importing services stored under key “columbia”: $ z2z --import:opendht --key “columbia”

How z2z works (exporting) OpenDHT z2z Send browse request (i.e., PTR query) for service type: _daap._tcp 1) Tom’s Music. _daap._tcp.local Joe’s Music. _daap._tcp.local Send resolve request (i.e., SRV, A, and TXT query) for each service 2) Tom’s Computer Password=true …… Joe’s Computer Password=false …… Export them by putting into OpenDHT 3) put: key= z2z._daap._tcp.columbia value= Tom’s Music :3689 Password=true ……

How z2z works (importing) OpenDHT z2z Issue get call into OpenDHT 1) Add “A” record into mDNS 2) Import services by registering them (i.e., add PTR, SRV, TXT records to the local mDNS) 3) get: key=z2z._daap._tcp.columbia value=Tom’s Music :3689 …… value=Joe’s Music …… mDNS “A” record for Tom’s Music._daap._tcp.local _remote local ……

z2z implementation C++ Prototype using xmlrpc-c for OpenDHT access –Proof of concept –Porting problem due to Bonjour and Cygwin incompatibility z2z v1.0 released –Rewritten in Java from scratch –Open-source (BSD license) –Available in SourceForge ( Paper describing design and implementation detail –z2z: Discovering Zeroconf Services Beyond Local Link Lee, Schulzrinne, Kellerer, and Despotovic –Submitted to IEEE Globecom’07 Workshop on Service Discovery

Zeroconf for SIP Enable SIP communication when proxy and registrar are not available –Good use case for z2z –Fill in the gap of P2P-SIP effort: local & small scale (10s to 100s) high mobility avoid construction of DHT Internet Draft published and presented at IETF-68 –SIP URI Service Discovery using DNS-SD Lee, Schulzrinne, Kellerer, and Despotovic

SIP URI advertisement Example _sipuri._udp.local. PTR _sipuri._udp.local. PTR SRV bobs-host.local. TXT txtvers=1 name=Bob Service instance name: Instance.Service.Domain –Instance = ( SIP-URI / SIPS-URI ) [ SP description ] –Service = “_sipuri._udp” / “_sipuri._tcp” / “_sipuri._sctp” –E.g.) - PDA._sipuri._udp.local. Contact TXT record attribute –Similar to Contact SIP header except: It contains only a single URI Non-SIP URIs are not allowed –UA capabilities advertised via field parameters (RFC3840)

Next step: DHT discovery and initialization DHT discovery (prospective peer to overlay) –How to discover an existing DHT to join –Current mechanisms: Well-known bootstrap server Expanding ring multicast Server selection infrastructure: overlay anycast, LoST Meta-DHT DHT initialization –How to construct a DHT efficiently from scratch first time or after major disruption deal with network partition? avoid creating multiple islands –Comparison between different DHT architectures Ring vs prefix-based Flat vs hierarchical –Cost considerations: time and network bandwidth –Especially timely with recent Skype failure

P2P SIP -- Using P2P techniques for SIP-based communications

P2P-SIP: Concepts Decentralized SIP –Replace per-domain SIP proxy and registrar with instances running on p2p endpoints –largely maintain SIP functionality and protocol –P2P SIP working group in IETF Supernode architecture –P2PSIP peers participate in the p2p overlay –P2PSIP clients use peers to locate users and resources

P2PSIP architecture SIP P2PSTUN TLS / SSL A peer in P2PSIP NAT A client [ Bootstrap / authentication server ] Overlay1 Overlay2

P2P-SIP: Current proposals Three competing proposals for peer protocol 1.Peer-to-Peer Protocol (P2PP)Peer-to-Peer Protocol (P2PP) - S. Baset and H. Schulzrinne - Separation of SIP and P2P protocol - Separation of DHT algorithm and overlay maintenance - Pluggable DHT algorithms 2.REsource LOcation And Discovery (RELOAD) - D. Bryan, M. Zangrilli, and B. Lowekamp - Successor to dSIP, a SIP extension for P2P - RELOAD is now a binary protocol 3.Address Settlement by P2P (ASP) - C. Jennings, J. Rosenberg, and E. Rescorla - Focus on security and NAT traversal - Leaves DHT details unspecified

Peer-to-peer protocol (P2PP) Practical issues in peer-to-peer systems Peer-to-peer systems –file sharing –VoIP –streaming Peer-to-peer protocol (P2PP) P2PP design issues Implementation

Practical issues in peer-to-peer systems Bootstrap / service discovery NAT and firewall traversal TCP or UDP? Routing-table management Operation during churn Availability and replication Identity and trust management

Peer-to-peer systems File sharing VoIPStreaming Low Medium High NAT Data size Performance impact / requirement Service discovery Replication

Peer-to-Peer Protocol (P2PP) P2P applications have common requirements such as discovery, NAT traversal, relay selection, replication, and churn management. Goals –A protocol to potentially implement any structured or unstructured protocol. –Not dependent on a single DHT or p2p protocol Not a new DHT! It is hard! –Too many structured and unstructured p2p protocols –Too many design choices! Lets consider DHTs

DHTs DHTGeometry Distance function Lookup correctness (neighbor table) Lookup performance (routing table) Chord Accordion Ring Modulo numeric difference Successor listFinger table Tapestry, Pastry Hybrid = Tree + Ring Prefix match. If fails, then modulo numeric difference Leaf-set (Pastry)Routing table KademliaXORXOR of two IDsNoneRouting table

Kademlia XOR Finger table Parallel requests Recursive routingPastry Bamboo Chord Successor Modulo addition Prefix-match Leaf-set Routing-table stabilization Lookup correctness Lookup performance Proximity neighbor selection Proximity route selection Routing-table size Strict vs. surrogate routing OneHop Bootstrapping Updating routing-table from lookup requests Tapestry Ring Tree Hybrid Reactive recovery Periodic recovery Accordion Routing-table exploration

How to design P2PP? Structured –Identify commonalities in DHTs Routing table (finger table) Neighbor table (successor list, leaf-set) –Separate core routing mechanisms from from DHT-independent issues. Unstructured Incorporate mechanisms for –discovery –NAT / firewall traversal –churn, identity and trust management –request routing (recursive / iterative / parallel)

Parallel requests Recursive routing Routing-table stabilization Proximity neighbor selection Proximity route selection Bootstrapping Reactive vs. periodic recovery DHT-independent Kademlia XOR Pastry BambooChord Modulo addition Prefix-match OneHop Tapestry Ring Tree Hybrid DHT-specific Accordion Finger table / routing table Successor / leaf-set Lookup correctness Lookup performance Routing-table size Strict vs. surrogate routing Updating routing-table from lookup requests DHT-specific Not restricted to one DHT Routing-table exploration Geometry How to design P2PP?

Chord (Strict routing-table management) Neighbor table (successor) Node x+2 i x+2 i+1 x+2 i+2 x+2 i+3 id=x Routing table Immediately succeeds routing-table id

Chord (flexible routing-table management) Neighbor table Node x+2 i x+2 i+1 x+2 i+2 x+2 i+3 id=x Routing table Any node in the interval

Kademlia (XOR) Node 2i2i 2 i+1 2 i+2 2 i+3 id=x Routing table No neighbor table

Peer-to-Peer Protocol (P2PP) A binary protocol Geared towards IP telephony but equally applicable to file sharing and streaming Multiple DHT and unstructured p2p protocol support Application API NAT traversal –using STUN, TURN and ICE Request routing –recursive, iterative, parallel Supports hierarchy (super nodes [peers], ordinary nodes [clients]) Multiple hash function support –SHA1, SHA256, MD4, MD5,... TCP or UDP

Peer-to-Peer Protocol (P2PP) HT = host | NAT-address | relayed Peer-Info P2P-Options

Implementation Chord, Kademlia, Bamboo (in-progress) SHA1, SHA256, MD5, MD4 Windows, Linux Integrated with OpenWengo (VoIP phone) Available for download (Linux + Windows)

Conclusion P2P techniques now becoming mainstream –motivated by low opex, ease of deployment –building block, rather than application Many operational issues –interconnection: z2z –local peering: Bonjour for SIP –start-up and recovery: cf. Skype failure P2PP: Common platform protocol –application-neutral –extensible mechanism