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 Web : – –