Internet DRAFT - draft-baset-sipping-p2preq

draft-baset-sipping-p2preq






SIPPING WG                                                      S. Baset
Internet-Draft                                            H. Schulzrinne
Expires: May 1, 2006                                 Columbia University
                                                                 E. Shim
                                                               Panasonic
                                                                K. Dhara
                                                     Avaya Labs Research
                                                        October 28, 2005


       Requirements for SIP-based Peer-to-Peer Internet Telephony
                     draft-baset-sipping-p2preq-00

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on May 1, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   This document defines requirements for designing peer-to-peer voice,
   text, and real-time multimedia communication system protocols.





Baset, et al.              Expires May 1, 2006                  [Page 1]

Internet-Draft          Requirements for P2P SIP            October 2005


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Functional Scope . . . . . . . . . . . . . . . . . . . . . . .  6
   4.  High-level Requirements  . . . . . . . . . . . . . . . . . . .  7
     4.1.  Resources for Distribution . . . . . . . . . . . . . . . .  7
     4.2.  Protocol Reuse . . . . . . . . . . . . . . . . . . . . . .  7
     4.3.  DHT Changeability  . . . . . . . . . . . . . . . . . . . .  7
     4.4.  Small Overhead . . . . . . . . . . . . . . . . . . . . . .  7
     4.5.  NAT and Firewall Traversal . . . . . . . . . . . . . . . .  7
     4.6.  Voice Transport  . . . . . . . . . . . . . . . . . . . . .  8
     4.7.  Deployment Scale . . . . . . . . . . . . . . . . . . . . .  8
   5.  Architectural Requirements . . . . . . . . . . . . . . . . . .  9
     5.1.  Scalability  . . . . . . . . . . . . . . . . . . . . . . .  9
     5.2.  Reliability  . . . . . . . . . . . . . . . . . . . . . . .  9
     5.3.  Namespace  . . . . . . . . . . . . . . . . . . . . . . . .  9
     5.4.  Services/Resource Lookup . . . . . . . . . . . . . . . . .  9
       5.4.1.  Centralized Lookup . . . . . . . . . . . . . . . . . .  9
       5.4.2.  Distributed Lookup . . . . . . . . . . . . . . . . . .  9
     5.5.  Interconnect with P2P, non-P2P and PSTN networks . . . . . 10
   6.  Protocol Specification Requirements  . . . . . . . . . . . . . 11
     6.1.  Support for different DHTs . . . . . . . . . . . . . . . . 11
     6.2.  Addressing for Heterogeneous Resources . . . . . . . . . . 11
   7.  Usage Scenarios  . . . . . . . . . . . . . . . . . . . . . . . 12
     7.1.  Global Telephony Overlay . . . . . . . . . . . . . . . . . 12
     7.2.  Emergency, Ad-hoc  . . . . . . . . . . . . . . . . . . . . 12
     7.3.  Office Environments, P2P-IP-PBX  . . . . . . . . . . . . . 12
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 13
     8.1.  Identity . . . . . . . . . . . . . . . . . . . . . . . . . 13
     8.2.  Signaling and Media Anonymization  . . . . . . . . . . . . 13
     8.3.  Misbehaving Peers  . . . . . . . . . . . . . . . . . . . . 13
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16
   Intellectual Property and Copyright Statements . . . . . . . . . . 17
















Baset, et al.              Expires May 1, 2006                  [Page 2]

Internet-Draft          Requirements for P2P SIP            October 2005


1.  Introduction

   This document has the objective of focusing on the requirements for
   designing protocols for peer-to-peer voice, text, and real-time
   multimedia communication systems.

   Peer-to-peer (P2P) technologies enable large-scale overlay networks
   of hosts for various applications such as file sharing, VoIP,
   presence, instant messaging, content distribution, and collaboration.
   In P2P-based systems, physical resources such as computing power,
   storage space, and network bandwidth from participating hosts are
   collectively used to support the application functions and centrally
   managed severs do not exist or perform much less functions than in
   traditional client server based systems.  Hence, P2P-based systems
   can have advantages of good scalability, reduced management and
   deployment costs, and easy setup.

   The traditional SIP [2] based VoIP systems employ SIP registrars, SIP
   proxy servers, and STUN [11] and TURN [12] servers.  SIP registrars
   are used to locate the user contact information, SIP proxy servers
   are used to route the calls, and STUN and TURN servers are used to
   traverse NATs and firewalls.  The SIP RFC does not mandate the use of
   these servers; it specifically says that all servers in SIP are
   optional.  The deployment and maintenance of these servers can
   constitute a significant cost for a SIP-based VoIP service provider.

   Several peer-to-peer voice systems, such as Skype [13] and Nimcat
   [14] have demonstrated the possibility of voice and IM services for
   end users.  Typically, these systems distribute the functionality of
   location servers and NAT and firewall traversal servers to the end-
   points.  Each end-point or peer can potentially participate in the
   routing decisions and spare its CPU and bandwidth for servicing other
   peers in the network.  Most of these systems assume a network of
   peers that are similar in capabilities such as processing power,
   memory, bandwidth, media mixing abilities.  However, heterogeneous
   peer-to-peer voice network do not operate on such assumptions and
   hence require architectures that support communication among users
   with a diverse set of end-points.

   P2P-based SIP or P2P SIP will enable P2P VoIP and other multimedia
   communications based on open standards.  It was demonstrated by Bryan
   [3] and Singh [4] that it is possible to build a P2P SIP network in
   which the location service is distributed to the end-points.  While
   these two pioneering works take designs quite close to each other, a
   different architecture was proposed by Matthews [6].  A distributed
   location service for SIP was proposed by Johnston [5].  With various
   design options and open issues, identifying requirements for P2P SIP
   will facilitate making design choices.  This document defines a set



Baset, et al.              Expires May 1, 2006                  [Page 3]

Internet-Draft          Requirements for P2P SIP            October 2005


   of requirements for P2P-SIP.


















































Baset, et al.              Expires May 1, 2006                  [Page 4]

Internet-Draft          Requirements for P2P SIP            October 2005


2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [1].

   Terminology defined in RFC 3261 [2] is used without definition.

   Distributed Hash Table (DHT): A mechanism in which resources are
   given a unique key produced by hashing some attribute of the
   resource, locating them in a hash space (see below).  Nodes located
   in this hash space also have a unique id within the hash space.
   Nodes store information about resources with keys that are
   numerically similar to the node's ID in the hash space.

   Node or a Peer: Software running on a user machine that allows
   sharing the machine's resources such as CPU cycles and bandwidth to
   perform functions typically carried out by a centralized server for
   its clients.  In most simple terms, a peer is both a client and a
   server.

   Overlay or Overlay Network: This document refers to the virtual
   network created by the interconnection between the nodes
   participating in the P2P SIP network as the "overlay network", in
   keeping with the terminology used in the P2P community.

   Peer-to-Peer Service Provider: The organization that provides
   services required to run a P2P network, for example, providing a
   centralized authentication service, a centralized bootstrap service
   or a centralized resource location service.





















Baset, et al.              Expires May 1, 2006                  [Page 5]

Internet-Draft          Requirements for P2P SIP            October 2005


3.  Functional Scope

   P2P SIP SHOULD be able to support all or most of the applications and
   services supported by the traditional SIP.  The most important and
   basic functionality of P2P SIP should be the support of real-time
   communications such as basic voice services and video conferencing.
   Additionally, P2P SIP should be flexible to accommodate non-real-time
   communications like asynchronous messaging and presence.











































Baset, et al.              Expires May 1, 2006                  [Page 6]

Internet-Draft          Requirements for P2P SIP            October 2005


4.  High-level Requirements

4.1.  Resources for Distribution

   Location service, NAT and firewall traversal servers, voicemail,
   address book, and configuration storage are examples of centralized
   resources in a conventional VoIP deployment.  A peer-to-peer system
   SHOULD allow a generic mechanism for distributing these centralized
   resources to the peers.

4.2.  Protocol Reuse

   Existing protocols such as SSL, TLS, and SIP SHOULD be reused as much
   as possible such that their usage does not introduce a significant
   overhead.

4.3.  DHT Changeability

   The protocol(s) for maintaining the peer-to-peer network SHOULD be
   flexible to accommodate different DHT algorithms.

   Motivation: There are many different algorithms for maintaining a DHT
   such as Chord [7], CAN [8], and Pastry [9].  The research in DHT is
   on going and it is possible that these algorithms can be improved or
   new algorithms can be devised.  Also, it cannot be assumed that one
   DHT algorithm will fit for all deployments of various scale.  Thus,
   the protocol should be flexible to accommodate various DHT
   algorithms.

4.4.  Small Overhead

   The overhead of the protocol SHOULD be minimal so that it can support
   low capability devices.

   Motivation: The protocol is envisioned to be run on low capability
   mobile devices such as WiFi phones and wireless enabled cameras as
   well as more resourceful devices.  A protocol which has a large
   overhead for P2P network maintenance can devour the device resources,
   the most critical being the battery.

   A better P2P algorithm might need fewer resources, so the ability of
   a system to change the P2P algorithm actually helps low capability
   devices.

4.5.  NAT and Firewall Traversal

   R1.  The peer-to-peer system SHOULD distribute the functionality of
   NAT and firewall traversal servers to the end-points.



Baset, et al.              Expires May 1, 2006                  [Page 7]

Internet-Draft          Requirements for P2P SIP            October 2005


   Motivation: This is one of the main reasons for designing a peer-to-
   peer IP telephony protocol.  According to September 2005 press
   release from Nielsen NetRatings [15], 60% of the US home Internet
   users are using broadband.  Many of these users are likely to use
   some sort of NAT to setup a home network.  An IP telephony system
   supporting these kind of users must provide NAT and firewall
   traversal servers and allocate sufficient bandwidth for them.  A P2P
   IP telephony system can save on the cost of maintaining these servers
   and corresponding bandwidth by distributing the functionality of
   these servers to the end-points.

   R2.  A peer with NAT and firewall traversal capabilities SHOULD be
   selected such that it does not introduce significant delay between
   the communicating peers.

   Motivation: A peer in Australia should not act as a NAT traversal
   server for two communicating voice peers in New York.

4.6.  Voice Transport

   The peers SHOULD support sending and receiving voice packets over TCP
   in addition to UDP.

   Motivation: The typical NAT configurations maintain the binding of a
   TCP connection for its lifetime.  Thus, packets sent over TCP
   'seamlessly' traverse through NATs.  The peers acting as NAT and
   firewall traversal servers should be able to relay voice packets over
   TCP between caller and callee.

4.7.  Deployment Scale

   The P2P system will be deployed in small offices and home networks
   (SOHO), emergency and ad-hoc situations, and globally over the
   Internet.  The protocols SHOULD be flexible to cater for the varying
   scale requirements of these networks.
















Baset, et al.              Expires May 1, 2006                  [Page 8]

Internet-Draft          Requirements for P2P SIP            October 2005


5.  Architectural Requirements

5.1.  Scalability

   The protocol SHOULD achieve an Internet wide scale.

   Motivation: It is envisioned that a global VoIP overlay will be
   deployed which will contain hundreds of thousands of nodes.  The
   protocol(s) should be scalable to support such a deployment.

5.2.  Reliability

   The system MUST continue to function as peers arrive, depart, and
   fail.  No assumptions should be made regarding peer uptime or their
   capabilities.

   Motivation: The peers will run on machines of end-users and it is
   quite difficult to predict the reliability of those machines.  The
   system should allow reallocating the resources of a graceful or
   ungraceful departing peer to existing peers in a seamless way.  Time
   interval for detection of failed peers should be adjustable based on
   scale and other system requirements.

5.3.  Namespace

   The system SHOULD allow centralized and non-centralized naming
   authorities.  In the absence of any naming authority, the system MUST
   be able to determine if two users pick up the same name and SHOULD be
   able to decide which of them should be allowed to use the name.  The
   system SHOULD support both SIP and non-SIP naming (addressing)
   schemes.

   Motivation: A global overlay network will probably require a central
   naming authority to maintain a unique namespace.  A home network may
   not need any central authority due to small number of devices.

5.4.  Services/Resource Lookup

5.4.1.  Centralized Lookup

   Value-added services such as reliable voicemail storage can be
   provided by a central authority in a P2P network.  The system SHOULD
   allow the peers to efficiently locate the centralized service
   providers or resources.

5.4.2.  Distributed Lookup

   The peers should be able to perform distributed resource and service



Baset, et al.              Expires May 1, 2006                  [Page 9]

Internet-Draft          Requirements for P2P SIP            October 2005


   lookup in an efficient manner.  The number of peers to be contacted
   SHOULD be minimal in such a lookup.

5.5.  Interconnect with P2P, non-P2P and PSTN networks

   The P2P system SHOULD be able to interconnect with other P2P or non-
   P2P systems and PSTN networks.  To provide this interconnection, the
   P2P system should be able to discover these networks in a centralized
   or in a distributed away.










































Baset, et al.              Expires May 1, 2006                 [Page 10]

Internet-Draft          Requirements for P2P SIP            October 2005


6.  Protocol Specification Requirements

6.1.  Support for different DHTs

   Any protocol specification SHOULD be able to incorporate different
   DHT algorithms based on the P2P service provider requirements.

6.2.  Addressing for Heterogeneous Resources

   It is envisioned that more than one type of resources will be
   distributed in the overlay network.  Location service and NAT and
   firewall traversal servers are examples of two such resources.  The
   protocol specification SHOULD have a flexible addressing scheme to
   support distinct distributed resources and SHOULD allow new
   distributed resources to be incorporated in an existing network.




































Baset, et al.              Expires May 1, 2006                 [Page 11]

Internet-Draft          Requirements for P2P SIP            October 2005


7.  Usage Scenarios

   Below, some deployment scenarios for the P2P VoIP system are
   described.

7.1.  Global Telephony Overlay

   A global P2P telephony VoIP system which allows its users located in
   different regions and countries to communicate with each other.

7.2.  Emergency, Ad-hoc

   In emergency situations, communication links can break down, and many
   of the servers such as DNS may not be reachable.  An overlay
   communication network can be established in that situation.  Clearly,
   the assumption is that some sort of underlying network infrastructure
   available.

7.3.  Office Environments, P2P-IP-PBX

   A small office or an environment with a heterogeneous network
   infrastructure are good candidates for P2P overlay network.  Small
   offices may not want to be bothered with maintaining yet another
   server.  Server-less P2P systems can help achieve this goal.



























Baset, et al.              Expires May 1, 2006                 [Page 12]

Internet-Draft          Requirements for P2P SIP            October 2005


8.  Security Considerations

8.1.  Identity

   A global overlay network will probably have more stringent
   requirements for identity management and protection than a home based
   network.  The system should allow identities to be verified in a
   reasonable way.  Central naming and certificate authorities can
   provide protection against identity theft.

   Lack of central authority in a large overlay implies that the system
   is susceptible to Sybil Attack [10].

8.2.  Signaling and Media Anonymization

   Since a peer can route signaling messages between peers and can act
   as a NAT or a firewall traversal server for the communicating
   parties, it is imperative that the communication is encrypted.  A
   peer acting as a router or a NAT or a firewall traversal server
   should not be able to listen to the communication.  It is recommended
   that the system should also support IP address and port anonymization
   to the extent it does not significantly delay the real-time media
   stream.

8.3.  Misbehaving Peers

   The system must not assume that all peers will behave correctly.  The
   system must recognize the existence of leachers and free-loaders, and
   must provide a mechanism to detect and penalize them.

   Motivation: Users do not like arbitrary traffic to flow across their
   machines.  Even if the user has agreed with the terms of service of
   the P2P software, he or she may take active steps to block overlay
   traffic.  Misbehaved peers can choose to discard the routing requests
   or route them incorrectly.  Any such action by legitimate or
   illegitimate users can hamper the operation of the P2P network.  The
   protocols must be designed with this perspective.

9.  References

   [1]   Bradner, S., "Key words for use in RFCs to Indicate Requirement
         Levels", BCP 14, RFC 2119, March 1997.

   [2]   Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
         Petersen, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
         Session Initiation Protocol", RFC 3261, June 2002.

   [3]   Bryan, D. and C. Jennings, "A P2P Approach to SIP Registration



Baset, et al.              Expires May 1, 2006                 [Page 13]

Internet-Draft          Requirements for P2P SIP            October 2005


         and Resource Location", draft-bryan-sipping-p2p-01 (work in
         progress), July 2005.

   [4]   Singh, K. and H. Schulzrinne, "Peer-to-peer Internet Telephony
         using SIP", Proceedings of the 2005 Network and Operating
         Systems Support for Digital Audio and Video Workshop (NOSSDAV)
         '05 , June 2005.

   [5]   Johnston, A., "SIP, P2P, and Internet Communications",
         draft-johnston-sipping-p2p-ipcom-01 (work in progress),
         March 2005.

   [6]   Matthews, P. and B. Poustchi, "Industrial-Strength P2P SIP",
         draft-matthews-sipping-p2p-industrial-strength-00 (work in
         progress), February 2005.

   [7]   Stoica, I., Morris, R., Liben-Nowell, D., Karger, D., Kaashoek,
         M., Dabek, F., and H. Balakrishnan, "Chord: A Scalable Peer-to-
         peer Lookup Service for Internet Applications", IEEE/ACM
         Transactions on Networking (To Appear).

   [8]   Ratmasamy, S., Francis, P., Handley, M., Karp, R., and S.
         Shenker, "A scalable content-addressable network", Proc. ACM
         SIGCOMM (San Diego, CA), pp. 161-172, August 2001.

   [9]   Rowstron, A. and P. Druschel, "Pastry: Scalable, distributed
         object location and routing for large-scale peer-to-peer
         systems", Proceedings of the 18th IFIP/ACM International
         Conference on Distributed Systems Platforms (Middleware 2001),
         March 2002.

   [10]  Docuer, J., "The Sybil Attack", IPTPS '02 , March 2002.

   [11]  Rosenberg, J., Weinberger, J., Huitema, C., and R. Mahy, "STUN
         - Simple Traversal of User Datagram Protocol (UDP) Through
         Network Address Translators (NATs)", RFC 3489, March 2003.

   [12]  Rosenberg, J., Mahy, R., and C. Huitema, "TURN - Traversal
         Using Relay NAT", draft-rosenberg-midcom-turn-08 (work in
         progress), September 2005.

   [13]  "Skype. P2P Internet Telephony Application",
         <http://www.skype.com>.

   [14]  "Nimcat Networks. P2P Solutions for Enterprise Telephony",
         <http://www.nimcatnetworks.com>.

   [15]  "Nielsen Ratings Press Release", September 28 2005,



Baset, et al.              Expires May 1, 2006                 [Page 14]

Internet-Draft          Requirements for P2P SIP            October 2005


         <http://www.nielsen-netratings.com/pr/pr_050928.pdf>.


















































Baset, et al.              Expires May 1, 2006                 [Page 15]

Internet-Draft          Requirements for P2P SIP            October 2005


Authors' Addresses

   Salman A. Baset
   Dept. of Computer Science
   Columbia University
   1214 Amsterdam Avenue
   New York, NY  10027
   USA

   Email: salman@cs.columbia.edu


   Henning Schulzrinne
   Dept. of Computer Science
   Columbia University
   1214 Amsterdam Avenue
   New York, NY  10027
   USA

   Email: hgs@cs.columbia.edu


   Eunsoo Shim
   Panasonic Digital Networking Laboratory
   Two Research Way, 3rd Floor
   Princeton, NJ  08540
   USA

   Email: eunsoo@research.panasonic.com


   Krishna Kishore Dhara
   Avaya Labs Research
   307 Middletown Lincroft Road
   Lincroft, NJ  07738-1526

   Email: dhara@avaya.com














Baset, et al.              Expires May 1, 2006                 [Page 16]

Internet-Draft          Requirements for P2P SIP            October 2005


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2005).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Baset, et al.              Expires May 1, 2006                 [Page 17]