Docstoc

Abstract

Document Sample
Abstract Powered By Docstoc
					                                           Abstract



       In this paper, a SIP-based Peer-to-Peer telephony network will be discussed and
compared with an existing, well-known P2P telephony network: SKype. Skype is a VoIP service
based on peer-to-peer overlay network technology that has grown significantly in popularity.
Compare with Skype is another P2P network designed for VoIP application called P2P-SIP
proposed by Singh and Schulzrinne of Columbia University. The two P2P networks differ by the
underlying architecture: unstructured P2P overlay network of Skype and MIT’s Chord
Distributed Hash Table of P2P-SIP. Both P2P networks use the concept of super nodes and
ordinary nodes where the super nodes are the higher performance, more available peers. Due to
the difference in the underlying P2P architecture, some of the advanced services that P2P-SIP
can offer such as real offline messaging are not available to Skype. However, in terms of
security, P2P-SIP has more security issues to deal with due to the completely distributed nature
of its network. To conclude, P2P-SIP has better performance compared to Skype because of the
O(Log N) lookup time of Chord and is more distributed than Skype. However, it does have
additional issues to deal with in terms of security and acceptability.
                                                           Table of Contents




1.     INTRODUCTION...................................................................................................... 1

1.1.      Peer-to-Peer Networks ..................................................................................................................................2

1.2.      P2P-SIP ..........................................................................................................................................................3


2.     OVERLY NETWORK ARCHITECTURE.................................................................. 4

2.1.      Skype Network...............................................................................................................................................4

2.2.      P2P-SIP Network...........................................................................................................................................5


3.     LOGIN SEQUENCE................................................................................................. 6

3.1.      Skype Login Sequence...................................................................................................................................7

3.2.      P2P-SIP Login Sequence...............................................................................................................................7


4.     ADVANCED SERVICES........................................................................................ 10

5.     SECURITY ............................................................................................................. 11

6.     PERFORMANCE ................................................................................................... 12

6.1.      Scalability.....................................................................................................................................................12

6.2.      Call Setup Latency ......................................................................................................................................13


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.




                        Figure 1. Client-Server vs Peer-To-Peer Network Model [3]




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.



    1.1.         Peer-to-Peer Networks
        P2P systems have been broadly classified into unstructured and structured networks.
Unstructured P2P networks, such as KaZaA and Gnutella, have no structure of how the nodes store files.
In other words, the data distribution is more or less random. Structured P2P network, which employ
Distributed Hast Table (DHT), provides enhanced search time by allocation data in a specific manner.
        The most famous, or infamous, use of peer-to-peer network is file-sharing. Therefore, previous
design goals of P2P technologies have been focused on enhancing file-sharing priorities, which differ
greatly from the VoIP priorities. As shown in Table 1 below, file-sharing applications differ significantly
in four main areas: it require heavy data storage capabilities, it benefits significantly from caching, it is
not as sensitive to delays, and it can employ replication strategies for reliability. On the other hand, VoIP
applications of P2P do not need heavy data storage or caching. Even if voicemail services are introduced,
data storage requirement for voicemail is not as heavy as file-sharing. Similarly, VoIP does not benefit
from caching because it is rare for one user to be searching for the same user that was recently called by
another peer. Singh and Schulzrinne indicated that the call access pattern is more uniformly distributed as
opposed to the zipf distribution of file-sharing access pattern [3]. In addition, VoIP packets are real-time

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.


    2.1.         Skype Network
        The Skype overlay network is a hybrid peer-to-peer
network like its KaZaA predecessor. There are three elements in
the Skype P2P overlay network: ordinary node, supernode, and
login server [9]. Each peer, also referred to as a node, starts off
as an ordinary node and may be promoted to a supernode based
on its capabilities and environments. For example, a node that is
behind a port-restricted firewall will likely never be promoted to
a supernode since its bandwidth is limited by the firewall.
Similarly, a node that is in the public domain with a reasonable
bandwidth and computational ability will be able to be promoted
to a supernode provided that it is available frequently. Ordinary
nodes, being less capable or reside in a more restricted
environment, function like a client program without being a
server for other nodes. The supernodes, however, are truly peer-
to-peer because they are responsible for servicing the ordinary
                                                                          Figure 2. Skype P2P Overlay
nodes that are connected to it. Unlike KaZaA, nodes have                            Network
absolutely no control over whether they will be upgraded to
supernodes or not [9]. The login server is the only centralized unit in the Skype overlay network
responsible for authentication of the users. It stores user names as well as the corresponding passwords
and provides the authentication mechanism. A crucial function of the login server is to ensure a unique
login name.
        Skype employs a variation of the STUN [10] and TURN [11] protocols for firewall and network
address translation (NAT) traversal. STUN stands for Simple Traversal of UDP over NAT and it “allows
applications to discover the presence and types of NAT and firewall between them and the public
Internet” [10]. The STUN protocol defined by IETF is a client-server protocol that requires a STUN
server. Skype likely made modifications to the STUN protocol for it to be more P2P friendly. TURN
stands for Traversal Using Relay NAT and it is a protocol that “allows for an element behind a NAT or


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.



    2.2.         P2P-SIP Network
In “Peer-to-Peer Internet Telephony using SIP” [3], Singh and Schulzrinne proposed three types of P2P
overlay network using a DHT table. On one extreme, the DHT is used in a server farm among the servers
which results in a client-server architecture except with distributed servers. On the other extreme, all
nodes of the P2P network become part of the DHT. The third option, an intermediate, was chosen by
Singh and Schulzrinne. This option borrows the supernode concept from KaZaA and Skype by having
the DHT table being distributed among nodes with high capacity (bandwidth, CPU, memory) and
availability (uptime, public IP address). They have also chosen an appropriate DHT for the desired
lookup-time and join/leave maintenance cost: Chord [12]. Chord is a scalable peer-to-peer lookup service
for Internet appliations designed by MIT Laboratory for Computer Science by Stoica, Morris, Karger,
Kasshoek, and Balakrishnan.




                                   Figure 3. Example Chord Network [13]


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.


    3.2.         P2P-SIP Login Sequence
        P2P-SIP is designed to be able to operate as a normal SIP client
as well as a P2P SIP node. Therefore, at start-up P2P-SIP will send a
SIP REGISTER message to a possible SIP server via DNS lookup. If
successful, the node will have regular SIP mechanism in addition to the
                                                                                  Figure 4. Skype Login
P2P mechanisms. Thus, P2P peer discovery will be more flexible than
                                                                               Sequence with only one entry
Skype. Singh and Schulzrinne proposed three methods for nodes to join               in Host Cache table.
the overlay network: limited TTL multicast, Service Location Protocol           Authentication process with
(SLP), and bootstrapping [3]. Limited TTL multicast method involves a           login server is not shown [3]

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.




              Figure 5. P2P-SIP Node Startup and Outgoing Registration [3]




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.




                Figure 6. P2P-SIP Incoming REGISTER message decision matrix.




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.


                Offline        Multi-Party         Call           Call                           Instant
                                                                                 Presence
               Messaging       Conference        Transfer      Forwarding                       Messaging
  Skype              ◦                ◦                                               ◦                  ◦
 P2P-SIP             ◦                ◦               ◦               ◦               ◦                  ◦
Table 3. Advanced Services offered by 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

approximately 2 300 = 2x10 90 supernodes.


    6.2.        Call Setup Latency
        P2P systems inevitably have a greater latency compared to a typical client-server system. For
P2P-SIP, the base topology is based on Chord, which has an O(logN) lookup time. Therefore, there is
room for improvement compared to the O(1) lookup time of client-server systems. In a 10,000 node
system, the average number of hops is 6. Therefore, given that a typical SIP call setup is less than 200ms,
P2P-SIP would require approximately 1 to 2 second delay [3]. Skype, on the other hand, takes 3 to 8
seconds for user location [3].




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

				
DOCUMENT INFO