Internet DRAFT - draft-bouazizi-rmt-alcframing
draft-bouazizi-rmt-alcframing
Transport Group I. Bouazizi
Internet Draft Nokia Research Center
Expires: April 2007 October 30, 2006
Framing ALC Packets over Connection-Oriented Transport
draft-bouazizi-rmt-alcframing-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 April 30, 2007.
Abstract
ALC and FLUTE are reliable content delivery protocols designed mainly
for scalable multicast distribution. However, this does not preclude
their deployment in the Unicast distribution mode over connectionless
or connection-oriented transport protocols. A method for framing ALC
and FLUTE packets onto connection-oriented transport is presented. A
definition of the descriptors of the framing method for those
protocols is also given.
Bouazizi Expires April 30, 2007 [Page 1]
Internet-Draft ALC over Connection-Oriented Transport October 2006
Conventions used in this document
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 Error!
Reference source not found..
Table of Contents
1. Introduction ................................................ 2
2. The Framing Method .......................................... 3
3. Keep-Alive Mechanism......................................... 3
4. Further Considerations ....................................... 4
5. Session Descriptions for FLUTE over TCP ...................... 4
6. Example ..................................................... 4
7. Congestion Control .......................................... 5
8. Security Considerations...................................... 5
9. IANA Considerations ......................................... 5
10. Acknowledgments ............................................ 5
11. References ................................................. 6
11.1. Normative References ................................... 6
11.2. Informative References ................................. 6
Author's Addresses ............................................. 6
Intellectual Property Statement ................................. 6
Disclaimer of Validity ......................................... 7
Copyright Statement ............................................ 7
Acknowledgment ................................................. 7
1. Introduction
The Asynchronous Layered Coding protocol [RFC3450] describes a
massively scalable protocol for content delivery over multicast
networks. ALC is composed of several building blocks such as the
Layered Coding Transport building block [RFC3451] and the Forward
Error Correction building block [RFC3452]. FLUTE [RFC3926] has been
defined to allow for a specific delivery of files and is based on
ALC. FLUTE is being deployed for file delivery in 3GPP Multimedia
Broadcast/Multicast Services (MBMS) [3GPPTS26.346] and in IPDC over
DVB-H [ETSITS102472].
In some situations, multicast delivery might not be possible or
useful. This may happen e.g. in mobile multicast, when the receiver
is out of coverage of the broadcast/multicast network. In such case,
the delivery of the same content over Unicast reliably seems to be an
attractive solution. However, none of the above protocols defines
Bouazizi Expires April 30, 2007 [Page 2]
Internet-Draft ALC over Connection-Oriented Transport October 2006
appropriate measures to allow for transport over connection-oriented
protocols (e.g. TCP).
This memo defines a framing method to allow for transport of
ALC/FLUTE packets over connection-oriented transport protocols.
Additionally, a mechanism for signaling the framing method use in
session descriptions (SDP) is introduced. The memo follows the design
principles and logic of [RFC4571], which defines a framing method for
RTP and RTCP for connection-oriented transport.
2. The Framing Method
The framing method is depicted in Figure 1.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------------------------------------------------------+
| LENGTH | ALC/FLUTE packet |
+---------------------------------------------------------------+
Figure 1 Bit field definition of the framing method.
The LENGTH field is a 16-bit field unsigned integer that is coded in
network byte order (big-endian). If the LENGTH field is a non-zero
value, an ALC or FLUTE packet follows the LENGTH field. The LENGTH
field indicates the length in octets of the ALC/FLUTE packet. If the
value of LENGTH is zero, a null packet is assumed.
To check the validity of a frame (i.e. LENGTH field and ALC/FLUTE
packet), receivers SHOULD monitor the LCT packet header that follows
the LENGTH field. The header has predictable and locatable fields
such as the version field, the Codepoint field, and the Transport
Session Identifier (TSI) field.
3. Keep-Alive Mechanism
This memo defines a keep-alive mechanism that MAY be used by the
sender and receiver to terminate an inactive connection. The sender
MAY indicate a keep-alive timeout interval that the receiver MAY use
to teardown the session if no frames have been received during that
interval.
The keep-alive interval is signaled by an out-of-band mechanism. The
usage of the session description to signal the keep-alive interval is
described in section 5.
Bouazizi Expires April 30, 2007 [Page 3]
Internet-Draft ALC over Connection-Oriented Transport October 2006
If a keep-alive interval is signaled by the sender, the receiver
SHOULD teardown the ALC/FLUTE session if no frames is received for a
continuous period of time no shorter than the keep-alive time. When
selecting the keep-alive time, the sender SHOULD account for all
possible delay factors such as retransmission delays.
The sender MAY use null-packets, as defined in section 2, to maintain
the session if it anticipates that data will still be available for
transmission to the receiver.
4. Further Considerations
The framing method defined in this memo may be applied in an end-to-
end system or at certain paths of the end-to-end system, where
tunneling over TCP is required. This has the following consequences:
o The order of the packets cannot be guaranteed.
o Packet loss may occur and SHOULD be detected based on the EXT FTI
header by detecting gaps in Source Block Number and Encoding
Symbol IDs.
5. Session Descriptions for FLUTE over TCP
This memo is based on the SDP descriptors for FLUTE [draft-mehta-rmt-
flute-sdp]. Additionally, it defines the value "FLUTE/TCP" for the
proto sub-field in the media description field. "FLUTE/TCP" refers to
the deployment of FLUTE over TCP.
This memo also defines a new session-level attribute "a=session-
timeout", which is used to indicate the keep-alive time interval in
seconds. The syntax of the attribute in ABNF format is as follows:
session-timeout="a=session-timeout:" keep-alive-time
keep-alive-time = 1*DIGIT
; value is the keep-alive time interval
6. Example
The SDP description in Figure 2 is an example of the usage of the
current memo to describe a FLUTE session over TCP along with a keep-
alive time indication.
v=0
o=user 17102006 524685645 IN IP6 120::42A:C1:7B64
s=FLUTE over TCP session
i=Example of the session description
Bouazizi Expires April 30, 2007 [Page 4]
Internet-Draft ALC over Connection-Oriented Transport October 2006
t=3371675545 3371680487
a=source-filter: incl IN IP6 * 120::42A:C1:7B64
a=flute-tsi:145
a=flute-ch:1
a=session-timeout:200
m=application 12345 FLUTE/TCP *
c=IN IP6 FF15::4040
Figure 2 Bit field definition of the framing method.
7. Congestion Control
ALC and FLUTE MAY make use of the congestion control building block.
Furthermore, the deployment over TCP ensures that the ALC/FLUTE
session competes fairly with other TCP connections.
8. Security Considerations
Implementers SHOULD pay attention to the security considerations that
apply for FLUTE, ALC and LCT. Additionally, applications SHOULD be
able to deal with any LENGTH field value from 0 to 2^^16-1, as
attackers may use this field for exploiting security holes in the
application.
9. IANA Considerations
In section 5, a new value for the <proto> sub-field of the <media-description>
field "FLUTE/TCP" is defined. Section 5 also defines a session-level attribute
<a=session-timeout>. Section 6 gives an example of the usage of the new
definitions in SDP.
10. Acknowledgments
Bouazizi Expires April 30, 2007 [Page 5]
Internet-Draft ALC over Connection-Oriented Transport October 2006
11. References
11.1. Normative References
[RFC3450] M. Luby et al., "Asynchronous Layered Coding (ALC) Protocol
Initiation", RFC 3450, December 2002.
[RFC3451] M. Luby et al., "Layered Coding Transport (LCT) Building
Block", RFC 3451, December 2002.
[RFC3452] M. Luby et al., "Forward Error Correction (FEC) Building
Block", RFC 3451, December 2002.
[RFC3926] T. Paila et al., "FLUTE – File Delivery over Unidirectional
Transport", RFC 3926, October 2004.
[draft-mehta-rmt-flute-sdp] R. Walsh et al., "SDP descriptors for
FLUTE", draft-meht-rmt-flute-sdp-05, January 2006.
11.2. Informative References
rd
[3GPPTS26.346] "3 Generation Partnership Project; Technical
Specification Group Services and System Aspects; Multimedia
Broadcast/Multicast Service (MBMS); Protocols and codecs
(Release 7) ", September 2006.
[ETSITS102472] "Digital Video Broadcasting; IP Datacast over DVB-H:
Content Delivery Protocols", ETSI TS 102472, June 2006.
[RFC4571] J. Lazzaro, "Framing Real-time Transport Protocol (RTP) and
RTP Control Protocol (RTCP) Packets over Connection-
Oriented Transport", July 2006.
Author's Addresses
Imed Bouazizi
Nokia Research Center
Visiokatu 1, 33720, Tampere
Email: imed.bouazizi@nokia.com
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
Bouazizi Expires April 30, 2007 [Page 6]
Internet-Draft ALC over Connection-Oriented Transport October 2006
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 (2006).
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.
Bouazizi Expires April 30, 2007 [Page 7]