VOIP over Peer-to-Peer

Slides:



Advertisements
Similar presentations
1 IP Telephony (VoIP) CSI4118 Fall Introduction (1) A recent application of Internet technology – Voice over IP (VoIP): Transmission of voice.
Advertisements

P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Peer-to-Peer Systems Chapter 25. What is Peer-to-Peer (P2P)? Napster? Gnutella? Most people think of P2P as music sharing.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
Comparison between Skype and SIP- based Peer-to-Peer Voice-Over-IP Overlay Network Johnson Lee EECE 565 Data Communications.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion StoicaRobert Morris David Liben-NowellDavid R. Karger M. Frans KaashoekFrank.
Chair for Computer Networks & Internet Wilhelm-Schickard-Institute for Computer Science University of Tübingen A Cooperative SIP Infrastructure for Highly.
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
FRIENDS: File Retrieval In a dEcentralized Network Distribution System Steven Huang, Kevin Li Computer Science and Engineering University of California,
Introduction to Peer-to-Peer (P2P) Systems Gabi Kliot - Computer Science Department, Technion Concurrent and Distributed Computing Course 28/06/2006 The.
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.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
SIMPLEStone – A presence server performance benchmarking standard SIMPLEStone – A presence server performance benchmarking standard Presented by Vishal.
Peer-to-peer approaches for SIP Henning Schulzrinne Dept. of Computer Science Columbia University.
Introduction to SIP Speaker: Min-Hua Yang Advisor: Ho-Ting Wu Date:2005/3/29.
SIMULATING A MOBILE PEER-TO-PEER NETWORK Simo Sibakov Department of Communications and Networking (Comnet) Helsinki University of Technology Supervisor:
Introduction to Peer-to-Peer Networks. What is a P2P network Uses the vast resource of the machines at the edge of the Internet to build a network that.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Session Initiation Protocol Team Members: Manjiri Ayyar Pallavi Murudkar Sriusha Kottalanka Vamsi Ambati Girish Satya LeeAnn Tam.
P2PSIP Charter Proposal Many people helped write this charter…
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
 Introduction  VoIP  P2P Systems  Skype  SIP  Skype - SIP Similarities and Differences  Conclusion.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
Introduction to Peer-to-Peer Networks. What is a P2P network A P2P network is a large distributed system. It uses the vast resource of PCs distributed.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
IP telephony overview and demonstration
Introduction of P2P systems
Peer-to-Peer Networks University of Jordan. Server/Client Model What?
Call Control with SIP Brian Elliott, Director of Engineering, NMS.
Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling) protocol.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
Presented By Team Netgeeks SIP Session Initiation Protocol.
Peer-to-Peer Name Service (P2PNS) Ingmar Baumgart Institute of Telematics, Universität Karlsruhe IETF 70, Vancouver.
7/6/20061 Speermint Use Case for Cable IETF 66 Yiu L. Lee JULY 2006.
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
Peer-to-Peer Network Tzu-Wei Kuo. Outline What is Peer-to-Peer(P2P)? P2P Architecture Applications Advantages and Weaknesses Security Controversy.
Peer-to-Peer Computing Mrs. Tugba Taskaya-Temizel 13/February/2006.
1 SPEERMINT Use Cases for Cable IETF 66 Montreal 11 JULY 2006 Presented by Yiu L. Lee.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
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.
Security, NATs and Firewalls Ingate Systems. Basics of SIP Security.
P2P-SIP Peer to peer Internet telephony using SIP Kundan Singh and Henning Schulzrinne Columbia University, New York Dec 15, 2005
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
RSVP Myungchul Kim From Ch 12 of book “ IPng and the TCP/IP protocols ” by Stephen A. Thomas, 1996, John Wiley & Sons. Resource Reservation.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
Reliable and Scalable Internet Telephony Kundan Singh and Henning Schulzrinne Internet Real Time Lab – Internal Talk Sept 24, 2004.
A Cooperative SIP Infrastructure for Highly Reliable Telecommunication Services BY Sai kamal neeli AVINASH THOTA.
Protocol Requirements draft-bryan-p2psip-requirements-00.txt D. Bryan/SIPeerior-editor S. Baset/Columbia University M. Matuszewski/Nokia H. Sinnreich/Adobe.
Delivering Serverless IP Telephony to the Enterprise Simon Bryden VP Engineering, Popular Telephony.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
SIP-Based or DHT-Based? November 12, 2005 Eunsoo Shim Panasonic Digital Networking Laboratory P2P SIP Ad-hoc Meeting IETF64, Vancouver.
Malugo – a scalable peer-to-peer storage system..
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.
1Security for Service Providers – Dave Gladwin – Newport Networks – SIP ’04 – 22-Jan-04 Security for Service Providers Protecting Service Infrastructure.
IP Telephony (VoIP).
Peer to peer Internet telephony challenges, status and trend
Peer-to-peer Internet telephony using SIP
Deploying IP Telephony
DHT Routing Geometries and Chord
P2P-SIP Peer to peer Internet telephony using SIP
Presentation transcript:

VOIP over Peer-to-Peer

Road Map Introduction Background VOIP with P2P architecture SIP Media routing Interwork with PSTN Problems Summary

Introduction Advantages of P2P systems High scalability Robustness Fault tolerance Network self-organizes Intelligence (cooperation) How can VOIP be integrated within a P2P system?

Road Map Introduction Background VOIP on P2P architecture SIP Media routing Interwork with PSTN Problems Summary

P2P Architecture Centralized Pure Hybrid (super-node) Directory is stored in one server, but data is transferred between peers Napster Pure Directory is stored in each peer, and lookup is by flooding query messages Gnutella Hybrid (super-node) Directory is stored in each super node, and lookup is by requesting super-nodes Kazza

P2P Architecture

Distributed Hash Table Chord, Pastry, CAN, Tapestry, … Lookup styles directly map to the redirect and proxy server Chord

P2P Comparison Property/ scheme Un-structured CAN Chord Tapestry Pastry Viceroy Routing O(N) or no guarantee d x N1/d log(N) logBN State Constant 2d B.logBN Join/leave (logN)2 Reliability and fault resilience Data at Multiple locations; Retry on failure; finding popular content is efficient Multiple peers for each data item; retry on failure; multiple paths to destination Replicate data on consecutive peers; retry on failure Replicate data on multiple peers; keep multiple paths to each peers Routing load is evenly distributed among participant lookup servers

Server-based vs. Peer-to-Peer Reliability, failover latency DNS-based. Depends on client retry timeout, DB replication latency, registration refresh interval DHT self organization and periodic registration refresh. Depends on client timeout, registration refresh interval. Scalability, number of users Depends on number of servers in the two stages. Depends on refresh rate, join/leave rate, uptime Call setup latency One or two steps. O(log(N)) steps. Security TLS, digest authentication, S/MIME Additionally needs a reputation system, working around spy nodes Maintenance, configuration Administrator: DNS, database, middle-box Automatic: one time bootstrap node addresses PSTN interoperability Gateways, TRIP, ENUM Interact with server-based infrastructure or co-locate peer node with the gateway

Road Map Introduction Background VOIP on P2P architecture SIP Media routing Interwork with PSTN Problems Summary

VOIP on P2P Architecture Block diagram of a P2P-SIP node SIP Initialization Registration and Peer discovery Dialing out Node shutdown Media routing Firewall and NAT traversal Intelligent routing

Block diagram of a P2P-SIP node

Initialization

Initialization Calculate the key for DHT by IP 7 Contact one of the node in DHT network Request REGISTER sip:128.59.15.31 SIP/2.0 To: <sip:7@128.59.15.56> From: <sip:7@128.59.15.56> Response SIP/2.0 200 OK To: sip:7@128.59.15.56 Contact: <sip:10@128.59.15.55>; predecessor=sip:1@128.59.15.60

Initialization Insert self into correct position Build routing table Between predecessor: 1 and successor: 10 Build routing table 10>= 7+2i-1, i = 1, 2 Send sip REGISTER from 11 (= 7+23-1) REGISTER sip:128.59.15.55 SIP/2.0 To: <sip:11@sippeer.net> From: <sip:7@128.59.15.56> Respond by 15 SIP/2.0 200 OK Contact: <sip:15@128.58.15.48>; predecessor=sip:10@128.59.15.55 …

Initialization

Registration and Peer Discovery columbia.edu DB sipd SIP REGISTER with SIP registrar DHT Discover peers: bootstrap node Join DHT using node-key =Hash(ip) REGISTER with DHT using user-key =Hash(alice@columbia.edu) REGISTER alice@columbia.edu Detect peers REGISTER alice=42 42 58 12 14 REGISTER bob=12 32

Dialing Out Call, instant message, etc. INVITE sip:hgs10@columbia.edu MESSAGE sip:alice@yahoo.com If existing buddy, use cache first If not found SIP-based lookup (DNS NAPTR, SRV,…) P2P lookup Send to super-nodes: proxy Use DHT to locate: proxy or redirect INVITE key=42 302 INVITE DHT 42

Node shutdown Graceful termination DHT system will re-organize 7 will send unregister message to its predecessor:1 and successor: 10 REGISTER sip:1@128.59.15.60 SIP/2.0 To: <sip:7@128.59.15.56> From: <sip:7@128.59.15.56> Expires: 0 Contact: <sip:7@128.59.15.56>; q=1.0; predecessor=sip:1@128.59.15.60 Contact: <sip:10@128.59.15.55>; q=.8 … REGISTER sip:10@128.59.15.55 SIP/2.0 DHT system will re-organize

Node shutdown Node failure When nodes find a remote node failure, it removes it from its routing table Resend the original query request to the new failover hop

Firewall & NAT Traversal Signaling SIP symmetric response routing Connection reuse Use existing connections to transmit signals Media ICE (interactive connectivity establishment) for media session STUN and TURN

Intelligent Routing In an overlay network, there are diverse paths through relay nodes But how to select a good one? It needs extra measurements! Criterions for selecting paths Packet loss rate End-to-end delay Available bandwidth

Intelligent Routing Most of those measurements require the cooperation of middle nodes They are easier to be implemented in P2P architecture than others

Road Map Introduction Background VOIP on P2P architecture SIP Media routing Interwork with PSTN Problems Summary

Interwork with PSTN (1/4) How do they verify that the user owns the number if he registers his number? Every gateway node can reach potentially every phone number in the world – at very different rates. Registering a telephone prefix Use tel URI (Not conformant with RFC 3966) “tel:;phone-context=+1-212” “sip:+1212939xxxx@sippeer.net;user=phone”

Interwork with PSTN (2/4) Calling a telephone number INVITE tel:+1-212-939-7040 SIP/2.0 To: <tel:+1-212-939-7040> From: <sip:bob@example.com> Request-Disposition: redirect The basic key, K0, is “tel:+12129397040” derived from To header after removing any fillers. Other keys, Kn−i, is computed as “tel:;phone-context=+first i digits prefix”, for i=1,2,..n-1, where n is total number of digits.

Interwork with PSTN (3/4) Incoming INVITE handling The canonical “tel” URI is formed to compute the DHT key by removing fillers and converting “sip” URI to “tel” URI. For example, “sip:+1-212-939-xxxx@sippeer.net; user=phone” is converted to “tel:;phone-context= +1212939”. This is used as the key to compute the next hop in routing.

Interwork with PSTN (4/4) Response SIP/2.0 302 Moved temporarily To: <tel:;phone-context=+1212939> Contact: <sip:phone.cs.columbia.edu;lr> cost=0; q=1.0 To: <tel:;phone-context=+1212> Contact: <sip:phone.cs.columbia.edu;lr> cost=USD.03/6s; q=1.0 Contact: <sip:manhattan.verizon.com;lr>; cost=USD.06/60s; q=.8 To: <tel:;phone-context=+1> Contact: <sip:mci.com;lr> cost=USD.10/120s; q=1.0 Contact: <sip:att.com;lr>; cost=USD.09/60s; q=.8

Road Map Introduction Background VOIP on P2P architecture SIP Media routing Interwork with PSTN Problems Summary

Problems Security issues in peer-to-peer system Malicious program break-in, spying or spread virus, spy-wares or worms Reducing risks by Software developed by trusted entities or open source community Running the application as a regular user instead of an administrator (on Windows) or super-user (on Unix) Copyright violation Easily extended to support file transfer Reducing risk by P2P-SIP does not have an efficient search method Authenticate in Identifier protection

Problems Stolen identity Data Privacy A malicious user may steal the identify of another user Solved by doing Authentication User identify must be a valid email address System generates a password for the user identify and sends it to the email address Using MD5 hash function Data Privacy Public/Private/Protected Data Solved by using Public key mechanism

Problems Trust Misbehaving peers that route calls incorrectly or log information for misuse Solved by Hide the security algorithms

Summary P2P useful P2P/SIP Scalable, reliable No configuration Not as fast as client/server P2P/SIP Basic operations easy Some potential issues Security Performance Quality (audio)

Reference Kundan Singh and Henning Schulzrinne, "Peer-to-peer Internet Telephony using SIP", NOSSDAV. Skamania, Washington, June 2005. Kundan Singh and Henning Schulzrinne, "Peer-to-peer Internet Telephony using SIP", New York Metro Area Networking Workshop, Sep 2004. Kundan Singh and Henning Schulzrinne, "Peer-to-peer Internet Telephony using SIP", Columbia University Technical Report CUCS-044-04, Oct 2004. http://www1.cs.columbia.edu/~kns10/research/p2p-sip/ http://www.p2psip.org/

Reference An extension to the session initiation protocol (SIP) for symmetric response routing. RFC 3581, Internet Engineering Task Force, Aug. 2003 Connection reuse in the session initiation protocol (SIP). Internet Draft draft-ietf-sip-connect-reuse-00, Internet Engineering Task Force, Aug. 2003 Interactive connectivity establishment (ICE): a methodology for network address translator (NAT) traversal for the session initiation protocol (SIP). Internet Draft draft-ietf-mmusic-ice-00, Internet Engineering Task Force, Oct. 2003 Improving VoIP Quality Through Path Switching, in Proceedings of IEEE INFOCOM 2005, Miami, March, 2005 Exploring the Performance Benefits of End-to-End Path Switching. In Proceedings of ACM Sigmetrics/Performance (Extended Abstract), New York, June 2004