protocols and systems - Computer Science, Columbia University
Download
Report
Transcript protocols and systems - Computer Science, Columbia University
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