Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay NetworkJohnson LeeEECE 565 Data Communications
OutlineP2P versus Client-ServerP2P-SIP design goalOverlay Network of Skype and P2P-SIPLogin SequencesAdvance Service ComparisonSecurityPerformance
Peer-to-Peer / Client-ServierClient-Server vs P2PScalabilityInfrastructure cost
Structured vs UnstructuredSearch timeData distribution
P2P-SIP Design Goals
The system should be able to automatically configure itself. (e.g. by detecting NAT and firewall settings, discovering neighbouring peers and performing initial registration.)
It should be able to adapt to available resources and distinguish between peers with different capacity and availability constraints. This favors the distinction between nodes and super-nodes as in KaZaA.
Blind search based on flooding is inefficient. The system should use an underlying DHT to optimize lookup.
It should support advanced telephony services such as offline voice messaging, multi-party conferencing, call transfer and call forwarding as well as advanced Internet services such as presence and instant messaging.
It should easily integrate with existing protocols and IP telephony infrastructure. We choose SIP as the signaling protocol for interoperability.
Skype Overlay NetworkUnstructuredKaZaA predecssor basedSuper nodeOrdinary nodeLogin server
STUN and TURN protocols for firewall and NAT traversalSimple Traversal of UDP over NATTraversal Using Relay NAT
P2P-SIP Overlay NetworkBased on Chord Distributed Hash Table (DHT)StructuredO(log N) lookup timeFinger table
STUN and TURN firewall and NAT traversal as well
Login Sequence 1 - SkypeStartSend UDP packet(s) to HC IP address and portResponse within 5 sTCP connection attempt with HC IP address and portConnectedTCP connection attempt with HC IP address and port 80 (HTTP port)ConnectedTCP connection attempt with HC IP address and port 443 (HTTPS port)ConnectedConnection Attempt == 5FailureWait for 6 secondsSuccessYesYesNoNoYesNoYesNoYesNo
Login Sequence 2 P2P-SIPMulticast TTL = 1Service Location Protocol (SLP) [LAN peers]BootstrapCached
Advanced Services ComparisonOffline Messaging Issue Where to store?Skype stores at it message originatorP2P-SIP proposes storing it at DHTReplication strategy for reliabilityCall transfer and call forwarding are SIP features that would be available in non-P2P SIP.Super node instead of centralized databaseRequired feature for SIP (not as crucial for Skype)
SecurityP2P-SIPMalicious Node Hop-by-hop TLS (Tunneling)Freeriding IncentivesProblem: No centralized login server to certify. Trust via reputation?SkypeEncryption AES 256bitsKey Exchange RSA 2048Public Key Certified by Login Server
PerformanceP2P-SIP Scalable?Yes, suppose nodes support 10 request/sec, minimum refresh rate of one minute, call rate of one call per minute per node
Latency?P2P-SIP: 10,000 node system avg 6 hopes, SIP call setup ~200ms; therefore, 1-2 s delaySkype Average 3-8 second for user location based on a 2004 study
ReferencesSkype Networks. http://www.skype.comKaZaA. http://www.kazaa.comK. Singh and H. Schulzrinne. Peer-to-peer Internet telephony using SIP. Technical Report CUCS-044-04, Department of Computer Science, Columbia University, New York, NY, Oct. 2004.J. Rosenber, Henning Schulzrinne, G. Camarillo, A. R. Johnston, J. Peterson, R. Parks, M. Handley, and E. Schooler, "SIP: session initialiozation, protocol, RFC 3261, Internet Engineering Task Force, June 2002P2P-SIP. http://www.p2psip.org/Singh, K. and Schulzrinne, H. 2005. Peer-to-peer internet telephony using SIP. In Proceedings of the international Workshop on Network and Operating Systems Support For Digital Audio and Video (Stevenson, Washington, USA, June 13 - 14, 2005). NOSSDAV '05. ACM Press, New York, NY, 63-68. DOI= http://doi.acm.org/10.1145/1065983.1065999