160 likes | 324 Views
Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network. Johnson Lee. EECE 565 Data Communications. Outline. P2P versus Client-Server P2P-SIP design goal Overlay Network of Skype and P2P-SIP Login Sequences Advance Service Comparison Security Performance.
E N D
Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network Johnson Lee EECE 565 Data Communications
Outline • P2P versus Client-Server • P2P-SIP design goal • Overlay Network of Skype and P2P-SIP • Login Sequences • Advance Service Comparison • Security • Performance
Peer-to-Peer / Client-Servier • Client-Server vs P2P • Scalability • Infrastructure cost • Structured vs Unstructured • Search time • Data distribution
Skype Overlay Network • Unstructured • KaZaA predecssor based • Super node • Ordinary node • Login server • STUN and TURN protocols for firewall and NAT traversal • Simple Traversal of UDP over NAT • Traversal Using Relay NAT
P2P-SIP Overlay Network • Based on Chord Distributed Hash Table (DHT) • Structured • O(log N) lookup time • Finger table • STUN and TURN firewall and NAT traversal as well
Login Sequence 1 - Skype Wait for 6 seconds Send UDP packet(s) to HC IP address and port Responsewithin 5 s Start Failure Yes No ConnectionAttempt == 5 Yes No TCP connectionattempt with HC IPaddress and port Success No Connected Yes Connected Yes No Yes TCP connectionattempt with HC IPaddress and port 80(HTTP port) Connected TCP connectionattempt with HC IPaddress and port 443 (HTTPS port) No
Login Sequence 2 – P2P-SIP • Multicast TTL = 1 • Service Location Protocol (SLP) [LAN peers] • Bootstrap • Cached
Advanced Services Comparison • Offline Messaging Issue – Where to store? • Skype stores at it message originator • P2P-SIP proposes storing it at DHT • Replication strategy for reliability • Call transfer and call forwarding are SIP features that would be available in non-P2P SIP. • Super node instead of centralized database • Required feature for SIP (not as crucial for Skype)
P2P-SIP Malicious Node Hop-by-hop TLS (Tunneling) Freeriding Incentives Problem: No centralized login server to certify. Trust via reputation? Skype Encryption AES 256bits Key Exchange RSA 2048 Public Key Certified by Login Server Security
= = C = 10, c = 1/60, and r = 1/60 Performance • P2P-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 delay • SkypeAverage 3-8 second for user location based on a 2004 study
References • Skype Networks. http://www.skype.com • KaZaA. http://www.kazaa.com • K. 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 2002 • P2P-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
Questions/Comments? Thank You For Listening
Service Location Protocol • RFC 2608 • Allows computers and other devices to find services in a local area network without prior configuration. • “service:printer:lpr://myprinter/myqueue”
Advanced Encryption Standard • Aka Rijndael • Block Cipher • Replaces DES (and the modified 3DES) • 128, 192, 256 bits keys • AddRoundKey — each byte of the state is combined with the round key; each round key is derived from the cipher key using a key schedule. • SubBytes — a non-linear substitution step where each byte is replaced with another according to a lookup table. • ShiftRows — a transposition step where each row of the state is shifted cyclically a certain number of steps. • MixColumns — a mixing operation which operates on the columns of the state, combining the four bytes in each column using a linear transformation.