Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

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