6128
PROPOSED STANDARD

RTP Control Protocol (RTCP) Port for Source-Specific Multicast (SSM) Sessions

Authors: A. Begen
Date: February 2011
Area: rai
Working Group: avt
Stream: IETF
Updates: RFC 5760

Abstract

The Session Description Protocol (SDP) has an attribute that allows RTP applications to specify an address and a port associated with the RTP Control Protocol (RTCP) traffic. In RTP-based source-specific multicast (SSM) sessions, the same attribute is used to designate the address and the RTCP port of the Feedback Target in the SDP description. However, the RTCP port associated with the SSM session itself cannot be specified by the same attribute to avoid ambiguity, and thus, is required to be derived from the "m=" line of the media description. Deriving the RTCP port from the "m=" line imposes an unnecessary restriction. This document removes this restriction by introducing a new SDP attribute. [STANDARDS-TRACK]

RFC 6128: RTP Control Protocol (RTCP) Port for Source-Specific Multicast (SSM) Sessions [RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Info page]

PROPOSED STANDARD
Internet Engineering Task Force (IETF)                          A. Begen
Request for Comments: 6128                                         Cisco
Updates: <a href="./rfc5760">5760</a>                                              February 2011
Category: Standards Track
ISSN: 2070-1721


                  <span class="h1">RTP Control Protocol (RTCP) Port for</span>
                <span class="h1">Source-Specific Multicast (SSM) Sessions</span>

Abstract

   The Session Description Protocol (SDP) has an attribute that allows
   RTP applications to specify an address and a port associated with the
   RTP Control Protocol (RTCP) traffic.  In RTP-based source-specific
   multicast (SSM) sessions, the same attribute is used to designate the
   address and the RTCP port of the Feedback Target in the SDP
   description.  However, the RTCP port associated with the SSM session
   itself cannot be specified by the same attribute to avoid ambiguity,
   and thus, is required to be derived from the "m=" line of the media
   description.  Deriving the RTCP port from the "m=" line imposes an
   unnecessary restriction.  This document removes this restriction by
   introducing a new SDP attribute.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   <a href="https://www.rfc-editor.org/info/rfc6128">http://www.rfc-editor.org/info/rfc6128</a>.














<span class="grey">Begen                        Standards Track                    [Page 1]</span>

<span id="page-2" ></span>
<span class="grey"><a href="./rfc6128">RFC 6128</a>            RTCP Port for Multicast Sessions       February 2011</span>


Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   <a href="#section-1">1</a>. Introduction ....................................................<a href="#page-2">2</a>
   <a href="#section-2">2</a>. The 'multicast-rtcp' Attribute ..................................<a href="#page-3">3</a>
   <a href="#section-3">3</a>. SDP Example .....................................................<a href="#page-3">3</a>
   <a href="#section-4">4</a>. Security Considerations .........................................<a href="#page-4">4</a>
   <a href="#section-5">5</a>. IANA Considerations .............................................<a href="#page-4">4</a>
      <a href="#section-5.1">5.1</a>. Registration of SDP Attributes .............................<a href="#page-5">5</a>
   <a href="#section-6">6</a>. Acknowledgments .................................................<a href="#page-5">5</a>
   <a href="#section-7">7</a>. References ......................................................<a href="#page-5">5</a>
      <a href="#section-7.1">7.1</a>. Normative References .......................................<a href="#page-5">5</a>
      <a href="#section-7.2">7.2</a>. Informative References .....................................<a href="#page-5">5</a>

<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>.  Introduction</span>

   The Session Description Protocol (SDP) [<a href="./rfc4566" title=""SDP: Session Description Protocol"">RFC4566</a>] has an attribute
   that allows RTP applications [<a href="./rfc3550" title=""RTP: A Transport Protocol for Real-Time Applications"">RFC3550</a>] to specify an address and a
   port associated with the RTP Control Protocol (RTCP) traffic
   [<a href="./rfc3605" title=""Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP)"">RFC3605</a>].  This attribute is called 'rtcp'.

   Now consider a network where one or more media senders send RTP
   packets to a distribution source, which then multicasts these RTP
   packets to multicast receivers using a source-specific multicast
   (SSM) arrangement [<a href="./rfc5760" title=""RTP Control Protocol (RTCP) Extensions for Single-Source Multicast Sessions with Unicast Feedback"">RFC5760</a>].  The distribution source also multicasts
   the forward RTCP traffic (i.e., RTCP sender reports and receiver
   reports or their summaries) to the receivers in the same SSM session.

   In RTP-based SSM sessions, the 'rtcp' attribute is used to designate
   the address and the RTCP port of the Feedback Target in the SDP
   description [<a href="./rfc5760" title=""RTP Control Protocol (RTCP) Extensions for Single-Source Multicast Sessions with Unicast Feedback"">RFC5760</a>].  However, the RTCP port associated with the
   SSM session itself cannot be specified by the same attribute since it
   could potentially cause ambiguity.  Thus, the multicast RTCP port is
   required to be derived from the "m=" line of the media description



<span class="grey">Begen                        Standards Track                    [Page 2]</span>

<span id="page-3" ></span>
<span class="grey"><a href="./rfc6128">RFC 6128</a>            RTCP Port for Multicast Sessions       February 2011</span>


   (see <a href="./rfc5760#section-10.2">Section 10.2 of [RFC5760]</a>) by following the +1 rule (see <a href="./rfc3550#section-11">Section</a>
   <a href="./rfc3550#section-11">11 of [RFC3550]</a>).  However, [<a href="./rfc3550" title=""RTP: A Transport Protocol for Real-Time Applications"">RFC3550</a>] lifted the requirement for the
   +1 rule since it imposed an unnecessary restriction on RTCP port
   selection.

   In this specification, we introduce a new SDP attribute to remove
   this restriction.  The new attribute allows the multicast sender to
   use its desired port in the RTCP session.  This document updates
   [<a href="./rfc5760" title=""RTP Control Protocol (RTCP) Extensions for Single-Source Multicast Sessions with Unicast Feedback"">RFC5760</a>].

<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>.  The 'multicast-rtcp' Attribute</span>

   In RTP-based SSM sessions, the distribution source can use different
   multicast RTP and RTCP ports to send the RTP and RTCP packets,
   respectively.  Alternatively, the distribution source can use RTP/
   RTCP port muxing [<a href="./rfc5761" title=""Multiplexing RTP Data and Control Packets on a Single Port"">RFC5761</a>], in which case the RTP and RTCP packets
   are sent to the same destination port in the SSM session.

   For the cases when the distribution source does not want to use the
   one higher port for the RTCP traffic, this document defines a new SDP
   attribute, called 'multicast-rtcp'.  By using this attribute, the
   distribution source uses a desired port for the SSM RTCP session.  In
   the absence of the 'multicast-rtcp' attribute, the +1 rule applies
   following [<a href="./rfc5760" title=""RTP Control Protocol (RTCP) Extensions for Single-Source Multicast Sessions with Unicast Feedback"">RFC5760</a>].

   The following ABNF [<a href="./rfc5234" title=""Augmented BNF for Syntax Specifications: ABNF"">RFC5234</a>] syntax formally describes the
   'multicast-rtcp' attribute:

               rtcp-attribute = "a=multicast-rtcp:" port CRLF

         Figure 1: ABNF syntax for the 'multicast-rtcp' attribute

   Here, the 'port' token is defined as specified in <a href="./rfc4566#section-9">Section 9 of
   [RFC4566]</a>.

   The 'multicast-rtcp' attribute is defined as both a media-level and
   session-level attribute.  Except where stated otherwise in this
   document, the rules of [<a href="./rfc3550" title=""RTP: A Transport Protocol for Real-Time Applications"">RFC3550</a>] apply.

<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>.  SDP Example</span>

   In the session description shown in Figure 2, a source stream is
   multicast from a distribution source (with a source IP address of
   198.51.100.1) to the multicast destination address of 233.252.0.2 and
   port 41000.  The forward RTCP traffic is multicast in the same
   multicast group but to port 42000 as specified by the "a=multicast-
   rtcp:42000" line.  A feedback target with an address of 192.0.2.1 and
   port of 43000 is specified by the 'rtcp' attribute.



<span class="grey">Begen                        Standards Track                    [Page 3]</span>

<span id="page-4" ></span>
<span class="grey"><a href="./rfc6128">RFC 6128</a>            RTCP Port for Multicast Sessions       February 2011</span>


           v=0
           o=ali 1122334455 1122334466 IN IP4 ssm.example.com
           s='multicast-rtcp' Example
           t=0 0
           a=rtcp-unicast:rsi
           m=video 41000 RTP/AVPF 98
           i=Multicast Stream
           c=IN IP4 233.252.0.2/255
           a=source-filter:incl IN IP4 233.252.0.2 198.51.100.1
           a=rtpmap:98 MP2T/90000
           a=multicast-rtcp:42000
           a=rtcp:43000 IN IP4 192.0.2.1
           a=mid:1

       Figure 2: Example SDP showing the use of the 'multicast-rtcp'
                                 attribute

<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>.  Security Considerations</span>

   The 'multicast-rtcp' attribute is not believed to introduce any
   significant security risk to multimedia applications.  A malevolent
   third party could use this attribute to redirect the RTCP traffic,
   but this requires intercepting and rewriting the packets carrying the
   SDP description; and if an interceptor can do that, many more attacks
   are possible, including a wholesale change of the addresses and port
   numbers at which the media will be sent.

   In order to avoid attacks of this sort, the SDP description needs to
   be integrity protected and provided with source authentication.  This
   can, for example, be achieved on an end-to-end basis using S/MIME
   [<a href="./rfc5652" title=""Cryptographic Message Syntax (CMS)"">RFC5652</a>] [<a href="./rfc5751" title=""Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.2 Message Specification"">RFC5751</a>] when SDP is used in a signaling packet using MIME
   types (application/sdp).  Alternatively, HTTPS [<a href="./rfc2818" title=""HTTP Over TLS"">RFC2818</a>] or the
   authentication method in the Session Announcement Protocol (SAP)
   [<a href="./rfc2974" title=""Session Announcement Protocol"">RFC2974</a>] could be used as well.

<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>.  IANA Considerations</span>

   The following contact information shall be used for all registrations
   in this document:

   Ali Begen
   [email protected]









<span class="grey">Begen                        Standards Track                    [Page 4]</span>

<span id="page-5" ></span>
<span class="grey"><a href="./rfc6128">RFC 6128</a>            RTCP Port for Multicast Sessions       February 2011</span>


<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>.  Registration of SDP Attributes</span>

   This document registers a new attribute name in SDP.

        SDP Attribute ("att-field"):
        Attribute name:     multicast-rtcp
        Long form:          Port in the multicast RTCP session
        Type of name:       att-field
        Type of attribute:  Media or session level
        Subject to charset: No
        Purpose:            Specifies the port for the SSM RTCP session
        Reference:          [<a href="./rfc6128">RFC6128</a>]
        Values:             See [<a href="./rfc6128">RFC6128</a>]

<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>.  Acknowledgments</span>

   Thanks to Colin Perkins and Magnus Westerlund for suggesting the name
   for the 'multicast-rtcp' attribute and providing text for portions of
   this specification.  Some parts of this specification are based on
   [<a href="./rfc3605" title=""Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP)"">RFC3605</a>] and [<a href="./rfc5760" title=""RTP Control Protocol (RTCP) Extensions for Single-Source Multicast Sessions with Unicast Feedback"">RFC5760</a>].  So, also thanks to those who contributed to
   those specifications.

<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>.  References</span>

<span class="h3"><a class="selflink" id="section-7.1" href="#section-7.1">7.1</a>.  Normative References</span>

   [<a id="ref-RFC3550">RFC3550</a>]  Schulzrinne, H., Casner, S., Frederick, R., and V.
              Jacobson, "RTP: A Transport Protocol for Real-Time
              Applications", STD 64, <a href="./rfc3550">RFC 3550</a>, July 2003.

   [<a id="ref-RFC4566">RFC4566</a>]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", <a href="./rfc4566">RFC 4566</a>, July 2006.

   [<a id="ref-RFC5760">RFC5760</a>]  Ott, J., Chesterfield, J., and E. Schooler, "RTP Control
              Protocol (RTCP) Extensions for Single-Source Multicast
              Sessions with Unicast Feedback", <a href="./rfc5760">RFC 5760</a>, February 2010.

   [<a id="ref-RFC5234">RFC5234</a>]  Crocker, D. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", STD 68, <a href="./rfc5234">RFC 5234</a>, January 2008.

<span class="h3"><a class="selflink" id="section-7.2" href="#section-7.2">7.2</a>.  Informative References</span>

   [<a id="ref-RFC3605">RFC3605</a>]  Huitema, C., "Real Time Control Protocol (RTCP) attribute
              in Session Description Protocol (SDP)", <a href="./rfc3605">RFC 3605</a>,
              October 2003.

   [<a id="ref-RFC5761">RFC5761</a>]  Perkins, C. and M. Westerlund, "Multiplexing RTP Data and
              Control Packets on a Single Port", <a href="./rfc5761">RFC 5761</a>, April 2010.



<span class="grey">Begen                        Standards Track                    [Page 5]</span>

<span id="page-6" ></span>
<span class="grey"><a href="./rfc6128">RFC 6128</a>            RTCP Port for Multicast Sessions       February 2011</span>


   [<a id="ref-RFC5652">RFC5652</a>]  Housley, R., "Cryptographic Message Syntax (CMS)", STD 70,
              <a href="./rfc5652">RFC 5652</a>, September 2009.

   [<a id="ref-RFC2818">RFC2818</a>]  Rescorla, E., "HTTP Over TLS", <a href="./rfc2818">RFC 2818</a>, May 2000.

   [<a id="ref-RFC2974">RFC2974</a>]  Handley, M., Perkins, C., and E. Whelan, "Session
              Announcement Protocol", <a href="./rfc2974">RFC 2974</a>, October 2000.

   [<a id="ref-RFC5751">RFC5751</a>]  Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet
              Mail Extensions (S/MIME) Version 3.2 Message
              Specification", <a href="./rfc5751">RFC 5751</a>, January 2010.

Author's Address

   Ali Begen
   Cisco
   181 Bay Street
   Toronto, ON  M5J 2T3
   Canada

   EMail: [email protected]






























Begen                        Standards Track                    [Page 6]

Additional Resources