draft-ietf-mmusic-duplication-grouping-01.txt   draft-ietf-mmusic-duplication-grouping-02.txt 
MMUSIC A. Begen MMUSIC A. Begen
Internet-Draft Cisco Internet-Draft Cisco
Intended status: Standards Track Y. Cai Intended status: Standards Track Y. Cai
Expires: September 21, 2013 Microsoft Expires: November 28, 2013 Microsoft
H. Ou H. Ou
Cisco Cisco
March 20, 2013 May 27, 2013
Duplication Grouping Semantics in the Session Description Protocol Duplication Grouping Semantics in the Session Description Protocol
draft-ietf-mmusic-duplication-grouping-01 draft-ietf-mmusic-duplication-grouping-02
Abstract Abstract
Packet loss is undesirable for real-time multimedia sessions, but can Packet loss is undesirable for real-time multimedia sessions, but can
occur due to congestion, or other unplanned network outages. This is occur due to congestion, or other unplanned network outages. This is
especially true for IP multicast networks, where packet loss patterns especially true for IP multicast networks, where packet loss patterns
can vary greatly between receivers. One technique that can be used can vary greatly between receivers. One technique that can be used
to recover from packet loss without incurring unbounded delay for all to recover from packet loss without incurring unbounded delay for all
the receivers is to duplicate the packets and send them in separate the receivers is to duplicate the packets and send them in separate
redundant streams. This document defines the semantics for grouping redundant streams. This document defines the semantics for grouping
redundant streams in the Session Description Protocol (SDP). The redundant streams in the Session Description Protocol (SDP). The
semantics defined in this document are to be used with the SDP semantics defined in this document are to be used with the SDP
Grouping Framework [RFC5888]. SSRC-level (Synchronization Source) Grouping Framework [RFC5888]. SSRC-level (Synchronization Source)
grouping semantics are also defined in this document for RTP streams grouping semantics are also defined in this document for RTP streams
using SSRC multiplexing. using SSRC multiplexing.
Status of this Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 21, 2013. This Internet-Draft will expire on November 28, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Notation . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 3
3. Duplication Grouping . . . . . . . . . . . . . . . . . . . . . 3 3. Duplication Grouping . . . . . . . . . . . . . . . . . . . . 3
3.1. "DUP" Grouping Semantics . . . . . . . . . . . . . . . . . 3 3.1. "DUP" Grouping Semantics . . . . . . . . . . . . . . . . 3
3.2. Duplication Grouping for SSRC-Multiplexed RTP Streams . . . 4 3.2. Duplication Grouping for SSRC-Multiplexed RTP Streams . . 3
3.3. SDP Offer/Answer Model Considerations . . . . . . . . . . . 4 3.3. SDP Offer/Answer Model Considerations . . . . . . . . . . 4
4. SDP Examples . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. SDP Examples . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1. Separate Source Addresses . . . . . . . . . . . . . . . . . 5 4.1. Separate Source Addresses . . . . . . . . . . . . . . . . 4
4.2. Separate Destination Addresses . . . . . . . . . . . . . . 5 4.2. Separate Destination Addresses . . . . . . . . . . . . . 5
4.3. Temporal Redundancy . . . . . . . . . . . . . . . . . . . . 6 4.3. Temporal Redundancy . . . . . . . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 7 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
8.1. Normative References . . . . . . . . . . . . . . . . . . . 8 8.1. Normative References . . . . . . . . . . . . . . . . . . 7
8.2. Informative References . . . . . . . . . . . . . . . . . . 8 8.2. Informative References . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction 1. Introduction
The Real-time Transport Protocol (RTP) [RFC3550] is widely used today The Real-time Transport Protocol (RTP) [RFC3550] is widely used today
for delivering IPTV traffic, and other real-time multimedia sessions. for delivering IPTV traffic, and other real-time multimedia sessions.
Many of these applications support very large numbers of receivers, Many of these applications support very large numbers of receivers,
and rely on intra-domain UDP/IP multicast for efficient distribution and rely on intra-domain UDP/IP multicast for efficient distribution
of traffic within the network. of traffic within the network.
While this combination has proved successful, there does exist a While this combination has proved successful, there does exist a
skipping to change at page 4, line 27 skipping to change at page 4, line 8
the same RTP session. The grouping is based on the SSRC identifiers. the same RTP session. The grouping is based on the SSRC identifiers.
Since SSRC-multiplexed RTP streams are defined in the same "m" line, Since SSRC-multiplexed RTP streams are defined in the same "m" line,
the 'group' attribute cannot be used. the 'group' attribute cannot be used.
This section explains how duplication is used with SSRC-multiplexed This section explains how duplication is used with SSRC-multiplexed
streams using the 'ssrc-group' attribute [RFC5576]. streams using the 'ssrc-group' attribute [RFC5576].
The semantics of "DUP" for the 'ssrc-group' attribute are the same as The semantics of "DUP" for the 'ssrc-group' attribute are the same as
the one defined for the 'group' attribute except that the SSRC the one defined for the 'group' attribute except that the SSRC
identifiers are used to designate the duplication grouping identifiers are used to designate the duplication grouping
associations: a=ssrc-group:DUP *(SP ssrc-id) [RFC5576]. As above, associations: a=ssrc-group:DUP *(SP ssrc-id) [RFC5576]. As above,
while in an "a=ssrc-group:DUP" line, the order of the listed while in an "a=ssrc-group:DUP" line, the order of the listed
redundant streams does not necessarily indicate the order of redundant streams does not necessarily indicate the order of
transmission, it is RECOMMENDED that the stream listed first is sent transmission, it is RECOMMENDED that the stream listed first is sent
first, with the other stream(s) being the (time-delayed) first, with the other stream(s) being the (time-delayed)
duplicate(s). duplicate(s).
3.3. SDP Offer/Answer Model Considerations 3.3. SDP Offer/Answer Model Considerations
When offering duplication grouping using SDP in an Offer/Answer model When offering duplication grouping using SDP in an Offer/Answer model
[RFC3264], the following considerations apply. [RFC3264], the following considerations apply.
skipping to change at page 5, line 16 skipping to change at page 4, line 46
retry the request with an offer without the duplication grouping. retry the request with an offer without the duplication grouping.
This behavior is specified in [RFC5888]. This behavior is specified in [RFC5888].
4. SDP Examples 4. SDP Examples
4.1. Separate Source Addresses 4.1. Separate Source Addresses
In this example, the redundant streams use the same IP destination In this example, the redundant streams use the same IP destination
address (232.252.0.1) but they are sourced from different addresses address (232.252.0.1) but they are sourced from different addresses
(198.51.100.1 and 198.51.100.2). Thus, the receiving host needs to (198.51.100.1 and 198.51.100.2). Thus, the receiving host needs to
join both SSM sessions separately. join both source-specific multicast (SSM) sessions separately.
v=0 v=0
o=ali 1122334455 1122334466 IN IP4 dup.example.com o=ali 1122334455 1122334466 IN IP4 dup.example.com
s=DUP Grouping Semantics s=DUP Grouping Semantics
t=0 0 t=0 0
m=video 30000 RTP/AVP 100 m=video 30000 RTP/AVP 100
c=IN IP4 232.252.0.1/127 c=IN IP4 232.252.0.1/127
a=source-filter:incl IN IP4 232.252.0.1 198.51.100.1 198.51.100.2 a=source-filter:incl IN IP4 232.252.0.1 198.51.100.1 198.51.100.2
a=rtpmap:100 MP2T/90000 a=rtpmap:100 MP2T/90000
a=ssrc:1000 cname:ch1@example.com a=ssrc:1000 cname:ch1@example.com
a=ssrc:1010 cname:ch1@example.com a=ssrc:1010 cname:ch1@example.com
a=ssrc-group:DUP 1000 1010 a=ssrc-group:DUP 1000 1010
a=mid:Ch1 a=mid:Ch1
Note that in actual use, SSRC values, which are random 32-bit Note that in actual use, SSRC values, which are random 32-bit
numbers, can be much larger than the ones shown in this example. numbers, can be much larger than the ones shown in this example.
Also note that this SDP description does not use the 'duplication- Also note that this SDP description does not use the 'duplication-
delay' attribute (defined in [I-D.ietf-mmusic-delayed-duplication]) delay' attribute (defined in [I-D.ietf-mmusic-delayed-duplication])
since the sender does not apply any delay between the redundant since the sender does not apply any delay between the redundant
streams upon transmission. Alternatively, one could be more explicit streams upon transmission. Alternatively, one MAY explicitly insert
and insert an "a=duplication-delay:0" line before the "a=mid:Ch1" an "a=duplication-delay:0" line before the "a=mid:Ch1" line for
line. informational purposes.
4.2. Separate Destination Addresses 4.2. Separate Destination Addresses
In this example, the redundant streams have different IP destination In this example, the redundant streams have different IP destination
addresses. The example shows the same UDP port number and IP source addresses. The example shows the same UDP port number and IP source
address for each stream, but either or both could have been different address for each stream, but either or both could have been different
for the two streams. for the two streams.
v=0 v=0
o=ali 1122334455 1122334466 IN IP4 dup.example.com o=ali 1122334455 1122334466 IN IP4 dup.example.com
s=DUP Grouping Semantics s=DUP Grouping Semantics
t=0 0 t=0 0
a=group:DUP S1a S1b a=group:DUP S1a S1b
m=video 30000 RTP/AVP 100 m=video 30000 RTP/AVP 100
c=IN IP4 233.252.0.1/127 c=IN IP4 233.252.0.1/127
a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1 a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1
a=rtpmap:100 MP2T/90000 a=rtpmap:100 MP2T/90000
a=mid:S1a a=mid:S1a
m=video 30000 RTP/AVP 101 m=video 30000 RTP/AVP 101
c=IN IP4 233.252.0.2/127 c=IN IP4 233.252.0.2/127
a=source-filter:incl IN IP4 233.252.0.2 198.51.100.1 a=source-filter:incl IN IP4 233.252.0.2 198.51.100.1
a=rtpmap:101 MP2T/90000 a=rtpmap:101 MP2T/90000
a=mid:S1b a=mid:S1b
Optionally, one could be more explicit and insert an "a=duplication- Optionally, one could be more explicit and insert an "a=duplication-
delay:0" line before the first "m" line. delay:0" line before the first "m" line.
4.3. Temporal Redundancy 4.3. Temporal Redundancy
In this example, the redundant streams have the same IP source and In this example, the redundant streams have the same IP source and
destination addresses (i.e., they are transmitted in the same SSM destination addresses (i.e., they are transmitted in the same SSM
session). Due to the same source and destination addresses, the session). Due to the same source and destination addresses, the
packets in both streams will be routed over the same path. To packets in both streams will be routed over the same path. To
provide resiliency against packet loss, the duplicate of an original provide resiliency against packet loss, the duplicate of an original
packet is transmitted 50 ms later as indicated by the 'duplication- packet is transmitted 50 ms later as indicated by the 'duplication-
delay' attribute (defined in [I-D.ietf-mmusic-delayed-duplication]). delay' attribute (defined in [I-D.ietf-mmusic-delayed-duplication]).
v=0 v=0
o=ali 1122334455 1122334466 IN IP4 dup.example.com o=ali 1122334455 1122334466 IN IP4 dup.example.com
s=Delayed Duplication s=Delayed Duplication
t=0 0 t=0 0
m=video 30000 RTP/AVP 100 m=video 30000 RTP/AVP 100
c=IN IP4 233.252.0.1/127 c=IN IP4 233.252.0.1/127
a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1 a=source-filter:incl IN IP4 233.252.0.1 198.51.100.1
a=rtpmap:100 MP2T/90000 a=rtpmap:100 MP2T/90000
a=ssrc:1000 cname:ch1a@example.com a=ssrc:1000 cname:ch1a@example.com
a=ssrc:1010 cname:ch1a@example.com a=ssrc:1010 cname:ch1a@example.com
a=ssrc-group:DUP 1000 1010 a=ssrc-group:DUP 1000 1010
a=duplication-delay:50 a=duplication-delay:50
a=mid:Ch1 a=mid:Ch1
5. Security Considerations 5. Security Considerations
There is a weak threat for the receiver that the duplication grouping There is a weak threat for the receiver that the duplication grouping
can be modified to indicate relationships that do not exist. Such can be modified to indicate relationships that do not exist. Such
attacks might result in failure of the duplication mechanisms, and/or attacks might result in failure of the duplication mechanisms, and/or
mishandling of the media streams by the receivers. mishandling of the media streams by the receivers.
In order to avoid attacks of this sort, the SDP description needs to In order to avoid attacks of this sort, the SDP description needs to
be integrity protected and provided with source authentication. This be integrity protected and provided with source authentication. This
skipping to change at page 7, line 25 skipping to change at page 6, line 46
[RFC5652] [RFC5751] when the SDP is used in a signaling packet using [RFC5652] [RFC5751] when the SDP is used in a signaling packet using
MIME types (application/sdp). Alternatively, HTTPS [RFC2818] or the MIME types (application/sdp). Alternatively, HTTPS [RFC2818] or the
authentication method in the Session Announcement Protocol (SAP) authentication method in the Session Announcement Protocol (SAP)
[RFC2974] could be used as well. [RFC2974] could be used as well.
6. IANA Considerations 6. IANA Considerations
This document registers the following semantics with IANA in This document registers the following semantics with IANA in
Semantics for the 'group' SDP Attribute under SDP Parameters: Semantics for the 'group' SDP Attribute under SDP Parameters:
Note to the RFC Editor: In the following registrations, please Note to the RFC Editor: In the following registrations, please
replace "XXXX" with the number of this document prior to publication replace "XXXX" with the number of this document prior to publication
as an RFC. as an RFC.
Semantics Token Reference Semantics Token Reference
------------------------------------- ------ --------- ------------------------------------- ------ ---------
Duplication DUP [RFCXXXX] Duplication DUP [RFCXXXX]
This document also registers the following semantics with IANA in This document also registers the following semantics with IANA in
Semantics for the 'ssrc-group' SDP Attribute under SDP Parameters: Semantics for the 'ssrc-group' SDP Attribute under SDP Parameters:
skipping to change at page 8, line 4 skipping to change at page 7, line 22
Token Semantics Reference Token Semantics Reference
------- ----------------------------- --------- ------- ----------------------------- ---------
DUP Duplication [RFCXXXX] DUP Duplication [RFCXXXX]
7. Acknowledgments 7. Acknowledgments
The authors would like to thank Colin Perkins, Bill Ver Steeg, Dave The authors would like to thank Colin Perkins, Bill Ver Steeg, Dave
Oran and Toerless Eckert for their inputs and suggestions. Oran and Toerless Eckert for their inputs and suggestions.
8. References 8. References
8.1. Normative References 8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264, with Session Description Protocol (SDP)", RFC 3264, June
June 2002. 2002.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003. Applications", STD 64, RFC 3550, July 2003.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006. Description Protocol", RFC 4566, July 2006.
[RFC5576] Lennox, J., Ott, J., and T. Schierl, "Source-Specific [RFC5576] Lennox, J., Ott, J., and T. Schierl, "Source-Specific
Media Attributes in the Session Description Protocol Media Attributes in the Session Description Protocol
skipping to change at page 8, line 36 skipping to change at page 8, line 14
8.2. Informative References 8.2. Informative References
[I-D.ietf-avtext-rtp-duplication] [I-D.ietf-avtext-rtp-duplication]
Begen, A. and C. Perkins, "Duplicating RTP Streams", Begen, A. and C. Perkins, "Duplicating RTP Streams",
draft-ietf-avtext-rtp-duplication-01 (work in progress), draft-ietf-avtext-rtp-duplication-01 (work in progress),
December 2012. December 2012.
[I-D.ietf-mmusic-delayed-duplication] [I-D.ietf-mmusic-delayed-duplication]
Begen, A., Cai, Y., and H. Ou, "Delayed Duplication Begen, A., Cai, Y., and H. Ou, "Delayed Duplication
Attribute in the Session Description Protocol", Attribute in the Session Description Protocol", draft-
draft-ietf-mmusic-delayed-duplication-00 (work in ietf-mmusic-delayed-duplication-01 (work in progress),
progress), October 2012. March 2013.
[IC2011] Evans, J., Begen, A., Greengrass, J., and C. Filsfils, [IC2011] Evans, J., Begen, A., Greengrass, J., and C. Filsfils,
"Toward Lossless Video Transport (to appear in IEEE "Toward Lossless Video Transport (to appear in IEEE
Internet Computing)", November 2011. Internet Computing)", November 2011.
[RFC2354] Perkins, C. and O. Hodson, "Options for Repair of [RFC2354] Perkins, C. and O. Hodson, "Options for Repair of
Streaming Media", RFC 2354, June 1998. Streaming Media", RFC 2354, June 1998.
[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000. [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000.
skipping to change at page 9, line 20 skipping to change at page 8, line 45
Specification", RFC 5751, January 2010. Specification", RFC 5751, January 2010.
Authors' Addresses Authors' Addresses
Ali Begen Ali Begen
Cisco Cisco
181 Bay Street 181 Bay Street
Toronto, ON M5J 2T3 Toronto, ON M5J 2T3
Canada Canada
Email: abegen@cisco.com Email: abegen@cisco.com
Yiqun Cai Yiqun Cai
Microsoft Microsoft
1065 La Avenida 1065 La Avenida
Mountain View, CA 94043 Mountain View, CA 94043
USA USA
Email: yiqunc@microsoft.com Email: yiqunc@microsoft.com
Heidi Ou Heidi Ou
Cisco Cisco
170 W. Tasman Dr. 170 W. Tasman Dr.
San Jose, CA 95134 San Jose, CA 95134
USA USA
Email: hou@cisco.com Email: hou@cisco.com
 End of changes. 20 change blocks. 
78 lines changed or deleted 77 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/