Peer-to-peer Internet telephony


Published on

Peer-to-peer Internet telephony: challenges and status

This was presented at the VoIP conference and expo, 2010, at IIT Rice campus, IL.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Peer-to-peer (P2P) systems inherently have high scalability, robustness and fault tolerance because there is no central point of failure and the network self-organizes itself. Skype is a popular and dominant example of P2P VoIP. The IETF P2P-SIP working group was formed to explore a P2P architecture for SIP-based telephony and beyond. Traversal through NATs and firewalls is a major challenge in getting end-to-end media in a distributed P2P network. Another major problem of P2P VoIP is security against malicious peers.   I will present an overview of P2P VoIP,  the challenges, status and current trend in practice. In particular you will learn the advantages and problems associated with P2P VoIP, comparison of various architectures, design decisions and implementations, and a summary of IETF effort.
  • Peer-to-peer Internet telephony

    1. 1. Peer to peer Internet telephony challenges, status and trend Kundan Singh Oct 2010
    2. 2. What will you learn? <ul><li>What is P2P telephony? </li></ul><ul><li>How is it implemented? </li></ul><ul><li>What are the benefits and limitations? </li></ul><ul><li>What is IETF doing about it? </li></ul>
    3. 3. Problem with servers <ul><li>Server-based </li></ul><ul><ul><li>Operations cost: maintenance, configuration </li></ul></ul><ul><ul><li>Central points of catastrophic failures </li></ul></ul><ul><ul><li>Controlled infrastructure (e.g., DNS) </li></ul></ul><ul><li>Peer-to-peer </li></ul><ul><ul><li>Robust: no central dependency </li></ul></ul><ul><ul><li>Self organizing, no configuration </li></ul></ul><ul><ul><li>Inherently scalable </li></ul></ul>What is P2P telephony? C C C C C S P P P P P
    4. 4. Peer-to-peer ≠ cloud computing <ul><li>Self management </li></ul><ul><li>Free resource sharing </li></ul><ul><li>No central co-ordination </li></ul><ul><li>… </li></ul><ul><li>Self management </li></ul><ul><li>Utility computing </li></ul><ul><li>Central co-ordination </li></ul><ul><li>… </li></ul>What is P2P telephony? managed
    5. 5. A brief history <ul><li>Napster initiated P2P file sharing </li></ul><ul><ul><li>“ for every one of you that falls, two shall arise.” </li></ul></ul><ul><li>Distributed hash tables </li></ul><ul><ul><li>Chord, CAN, Pastry, Tapestry, Kademlia, … </li></ul></ul><ul><li>Skype (re-)invented P2P-VoIP </li></ul><ul><ul><li>Now: 13% international calls, 54 billion minutes </li></ul></ul><ul><li>Demonstrated P2P-SIP at Columbia University </li></ul><ul><ul><li>IETF WG formed; several more implementations </li></ul></ul><ul><li>Adobe added P2P to Flash Player </li></ul><ul><ul><li>Proprietary, E2E but not quite P2P </li></ul></ul>What is P2P telephony? 1999 2001 2003 2004 2008
    6. 6. What is P2P telephony? PBX, H.320, H.324, RTMP, Asterix/IAX, B2BUA, SBC, … SIP, H.323, XMPP/Jingle, Gtalk, RTSP, RTMFP, … Skype, P2P-SIP, … signaling + media signaling media
    7. 7. What is P2P telephony? enrollment service login server varies centralized incentive driven caching, delay storage, split-and-store implementation driven (mostly) unstructured File sharing open problem proprietary software malicious nodes caching useless; bounded load overloaded super-nodes efficiency open protocols + algorithms proprietary/close needs gateway inter-operability structured DHT  efficiency guarantee Kazaa based  unstructured topology P2P-SIP Skype
    8. 8. What is a DHT? <ul><li>Chord </li></ul><ul><ul><li>consistent hashing </li></ul></ul><ul><ul><li>data replication </li></ul></ul>What is P2P telephony? 1 8 14 21 32 38 58 47 42 node Key 42 8+32=40 32 8+16=24 21 8+8 = 16 14 8+4 = 12 14 8+2 = 10 14 8+1 = 9 10 24 30 54 38
    9. 9. How to combine SIP + P2P? <ul><li>SIP-using-P2P </li></ul><ul><ul><li>SIP location service </li></ul></ul><ul><li>P2P-over-SIP </li></ul><ul><ul><li>+ implement P2P network using SIP </li></ul></ul>How is it implemented? P2P network SIP SIP P2P Lookup SIP P2P P2P Maintenance P2P-over-SIP P2P SIP proxies SIP-using-P2P Alice INSERT INVITE sip:alice@ FIND P2P network Alice REGISTER INVITE alice SIP overlay
    10. 10. What are super peers? How is it implemented? Use DHT among super-peers 1 10 24 30 54 38
    11. 11. Implementation examples <ul><li>SIPpeer </li></ul><ul><li>SIPc + OpenDHT </li></ul><ul><li>Sipeerior </li></ul><ul><li>SIPDHT </li></ul><ul><li>OpenVoIP </li></ul><ul><li>39 peers </li></ul><ul><li>SIP thor </li></ul><ul><li>P2P-over-SIP </li></ul><ul><li>SIP-using-P2P </li></ul><ul><li>Data model </li></ul><ul><li>Service model </li></ul><ul><li>Adaptor </li></ul>How is it implemented?
    12. 12. What are the challenges? <ul><li>Bootstrap a network </li></ul><ul><li>Security of stored data and keys </li></ul><ul><li>Data vs service model </li></ul><ul><li>NAT and firewall traversal </li></ul><ul><li>Working with free loaders </li></ul><ul><li>Getting around malicious peers </li></ul>What are the benefits and limitations?
    13. 13. When to do P2P? <ul><li>if </li></ul><ul><ul><li>most of the peers do not trust each other, </li></ul></ul><ul><ul><li> AND </li></ul></ul><ul><ul><li>There is no incentive to help peers </li></ul></ul><ul><li>then </li></ul><ul><ul><li>P2P does not evolve naturally to work </li></ul></ul>What are the benefits and limitations? See
    14. 14. What are the benefits and limitations? * Node capacity of 10 register/s and refresh/call rates of 1/min  more than 16 million peers (super-nodes) in the network lookup = O(logN) #connections  one or two steps Call setup latency upper bound; catastrophic failure unlikely trust (most) super nodes; probabilistic maintain = O((logN) 2 ) user count  ≈ 2 {node-capacity}* uptime, churn, … Structured P2P (Chord) no guarantee server redundancy (1-(1-R) P ); catastrophic failure possible; bulk load Availability connect to trusted nodes only trust provider; boolean Security #connections  most efficient Efficiency user count  K-degree  no limit server count  ≈ {server-count} Scaling Unstructured P2P (blind-search) server-based
    15. 15. IETF P2P-SIP working group <ul><li>Includes </li></ul><ul><ul><li>peer protocol, client protocol, SIP usage, locating resources. </li></ul></ul><ul><li>Excludes </li></ul><ul><ul><li>modification to SIP, unique identities, “research”-type, search, multicast, dynamic DNS, … </li></ul></ul><ul><li>Must </li></ul><ul><ul><li>use existing tools from other WGs </li></ul></ul>What is IETF doing about it?
    16. 16. Proposed architecture <ul><li>MUST </li></ul><ul><ul><li>Chord DHT </li></ul></ul><ul><ul><li>128-bit keys </li></ul></ul><ul><ul><li>DTLS and TLS </li></ul></ul>What is IETF doing about it? SIP usage Forwarding and link management TLS Topology plugin XMPP usage Message transport Storage DTLS
    17. 17. REsource LOcation And Discovery <ul><li>Creating pages of specifications </li></ul><ul><ul><li>draft-ietf-p2psip-base-10 (154p), plus ICE+STUN +TURN+DTLS (260p), and: draft-ietf-p2psip-sip-05, -diagnostics-04, -self-tuning-02, service-discovery-01 </li></ul></ul><ul><li>Creating unnecessary complexity </li></ul><ul><ul><li>No compliant implementation; discourages developers/start ups; real problems are out-of-scope </li></ul></ul>What is IETF doing about it? 2010 2009
    18. 18. Summary <ul><li>What is P2P telephony? </li></ul><ul><ul><li>Versus client-server, end-to-end, and cloud </li></ul></ul><ul><li>How is it implemented? </li></ul><ul><ul><li>P2P-over-SIP, SIP-using-P2P, data vs service, adaptor & proxy, </li></ul></ul><ul><li>What are the benefits and limitations? </li></ul><ul><ul><li>Scalability, availability, maintenance, lookup </li></ul></ul><ul><li>What is IETF doing about it? </li></ul><ul><ul><li>RELOAD, SIP usage, … </li></ul></ul>Visit for more