draft-ietf-ipdvb-ule-06.txt | draft-ietf-ipdvb-ule-05.txt | |||
---|---|---|---|---|
Internet Engineering Task Force Gorry Fairhurst | Internet Engineering Task Force Gorry Fairhurst | |||
Internet Draft University of Aberdeen | Internet Draft University of Aberdeen | |||
Document: draft-ietf-ipdvb-ule-06.txt Bernhard Collini-Nocker | Document: draft-ietf-ipdvb-ule-05.txt Bernhard Collini-Nocker | |||
University of Salzburg | University of Salzburg | |||
ipdvb WG | ipdvb WG | |||
Category: Draft, Intended Standards Track June 2005 | Category: Draft, Intended Standards Track February 2005 | |||
Unidirectional Lightweight Encapsulation (ULE) for transmission of | Ultra Lightweight Encapsulation (ULE) for transmission of | |||
IP datagrams over an MPEG-2 Transport Stream | IP datagrams over an MPEG-2 Transport Stream | |||
Status of this Draft | Status of this Draft | |||
By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
applicable patent or other IPR claims of which he or she is aware | 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 | 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. | aware will be disclosed, in accordance with Section 6 of RFC 3668. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. Internet-Drafts are draft documents valid for a maximum of | Drafts. Internet-Drafts are draft documents valid for a maximum of | |||
six months and may be updated, replaced, or obsoleted by other | six months and may be updated, replaced, or obsoleted by other | |||
documents at any time. It is inappropriate to use Internet-Drafts as | documents at any time. It is inappropriate to use Internet-Drafts as | |||
reference material or to cite them other than as "work in progress". | reference material or to cite them other than as "work in progress". | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/1id-abstracts.html | http://www.ietf.org/1id-abstracts.html | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
Abstract | Abstract | |||
The MPEG-2 Transport Stream (TS) has been widely accepted not only | The MPEG-2 Transport Stream (TS) has been widely accepted not only | |||
for providing digital TV services, but also as a subnetwork | for providing digital TV services, but also as a subnetwork | |||
technology for building IP networks. | technology for building IP networks. | |||
This document describes a Unidirectional Lightweight Encapsulation | This document describes an Ultra Lightweight Encapsulation (ULE) | |||
(ULE) mechanism for the transport of IPv4 and IPv6 Datagrams and | mechanism for the transport of IPv4 and IPv6 Datagrams and other | |||
other network protocol packets directly over the ISO MPEG-2 | network protocol packets directly over the ISO MPEG-2 Transport | |||
Transport Stream as TS Private Data. ULE specifies a base | Stream as TS Private Data. ULE specifies a base encapsulation format | |||
encapsulation format and supports an extension format that allows it | and supports an extension format that allows it to carry additional | |||
to carry additional header information to assist in network/Receiver | header information to assist in network/Receiver processing. | |||
processing. | ||||
Expires November 2005 [page 1] | Expires July 2005 [page 1] | |||
Table of Contents | Table of Contents | |||
1. Introduction | 1. Introduction | |||
2. Conventions used in this document | 2. Conventions used in this document | |||
3. Description of method | 3. Description of method | |||
4. SNDU Format | 4. SNDU Format | |||
4.1 Destination Address Absent (D) Field | 4.1 Destination Address Absent (D) Field | |||
4.2 Length Field | 4.2 Length Field | |||
4.3 End Indicator | 4.3 End Indicator | |||
skipping to change at line 100 | skipping to change at line 98 | |||
13.2 Disclaimer of Validity | 13.2 Disclaimer of Validity | |||
14. Copyright Statement | 14. Copyright Statement | |||
14.1 Intellectual Property Statement | 14.1 Intellectual Property Statement | |||
14.2 Disclaimer of Validity | 14.2 Disclaimer of Validity | |||
15. IANA Considerations | 15. IANA Considerations | |||
15.1 IANA Guidelines | 15.1 IANA Guidelines | |||
ANNEX A: Informative Appendix - SNDU Packing Examples | ANNEX A: Informative Appendix - SNDU Packing Examples | |||
ANNEX B: Informative Appendix - SNDU Encapsulation | ANNEX B: Informative Appendix - SNDU Encapsulation | |||
Expires November 2005 [page 2] | Expires July 2005 [page 2] | |||
1. Introduction | 1. Introduction | |||
This document describes an encapsulation for the transport of IP | This document describes an encapsulation for transport of IP | |||
datagrams, or other network layer packets, over ISO MPEG-2 Transport | datagrams, or other network layer packets, over ISO MPEG-2 Transport | |||
Streams [ISO-MPEG2; RFCXARCHX]. The encapsulation satisfies the | Streams [[ISO-MPEG2; ID-ipdvb-arch]. It is suited to services based | |||
requirement for a lightweight encapsulation defined in section 4 of | on MPEG-2, for example the Digital Video Broadcast (DVB) | |||
[RFCXARCHX]. The basic header provides the required set of protocol | architecture, the Advanced Television Systems Committee (ATSC) | |||
fields. Extension headers may also be defined. This header structure | system [ATSC; ATSC-G], and other similar MPEG-2 based transmission | |||
is significantly simpler to parse and process [SOOR05] than current | systems. Such systems provide unidirectional (simplex) physical and | |||
alternative methods (e.g. MPE [ETSI-DAT] that builds upon the DSM-CC | link layer standards. Support has been defined for a wide range of | |||
Table Section syntax [ISO-DSMCC]). | physical media (e.g. Terrestrial TV [ETSI-DVBT; ATSC-PSIP-TC], | |||
Satellite TV [ETSI-DVBS; ATSC-S], Cable Transmission [ETSI-DVBC; | ||||
The encapsulation is suited to services based on MPEG-2, for example | ATSC-PSIP-TC]). Bi-directional (duplex) links may also be | |||
the Digital Video Broadcast (DVB) architecture, the Advanced | established using these standards (e.g., DVB defines a range of | |||
Television Systems Committee (ATSC) system [ATSC; ATSC-G], and other | return channel technologies, including the use of two-way satellite | |||
similar MPEG-2 based transmission systems. Such systems provide | links [ETSI-RCS] and dial-up modem links [RFC3077]). | |||
unidirectional (simplex) physical and link layer standards. Support | ||||
has been defined for a wide range of physical media (e.g. | ||||
Terrestrial TV [ETSI-DVBT; ATSC-PSIP-TC], Satellite TV [ETSI-DVBS; | ||||
ATSC-S], Cable Transmission [ETSI-DVBC; ATSC-PSIP-TC]). | ||||
Bi-directional (duplex) links may also be established using these | ||||
standards (e.g., DVB defines a range of return channel technologies, | ||||
including the use of two-way satellite links [ETSI-RCS] and dial-up | ||||
modem links [RFC3077]). | ||||
Protocol Data Units, PDUs, (Ethernet Frames, IP datagrams or other | Protocol Data Units, PDUs, (Ethernet Frames, IP datagrams or other | |||
network layer packets) for transmission over an MPEG-2 Transport | network layer packets) for transmission over an MPEG-2 Transport | |||
Multiplex are passed to an Encapsulator. This formats each PDU into | Multiplex are passed to an Encapsulator. This formats each PDU into | |||
a SubNetwork Data Unit (SNDU) by adding an encapsulation header and | a SubNetwork Data Unit (SNDU) by adding an encapsulation header and | |||
an integrity check trailer. The SNDU is fragmented into a series of | an integrity check trailer. The SNDU is fragmented into a series of | |||
one or more MPEG-2 Transport Stream (TS) Packets that are sent over | TS Packets that are sent over a single TS Logical Channel. | |||
a single TS Logical Channel. | ||||
The MPEG-2 specification [ISO-MPEG2] requires conformant TS | The MPEG-2 specification [ISO-MPEG2] requires conformant TS | |||
Multiplexes to provide Program Specific Information (PSI) for | Multiplexes to provide Program Specific Information (PSI) for | |||
each stream in the TS Multiplex. Other MPEG-2 based transmission | each stream in the TS Multiplex. Other MPEG-2 based transmission | |||
standards may also define Service Information (SI). | standards may also define Service Information (SI). This | |||
information may allow Receivers and Re-multiplexors | ||||
This information may allow Receivers and Re-multiplexors | [draft-ipdvb-arch] to locate a specific ULE Stream (i.e., the PID | |||
[RFCXARCHX] to locate a specific ULE Stream (i.e., the PID value of | value of the TS Logical Channel that carries a ULE Stream). The | |||
the TS Logical Channel that carries a ULE Stream). The conditions | conditions under which this information is required, and the | |||
under which this information is required, and the format in which it | format in which it is to be provided is beyond the scope of | |||
is to be provided is beyond the scope of this document. Addressing | this document. Addressing and mapping issues for ULE over MPEG-2 | |||
and mapping issues for ULE over MPEG-2 are also described in | are also described in [draft-ipdvb-ar]. | |||
[ID-ipdvb-ar]. | ||||
Expires November 2005 [page 3] | Expires July 2005 [page 3] | |||
2. Conventions used in this document | 2. Conventions used in this document | |||
The capitalized key words "MUST", "MUST NOT", "REQUIRED", "SHALL", | The capitalized key words "MUST", "MUST NOT", "REQUIRED", "SHALL", | |||
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and | "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
[RFC2119]. | [RFC2119]. | |||
Other terms used in this document are defined below: | Other terms used in this document are defined below: | |||
Adaptation Field: An optional variable-length extension field of the | Adaptation Field: An optional variable-length extension field of the | |||
fixed-length TS Packet header, intended to convey clock references | fixed-length TS Packet header, intended to convey clock references | |||
and timing and synchronization information as well as stuffing over | and timing and synchronization information as well as stuffing over | |||
an MPEG-2 Multiplex [ISO-MPEG2]. | an MPEG-2 Multiplex [ISO-MPEG2]. | |||
AFC: Adaptation Field Control [ISO-MPEG2]. A pair of bits carried in | AFC: Adaptation Field Control [ISO_MPEG]. A pair of bits carried in | |||
the TS Packet header that signal the presence of the Adaptation | the TS Packet header that signal the presence of the Adaptation | |||
Field and/or TS Packet payload. | Field and/or TS Packet payload. | |||
ATSC: Advanced Television Systems Committee [ATSC]. A framework and | ATSC: Advanced Television Systems Committee [ATSC]. A framework and | |||
a set of associated standards for the transmission of video, audio, | a set of associated standards for the transmission of video, audio, | |||
and data using the ISO MPEG-2 standard. | and data using the ISO MPEG-2 standard. | |||
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. | |||
skipping to change at line 192 | skipping to change at line 180 | |||
Standards Institute (ETSI) for the transmission of video, audio, and | Standards Institute (ETSI) for the transmission of video, audio, and | |||
data, using the ISO MPEG-2 Standard. | data, using the ISO MPEG-2 Standard. | |||
Encapsulator: A network device that receives PDUs and formats these | Encapsulator: A network device that receives PDUs and formats these | |||
into Payload Units (known here as SNDUs) for output as a stream of | into Payload Units (known here as SNDUs) for output as a stream of | |||
TS Packets. | TS Packets. | |||
End Indicator: A value that indicates to the Receiver that there are | End Indicator: A value that indicates to the Receiver that there are | |||
no further SNDUs present within the current TS Packet. | no further SNDUs present within the current TS Packet. | |||
LLC: Logical Link Control [ISO-8802-2, IEEE-802.2]]. A link layer | LLC: Logical Link Control [ISO-8802-2]. A link layer protocol | |||
protocol defined by the IEEE 802 standard, which follows the | defined by the IEEE 802 standard, which follows the Ethernet MAC | |||
Ethernet MAC Header. | Header. | |||
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 (or by Ethernet v2 [DIX]). | defined by the IEEE 802.3 standard (or by Ethernet v2 [DIX]). | |||
MAC Header: The link layer header of the IEEE 802.3 standard | MAC Header: The link layer header of the IEEE 802.3 standard [IEEE- | |||
[IEEE-802.3] or Ethernet v2 [DIX]. It consists of a 6B destination | 802.3] or Ethernet v2 [DIX]. It consists of a 6B destination | |||
address, 6B source address, and 2B type field (see also NPA, LLC). | address, 6B source address, and 2B type field (see also NPA, LLC). | |||
Expires November 2005 [page 4] | Expires July 2005 [page 4] | |||
MPE: Multiprotocol Encapsulation [ETSI-DAT; ATSC-DAT; ATSC-DATG]. A | MPE: Multiprotocol Encapsulation [ETSI-DAT; ATSC-DAT; ATSC-DATG]. A | |||
scheme that encapsulates PDUs, forming a DSM-CC Table Section. Each | scheme that encapsulates PDUs, forming a DSM-CC Table Section. Each | |||
Section is sent in a series of TS Packets using a single TS Logical | Section is sent in a series of TS Packets using a single TS Logical | |||
Channel. | Channel. | |||
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 Standards | Group (MPEG), and standardized by the International Standards | |||
Organisation (ISO/IEC 13818-1) [ISO-MPEG2], and ITU-T (in H.222 | Organisation (ISO/IEC 113818-1) [ISO-MPEG2], and ITU-T (in H.220). | |||
[ITU-H222]). | ||||
Next-Header: A Type value indicating an Extension Header. | Next-Header: A Type value indicating an Extension Header. | |||
NPA: Network Point of Attachment. In this document, refers to a 6 | NPA: Network Point of Attachment. In this document, refers to a 6 | |||
byte destination address (resembling an IEEE MAC address) within the | byte destination address (resembling an IEEE MAC address) within the | |||
MPEG-2 transmission network that is used to identify individual | MPEG-2 transmission network that is used to identify individual | |||
Receivers or groups of Receivers. | Receivers or groups of Receivers. | |||
Packing Threshold: A period of time an Encapsulator is willing to | Packing Threshold: A period of time an Encapsulator is willing to | |||
defer transmission of a partially filled TS-Packet to accumulate | defer transmission of a partially filled TS-Packet to accumulate | |||
more SNDUs, rather than use Padding. After the Packet Threshold | more SNDUs, rather than use Padding. After the Packet Threshold | |||
period, the Encapsulator uses Padding to send the partially filled | period, the Encapsulator uses Padding to send the partially filled | |||
TS-Packet. | TS-Packet. | |||
"Padding: A method that fills the remaining unused bytes in a TS | ||||
Packet payload using the specific pattern of 0xFF." | ||||
Payload Unit, PU. A sequence of bytes sent using a TS. Examples of | ||||
Payload Units include: an MPEG-2 Table Section or a ULE SNDU. | ||||
PDU: Protocol Data Unit. Examples of a PDU include Ethernet frames, | PDU: Protocol Data Unit. Examples of a PDU include Ethernet frames, | |||
IPv4 or IPv6 datagrams, and other network packets. | IPv4 or IPv6 datagrams, and other network packets. | |||
PES: Packetized Elementary Steam [ISO-MPEG2]. A format of MPEG-2 TS | PES: Packetized Elementary Steam [ISO-MPEG2]. A format of MPEG-2 TS | |||
packet payload usually used for video or audio information. | packet payload usually used for video or audio information. | |||
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 TS Packets. This is used to identify the TS Logical | header of TS Packets. This is used to identify the TS Logical | |||
Channel to which a TS Packet belongs [ISO-MPEG2]. The TS Packets | Channel to which a TS Packet belongs [ISO-MPEG2]. The TS Packets | |||
forming the parts of a Table Section, PES, or other Payload Unit | forming the parts of a Table Section, PES, or other Payload Unit | |||
must all carry the same PID value. The all zeros PID 0x0000 as well | must all carry the same PID value. The all 1s PID value indicates a | |||
as other PID values are reserved for specific PSI/SI Tables [ISO- | Null TS Packet introduced to maintain a constant bit rate of a TS | |||
MPEG2]. The all ones PID value 0x1FFF indicates a Null TS Packet | Multiplex. There is no required relationship between the PID values | |||
introduced to maintain a constant bit rate of a TS Multiplex. There | used for TS Logical Channels transmitted using different TS | |||
is no required relationship between the PID values used for TS | Multiplexes. | |||
Logical Channels transmitted using different TS Multiplexes. | ||||
PP: Payload Pointer [ISO-MPEG2]. An optional one byte pointer that | PP: Payload Pointer [ISO-MPEG2]. An optional one byte pointer that | |||
directly follows the 4 byte TS Packet header. It contains the number | directly follows the TS Packet header. It contains the number of | |||
of bytes that follow the Payload Pointer, up to the start of the | bytes between the end of the TS Packet header and the start of a | |||
first Payload Unit (counted from the first byte of the TS Packet | Payload Unit. The presence of the Payload Pointer is indicated by | |||
payload field, and excluding the PP field itself). The presence of | the value of the PUSI bit in the TS Packet header. The Payload | |||
the Payload Pointer is indicated by the value of the PUSI bit in the | Pointer is present in DSM-CC, and Table Sections, it is not present | |||
TS Packet header. The Payload Pointer is present in DSM-CC, Table | in TS Logical Channels that use the PES-format. | |||
Expires November 2005 [page 5] | ||||
Sections, and ULE. It is not present in TS Logical Channels that use | ||||
the PES-format. | ||||
Private Section: A syntactic structure constructed in accordance | Private Section: A syntactic structure constructed in accordance | |||
with Table 2-30 of [ISO-MPEG2]. The structure may be used to | with Table 2-30 of [ISO-MPEG2]. The structure may be used to | |||
identify private information (i.e. not defined by [ISO-MPEG2]) | identify private information (i.e. not defined by [ISO-MPEG2]) | |||
relating to one or more elementary streams, or a specific MPEG-2 | relating to one or more elementary streams, or a specific MPEG-2 | |||
program, or the entire Transport Stream. Other Standards bodies, | program, or the entire Transport Stream. Other Standards bodies, | |||
e.g. ETSI, ATSC, have defined sets of table structures using the | e.g. ETSI, ATSC, have defined sets of table structures using the | |||
private_section structure. A Private Section is transmitted as a | private_section structure. A Private Section is transmitted as a | |||
Expires July 2005 [page 5] | ||||
sequence of TS Packets using a TS Logical Channel. A TS Logical | sequence of TS Packets using a TS Logical Channel. A TS Logical | |||
Channel may carry sections from more than one set of tables. | Channel may carry sections from more than one set of tables. | |||
PSI: Program Specific Information [ISO-MPEG2]. PSI is used to convey | ||||
information about services carried in a TS Multiplex. It is carried | ||||
in one of four specifically identified table section constructs | ||||
[ISO-MPEG2], see also SI Table. | ||||
PSI: Program Specific Information [ISO-MPEG2]. Tables used to convey | PSI: Program Specific Information [ISO-MPEG2]. Tables used to convey | |||
information about the service carried in a TS Multiplex. The | information about the service carried in a TS Multiplex. The set of | |||
information is carried in one of four specifically identified Table | PSI tables is defined by MPEG-2 [ISO-MPEG2]. See also SI Table. | |||
Sections defined by MPEG-2 [ISO-MPEG2]. See also SI Table. | ||||
PU: Payload Unit. | PU: Payload Unit. A sequence of bytes sent using a TS. Examples of | |||
Payload Units include: an MPEG-2 Table Section or a ULE SNDU. | ||||
PUSI: Payload_Unit_Start_Indicator [ISO-MPEG2]. A single bit flag | PUSI: Payload_Unit_Start_Indicator [ISO-MPEG2]. A single bit flag | |||
carried in the TS Packet header. A PUSI value of zero indicates that | carried in the TS Packet header. A PUSI value of zero indicates that | |||
the TS Packet does not carry the start of a new Payload Unit. A PUSI | the TS Packet does not carry the start of a new Payload Unit. A PUSI | |||
value of one indicates that the TS Packet does carry the start of a | value of one indicates that the TS Packet does carry the start of a | |||
new Payload Unit. In ULE, a PUSI bit set to 1 also indicates the | new Payload Unit. In ULE, a PUSI bit set to 1 also indicates the | |||
presence of a one byte Payload Pointer (PP). | presence of a one byte Payload Pointer (PP). | |||
Receiver: Equipment that processes the signal from a TS Multiplex | Receiver: Equipment that processes the signal from a TS Multiplex | |||
and performs filtering and forwarding of encapsulated PDUs to the | and performs filtering and forwarding of encapsulated PDUs to the | |||
network-layer service (or bridging module when operating at the link | network-layer service (or bridging module when operating at the link | |||
layer). | layer). | |||
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 defined by another standards | this term describes a table that is been defined by another | |||
body to convey information about the services carried in a TS | standards body to convey information about the services carried in a | |||
Multiplex. A Table may consist of one or more Table Sections, | TS Multiplex. A Table may consist of one or more Table Sections, | |||
however all sections of a particular SI Table must be carried over a | however all sections of a particular SI Table must be carried over a | |||
single TS Logical Channel [ISO-MPEG2]. | single TS Logical Channel [ISO-MPEG2]. | |||
SNDU: Subnetwork Data Unit. An encapsulated PDU sent as an MPEG-2 | SNDU: Subnetwork Data Unit. An encapsulated PDU sent as an MPEG-2 | |||
Payload Unit. | Payload Unit. | |||
Table Section: A Payload Unit carrying all or a part of an SI or PSI | Table Section: A Payload Unit carrying all or a part of an SI or PSI | |||
Table [ISO-MPEG2]. | Table [ISO-MPEG2]. | |||
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. See also TS Logical Channel and TS Multiplex. | reference model. See also TS Logical Channel and TS Multiplex. | |||
Expires November 2005 [page 6] | Expires July 2005 [page 6] | |||
TS Header: The 4 byte header of a TS Packet [ISO-MPEG2]. Each 188B | TS Header: The 4 byte header of a TS Packet [ISO-MPEG2]. Each 188B | |||
TS Packet incorporates a 4B header with the following fields (those | TS Packet incorporates a 4B header with the following fields (those | |||
referenced within this document are marked with *): | referenced within this document are marked with *): | |||
Field Length Name/Purpose | Field Length Name/Purpose | |||
(in bits) | (in bits) | |||
8b Synchronisation pattern equal 0x47 | 8b Synchronisation pattern equal 0x47 | |||
*1b Transport Error Indicator | *1b Transport Error Indicator | |||
*1b Payload Unit Start Indicator (PUSI) | *1b Payload Unit Start Indicator (PUSI) | |||
1b Transport Priority | 1b Transport Priority | |||
*13b Packet IDentifier (PID) | *13b Packet IDentifier (PID) | |||
2b Transport scrambling control | 2b Transport scrambling control | |||
*2b Adaptation Field Control (AFC) | *2b Adaptation Field Control (AFC) | |||
*4b Continuity Counter (CC) | *4b Continuity Counter (CC) | |||
TS Logical Channel: Transport Stream Logical Channel. In this | TS Logical Channel: Transport Stream Logical Channel. In this | |||
document, this term identifies a channel at the MPEG-2 level | document, this term identifies a channel at the MPEG-2 level | |||
[ISO-MPEG2]. It exists at level 2 of the ISO/OSI reference model. | [ISO-MPEG2]. This exists at level 2 of the ISO/OSI reference model. | |||
All packets sent over a TS Logical Channel carry the same PID value | All packets sent over a TS Logical Channel carry the same PID | |||
(this value is unique within a specific TS Multiplex). The term | value (this value is unique within a specific TS Multiplex). The | |||
"Stream" is defined in MPEG-2 [ISO-MPEG2]. This describes the | term "Stream" is defined in MPEG-2 [ISO-MPEG2]. This describes the | |||
content carried by a specific TS Logical Channel (see, ULE Stream). | content carried by a specific TS Logical Channel (see, ULE Stream). | |||
Some PID values are reserved (by MPEG-2) for specific signalling. | Some PID values are reserved (by MPEG-2) for specific signalling. | |||
Other standards (e.g., ATSC, DVB) also reserve specific PID values. | Other standards (e.g., ATSC, DVB) also reserve specific PID values. | |||
TS Multiplex: In this document, this term defines a set of MPEG-2 TS | TS Multiplex: In this document, this term defines a set of MPEG-2 TS | |||
Logical Channels sent over a single lower layer connection. This may | Logical Channels sent over a single lower layer connection. This may | |||
be a common physical link (i.e. a transmission at a specified symbol | be a common physical link (i.e. a transmission at a specified symbol | |||
rate, FEC setting, and transmission frequency) or an encapsulation | rate, FEC setting, and transmission frequency) or an encapsulation | |||
provided by another protocol layer (e.g. Ethernet, or RTP over IP). | provided by another protocol layer (e.g. Ethernet, or RTP over IP). | |||
The same TS Logical Channel may be repeated over more than one TS | The same TS Logical Channel may be repeated over more than one TS | |||
Multiplex (possibly associated with a different PID value) | Multiplex (possibly associated with a different PID value) [ID- | |||
[RFCXARCHX], for example to redistribute the same multicast content | ipdvb-arch], for example to redistribute the same multicast content | |||
to two terrestrial TV transmission cells. | to two terrestrial TV transmission cells. | |||
TS Packet: A fixed-length 188B unit of data sent over a TS Multiplex | TS Packet: A fixed-length 188B unit of data sent over a TS Multiplex | |||
[ISO-MPEG2]. Each TS Packet carries a 4B header, plus optional | [ISO-MPEG2]. Each TS Packet carries a 4B header, plus optional | |||
overhead including an Adaptation Field, encryption details and time | overhead including an Adaptation Field, encryption details and time | |||
stamp information to synchronise a set of related TS Logical | stamp information to synchronise a set of related TS Logical | |||
Channels. | Channels. | |||
ULE Stream: An MPEG-2 TS Logical Channel that carries only ULE | ULE Stream: An MPEG-2 TS Logical Channel that carries only ULE | |||
encapsulated PDUs. ULE Streams may be identified by definition of a | encapsulated PDUs. ULE Streams may be identified by definition of | |||
stream_type in SI/PSI [ISO-MPEG2]. | a stream_type in SI/PSI [ISO_MPEG2]. | |||
Expires November 2005 [page 7] | Expires July 2005 [page 7] | |||
3. Description of the Method | 3. Description of the Method | |||
PDUs (IP packets, Ethernet frames or packets from other network | PDUs (IP packets, Ethernet frames or packets from other network | |||
protocols) are encapsulated to form a Subnetwork Data Unit (SNDU). | protocols) are encapsulated to form a Subnetwork Data Unit (SNDU). | |||
The SNDU is transmitted over an MPEG-2 transmission network by | The SNDU is transmitted over an MPEG-2 transmission network by | |||
placing it either in the payload of a single TS Packet, or if | placing it either in the payload of a single TS Packet, or if | |||
required, an SNDU may be fragmented into a series of TS Packets. | required, an SNDU may be fragmented into a series of TS Packets. | |||
Where there is sufficient space, the method permits a single TS | Where there is sufficient space, the method permits a single TS | |||
Packet to carry more than one SNDU (or part there of), sometimes | Packet to carry more than one SNDU (or part there of), sometimes | |||
known as Packing. All TS Packets comprising an SNDU MUST be assigned | known as Packing. All TS Packets comprising an SNDU MUST be assigned | |||
the same PID, and therefore form a part of the same TS Logical | the same PID, and therefore form a part of the same TS Logical | |||
Channel. | Channel. | |||
The ULE encapsulation is limited to TS private streams only. The | The ULE encapsulation is limited to TS private streams only. The | |||
header of each TS Packet carries a one bit Payload Unit Start | header of each TS Packet carries a one bit Payload Unit Start | |||
Indicator (PUSI) field. A PUSI field with a value of 1 indicates the | Indicator (PUSI) field. A PUSI field with a value of 1 indicates the | |||
start of at least one Payload Unit (SNDU) within the TS Packet | presence of at least one Payload Unit (SNDU) within the TS Packet | |||
payload. The semantics of the PUSI bit are defined for PES and PSI | payload. The semantics of the PUSI bit are defined for PES and PSI | |||
packets [ISO-MPEG2]; for private data, its use is not defined in the | packets [ISO-MPEG2]; for private data, its use is not defined in the | |||
MPEG-2 Standard. In ULE, although being private data, the operation | MPEG-2 Standard. In ULE, although being private data, the operation | |||
follows that of PSI packets. Hence, the following PUSI values are | follows that of PSI packets. Hence, the following PUSI values are | |||
defined: | defined: | |||
0: The TS Packet does NOT contain the start of an SNDU, but | 0: The TS Packet does NOT contain the start of an SNDU, but | |||
contains the continuation, or end of an SNDU; | contains the continuation, or end of an SNDU; | |||
1: The TS Packet contains the start of an SNDU, and a one byte | 1: The TS Packet contains the start of an SNDU, and a one byte | |||
skipping to change at line 409 | skipping to change at line 392 | |||
The TS Packet Header also carries a two bit Adaptation Field Control | The TS Packet Header also carries a two bit Adaptation Field Control | |||
(AFC) value. This adaptation field may extend the TS Packet Header | (AFC) value. This adaptation field may extend the TS Packet Header | |||
to carry timing and synchronisation information and may also be used | to carry timing and synchronisation information and may also be used | |||
to include stuffing bytes before a TS Packet payload. Adaptation | to include stuffing bytes before a TS Packet payload. Adaptation | |||
Field stuffing is NOT used in this encapsulation method, and TS | Field stuffing is NOT used in this encapsulation method, and TS | |||
Packets from a ULE Encapsulator MUST be sent with an AFC value of | Packets from a ULE Encapsulator MUST be sent with an AFC value of | |||
'01'. For TS Logical Channels supporting ULE, Receivers MUST discard | '01'. For TS Logical Channels supporting ULE, Receivers MUST discard | |||
TS Packets that carry other AFC values. | TS Packets that carry other AFC values. | |||
Expires November 2005 [page 8] | Expires July 2005 [page 8] | |||
4. SNDU Format | 4. SNDU Format | |||
PDUs are encapsulated using ULE to form an SNDU. (Each SNDU is an | PDUs are encapsulated using ULE to form an SNDU. (Each SNDU is an | |||
MPEG-2 Payload Unit.) The encapsulation format to be used for PDUs | MPEG-2 Payload Unit.) The encapsulation format to be used for PDUs | |||
is illustrated below: | is illustrated below: | |||
< ----------------------------- SNDU ----------------------------- > | < ----------------------------- SNDU ----------------------------- > | |||
+-+-------------------------------------------------------+--------+ | +-+-------------------------------------------------------+--------+ | |||
|D| Length | Type | Dest Address* | PDU | CRC-32 | | |D| Length | Type | PDU | CRC-32 | | |||
+-+-------------------------------------------------------+--------+ | +-+-------------------------------------------------------+--------+ | |||
Figure 1: SNDU Encapsulation (* optional Destination Address) | Figure 1: SNDU Encapsulation | |||
All multi-byte values in ULE (including the Length/End Indicator | All multi-byte values in ULE (including Length, Type, and | |||
(4.2,4.3), Type (4.4), Destination Address (4.5), and Extension | Destination fields) are transmitted in network byte order (most | |||
Headers (5)) are transmitted in network byte order (most significant | significant byte first). The most significant bit of each byte is | |||
byte first). The most significant bit of each byte is placed in the | placed in the left-most position of the 8-bit field. Appendix A | |||
left-most position of the 8-bit field. Appendix A provides | provides informative examples of usage. | |||
informative examples of usage. | ||||
4.1 Destination Address Absent (D) Field | 4.1 Destination Address Absent (D) Field | |||
The most significant bit of the Length Field carries the value of | The most significant bit of the Length Field carries the value of | |||
the Destination Address Absent Field, the D-bit. A value of 0 | the Destination Address Absent Field, the D-bit. A value of 0 | |||
indicates the presence of the Destination Address Field (see section | indicates the presence of the Destination Address Field (see section | |||
4.5). A value of 1 indicates that a Destination Address Field is not | 4.5). A value of 1 indicates that a Destination Address Field is not | |||
present. | present. | |||
An End Indicator (4.3) MUST be sent with a D-bit value of 1. Other | By default, the D-bit value SHOULD be set to a value of 0 (see 4.5), | |||
SNDUs SHOULD be sent with a D-bit value of 0 (see 4.5). | except for the transmission of an End Indicator (see 4.3), for which | |||
this bit MUST be set to the value of 1. | ||||
4.2 Length Field | 4.2 Length Field | |||
A 15-bit value that indicates the length, in bytes, of the SNDU | A 15-bit value that indicates the length, in bytes, of the SNDU | |||
counted from the byte following the Type field, up to and including | counted from the byte following the Type field, up to and including | |||
the CRC. Note the special case described in 4.3. | the CRC. Note the special case described in 4.3. | |||
4.3 End Indicator | 4.3 End Indicator | |||
When the first two bytes following an SNDU have the value 0xFFFF, | When the first two bytes of an SNDU have the value 0xFFFF, this | |||
this denotes an End Indicator (i.e., all ones length combined with a | denotes an End Indicator (i.e., all 1s length combined with a D-bit | |||
D-bit value of 1). This indicates to the Receiver that there are no | value of 1). This indicates to the Receiver that there are no | |||
further SNDUs present within the current TS Packet (see section 6), | further SNDUs present within the current TS Packet (see section 6), | |||
and that no Destination Address Field is present. The value 0xFF has | and that no Destination Address Field is present. The value 0xFF has | |||
specific semantics in MPEG-2 framing, where it is used to indicate | specific semantics in MPEG-2 framing, where it is used to indicate | |||
the presence of Padding. This use resembles [ISO-DSMCC]. | the presence of Padding. This use resembles [ISO-DSMCC]. | |||
Expires November 2005 [page 9] | Expires July 2005 [page 9] | |||
4.4 Type Field | 4.4 Type Field | |||
The 16-bit Type field indicates the type of payload carried in an | The 16-bit Type field indicates the type of payload carried in an | |||
SNDU, or the presence of a Next-Header. The set of values that may | SNDU, or the presence of a Next-Header. The set of values that may | |||
be assigned to this field is divided into two parts, similar to the | be assigned to this field is divided into two parts, similar to the | |||
allocations for Ethernet. | allocations for Ethernet. | |||
EtherTypes were originally specified by Xerox under the Ethernet v2 | EtherTypes were originally specified by Xerox under the Ethernet v2 | |||
Specification [DIX]. After specification of IEEE 802.3 [IEEE-802.3; | Specification [DIX]. After specification of IEEE 802.3 [IEEE 802.3; | |||
ISO-8802-2], the set of EtherTypes less than 1536 (0x0600), assumed | ISO-8802-2], the set of EtherTypes less than 1536 (0x0600), assumed | |||
the role of a length indicator. Ethernet receivers use this feature | the role of a length indicator. Ethernet receivers use this feature | |||
to discriminate LLC format frames. Hence any IEEE EtherType < 1536 | to discriminate LLC format frames. Hence any IEEE EtherType < 1536 | |||
indicates an LLC frame, and the actual value indicates the length of | indicates an LLC frame, and the actual value indicates the length of | |||
the LLC frame. | the LLC frame. | |||
There is a potential ambiguous case when a Receiver receives a PDU | There is a potential ambiguous case when a Receiver receives a PDU | |||
with two length fields: The Receiver would need to validate the | with two length fields: The Receiver would need to validate the | |||
actual length and the Length field and ensure that inconsistent | actual length and the Length field and ensure that inconsistent | |||
values are not propagated by the network. Specification of two | values are not propagated by the network. Specification of two | |||
skipping to change at line 511 | skipping to change at line 493 | |||
Decimal. These values may be used to identify link-specific | Decimal. These values may be used to identify link-specific | |||
protocols and/or to indicate the presence of Extension Headers that | protocols and/or to indicate the presence of Extension Headers that | |||
carry additional optional protocol fields (e.g. a bridging | carry additional optional protocol fields (e.g. a bridging | |||
encapsulation). Use of these values is co-ordinated by an IANA | encapsulation). Use of these values is co-ordinated by an IANA | |||
registry. The following types are defined in this document: | registry. The following types are defined in this document: | |||
0x0000: Test SNDU (see 5.1) | 0x0000: Test SNDU (see 5.1) | |||
0x0001: Bridged Frame (see 5.2) | 0x0001: Bridged Frame (see 5.2) | |||
0x0100: Extension-Padding (see 5.3) | 0x0100: Extension-Padding (see 5.3) | |||
Expires November 2005 [page 10] | Expires July 2005 [page 10] | |||
The remaining values within the first part of the Type space are | The remaining values within the first part of the Type space are | |||
reserved for Next-Header values allocated by the IANA. | reserved for Next-Header values allocated by the IANA. | |||
4.4.2 Type 2: EtherType Compatible Type Fields | 4.4.2 Type 2: EtherType Compatible Type Fields | |||
The second part of the Type space corresponds to the values between | The second part of the Type space corresponds to the values between | |||
0x600 (1536 decimal) and 0xFFFF. This set of type assignments | 0x600 (1536 decimal) and 0xFFFF. This set of type assignments | |||
follow DIX/IEEE assignments (but exclude use of this field as a | follow DIX/IEEE assignments (but exclude use of this field as a | |||
frame length indicator). All assignments in this space MUST use the | frame length indicator). All assignments in this space MUST use the | |||
values defined for IANA EtherType, the following two Type values are | values defined for IANA EtherType, the following two Type values are | |||
skipping to change at line 563 | skipping to change at line 545 | |||
be delivered to all systems with the same network prefix. When a | be delivered to all systems with the same network prefix. When a | |||
SNDU Destination Address is present (D=0) the value MUST be set to | SNDU Destination Address is present (D=0) the value MUST be set to | |||
the NPA link broadcast address (0xFF:FF:FF:FF:FF:FF). | the NPA link broadcast address (0xFF:FF:FF:FF:FF:FF). | |||
When the PDU is an IP multicast packet and an SNDU Destination | When the PDU is an IP multicast packet and an SNDU Destination | |||
Address is present (D=0), the IP group destination address of the | Address is present (D=0), the IP group destination address of the | |||
multicast packet MUST be mapped to the multicast SNDU Destination | multicast packet MUST be mapped to the multicast SNDU Destination | |||
Address (following the method used to generate a destination MAC | Address (following the method used to generate a destination MAC | |||
address in Ethernet). The method for mapping IPv4 multicast | address in Ethernet). The method for mapping IPv4 multicast | |||
Expires November 2005 [page 11] | Expires July 2005 [page 11] | |||
addresses is specified in [RFC1112]. The method for mapping IPv6 | addresses is specified in [RFC1112]. The method for mapping IPv6 | |||
multicast addresses is specified in [RFC2464]. | multicast addresses is specified in [RFC2464]. | |||
4.6 SNDU Trailer CRC | 4.6 SNDU Trailer CRC | |||
Each SNDU MUST carry a 32-bit CRC field in the last four bytes of | Each SNDU MUST carry a 32-bit CRC field in the last four bytes of | |||
the SNDU. This position eases CRC computation by hardware. The CRC- | the SNDU. This position eases CRC computation by hardware. The CRC- | |||
32 polynomial is to be used. Examples where this polynomial is also | 32 polynomial is to be used. Examples where this polynomial is also | |||
employed include Ethernet, DSM-CC section syntax [ISO-DSMCC] and | employed include Ethernet, DSM-CC section syntax [ISO-DSMCC] and | |||
AAL5 [ITU-3563]. This is a 32 bit value calculated according to the | AAL5 [ITU3563]. This is a 32 bit value calculated according to the | |||
generator polynomial represented 0x104C11DB7 in hexadecimal: | generator polynomial represented 0x104C11DB7 in hexadecimal: | |||
x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x^1+x^0. | x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x^1+x^0. | |||
The Encapsulator initialises the CRC-32 accumulator register to the | The Encapsulator initialises the CRC-32 accumulator register to the | |||
value 0xFFFF FFFF. It then accumulates a transmit value for the | value 0xFFFF FFFF. It then accumulates a transmit value for the | |||
CRC32 that includes all bytes from the start of the SNDU header to | CRC32 that includes all bytes from the start of the SNDU header to | |||
the end of the SNDU (excluding the 32-bit trailer holding the CRC- | the end of the SNDU (excluding the 32-bit trailer holding the CRC- | |||
32), and places this in the CRC Field. In ULE, the bytes are | 32), and places this in the CRC Field. In ULE, the bytes are | |||
processed in order of increasing position within the SNDU, the order | processed in order of increasing position within the SNDU, the order | |||
skipping to change at line 607 | skipping to change at line 589 | |||
that includes the computed CRC-32 value. | that includes the computed CRC-32 value. | |||
The primary purpose of this CRC is to protect the SNDU (header, and | The primary purpose of this CRC is to protect the SNDU (header, and | |||
payload) from undetected reassembly errors and errors introduced by | payload) from undetected reassembly errors and errors introduced by | |||
unexpected software / hardware operation while the SNDU is in | unexpected software / hardware operation while the SNDU is in | |||
transit across the MPEG-2 subnetwork and during processing at the | transit across the MPEG-2 subnetwork and during processing at the | |||
encapsulation gateway and/or the Receiver. It may also detect the | encapsulation gateway and/or the Receiver. It may also detect the | |||
presence of uncorrected errors from the physical link (however, | presence of uncorrected errors from the physical link (however, | |||
these may also be detected by other means, e.g. section 7.3). | these may also be detected by other means, e.g. section 7.3). | |||
Expires November 2005 [page 12] | Expires July 2005 [page 12] | |||
4.7 Description of SNDU Formats | 4.7 Description of SNDU Formats | |||
The format of an SNDU is determined by the combination of the | The format of an SNDU is determined by the combination of the | |||
Destination Address Absent bit (D) and the SNDU Type Field. The | Destination Address Absent bit (D) and the SNDU Type Field. The | |||
simplest encapsulation places a PDU directly into an SNDU payload. | simplest encapsulation places a PDU directly into an SNDU payload. | |||
Some Type 1 encapsulations may require additional header fields. | Some Type 1 encapsulations may require additional header fields. | |||
These are inserted in the SNDU following the NPA destination address | These are inserted in the SNDU following the NPA destination address | |||
and directly preceding the PDU. | and directly preceding the PDU. | |||
The following SNDU Formats are defined here: | The following SNDU Formats are defined here: | |||
skipping to change at line 637 | skipping to change at line 618 | |||
IEEE and IANA registries. | IEEE and IANA registries. | |||
4.7.1 End Indicator | 4.7.1 End Indicator | |||
The format of the End Indicator is shown in figure 2. This format | The format of the End Indicator is shown in figure 2. This format | |||
MUST carry a D-bit value of 1. | MUST carry a D-bit value of 1. | |||
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| 0x7FFF | | | |1| 0x7FFF | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
= A sequence of zero or more bytes with a value 0xFF filling = | = A sequence of zero or more bytes with a value 0xFF filling = | |||
| the remainder of the TS Packet Payload | | | the remainder of the TS Packet Payload | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 2: Format for a ULE End Indicator. | Figure 2: Format for a ULE End Indicator. | |||
Expires November 2005 [page 13] | Expires July 2005 [page 13] | |||
4.7.2 IPv4 SNDU | 4.7.2 IPv4 SNDU | |||
IPv4 datagrams are directly transported using one of the two | IPv4 datagrams are directly transported using one of the two | |||
standard SNDU structures, in which the PDU is placed directly in the | standard SNDU structures, in which the PDU is placed directly in the | |||
SNDU payload. The two encapsulations are shown in figures 3 and 4. | SNDU payload. The two encapsulations are shown in figures 3 and 4. | |||
(Note that in this, and the following figures, the IP datagram | (Note that in this, and the following figures, the IP datagram | |||
payload is of variable size, and is directly followed by the CRC- | payload is of variable size, and is directly followed by the CRC- | |||
32). | 32). | |||
0 1 2 3 | 0 1 2 3 | |||
skipping to change at line 695 | skipping to change at line 675 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 4: SNDU Format for an IPv4 Datagram using L3 filtering (D=1). | Figure 4: SNDU Format for an IPv4 Datagram using L3 filtering (D=1). | |||
4.7.3 IPv6 SNDU Encapsulation | 4.7.3 IPv6 SNDU Encapsulation | |||
IPv6 datagrams are directly transported using one of the two | IPv6 datagrams are directly transported using one of the two | |||
standard SNDU structures, in which the PDU is placed directly in the | standard SNDU structures, in which the PDU is placed directly in the | |||
SNDU payload. The two encapsulations are shown in figures 5 and 6. | SNDU payload. The two encapsulations are shown in figures 5 and 6. | |||
Expires November 2005 [page 14] | Expires July 2005 [page 14] | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0| Length (15b) | Type = 0x86DD | | |0| Length (15b) | Type = 0x86DD | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Receiver Destination NPA Address (6B) | | | Receiver Destination NPA Address (6B) | | |||
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | |||
| | | | | | |||
skipping to change at line 728 | skipping to change at line 708 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
= IPv6 datagram = | = IPv6 datagram = | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| (CRC-32) | | | (CRC-32) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 6: SNDU Format for an IPv6 Datagram using L3 filtering (D=1) | Figure 6: SNDU Format for an IPv6 Datagram using L3 filtering (D=1) | |||
Expires November 2005 [page 15] | Expires July 2005 [page 15] | |||
5. Extension Headers | 5. Extension Headers | |||
This section describes an extension format for the ULE | This section describes an extension format for the ULE | |||
encapsulation. In ULE, a Type field value less than 1536 Decimal | encapsulation. In ULE, a Type field value less than 1536 Decimal | |||
indicates an Extension Header. These values are assigned from a | indicates an Extension Header. These values are assigned from a | |||
separate IANA registry defined for ULE. | separate IANA registry defined for ULE. | |||
The use of a single Type/Next-Header field simplifies processing and | The use of a single Type/Next-Header field simplifies processing and | |||
eliminates the need to maintain multiple IANA registries. The cost | eliminates the need to maintain multiple IANA registries. The cost | |||
is that each Extension Header requires at least 2 bytes. This is | is that each Extension Header requires at least 2 bytes. This is | |||
skipping to change at line 770 | skipping to change at line 749 | |||
2 Indicates an Optional Extension Header of length 4B | 2 Indicates an Optional Extension Header of length 4B | |||
3 Indicates an Optional Extension Header of length 6B | 3 Indicates an Optional Extension Header of length 6B | |||
4 Indicates an Optional Extension Header of length 8B | 4 Indicates an Optional Extension Header of length 8B | |||
5 Indicates an Optional Extension Header of length 10B | 5 Indicates an Optional Extension Header of length 10B | |||
>=6 the combined H-LEN and H-TYPE values indicate the EtherType | >=6 the combined H-LEN and H-TYPE values indicate the EtherType | |||
of a PDU that directly follows this Type field. | of a PDU that directly follows this Type field. | |||
The H-LEN value indicates the total number of bytes in an Optional | The H-LEN value indicates the total number of bytes in an Optional | |||
Extension Header (including the 2B Type field). | Extension Header (including the 2B Type field). | |||
An H-LEN value of zero indicates a Mandatory Extension Header. Each | A H-LEN of zero indicates a Mandatory Extension Header. Each | |||
Mandatory Extension Header has a pre-defined length that is not | Mandatory Extension Header has a pre-defined length that is not | |||
communicated in the H-LEN field. No additional limit is placed on | communicated in the H-LEN field. No additional limit is placed on | |||
the maximum length of a Mandatory Extension Header. A Mandatory | the maximum length of a Mandatory Extension Header. A Mandatory | |||
Extension Header MAY modify the format or encoding of the enclosed | Extension Header MAY modify the format or encoding of the enclosed | |||
PDU (e.g. to perform encryption and/or compression). | PDU (e.g. to perform encryption and/or compression). | |||
The H-Type is a one byte field that is either one of 256 Mandatory | The H-Type is a one byte field that is either one of 256 Mandatory | |||
Header Extensions or one of 256 Optional Header Extensions. The set | Header Extensions or one of 256 Optional Header Extensions. The set | |||
of currently permitted values for both types of Extension Headers | of currently permitted values for both types of Extension Headers | |||
are defined by an IANA Registry (section 15). Registry values for | are defined by an IANA Registry (section 15). Registry values for | |||
Optional Extensions are specified in the form H=1 (i.e. a decimal | Optional Extensions are specified in the form H=1 (i.e. a decimal | |||
Expires November 2005 [page 16] | Expires July 2005 [page 16] | |||
number in the range 256-511), but may be used with an H-Length value | number in the range 256-511), but may be used with an H-Length value | |||
in the range 1-5 (see example in 5.3). | in the range 1-5 (see example in 5.3). | |||
Two examples of Extension Headers are the Test SNDU and the use of | Two examples of Extension Headers are the Test_SNDU and the use of | |||
Extension-Padding. The Test SNDU Mandatory Extension Header results | Extension-Padding. The Test-SNDU Mandatory Extension Header results | |||
in the entire PDU being discarded. The Extension-Padding Optional | in the entire PDU being discarded. The Extension-Padding Optional | |||
Extension Header results in the following (if any) option header | Extension Header results in the following (if any) option header | |||
being ignored (i.e. a total of H-LEN 16-bit words). | being ignored (i.e. a total of H-LEN 16-bit words). | |||
The general format for an SNDU with Extension Headers is: | The general format for an SNDU with Extension Headers is: | |||
< -------------------------- SNDU ------------------------- > | < -------------------------- SNDU ------------------------- > | |||
+---+--------------------------------------------------+--------+ | +---+--------------------------------------------------+--------+ | |||
|D=0| Length | T1 | NPA Address | H1 | T2 | PDU | CRC-32 | | |D=0| Length | T1 | NPA Address | H1 | T2 | PDU | CRC-32 | | |||
+---+--------------------------------------------------+--------+ | +---+--------------------------------------------------+--------+ | |||
skipping to change at line 822 | skipping to change at line 801 | |||
< -------------------------- SNDU ------------------------- > | < -------------------------- SNDU ------------------------- > | |||
+---+---------------------------------------------------+--------+ | +---+---------------------------------------------------+--------+ | |||
|D=1| Length | T1 | H1 | T2 | H2 | T3 | PDU | CRC-32 | | |D=1| Length | T1 | H1 | T2 | H2 | T3 | PDU | CRC-32 | | |||
+---+---------------------------------------------------+--------+ | +---+---------------------------------------------------+--------+ | |||
< ULE base header >< ext 1 >< ext 2 > | < ULE base header >< ext 1 >< ext 2 > | |||
Figure 9: SNDU Encapsulation with two Extension Headers (D=1). | Figure 9: SNDU Encapsulation with two Extension Headers (D=1). | |||
Using this method, several Extension Headers MAY be chained in | Using this method, several Extension Headers MAY be chained in | |||
series. Figure 12 shows an SNDU including two Extension Headers. In | series. Figure 12 shows an SNDU including two Extension Headers. The | |||
the example, the values of T1 and T2 are both less than 1536 | values of T1 and T2 are both less than 1536 Decimal, each indicates | |||
Decimal. Each indicates the presence of an Extension Header, rather | the presence of an Extension Header, rather than a directly | |||
than a directly following PDU. T3 has a value > 1535 indicating the | following PDU. T3 has a value > 1535 indicating the EtherType of the | |||
EtherType of the PDU being carried. Although an SNDU may contain an | PDU being carried. Although an SNDU may contain an arbitrary number | |||
arbitrary number of consecutive Extension Headers, it is not | of consecutive Extension Headers, it is not expected that SNDUs will | |||
expected that SNDUs will generally carry a large number of | generally carry a large number of extensions. | |||
extensions. | ||||
Expires November 2005 [page 17] | ||||
Expires July 2005 [page 17] | ||||
5.1 Test SNDU | 5.1 Test SNDU | |||
A Test SNDU (figure 10) is a Mandatory Extension Header of Type 1. | A Test SNDU (figure 10) is of a Mandatory Extension Header of Type | |||
This header must be the final (or only) extension header specified | 1. This header must be the final (or only) extension header | |||
in the header chain of a SNDU. The structure of the Data portion of | specified in the header chain of a SNDU. The structure of the Data | |||
this SNDU is not defined by this document. All Receivers MAY record | portion of this SNDU is not defined by this document. All Receivers | |||
reception in a log file, but MUST then discard any Test SNDUs. The | MAY record reception in a log file, but MUST then discard any Test | |||
D-bit MAY be set in a TEST SNDU. | SNDUs. The D-bit MAY be set in a TEST SNDU. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|D| Length (15b) | Type = 0x0000 | | |D| Length (15b) | Type = 0x0000 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
= Data (not forwarded by a Receiver) = | = Data (not forwarded by a Receiver) = | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| (CRC-32) | | | (CRC-32) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 10: SNDU Format for a Test SNDU | Figure 10: SNDU Format for a Test SNDU | |||
5.2 Bridged Frame SNDU Encapsulation | 5.2 Bridge Frame SNDU Encapsulation | |||
A bridged SNDU is a Mandatory Extension Header of Type 1. It MUST be | A bridged SNDU is a Mandatory Extension Header of Type 1. It must be | |||
the final (or only) extension header specified in the header chain | the final (or only) extension header specified in the header chain | |||
of a SNDU. The payload includes MAC address and EtherType [DIX] or | of a SNDU. The payload includes MAC address and EtherType [DIX] or | |||
LLC Length [ISO-8802-2] fields together with the contents of a | LLC Length [ISO-8802-2] fields together with the contents of a | |||
bridged MAC frame. The SNDU has the format shown in figures 11 and | bridged MAC frame. The SNDU has the format shown in figures 11 and | |||
12. | 12. | |||
When an NPA address is specified (D=0), Receivers MUST discard all | When an NPA address is specified (D=0), Receivers MUST discard all | |||
SNDUs that carry an NPA destination address that does NOT match | SNDUs that carry an NPA destination address that does NOT match | |||
their own NPA address (or a broadcast/multicast address), the | their own NPA address (or a broadcast/multicast address), the | |||
payload of the remaining SNDUs are processed by the bridging rules | payload of the remaining SNDUs are processed by the bridging rules | |||
that follow. An SNDU without an NPA address (D=1) results in a | that follow. An SNDU without an NPA address (D=1) results in a | |||
Receiver performing bridging processing on the payload of all | Receiver performing bridging processing on the payload of all | |||
received SNDUs. | received SNDUs. | |||
A Gateway MAY also use this encapsulation format to directly | A Gateway MAY also use this encapsulation format to directly | |||
communicate network protocol packets that require the LLC | communicate network protocol packets that require the LLC | |||
encapsulation [IEEE-802.2; ISO-8802-2]. To do this, it constructs an | encapsulation [ISO-8802-2]. To do this, it constructs an SNDU with a | |||
SNDU with a Bridge Extension Header containing the intended | Bridge Extension Header containing the intended destination MAC | |||
destination MAC address, the MAC source address of the Gateway, and | address, the MAC source address of the Gateway, and the LLC-Length. | |||
the LLC-Length. The PDU comprises an LLC header followed by the | The PDU comprises an LLC header followed by the required payload. | |||
required payload. The Gateway MAY choose to suppress the NPA address | The Gateway MAY choose to suppress the NPA address (see 4.5). | |||
(see 4.5). | ||||
Expires November 2005 [page 18] | Expires July 2005 [page 18] | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0| Length (15b) | Type = 0x0001 | | |0| Length (15b) | Type = 0x0001 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Receiver Destination NPA Address (6B) | | | Receiver Destination NPA Address (6B) | | |||
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | |||
| MAC Destination Address (6B) | | | MAC Destination Address (6B) | | |||
skipping to change at line 930 | skipping to change at line 906 | |||
| | | | | | |||
= (Contents of bridged MAC frame) = | = (Contents of bridged MAC frame) = | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| (CRC-32) | | | (CRC-32) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 12: SNDU Format for a Bridged Payload (D=1) | Figure 12: SNDU Format for a Bridged Payload (D=1) | |||
The EtherType/LLC-Length field of a frame is defined according to | The EtherType/LLC-Length field of a frame is defined according to | |||
IEEE 802.3 [IEEE-802.2] (see section 5). | IEEE 802.3 [IEEE-802.3; ISO-8802-2] (see section 5). | |||
In this special case, the Mandatory Extension Header format may be | In this special case, the extension mandatory header format permits | |||
interpreted as either an EtherType [DIX] or an LLC Length field, | this field may be interpreted as either an EtherType [DIX] or an LLC | |||
Expires November 2005 [page 19] | Expires July 2005 [page 19] | |||
specified by IEEE 802 [IEEE-802.3] rather a value assigned in the | Length field, specified by IEEE 802 [IEEE-802.3] rather a value | |||
ULE Next-Header Registry maintained by the IANA. | assigned in the ULE Next Header Registry maintained by the IANA. | |||
The MAC addresses in the frame being bridged SHOULD be assigned | The MAC addresses in the frame being bridged SHOULD be assigned | |||
according to the rules specified by the IEEE and denote unknown, | according to the rules specified by the IEEE and may denote unknown, | |||
unicast, broadcast, and multicast link addresses. These MAC | unicast, broadcast, and multicast link addresses. These MAC | |||
addresses denote the intended recipient in the destination LAN, and | addresses denote the intended recipient in the destination LAN, and | |||
therefore have a different function to the NPA addresses carried in | therefore have a different function to the NPA addresses carried in | |||
the SNDU header. | the SNDU header. | |||
A frame Type < 1536 for a bridged frame, introduces a LLC Length | A frame Type < 1536 for a bridged frame, introduces a LLC Length | |||
field. The Receiver MUST check this length and discard any frame | field. The Receiver MUST check this length and discard any frame | |||
with a length greater than permitted by the SNDU payload size. | with a length greater than permitted by the SNDU payload size. | |||
In normal operation, it is expected that any padding appended to the | In normal operation, it is expected that any padding appended to the | |||
Ethernet frame SHOULD be removed prior to forwarding. This requires | Ethernet frame SHOULD be removed prior to forwarding. This requires | |||
the sender to be aware of such Ethernet padding | the sender to be aware of such Ethernet padding (e.g. [DIX; IEEE- | |||
(e.g. [DIX; IEEE-802.3]). | 802.3]). | |||
Ethernet frames received at the Encapsulator for onward transmission | Ethernet frames received at the Encapsulator for onward transmission | |||
over ULE carry a Local Area Network Frame Check sequence, LAN FCS, | over ULE carry a Local Area Network Frame Check sequence, LAN FCS, | |||
field (e.g. CRC-32 for Ethernet [DIX; IEEE-802.3]). The Encapsulator | field (e.g. CRC-32 for Ethernet [DIX; IEEE-802.3]). The Encapsulator | |||
MUST check the LAN-FCS value of all frames received, prior to | MUST check the LAN-FCS value of all frames received, prior to | |||
further processing. Frames received with an invalid LAN FCS MUST be | further processing. Frames received with an invalid LAN FCS MUST be | |||
discarded. After checking, the LAN FCS is then removed (i.e., it is | discarded. After checking, the LAN FCS is then removed (i.e., it is | |||
NOT forwarded in the bridged SNDU). As in other ULE frames, the | NOT forwarded in the bridged SNDU). As in other ULE frames, the | |||
Encapsulator appends a CRC-32 to the transmitted SNDU. At the | Encapsulator appends a CRC-32 to the transmitted SNDU. At the | |||
Receiver, an appropriate LAN-FCS field will be appended to the | Receiver, an appropriate LAN-FCS field will be appended to the | |||
skipping to change at line 981 | skipping to change at line 957 | |||
processing performed at an Encapsulator and/or Receiver may not be | processing performed at an Encapsulator and/or Receiver may not be | |||
detected by the final recipient(s) (i.e. such corruption would not | detected by the final recipient(s) (i.e. such corruption would not | |||
normally result in an invalid LAN FCS). | normally result in an invalid LAN FCS). | |||
5.3 Extension-Padding Optional Extension Header | 5.3 Extension-Padding Optional Extension Header | |||
The Extension-Padding Optional Extension Header is specified by an | The Extension-Padding Optional Extension Header is specified by an | |||
IANA assigned H-Type value of 0x100. As in other Optional | IANA assigned H-Type value of 0x100. As in other Optional | |||
Extensions, the total length of the extension is indicated by the H- | Extensions, the total length of the extension is indicated by the H- | |||
LEN field (specified in 16-bit words). The extension field is formed | LEN field (specified in 16-bit words). The extension field is formed | |||
of a group of one to five 16-bit fields. | of a group of 1 to 5 16-bit fields. | |||
For this specific option, only the last 16-bit word has an assigned | For this specific option, only the last 16-bit word has an assigned | |||
value, the sender SHOULD set the remaining values to 0x0000. The | value, the sender SHOULD set the remaining values to 0x0000. The | |||
last 16-bit field forms the Next-Header Type field. A Receiver MUST | last 16-bit field forms the Next-Header Type field. A Receiver MUST | |||
interpret the Type field, but MUST ignore any other fields of this | interpret the Type field, but MUST ignore any other fields of this | |||
Extension Header. | Extension Header. | |||
Expires November 2005 [page 20] | Expires July 2005 [page 20] | |||
6. Processing at the Encapsulator | 6. Processing at the Encapsulator | |||
The Encapsulator forms the PDUs queued for transmission into SNDUs | The Encapsulator forms the PDUs queued for transmission into SNDUs | |||
by adding a header and trailer to each PDU (section 4). It then | by adding a header and trailer to each PDU (section 4). It then | |||
segments the SNDU into a series of TS Packet payloads (figure 9). | segments the SNDU into a series of TS Packet payloads (figure 9). | |||
These are transmitted using a single TS Logical Channel over a TS | These are transmitted using a single TS Logical Channel over a TS | |||
Multiplex. The TS Multiplex may be processed by a number of MPEG-2 | Multiplex. The TS Multiplex may be processed by a number of MPEG-2 | |||
(re)multiplexors before it is finally delivered to a Receiver | (re)multiplexors before it is finally delivered to a Receiver [ID- | |||
[RFCXARCHX]. | ipdvb-arch]. | |||
+------+--------------------------------+------+ | +------+--------------------------------+------+ | |||
| ULE | Protocol Data Unit | ULE | | | ULE | Protocol Data Unit | ULE | | |||
|Header| |CRC-32| | |Header| |CRC-32| | |||
+------+--------------------------------+------+ | +------+--------------------------------+------+ | |||
/ / \ \ | / / \ \ | |||
/ / \ \ | / / \ \ | |||
/ / \ \ | / / \ \ | |||
+--------+---------+ +--------+---------+ +--------+---------+ | +--------+---------+ +--------+---------+ +--------+---------+ | |||
|MPEG-2TS| MPEG-2 |...|MPEG-2TS| MPEG-2 |...|MPEG-2TS| MPEG-2 | | |MPEG-2TS| MPEG-2 |...|MPEG-2TS| MPEG-2 |...|MPEG-2TS| MPEG-2 | | |||
skipping to change at line 1021 | skipping to change at line 997 | |||
+--------+---------+ +--------+---------+ +--------+---------+ | +--------+---------+ +--------+---------+ +--------+---------+ | |||
Figure 13: Encapsulation of an SNDU into a series of TS Packets | Figure 13: Encapsulation of an SNDU into a series of TS Packets | |||
6.1 SNDU Encapsulation | 6.1 SNDU Encapsulation | |||
When an Encapsulator has not previously sent a TS Packet for a | When an Encapsulator has not previously sent a TS Packet for a | |||
specific TS Logical Channel, or after an Idle period, it starts to | specific TS Logical Channel, or after an Idle period, it starts to | |||
send an SNDU in the first available TS Packet. This first TS Packet | send an SNDU in the first available TS Packet. This first TS Packet | |||
generated MUST carry a PUSI value of 1. It MUST also carry a Payload | generated MUST carry a PUSI value of 1. It MUST also carry a Payload | |||
Pointer value of zero indicating that the SNDU starts immediately | Pointer value of zero indicating the SNDU starts in the first | |||
after the Payload Pointer in the TS Packet payload. | available byte of the TS Packet payload. | |||
The Encapsulation MUST ensure that all TS Packets set the MPEG-2 | The Encapsulation MUST ensure that all TS Packets set the MPEG-2 | |||
Continuity Counter carried in the TS Packet header, according to | Continuity Counter carried in the TS Packet header, according to | |||
[ISO-MPEG2]. This value MUST be incremented by one (modulo 16) for | [ISO-MPEG2]. This value MUST be incremented by one (modulo 16) for | |||
each successive fragment/complete SNDU sent using a TS Logical | each successive fragment/complete SNDU sent using a TS Logical | |||
Channel. | Channel. | |||
An Encapsulator MAY decide not to immediately send another SNDU, | An Encapsulator MAY decide not to immediately send another SNDU, | |||
even if space is available in a partially filled TS Packet. This | even if space is available in a partially filled TS Packet. This | |||
procedure is known as Padding (figure 11). The End Indicator informs | procedure is known as Padding (figure 11). The End Indicator informs | |||
the Receiver that there are no more SNDUs in this TS Packet payload. | the Receiver that there are no more SNDUs in this TS Packet payload. | |||
The End Indicator is followed by zero or more unused bytes until the | The End Indicator is followed by zero or more unused bytes until the | |||
end of the TS Packet payload. All unused bytes MUST be set to the | end of the TS Packet payload. All unused bytes MUST be set to the | |||
value of 0xFF, following current practice in MPEG-2 [ISO-DSMCC]. The | value of 0xFF, following current practice in MPEG-2 [ISO-DSMCC]. The | |||
Padding procedure trades decreased efficiency against improved | Padding procedure trades decreased efficiency against improved | |||
latency. | latency. | |||
Expires November 2005 [page 21] | Expires July 2005 [page 21] | |||
+-/------------+ | +-/------------+ | |||
| SubNetwork | | | SubNetwork | | |||
| DU 1 | | | DU 3 | | |||
+-/------------+ | +-/------------+ | |||
\ \ | \ \ | |||
\ \ | \ \ | |||
\ \ | \ \ | |||
+--------+--------+--------+----------+ | +--------+--------+--------+----------+ | |||
|MPEG-2TS| End of | 0xFFFF | Unused | | |MPEG-2TS| End of | 0xFFFF | Unused | | |||
| Header | SNDU 1 | | Bytes | | | Header | SNDU 3 | | Bytes | | |||
+--------+--------+--------+----------+ | +--------+--------+--------+----------+ | |||
PUSI=0 ULE | PUSI=0 ULE | |||
End | End | |||
Indicator | Indicator | |||
Figure 14: A TS Packet carrying the end of SNDU 1, followed by an | Figure 14: A TS Packet carrying the end of SNDU 3, followed by an | |||
End Indicator. | End Indicator. | |||
Alternatively, when more packets are waiting at an Encapsulator, and | Alternatively, when more packets are waiting at an Encapsulator, and | |||
a TS Packet has sufficient space remaining in the payload, the | a TS Packet has sufficient space remaining in the payload, the | |||
Encapsulator can follow a previously encapsulated SNDU with another | Encapsulator can follow a previously encapsulated SNDU with another | |||
SNDU using the next available byte of the TS Packet payload (see | SNDU using the next available byte of the TS Packet payload (see | |||
6.2). This is called Packing (figure 15). | 6.2). This is called Packing (figure 15). | |||
+-/----------------+ +----------------/-+ | +-/----------------+ +----------------/-+ | |||
| Subnetwork | | Subnetwork | | | Subnetwork | | Subnetwork | | |||
| DU 2 | | DU 3 | | | DU 1 | | DU 2 | | |||
+-/----------------+ +----------------/-+ | +-/----------------+ +----------------/-+ | |||
\ \ / /\ | \ \ / /\ | |||
\ \ / / \ | \ \ / / \ | |||
\ \ / / \. . . | \ \ / / \. . . | |||
+--------+--------+--------+----------+ | +--------+--------+--------+----------+ | |||
|MPEG-2TS| Payload| end of | start of | | |MPEG-2TS| Payload| end of | start of | | |||
| Header | Pointer| SNDU 2 | SNDU 3 | | | Header | Pointer| SNDU 1 | SNDU 2 | | |||
+--------+--------+--------+----------+ | +--------+--------+--------+----------+ | |||
PUSI=1 | ^ | PUSI=1 | ^ | |||
| | | | | | |||
+--------------+ | +--------------+ | |||
Figure 15: A TS Packet with the end of SNDU 2, followed by SNDU 3. | Figure 15: A TS Packet with the end of SNDU 1, followed by SNDU 2. | |||
6.2 Procedure for Padding and Packing | 6.2 Procedure for Padding and Packing | |||
Five possible actions may occur when an Encapsulator has completed | Five possible actions may occur when an Encapsulator has completed | |||
encapsulation of an SNDU: | encapsulation of an SNDU: | |||
(i) If the TS Packet has no remaining space, the Encapsulator | (i) If the TS Packet has no remaining space, the Encapsulator | |||
transmits this TS Packet. It starts transmission of the next SNDU in | transmits this TS Packet. It starts transmission of the next SNDU in | |||
a new TS Packet. (The standard rules [ISO-MPEG2] require the header | a new TS Packet. (The standard rules [ISO-MPEG2] require the header | |||
of this new TS Packet to carry a PUSI value of 1, and a Payload | of this new TS Packet to carry a PUSI value of 1, and a Payload | |||
Pointer value of 0x00.) | Pointer value of 0x00.) | |||
Expires November 2005 [page 22] | Expires July 2005 [page 22] | |||
(ii) If the TS Packet carrying the final part of an SNDU has one | (ii) If the TS Packet carrying the final part of an SNDU has one | |||
byte of unused payload, the Encapsulator MUST place the value 0xFF | byte of unused payload, the Encapsulator MUST place the value 0xFF | |||
in this final byte, and transmit the TS Packet. This rule provides a | in this final byte, and transmit the TS Packet. This rule provides a | |||
simple mechanism to resolve the complex behaviour that may arise | simple mechanism to resolve the complex behaviour that may arise | |||
when the TS Packet has no PUSI set. To send another SNDU in the | when the TS Packet has no PUSI set. To send another SNDU in the | |||
current TS Packet, would otherwise require the addition of a Payload | current TS Packet, would otherwise require the addition of a Payload | |||
Pointer that would consume the last remaining byte of TS Packet | Pointer that would consume the last remaining byte of TS Packet | |||
payload. The behaviour follows similar practice for other MPEG-2 | payload. The behaviour follows similar practice for other MPEG-2 | |||
payload types [ISO-DSMCC]. The Encapsulator MUST start transmission | payload types [ISO-DSMCC]. The Encapsulator MUST start transmission | |||
of the next SNDU in a new TS Packet. (The standard rules require the | of the next SNDU in a new TS Packet. (The standard rules require the | |||
skipping to change at line 1121 | skipping to change at line 1097 | |||
Packet. This rule prevents fragmentation of the SNDU Length Field | Packet. This rule prevents fragmentation of the SNDU Length Field | |||
over two TS Packets. The Encapsulator MUST start transmission of the | over two TS Packets. The Encapsulator MUST start transmission of the | |||
next SNDU in a new TS Packet. (The standard rules require the header | next SNDU in a new TS Packet. (The standard rules require the header | |||
of this new TS Packet to carry a PUSI value of 1 and a Payload | of this new TS Packet to carry a PUSI value of 1 and a Payload | |||
Pointer value of 0x00.) | Pointer value of 0x00.) | |||
(iv) If the TS Packet has more than two bytes of unused payload, the | (iv) If the TS Packet has more than two bytes of unused payload, the | |||
Encapsulator MAY transmit this partially full TS Packet but MUST | Encapsulator MAY transmit this partially full TS Packet but MUST | |||
first place the value 0xFF in all remaining unused bytes (i.e. | first place the value 0xFF in all remaining unused bytes (i.e. | |||
setting an End Indicator followed by Padding). The Encapsulator MUST | setting an End Indicator followed by Padding). The Encapsulator MUST | |||
then start transmission of the next SNDU in a new TS Packet. (The | start transmission of the next SNDU in a new TS Packet. (The | |||
standard rules [ISO-MPEG2] require the header of this new TS Packet | standard rules [ISO-MPEG2] require the header of this new TS Packet | |||
to carry a PUSI value of 1 and a Payload Pointer value of 0x00.) | to carry a PUSI value of 1 and a Payload Pointer value of 0x00.) | |||
(v) If at least two bytes are available for SNDU data in the TS | (v) If at least two bytes are available for SNDU data in the TS | |||
Packet payload (i.e. three bytes if the PUSI was NOT previously set, | Packet payload (i.e. three bytes if the PUSI was NOT previously set, | |||
and two bytes if it was previously set), the Encapsulator MAY | and two bytes if it was previously set), the Encapsulator MAY | |||
encapsulate further queued PDUs, by starting the next SNDU in the | encapsulate further queued PDUs, by starting the next SNDU in the | |||
next available byte of the current TS Packet payload. When the | next available byte of the current TS Packet payload. The PUSI MUST | |||
Encapsulator packs further SNDUs into a TS Packet where the PUSI has | be set. When the Encapsulator packs further SNDUs into a TS Packet | |||
NOT already been set, the PUSI MUST be updated (set to 1) and an 8- | where the PUSI has NOT already been set, this requires the PUSI to | |||
bit Payload Pointer MUST be inserted in the first byte directly | be updated (set to 1) and an 8-bit Payload Pointer MUST be inserted | |||
following the TS Packet header. The value of the Payload Pointer | in the first byte directly following the TS Packet header. The value | |||
MUST be set to the position of the byte following the end of the | MUST be set to the position of the byte following the end of the | |||
first SNDU in the TS Packet payload. If no further PDUs are | first SNDU in the TS Packet payload. If no further PDUs are | |||
available, an Encapsulator MAY wait for additional PDUs to fill the | available, an Encapsulator MAY wait for additional PDUs to fill the | |||
incomplete TS Packet. The maximum period of time an Encapsulator can | incomplete TS Packet. The maximum period of time an Encapsulator can | |||
wait, known as the Packing Threshold, MUST be bounded and SHOULD be | wait, known as the Packing Threshold, MUST be bounded and SHOULD be | |||
configurable in the Encapsulator. If sufficient additional PDUs are | configurable in the Encapsulator. If sufficient additional PDUs are | |||
NOT received to complete the TS Packet within the Packing Threshold, | NOT received to complete the TS Packet within the Packing Threshold, | |||
the Encapsulator MUST insert an End Indicator (using rule iv). | the Encapsulator MUST insert an End Indicator (using rule iv). | |||
Use of the Packing method (v) by an Encapsulator is optional, and | Use of the Packing method (v) by an Encapsulator is optional, and | |||
may be determined on a per-session, per-packet, or per-SNDU basis. | may be determined on a per-session, per-packet, or per-SNDU basis. | |||
Expires November 2005 [page 23] | Expires July 2005 [page 23] | |||
When an SNDU is less than the size of a TS Packet payload, a TS | When an SNDU is less than the size of a TS Packet payload, a TS | |||
Packet may be formed that carries a PUSI value of one and also an | Packet may be formed that carries a PUSI value of one and also an | |||
End Indicator (using rule iv). | End Indicator (using rule iv). | |||
Expires November 2005 [page 24] | Expires July 2005 [page 24] | |||
7. Receiver Processing | 7. Receiver Processing | |||
A Receiver tunes to a specific TS Multiplex and sets a receive | A Receiver tunes to a specific TS Multiplex and sets a receive | |||
filter to accept all TS Packets with a specific PID. These TS | filter to accept all TS Packets with a specific PID. These TS | |||
Packets are associated with a specific TS Logical Channel and are | Packets are associated with a specific TS Logical Channel and are | |||
reassembled to form a stream of SNDUs. A single Receiver may be | reassembled to form a stream of SNDUs. A single Receiver may be | |||
able to receive multiple TS Logical Channels, possibly using a range | able to receive multiple TS Logical Channels, possibly using a range | |||
of TS Multiplexes. In each case, reassembly MUST be performed | of TS Multiplexes. In each case, reassembly MUST be performed | |||
independently for each TS Logical Channel. To perform this | independently for each TS Logical Channel. To perform this | |||
skipping to change at line 1184 | skipping to change at line 1160 | |||
be recorded as a payload pointer error. | be recorded as a payload pointer error. | |||
A Receiver MUST support the use of both the Packing and Padding | A Receiver MUST support the use of both the Packing and Padding | |||
method for any received SNDU, and MUST support reception of SNDUs | method for any received SNDU, and MUST support reception of SNDUs | |||
with or without a Destination Address Field (i.e. D=0 and D=1). | with or without a Destination Address Field (i.e. D=0 and D=1). | |||
7.1 Idle State | 7.1 Idle State | |||
After initialisation, errors, or on receipt of an End Indicator, the | After initialisation, errors, or on receipt of an End Indicator, the | |||
Receiver enters the Idle State. In this state, the Receiver discards | Receiver enters the Idle State. In this state, the Receiver discards | |||
all TS Packets until it discovers the start of a new SNDU, upon | all TS Packets until it discovers the start of a new SNDU, when it | |||
which it then enters the Reassembly State. Figure 16 outlines these | then enters the Reassembly State. Figure 16 outlines these state | |||
state transitions: | transitions: | |||
+-------+ | +-------+ | |||
| START | | | START | | |||
+---+---+ | +---+---+ | |||
| | | | |||
\/ | \/ | |||
+----------+ | +----------+ | |||
\| Idle |/ | \| Idle |/ | |||
+-------/| State |\-------+ | +-------/| State |\-------+ | |||
Insufficient | +----+-----+ | | Insufficient | +----+-----+ | | |||
unused space | | PUSI set | MPEG-2 TS Error | unused space | | PUSI set | MPEG-2 TS Error | |||
or | \/ | or | or | \/ | or | |||
End Indicator| +----------+ | SNDU Error | End Indicator| +----------+ | SNDU Error | |||
| |Reassembly| | | | |Reassembly| | | |||
+--------| State |--------+ | +--------| State |--------+ | |||
+----------+ | +----------+ | |||
Figure 16: Receiver state transitions | Figure 16: Receiver state transitions | |||
Expires November 2005 [page 25] | Expires July 2005 [page 25] | |||
7.1.1 Idle State Payload Pointer Checking | 7.1.1 Idle State Payload Pointer Checking | |||
A Receiver in the Idle State MUST check the PUSI value in the header | A Receiver in the Idle State MUST check the PUSI value in the header | |||
of all received TS Packets. A PUSI value of 1 indicates the presence | of all received TS Packets. A PUSI value of 1 indicates the presence | |||
of a Payload Pointer. Following a loss of synchronisation, values | of a Payload Pointer. Following a loss of synchronisation, values | |||
between 0 and 181 are permitted, in which case the Receiver MUST | between 0 and 181 are permitted, in which case the Receiver MUST | |||
discard the number of bytes indicated by the Payload Pointer | discard the number of bytes indicated by the Payload Pointer | |||
(counted from the first byte of the TS Packet payload field, and | (counted from the first byte of the TS Packet payload field, and | |||
excluding the PP field itself), before leaving the Idle State. It | excluding the PP field itself), before leaving the Idle State. It | |||
then enters the Reassembly State, and starts reassembly of a new | then enters the Reassembly State, and starts reassembly of a new | |||
skipping to change at line 1257 | skipping to change at line 1232 | |||
(this includes the NPA address of the Receiver, the NPA broadcast | (this includes the NPA address of the Receiver, the NPA broadcast | |||
address and any required multicast NPA addresses). The Receiver MUST | address and any required multicast NPA addresses). The Receiver MUST | |||
silently discard an SNDU with an unmatched address. | silently discard an SNDU with an unmatched address. | |||
After receiving a valid SNDU, the Receiver MUST check the Type Field | After receiving a valid SNDU, the Receiver MUST check the Type Field | |||
(and process any Type 1 Extension Headers). The SNDU payload is then | (and process any Type 1 Extension Headers). The SNDU payload is then | |||
passed to the next protocol layer specified. An SNDU with an unknown | passed to the next protocol layer specified. An SNDU with an unknown | |||
Type value < 1536 MUST be discarded. This error event SHOULD be | Type value < 1536 MUST be discarded. This error event SHOULD be | |||
recorded as an SNDU type error. | recorded as an SNDU type error. | |||
Expires November 2005 [page 26] | Expires July 2005 [page 26] | |||
The Receiver then starts reassembly of the next SNDU. This MAY | The Receiver then starts reassembly of the next SNDU. This MAY | |||
directly follow the previously reassembled SNDU within the TS Packet | directly follow the previously reassembled SNDU within the TS Packet | |||
payload. | payload. | |||
(i) If the Current SNDU finishes at the end of a TS Packet payload, | (i) If the Current SNDU finishes at the end of a TS Packet payload, | |||
the Receiver MUST enter the Idle State. | the Receiver MUST enter the Idle State. | |||
(ii) If only one byte remains unprocessed in the TS Packet payload | (ii) If only one byte remains unprocessed in the TS Packet payload | |||
after completion of the Current SNDU, the Receiver MUST discard this | after completion of the Current SNDU, the Receiver MUST discard this | |||
final byte of TS Packet payload. It then enters the Idle State. It | final byte of TS Packet payload. It then enters the Idle State. It | |||
skipping to change at line 1310 | skipping to change at line 1285 | |||
carried in the TS Packet header [ISO-MPEG2]. This flag indicates a | carried in the TS Packet header [ISO-MPEG2]. This flag indicates a | |||
transmission error for a TS Logical Channel. If the flag is set to a | transmission error for a TS Logical Channel. If the flag is set to a | |||
value of one, a transmission error event SHOULD be recorded. Any | value of one, a transmission error event SHOULD be recorded. Any | |||
partially received SNDU MUST be discarded. The Receiver then enters | partially received SNDU MUST be discarded. The Receiver then enters | |||
the Idle State. | the Idle State. | |||
The Receiver MUST check the MPEG-2 Continuity Counter carried in the | The Receiver MUST check the MPEG-2 Continuity Counter carried in the | |||
TS Packet header [ISO-MPEG2]. If two (or more) successive TS Packets | TS Packet header [ISO-MPEG2]. If two (or more) successive TS Packets | |||
within the same TS Logical Channel carry the same Continuity Counter | within the same TS Logical Channel carry the same Continuity Counter | |||
Expires November 2005 [page 27] | Expires July 2005 [page 27] | |||
value, the duplicate TS Packets MUST be silently discarded. If the | value, the duplicate TS Packets MUST be silently discarded. If the | |||
received value is NOT identical to that in the previous TS Packet, | received value is NOT identical to that in the previous TS Packet, | |||
and it does NOT increment by one for successive TS Packets (modulo | and it does NOT increment by one for successive TS Packets (modulo | |||
16), the Receiver has detected a continuity error. Any partially | 16), the Receiver has detected a continuity error. Any partially | |||
received SNDU MUST be discarded. A continuity counter error event | received SNDU MUST be discarded. A continuity counter error event | |||
SHOULD be recorded. The Receiver then enters the Idle State. | SHOULD be recorded. The Receiver then enters the Idle State. | |||
Note that an MPEG2-2 Transmission network is permitted to carry | Note that an MPEG2-2 Transmission network is permitted to carry | |||
duplicate TS Packets [ISO-MPEG2], which are normally detected by the | duplicate TS Packets [ISO-MPEG2], which are normally detected by the | |||
MPEG-2 Continuity Counter. A Receiver that does not perform the | MPEG-2 Continuity Counter. A Receiver that does not perform the | |||
above Continuity Counter check, would accept duplicate copies of TS | above Continuity Counter check, would accept duplicate copies of TS | |||
Packets to the reassembly procedure. In most cases, the SNDU CRC-32 | Packets to the reassembly procedure. In most cases, the SNDU CRC-32 | |||
integrity check will result in discard of these SNDUs, leading to | integrity check will result in discard of these SNDUs, leading to | |||
unexpected PDU loss, however in some cases, duplicate PDUs (fitting | unexpected PDU loss, however in some cases, duplicate PDUs (fitting | |||
into one TS Packet) could pass undetected to the next layer | into one TS Packet) could pass undetected to the next layer | |||
protocol. | protocol. | |||
Expires November 2005 [page 28] | Expires July 2005 [page 28] | |||
8. Summary | 8. Summary | |||
This document defines a Unidirectional Lightweight Encapsulation | This document defines an Ultra Lightweight Encapsulation (ULE) to | |||
(ULE) that performs efficient and flexible support for IPv4 and IPv6 | perform efficient and flexible support for IPv4 and IPv6 network | |||
network services over networks built upon the MPEG-2 Transport | services over networks built upon the MPEG-2 Transport Stream (TS). | |||
Stream (TS). The encapsulation is also suited to transport of other | The encapsulation is also suited to transport of other protocol | |||
protocol packets and bridged Ethernet frames. | packets and bridged Ethernet frames. | |||
ULE also provides an Extension Header format and defines an | ULE also provides an Extension Header format and defines an | |||
associated IANA registry for efficient and flexible support of both | associated IANA registry for efficient and flexible support of both | |||
mandatory and optional SNDU headers. This allows for future | mandatory and optional SNDU headers. This allows for future | |||
extension of the protocol, while providing backwards compatibility | extension of the protocol, while providing backwards compatibility | |||
with existing implementations. In particular, Optional Extension | with existing implementations. In particular, Optional Extension | |||
Headers may safely be ignored by Receiver drivers that do not | Headers may safely be ignored by Receiver drivers that do not | |||
implement them, or choose not to process them. | implement them, or choose not to process them. | |||
9. Acknowledgments | 9. Acknowledgments | |||
This draft is based on a previous draft authored by: Horst D. | This draft is based on a previous draft authored by: Horst D. | |||
Clausen, Bernhard Collini-Nocker, Hilmar Linder, and Gorry | Clausen, Bernhard Collini-Nocker, Hilmar Linder, and Gorry | |||
Fairhurst. The authors wish to thank the members of the ip-dvb | Fairhurst. The authors wish to thank the members of the ip-dvb | |||
mailing list for their input provided. In particular, the many | mailing list for their input provided. In particular, the many | |||
comments received from Art Allison, Carstsen Borman, Patrick | comments received from Art Allison, Carstsen Borman, Patrick | |||
Cipiere, Wolgang Fritsche, Hilmar Linder, Alain Ritoux, and William | Cipiere, Wolgang Fritsche, Hilmar Linder, Alain Ritoux, and | |||
Stanislaus. Alain also provided the original examples of usage. | William Stanislaus. Alain also provided the original examples of | |||
usage. | ||||
Expires November 2005 [page 29] | Expires July 2005 [page 29] | |||
10. Security Considerations | 10. Security Considerations | |||
The security considerations for ULE resemble those that arise when | The security considerations for ULE resemble those that arise when | |||
the existing Multi-Protocol Encapsulation (MPE) is used. ULE does | the existing Multi-Protocol Encapsulation (MPE) is used. ULE does | |||
not add specific new threats that will impact the security of the | not add specific new threats that will impact the security of the | |||
general Internet. | general Internet. | |||
There is a known security issue with un-initialised stuffing bytes. | There is a known security issue with un-initialised stuffing bytes. | |||
In ULE, these bytes are set to 0xFF (normal practice in MPEG-2). | In ULE, these bytes are set to 0xFF (normal practice in MPEG-2). | |||
skipping to change at line 1385 | skipping to change at line 1361 | |||
actual length and the Length Field and ensure that inconsistent | actual length and the Length Field and ensure that inconsistent | |||
values are not propagated by the network. In direct encapsulation of | values are not propagated by the network. In direct encapsulation of | |||
IPv4/IPv6 in ULE, this is avoided by including only one SNDU Length | IPv4/IPv6 in ULE, this is avoided by including only one SNDU Length | |||
Field. However, this issue still arises in bridged LLC frames, and | Field. However, this issue still arises in bridged LLC frames, and | |||
frames with a LLC Length greater than the SNDU payload size MUST be | frames with a LLC Length greater than the SNDU payload size MUST be | |||
discarded, and an SNDU payload length error SHOULD be recorded. | discarded, and an SNDU payload length error SHOULD be recorded. | |||
A ULE Mandatory Extension Header may in future be used to define a | A ULE Mandatory Extension Header may in future be used to define a | |||
method to perform link encryption of the SNDU payload. This is as an | method to perform link encryption of the SNDU payload. This is as an | |||
additional security mechanism to IP, transport or application layer | additional security mechanism to IP, transport or application layer | |||
security - not a replacement [RFCXARCHX]. The approach is generic | security - not a replacement [ID-ipdvb-arch]. The approach is | |||
and decouples the encapsulation from future security extensions. The | generic and decouples the encapsulation from future security | |||
operation provides functions that resemble those currently used with | extensions. The operation provides functions that resemble those | |||
the MPE encapsulation. | currently used with the MPE encapsulation. | |||
Additional security control fields may be provided as a part of this | Additional security control fields may be provided as a part of this | |||
link encryption Extension Header, e.g. to associate an SNDU with one | link encryption Extension Header, e.g. to associate an SNDU with one | |||
of a set of Security Association (SA) parameters. As a part of the | of a set of Security Association (SA) parameters. As a part of the | |||
encryption process, it may also be desirable to authenticate | encryption process, it may also be desirable to authenticate | |||
some/all of the SNDU headers. The method of encryption and the way | some/all of the SNDU headers. The method of encryption and the way | |||
in which keys are exchanged is beyond the scope of this | in which keys are exchanged is beyond the scope of this | |||
specification, as also are the definition of the SA format and that | specification, as also are the definition of the SA format and that | |||
of the related encryption keys. | of the related encryption keys. | |||
Expires November 2005 [page 30] | Expires July 2005 [page 30] | |||
11. References | 11. References | |||
11.1 Normative References | 11.1 Normative References | |||
[ISO-MPEG2] ISO/IEC IS 13818-1 "Information technology -- Generic | [ISO-MPEG2] ISO/IEC IS 13818-1 "Information technology -- Generic | |||
coding of moving pictures and associated audio information -- Part | coding of moving pictures and associated audio information -- Part | |||
1: Systems", International Standards Organisation (ISO), 2000. | 1: Systems", International Standards Organisation (ISO), 2000. | |||
[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, 1997. | |||
[RFC3667] Bradner, S., "IETF Rights in Contributions", BCP 78, RFC | ||||
3667, February 2004. | ||||
[RFC3668] Bradner, S., "Intellectual Property Rights in IETF | ||||
Technology", BCP 79, RFC 3668, February 2004. | ||||
[RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5, | [RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5, | |||
RFC 1112, August 1989. | RFC 1112, August 1989. | |||
[RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet | [RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet | |||
Networks", RFC 2464, December 1998. | Networks", RFC 2464, December 1998. | |||
11.2 Informative References | 11.2 Informative References | |||
[ID-ipdvb-ar] Fairhurst, G., M-J. Montpetit, "Address Resolution for | [ID-ipdvb-arch] "Requirements for transmission of IP datagrams over | |||
IP datagrams over MPEG-2 Networks", Internet Draft, Work in | MPEG-2 networks", Internet Draft, Work in Progress. | |||
Progress. | ||||
[ATSC] A/53, "ATSC Digital Television Standard", Advanced Television | [ATSC] A/53, "ATSC Digital Television Standard", Advanced Television | |||
Systems Committee (ATSC), Doc. A/53 Rev.C, 2004 | Systems Committee (ATSC), Doc. A/53 Rev.C, 2004 | |||
[ATSC-DAT] A/90, "ATSC Data Broadcast Standard", Advanced Television | [ATSC-DAT] A/90, "ATSC Data Broadcast Standard", Advanced Television | |||
Systems Committee (ATSC), Doc. A/090, 2000. | Systems Committee (ATSC), Doc. A/090, 2000. | |||
[ATSC-DATG] A/91, "Recommended Practice: Implementation Guidelines | [ATSC-DATG] A/91, "Recommended Practice: Implementation Guidelines | |||
for the ATSC Data Broadcast Standard", Advanced Television Systems | for the ATSC Data Broadcast Standard", Advanced Television Systems | |||
Committee (ATSC), Doc. A/91, 2001. | Committee (ATSC), Doc. A/91, 2001. | |||
[ATSC-G] A/54, "Guide to the use of the ATSC Digital Television | [ATSC-G] A/54, "Guide to the use of the ATSC Digital Television | |||
Standard", Advanced Television Systems Committee (ATSC), Doc. A/54, | Standard", Advanced Television Systems Committee (ATSC), Doc. A/54, | |||
1995. | 1995. | |||
[ATSC-PSIP-TC] A/65B Program and System Information Protocol for | [ATSC-PSIP-TC] A/65B Program and System Information Protocol for | |||
Terrestrial Broadcast and Cable", Advanced Television Systems | Terrestrial Broadcast and Cable", Advanced Television Systems | |||
Committee (ATSC), Doc. A/65B, 2003. | Committee The(ATSC), Doc. A/65B, 18 March 2003. | |||
[ATSC-S] A/80, "Modulation and Coding Requirements for Digital TV | [ATSC-S] A/80, "Modulation and Coding Requirements for Digital TV | |||
(DTV) Applications over Satellite", Advanced Television Systems | (DTV) Applications over Satellite", Advanced Television Systems | |||
Committee (ATSC), Doc. A/80, 1999. | Committee (ATSC), Doc. A/80, 1999. | |||
Expires July 2005 [page 31] | ||||
[DIX] Digital Equipment Corp, Intel Corp, Xerox Corp, "Ethernet | [DIX] Digital Equipment Corp, Intel Corp, Xerox Corp, "Ethernet | |||
Local Area Network Specification" Version 2.0, November 1982. | Local Area Network Specification" Version 2.0, November 1982. | |||
[ETSI-DAT] EN 301 192 "Specifications for Data Broadcasting", | [ETSI-DAT] EN 301 192 "Specifications for Data Broadcasting", | |||
European Telecommunications Standards Institute (ETSI), 2004. | European Telecommunications Standards Institute (ETSI). | |||
Expires November 2005 [page 31] | ||||
[ETSI-DVBC] EN 300 800 "Digital Video Broadcasting (DVB); DVB | [ETSI-DVBC] EN 300 800 "Digital Video Broadcasting (DVB); DVB | |||
interaction channel for Cable TV distribution systems (CATV)", | interaction channel for Cable TV distribution systems (CATV)", | |||
European Telecommunications Standards Institute (ETSI), 1998. | European Telecommunications Standards Institute (ETSI). | |||
[ETSI-DVBS] EN 300 421 "Digital Video Broadcasting (DVB); Modulation | [ETSI-DVBS] EN 301 421 "Digital Video Broadcasting (DVB); Modulation | |||
and Coding for DBS satellite systems at 11/12 GHz", European | and Coding for DBS satellite systems at 11/12 GHz", European | |||
Telecommunications Standards Institute (ETSI), 1997. | Telecommunications Standards Institute (ETSI). | |||
[ETSI-DVBT] EN 300 744 "Digital Video Broadcasting (DVB); Framing | [ETSI-DVBT] EN 300 744 "Digital Video Broadcasting (DVB); Framing | |||
structure, channel coding and modulation for digital terrestrial | structure, channel coding and modulation for digital terrestrial | |||
television (DVB-T)", European Telecommunications Standards Institute | television (DVB-T)", European Telecommunications Standards Institute | |||
(ETSI), 2004. | (ETSI). | |||
[ETSI-RCS] ETSI 301 790 "Digital Video Broadcasting (DVB); | [ETSI-RCS] ETSI 301 791 "Digital Video Broadcasting (DVB); | |||
Interaction Channel for Satellite Distribution Systems", European | Interaction Channel for Satellite Distribution Systems", European | |||
Telecommunications Standards Institute (ETSI), 2005. | Telecommunications Standards Institute (ETSI). | |||
[IEEE-802.2] IEEE 802.2, "Local and metropolitan area networks- | ||||
Specific requirements Part 2: Logical Link Control", IEEE Computer | ||||
Society, (also ISO/IEC 8802-2), 1998. | ||||
[IEEE-802.3] IEEE 802.3 "Local and metropolitan area networks- | [IEEE-802.3] IEEE 802.3 "Local and metropolitan area networks: | |||
Specific requirements Part 3: Carrier sense multiple access with | Specific requirements Part 3: Carrier sense multiple access with | |||
collission detection (CSMA/CD) access method and physical layer | collision detection (CSMA/CD) access method and physical layer | |||
specifications", IEEE Computer Society, (also ISO/IEC 8802-3), 2002. | specifications", IEEE Computer Society, (also ISO/IEC 8802-3). | |||
[ISO-DSMCC] ISO/IEC IS 13818-6 "Information technology -- Generic | [ISO-DSMCC] ISO/IEC IS 13818-6 "Information technology -- Generic | |||
coding of moving pictures and associated audio information -- Part | coding of moving pictures and associated audio information -- Part | |||
6: Extensions for DSM-CC", International Standards Organisation | 6: Extensions for DSM-CC", International Standards Organisation | |||
(ISO), 1998. | (ISO). | |||
[ITU-H222] H.222.0 "Information technology - Generic coding of | ||||
moving pictures and associated audio information: Systems", | ||||
International Telecommunication Union, (ITU-T), 1995. | ||||
[ITU-3563] I.363.5 "B-ISDN ATM Adaptation Layer specification: Type | ||||
5 AAL", International Telecommunication Union, (ITU-T), 1996. | ||||
[ISO-8802-2] ISO/IEC 8802.2 "Logical Link Control", International | [ISO-8802-2] ISO/IEC 8802.2 "Logical Link Control", International | |||
Standards Organisation (ISO), 1998. | Standards Organisation (ISO), 1998. | |||
[RFC3077] E. Duros, W. Dabbous, H. Izumiyama, Y. Zhang, "A Link | [RFC3077] E. Duros, W. Dabbous, H. Izumiyama, Y. Zhang, "A Link | |||
Layer Tunneling Mechanism for Unidirectional Links", RFC3077, | Layer Tunneling Mechanism for Unidirectional Links", RFC3077, | |||
Proposed Standard, 2001. | Proposed Standard, 2001. | |||
[RFC3309] Stone, J., R. Stewart, D. Otis. "Stream Control | [RFC3309] Stone, J., R. Stewart, D. Otis. "Stream Control | |||
Transmission Protocol (SCTP) Checksum Change". RFC3095, Proposed | Transmission Protocol (SCTP) Checksum Change". RFC3095, Proposed | |||
Standard, 2001. | Standard, 2001. | |||
XXX RFC Editor - please replace the next reference and all citations | Expires July 2005 [page 32] | |||
with the appropriate RFC number. The I-D referenced is currently | ||||
ahead in the RFC-ED queue. | ||||
XXX | ||||
Expires November 2005 [page 32] | ||||
[RFCXARCHX] M.J. Montpetit, H. D. Clausen, B. Collini-Nocker, H. | ||||
Linder "A Framework for transmission of IP datagrams over MPEG-2 | ||||
Networks", RFCXARCHX, 2005. | ||||
[SOOR05] M. Sooriyabandara, G. Fairhurst, A. Ang, B. Collini-Nocker, | ||||
H. Linder, W. Stering "A Lightweight Encapsulation Protocol for IP | ||||
over MPEG-2 Networks: Design, Implementation and Analysis", Computer | ||||
Networks 48 p5-19, 2005. | ||||
Expires November 2005 [page 33] | ||||
12. Authors' Addresses | 12. Authors' Addresses | |||
Godred Fairhurst | Godred Fairhurst | |||
Department of Engineering | Department of Engineering | |||
University of Aberdeen | University of Aberdeen | |||
Aberdeen, AB24 3UE | Aberdeen, AB24 3UE | |||
UK | UK | |||
Email: gorry@erg.abdn.ac.uk | Email: gorry@erg.abdn.ac.uk | |||
Web: http://www.erg.abdn.ac.uk/users/Gorry | Web: http://www.erg.abdn.ac.uk/users/Gorry | |||
Bernhard Collini-Nocker | Bernhard Collini-Nocker | |||
Department of Scientific Computing | Department of Scientific Computing | |||
University of Salzburg | University of Salzburg | |||
Jakob Haringer Str. 2 | Jakob Haringer Str. 2 | |||
5020 Salzburg | 5020 Salzburg | |||
Austria | Austria | |||
Email: bnocker@cosy.sbg.ac.at | Email: bnocker@cosy.sbg.ac.at | |||
Web: http://www.scicomp.sbg.ac.at/ | Web: http://www.scicomp.sbg.ac.at/ | |||
Expires November 2005 [page 34] | Expires July 2005 [page 33] | |||
13. IPR Notices | 13. IPR Notices | |||
13.1 Intellectual Property Statement | 13.1 Intellectual Property Statement | |||
The IETF takes no position regarding the validity or scope of any | The IETF takes no position regarding the validity or scope of any | |||
Intellectual Property Rights or other rights that might be claimed | Intellectual Property Rights or other rights that might be claimed | |||
to pertain to the implementation or use of the technology described | to pertain to the implementation or use of the technology described | |||
in this document or the extent to which any license under such | in this document or the extent to which any license under such | |||
rights might or might not be available; nor does it represent that | rights might or might not be available; nor does it represent that | |||
it has made any independent effort to identify any such rights. | it has made any independent effort to identify any such rights. | |||
skipping to change at line 1578 | skipping to change at line 1532 | |||
This document and the information contained herein are provided on | This document and the information contained herein are provided on | |||
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE | an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE | |||
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE | REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE | |||
INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR | INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR | |||
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | |||
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | |||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | |||
14. Copyright Statement | 14. Copyright Statement | |||
Copyright (C) The Internet Society (2005). | Copyright (C) The Internet Society (2004). This document is | |||
subject to the rights, licenses and restrictions contained in | ||||
This document is subject to the rights, licenses and restrictions | BCP 78, and except as set forth therein, the authors retain all | |||
contained in BCP 78, and except as set forth therein, the authors | their rights. | |||
retain all their rights. | ||||
Expires November 2005 [page 35] | ||||
Expires July 2005 [page 34] | ||||
15. IANA Considerations | 15. IANA Considerations | |||
This document will require IANA involvement. The ULE Next-Header | This document will require IANA involvement. | |||
type field defined in this document requires creation of a registry: | ||||
The ULE Next-Header type field defined in this document requires | ||||
creation of a registry: | ||||
ULE Next-Header registry | ULE Next-Header registry | |||
This registry allocates Next-Header values within the range 0-511 | This registry allocates values 0-511 (decimal). | |||
(decimal). For each allocated value, it also specifies the set of | ||||
allowed H-LEN values (see section 5). In combination, these define a | ||||
set of allowed values in the range 0-1535 for the first part of the | ||||
ULE Type space (see section 4.1). | ||||
15.1 IANA Guidelines | 15.1 IANA Guidelines | |||
The following contains the IANA guidelines for management of the ULE | The following contains the IANA guidelines for management of the ULE | |||
Next-Header registry. This registry allocates values 0-511 decimal | Next-Header registry. This registry allocates values 0-511 decimal | |||
(0x0000-0x01FF, hexadecimal). It MUST NOT allocate values greater | (0x0000-0x01FF, hexadecimal). It MUST NOT allocate values greater | |||
than 0x01FF (decimal). | than 0x01FF (decimal). | |||
It subdivides the Next-Header registry in the following way: | It subdivides the Next-Header registry in the following way: | |||
1) 0-255 (decimal) IANA assigned values, indicating Mandatory | 1) 0-255 (decimal) IANA assigned values indicating Mandatory | |||
Extension Headers (or link-dependent type fields) for ULE, | Extension Headers (or link-dependent type fields) for ULE, | |||
requiring expert review leading to prior issue of an IETF RFC. | requiring expert review leading to prior issue of an IETF RFC. | |||
This specification MUST define the value, and the name associated | This specification MUST define the value, and the name associated | |||
with the Extension Header, together with the procedure for | with the Extension Header, together with the procedure for | |||
processing the Extension Header. It MUST also define the need for | processing the Extension Header. It MUST also define the need for | |||
the Mandatory Extension and the intended use. The size of the | the extension and the intended use. The total size of the | |||
Extension Header MUST be specified. | Extension Header MUST be specified. | |||
Assignments made in this document: | Assignments made in this document: | |||
Type Name Reference | Type Name Reference | |||
0: Test-SNDU Section 4.7.4. | 0: Test-SNDU Section 4.7.4. | |||
1: Bridged-SNDU Section 4.7.5. | 1: Bridged-SNDU Section 4.7.5. | |||
2) 256-511 (decimal) IANA assigned values, indicating Optional | 2) 256-511 (decimal) IANA assigned values indicating Optional | |||
Extension Headers for ULE, requiring expert review leading to | Extension Headers for ULE, requiring expert review leading to | |||
prior issue of an IETF RFC. This specification MUST define the | prior issue of an IETF RFC. This specification MUST define the | |||
value, and the name associated with the Extension Header, together | value, and the name associated with the Extension Header, together | |||
with the procedure for processing the Extension Header. The entry | with the procedure for processing the Extension Header. The entry | |||
MUST specify the range of allowable H-LEN values that are | MUST specify range of allowable H-LEN values that are permitted | |||
permitted (in the range 1-5). It MUST also define the need for the | (in the range 1-5). It MUST also define the need for the extension | |||
Optional Extension and the intended use. | and the intended use. | |||
Assignments made in this document: | Assignments made in this document: | |||
Type Name H-LEN Reference | Type Name H-LEN Reference | |||
256: Extension-Padding 1-5 Section 5. | 256: Extension-Padding 1-5 Section 5. | |||
Expires November 2005 [page 36] | Expires July 2005 [page 35] | |||
ANNEX A: Informative Appendix - SNDU Packing Examples | ANNEX A: Informative Appendix - SNDU Packing Examples | |||
This appendix provides some examples of use. The appendix is | This appendix provides some examples of use. The appendix is | |||
informative. It does not provide a description of the protocol. The | informative. It does not provide a description of the protocol. The | |||
examples provide the complete TS Packet sequence for some sample | examples provide the complete TS Packet sequence for some sample | |||
encapsulated IP packets. | encapsulated IP packets. | |||
The specification of the TS Packet header operation and field values | The specification of the TS Packet header operation and field values | |||
is provided in [ISO-MPEG2]. The specification of ULE is provided in | is provided in [ISO-MPEG2]. The specification of ULE is provided in | |||
skipping to change at line 1688 | skipping to change at line 1638 | |||
PUSI=1 * * | PUSI=1 * * | |||
************************* | ************************* | |||
End Stuffing | End Stuffing | |||
CRC for A Indicator Bytes | CRC for A Indicator Bytes | |||
+-----+------+- -+------+----+----+- -+----+ | +-----+------+- -+------+----+----+- -+----+ | |||
| HDR | B166 | ... | B199 |0xFF|0xFF| ... |0xFF| | | HDR | B166 | ... | B199 |0xFF|0xFF| ... |0xFF| | |||
+-----+------+- -+------+----+----+- -+----+ | +-----+------+- -+------+----+----+- -+----+ | |||
PUSI=0 | PUSI=0 | |||
Expires November 2005 [page 37] | Expires July 2005 [page 36] | |||
Example A.2: Usage of last byte in a TS-Packet | Example A.2: Usage of last byte in a TS-Packet | |||
SNDU A is 183 bytes | SNDU A is 183 bytes | |||
SNDU B is 182 bytes | SNDU B is 182 bytes | |||
SNDU C is 181 bytes | SNDU C is 181 bytes | |||
SNDU D is 185 bytes | SNDU D is 185 bytes | |||
The sequence comprises 4 TS Packets: | The sequence comprises 4 TS Packets: | |||
SNDU | SNDU | |||
skipping to change at line 1725 | skipping to change at line 1675 | |||
| HDR | 0x00 | 0x00 | 0x61 | ... | C180 | 0x00 | 0x65 | | | HDR | 0x00 | 0x00 | 0x61 | ... | C180 | 0x00 | 0x65 | | |||
+-----+---*--+-*----+------+- -+------+------+------+ | +-----+---*--+-*----+------+- -+------+------+------+ | |||
PUSI=1 * * | PUSI=1 * * | |||
****** Unused | ****** Unused | |||
byte | byte | |||
+-----+------+- -+------+------+ | +-----+------+- -+------+------+ | |||
| HDR | D002 | ... | D184 | 0xFF | | | HDR | D002 | ... | D184 | 0xFF | | |||
+-----+------+- -+------+------+ | +-----+------+- -+------+------+ | |||
PUSI=0 | PUSI=0 | |||
Expires November 2005 [page 38] | Expires July 2005 [page 37] | |||
Example A.3: Large SNDUs | Example A.3: Large SNDUs | |||
SNDU A is 732 bytes | SNDU A is 732 bytes | |||
SNDU B is 284 bytes | SNDU B is 284 bytes | |||
The sequence comprises 6 TS Packets: | The sequence comprises 6 TS Packets: | |||
SNDU | SNDU | |||
PP=0 Length | PP=0 Length | |||
+-----+------+------+------+- -+------+ | +-----+------+------+------+- -+------+ | |||
skipping to change at line 1771 | skipping to change at line 1721 | |||
+-----+------+- -+------+ | +-----+------+- -+------+ | |||
PUSI=0 | PUSI=0 | |||
End Stuffing | End Stuffing | |||
Indicator Bytes | Indicator Bytes | |||
+-----+------+- -+------+------+------+- -+------+ | +-----+------+- -+------+------+------+- -+------+ | |||
| HDR | B186 | ... | B283 | 0xFF | 0xFF | ... | 0xFF | | | HDR | B186 | ... | B283 | 0xFF | 0xFF | ... | 0xFF | | |||
+-----+------+- -+------+------+------+- -+------+ | +-----+------+- -+------+------+------+- -+------+ | |||
PUSI=0 | PUSI=0 | |||
Expires November 2005 [page 39] | Expires July 2005 [page 38] | |||
Example A.4: Packing of SNDUs | Example A.4: Packing of SNDUs | |||
SNDU A is 200 bytes | SNDU A is 200 bytes | |||
SNDU B is 60 bytes | SNDU B is 60 bytes | |||
SNDU C is 60 bytes | SNDU C is 60 bytes | |||
The sequence comprises two TS Packets: | The sequence comprises two TS Packets: | |||
SNDU | SNDU | |||
PP=0 Length | PP=0 Length | |||
skipping to change at line 1812 | skipping to change at line 1762 | |||
+ ... | B59 | 0x00 | 0x38 |...| C59 | 0xFF | 0xFF |...| 0xFF | | + ... | B59 | 0x00 | 0x38 |...| C59 | 0xFF | 0xFF |...| 0xFF | | |||
+ -+------+-+----+------+ -+------+-+----+------+- -+------+ | + -+------+-+----+------+ -+------+-+----+------+- -+------+ | |||
+ + + + + | + + + + + | |||
+ + ++++++++ + | + + ++++++++ + | |||
+ + + + | + + + + | |||
++++++++++++++++ ++++++++++++++++++++++ | ++++++++++++++++ ++++++++++++++++++++++ | |||
*** TS Packet Payload Pointer (PP) | *** TS Packet Payload Pointer (PP) | |||
+++ ULE Length Indicator | +++ ULE Length Indicator | |||
Expires November 2005 [page 40] | Expires July 2005 [page 39] | |||
Example A.5: Three 44B PDUs. | Example A.5: Three 44B PDUs. | |||
SNDU A is 52 bytes (no ULE destination NPA address) | SNDU A is 52 bytes (no ULE destination NPA address) | |||
SNDU B is 52 bytes (no ULE destination NPA address) | SNDU B is 52 bytes (no ULE destination NPA address) | |||
SNDU C is 52 bytes (no ULE destination NPA address) | SNDU C is 52 bytes (no ULE destination NPA address) | |||
The sequence comprises 1 TS Packet: | The sequence comprises 1 TS Packet: | |||
SNDU | SNDU | |||
PP=0 Length | PP=0 Length | |||
skipping to change at line 1835 | skipping to change at line 1785 | |||
+-----+----*-+-*----+------+- -+-----+-*----+-----+- -+-----+- | +-----+----*-+-*----+------+- -+-----+-*----+-----+- -+-----+- | |||
PUSI=1 * * | PUSI=1 * * | |||
***** | ***** | |||
End Stuffing | End Stuffing | |||
Indicator bytes | Indicator bytes | |||
-----+------+- -+-----+---------+- -+------+ | -----+------+- -+-----+---------+- -+------+ | |||
... 0x80 | 0x34 | ... | C51 |0xFF|0xFF| | 0xFF | | ... 0x80 | 0x34 | ... | C51 |0xFF|0xFF| | 0xFF | | |||
-*---+------+- -+-----+---------+- -+------+ | -*---+------+- -+-----+---------+- -+------+ | |||
Expires November 2005 [page 41] | Expires July 2005 [page 40] | |||
ANNEX B: Informative Appendix - SNDU Encapsulation | ANNEX B: Informative Appendix - SNDU Encapsulation | |||
An example of ULE encapsulation carrying an ICMPv6 packet generated | An example of ULE encapsulation carrying an ICMPv6 packet generated | |||
by ping6. | by ping6. | |||
ULE SNDU Length : 63 decimal | ULE SNDU Length : 63 decimal | |||
D-bit value : 0 (NPA destination address present) | D-bit value : 0 (NPA destination address present) | |||
ULE Protocol Type : 0x86dd (IPv6) | ULE Protocol Type : 0x86dd (IPv6) | |||
Destination ULE NPA Address : 00:01:02:03:04:05 | Destination ULE NPA Address : 00:01:02:03:04:05 | |||
ULE CRC32 : 0x7c171763 | ULE CRC32 : 0x4709a744 | |||
Source IPv6 : 2001:DB8:3008:1965::1 | Source IPv6: 2001:660:3008:1789::5 | |||
Destination IPv6 : 2001:DB8:2509:1962::2 | Destination IPv6: 2001:660:3008:1789::6 | |||
SNDU contents (including CRC-32): | SNDU contents (including CRC-32): | |||
0000: 00 3f 86 dd 00 01 02 03 04 05 60 00 00 00 00 0d | 0000: 00 3f 86 dd 00 01 02 03 04 05 60 00 00 00 00 0d | |||
0016: 3a 40 20 01 0d b8 30 08 19 65 00 00 00 00 00 00 | 0016: 3a 40 20 01 06 60 30 08 17 89 00 00 00 00 00 00 | |||
0032: 00 01 20 01 0d b8 25 09 19 62 00 00 00 00 00 00 | 0032: 00 05 20 01 06 60 30 08 17 89 00 00 00 00 00 00 | |||
0048: 00 02 80 00 9d 8c 06 38 00 04 00 00 00 00 00 7c | 0048: 00 06 80 00 9d 8c 06 38 00 04 00 00 00 00 00 47 | |||
0064: 17 17 63 | 0064: 09 a7 44 | |||
Expires November 2005 [page 42] | Expires July 2005 [page 41] | |||
[RFC EDITOR NOTE: | [RFC EDITOR NOTE: | |||
This section must be deleted prior to publication] | This section must be deleted prior to publication] | |||
DOCUMENT HISTORY | DOCUMENT HISTORY | |||
Draft 00 | Draft 00 | |||
This draft is intended as a study item for proposed future work by | This draft is intended as a study item for proposed future work by | |||
the IETF in this area. Comments relating to this document will be | the IETF in this area. Comments relating to this document will be | |||
gratefully received by the author(s) and the ip-dvb mailing list at: | gratefully received by the author(s) and the ip-dvb mailing list at: | |||
skipping to change at line 1906 | skipping to change at line 1856 | |||
* Type field split into two. | * Type field split into two. | |||
* References updated. | * References updated. | |||
* Security considerations added (first draft). | * Security considerations added (first draft). | |||
* Appendix added with examples. | * Appendix added with examples. | |||
-------------------------------------------------------------------- | -------------------------------------------------------------------- | |||
Expires November 2005 [page 43] | Expires July 2005 [page 42] | |||
DRAFT - 02 (Improvement of clarity) | DRAFT - 02 (Improvement of clarity) | |||
* Corrected CRC-32 to follow standard practice in DSM-CC. | * Corrected CRC-32 to follow standard practice in DSM-CC. | |||
* Removed LLC frame type, now redundant by Bridge-Type (==1) | * Removed LLC frame type, now redundant by Bridge-Type (==1) | |||
* Defined D-bit to use the reserved bit field (R ) - Gorry, Alain, | * Defined D-bit to use the reserved bit field (R ) - Gorry, Alain, | |||
Bernhard | Bernhard | |||
* Changes to description of minimum payload length. Gorry | * Changes to description of minimum payload length. Gorry | |||
skipping to change at line 1957 | skipping to change at line 1907 | |||
sections, since this is not a concern for deployment: Length field | sections, since this is not a concern for deployment: Length field | |||
usage and padding initialisation. | usage and padding initialisation. | |||
* Changed wording: All multi-byte values in ULE (including Length, | * Changed wording: All multi-byte values in ULE (including Length, | |||
Type, and Destination fields) are transmitted in network byte order | Type, and Destination fields) are transmitted in network byte order | |||
(most significant byte first). old NiT from Alain, now fixed. | (most significant byte first). old NiT from Alain, now fixed. | |||
* Frame byte size in diagrams now updated to -standard- format, and | * Frame byte size in diagrams now updated to -standard- format, and | |||
D bit action corrected, as requested by Alain. | D bit action corrected, as requested by Alain. | |||
Expires November 2005 [page 44] | Expires July 2005 [page 43] | |||
* Frame format diagrams, redrawn to 32-bit format below: | * Frame format diagrams, redrawn to 32-bit format below: | |||
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 | |||
* Additional diagram requested by Alain for D=0 bridging (added, and | * Additional diagram requested by Alain for D=0 bridging (added, and | |||
subsequent figures renumbered). | subsequent figures renumbered). | |||
* Diagrams of encapsulation process, redrawn for clarity (no change | * Diagrams of encapsulation process, redrawn for clarity (no change | |||
to meaning). Gorry. | to meaning). Gorry. | |||
skipping to change at line 2007 | skipping to change at line 1957 | |||
* Revised CC processing at Encapsulator (B C-N/GF/A.Allison) | * Revised CC processing at Encapsulator (B C-N/GF/A.Allison) | |||
* Revised CC processing at Receiver (from List: A.Allison; et al ) | * Revised CC processing at Receiver (from List: A.Allison; et al ) | |||
* Corrections to length/PP field in Examples (M Sooriyabandara, | * Corrections to length/PP field in Examples (M Sooriyabandara, | |||
Alain) | Alain) | |||
* Corrections to pointer in Example 3 SNDU C (M Jose-Montpetit) | * Corrections to pointer in Example 3 SNDU C (M Jose-Montpetit) | |||
* Section 4.5 only SHARED routed links require D=0 | * Section 4.5 only SHARED routed links require D=0 | |||
* Packing Threshold defined | * Packing Threshold defined | |||
* Next-Layer-Header defined (Now called Next-Header) | * Next-Layer-Header defined (Now called Next-Header) | |||
* Addition of Appendix B (to aide verification of SNDFU format) | * Addition of Appendix B (to aide verification of SNDFU format) | |||
Expires November 2005 [page 45] | Expires July 2005 [page 44] | |||
Working Group ID rev 01 | Working Group ID rev 01 | |||
Issues addressed: | Issues addressed: | |||
* Typographical | * Typographical | |||
* Types > 1500 should be passed to the next higher protocol (Hilmar) | * Types > 1500 should be passed to the next higher protocol (Hilmar) | |||
* The second part of the Type space corresponds to the values 1500 | * The second part of the Type space corresponds to the values 1500 | |||
COMMENT: ~Range should be 1536 Decimal Decimal to 0xFFFF. | COMMENT: ~Range should be 1536 Decimal Decimal to 0xFFFF. | |||
* IANA has already defined IP and IPv6 types - corrected text! | * IANA has already defined IP and IPv6 types - corrected text! | |||
Added more security considerations (-01d). | Added more security considerations (-01d). | |||
* Should we allow an Adaptation Field within ULE (request for DVB- | * Should we allow an Adaptation Field within ULE (request for DVB- | |||
skipping to change at line 2041 | skipping to change at line 1991 | |||
Revised IPR disclosure | Revised IPR disclosure | |||
Revised copyright notice | Revised copyright notice | |||
Section 5 added to ULE to define optional Extension Headers (see | Section 5 added to ULE to define optional Extension Headers (see | |||
xule) | xule) | |||
Correction of figure numbering. | Correction of figure numbering. | |||
Correction to capitalisation in Transport Stream definition of fields | Correction to capitalisation in Transport Stream definition of fields | |||
Inserted space character after 1536 in line 2 of 4.4.2 | Inserted space character after 1536 in line 2 of 4.4.2 | |||
Replaced } with ] after ISO-DSMCC | Replaced } with ] after ISO_DSMCC | |||
Replace reference to section 6.3 with section 7.3 at end of section | Replace reference to section 6.3 with section 7.3 at end of section | |||
4.6. | 4.6. | |||
Reference in 4.7.4 was changed to refer to figure 7 (not 6). | Reference in 4.7.4 was changed to refer to figure 7 (not 6). | |||
Note added after figure 9. | Note added after figure 9. | |||
Expires November 2005 [page 46] | Expires July 2005 [page 45] | |||
Working Group ID rev 03 | Working Group ID rev 03 | |||
Changes with this revision of the document: | Changes with this revision of the document: | |||
(i) The worked hexadecimal example in the annexe was reworked to | (i) The worked hexadecimal example in the annexe was reworked to | |||
include a valid MAC address for an IPv6 unicast packet. - | include a valid MAC address for an IPv6 unicast packet. - | |||
(BCN) | (BCN) | |||
(ii) The IANA procedures revised, based on inputs from IANA to | (ii) The IANA procedures revised, based on inputs from IANA to | |||
improve consistency of the term Next-Header and to add the | improve consistency of the term Next-Header and to add the | |||
skipping to change at line 2101 | skipping to change at line 2051 | |||
(vii) Clarification of placement of NPA address with extension | (vii) Clarification of placement of NPA address with extension | |||
headers. | headers. | |||
Issues address in rev-05: | Issues address in rev-05: | |||
These revisions were made following a second WGLC and invited cross- | These revisions were made following a second WGLC and invited cross- | |||
area IETF review of the Spec. | area IETF review of the Spec. | |||
NiTS corrected: | NiTS corrected: | |||
Expires November 2005 [page 47] | Expires July 2005 [page 46] | |||
Abstract shortened. | Abstract shortened. | |||
Added separate references to Ethernet v2; LLC; and 802.3 | Added separate references to Ethernet v2; LLC; and 802.3 | |||
Added RFC2119 Boilerplate for definitions of capitilised words. | Added RFC2119 Boilerplate for definitions of capitilised words. | |||
Corrected English and 63 typos | Corrected English and 63 typos | |||
Specified explicitly that Test & Bridge Extension Headers must be | Specified explicitly that Test & Bridge Extension Headers must be | |||
the last in the extension chain (no other headers may follow) | the last in the extension chain (no other headers may follow) | |||
7.1.1. para 1 - changed PP processing description to specify where | 7.1.1. para 1 - changed PP processing description to specify where | |||
to count the number of bytes that were pointed to | to count the number of bytes that were pointed to | |||
Corrected the range 0-512 in the IANA Guidelines (should be 0-511). | Corrected the range 0-512 in the IANA Guidelines (should be 0-511). | |||
Fixed NPA to consistently refer to the ULE destination address. | Fixed NPA to consistently refer to the ULE destination address. | |||
Specific Issues: | Specific Issues: | |||
1) The reviewer suggested the title was confusing. A proposed new | 1) The reviewer suggested the title was confusing. A proposed new | |||
Title is: | Title is: | |||
Ultra Lightweight Encapsulation (ULE) for transmission of | Ultra Lightweight Encapsulation (ULE) for transmission of | |||
IP datagrams over an MPEG-2 Transport Stream | IP datagrams over an MPEG-2 Transport Stream | |||
2) The reviewer suggested that the name of the D field was changed, | 2) The reviewer suggested that the name of the D field was changed, | |||
to make the meaning more obvious. The new name is Destination | to make the meaning more obvious. The new name is Destination | |||
Address Absent field, rather than the Destination Address Present | Address Absent field, rather than the Destination Address | |||
field. The semantics of the D-bit do not change. | Present field. The semantics of the D-bit do not change. | |||
3) The reviewer asked for a description of how to send an LLC frame | 3) The reviewer asked for a description of how to send an LLC frame | |||
- in Section 4. This was added to the section on bridging. | - in Section 4. This was added to the section on bridging. | |||
4) The reviewer mentioned that we had NOT defined the values needed | 4) The reviewer mentioned that we had NOT defined the values needed | |||
for mapping addresses... I'm not sure this was an over-sight, but | for mapping addresses... I'm not sure this was an over-sight, but | |||
This was an oversight, the new text was added to the end of the | This was an oversight, the new text was added to the end of the | |||
description in section 4.5. Also added references to [RFC1112] | description in section 4.5. Also added references to [RFC1112] | |||
[RFC2464]. | [RFC2464]. | |||
skipping to change at line 2154 | skipping to change at line 2104 | |||
completion of the Current SNDU, the Receiver accepts the next 2 | completion of the Current SNDU, the Receiver accepts the next 2 | |||
bytes and examines if this is an End Indicator. When an End | bytes and examines if this is an End Indicator. When an End | |||
Indicator is received, a Receiver MUST silently discard the | Indicator is received, a Receiver MUST silently discard the | |||
remainder of the TS Packet payload and transition to the Idle State. | remainder of the TS Packet payload and transition to the Idle State. | |||
Otherwise this is the start of the next Packed SNDU and the Receiver | Otherwise this is the start of the next Packed SNDU and the Receiver | |||
continues by processing this SNDU (provided that the TS Packet has a | continues by processing this SNDU (provided that the TS Packet has a | |||
PUSI value of 1, see 7.2.1, otherwise the Receiver has detected a | PUSI value of 1, see 7.2.1, otherwise the Receiver has detected a | |||
delimiting error and MUST discard all remaining bytes in the TS | delimiting error and MUST discard all remaining bytes in the TS | |||
Packet payload and transitions to the Idle State). | Packet payload and transitions to the Idle State). | |||
Expires November 2005 [page 48] | Expires July 2005 [page 47] | |||
8) Revised IANA procedures to REQUIRE a definition of the PROCEDURE | 8) Revised IANA procedures to REQUIRE a definition of the PROCEDURE | |||
when defining an extension header. | when defining an extension header. | |||
IESG Review Rev -06. | ||||
This rev was generated in response to issues raised during AD and | ||||
IESG review. The changes provide clarifications and corrections, but | ||||
do not modify the protocol behaviour. | ||||
Comments from Brian Carpenter; Margaret Wasserman; GenART review. | ||||
Figure 2 was also updated to reflect 16 bit alignment of the first | ||||
word. | ||||
In this review a change to the title was proposed by the IESG and was | ||||
accepted by the authors: | ||||
Ultra Lightweight Encapsulation (ULE) | ||||
-> Unidirectional Lightweight Encapsulation (ULE) | ||||
[END of RFC EDITOR NOTE] | [END of RFC EDITOR NOTE] | |||
Expires November 2005 [page 49] | Expires July 2005 [page 48] | |||
End of changes. | ||||
This html diff was produced by rfcdiff 1.24, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |