Comparison between Skype and SIPbased PeertoPeer VoiceOverIP Overlay
Comparison between Skype and SIPbased Peer-to-Peer Voice-Over-IP Overlay Network Johnson Lee EECE 565 Data Communications
Outline • • P 2 P versus Client-Server P 2 P-SIP design goal Overlay Network of Skype and P 2 P-SIP Login Sequences Advance Service Comparison Security Performance 2
Peer-to-Peer / Client-Servier • Client-Server vs P 2 P – Scalability – Infrastructure cost • Structured vs Unstructured – Search time – Data distribution 3
P 2 P-SIP Design Goals 4
Skype Overlay Network • Unstructured • Ka. Za. A 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 5
P 2 P-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 6
Login Sequence 1 - Skype Send UDP packet(s) to HC IP address and port Start Response within 5 s Wait for 6 seconds Failure Yes No Connection Attempt == 5 No TCP connection attempt with HC IP address and port Yes Success No Yes Connected No TCP connection attempt with HC IP address and port 80 (HTTP port) Yes Connected No Connected TCP connection attempt with HC IP address and port 443 (HTTPS port) 7
Login Sequence 2 – P 2 P-SIP • • Multicast TTL = 1 Service Location Protocol (SLP) [LAN peers] Bootstrap Cached 8
Advanced Services Comparison • Offline Messaging Issue – Where to store? – Skype stores at it message originator – P 2 P-SIP proposes storing it at DHT • Replication strategy for reliability • Call transfer and call forwarding are SIP features that would be available in non-P 2 P SIP. – Super node instead of centralized database – Required feature for SIP (not as crucial for Skype) 9
Security • P 2 P-SIP – Malicious Node Hop-by-hop TLS (Tunneling) – Freeriding Incentives – Problem: No centralized login server to certify. Trust via reputation? • Skype – Encryption AES 256 bits – Key Exchange RSA 2048 – Public Key Certified by Login Server 10
Performance • P 2 P-SIP Scalable? – Yes, suppose nodes support 10 request/sec, minimum refresh rate of one minute, call rate of one call per minute per node = = C = 10, c = 1/60, and r = 1/60 • Latency? – P 2 P-SIP: 10, 000 node system avg 6 hopes, SIP call setup ~200 ms; therefore, 1 -2 s delay – Skype Average 3 -8 second for user location based on a 2004 study 11
References 1. 2. 3. 4. 5. 6. Skype Networks. http: //www. skype. com Ka. Za. A. 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 P 2 P-SIP. http: //www. p 2 psip. 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 12
Questions/Comments? Thank You For Listening
Login Sequence - Incoming 14
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” 15
Advanced Encryption Standard • • Aka Rijndael Block Cipher Replaces DES (and the modified 3 DES) 128, 192, 256 bits keys 1. Add. Round. Key — each byte of the state is combined with the round key; each round key is derived from the cipher key using a key schedule. Sub. Bytes — a non-linear substitution step where each byte is replaced with another according to a lookup table. Shift. Rows — a transposition step where each row of the state is shifted cyclically a certain number of steps. Mix. Columns — a mixing operation which operates on the columns of the state, combining the four bytes in each column using a linear transformation. 2. 3. 4. 16
- Slides: 16