draft-ietf-ipdvb-ule-ext-07.txt   rfc5163.txt 
Internet Engineering Task Force G. Fairhurst Network Working Group G. Fairhurst
Internet-Draft University of Aberdeen Request for Comments: 5163 University of Aberdeen
Intended status: Proposed Standard B. Collini-Nocker Category: Standards Track B. Collini-Nocker
Expires: June 2008 University of Salzburg University of Salzburg
January 07, 2008
Extension Formats for Unidirectional Lightweight Encapsulation (ULE) Extension Formats for Unidirectional Lightweight Encapsulation (ULE)
and the Generic Stream Encapsulation (GSE) and the Generic Stream Encapsulation (GSE)
draft-ietf-ipdvb-ule-ext-07.txt
Status of this Draft 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 This document specifies an Internet standards track protocol for the
http://www.ietf.org/1id-abstracts.html Internet community, and requests discussion and suggestions for
The list of Internet-Draft Shadow Directories can be accessed at improvements. Please refer to the current edition of the "Internet
http://www.ietf.org/shadow.html. Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Abstract Abstract
This document describes a set of Extension Headers for the This document describes a set of Extension Headers for the
Unidirectional Lightweight Encapsulation (ULE), RFC4326. Unidirectional Lightweight Encapsulation (ULE), RFC4326.
The Extension Header formats specified in this document define The Extension Header formats specified in this document define
extensions appropriate to both ULE and the Generic Stream extensions appropriate to both ULE and the Generic Stream
Encapsulation (GSE) defined to support the second generation framing Encapsulation (GSE) for the second-generation framing structure
structure defined by Digital Video Broadcasting (DVB) family of defined by the Digital Video Broadcasting (DVB) family of
specifications. specifications.
Table of Contents Table of Contents
1. Introduction 1. Introduction ....................................................2
2. Conventions Used in This Document ...............................3
2. Conventions used in this document 3. Description of the Method .......................................4
3.1. MPEG-2 TS-Concat Extension .................................5
3. Description of method 3.2. PDU-Concat Extension .......................................8
3.1 MPEG-2 TS-Concat Extension 3.3. TimeStamp Extension .......................................12
3.2 PDU-Concat Extension 4. IANA Considerations ............................................13
3.3 TimeStamp Extension 5. Acknowledgments ................................................13
6. Security Considerations ........................................14
4. IANA Considerations 7. References .....................................................14
7.1. Normative References ......................................14
5. Acknowledgments 7.2. Informative References ....................................14
Appendix A. The Second-Generation DVB Transmission
6. Security Considerations Specifications .................................................16
7. References
7.1 Normative References
7.2 Informative References
Authors' Addresses
Appendix: The Second Generation DVB Transmission Specifications
1. Introduction 1. Introduction
This document describes three Header Extensions that may be used This document describes three Extension Headers that may be used with
with both the Unidirectional Lightweight Encapsulation, ULE, both the Unidirectional Lightweight Encapsulation (ULE) [RFC4326] and
[RFC4326] and the Generic Stream Encapsulation (GSE) [GSE]. ULE is the Generic Stream Encapsulation (GSE) [GSE]. ULE is defined for
defined for links that employ the MPEG-2 Transport Stream, and links that employ the MPEG-2 Transport Stream, and supports a wide
supports a wide variety of physical-layer bearers [RFC4259]. variety of physical-layer bearers [RFC4259].
GSE has been designed for the Generic Mode (also known as the GSE has been designed for the Generic Mode (also known as the Generic
Generic Stream (GS)), offered by second-generation DVB physical Stream (GS)), offered by second-generation DVB physical layers, and
layers, and in the first instance for DVB-S2 [ETSI-S2]. The in the first instance for DVB-S2 [ETSI-S2]. The requirements for the
requirements for the Generic Stream are described in [ID-S2-REQ]. Generic Stream are described in [S2-REQ]. The important
The important characteristics of this encapsulation are described in characteristics of this encapsulation are described in the appendix
an Appendix to this document. GSE maintains a design philosophy that of this document. GSE maintains a design philosophy that presents a
presents a network interface that is common to that presented by ULE network interface that is common to that presented by ULE and uses a
and uses a similar construction for SubNetwork Data Unit (SNDUs). similar construction for SubNetwork Data Units (SNDUs).
The first Extension Header defines a method that allows one or more The first Extension Header defines a method that allows one or more
TS-Packets [ISO-MPEG2] to be sent within a ULE SNDU. This method may TS Packets [ISO-MPEG2] to be sent within a ULE SNDU. This method may
be used to provide control plane information including the be used to provide control plane information including the
transmission of MPEG-2 Program Specific Information (PSI) for the transmission of MPEG-2 Program Specific Information (PSI) for the
Multiplex. In GSE, there is no native support for transport stream Multiplex. In GSE, there is no native support for Transport Stream
packets and this method is therefore suitable for providing an MPEG- packets and this method is therefore suitable for providing an MPEG-2
2 control plane. control plane.
A second Extension Header allows one or more PDUs to be sent within A second Extension Header allows one or more PDUs to be sent within
the same ULE SNDU. This method is designed for cases where a large the same ULE SNDU. This method is designed for cases where a large
number of small PDUs are directed to the same Network Point of number of small PDUs are directed to the same Network Point of
Attachment (NPA) address. The method may improve transmission Attachment (NPA) address. The method may improve transmission
efficiency (by removing duplicated MAC layer overhead). It can also efficiency (by removing duplicated MAC layer overhead). It can also
reduce processing overhead for a receiver that is not configured to reduce processing overhead for a receiver that is not configured to
receive the NPA address associated with an SNDU, allowing this receive the NPA address associated with an SNDU, allowing this
receiver to then skip several PDUs in one operation. The method is receiver to then skip several PDUs in one operation. The method is
defined as a generic Extension Header and may be used for IPv4 or defined as a generic Extension Header and may be used for IPv4 or
IPv6 packets. If, and when, a compression format is defined for ULE IPv6 packets. If, and when, a compression format is defined for ULE
or Ethernet, the method may also be used in combination with this or Ethernet, the method may also be used in combination with this
method. method.
A third Extension Header provides an optional timestamp value for an A third Extension Header provides an optional TimeStamp value for an
SNDU. Examples of the use of this timestamp option include SNDU. Examples of the use of this TimeStamp option include
monitoring and benchmarking of ULE and GSE links. Receivers that do monitoring and benchmarking of ULE and GSE links. Receivers that do
not wish to decode (or do not support) the timestamp extension may not wish to decode (or do not support) the TimeStamp extension may
discard the extension and process the remaining PDU or Extension discard the extension and process the remaining PDU or Extension
Headers. Headers.
An appendix includes a summary of key design issues and The appendix includes a summary of key design issues and
considerations relating to the GSE Specification defined by the DVB considerations relating to the GSE Specification defined by the DVB
Technical Module [GSE]. Technical Module [GSE].
2. Conventions used in this document 2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
"OPTIONAL" in this document are to be interpreted as described in document are to be interpreted as described in RFC 2119 [RFC2119].
RFC 2119 [RFC2119].
b: bit. For example, one byte consists of 8b. b: bit. For example, one byte consists of 8b.
B: Byte. Groups of bytes are represented in Internet byte order. B: byte. Groups of bytes are represented in Internet byte order.
BBFrame payload: The data field part of a Baseband frame [ETSI-S2] BBFrame payload: The data field part of a Baseband frame [ETSI-S2]
that may be used for the communication of data. Typical BBFrames that may be used for the communication of data. Typical BBFrames
range in size from 3072 to 58192 bits according to the choice of range in size from 3072 to 58192 bits according to the choice of
modulation format and Forward Error Correction (FEC) in use. modulation format and Forward Error Correction (FEC) in use.
DVB: Digital Video Broadcasting. A framework and set of associated DVB: Digital Video Broadcasting. A framework and set of associated
standards published by the European Telecommunications Standards standards published by the European Telecommunications Standards
Institute (ETSI) for the transmission of video, audio, and data. Institute (ETSI) for the transmission of video, audio, and data.
skipping to change at page 4, line 37 skipping to change at page 3, line 36
Encapsulator: A network device [RFC4259] that receives PDUs and Encapsulator: A network device [RFC4259] that receives PDUs and
formats these into Payload Units (known here as SNDUs) for output in formats these into Payload Units (known here as SNDUs) for output in
DVB-S or the Generic Mode of DVB-S2. DVB-S or the Generic Mode of DVB-S2.
GS: Generic Stream. A stream of BBFrames identified by a common GS: Generic Stream. A stream of BBFrames identified by a common
Input Stream Identifier, and which does not use the MPEG-2 TS format Input Stream Identifier, and which does not use the MPEG-2 TS format
[ETSI-S2]. It represents layer 2 of the ISO/OSI reference model. [ETSI-S2]. It represents layer 2 of the ISO/OSI reference model.
GSE: Generic Stream Encapsulation [GSE]. A method for encapsulating GSE: Generic Stream Encapsulation [GSE]. A method for encapsulating
PDUs to form a Generic Stream, which is sent using a sequence of PDUs to form a Generic Stream, which is sent using a sequence of
BBFrames. This encapsulation format shares the same extension BBFrames. This encapsulation format shares the same extension format
format, and basic processing rules of ULE and uses a common IANA and basic processing rules of ULE and uses a common IANA Registry.
Registry.
LT: A two-bit flag field defined in GSE [GSE]. LT: A two-bit flag field defined in GSE [GSE].
MAC: Medium Access Control [IEEE-802.3]. A link layer protocol MAC: Medium Access Control [IEEE-802.3]. A link-layer protocol
defined by the IEEE 802.3 standard. defined by the IEEE 802.3 standard.
MPEG-2: A set of standards specified by the Motion Picture Experts MPEG-2: A set of standards specified by the Motion Picture Experts
Group (MPEG), and standardized by the International Organization for Group (MPEG), and standardized by the International Organization for
Standardization (ISO/IEC 113818-1) [ISO-MPEG2], and ITU-T (in Standardization (ISO/IEC 113818-1) [ISO-MPEG2], and ITU-T (in H.220).
H.220).
Next-Header: A Type value indicating an Extension Header [RFC4326]. Next-Header: A Type value indicating an Extension Header [RFC4326].
NPA: Network Point of Attachment [RFC4326]. In this document, refers NPA: Network Point of Attachment [RFC4326]. In this document, refers
to a destination address (resembling an IEEE MAC address) within the to a destination address (resembling an IEEE MAC address) within the
DVB-S/S2 transmission network that is used to identify individual DVB-S/S2 transmission network that is used to identify individual
Receivers or groups of Receivers. Receivers or groups of Receivers.
PID: Packet Identifier [ISO-MPEG2]. A 13-bit field carried in the PID: Packet Identifier [ISO-MPEG2]. A 13-bit field carried in the
header of each TS Packet. This identifies the TS Logical Channel to header of each TS Packet. This identifies the TS Logical Channel to
which a TS Packet belongs [ISO-MPEG2]. The TS Packets that form the which a TS Packet belongs [ISO-MPEG2]. The TS Packets that form the
parts of a Table Section, or other Payload Unit must all carry the parts of a Table Section or other Payload Unit must all carry the
same PID value. The all ones PID value indicates a Null TS Packet same PID value. The all-ones PID value indicates a Null TS Packet
introduced to maintain a constant bit rate of a TS Multiplex. There introduced to maintain a constant bit rate of a TS Multiplex. There
is no required relationship between the PID values used for TS is no required relationship between the PID values used for TS
Logical Channels transmitted using different TS Multiplexes. Logical Channels transmitted using different TS Multiplexes.
PDU: Protocol Data Unit [RFC4259]. Examples of a PDU include PDU: Protocol Data Unit [RFC4259]. Examples of a PDU include
Ethernet frames, IPv4 or IPv6 datagrams, and other network packets. Ethernet frames, IPv4 or IPv6 datagrams, and other network packets.
PSI: Program Specific Information [ISO-MPEG2]. PSI: Program Specific Information [ISO-MPEG2].
S: A one-bit flag field defined in [GSE]. S: A one-bit flag field defined in [GSE].
SI Table: Service Information Table [ISO-MPEG2]. In this document, SI Table: Service Information Table [ISO-MPEG2]. In this document,
this term describes a table that is been defined by another this term describes a table that is been defined by another standards
standards body to convey information about the services carried on a body to convey information about the services carried on a DVB
DVB Multiplex. Multiplex.
SNDU: SubNetwork Data Unit [RFC4259]. In this document, this is an SNDU: SubNetwork Data Unit [RFC4259]. In this document, this is an
encapsulated PDU sent using ULE or GSE. encapsulated PDU sent using ULE or GSE.
Stream: A logical flow from an Encapsulator to a set of Receivers. Stream: A logical flow from an Encapsulator to a set of Receivers.
TS: Transport Stream [ISO-MPEG2], a method of transmission at the TS: Transport Stream [ISO-MPEG2], a method of transmission at the
MPEG-2 level using TS Packets; it represents layer 2 of the ISO/OSI MPEG-2 level using TS Packets; it represents layer 2 of the ISO/OSI
reference model. reference model.
ULE: Unidirectional Lightweight Encapsulation (ULE) [RFC4326]. A ULE: Unidirectional Lightweight Encapsulation (ULE) [RFC4326]. A
method that encapsulates PDUs into SNDUs that are sent in a series method that encapsulates PDUs into SNDUs that are sent in a series of
of TS Packets using a single TS Logical Channel. The encapsulation TS Packets using a single TS Logical Channel. The encapsulation
defines an extension format and an associated IANA Registry. defines an extension format and an associated IANA Registry.
3. Description of the Method 3. Description of the Method
In ULE, a Type field value that is less than 1536 in decimal In ULE, a Type field value that is less than 1536 in decimal
indicates an Extension Header. This section describes a set of indicates an Extension Header. This section describes a set of three
three extension formats for the ULE encapsulation. [GSE] uses a Type extension formats for the ULE encapsulation. [GSE] uses a Type field
field that adopts the same semantics as specified by RFC 4326. The that adopts the same semantics as specified by RFC 4326. The
encapsulation format differs in that GSE does not include a Cyclic encapsulation format differs in that GSE does not include a Cyclic
Redundancy Check (CRC) for each SNDU, has different header flags, Redundancy Check (CRC) for each SNDU, has different header flags, and
and utilizes a different SNDU length calculation [GSE]. utilizes a different SNDU length calculation [GSE].
There is a natural ordering of extension headers, which is
determined by the fields upon which the extension header operates. A There is a natural ordering of Extension Headers, which is determined
suitable ordering for many applications is presented in the list by the fields upon which the Extension Header operates. A suitable
below (from first to last header within an SNDU). This does not ordering for many applications is presented in the list below (from
imply that all types of Extensions should be present in a single first to last header within an SNDU). This does not imply that all
SNDU. The presented ordering may serve as a guideline for types of Extensions should be present in a single SNDU. The
optimization of Receiver processing. presented ordering may serve as a guideline for optimization of
Receiver processing.
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
|Fields related to Extension Header| Example Extension Headers | |Fields related to Extension Header| Example Extension Headers |
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| Link framing and transmission | Timestamp Extension | | Link framing and transmission | TimeStamp Extension |
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| Entire remaining SNDU Payload | Encryption Extension | | Entire remaining SNDU Payload | Encryption Extension |
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| Group of encapsulated PDUs | PDU-Concat or TS-Concat | | Group of encapsulated PDUs | PDU-Concat or TS-Concat |
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
| Specific encapsulated PDU | IEEE-defined type | | Specific encapsulated PDU | IEEE-defined type |
| | Test or MAC bridging Extension| | | Test or MAC bridging Extension|
+----------------------------------+-------------------------------+ +----------------------------------+-------------------------------+
Table 1: Recommended ordering of Extension Headers Table 1: Recommended ordering of Extension Headers
3.1 MPEG-2 TS-Concat Extension 3.1. MPEG-2 TS-Concat Extension
The MPEG-2 TS-Concat Extension Header is specified by an IANA The MPEG-2 TS-Concat Extension Header is specified by an IANA-
assigned H-Type value of 0x0002 in hexadecimal. This is a Mandatory assigned H-Type value of 0x0002 in hexadecimal. This is a Mandatory
Next-Header Extension. Extension Header.
The extension is used to transport one or more MPEG-2 TS Packets The extension is used to transport one or more MPEG-2 TS Packets
within a ULE SNDU. The number of TS Packets carried in a specific within a ULE SNDU. The number of TS Packets carried in a specific
SNDU is determined from the size of the remainder of the payload SNDU is determined from the size of the remainder of the payload
following the MPEG-2 TS Extension Header. The number of TS Packets following the MPEG-2 TS Extension Header. The number of TS Packets
contained in the SNDU is therefore (Length-N-10+D*6) / 188, where N contained in the SNDU is therefore (Length-N-10+D*6) / 188, where N
is the number of bytes associated with Extension Headers that is the number of bytes associated with Extension Headers that precede
precede the MPEG-2 TS-Concat Extension (zero if there are none). the MPEG-2 TS-Concat Extension (zero if there are none) and D is the
value of the D-bit.
A Receiver MUST check the validity of the Length value prior to A Receiver MUST check the validity of the Length value prior to
processing the payload. A valid Length corresponds to an integral processing the payload. A valid Length corresponds to an integral
number of TS Packets. An invalid Length (a remainder from the number of TS Packets. An invalid Length (a remainder from the
division by 188) MUST result in the discard of all encapsulated TS division by 188) MUST result in the discard of all encapsulated TS
Packets and SHOULD be recorded as TS-Concat size mismatch error. Packets and SHOULD be recorded as TS-Concat size mismatch error.
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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Length (15b) | Type = 0x0002 | |0| Length (15b) | Type = 0x0002 |
skipping to change at page 7, line 26 skipping to change at page 6, line 26
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TS-Packet 2 (if Length > 2*188) | | TS-Packet 2 (if Length > 2*188) |
= = = =
| etc. | | etc. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (CRC-32) | | (CRC-32) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: ULE/SNDU Format for a TS-Packet Payload (D=0) Figure 1: ULE/SNDU Format for a TS-Packet Payload (D=0)
Figure 1 illustrates the format of this Extension Header for ULE Figure 1 illustrates the format of this Extension Header for ULE with
with a value D=0, which indicates the presence of a NPA address a value D=0, which indicates the presence of an NPA address
[RFC4326]. In this case, the valid payload Length for a ULE SNDU [RFC4326]. In this case, the valid payload Length for a ULE SNDU
with no other extensions is (Length-10) / 188. with no other extensions is (Length-10) / 188.
The method used to define the Length in GSE differs to that of ULE. The method used to define the Length in GSE differs to that of ULE.
The equivalent case for GSE would result in a payload Length value The equivalent case for GSE would result in a payload Length value of
of (Length-6) / 188 (Figure 2). (Length-6) / 188 (Figure 2).
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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S|E|0 0| Length (12b) | Type = 0x0002 | |S|E|0 0| Length (12b) | Type = 0x0002 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receiver Destination NPA Address (6B) | | Receiver Destination NPA Address (6B) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| TS-Packet 1 | | TS-Packet 1 |
skipping to change at page 8, line 8 skipping to change at page 7, line 8
| TS-Packet 2 (if Length > 2*188) | | TS-Packet 2 (if Length > 2*188) |
= = = =
| etc. | | etc. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: GSE/SNDU Format for a TS-Packet Payload (LT=00) Figure 2: GSE/SNDU Format for a TS-Packet Payload (LT=00)
Fragmented GSE SNDUs are protected by a CRC-32 carried in the final Fragmented GSE SNDUs are protected by a CRC-32 carried in the final
fragment. After reassembly, this CRC-32 is removed and the resulting fragment. After reassembly, this CRC-32 is removed and the resulting
SNDU carries a Total Length field. The fields labeled S and E are SNDU carries a Total Length field. The fields labeled S and E are
defined by [GSE] and contain control flags used by the GSE link defined by [GSE] and contain control flags used by the GSE link
layer. The Label Type field (LT) specifies the presence and format layer. The Label Type (LT) field specifies the presence and format
of the GSE label. The LT field is only specified for the first of the GSE label. The LT field is only specified for the first
fragment (or a non-fragmented) GSE SNDU (i.e., when S=1). fragment (or a non-fragmented) GSE SNDU (i.e., when S=1).
In ULE, a value of D=1, is also permitted and indicates the absence In ULE, a value of D=1 is also permitted and indicates the absence of
of a NPA address (Figure 3). A similar format is supported in GSE. an NPA address (Figure 3). A similar format is supported in GSE.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1| Length (15b) | Type = 0x0002 | |1| Length (15b) | Type = 0x0002 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TS-Packet 1 | | TS-Packet 1 |
= = = =
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TS-Packet 2 (if Length > 2*188) | | TS-Packet 2 (if Length > 2*188) |
= = = =
| etc. | | etc. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (CRC-32) | | (CRC-32) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: ULE/SNDU Format for a TS-Packet Payload (D=1) Figure 3: ULE/SNDU Format for a TS-Packet Payload (D=1)
This extension may be used to transport one or more MPEG-2 TS The TS-Concat extension may be used to transport one or more MPEG-2
Packets of arbitrary content, interpreted according to [ISO-MPEG2]. TS Packets of arbitrary content, interpreted according to [ISO-
One expected use is for the transmission of MPEG-2 SI/PSI signalling MPEG2]. One expected use is for the transmission of MPEG-2 SI/PSI
[RFC4259]. signalling [RFC4259].
NULL TS Packets [ISO-MPEG2] SHOULD NOT be sent using this NULL TS Packets [ISO-MPEG2] SHOULD NOT be sent using this
encapsulation. To reduce transmission overhead and processing, an encapsulation. To reduce transmission overhead and processing, an
Encapsulator SHOULD specify a maximum period of time that it can Encapsulator SHOULD specify a maximum period of time that it can wait
wait before sending all queued TS Packets. This is known as the TS before sending all queued TS Packets. This is known as the TS
Packing Threshold. This value MUST be bounded and SHOULD be Packing Threshold. This value MUST be bounded and SHOULD be
configurable in the Encapsulator. A larger value can improve configurable in the Encapsulator. A larger value can improve
efficiency, but incurs higher jitter and could increase the efficiency, but incurs higher jitter and could increase the
probability of corruption. If additional TS Packets are NOT received probability of corruption. If additional TS Packets are NOT received
within the TS Packing Threshold, the Encapsulator MUST immediately within the TS Packing Threshold, the Encapsulator MUST immediately
send any queued TS Packets. send any queued TS Packets.
The use of this format to transfer MPEG-2 clock references (e.g., a The use of this format to transfer MPEG-2 clock references (e.g., a
Network Clock Reference, NCR) over ULE/GSE framing raises timing Network Clock Reference, NCR) over ULE/GSE framing raises timing
considerations at the encapsulation gateway, including the need to considerations at the encapsulation gateway, including the need to
update/modify the timing information prior to transmission by the update/modify the timing information prior to transmission by the
physical layer. These issues are not considered here, but this physical layer. These issues are not considered here, but this
operation may be simplified in GSE by ensuring that all SNDUs that operation may be simplified in GSE by ensuring that all SNDUs that
carry this Extension Header are placed before other data within the carry this Extension Header are placed before other data within the
BBFrame DataField [GSE]. BBFrame DataField [GSE].
This document does not specify how TS Packets are to be handled at This document does not specify how TS Packets are to be handled at
the Receiver, however it notes that a poorly configured Encapsulator the Receiver. However, it notes:
could lead to a Multiplex carrying multiple (possibly conflicting)
sets of TS Logical Channels and SI information encapsulated at
different levels or with different NPA addresses. The need for
consistency in the use of PIDs and the related SI information is
described in [RFC4947].
3.2 PDU-Concat Extension * A Receiver needs to consistently associate all TS Packets in a
Stream with one TS Logical Channel (Stream). If an Encapsulator
transmits more than one Stream of TS Packets each encapsulated at a
different level or with a different NPA address, a Receiver needs
to ensure that each is independently demultiplexed as a separate
Stream (Section 3.2 [RFC4259]).
The PDU-Concat Extension Header is specified by an IANA assigned H- * If an Encapsulator transmits service information encapsulated at
Type value of 0x0003 in hexadecimal. This is a Mandatory Next-Header different levels or with different NPA addresses, the Receivers
Extension. It enables a sequence of (usually short) PDUs to be sent need to ensure each Stream is related to the corresponding SI table
within a single SNDU payload. information (if any). A RECOMMENDED way to reduce signaling
interactions is to ensure each PID value uniquely identifies a
Stream within a TS Multiplex carrying ULE and also any TS Packets
encapsulated by a ULE/GSE Stream.
The need for consistency in the use of PIDs and the related service
information is described in section 4.2 of [RFC4947].
3.2. PDU-Concat Extension
The PDU-Concat Extension Header is specified by an IANA-assigned
H-Type value of 0x0003 in hexadecimal. This is a Mandatory Next-
Header Extension. It enables a sequence of (usually short) PDUs to
be sent within a single SNDU Payload.
The base header contains the Length of the entire SNDU. This carries The base header contains the Length of the entire SNDU. This carries
the value of the combined length of all PDUs to be encapsulated, the value of the combined length of all PDUs to be encapsulated,
including each set of encapsulation headers. The base header MAY be including each set of encapsulation headers. The base header MAY be
followed by one or more additional Extension Headers that precede followed by one or more additional Extension Headers that precede the
the PDU-Concat Extension Header. These Extension Headers (e.g., a PDU-Concat Extension Header. These Extension Headers (e.g., a
TimeStamp Extension) apply to the composite concatenated PDU. TimeStamp Extension) apply to the composite concatenated PDU.
The Extension Header also contains a 16-bit ULE Type field The Extension Header also contains a 16-bit ULE Type field describing
describing the encapsulated PDU, PDU-Concat-Type. Although any Type the encapsulated PDU, PDU-Concat-Type. Although any Type value
value specified in the ULE Next-Header Registry (including Extension specified in the ULE Next-Header Registry (including Extension Header
Header Types) may be assigned to the encapsulated PDU (except the Types) may be assigned to the encapsulated PDU (except the recursive
recursive use of a PDU-Concat type), all concatenated PDUs MUST have use of a PDU-Concat type), all concatenated PDUs MUST have a common
a common ULE Type (i.e., all concatenated PDUs passed by the network ULE Type (i.e., all concatenated PDUs passed by the network layer
layer must be associated with the same Type value). This simplifies must be associated with the same Type value). This simplifies the
the receiver design, and reduces the transmission overhead for receiver design, and reduces the transmission overhead for common use
common use cases. cases.
Each PDU is prefixed by its length in bytes (shown in the following Each PDU is prefixed by its length in bytes (shown in the following
diagrams as PDU-x-Length for the xth PDU). Encapsulated PDUs are of diagrams as PDU-x-Length for the xth PDU). Encapsulated PDUs are of
arbitrary length (in bytes) and are not necessarily aligned to 16- arbitrary length (in bytes) and are not necessarily aligned to 16-bit
bit or 32-bit boundaries within the SNDU (as shown in the figure). or 32-bit boundaries within the SNDU (as shown in the figures 4, 5,
The most significant bit of the first byte is reserved, R, and this and 6). The most significant bit of the first byte is reserved, R,
specification requires that this MUST be set to zero. Receivers MUST and this specification requires that this MUST be set to zero.
ignore the value of the R bit. The length of each PDU MUST be less Receivers MUST ignore the value of the R bit. The length of each PDU
than 32758 bytes, but will generally be much smaller. MUST be less than 32758 bytes, but will generally be much smaller.
When the SNDU header indicates the presence of an SNDU Destination When the SNDU header indicates the presence of an SNDU Destination
Address field (i.e., D=0 in ULE), a Network Point of Attachment, Address field (i.e., D=0 in ULE), a Network Point of Attachment, NPA,
NPA, field directly follows the fourth byte of the SNDU header. NPA field directly follows the fourth byte of the SNDU header. NPA
destination addresses are 6 Byte numbers, normally expressed in destination addresses are 6 byte numbers, normally expressed in
hexadecimal, used to identify the Receiver(s) in a transmission hexadecimal, used to identify the Receiver(s) in a transmission
network that should process a received SNDU. When present, the network that should process a received SNDU. When present, the
Receiver MUST associate the same specified MAC/NPA address with all Receiver MUST associate the same specified MAC/NPA address with all
PDUs within the SNDU Payload. This MAC/NPA address MUST also be PDUs within the SNDU Payload. This MAC/NPA address MUST also be
forwarded with each PDU, if required by the forwarding interface. forwarded with each PDU, if required by the forwarding interface.
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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Length (15b) | Type = 0x0003 | |0| Length (15b) | Type = 0x0003 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 11, line 4 skipping to change at page 10, line 26
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R| PDU-2-Length (15b) | | |R| PDU-2-Length (15b) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
= PDU-2 = = PDU-2 =
| | | |
More PDUs as required More PDUs as required
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: GSE/SNDU Format for a PDU-Concat Payload (LT=00) Figure 5: GSE/SNDU Format for a PDU-Concat Payload (LT=00)
When the SNDU header indicates the absence of an SNDU Destination When the SNDU header indicates the absence of an SNDU Destination
Address field (i.e., D=1 in ULE) all encapsulated PDUs MUST be Address field (i.e., D=1 in ULE), all encapsulated PDUs MUST be
processed as if they had been received without an NPA address. processed as if they had been received without an NPA address.
The value of D in the ULE header indicates whether a NPA/MAC address The value of D in the ULE header indicates whether an NPA/MAC address
is in use [RFC4326]. A similar format is supported in GSE (using the is in use [RFC4326]. A similar format is supported in GSE (using the
LT field). LT field).
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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1| Length (15b) | Type = 0x0003 | |1| Length (15b) | Type = 0x0003 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PDU-Concat-Type |R| PDU-1-Length (15b) | | PDU-Concat-Type |R| PDU-1-Length (15b) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
= PDU-1 = = PDU-1 =
skipping to change at page 11, line 34 skipping to change at page 11, line 27
| | | |
More PDUs as required More PDUs as required
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (CRC-32) | | (CRC-32) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: ULE/SNDU Format for a PDU-Concat Payload (D=1) Figure 6: ULE/SNDU Format for a PDU-Concat Payload (D=1)
To reduce transmission overhead and processing, an Encapsulator To reduce transmission overhead and processing, an Encapsulator
SHOULD specify a maximum period of time it will wait before sending SHOULD specify a maximum period of time it will wait before sending a
a Concatenated PDU. This is known as the PDU Packing Threshold. This Concatenated PDU. This is known as the PDU Packing Threshold. This
value MUST be bounded and SHOULD be configurable in the value MUST be bounded and SHOULD be configurable in the Encapsulator.
Encapsulator. A larger value can improve efficiency, but incurs A larger value can improve efficiency, but incurs higher jitter and
higher jitter and could increase the probability of corruption. If could increase the probability of corruption. If additional PDUs are
additional PDUs are NOT received within the PDU Packing Threshold, NOT received within the PDU Packing Threshold, the Encapsulator MUST
the Encapsulator MUST immediately send all queued PDUs. immediately send all queued PDUs.
The Receiver processes this Extension Header by verifying that it The Receiver processes this Extension Header by verifying that it
supports the specified PDU-Concat Type (unsupported Types MUST be supports the specified PDU-Concat Type (unsupported Types MUST be
discarded, but the receiver SHOULD record a PDU-Type error discarded, but the receiver SHOULD record a PDU-Type error
[RFC4326]). It then extracts each encapsulated PDU in turn. The [RFC4326]). It then extracts each encapsulated PDU in turn. The
Receiver MUST verify the Length of each PDU. It MUST also ensure Receiver MUST verify the Length of each PDU. It MUST also ensure
that the sum of the Lengths of all processed PDUs equals the Length that the sum of the Lengths of all processed PDUs equals the Length
specified in the SNDU base header. A Receiver SHOULD discard the specified in the SNDU base header. A Receiver SHOULD discard the
whole SNDU if the total and PDU sizes are not consistent and this whole SNDU if the total and PDU sizes are not consistent and this
event SHOULD be recorded as a PDU-Concat size mismatch error. A event SHOULD be recorded as a PDU-Concat size mismatch error. A
receiver MUST NOT forward a partial PDU with an indicated PDU-Length receiver MUST NOT forward a partial PDU with an indicated PDU-Length
greater than the number of unprocessed bytes remaining in the SNDU greater than the number of unprocessed bytes remaining in the SNDU
payload field. payload field.
3.3 Timestamp Extension 3.3. TimeStamp Extension
The Timestamp Extension Header is an Optional Next-Header Extension The TimeStamp Extension Header is an Optional Extension Header that
that permits an Encapsulator to add a timestamp field to an SNDU. permits an Encapsulator to add a TimeStamp field to an SNDU. The
The Timestamp Extension Header is specified by the IANA-assigned H- TimeStamp Extension Header is specified by the IANA-assigned H-Type
Type value of 257 decimal. This extension is an Optional Extension value of 257 decimal. This extension is an Optional Extension Header
Header ([RFC4326], Section 5). ([RFC4326], Section 5).
This extension is designed to support monitoring and measurement of This extension is designed to support monitoring and measurement of
the performance of a link to indicate the quality of an operational the performance of a link to indicate the quality of an operational
ULE link. This may be useful for GSE links (e.g., where significant ULE link. This may be useful for GSE links (e.g., where significant
complexity exists in the scheduling provided by the lower layers). complexity exists in the scheduling provided by the lower layers).
Possible uses of this extension include: Possible uses of this extension include:
* Validation of in-sequence ordering per Logical Channel, * Validation of in-sequence ordering per Logical Channel
* Measurement of one-way delay (when synchronized with the sender) * Measurement of one-way delay (when synchronized with the sender)
* Measurement of PDU Jitter introduced by the link, * Measurement of PDU Jitter introduced by the link
* Measurement of PDU loss (with additional information from sender). * Measurement of PDU loss (with additional information from sender)
Figure 7 shows the format of this extension with a HLEN value of 3 Figure 7 shows the format of this extension with a HLEN value of 3
indicating a timestamp of length 4B with a Type field (there is no indicating a TimeStamp of length 4B with a Type field (there is no
implied byte-alignment). implied byte-alignment).
0 7 15 23 31 0 7 15 23 31
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
| 0x03 | 0x01 | time stamp HI | | 0x03 | 0x01 | TimeStamp HI |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
| time stamp LO | Type | | TimeStamp LO | Type |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
Figure 7 Format of the 32-bit Timestamp Extension Header Figure 7: Format of the 32-bit TimeStamp Extension Header
The extension carries a 32-bit value (time stamp HI plus time stamp The extension carries a 32-bit value (TimeStamp HI plus TimeStamp
LO). The specified resolution is 1 microsecond. The value therefore LO). The specified resolution is 1 microsecond. The value therefore
indicates the number of 1 microsecond ticks past the hour in indicates the number of 1-microsecond ticks past the hour in
Universal Time when the PDU was encapsulated. This value may be Universal Time when the PDU was encapsulated. This value may be
earlier than the time of transmission, due for example to Packing, earlier than the time of transmission, due for example to Packing,
queuing and other Encapsulator processing. The value is right- queuing, and other Encapsulator processing. The value is right-
justified to the 32-bit field. Systems unable to insert timestamps justified to the 32-bit field. Systems unable to insert TimeStamps
at the specified resolution may use an arbitrary (and varying) value at the specified resolution MUST pad the unused least-significant
to pad the unused least-significant bits. bits with a value of zero.
The last two bytes carry a 16-bit Type field that indicates the type The last two bytes carry a 16-bit Type field that indicates the type
of payload carried in the SNDU, or the presence of a further Next- of payload carried in the SNDU or the presence of a further Next-
Header ([RFC4326], Section 4.4). Header ([RFC4326], Section 4.4).
Receivers MAY process the timestamp when the PDU encapsulation is Receivers MAY process the TimeStamp when the PDU encapsulation is
removed. Receivers that do not implement, or do not wish to process, removed. Receivers that do not implement, or do not wish to process,
the Timestamp Extension MAY skip this extension header. Receivers the TimeStamp Extension MAY skip this Extension Header. Receivers
MUST continue to process the remainder of the SNDU, forwarding the MUST continue to process the remainder of the SNDU, forwarding the
encapsulated PDU. encapsulated PDU.
4. IANA Considerations 4. IANA Considerations
This document requires IANA involvement for the assignment of three IANA has assigned three new Next-Header Type values from the IANA ULE
new Next-Header Type values from the IANA ULE Next-Header Registry. Next-Header Registry. These options are defined for specific use
These options are defined for specific use cases envisaged by GSE, cases envisaged by GSE, but are compatible with ULE.
but are compatible with ULE.
The following assignments have been made in this document, and The following assignments have been made in this document and
registered by IANA: registered by IANA:
Type Name Reference Type Name Reference
2: TS-Concat Section 3.1 2: TS-Concat Section 3.1
3: PDU-Concat Section 3.2 3: PDU-Concat Section 3.2
Type Name H-LEN Reference Type Name H-LEN Reference
257: Timestamp 3 Section 3.3 257: TimeStamp 3 Section 3.3
The TS-Concat Extension is a Mandatory next-type Extension Header, The TS-Concat Extension is a Mandatory next-type Extension Header,
specified in section 3.1 of this document. The value of this next- specified in Section 3.1 of this document. The value of this next-
header is defined by an IANA assigned H-Type value of 0x0002. header is defined by an IANA assigned H-Type value of 0x0002.
The PDU-Concat Extension is a Mandatory next-type Extension Header The PDU-Concat Extension is a Mandatory next-type Extension Header
specified in section 3.2 of this document. The value of this next- specified in Section 3.2 of this document. The value of this next-
header is defined by an IANA assigned H-Type value of 0x0003. header is defined by an IANA assigned H-Type value of 0x0003.
The Timestamp Extension is an Optional next-type Extension Header The TimeStamp Extension is an Optional next-type Extension Header
specified in section 3.3 of this document. The value of this next- specified in Section 3.3 of this document. The value of this next-
header is defined by an IANA assigned H-Type value of 257 decimal. header is defined by an IANA assigned H-Type value of 257 decimal.
This documents defines format for a HLEN value of 0x3. This documents defines the format for an HLEN value of 0x3.
5. Acknowledgments 5. Acknowledgments
The authors gratefully acknowledge the inputs, comments and The authors gratefully acknowledge the inputs, comments, and
assistance offered by the members of the DVB-GBS ad hoc group on assistance offered by the members of the DVB-GBS ad hoc group on
DVB-S2 encapsulation, in particular contributions on DVB-S2 DVB-S2 encapsulation, in particular contributions on DVB-S2
transmission aspects from Rita Rinaldo, Axel Jahn, and Ulrik De Bie. transmission aspects from Rita Rinaldo, Axel Jahn, and Ulrik De Bie.
Juan Cantillo provided a significant contribution to the informative Juan Cantillo provided a significant contribution to the informative
appendix. The authors thank Christian Praehauser for his insight and appendix. The authors thank Christian Praehauser for his insight and
contribution on header extension processing issues. contribution on Extension Header processing issues.
6. Security Considerations 6. Security Considerations
Security considerations for ULE are described in [RFC4326] and Security considerations for ULE are described in [RFC4326], and
further information on security aspects of using ULE are described further information on security aspects of using ULE are described in
in the security considerations of [RFC4259] and [ID-Sec-Req]. the security considerations of [RFC4259] and [Sec-Req].
An attacker that is able to inject arbitrary TS Packets in a ULE or An attacker that is able to inject arbitrary TS Packets in a ULE or
GSE Stream may modify layer 2 signalling information transmitted by GSE Stream may modify layer 2 signalling information transmitted by
the MPEG-2 TS-Concat extension. Since this attack requires access to the MPEG-2 TS-Concat extension. Since this attack requires access to
the link and/or layer 2 equipment, such an attack could also the link and/or layer 2 equipment, such an attack could also directly
directly attack signalling information sent as native TS Packets attack signalling information sent as native TS Packets (not
(not encapsulated by ULE/GSE). Security issues relating to the encapsulated by ULE/GSE). Security issues relating to the
transmission and interpretation of layer 2 signalling information transmission and interpretation of layer 2 signalling information
(including Address Resolution) within a TS Multiplex are described (including Address Resolution) within a TS Multiplex are described in
in [RFC4947]. The use of security mechanisms to protect the MPEG-2 [RFC4947]. The use of security mechanisms to protect the MPEG-2
signalling information is discussed by [ID-Sec-Req]. signalling information is discussed by [Sec-Req].
7. References 7. References
7.1 Normative References 7.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, 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4326] Fairhurst, G. and B. Collini-Nocker, "Unidirectional [RFC4326] Fairhurst, G. and B. Collini-Nocker, "Unidirectional
Lightweight Encapsulation (ULE) for transmission of IP datagrams Lightweight Encapsulation (ULE) for Transmission of IP
over an MPEG-2 Transport Stream", RFC 4326, December 2005. Datagrams over an MPEG-2 Transport Stream (TS)", RFC
4326, December 2005.
[GSE] TS 102 606 "Digital Video Broadcasting (DVB); Generic Stream [GSE] TS 102 606 "Digital Video Broadcasting (DVB); Generic
Encapsulation (GSE) Protocol, "European Telecommunication Standards, Stream Encapsulation (GSE) Protocol, "European
Institute (ETSI), 2007. Telecommunication Standards, Institute (ETSI), 2007.
7.2 Informative References 7.2. Informative References
[ETSI-S2] EN 302 307, "Digital Video Broadcasting (DVB); Second [ETSI-S2] EN 302 307, "Digital Video Broadcasting (DVB); Second
generation framing structure, channel coding and modulation systems generation framing structure, channel coding and
for Broadcasting, Interactive Services, News Gathering and other modulation systems for Broadcasting, Interactive
broadband satellite applications", European Telecommunication Services, News Gathering and other broadband satellite
Standards Institute (ETSI). applications", European Telecommunication Standards
Institute (ETSI).
[ID-S2-REQ] "Requirements for transmission of IP datagrams over DVB- [S2-REQ] Cantillo, J. and J. Lacan, "A Design Rationale for
S2", Internet-Draft <draft-cantillo-ipdvb-s2encaps-01.txt>, Work in Providing IP Services over DVB-S2 Links", Work in
Progress. Progress, December 2006.
[ID-Sec-Req] "Security requirements for the Unidirectional [Sec-Req] Cruickshank, H., Iyengar, S., and P. Pillai, "Security
Lightweight Encapsulation (ULE) protocol", Internet Draft < draft- requirements for the Unidirectional Lightweight
ietf-ipdvb-sec-req-04.txt>, Work in Progress. Encapsulation (ULE) protocol", Work in Progress,
November 2007.
[IEEE-802.3] "Local and metropolitan area networks - Specific [IEEE-802.3] "Local and metropolitan area networks - Specific
requirements Part 3: Carrier sense multiple access with collision requirements Part 3: Carrier sense multiple access with
detection (CSMA/CD) access method and physical layer collision detection (CSMA/CD) access method and physical
specifications", IEEE 802.3, IEEE Computer Society, (also ISO/IEC layer specifications", IEEE 802.3, IEEE Computer
8802-3), 2002. Society, (also ISO/IEC 8802-3), 2002.
[ISO-MPEG2] ISO/IEC DIS 13818-1:2000, "Information Technology; [ISO-MPEG2] ISO/IEC DIS 13818-1:2000, "Information Technology;
Generic Coding of Moving Pictures and Associated Audio Information Generic Coding of Moving Pictures and Associated Audio
Systems", International Organization for Standardization (ISO). Information Systems", International Organization for
Standardization (ISO), 2000.
[RFC4259] Montpetit, M.-J., Fairhurst, G., Clausen, H., Collini- [RFC4259] Montpetit, M.-J., Fairhurst, G., Clausen, H., Collini-
Nocker, B., and H. Linder, "A Framework for Transmission of IP Nocker, B., and H. Linder, "A Framework for Transmission
Datagrams over MPEG-2 Networks", RFC 4259, November 2006. of IP Datagrams over MPEG-2 Networks", RFC 4259,
November 2005.
[RFC4947] Fairhurst, G. and M. Montpetit, "Address Resolution [RFC4947] Fairhurst, G. and M. Montpetit, "Address Resolution
Mechanisms for IP Datagrams over MPEG-2 Networks", RFC 4947, July Mechanisms for IP Datagrams over MPEG-2 Networks", RFC
2007. 4947, July 2007.
Authors' Addresses
Godred Fairhurst
School of Engineering,
University of Aberdeen,
Aberdeen, AB24 3UE
UK
Email: gorry@erg.abdn.ac.uk
URI: http://www.erg.abdn.ac.uk/users/gorry
Bernhard Collini-Nocker
School of Computer Sciences,
University of Salzburg,
Jakob Haringer Str. 2,
5020 Salzburg,
Austria
Email: bnocker@cosy.sbg.ac.at
URI: http://www.cosy.sbg.ac.at
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
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.
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, THE
IETF TRUST 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.
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.
APPENDIX: The Second Generation DVB Transmission Specifications Appendix A. The Second-Generation DVB Transmission Specifications
This section provides informative background to the network-layer This section provides informative background to the network-layer
requirements of the second generation DVB Transmission requirements of the second-generation DVB Transmission
Specifications. The second generation waveforms specified by the Specifications. The second-generation waveforms specified by the
Digital Video Broadcasting project offer two main enhancements. Digital Video Broadcasting project offer two main enhancements.
First, more efficient physical layer methods that employ higher First, more efficient physical-layer methods that employ higher-order
order modulation with stronger FEC and permit adaptive coding and modulation with stronger FEC and permit adaptive coding and
modulation response to changes in traffic and propagation modulation response to changes in traffic and propagation conditions.
conditions. Second, at the link layer, they offer greater Second, at the link layer, they offer greater flexibility in framing.
flexibility in framing. Support is provided for a range of stream Support is provided for a range of stream formats including the
formats including the classical Transport Stream (TS) [RFC4259]. In classical Transport Stream (TS) [RFC4259]. In addition, a new method
addition, a new method called Generic Streams (GS) (or the Generic called Generic Stream (GS) (or the Generic Mode) is supported. A GS
Mode) is supported. A GS can be packetized or continuous and is can be packetized or continuous and is intended to provide native
intended to provide native transport of other network-layer transport of other network-layer services. One such method is that
services. One such method is that provided by the Generic Stream provided by the Generic Stream Encapsulation (GSE) [GSE].
Encapsulation (GSE) [GSE].
For example, the DVB-S2 [ETSI-S2] transmission link sequentially For example, the DVB-S2 [ETSI-S2] transmission link sequentially
multiplexes a series of baseband frames (BBFrames). Each BBFrame multiplexes a series of baseband frames (BBFrames). Each BBFrame
comprises a fixed-size 10B header and a payload. The payload carries comprises a fixed-size 10B header and a payload. The payload carries
a DataField and uses padding to fill any unused space. A stream a DataField and uses padding to fill any unused space. A stream
comprises a sequence of BBFrames associated with an Input Stream comprises a sequence of BBFrames associated with an Input Stream
Identifier (ISI) that is carried in the header of each BBFrame. The Identifier (ISI) that is carried in the header of each BBFrame. The
simplest scheme uses a single stream (with just one ISI value), but simplest scheme uses a single stream (with just one ISI value), but
multiple streams are permitted. The BBFrames forming a stream may be multiple streams are permitted. The BBFrames forming a stream may be
of variable size (selected from a set of allowed sizes), and must of variable size (selected from a set of allowed sizes), and must use
use the same stream format (i.e., TS or GSE). Each stream represents the same stream format (i.e., TS or GSE). Each stream represents an
an independent link with independent address resolution [RFC4947]. independent link with independent address resolution [RFC4947].
GSE provides functions that are equivalent to those of the GSE provides functions that are equivalent to those of the
Unidirectional Lightweight Encapsulation (ULE) [RFC4326]. It Unidirectional Lightweight Encapsulation (ULE) [RFC4326]. It
supports the transmission of IP packets and other network-layer supports the transmission of IP packets and other network-layer
protocols. The network-layer interface resembles that of ULE, where protocols. The network-layer interface resembles that of ULE, where
it adopts common mechanisms for a Length field, a 16-bit Type field, it adopts common mechanisms for a Length field, a 16-bit Type field,
and support for Extension Headers. As in ULE, GSE permits multiple and support for Extension Headers. As in ULE, GSE permits multiple
address formats, indicated by the LT field (functionally equivalent address formats, indicated by the LT field (functionally equivalent
to the D field in ULE). The default addressing mode uses a 6-byte to the D field in ULE). The default addressing mode uses a 6-byte
NPA and a suppressed NPA address (functionally equivalent to D=1 in NPA and a suppressed NPA address (functionally equivalent to D=1 in
ULE). ULE).
GSE also provides more flexible fragmentation at the interface to GSE also provides more flexible fragmentation at the interface to the
the physical layer (using the S and E flags). This adapts the SNDUs physical layer (using the S and E flags). This adapts the SNDUs to a
to a variable-sized link-layer frame, and reflects the more complex variable-sized link-layer frame, and reflects the more complex
requirements in terms of fragmentation and assembly that arise when requirements in terms of fragmentation and assembly that arise when
using point-to-multipoint adaptive physical layers. The integrity of using point-to-multipoint adaptive physical layers. The integrity of
a reassembled SNDUs is provided by a CRC-32 in the last fragment for a reassembled SNDU is validated using a CRC-32 in the last fragment
the corresponding PDU. for the corresponding PDU.
[RFC EDITOR NOTE:
This section must be deleted prior to publication]
DOCUMENT HISTORY
Individual Draft 00
This draft complements a study item in the DVB-GBS in this area to
define a Generic Stream Encapsulation (GSE). Comments relating to
this document will be gratefully received by the author(s) and may
also be sent to ip-dvb mailing list.
Individual Draft 01
Co-Author Added.
This draft updates the language and format.
This draft fixes problems with the concatenation mode, and defines a
new header format that restricts the use of the Type field so that
all concatenated PDUs MUST have the same Type.
Future versions of this draft may define additional Extension
Headers, proposals and ideas are welcome via the IETF ipdvb mailing
list. Possible extensions include those for encapsulation FEC, Link
parameter negotiation (e.g., for header compression), and support
for ATM/ULE.
Working Group Draft 00
Fixed editorial mistakes from Christian Praehauser and ID style for
WG adoption.
Working Group Draft 01
Corrected contact info for Bernhard.
Added TimeStamp Options
Corrected NITS in draft
Working Group Draft 01
Amended diagrams and text to follow tentative IANA assignments for
the codepoints.
Working Group Draft 01
Amended text to follow IANA assignments for the codepoints.
Added issues raised at ipdvb meeting by C Praehauser.
Revised appendix with text from GSE Spec, J Cantillo, et al.
Revised wording to clarify corner cases.
Removed references to documents not in public domain.
Updated conventions and abbreviations for consistency.
Updated text referencing ULE.
Working Group Draft 02
Added rules for Types of PDUs in PDU-Concat.
Added appendix on DVB 2 nd generation.
Added new text on timers to control concat (from list).
Working Group Draft 03 Authors' Addresses
Added a table to the start of the method defining recommended. Godred Fairhurst
Fixed NiTs. School of Engineering,
University of Aberdeen,
Aberdeen, AB24 3UE
UK
Working Group Draft 04 EMail: gorry@erg.abdn.ac.uk
Editorial changes to prepare the document for WGLC. URI: http://www.erg.abdn.ac.uk/users/gorry
Updated IANA section to comply with RFC4326 IANA Guidelines.
Reduced Security considerations section by reference to other Bernhard Collini-Nocker
documents that give a fuller discussion. Department of Computer Sciences,
University of Salzburg,
Jakob Haringer Str. 2,
5020 Salzburg,
Austria
There were no intentional changes to the protocol specification. EMail: bnocker@cosy.sbg.ac.at
URI: http://www.cosy.sbg.ac.at
Working Group Draft 05 Full Copyright Statement
Addressed review comments. Copyright (C) The IETF Trust (2008).
Working Group Draft 06 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.
Updated reference to GSE (now an ETSI Spec) - This spec has a This document and the information contained herein are provided on an
normative reference to the current document. "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST 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.
Minor editorial corrections to English Intellectual Property
Working Group Draft 07 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.
Updated following Gen-Art Review & SECDIR Review by IETF. 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.
[END of RFC EDITOR NOTE] 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.
 End of changes. 104 change blocks. 
384 lines changed or deleted 292 lines changed or added

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