bryan-vsgc06
Download
Report
Transcript bryan-vsgc06
Innovations in P2P
Communications
David A. Bryan
College of William and Mary
April 11, 2006
Advisor: Bruce B. Lowekamp
P2P Communications
• VoIP – Voice over IP (Internet Protocol)
• IM – Instant Messaging (such as AOL)
• Communications systems running over a
network – not always the public Internet
– Private networks (corporation, research lab)
– Remote/ephemeral networks (sensor
networks, meetings, battlefields, etc.)
– Next generation (3G and later) cellular
phones run over IP networks
Client/Server Session
In a Client/Server session, two nodes
must use a central server to
communicate
Peer-to-Peer (P2P)
• Instead of a central server providing
services, the members of the network
collaborate to provide them as peers
• Each node in addition to be a client is
responsible for some portion of server
work
• Classic example is file sharing (Napster
and the like)
P2P Session
Innovations in P2P Communications
• What has been happening in this space?
– Several issues have emerged as problems
– Work on many fronts to solve “hard” problems
•
•
•
•
•
Security
Offline Message Storage
Standardization
NAT Traversal
Improving Routing Mechanisms
A Example of the Problems…
• Can insert nodes with nearer values, and
censor/intercept data or split a node from
the overlay. Can’t let user choose location.
Sybil Attack
• Even if you can’t pick your Node ID, if you
can occupy bulk of namespace, attack is
possible
Efforts to Prevent This Attack
• Chord limits attack by locking ID to IP address
– Bad for multiple nodes on one IP -- NATs
• Our solution: Replace last 5 digits with port
number:
– IP is fixed, assume for example this hashes to abcdef
– Client on port 5000 becomes abcdef05000
– Client on port 5001 becomes abcdef05001
• Client can have multiple nodes, but all are “near”
each other -- harder to attack a particular
machine.
Using Limited Central Servers
• Still hard to limit number of nodes, and hard to
know who is authorized
– A bit of a “cheat” -- use a central server, but only to
get onto network
– Issues a certificate when a user wants to join the
network, certificate “chain” is stored in the overlay, so
only need to contact to join
– Small cost can be used to rate limit
– Also solves the identity problem -- who gets to be
“David”?
– These certificates can be used for many things,
including encrypting messages for offline storage
Standardization and NATs
• Standardization is essential for VoIP and IM
• Image two phones not being able to talk to each
other…
• Main groups for telephony are IETF and ITU
– IETF defines VoIP standard SIP
– We have been chairing IETF efforts to standardized
P2PSIP
– Looks liklely to become a standard in the next 1-2
years
• Some open questions -- use SIP for P2P
messages too? What DHT?
• Helps solve some problems with NAT traversal
Which DHT? / Routing
• Most P2P routing research is for file sharing
– Only need to find an instance of a file
– May give up after searching part of network if not
there
• For communications, can’t have false positive or
negative
• Anonymity is different in communication
– Almost always desirable for file sharing
– Sometimes good, sometimes not for communications
• Using buddies or phone book can improve
performance
Acknowledgements
• This work is supported by:
– VSGC: David Bryan is supported by a VSGC
graduate student research grant
– Cisco Systems through a grant from the
University Research Program (URP)
• Thanks to others involved in this work:
– Bruce B. Lowekamp, W&M
– Cullen Jennings and Feng Cao, Cisco
Contact Information
• Email : [email protected]
• Web :
– http://www.cs.wm.edu/~bryan
– http://www.p2psip.org