Skype Voip Service- Architecture and Comparison Hao Wang Institute of Communication Networks and Computer Engineering University of Stuttgart Mentor: Dr.-Ing
Total Page:16
File Type:pdf, Size:1020Kb
INFOTECH Seminar Advanced Communication Services (ACS), 2005 Skype VoIP service- architecture and comparison Hao Wang Institute of Communication Networks and Computer Engineering University of Stuttgart Mentor: Dr.-Ing. S. Rupp ABSTRACT Skype is a peer-to-peer (P2P) overlay network for VoIP and other applications, developed by KaZaa in 2003. Skype can traverse NAT and firewall more efficiently than traditional VoIP networks and it offers better voice quality. To find and locate users, Skype uses “supernodes” that are running on peer machines. In contrast, traditional systems use fixed central servers. Also Skype uses encrypted media channel to protect the dada. The main contribution of this article is illustrating the architecture and components of Skype networks and basically analyzing key Skype functions such as login, NAT and firewall traversal. Furthermore, it contains comparisons of Skype networks with VoIP networks regarding different scenarios. On that basis it reveals some reasons why Skype has much better performance than previous VoIP products. Keywords Voice over IP (VoIP), Skype, Peer-to-peer (p2p), Super Node (SN) 1. Introduction It is expected that real-time person-to-person communication, like IP telephony (VoIP), instant messaging, voice, video and data collaboration will be the next big wave of Internet usage. VoIP refers to technology that enables routing of voice conversations over the Internet or any other IP network. Another technology is peer-to-peer, which is used for sharing content like audio, video, data or anything in digital format. Skype is a combination of these two technologies. It has much better performance by making use of advantages of both technologies. In the first part of this article is a brief introduction to VoIP, including the network architecture and the function of main components. Followed is the description of p2p network and its generations. It discards the “client/server” concept; instead it uses equal peer nodes to accomplish required functions. In addition, Skype network is introduced, which also displays the architecture and the components. The difference between VoIP and Skype networks is very clearly. Because of this essential distinction in network architecture, VoIP products and Skype execute differently to fulfill the same task such as user search, signaling and NAT/ Firewall traversal. User search is a challenging problem in p2p networks due to the decentralized directory, while in VoIP networks it is not difficult because of the existence of the centralized server. But latter is less scalable and may have the “one point failure” problem if there is no replication mechanism. NAT/ Firewall traversal is a troublesome issue in both networks. Skype studies the mechanisms used in VoIP and changes one of them to adapt the requirement in p2p networks. In part four of the article, these two scenarios are carefully discussed. Skype shows that signaling, the most unique property of traditional phone systems, can now be accomplished with self organizing P2P networks. How Skype handle this question is also discussed in part four. Another two important issues, Codec and security, are discussed at last. Skype integrates advanced technologies to ensure these two functions. 1 INFOTECH Seminar Advanced Communication Services (ACS), 2005 2. Background knowledge of VoIP VoIP is a generic term that refers to all types of voice communication using Internet Protocol (IP) technology instead of traditional circuit switched technology. This includes use of packet technologies by telecommunications companies to carry voice at the core of their networks in ways that are not controlled by and not apparent to end users. The major signal protocols used now are H.323 and SIP [1], and the protocol used to data transfer is Real-time Transport Protocol. The major components of a VoIP network are very similar in functionality to that of a circuit-switched network. VoIP networks must perform all of the same tasks that the PSTN does, in addition to performing a gateway function to the existing public network. Although using different technology and approach, some of the same component concepts that make up the PSTN also create VoIP networks. As shown in figure 1, there are three major pieces to a VoIP network. Media Gateways Media gateways are responsible for call origination, call detection, analog-to-digital conversion of voice, and creation of voice packets (CODEC functions). In addition, media gateways have optional features, such as voice (analog and/or digital) compression, echo cancellation, silence suppression, and statistics gathering. The media gateway forms the interface that the voice content uses so that it can be transported over the IP network. Media gateways are the sources of bearer traffic. Typically, each conversation (call) is a single IP session transported by a Real-time Transport Protocol (RTP) that runs over UDP. Media gateways exist in several forms. For example, media gateways could be a dedicated telecommunication equipment chassis, or even generic PC running VoIP software. Media Gateway Controllers Media gateway controllers house the signaling and control services that coordinate the media gateway functions. Media gateway controllers could be considered similar to that of H.323 gatekeepers. The media gateway controller has the responsibility for some or all of the call signaling coordination, phone number translations, host lookup, resource management, and signaling gateway services to the PSTN (SS7 gateway). The amount of functionality is based on the particular VoIP enabling products used. In a scalable VoIP network, the role of a controller is divided into signaling gateway controller and media gateway controller. For calls that originate and terminate within the domain of the VoIP network, only a media gateway controller might be needed to complete calls. However, a VoIP network is frequently connected to the public network. A signaling gateway controller is used to directly connect to the SS7 network, while also interfacing to the VoIP network elements. This signaling controller would be dedicated to the message translation and signaling needed to bridge the PSTN to the VoIP network. IP Network The VoIP network can be viewed as one logical switch. However, this logical switch is a distributed system, rather than that of a single switch entity; the IP backbone provides the connectivity among the distributed elements. Depending on the VoIP protocols used, this system as a whole is sometimes referred to as a softswitch architecture. Here is how a VoIP transmission is completed: Step 1: Because all transmissions must be digital, the caller’s voice is digitized. This can be done by the telephone company, by an Internet service provider (ISP), or by a PC. 2 INFOTECH Seminar Advanced Communication Services (ACS), 2005 Step 2: Next using complex algorithms the digital voice is compressed and then separated into packets; and using the Internet protocol, the packets are addressed and sent across the network to be reassembled in the proper order at the destination. Again, this reassembly can be done by a carrier, and ISP, or by one’s PC. Step 3: During transmission on the Internet, packets may be lost or delayed, or errors may damage the packets. Conventional error correction techniques would request retransmission of unusable or lost packets, but if the transmission is a real-time voice communication that technique obviously would not work, so sophisticated error detection and correction systems are used to create sound to fill in the gaps. Step 4: After the packets arrive at the destination, the transmission is assembled and decompressed to restore the data to an approximation of the original form. Figure 1. Full Service VoIP Network 3. Skype: A P2P VoIP Service 3.1 What is peer-to-peer A peer-to-peer (or P2P) computer network is a network that relies on computing power at the edges (ends) of a connection rather than in the network itself. A pure peer-to-peer network does not have the notion of clients or servers, but only equal peer nodes that simultaneously function as both "clients" and "servers" to the other nodes on the network. This model of network arrangement differs from the client-server model where communication is usually to and from a central server. An important goal in peer-to-peer networks is that the bandwidth of all clients can be used, so the total bandwidth - and usually the available download bandwidth for the average user - grows with the number of nodes, instead of all clients having to share the bandwidth of one server, where adding more clients could mean slower data transfer for all users. There are three generations of peer-to-peer networks: First generation had a centralized file list, like Napster. In the centralized peer to peer model, a user would send a search to the centralized server of what they were looking for, i.e. song, video, movie. The server then sends back a list of which peers have the data and facilitates the connection and download. Second generation, by electing some nodes which had more capacity as indexing nodes, and having 3 INFOTECH Seminar Advanced Communication Services (ACS), 2005 lower capacity nodes branching off from them, allowed for a network which could scale to a much larger size. Also included in the second generation are distributed hash tables, which solve the scalability problem by electing various nodes to index certain hashes (Which are used to identify files), allowing for fast and efficient searching for any instances of a file on the network, though they are with their own drawbacks, such as stale hosts and network splits. Third generation of peer-to-peer networks are those which have anonymity features built in. 3.2 Skype Skype is a peer-to-peer internet telephony (VoIP) network, founded by Niklas Zennström and Janus Friis, the creators of Kazaa [2]. The network is provided by all combined users of the free desktop software application.