Internet Engineering Task Force Horst D. Clausen Internet Draft Bernhard Collini-Nocker Document: draft-clausen-ipdvb-enc-01.txt Hilmar Linder University of Salzburg, A Gorry Fairhurst University of Aberdeen, U.K. Category: Draft May 2003 Simple Encapsulation for transmission of IP datagrams over MPEG-2/DVB networks Status of this Draft This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Document history 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 gratefully received by the authors and the ip-dvb mailing list at: ip-dvb@erg.abdn.ac.uk Abstract This document contains the Simple Encapsulation, a simple and lean encapsulation mechanism for the transport of IP Datagrams over ISO MPEG-2 Transport Streams (TS). The MPEG-2 TS has been widely accepted not only for providing digital TV services, but also as a subnetwork technology for building IP networks. One example is the Digital Video Broadcast (DVB), specified by standards published by the European Telecommunications Standards Institute (ETSI). Expires December 2003 [page 1] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 Table of Contents 1. Introduction 2. Conventions used in this document 3. Description of method 4. SNDU Format 4.1 Bridged Payload 4.2 IPv4 Encapsulation 4.3 Ipv6 5. Processing at the Encapsulator and Receiver 5.1 Encapsulator processing 5.2 Flushing the bitstream 5.3 Receiver Processing 6. Summary 7. Acknowledgments 8. Security Considerations 9. References 10. Authors' Addresses 11. IANA Considerations Expires December 2003 [page 2] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 1. Introduction This document describes an encapsulation for transport of IP datagrams or other network layer packets over ISO MPEG-2 Transport Streams [ISO-MPEG]. This is suited to services based on MPEG-2, for example the Digital Video Broadcast (DVB) architecture, the Advanced Television Systems Committee (ATSC) system [ATSC; ATSC-G], and other similar MPEG-2 based transmission systems. Such systems typically provide unidirectional (simplex) physical and link layer standards, and have 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]). The service provided by a MPEG-2 transport multiplex offers a number of parallel channels, which correspond to logical links (forming the MPEG Transport Stream (TS)). Each MPEG-2 TS channel is uniquely identified by the Packet ID (PID) value carried in the header of fixed length MPEG-2 TS Packets. The PID value is a 13 bit field and, thus, the number of channels is limited to 8192, some of which are reserved for transmission of SI tables. Non-reserved TS logical channels may be use to carry audio [ISO-AUD], video [ISO-VID], IP datagrams [ISO-DSMCC;ETSI-DAT;ATSC-DAT], or other private data [ISO- DSMCC;ETSI-DAT; ATSC-DAT]. Data for transmission over the MPEG-2 transport multiplex is passed to an encapsulator that typically receives PDUs (Ethernet Frames, IP datagrams or other network layer packets). It formats each PDU into a series of TS Packets (usually after adding an encapsulation header), which is sent over a TS logical channel. In a simple example, one or more TS logical channels are processed by a MPEG-2 multiplexor resulting in a TS Multiplex. In more complex examples, the same TS logical channel may be fed to multiple MPEG-2 multiplexors and these may, in turn, feed other MPEG-2 multiplexors (remultiplexing). In all cases, the final result is a "TS Multiplex" which is transmitted over the physical bearer towards the receiver. Expires December 2003 [page 3] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 2. Conventions used in this document ADAPTATION FIELD: An optional variable-length extension field of the fixed-length TS Packet header, intended to convey clock references and timing and synchronization information as well as stuffing over an MPEG-2 multiplex [ISO-MPEG]. AFC: Adaptation Field Control. ATSC: Advanced Television Systems Committee [ATSC]. A set of framework and associated standards for the transmission of video, audio, and data, using the ISO MPEG-2 standard. CA: DVB Conditional Access encryption and key management scheme. DSM-CC: Digital Storage Management Command and Control [ISO-DSMCC]. A formatting defined by the ISO MPEG-2 standard, which is carried in an MPEG-2 private section. DVB: Digital Video Broadcast [ETSI-DVB]. A set of framework and associated standards for the transmission of video, audio, and data, using the ISO MPEG-2 standard. ENCAPSULATOR: A network device which receives PDUs (Ethernet frames or IP datagrams) and formats these for output as a transport stream of TS Packets. FORWARD DIRECTION: The dominant direction of data transfer over a network path. Data transfer in the forward direction is called "forward transfer". Packets travelling in the forward direction follow the forward path through the IP network. MAC: Medium Access and Control of the Ethernet IEEE 802 standard of protocols. MPE: Multiprotocol Encapsulation [ETSI-DAT]. A scheme that encapsulates Ethernet frames or IP Datagrams, creating a DSM-CC Section. The Section will be sent in a series of TS Packets over a TS logical channel. MPEG-2: A set of standards specified by the Motion Picture Experts Group (MPEG), and standardized by the International Standards Organisation (ISO) [ISO-MPEG]. PES: Programme Elementary Scheme of MPEG-2 [ISO-MPEG]. PID: Packet Identifier. A field carried in the header of all MPEG-2 Transport Stream packets. This is used to identify the TS logical channel to which it belongs [ISO-MPEG]. PUSI: Payload_Unit_Start_Indicator of MPEG-2 [ISO-MPEG]. A PUSI value of zero indicates that the TS Packet does not carry the start Expires December 2003 [page 4] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 of a new payload. In this document, a PUSI value of one indicates that the TS Packet does carry the start of a new payload. REVERSE DIRECTION: The direction in which feedback control messages generally flow (e.g. acknowledgments of a forward TCP transfer flow). Data transfer could also happen in this direction (and it is termed "reverse transfer"). PRIVATE SECTION: a syntactic structure used for mapping all service information (e.g. an SI table) into TS Packets. A table may be divided into a number of sections. All sections of a table must be carried over a single TS logical channel. SI TABLE: Service Information Table. In this document, the term is used to describe any table used to convey information about the service carried in a TS Multiplex (e.g. [ISO-MPEG]). SI tables are carried in MPEG-2 private sections. SNDU: Subnetwork Data Unit, an IPv4 or IPv6 datagram (or other subnetwork packet, e.g., an arp message or bridged Ethernet frame). TS: Transport Stream [ISO-MPEG], a method of transmission at the MPEG-2 level using TS Packets; it represents level 2 of the ISO/OSI reference model. See also TS logical channel and TS Multiplex. TS LOGICAL CHANNEL: a channel identified at the MPEG-2 level; it represents level 2 of the ISO/OSI reference model. All packets sent over a channel carry the same PID value TS MULTIPLEX: A set of MPEG-2 transport stream channels sent over a single common physical link (i.e. a transmission at a specified symbol rate, FEC setting, and transmission frequency). TS PACKET: A fixed-length 188B unit of data sent over an MPEG-2 multiplex [ISO-MPEG]; it corresponds to the cells, of e.g. ATM networks, and is frequently also referred to as a TS_cell. Each TS Packet carries a 4B header, plus optional overhead including an adaptation field, encryption details and time stamp information to synchronise a set of Transport Streams. Expires December 2003 [page 5] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 3. Description of method Routed IP packets and bridged Ethernet frames shall be encapsulated to form a Subnetwork Data Unit (SNDU). The method encapsulates IP packets, Ethernet frames or packets from other network protocols within a SNDU. The SNDU transmitted over an MPEG-2 transmission system, by placing it in the payload of a single TS Packet, or, if required, the SNDU may be fragmented into a series of TS Packets. Where there is sufficient space, the method allows a single TS Packet to carry more than one SNDU (or part there of). All packets from a SNDU shall be assigned the same PID, and shall therefore form a part of the same logical TS channel. The method relies upon use of two fields present in the 4 byte header of each TS Packet. The use of these values is intended to be compatible with their use for video, audio, and other streams as specified by MPEG-2 [ISO-MPEG]. The header of each TS Packet carries a one bit Payload Unit Start Indicator (PUSI) field whose semantics is defined for PES and PSI packets; for private data its use is not defined in the MPEG-2 standard [The meaning of this bit for Transport Stream packets carrying only private data is not defined in this Specification]. In analogy with the use for PES and Section packets this bit is used to identify the start of a payload unit within the MPEG-2 TS Packet Payload. Hence, when used with this encapsulation, the following PUSI values are defined: 0 - the TS Packet does not contain the start of a SNDU but the continuation or end of a SNDU; 1 - the TS Packet contains the start of a SNDU. The TS Packet Header also carries a two bit Adaptation Field Control (AFC) value. The values of these two bits (adaptation field present and data present) are defined by the standard 13818-1 as follows: 00 - Reserved for future use by ISO/IEC 01 - No adaptation_field, payload only 10 - Adaptation_field only, no payload 11 - Adaptation_field followed by payload The usage of the adaptation field is being specified and supported both by PES and Section encapsulation. It maintains a 4-byte alignment of the MPEG-2 TS Packet Payload. SNDUs can be encapsulated both in PES private streams, private Sections, and TS private streams with the same semantics. Expires December 2003 [page 6] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 Standard decoders shall discard TS Packets with the adaptation_field_control field set to a value of '00'; in the case of a null packet the value of the adaptation_field_control shall be set to '01'. The purpose of the adaptation field is primarily to carry timing and synchronisation information and occasionally to include stuffing bytes. For the sender, the AFC MUST be assigned in the following way: 00 - Reserved for future use 01 - No adaptation field - only SNDU data is contained in the payload field of the TS Packet 10 - Adaptation field only - currently not used for carrying SNDU data 11 - Adaptation field followed by payload - the TS Packet contains an adaptation field followed by SNDU data 00, and 10, MUST NOT be used for transport of an encapsulated SNDU. The combinations 01 and 11 are obviously available for carrying SNDU data, the 10 pattern indicates an extended adaptation field, but for private data it is not specified how this field might be used. Hence the pattern 10 might be used in the future for carrying differently encapsulated datagrams. The 11 pattern is used to signal the start of an SNDU that does not directly start after the Transport Stream header. In TS private streams, one could define the use of PUSI, AFC, and adaptation field as appropriate. Such an encapsulation method differs from that described here, since it is then limited to TS private streams only. Expires December 2003 [page 7] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 4. SNDU Format The encapsulation format to be used for IP packets and bridged Ethernet frames is shown below: +---------------------------------------------------+--------+ | length | type | SNDU field | CRC-32 | +---------------------------------------------------+--------+ Figure 1: SNDU Encapsulation Note that the SNDU field might include a Òlabel‚ or some other form of discriminator field, which in combination with the PID value, could be interpreted as a ÒLink-Level address‚. Length Field A 16-bit value indicates the length in bytes of the SNDU (encapsulated Ethernet frame, IP datagram or other packet) counted from the byte following the type field up to and including the CRC. The special value 0x0000 indicates that there are no further SNDUs within the current TS packet (see section 5.1). The maximum value is 65531 bytes. Type Field The 16-bit type field indicates the type of payload being sent. Three types are suggested in this document. These are: 0x0800 : IPv4 Payload (according to IANA EtherTypes) 0x86DD : IPv6 Payload (according to IANA EtherTypes) 0x8847 : MPLS frame (according to IANA EtherTypes) 0x????: ROHC Compressed IPv4 Packet 0x????: ROHC Compressed IPv6 Packet 0x6558: Bridged Ethernet Frame (i.e. MAC header follows) All other assignments should be coordinated with the values defined for IANA EtherTypes encapsulations. [AuthorsÌ note: suitable values for bridged Ethernet Frames to be determined; suitable values for ROHC types to be determined] IPv4 SNDU The payload shall be a complete IPv4 datagram. IPv6 SNDU The payload shall be a complete IPv6 datagram. Bridged SNDU The payload shall be a bridged MAC frame (see section 4.1). CRC Expires December 2003 [page 8] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 The CRC field carries a CRC value calculated by the encapsulator and checked by the receiver this protects the entire SNDU. A CRC-32 is recommended for SNDUs up to 12 KB in size. The primary purpose of this CRC is to protect an IP payload from undetected resassembly errors and errors introduced by unexpected software / hardware operation at the IP encapsulation gateway and/or the receiver. It may also be used to detect the presence of uncorrected errors from the physical link (these however may, in some case, also be detected by other means). 4.1 Bridged Payload The Bridged Payload shall carry an SNDU field with the following format shown in figure 2. +-------------------------------+ | Length and Type fields (4B) | +-------------------------------+ | MAC destination address (6B) | +-------------------------------+ | MAC source address (6B) | +-------------------------------+ | Ethernet (DIX) Type (2B) | +-------------------------------+ | | | (remainder of MAC frame) | | | +-------------------------------+ | CRC_32 (4B) | +-------------------------------+ Figure 2: SNDU Format for a Bridged Payload The MAC addresses shall be assigned according to the rules specified by the IEEE and may denote unknown, unicast, broadcast, and multicast link addresses. The type of frame shall be defined according to Ethernet [DIX]. Note that Òarp messages‚ relate to the binding of MAC addresses to IP addresses are carried in this format and are identified by the appropriate DIX Ethernet frame type. In normal operation, it is expected that any padding appended to the Ethernet frame will be removed prior to forwarding. This requires the sender to be aware of such padding. 32-bit CRC The LAN FCS field, is in this case not forwarded by the encapsulation, and is replaced by a CRC-32 calculated by the IP encapsulator. Note: It is assumed the LAN FCS is checked prior to removal. 4.2 IPv4 Encapsulation Expires December 2003 [page 9] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 IPv4 datagrams will be transported over the MPEG-2 Transport Stream using the SNDU structure shown in figure 3. +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | Length (2B) | Type = 0x0800 | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | | IPv4 datagram | | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | (CRC_32) | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Figure 3: SNDU Format for an IPv4 Datagram 4.3 IPv6 Encapsulation IPv6 datagrams will be transported over the MPEG-2 Transport Stream using the SNDU structure shown in figure 4. +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | Length (2B) | Type = 0x86DD | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | | IPv6 datagram | | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | (CRC_32) | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Figure 4: SNDU Format for an IPv6 Datagram Expires December 2003 [page 10] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 5. Processing at the Encapsulator and Receiver 5.1 Encapsulator processing The encapsulator shall fragment the SNDU into a series of MPEG-2 TS Packets belonging to the same logical TS channel (figure 5). +-----------------------------------------+ |Encap Header| Subnetwork PU | +-----------------------------------------+ / / \ \ / / \ \ / / \ \ +------*----------* +------*----------* +------*----------+ |MPEG-2| MPEG-2 |..|MPEG-2| MPEG-2 |...|MPEG-2| MPEG-2 | |Header| Payload | |Header| Payload | |Header| Payload | +------+----------+ +------+----------+ +------+----------+ Figure 5: Encapsulation of a subnetwork Payload_Unit (SNDU) e.g. an IP datagram into a series of TS Packets (each TS Packet carries a header with a common Packet ID, PID, value). The encapsulation layer will first wrap each payload unit (IP datagram or Ethernet frame) to form a SNDU. (This is similar to an AAL5 encapsulation in ATM networks). This SNDU will then be segmented into payload units of TS Packets; the resulting set of TS Packets will all use the same PID value and successive values for the continuation counter. This set will then be sent as a sequence over a TS multiplex or possibly as one burst over a satellite link. Measurements of IP traffic have shown that the overwhelming majority of the datagrams have lengths of 1500 or 576 bytes for data and 40 or 48 bytes for control traffic; for example, these values represent almost 96% of the typical world-wide-web traffic. The most frequent situations for the encapsulator are: - a short control packet using only a fraction of the TS payload of 184 bytes; - a long data packet using a number of TS Packets with the last one containing only a remainder. Both of the most frequent values (576 and 1500) lead to a fairly high overhead in the last TS Packet. Since satellite bandwidth is an expensive resource, as opposed to bandwidth in LANs, it is necessary to look for improvements. One possibility is header compression but this is outside the scope of this proposal. Another one is to pack SNDUs densely into TS Packets, i.e. whenever the encapsulator has more than one SNDU available it fills the TS Packets completely by appending the data of the following SNDU directly to the preceding one before segmentation. Expires December 2003 [page 11] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 When the encapsulator has not previously sent a TS Packet for the specified logical TS channel, or after an idle period, it will start sending the SNDU in the first available TS Packet. This first TS Packet MUST carry a value of one in the payload_unit_start_indicator (PUSI) to indicate it contains the start of a SNDU. The encapsulator will continue to fill subsequent TS Packets, until the end of the SNDU. The TS Packet that carries the last byte of the SNDU MUST carry an adaptation field. This implies that the last packet contains an MPEG-2 adaptation field. Note that a packet sufficiently small to fit into one TS Packet will carry both a PUSI value of one and an AFC value of 11 (see below). If more packets are waiting at the encapsulator, it may start the next SNDU in the next available byte of the TS Packet payload. (The PUSI is set, if it is not already set). If this is the final packet of a burst (i.e., there are no additional packets waiting), the encapsulator becomes idle. The adaptation field is either a single byte set to 0 (defined by the 13818-1 standard) or it has the structure specified by the standard recommendations (figure 6). 0 7 8 15 16 31 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |ad.hdr.length=3| flags 1 | priv.length=1 | pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ^ transport_private_data_flag Figure 6: Adaptation FIELD Format For this encapsulation the adaptation header length is always 4 bytes, hence the value of the first byte must be 3. The second byte is required by the standard and contains various flags; only bit 7 (Òtransport_private_data_flag‚) will be set to …1Ì indicating private data. This requires in the next byte the length of the private data, here the value of 1, and in the next byte the private data which is to be a pointer to the start of the next SNDU or the value of zero in case no further SNDU follows in this TS Packet. Adding 4 bytes instead of the required one or two bytes adds overhead but does not destroy the 16/32 bit alignment of the data which may be important for performance. The type field of the encapsulation format together with the transport_private_data_flag in the adaptation field can be used to construct an encapsulation that supports MPLS switching (e.g. type field must be set to 0x8847 (see section 4), transport_private_data_flag set to 1 and the private length byte in Expires December 2003 [page 12] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 the adaptation field specifies the length of a MPLS header (a value of 5 which means that the adaptation field contains an MPLS header followed by a one byte pointer field). The operation of the Adaptation Field Control (AFC) bits and the PUSI bits in the TS Packet Header may be summarised as follows: PUSI AFC Meaning 1 01 first byte of a SNDU payload_unit is in the payload of this TS Packet 0 01 payload of this TS Packet does not contain the start of a new payload_unit, but is a continuation 0 11 this TS Packet contains the end of a payload_unit 1 11 this TS Packet contains the end of a payload_unit which is followed by the first byte of a new payload_unit The use of the AFC bits is mandatory for the operation of the receiver to find the beginning of an SNDU in two cases when a SNDU starts not right after the TS packet header although the PUSI flag is set (indicating a new SNDU in this respective TS packet). The first case occurs, when a SNDU is smaller than the TS packet payload length and stuffing bytes are used. +-------------------+ |Encap | Subnetwork | |Header| PU | +-------------------+ \ / \ / \ / +------*--------*--------------+------------+ |MPEG-2| Adapt. | Stuffing | SNDU | |Header| Header | bytes | | +------+--------+--------------+------------+ Figure 7: Stuffing using the Adaptation Field In this case the PUSI/AFC combination 1/11 indicates that the SNDU header starts after the adaptation field. The second case occurs when the remaining bytes of an SNDU are carried together with (the start of) a new SNDU in one TS packet. Expires December 2003 [page 13] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 +------------------+ +------------------+ | Subnetwork | | Subnetwork | | DU 1 | | DU 2 | +------------------+ +------------------+ \ \ / / \ \ / / \ \ / / +------*--------*--------+----------+ |MPEG-2| Adapt. | end of | start of | |Header| Header | SNDU 1 | SNDU 2 | +------+--------+--------+----------+ Figure 8: Packing using the Adaptation FIELD The presence of the adaptation field (PUSI/AFC combination 1/11) guarantees that the receiver does not interpret the end of SNDU 1 as start of SNDU 2, hence failing reassembly. This case is likely to occur during the tuning and synchronisation phase of a receiver, when a number of consecutive 0x47 flags are searched and the receiver locks to the data signal. If only the length field of SNDU 1 indicated the start of SNDU 2, the receiver would not know this and would consider the PUSI set to 1 as a start of SNDU 2 directly following the TS Packet header. The adaptation field length therefore allows the start of SNDU 2 to be calculated. In general the PUSI/AFC combinations of 1/01 and 0/01 indicate that a TS Packet contains 184 bytes of the SNDU. The combinations 0/11 and 1/11 indicate an adaptation header of length 4, leaving 180 bytes for SNDU data. The TS Packet that carries the last byte of a SNDU MUST always have an adaptation field (1/11 PUSI/AFC) when one or more SNDUs are following. Note that once the position and length of the first SNDU starting in a particular Transport Stream packet is known, subsequent SNDUs can follow without the need of another pointer. In case the SNDU or its final portion exactly fits into one TS Packet no adaptation field (0/00 PUSI/AFC) shall be used. When there are no more SNDUs ready for encapsulation the TS Packet (0/01 PUSI/AFC) shall be padded with stuffing bytes of value FF. 5.2 Flushing the bitstream MPEG-2 multiplexers do not usually flush their buffers, but store TS Packets until the buffer fills, assuming that the data comes in a more or less continuous stream. In the case of data traffic, this assumption no longer holds, leading to the problem that the last IP datagram will be only partly transmitted unless a special Òpush‚ Expires December 2003 [page 14] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 packet is appended. This introduces additional overhead and is not an appealing solution. A further SNDU within the same TS Packet is only started if it is already available in the encapsulatorÌs buffer at the time the previous one is encapsulated. The encapsulator does not wait for another SNDU to fill a TS Packet, because this would introduce additional latency. 5.3 Receiver Processing A receiver reassembles SNDUs from the TS Packets received from a logical TS channel. The receiver determines the start of the first SNDU by waiting for a TS Packet with a PUSI value of 1. The receiver identifies the end of the SNDU by interpreting the PUSI/AFC bits and the information in the adaptation fields and by keeping a record of the total number of bytes received since the start of the current SNDU and comparing this value with the SNDU length field. The CRC MUST be calculated and verified. SNDUs that contain an invalid CRC MUST be discarded. Receipt of a non-zero PUSI value also indicates that the TS Packet contains the start of a new SNDU. If the receiver has not completed the current SNDU, and the Length Field indicates that it is awaiting a greater number of bytes than one less the adaptation header length, then the receiver has detected a delimiting error. The partially received SNDU MUST be discarded. The receiver MUST also check the MPEG-2 Continuity Counter carried in the TS Packet Header. This counter should increment by one for each TS Packet received on a logical TS channel. If the value is not incremented by one in successive packets (modulo 16), any partially received SNDU MUST be discarded. The receiver then waits for the next TS Packet with a PUSI value of 1. The receiver MUST also check the MPEG-2 Transport Error indicator carried in the TS Packet Header. This flag indicates a transmission error for the logical TS channel. If the flag is set to a one, any partially received SNDU MUST be discarded. The receiver then waits for the next TS Packet with a PUSI value of 1. After receiving a valid SNDU, the receiver MUST check the Type Field. The SNDU payload is then passed to the next protocol layer specified. An SNDU with an unknown Type value MUST be discarded. The receiver then starts reassembly of the next SNDU. This may directly follow the previously reassembled SNDU within the TS Packet Payload. Expires December 2003 [page 15] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 6. Summary This document defines a Simple Encapsulation to perform efficient and flexible support for IPv4 and IPv6 network services over networks built upon the MPEG-2 Transport Stream (TS). 7. Acknowledgments The authors wish to thank the members of the ip-dvb mailing list (ip-dvb@erg.abdn.ac.uk) for the input provided. In particular, we thank the many comments received from Patrick Cipiere, 8. Security Considerations Security issues are not addressed in this document. 9. References [ATSC] A/53, "ATSC Digital Television Standard", Advanced Television Systems Committee (ATSC), Doc. A/53, 1995. [ATSC-DAT] A/90, "ATSC Data Broadcast Standard", Advanced Television Systems Committee (ATSC), Doc. A/090, 26 July 00 [ATSC-DATG] A/91, "Recommended Practice: Implementation Guidelines for the ATSC Data Broadcast Standard", Advanced Television Systems Committee (ATSC),Doc. A/91. 10 June 2001 [ATSC-G] A/54, "Guide to the use of the ATSC Digital Television Standard", Advanced Television Systems Committee (ATSC), Doc. A/54, 4 Oct 95 [ATSC-PSIP-TC] A/65A, "Program and System Information Protocol for Terrestrial Broadcast and Cable", Advanced Television Systems Committee (ATSC), Doc. A/65A, 23 Dec 1997, Rev. A - 31 May 2000 [ATSC-S] A/80, "Modulation and Coding Requirements for Digital TV (DTV) Applications over Satellite", Advanced Television Systems Committee (ATSC), Doc. A/80, 17 July 99 [CLC99] Clausen, H., Linder, H., and Collini-Nocker, B., "Internet over Broadcast Satellites", IEEE Commun. Mag. 1999, pp.146-151. [ETSI-DAT] EN 301 192 Specifications for Data Broadcasting, European Telecommunications Standards Institute (ETSI). [ETSI-DVBC] EN 300 800 Digital Video Broadcasting (DVB); DVB interaction channel for Cable TV distribution systems (CATV), European Telecommunications Standards Institute (ETSI). Expires December 2003 [page 16] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 [ETSI-DVBS] EN 301 421 Digital Video Broadcasting (DVB); Modulation and Coding for DBS satellite systems at 11/12 GHz, European Telecommunications Standards Institute (ETSI). [ETSI-DVBT] EN 300 744 Digital Video Broadcasting (DVB); Framing structure, channel coding and modulation for digital terrestrial television (DVB-T), European Telecommunications Standards Institute (ETSI). [ISO-DSMCC] ISO/IEC IS 13818-6 Information technology -- Generic coding of moving pictures and associated audio information -- Part 6: Extensions for DSM-CC is a full software implementation, International Standards Organisation (ISO). [ISO-MPEG] ISO/IEC DIS 13818-1 Information technology -- Generic coding of moving pictures and associated audio information: Systems, International Standards Organisation (ISO). [ISO-VID] ISO/IEC DIS 13818-2 Information technology -- Generic coding of moving pictures and associated audio information: Video, International Standards Organisation (ISO). [ISO-AUD] ISO/IEC 13818-3:1995 Information technology -- Generic coding of moving pictures and associated audio information -- Part 3: Audio, International Standards Organisation (ISO). [LLC] IEEE Logical Link Control (ANSI/IEEE Std 802.2/ ISO 8802.2), 1985 [RFC3077] E. Duros, W. Dabbous, H. Izumiyama, Y. Zhang, "A Link Layer Tunneling Mechanism for Unidirectional Links", RFC3077. [RFC3095] C. Bormann, et al, "RObust Header Compression (ROHC): Framework and four profiles: RTP, UDP ESP and uncompressed", RFC3095. [SI-DAT] SI-DAT group, "Second Draft DVB Specification for Data Broadcasting", Geneva, 15 Jan. 1997 10.Authors' Addresses Horst D. Clausen, Bernhard Collini-Nocker, Hilmar Linder Institute of Computer Sciences University of Salzburg Jakob Haringer Str. 2 5020 Salzburg Austria Email: [clausen|bnocker|hlinder]@cosy.sbg.ac.at Web: http://www.cosy.sbg.ac.at/cs/ Godred Fairhurst Expires December 2003 [page 17] INTERNET DRAFT Encapsulation for IP over MPEG-2/DVB May 2003 Department of Engineering University of Aberdeen Aberdeen, AB24 3UE UK Email: gorry@erg.abdn.ac.uk Web: http://www.erg.abdn.ac.uk/users/gorry Full Copyright Statement "Copyright (C) The Internet Society (date). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. 11. IANA Considerations This document will require IANA involvement. The payload type field defined in this document must be aligned with an existing IANA registry or the following values need to be assigned by the IANA: Payload Type Field Expires December 2003 [page 18]