360 likes | 533 Views
Peer-to-Peer Communication Systems Protocols and Systems, Reliability, Energy Efficiency and Measurements. Salman Abdul Baset salman@cs.columbia.edu Department of Computer Science Columbia University. Background and Motivation. IP-based communication systems. Client-server. Peer-to-Peer.
E N D
Peer-to-Peer Communication SystemsProtocols and Systems, Reliability, Energy Efficiency and Measurements Salman Abdul Baset salman@cs.columbia.edu Department of Computer Science Columbia University
IP-based communication systems Client-server Peer-to-Peer • Basic services • establish voice, video, IM sessions • voicemail • Advanced services • conferencing, telepresence • voicemail to text
Client-server IP communication system SIP registrar / proxy / presence server SIP registrar / proxy server IP-PSTN gateway REGISTER (ip addr) REGISTER (ip addr) (1) signaling (1) signaling (2) media (voice, video, IM) User agent User agent Utopian Internet No NATs or firewalls
SIP registrar / proxy / presence / server media server NAT / firewall NAT / firewall User agent User agent Client-server IP communication system NAT packet packet Src-IP Dst-IP Pub-IP Dst-IP Network Src-IP Pr-IP Pub-IP Dst-IP
Client-server IP communication system SIP registrar / proxy / presence / server media server IP-PSTN gateway Peer-to-Peer distribute to user agents { What is centralized? • directory service • call signaling • media session and conferencing • presence • PSTN connectivity (1) signaling NAT / firewall NAT / firewall (1) signaling (2) media (voice, video, IM) (UDP or TCP) User agents User agents Why is this a problem? • Scaling for millions of users • servers • b/w • management overhead • How many calls need media relaying? • 30% • in practice: all
Peer-to-peer communication system media relay (or relay) node A node E NAT / firewall network address of node B? (3) media (TCP) (2) signaling (2) (4) media (1) (3) signaling P2P / PSTN gateway (1) (1) NAT / firewall network address of node E? (2) (1) node B (2) signaling • nodes form an overlay • share responsibilities for message routing, signaling, media relaying • super nodes, ordinary nodes node C node D node = user agent
media relay (or relay) node A node E NAT / firewall (3) media (TCP) (2) signaling (1) (1) NAT / firewall network address of node E? node B (2) signaling node C node D ChallengesDesigning, building, and analyzing p2p communication systems #1 Protocol and system design #2 Reliability #3 Session quality #4 Energy efficiency #5 Measurement
Why not just use Skype? • Skype works, but • Closed and proprietary solution • Requires Internet access • cannot be used in ad hoc environments • Skype network failure for 2-5 days • August 2007
Motivation • Peer-to-peer communication systems • Why not client-server? • server, b/w, maintenance overhead • Why not just use Skype? • proprietary solution
Outline Background & Motivation How to design protocols and systems for p2p. communication? Other work Protocol and System Design Peer-to-Peer Communication Systems Measurement Reliability What is the reliability of a p2p comm. system? What are the measurement techniques to understand p2p comm. systems as a black box? Energy Efficiency Are p2p VoIP systems more energy efficient than c/s?
Outline Background & Motivation How to design protocols and systems for p2p. communication? Protocol and System Design Peer-to-Peer Communication Systems Reliability
Protocol and System Design • Goal: design open, standardized, and interoperable protocols for building p2p communication systems in ad hoc, office, and Internet environments • High-level Requirements • Scalability • NATs and firewalls • churn • heterogeneous capabilities • overlay routing • Security • trusted and insecure environments • Resources and Services • heterogeneity, discovery, addressing • Interoperability • Reuse existing protocols • where possible Can we meet these requirements?
Yes, we can! • How? • Identify common aspects of existing p2p protocols and potential deployments and incorporate them in the protocol. • Support pluggable overlay routing. • one overlay protocol may not be suitable for all environments • Make protocol extensible for future-proofing. flexibility vs. complexity tradeoff
Protocol and System Design Common aspects • Connectivity • NAT traversal • bootstrap • Resilience • recovery from node churn • Request routing • recursive vs. iterative • parallel vs. sequential • Heterogeneity of nodes • mobile, desktop • super node vs. ordinary node • Security • identity • message confidentiality • Data model • addressing, storage, integrity • Message reliability • hop-by-hop, e2e Non-common aspects • Next-hop determination • depends on the overlay protocol • Chord, Kademla, Gia, • Methods for implementing the common aspects • Overlay protocol implements specific methods
Peer-to-Peer Protocol (P2PP) • Now part of RELOAD protocol being standardized in the IETF • Not a new DHT! • Geared towards IP telephony but applicable to streaming, VoD etc. • A request / response binary protocol • Common methods • Join, Leave, Publish, Lookup etc • Overlay specific • FindPeer, ExchangeTable • Pluggable overlay routing (Chord, Kademlia etc) • Application-level API • Security • enrollment server, shared-secret, X.509 certificates • TLS, DTLS for message confidentiality SIP API P2PP ICE TLS / SSL protocol stack of a node IETF P2PSIP working group documents
Peer-to-Peer Protocol (P2PP) • Data model • key / value pairs • value: single, array, dictionary • data integrity • Monitoring and diagnostics gathering • Node heterogeneity • peers (super nodes) and clients (ordinary nodes) • use of peers as relays • NAT traversal built-in • a node exchanges its host, NAT, and a relay IP address in requests and responses • then uses ICE (interactive connectivity establishment) for NAT traversal • Message reliability • hop-by-hop, e2e
[ Bootstrap / authentication ] [ monitoring server / Google Maps ] Overlay2 SIP NAT P2PP ICE Overlay1 Transport Protocol stack of a peer alice@domain.com bob@example.com A peer NAT A client OpenVoIP architecture • Proof-of-concept system based on P2PP SIGCOMM (demo) 2008
OpenVoIP: key facts • 1000 node network on ~500 PlanetLab machines • Kademlia, Bamboo, Chord • Windows XP / Vista, Linux • Integrated with Google, flash-based maps • Integrated with open source SIP phone OpenWengo (Qutecom) • Code used and modified by Ericsson Labs, Nokia Labs, Telecom Italia, and many universities
Outline Background & Motivation Protocol and System Design Peer-to-Peer Communication Systems Reliability What is the reliability of a p2p comm. system?
Reliability of P2P Comm. Systems • Goal: to reason about the reliability of p2p comm. systems • Reliability=Proportion of completed calls • understand reasons for call failure • devise techniques to improve them • Reasons for call failure • (1) distributed search fails to find online callee • (2) distributed search fails to find a suitable relay • (3) relay fails during voice/video session • understand and improve reliability for relayed calls media relay (or relay) NAT / firewall node A node E (3) media (TCP) (2) signaling (1) (1) network address of node E? NAT / firewall node B (2) signaling node C node D IPTCOMM’2010
Understanding reliability of relayed calls For desired reliability, minimum relays k per call? • Model • when ith relay fails, call is switched (i+1)st relay which is instantly selected from the global pool of all relays. • Ri residual lifetime of a relay candidate (i.i.d.) • let D denote the call duration. D Rk-1 Rk R1 k 1 2 k-1 99.9% k depends on the relationship b/w node lifetime and call duration
Understanding reliability of relayed calls Exponential node lifetimes Skype node lifetimes 95% of Skype relay calls last less than 60 mins Mean node lifetime Mean call duration lifetimes approximated as pareto 95% of Skype call durations – minimum of 3 relays to maintain 99.9% success rate What if the system does not have enough relays?
Outline Background & Motivation Protocol and System Design Peer-to-Peer Communication Systems Reliability Energy Efficiency Are p2p VoIP systems energy efficient than c/s?
media relay (or relay) NAT / firewall node A node E (3) media (TCP) (2) signaling SIP registrar / proxy / presence / server media server (1) (1) network address of node E? INVITE NAT / firewall node B (2) signaling NAT / firewall INVITE media (voice, video, IM) (UDP or TCP) node C node D User agents User agents Are p2p comm. systems more energy efficient than c/s? • Two reasons • overheads (e.g., cooling) power utilization efficiency – (PUE) • ratio of data center power draw to IT power draw • idle power consumption • But really? • we tried to answer this question SIGCOMM Green networking workshop 2010
Are p2p comm. systems more energy efficient than c/s? • Issues in comparison • under same load • centralized vs. distributed aspects • do not compare components that are centralized in p2p and c/s • PSTN replacement • Skype vs. Vonage • endpoint energy consumption • negligible 5W per device, • but millions of them … • workload characteristics • impacted by NATs and firewalls • Our approach • gather peak data from VoIP providers • build energy models for c/s and p2p VoIP systems • perform measurements • C/S VoIP provider • 100 K users • mostly business • 15 calls per second (CPS) • ~5K calls in system • NAT keep-alive traffic • all calls are relayed
Energy Models for C/S and P2P • N users or nodes • C/S model • C/S power consumption = servers x watt/server x redundancy factor x PUE • P2P model • S supernodes • ps denotes power consumption by super node functions P2P energy efficient when: # of super nodes (S) x power consump. of a super node (ps) < C/S power consumption • Estimating super node population • one per relayed call • 1 million users • servers (~50% utilization) • 2 kW ps = 0.266W P2P may not be energy efficient than c/s for VoIP
Energy Efficiency of VoIP Systems • End-points dominate energy consumption in c/s systems replacing PSTN • 1 million users • servers 2 kW, endpoints 5000 kW (at 5W) • 0.04% (voice) • NATs are responsible for energy inefficiency of c/s systems • problems will not go away with IPv6: firewalls • VoIP and PSTN? • trying to figure it out
Outline Background & Motivation Protocol and System Design Peer-to-Peer Communication Systems Measurement Reliability What are the measurement techniques to understand p2p comm. systems as a black box? Energy Efficiency
Measurement: Skype • Super node, ordinary node, login server • Actively prevent against reverse engineering • LD_PRELOAD • forcing Skype to use a modified shared library • Voice and video calls • relaying • over TCP • Ports: no default listening port • opens port 80 (HTTP) and 443 (TLS) • Contact list • stored centrally, initially distributed • Video conferencing • using central servers INFOCOM’06
Is Skype free-riding on universities bandwidth? • Two Skype clients in Columbia University forced to use a relay • 6,000 relay calls • Median latency: ~95ms • 46% calls through relays with a .edu suffix • 8% of calls through Columbia Skype users • Is it deliberate? • probably not • relay selection biased towards high-capacity nodes which happen to be in universities our lab NAT NAT GI’08
Outline Background & Motivation Other work Protocol and System Design Peer-to-Peer Communication Systems Measurement Reliability Energy Efficiency
Other work Research • TCP feasibility for real-time traffic (SIGMETRICS) • Can software routers scale? (PRESTO) Hacking and building • vazool.com
Directions for future research • A holistic framework for reliability, performance, and energy tradeoffs in data centers • virtualization, consolidation • nano data centers? • Preventing data lock-in for social networks and cloud-based services • enabling seamless data migration across different cloud providers • holy grail: ‘one click’ data migration
Conclusions Background & Motivation • Open P2PSIP protocol • OpenVoIP Other work Protocol and System Design Peer-to-Peer Communication Systems Measurement Reliability 3 relays are sufficient to achieve 99.9% call reliability Skype is free-riding on universities bandwidth Energy Efficiency • p2p may not be energy efficient than c/s • endpoints dominate