Professional Documents
Culture Documents
VoIP P2P Overlay Networks
VoIP P2P Overlay Networks
1. INTRODUCTION...................................................................................................... 1
3. LOGIN SEQUENCE................................................................................................. 6
4. ADVANCED SERVICES........................................................................................ 10
5. SECURITY ............................................................................................................. 11
6. PERFORMANCE ................................................................................................... 12
6.1. Scalability.....................................................................................................................................................12
7. CONCLUSION ....................................................................................................... 14
8. REFERENCES....................................................................................................... 15
ii
List of Figures
Figure 1. Client-Server vs Peer-To-Peer Network Model [3]........................................................ 1
Figure 2. Skype P2P Overlay Network.......................................................................................... 4
Figure 3. Example Chord Network [13]. ....................................................................................... 5
Figure 4. Skype Login Sequence with only one entry in Host Cache table. Authentication
process with login server is not shown [3]...................................................................................... 7
Figure 5. P2P-SIP Node Startup and Outgoing Registration [3]. .................................................. 8
Figure 6. P2P-SIP Incoming REGISTER message decision matrix.............................................. 9
List of Tables
Table 1. Comparison Between File-Sharing and VoIP P2P Applications [3]. .............................. 3
Table 2. P2P-SIP Deign Goals [3]. ................................................................................................ 3
Table 3. Advanced Services offered by Skype and P2P-SIP....................................................... 11
iii
1. Introduction
Voice over Internet Protocol, or VoIP as it is commonly known today, has been increasing in
popularity in an almost explosive manner. The key concept of VoIP is converting voice streams into
packets and transmitting it through the Internet. The most well-known VoIP network on the market is the
Skype network, which debuted in August 29, 2003 with its free downloadable VoIP software. In a mere 2
to 3 months, the user base for the Skype network has grown to 1.5 million with 100,000 concurrent online
users [1]. The popularity of Skype has been partly attributed to its overlay network, based on its file-
sharing predecessor – KaZaA [2]. KaZaA is a peer-to-peer overlay network specifically designed to
allow individual users to share files and search the collective network for files to download.
P2P overlay networks exhibit a different set of requirements and behaviours compared to that of
client-server networks. Typically, client-server networks require a rigid infrastructure that is often costly
to build and similarly costly to maintain. Peer-to-peer overlay networks, however, do not require such
infrastructure and can be dynamically build-up as the number of users increase. Besides from the cost
reduction benefit of peer-to-peer networks, it also has a “limited” scalability advantage over client-server
systems. Peer-to-peer networks benefits from having a high number of users. More specifically, growth
is a positive thing for P2P networks as it provides a more stable network with more routes. Client-server
networks, on the other hand, are not as elegant when it comes to scalability and often requires major
costly overhauls to increase capacity. However, as we will see later on, peer-to-peer networks do have
upper limited in terms of number of nodes allowed. Figure 1 shows how client-server networks differ
from peer-to-peer networks.
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
1
Session-Initialization-Protocol, commonly known as SIP, is an Internet Engineering Task Force
standard for “initiating, modifying, and terminating an interactive user session that involves multimedia
elements such as video, voice, instant messaging, online games, and virtual reality” [4]. SIP has quickly
emerged as a leading signaling protocol for Voice over IP, along with H.323. Although SIP is a peer-to-
peer protocol when it comes to the voice packets, it still requires a SIP server for signaling information.
Therefore, for signaling purposes, SIP networks operate on a server-client basis which suffers from
drawbacks mentioned above when compared to Skype. The infrastructure cost of building a SIP network
is the biggest drawback issue.
Recently there has been significant push from the industry towards a more P2P oriented SIP to
provide SIP with P2P benefits [5]. More specifically, the proposed IETF standard is motivated by the
following features [6]:
• No maintenance or configuration: Peer-to-peer networks are highly dynamic networks that will
form links and grow automatically. Client-Server service networks require active maintenance
and expansion.
• Interoperability: The existing Skype network is not interoperable with current Internet telephony
equipment that uses either SIP or H.323 protocols. By having a P2P oriented SIP protocol, one
can make use of existing infrastructure and SIP-PSTN gateways.
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
2
packets that will not be requested again in the near future. Therefore, there is no benefit from recycling
VoIP packets to someone else. In file-sharing, there are many “hot” files such as the number one song on
the charts that are constantly being searched for and downloaded. In this case, caching can greatly
increase the performance as the same packets are wanted from multiple peers. In terms of delay
sensitivity, VoIP cannot tolerate too much delay in the arrival-time of packets. A late packet is the same
as a useless packet for VoIP. In file-sharing, delays in search time or file transfer are not critical. A slow
search still results in a search that returns useful data and a slow file transfer is still a file transfer with
desirable data. Lastly, file-sharing can employ replication strategy, which is the copying of files to
another peer, to enhance its reliability. VoIP applications do not have high redundancy, which is
necessary to take advantage of replications. Intuitively, this makes sense as no conversation is supposed
to be identical as another conversation.
Properties File-sharing VoIP
Data Storage ○
Caching ○
Delay Sensitive ○
Replication Strategy ○
Table 1. Comparison Between File-Sharing and VoIP P2P Applications [3]
1.2. P2P-SIP
P2P-SIP is Session Initialization Protocol (SIP)-based Peer-to-Peer Internet Telephony protocol
proposed by Singh and Schulzrinne from Columbia University. Singh and Schulzrinne [3] proposed the
P2P-SIP telephony architecture with the following requirements.
Goal Description
Zero Configuration The system should be able to automatically configure itself [7]. (e.g. by
detecting NAT and firewall settings, discovering neighbouring peers
and performing initial registration.)
Heterogeneous It should be able to adapt to available resources and distinguish
between peers with different capacity and availability constraints. This
nodes
favors the distinction between nodes and super-nodes as in KaZaA.
Efficient Lookup Blind search based on flooding is inefficient [8]. The system should use
an underlying DHT to optimize lookup.
Advanced Services It should support advanced telephony services such as offline voice
messaging, multi-party conferencing, call transfer and call forwarding
as well as advanced Internet services such as presence and instant
messaging.
Interoperability It should easily integrate with existing protocols and IP telephony
infrastructure. We choose SIP as the signaling protocol for
interoperability.
Table 2. P2P-SIP Deign Goals [3]
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
3
2. Overly Network Architecture
The architecture of the P2P network inevitably defines its performance and capabilities. The
Skype network, an evolution of its file-sharing processor KaZaA, and P2P-SIP, a peer-to-peer SIP
network proposed by one of the originators of SIP, are presented below.
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
4
firewall to receive incoming data over TCP or UDP connections” [11]. STUN has a drawback in that it
does not work with symmetric NAT but TURN does. Therefore, both STUN and TURN protocols are
used. The Symmetric NAT topic is outside the scope of this paper so the details of the different types of
NAT will not be discussed.
As shown in Figure 3, the Chord network is a circular network where each node has a table called finger
table. The finger table is basically a table of pointers for finding the next node to an send inquiry to for
finding an item of interest. Chord has a lookup time of O(log N) in face of concurrent node arrivals and
departures. More information regarding Chord can be found in [12].
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
5
With Chord being the underlying overlay network for P2P-SIP, it has the following advantages
over Skype: efficient lookup time, inherent robustness of Chord, and compatibility with existing SIP
infrastructure. Chord, being a DHT that is peer-reviewed and examined to be of O(log N) lookup time,
should be more efficient than Skype’s “Global Index” technology. Skype claims to have a ”3G P2P” (3rd
generation peer-to-peer) technology that guarantees to find a user if that user has logged in the Skype
network in the last 72 hours. From Baset and Schulzrinne’s work [9], it appears that the 3G P2P is still
using some form of modified flooding mechanism, which is known to be inefficient.
For NAT and firewall traversal, P2P-SIP uses TURN and STUN as well. TURN and STUN are
IETF open standards which are non-proprietary. Since Skype have likely made some modifications to fit
the application, P2P-SIP will likely have to made similar modifications resulting in very similar abilities
in NAT and firewall traversal.
3. Login Sequence
Both Skype and P2P-SIP have complex decision matrices that make up its login sequence. The
decision matrix is necessary to archive the goal of “zero configuration.” In the section below, Skype’s
login sequence will be presented with a description of the longest, most complex sequence. The login
sequence of P2P-SIP will also be presented and compared to Skype.
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
6
3.1. Skype Login Sequence
Skype, like KaZaA, uses bootstrap supernodes to connect a client to the overlay network upon a
new install [9]. The host cache (HC), a table of valid peer nodes, is bootstrapped with seven IP addresses
and port pairs. Typically, one would expect the client to first authenticate itself with the Skype login
server. However, it turns out that the login server sequence is used after the client has connected with a
supernode. The reason behind this order is due to the fact that the login server may change IP address and
this information is acquired from the supernodes.
When one runs Skype for the first time, Skype sends UDP packets to four of the bootstrapped
supernodes. The method which Skype choose the supernodes is unknown to Baset and Schulzrinne [9].
Once there are replies, Skype connects to the replying supernode with a TCP connection. Since more
than one supernode may reply, there may be more than one TCP connection, although Skype may choose
to close some. Upon a TCP connection, Skype will inquire the IP
address of the login server through the supernode and then the
authentication process is initiated.
If the initial UDP inquiry results in no reply within 5 seconds,
Skype will attempt a TCP connection to the HC supernodes using port
80, a known HTTP application port. If that is also unsuccessful, port
443 is used for the inquiry. Port 443 is the HTTPS, secure socket layer
HTTP, port. If the HTTPS connections remains unsuccessful and the
login process has not been repeated for five times, Skype will repeat the
login process starting from UDP polling. After five tries, Skype gives
up and reports a failure to connect. This decision matrix is summarized
in Figure 4.
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
7
very low Time-To-Live (TTL) message to flood nearby local peers and acquire supernode information
from them. The SIP multicasting IP address is 224.0.1.75 for IPv4. Singh and Schulzrinne noted that this
method may result in a disconnected DHT so only existing DHT nodes should respond to the multicast
discovery request. The other method involves the use of Service Location Protocol (SLP) [15] to find
supernodes. SLP is an IETF RFC 2608 standard that allows computers and other devices to find services
in a LAN without prior configuration. The above two methods rely on the existence of a local nearby
node within the domain so reliability is not guaranteed since initially, there would not be any local nearby
nodes. Therefore, it would be good practice to also implement the third method – bootstrapping. Like
Skype, P2P-SIP can be preconfigured in the application software with some IP addresses and port pairs.
In addition, some bootstrap peers can obtain supernode location via DNS queries to a well-known domain
such as sip-p2p.net as suggested in [13]. With many proposals for node discovery, P2P-SIP can be a very
flexible protocol depending on the exact nature of the application. For some applications, maybe not all
service discovery proposals need to be implemented. Regardless, all of the above methods should be
combined with caching to avoid peer lookups in subsequent startups. Figure 5 shows the login
sequence of a node with normal SIP registration on the left and P2P registration on the right.
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
8
Once the P2P-SIP node acquires the address of a supernode, it will send a SIP REGISTER message to
two of the SIP nodes. Upon receiving the REGISTER message, the node will go through another
decision matrix as shown in Figure 6. If the receiver node is not a supernode or the REGISTER message
is received from a multicast, the message will be redirected to the node’s associated supernode. As
mentioned before, to avoid a disconnected DHT, non-DHT member nodes should not reply to multicast
messages and instead, forward it to its supernode’s unicast address. If the receiver node is in fact a
supernode, it will check whether the incoming node is already registered as an ordinary node under it. If
the sender is not part of this supernode’s attached nodes, the supernode can decide to accept or reject the
node. A rejected node is redirected to another supernode.
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
9
4. Advanced Services
It has become common nowadays to have advanced services in PSTN infrastructure. This section
explores whether these advanced services are offered in Skype and P2P-SIP. The latter will discuss
proposals in which these advanced services can implemented. The specific features examined are offline
messaging, multi-party conference, call transfer, call forwarding, presence, and instant messaging.
Skype offers a total of four advanced services: offline messaging, multi-party conferencing,
presence, and instant messaging. Offline messaging service allows a user to send a message to another
user who is currently offline. When that user is registered as online, the message will be sent. The
problem with offline messaging in a distributed system is where the offline messages are stored. The
method which Skype stores the offline messages is unknown but this service is available. From an
experiment we carried out, it seems that the offline message is not delivered until both parties are online.
Therefore, it is likely that Skype stores offline messages on the node that originated the message instead
of the overlay network nodes. For multi-party conferencing, Skype allows up to 5 nodes in conference,
one of which is the coordinator of the conference. Baset and Schulzrinne [9] note that no matter which
nodes initiated the conference, the coordinator, or conference host, will always be the most powerful node
among the conferencing nodes. Next, presence is a feature where the buddy-list member status is made
aware to an inquiry node. The method by which Skype implements this is unknown but may be using the
login server as a centralized location where each member’s status is stored. Lastly, instant messaging is a
service where text messages, instead of voice packets, are transmitted to another node. Skype likely uses
the same delivering mechanism for text messages as voice packets but over a reliable channel. The exact
detail of the implementation is not known.
P2P-SIP offers a total of six advanced services: offline messaging, multi-party conference, call
transfer, call forwarding, presence, and instant messaging. Offline messaging can be stored at the source,
destination, or intermediate nodes. Singh and Schulzrinne [6] suggest that storing the offline messages at
the DHT peers would better as it would allow the message to be delivered without both parties being
available like Skype. However, an issue that comes up is what if the DHT node that stores the message
becomes unavailable? The solution they suggest is storing the message in multiple nodes and using
“Oceanstore architecture” [16] to keep them consistent. For multi-party conference, Singh and
Schulzrinne suggest the use of either full-mesh signaling or multicast media distribution tree signaling. In
full-mesh signaling, there is no need for a member to be the conference host/coordinator. Each peer
relays the signaling message around and it prevents dependency on a single peer node for mixing. In
multicast media distribution tree signaling, the receiving nodes mix the audio samples from multiple
streams in a session. This form of multi-party conferencing makes use of the fact that only a few
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
10
members will be speaking at any instant. Additional information regarding P2P application layer
multicast scheme can be found in [17], [18], [19], [20]. Next, call transfer and call forwarding features
are inherent features in the design of SIP. These features can be implemented by accessing the supernode
that is currently responsible for the node in question and direct it to another location. For presence
service, P2P-SIP uses a subscription-based method to acquire presence status of another node. Once
subscribed, whenever the status of the node in question changes, a notification message is sent to the
subscribing nodes. Lastly, instant messaging is basically the use of a regular message packet with a
MESSAGE heading. The presence and instant messaging features are likely to be very similar to that of
SIMPLE (Session Initialization Protocol for Instant Messaging and Presence Leveraging Extensions)
defined in IETF RFC 3428 [21]. Table 3 summarizes the advance feature service comparison between
Skype and P2P-SIP.
5. Security
Skype uses AES, Advanced Encryption Standard, also known as Rijndel, for encryption [9]. The key
size that Skype chose is 256-bits, which is the highest value for AES (128, 192, or 256). For more
information regarding AES, see [24]. Skype use 1536 to 2048-bit RSA key exchange algorithm to
negotiate the symmetric AES key. The user’s public keys are certified by Skype server at login.
P2P-SIP has not defined a particular security system yet. In [3], Singh and Schulzrinne described the
particular security problems associated with P2P systems: authentication, encryption, privacy and
confidentiality, malicious nodes, and freeriding. Singh and Schulzrinne also described some proposed
solutions to each problem. For authentication and encryption, the problem can be solved using
mechanisms similar to those proposed for regular SIP telephony [25]: end-to-end digest, hop-by-hop
transport layer security (TLS), or end-to-end S/MIME. The real problem comes from privacy and
confidentiality (trust). What if one of the node decides to secretly log all call requests? One proposed
solution the use of something called Freenet where hop-by-hop routing of request and responses changes
the source identifier. This prevents peers in the request path to know the original sender of the request.
Unless there are multiple malicious peers collaborating in P2P-SIP, the same technique can be used. The
use of reputation-based system has also been examined [26] [27] [28] [29] but they focus on file-sharing
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
11
systems with a centralized component. Therefore, Singh and Schulzrinne believe that further studies are
needed to detect malicious nodes and amend current reputation systems. Regarding freeriding, Singh and
Schulzrinne proposed a credit system as incentive. By routing or “doing service to other nodes,” a peer
gains credit that allows them to continue to use the service. When a peer has no credits left and refuse to
pay in other forms, the system will refuse to service that peer. Although peers who have been declined
the service can re-register under a different identity, they will not be able to advertise their identity for
incoming calls for a long period of time. Furthermore, they may be denied free gateway access or free
SIP-PSTN calls. P2P-SIP’s security measure will depend on the implementation as Singh and
Schulzrinne offers only suggestions/proposals.
6. Performance
The overall performance of P2P-SIP should theoretically be superior to that of Skype. Singh and
Schulzrinne [3]claims that due to the O(LogN) lookup time of the DHT, its performance should exceed
that of Skype’s flooding technique. In this section, two measurement of performance will be examined:
scalability and call setup latency. Call setup latency has lookup-time built into the results and is
preferable over lookup-time latency as it is the actual performance indicator viewed from the user’s
perspective.
6.1. Scalability
So far, there has not been accurate determination of how scalable the Skype network is.
Regardless, based on recent trade journals there are claims that Skype has approximately 2 million
concurrent users online at any given moment [22]. P2P-SIP, on the other hand, has no experimental data
to indicate how many users it can support. Instead, Singh and Schulzrinne analyzed the scalability of
P2P-SIP based on the architecture.
Singh and Schulzrinne first concluded that the scalability of the P2P-SIP network depends
heavily on the capacity of the supernodes in terms of bandwidth, CPU, and memory. Then, they derived a
formula for the number of message per node due to node refresh, call arrivals, user registrations, and node
joining or node leaving. The result is shown in equation 1, where rs is the register refresh rate, r f is the
finger table entry refresh rate, N is the number of supernodes, c is the mean call arrival rate (Poisson
distribution), k is the number of keys in the DHT, t is the mean interval of user registration event
(uniform distribution), and λ is the node join/leave rate (Poisson distribution).
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
12
2 k λ (log( N )) 2
M = {rs + rf (log( N )) } +c. log( N ) + log( N ) + (1)
t N
Based on that equation, they further reasoned that if a node can handle C requests per second,
C
then at C=M gives the maximum possible number of nodes – N max . For large values of N , N max = 2 c + r .
As an example, suppose the nodes support 10 requests per second with minimum refresh interval of one
minute and the call rate of one call per minute per node. Plugging into the equation with C = 10, c = 1/60,
and r = 1/60, we can arrive at the result N max = 210*30 . In other words, there can be a maximum of
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
13
7. Conclusion
In this paper, we compared Skype and P2P-SIP in terms of architecture, login sequence, advanced
services, security, and performance. Skype is based on an unstructured P2P architecture like its
predecessor KaZaA while P2P-SIP employs a structured P2P architecture called Chord. Because P2P-
SIP is a “work-in-progress” IETF standard [23], the details of its operation is still not completely defined.
Instead, P2P-SIP’s login sequence, advanced services, and even security may contain multiple non-
exclusive proposals gathered from various academic work [3]. The architecture of the P2P system also
dictates the form of the login sequence. Skype login sequence goes through peer discovery first and then
inquires about the address of the login server. P2P-SIP, on the other hand, has no centralized login server
and its information is stored in a distributed manner using Chord. Therefore, the peer discovery, more
specially the supernode discovery, is even more crucial. The three different non-exclusive proposals for
P2P-SIP peer discovery are limited TTL multicasting, Service Location Protocol, and bootstrapping. In
terms of advanced services, P2P-SIP offers call transfer and call forwarding capabilities inherited from
SIP which Skype does not have. Furthermore, for offline messaging, P2P-SIP’s proposal stores the
offline messages in the overlay network instead of the message originator’s computer. Therefore, the
offline message is delivered the instant that the receiver is online instead of when both receiver and
sender are simultaneously online. The security comparison between the two overlay networks is
somewhat duller compared to other criteria of comparison. Skype uses AES 256-bits over 1536 to 2048
RSA public key exchange algorithm with the user’s public keys certified by Skype login server. P2P-SIP
proposal recognizes the inherent security risks of P2P topology but only highlights some existing security
modules that may be able to provide the necessary security – Freenet, TLS, and Peertrust. Lastly, Singh
and Schulzrinne showed that the performance in terms of scalability and call setup latency is superior to
that of Skype based on the model studied in [9] by Baset.
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
14
8. References
[1] Skype Networks. http://www.skype.com
[2] KaZaA. http://www.kazaa.com
[3] 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.
[4] 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
[5] P2P-SIP. http://www.p2psip.org/
[6] 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
[7] “Zero configuration networking (Zeroconf).” http://www.ietf.org/html.charters/zeroconf-
charter.html.
[8] Zihui Ge, Daniel R. Figueiredo, Sharad Jaiswal, James F. Kurose, and Don Towsley, “Modeling
peer-peer file-sharing systems,” in Proceedings of the Conference on Computer
Communications (IEEE Infocom), Mar. 2003.
[9] Baset, S. and Schulzrinne, H. 2004. An Analysis of the Skype Peer-to-Peer Internet Telephony
Protocol. Technical Report CUCS-039-04. Department of Computer Science, Columbia
University, New York, NY, September 2004. (To appear in IEEE Infocom 2006)
[10] Stun Protocol, RFC 3489. http://www.ietf.org/rfc/rfc3489.txt
[11] J. Rosenberg, R.Mahy, C. Huitema. TURN: traversal using replay NAT. Internet draft, Internet
Engineering Task Force, September 2005. Work in progress.
[12] I. Stoica, R. Morris, D. Karger, M.Frans Kaashoek, and H. Balakrishnan, “Chord: A Scalable
Peer-to-peer Lookup Service for Internet Applications,” In Proceedings of ACM SIGCOMM
2001, San Diego, CA, Aug. 2001.
[13] K. Singh and H. Schulzrinne. SIPpeer: a session initiation protocol (SIP)-based peer-to-peer
Internet telephony client adaptor. White paper, Computer Science Department, Columbia
University, New York, NY, Jan 2005. http://www.cs.columbia.edu/ ˜kns10/publication/sip-
p2pdesign.pdf.
[14] J. Rosenberg, R.Mahy, C. Huitema. “TURN: traversal using replay NAT.” Internet draft,
Internet Engineering Task Force, September 2005. Work in progress.
[15] Service Location Protocol Version 2, Internet Engineering Task Force (IETF), RFC 2608, June
1999.
[16] J. Kubiatowicz, D. Bindel, Y. Chen, P. Eaton, D. Geels, R. Gummadi, S. Rhea, and H.
Weatherspoon, “Oceanstore: An extremely wide-area storage system,” technical report
UCB//CSD-00-1102, U.C. Berkely, CA, USA, May 1999.
[17] M. Castro, M. B. Jones, A. Kermarrec, A. Rowstron, M. Theimer, H. Wang, and A. Wolman.
“An evaluation of scalable application-level multicast built using peer-to-peer-overlays,” in
Proceedings of the Conference on Computer Communications (IEEE Infocom), March 2003.
[18] S. Banerjee, B. Bhattacharjee, and C. Kommareddy. “Scalable application layer multicast,” in
SIGCOMM Symposium on Communications Architectures and Protocols, Pittsburgh, PA, Aug.
2002.
[19] A. Rowstron and P. Druschel, “Pastry: Scalable, distributedobject location and routing for large-
scale peer-to-peer systems,” in IFIP/ACM International Conference on Distributed Systems
Platforms (Middleware), Heidelberg, Germany, Nov. 2001, pp. 329-350.
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
15
[20] M. Castro, P. Druschel, Y. Hu, and A. Rowstron. “Proximity neighbor selection in tree-based
structured peer-to-peer overlays,” technical report MSR-TR-2003-52, Microsoft Research,
2003.
[21] B. Campbell, J Rosenbery, H. Schulzrinne, and C. Huitema. “Session Initialization Protocol
(SIP) Extention for Instant Messaging.” Internet Engineering Task Force, Request For
Comment 3428, December 2002.
[22] “Skype is a mega hit as download numbers touches 100 million,” Software Journal: Software
News and Reviews. April 2005.
[23] PIP SIP. http://www.p2psip.org/.
[24] “Advanced Encryption Standard,” Wikipedia.
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard. March 2006.
[25] D. Milojicic, V. Kalogeraki, R. M. Lukose, K. Nagaraja, J. Pruyne, B. Richard, S.Rollins, and Z.
Xu, “Peer-to-peer computing,” technical report HPL-2002-57 20020315, Technical Publication
Department, HP Labs Research Library, Mar. 2002,
http://www.hpl.hp.comtechreports/2002/HPL-2002-57.html.
[26] M. Gupta, P. Q. Judge, and M. Ammar, “A reputation system for peer-to-peer networks,” in
ACM NOSSDAV 2003, June 2003.
[27] S. Lee, R. Sherwood, and S. Bhattacharjee, “Cooperative peer groups in NICE,” in Proceedings
of the Conference on Computer Communications (IEEE Infocom), Mar. 2003.
[28] S. Kamvar, M. Schlosser, and H. Garcia-Molina, “The eigentrust algorithm for reputation
management in P2P networks,” in International World Wide Web Conference (WWW),
Budapest, Hungary, May 2003, International World Wide Web Conference Committee.
[29] L. Xiong and L. Liu, “Peertrust: Supporting reputation-based trust for peer-to-peer electronic
communities,” IEEE Transactions on Knowledge and Data Engineering, vol. 16, no. 7, pp.
843–857, July 2004.
[30] K. Sangani, "Disruptive technology," Communications Engineer, vol. 3, pp. 30, 2005.
Johnson Lee - Comparison between Skype and SIP-based Peer-to-Peer Voice-Over-IP Overlay Network
16