Information Technology Reference
In-Depth Information
is used by a requesting peer in sending out pieces of some other file. Thus,
the rationale of this scheme is to provide incentive for each participating peer
to increase the data rate used in sending out file data (i.e., uploading, or,
in BitTorrent's term, unchoking). There are other related mechanisms (e.g.,
optimistic unchoking), which are described in detail in [Cohen, 2003, Qiu and
Srikant, 2004]. BitComet [BitComet, 2009] is one of the most highly popular
implementations of the BitTorrent protocol. Tribler [Tribler, 2009] is a popular
implementation of the BitTorrent protocol for sharing video files.
2.4 Voice over IP and Instant Messaging
Telephony service is an indispensable part of our daily life. Thus, as P2P
systems proliferate, people start to employ this vehicle to deliver telephony
service using the voice-over-IP (VoIP) technologies.
Skype [Skype, 2009] is as yet the most successful VoIP system that is
globally available, judging from its huge user population—it is reported that
more than 500 million user accounts have been created and more than 50
million users are active on a daily basis. Architecturally Skype is found to
be very similar to KaZaA in that the Skype network also heavily relies on
the core super-node network [Baset and Schulzrinne, 2006, Caizzone et al.,
2008, Kho et al., 2008]. The detailed working principles behind Skype are
not known for sure because Skype is built on proprietary protocols and its
tra c flows are all encrypted. Below we highlight its main protocol features
based on excellent experimental studies done recently [Baset and Schulzrinne,
2006, Caizzone et al., 2008, Kho et al., 2008].
Specifically, each super-node is responsible for client discovery and loca-
tion, as well as tra c relaying when the clients are behind firewalls or NATs.
Indeed, being able to route tra c to/from clients behind NATs is very im-
portant because it is reported [Tang et al., 2007] that over 60% of P2P users
are behind some kind of NAT. Different from a file sharing application, a
VoIP session involves locating the specific callee the caller wants to reach.
To this end, quite contrary to a traditional client-server-based VoIP system
such as those based on SIP or ITU H.263, the Skype system relies completely
on the super-nodes for storing the location information of currently on-line
Skype users. Thus, the location information of the VoIP system is completely
decentralized.
To start, a Skype client needs to contact the login server for authentica-
tion and obtaining peers' information (e.g., whether they are online or not).
Afterward, the client needs to establish connections with one or more super-
nodes so as to transmit and receive VoIP data. The client can either use a
cached super-nodes list or contact the several bootstrap super-nodes (which
are hardwired in the Skype client program).
Search WWH ::




Custom Search