SKYPE's Roadmap and Architecture
Skype was developed by the Danish entrepreneurs behind the KaZaA peer-to-peer file sharing network, and appears to have substantial code in common with the clients and servers developed for that project.
Since Skype was launched in August 2003 it has largely dominated the free Internet telephony application space. Some of the key milestones in Skype’s business development are shown on the slide opposite.
As of January 2008, Skype claim 276 million users accounts. Many of these can be expected to be inactive, and typically users may have more than one account on this (free) service. Annualized revenues of $382 million for 2007 have been reported, and annual SkypeOut minutes for 2007 of 5.4 billion. For reference, a large national fixed or mobile network might carry around 100 billion minutes of total traffic per year.
As well as (free) VoIP calls between Skype clients, the company offers a paid SkypeOut service with termination rates to most countries in the world, and a SkypeIn service which rents a PSTN number to the Skype subscriber on which they can be called by PSTN calling parties.
The Skype architecture includes a central registration server to which all clients register. Unlike most other similar applications and VoIP systems generally, Skype operates on a peer-to-peer, rather than a client-server model, and so buddy lists are managed locally on each machine, and calls are routed via transit nodes only if necessary to circumvent firewalls and NAP/NAPT.
The Skype network consists of conventional nodes and Supernodes, which are themselves Skype endpoints, as well as providing signalling and media proxy services to conventional nodes. Skype applications are provided with a basic set of Supernode addresses when they first register, and maintain a cache of these and additional Supernodes long-term. In common with other VoIP applications, the Skype applications can be adversely affected by firewalls and NAT/NAPT devices, and Skype uses various techniques to traverse such devices, including re-use of conventional HTTP and HTTPS ports (TCP port 80 and port 443), use of TCP instead of UDP where this can traverse firewalls, and client-based techniques for NAT/NAPT traversal, including the use of Simple Traversal of UDP Through NATs (STUN) and Traversal Using Relay NAT (TURN).
Bookmark this article
Share this article using the following sites: