* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download protocols and systems - Computer Science, Columbia University
Zero-configuration networking wikipedia , lookup
Internet protocol suite wikipedia , lookup
Airborne Networking wikipedia , lookup
SIP extensions for the IP Multimedia Subsystem wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Distributed firewall wikipedia , lookup
Distributed operating system wikipedia , lookup
Peer-to-Peer Communication Systems Protocols and Systems, Reliability, Energy Efficiency and Measurements Salman Abdul Baset [email protected] Department of Computer Science Columbia University Background and Motivation 2 IP-based communication systems Client-server Peer-to-Peer • Basic services – establish voice, video, IM sessions – voicemail • Advanced services – conferencing, telepresence – voicemail to text 3 Client-server IP communication system SIPSIP registrar / / registrar proxy / presence proxy server server REGISTER (1) signaling (ip addr) REGISTER (1) signaling (ip addr) IP-PSTN gateway PSTN / Mobile (2) media User agent (voice, video, IM) User agent Utopian Internet No NATs or firewalls 4 Client-server IP communication system SIP registrar / proxy / presence / server media server NAT / firewall NAT / firewall User agent User agent NAT packet packet Src-IP Dst-IP Pub-IP Dst-IP Network Src-IP Pr-IP Pub-IP Dst-IP 5 Client-server IP communication system SIP registrar / proxy / presence / server (1) signaling NAT / firewall media server What is centralized? Peer-to-Peer • directory service distribute to / firewall • call signaling (1) signaling (2) media userNAT agents (voice, IM) session and conferencing • video, media (UDP or TCP) • presence • PSTN connectivity { User agents Why is this a problem ? • IP-PSTN gateway PSTN / Mobile User agents Scaling for millions of • How many calls need users media relaying? – servers – b/w – management overhead – 30% – in practice: all 6 Peer-to-peer communication system media relay (or relay) node A node E NAT / firewall network address media of(3) node B? (TCP) (2) (4) media (2) signaling (1) (3) signaling PSTN / Mobile P2P P2P / PSTN gateway (1) NAT / firewall node B (1) network address (2) of node E? (1) • • (2) signaling node C node = user agent node D • nodes form an overlay share responsibilities for message routing, signaling, media relaying super nodes, ordinary nodes 7 Challenges Designing, building, and analyzing p2p communication systems media relay (or relay) node A node E NAT / firewall (3) media (TCP) (2) signaling #1 Protocol and system design #2 Reliability P2P (1) NAT / firewall (1) network address of node E? #3 Session quality node B (2) signaling node C #4 Energy efficiency node D #5 Measurement 8 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 9 Motivation • Peer-to-peer communication systems – Why not client-server? • server, b/w, maintenance overhead – Why not just use Skype? • proprietary solution 10 Outline Background & Motivation How to design protocols and systems for p2p. communication? Peer-to-Peer Communication Systems What are the measurement techniques to understand p2p comm. systems as a black box? Energy Efficiency What is the reliability of a p2p comm. system? Are p2p VoIP systems more energy efficient than c/s? 11 Outline Background & Motivation How to design protocols and systems for p2p. communication? Peer-to-Peer Communication Systems 12 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 • • • • – Resources and Services NATs and firewalls churn heterogeneous capabilities overlay routing – Security • heterogeneity, discovery, addressing – Interoperability – Reuse existing protocols • where possible Can we meet these requirements? • trusted and insecure environments 13 Yes, we can! • How? (1) Identify common aspects of existing p2p protocols and potential deployments and incorporate them in the protocol. flexibility vs. complexity tradeoff (2) Support pluggable overlay routing. • one overlay protocol may not be suitable for all environments (3) Make protocol extensible for future-proofing. 14 Protocol and System Design Common aspects • Connectivity • Data model – NAT traversal – bootstrap – addressing, storage, integrity • Message reliability • Resilience – hop-by-hop, e2e – recovery from node churn • Methods for implementing the common aspects • Request routing Request Request Request Response •– Overlay protocol specific methods recursive vs. iterative implements Non-common aspects Response – parallel vs. sequential Next-hop determination Request Response • Response • Heterogeneity of nodes – depends on the overlay A – mobile, desktop – super node vs. ordinary node B C A B protocol – Chord, Kademla, Gia, • Security – identity – message confidentiality 15 C Peer-to-Peer Protocol (P2PP) • Now part of RELOAD protocol being standardized in the IETF SIP • Not a new DHT! API • Geared towards IP telephony but P2PP ICE applicable to streaming, VoD etc. TLS / SSL • A request / response binary protocol – Common methods • Join, Leave, Publish, Lookup etc – Overlay specific protocol stack of a node • FindPeer, ExchangeTable • Pluggable overlay routing (Chord, Kademlia etc) • Application-level API • Security – enrollment server, shared-secret, X.509 certificates – TLS, DTLS for message confidentiality IETF P2PSIP working group documents 16 Peer-to-Peer Protocol (P2PP) • Node heterogeneity • Data model – peers (super nodes) and clients – key / value pairs – value: single, array, dictionary (ordinary nodes) – data integrity – use of peers as relays • NAT traversal built-in Resource-ID – 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 Type 1 Type 1 Value 1 Value 1 Value 2 Value 2 Signature • Monitoring and diagnostics gathering 17 OpenVoIP architecture • Proof-of-concept system based on P2PP [ Bootstrap / authentication ] [ monitoring server / Google Maps ] Overlay2 SIP NAT P2PP Overlay1 ICE Transport Protocol stack of a peer [email protected] NAT [email protected] A peer A client SIGCOMM (demo) 2008 18 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 19 OpenVoIP: geo+logical interface 20 Outline Background & Motivation Peer-to-Peer Communication Systems What is the reliability of a p2p comm. system? 21 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) node A NAT / firewall node E (3) media (TCP) (2) signaling P2P (1) NAT / node B firewall (1)network address of node E? (2) signaling node C node D 22 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 1 R1 2 Rk-1 k-1 k Rk k Desired rel P( Ri D) 99.9% i 0 k depends on the relationship b/w node lifetime and call duration 23 Understanding reliability of relayed calls Exponential node lifetimes 99.9% 1 ( /( v)) k Min # of relays k Skype node lifetimes 95% of Skype relay calls last less than 60 mins Min # of relays k Mean node lifetime Mean call duration 6 4 3 5 1 10 Skype 12 hours (mean) 4 hours (med) 3 (mean call holding time = one hour) 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? 24 Outline Background & Motivation Peer-to-Peer Communication Systems Energy Efficiency Are p2p VoIP systems energy efficient than c/s? 25 Are p2p comm. systems more energy efficient than c/s? SIP registrar / proxy / presence / server media server media relay (or relay) node A NAT / firewall (3) media (TCP) (2) signaling INVITE media node E INVITE NAT / firewall (voice, video, IM) (UDP or TCP) User agents P2P (1) NAT / node B firewall User agents • Two reasons (1) network address of node E? (2) signaling node C node D – 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 26 SIGCOMM Green networking workshop 2010 Are p2p comm. systems more energy efficient than c/s? • Issues in comparison • Our approach – under same load – centralized vs. distributed aspects • do not compare components that are centralized in p2p and c/s – PSTN replacement • C/S VoIP provider • Skype vs. Vonage – endpoint energy consumption • negligible 5W per device, • but millions of them … – workload characteristics • impacted by NATs and firewalls – gather peak data from VoIP providers – build energy models for c/s and p2p VoIP systems – perform measurements – 100 K users • mostly business – – – – 15 calls per second (CPS) ~5K calls in system NAT keep-alive traffic all calls are relayed 27 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 28 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 29 Outline Background & Motivation Peer-to-Peer Communication Systems What are the measurement techniques to understand p2p comm. systems as a black box? Energy Efficiency 30 Measurement: Skype • Super node, ordinary node, login server • Actively prevent against reverse engineering Skype login server Message exchange with the login server during login – 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 ordinary host (SC) super node (SN) neighbor relationships in the Skype network 31 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? NAT NAT our lab – probably not – relay selection biased towards highcapacity nodes which happen to be in universities 32 GI’08 Outline Background & Motivation Peer-to-Peer Communication Systems Energy Efficiency 33 Other work Research • TCP feasibility for real-time traffic (SIGMETRICS) • Can software routers scale? (PRESTO) Hacking and building • vazool.com 34 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 35 Conclusions Background & Motivation • Open P2PSIP protocol • OpenVoIP Peer-to-Peer Communication Systems Skype is free-riding on universities bandwidth Energy Efficiency • p2p may not be energy efficient than c/s • endpoints dominate 3 relays are sufficient to achieve 99.9% call reliability 36