Professional Documents
Culture Documents
Overview
Introduction
Architecture
Implementation
What is P2P?
Computer systems
Centralized
Distributed
mainframes
workstations
Client-server
Flat
Peer-to-peer
Hierarchical Pure
RPC
HTTP
DNS
mount
Hybrid
Gnutella
Chord
Napster
Groove
Napster
Gnutella
Kazaa
Freenet
Overnet
Kazaa
C
S
C
C
P
P
File sharing
SETI@Home
folding@Home
Distributed computing
P2P goals
Definition fuzzy
no need for
central server
proxy functions
distributed among
end systems
4
Types of search
Basic operations
find(key), insert(key, value), delete(key),
but no search(*)
Properties/types
Chord
Search time or
messages
O(1)
O(log(N))
O(n)
Join/leave
messages
O(n)
O(log(N)2)
O(1)
Why P2P-SIP?
REGISTER
alice@columbia.edu =>128.59.19.194
INVITE alice@columbia.edu
Contact: 128.59.19.194
Alices host
128.59.19.194
columbia.edu
Bobs host
INVITE alice
P2P overlay
128.59.19.194
REGISTER
Alice
128.59.19.194
SIP-using-P2P
Replace SIP
location service by
a P2P protocol
P2P-over-SIP
Additionally,
implement P2P
using SIP
messaging
P2P network
FIND
INSERT
INVITE sip:alice@128.59.19.194
INVITE alice
REGISTER
P2P-SIP
overlay
Alice
128.59.19.194
Alice
128.59.19.194
SIP-using-P2P
P2P-over-SIP
Rendezvous/signaling
Configuration storage
Media storage
Identity assertion (?)
Gateway (?)
NAT/media relay (find best one)
10
Hybrid architecture
Lookup in SIP+P2P
Disadvantages
11
1
54
58
10
14
47
42
21
nod
e
8+1 = 9
14
8+2 =
10
14
8+4 =
12
14
8+8 =
16
21
8+16=2
4
32
8+32=4
0
42
Identifier circle
Keys assigned to
successor
Evenly distributed
keys and nodes
Finger table: logN
Stabilization for
join/leave
38
32
38
24
30
0
12
Design alternatives
1
54
58
servers
47
42
38
38
d471f1
14 10
d46a1c
21
d467c4
d462ba
1
54
d4213f
10
32
24 30
Route(d46a1c)
d13da3
65a1fc
38
24 30
clients
Use DHT in
server farm
Hierarchy
Dynamically adapt
13
Architecture of prototype
User interface (buddy list, etc.)
Signup,
Find buddies
IM,
call
On resetSignout,
transfer
On startup
User location
Leave
Find
Discover
Peer found/
Detect NAT
ICE
Join
DHT (Chord)
Multicast REGISTER
REGISTER
Audio devices
REGISTER,
INVITE,
MESSAGE
SIP
Codecs
RTP/RTCP
SIP-over-P2P
P2P-using-SIP
14
Naming and
authentication
TTL, security
15
SIP messages
REGISTER
To: <sip:11@example.invalid>
From: <sip:7@128.59.15.56>
10
22
7
15
Find(11) gives 15
SIP/2.0 200 OK
To: <sip:11@example.invalid>
Contact: <sip:15@128.59.15.48>; predecessor=sip:10@128.59.15.55
REGISTER
To: <sip:1@128.59.15.60>
Contact: <sip:7@128.59.15.56>; predecessor=sip:1@128.59.15.60
16
SIP messages
User registration
REGISTER
To: sip:alice@columbia.edu
Contact: sip:alice@128.59.19.194:8094
17
Node startup
columbia.edu
sipd
REGISTER
SIP
DB
alice@columbia.edu
DHT
Detect peers
REGISTER alice=42
42
58
12
14
REGISTER bob=12
32
18
Node leaves
Chord reliability
REGISTER key=42
Graceful leave
REGISTER
42
OPTIONS
DHT
Un-REGISTER
Transfer registrations
Failure
42
19
Implementation
31
29
31
30
25
26
26
19
15
sippeer: C++,
Unix (Linux),
Chord
11
Use P2P-SIP
node as an
outbound proxy
ICE for
NAT/firewall
traversal
STUN/TURN
server in the
node
21
Hybrid (federated)
architecture
Cross register,
or
Locate during
call setup
DNS, or
P2P-SIP
hierarchy
22
Evaluation
scalability
#messages depends on
#nodes = f(capacity,rates)
Evaluation
Prediction:
Need federated
system
multiple p2p
systems,
identified by
DNS domain
name
with gateway
nodes
25
Security
Optimization
Deployment
Anonymity, encryption
Attack/DOS-resistant, SPAM-resistant
Malicious node
Protecting voicemails from storage nodes
Motivation
27
P2P
scaling
server count
efficiency
most efficient
DHT
maintenance =
O((log N)2)
security
trust server
provider; binary
trust most
supernodes;
probabilistic
reliability
server
redundancy;
catastrophic
failure possible
unreliable
supernodes;
catastrophic
failure unlikely
28
Catastrophic failure
P2P system
less likely
share same OS?
29
Conclusions
C
C
S
763
d471f1
d467c4
d46a1c
d462ba
364
123
d4213f
Scalable, reliable
No configuration
Not as fast as client/server
P2P-SIP
324
Route(d46a1c)
365
135
427
d13da3
65a1fc
564
Interoperates
http://www.p2psip.org/
Implementation
Security
Performance
http://www.cs.columbia.edu/IRT/p2p-sip
30