210 likes | 336 Views
VoIP Case Study: Skype. Dr. Danny Tsang Department of Electrical & Electronic Engineering Hong Kong University of Science and Technology. presence. Instant messaging. audio. video. XML. data. HTTP. Phone becomes “the Portal”. … through which a whole new world of services are delivered.
E N D
VoIP Case Study: Skype Dr. Danny TsangDepartment of Electrical & Electronic EngineeringHong Kong University of Science and Technology VoIP Case Study
presence Instant messaging audio video XML data HTTP Phone becomes “the Portal” ... … through which a whole new world of services are delivered VoIP Case Study
It is a peer-to-peer (P2P) overlay network for VoIP and other applications, developed by the people who did KaZaA To a user, it is an Instant Messaging (IM) system that supports P2P VoIP and other applications The fee-based SkypeOut service allows calls to regular phone numbers What Is Skype? VoIP Case Study
Skype - computer <-> computer telephony You can talk to other computer based phones free Skype Out - computer -> PSTN telephony You can call normal PSTN telephones - and pay for it Skype In - PSTN telephony -> computer telephony You can be called from PTSN telephones You get a normal phone number Currently on-line: ~1.8 million users ~150 million skype software download (www.skype.com) Skype hardware phones available Skype - a raving success VoIP Case Study
Overview of Skype P2P Network Major Entities • Login Server • Single central server • User authentication at login (private/public keys) • Ensures uniqueness of Skype user names • Super nodes • Nodes with public IP address, enough CPU, memory, and network bandwidth • Registrar functionality (distributed directory, presence service) • Signaling/media proxy (reachability of ordinary hosts) • Ordinary nodes • Hosts behind FW/NAT Skype login Server Message exchange with The login server during login Ordinary Host Super node Neighbors relationships in the Skype network VoIP Case Study
P2P-based signaling to find and locate users, Skype uses "supernodes" that are running on peer machines (In contrast, traditional VoIP systems use fixed central servers) little management structure and overhead highly scalable Strong NAT/firewall traversal capability e.g., use a peer relay to connect clients behind NATs, or use a TCP tunnel to a peer relay to bypass a UDP blocking firewall Better voice quality than the MSN and Yahoo IM applications Wideband voice codec: allow frequency between 50-8000Hz to pass through Heavy software-based DSP operations at clients, including codecs, mixer and fancy echo cancellation, e.g., Thinkpad X31, an active Skype session consumes around 10-20% of CPU Security feature: encrypts calls end-to-end, and stores user information in a decentralized fashion Integrated buddy list, presence information, chat, and audio conferencing Highlights of Skype VoIP Case Study
Based on “An Analysis of the Skype Peer-to- Peer Internet Telephony Protocol” by S. Baset and H. Schulzrinne at Columbia, September 15, 2004 “We observe, …, we think, …, we conjecture…, etc.” Terminologies: Skype client (SC) Super node (SN) Host cache (HC): list of IP addresses and port number of some super nodes Reverse Engineering of Skype VoIP Case Study
For NAT and firewall traversal, SC uses a variation of typical schemes such as STUN to determine the type of NAT and firewall it is behind. SC refreshes this information periodically. This information is stored, e.g., in the Windows registry Use TCP to bypass UDP-restricted NAT/firewall Unlike its file sharing counter part KaZaa, a SC CANNOT prevent itself from becoming a SC Some Observed Facts VoIP Case Study
Startup After installation, SC sends a HTTP 1.1 GET to skype.com Login User search Call establishment and tear down Media transfer Presence messages Skype Functions VoIP Case Study
Advertises its presence to other peers and its buddies. Determines the type of NAT and firewall it is behind. Discover online Skype nodes with public IP addresses. Skype Login • Stores Skype user names and passwords and ensures that Skype user names are unique across the Skype name space. • Login server: ns14.inet.telt.dk(Denmark) VoIP Case Study
Skype Login algorithm authentication with login server is not shown VoIP Case Study
A SC authenticates its user name and password with the login server, advertises its presence to other peers and its buddies, determines the type of NAT and firewall it is behind, and discovers online Skype nodes with public IP addresses These newly discovered nodes were used to maintain connection with the Skype network should the SN to which SC was connected became unavailable SC must establish a TCP connection to a SN in order to connect to the Skype network For a given entry in HC, SC tries to make the connection in the following order: TCP with the IP address and the port listed, the IP address and HTTP port (80), the IP address and SHTTP port (443) After SC is connected to a SN, the SC gets the IP address of the Skype login server, and authenticates the username and password with the login server SC sends UDP packets to 22 distinct nodes at the end of login process Advertise its arrival Build an “alternative node tables” that provide a list of available nodes SC can use should its current SN becomes unavailable Skype Login in details VoIP Case Study
Perhaps use Chord-like hash-based methods, combined with traditional blind searching techniques SN acts like a search proxy for CN and caches searched results User Search VoIP Case Study
Two reasons Passing NAT and firewall Acting as a mixer for conferencing traffic Use of An Immediate Node VoIP Case Study
CPU and bandwidth usages at the bridging point (e.g., the A node above) increase with # conference participants Conferencing A A+C C A+B B C B VoIP Case Study
A call was established between A (the most powerful one) and B. Then B decided to include C in the conference. It mixed its own packets with those of B and sent them to C over UDP and vice versa Even if user B or C started a conference, A, which was the most powerful amongst the three, always got elected as conference host and mixer. If iLBC codec is used, the total call 36 KB/s for a two-way call. For three-user conference, it jumps to 54 kb/s for the machine hosting the conference. For a three party conference, Skype does not do full mesh conferencing. To host a conference with 5 parties you need a big PC, a Pentium 4 or thereabouts. With a PIII CPU of 450 MHz you will be limited to hosting 3 parties. A+C C A+B B B C Conferencing A VoIP Case Study
Pros: “scales as it grows” Ease of use (self configuration) Intelligence at the edge Transparent FW/NAT traversal Integration of IM, presence, voice Encrypted communication Reflection of Skype Cons: • Proprietary protocols • Closed world, no SIP/H.323 GWs • No bandwidth control at super nodes • Reliability? Are there enough super nodes? • Not suitable for business usage, privacy? VoIP Case Study
Great application for WLAN-enabled handsets A new opportunity for fixed-line operators New opportunity and challenge to mobile phone operators and manufacturers (think when WLAN infrastructure and handsets become widespread) New challenges to SIP/ENUM-based approaches Since naming on overlay networks could work well, DNS may not need to expand its scope VoIP is a new must-to-have feature for IM systems A new view on P2P networks, which previously focused on content rather than communications A large number of online Skype VoIP clients distributed throughout the world can provide valuable network performance measurements and other information Other issues, including anonymity vs. law enforcement Broad Impact VoIP Case Study
Skype has shown, or at least has suggested, the following: Signaling, the most unique property of traditional phone systems, can now be accomplished effortlessly with self-organizing P2P networks P2P overlay networks can scale up to handle large-scale connection-oriented real-time services such as voice For Skype, the Internet is just a dumb "bit pipes“ We should focus on applications and services that run on layers above pipes, since pipes or roads always only have relatively small business value themselves Profound Impact VoIP Case Study
B. Goode, “Voice over Internet protocol (VoIP),” Proceedings of the IEEE, vol. 90, no. 9, pp. 1495 – 1517, Sep. 2002. M. Maresca, N. Zingirian, and P. Baglietto, “Internet protocol support for telephony,” Proceedings of the IEEE, vol. 92, no. 9, pp. 1463 – 1477, Sep. 2002. S. A. Baset and H. Schulzrinne, “An analysis of the Skype peer-to-peer internet telephony protocol,” Computer Science Department, Columbia University, Tech. Rep. CUCS-039-04, 2004. [Online]. Available: http://arxiv.org/pdf/cs.NI/0412017 C. Schlatter, “Why SIP?” 2005, Swiss Education and Research Network, SWITCH. [Online]. Available: http://vconf.switch.ch/econf_docs/sip_h323_skype.pdf H. T. Kung, “P2P VoIP,” 2004, lecture notes on CS-143/CSCI-E135: Computer Networks. [Online]. Available: http://www.eecs.harvard.edu/cs143/ Reference VoIP Case Study