| 端,接收设备首先确认特定的复用设备(物理链路)以及TS的逻辑信道(逻辑信道的PID值)。通常采用一系列的MPEG2 TS逻辑信道来承载SNDU;因而,接收者必须接受采用一系列PID值发送的IP数据分组,然后重新组合每一个SNDU。
3.5 利用MPEG2 TS网络支持传输的数据分组的种类
随着IP网络和业务的发展,IP协议本身也在不断发展。目前被广泛使用的IP协议为IPv4协议,IPv6协议也逐渐成熟并在部分网络中使用,作为MPEG2 TS网络传输IP分组数据来讲,其关键技术在于如何将IP分组数据封装在MPEG2 TS上,因为从传输角度来讲,对于单播、组播、广播等方式来说,传输方式会有一些不同,需要在数据封装格式上有一些区分。为此对于利用MPEG2 TS网络传输IP分组数据来讲可将IP分组数据分成如下一些种类,在具体封装时需要采用不同的标记来实现。
(1)IPv4单播分组,目的地是单一的端主机
(2)IPv4广播分组,发送到IP网络中的所有端系统
(3)IPv4组播分组
(4)IPv6单播分组,目的地是单一的端主机
(5)IPv4组播分组
(6)具有IPv4/IPv6分组头压缩的分组(例如:RFC 2507,RFC 3095)
(7)桥接Ethernet帧
(8)其他网络协议分组协议(MPLS,其他可能的新协议)
四、数据封装协议
4.1 对数据封装的需求
上面已经谈到,在MPEG2网络上传输IP分组数据需要对IP数据分组进行标准的封装以便在接收端可以正确地进行解封装。所谓的封装通常是指在原有数据的前面增加封装头,而在原有数据后增加封装尾,如图2所示。封装头中需要包含信息的协议控制信息,如SNDU的长度、接收地址、复用信息、载荷类型、序号等。而封装尾需要包含数据完整性校验信息。因需要传输的数据类型和所采用的协议仍处于发展之中,在头端和尾端所考虑的控制信息对新协议而言可能会不足,为此在一些协议中可能需要增加附加的控制信息或填充信息,这些信息可以放置到尾部或尾部之后。

图2 为形成MPEG2载荷单元子网PDU(例如IPv4或IPv6分组)的封装
协议控制信息主要用于区分所封装数据的相关信息供接收者处理,以及使用接收到的信息时使用。而数据之后的“尾”中所包含的检验信息主要是供接收端来验证接收数据的完整性以补充单向信息传输的不足。
目前已经完成规范化的封装规范包括在RFC 4326中规定的ULE(Unidirectional Lightweight Encapsulation of IP Datagram over an MPEG2 Transport Stream(TS)),以及在ETSI EN 301 192(Digital Video Broadcasting(DVB)、DVB specification for data broadcasting)中规定的MPE(Multiple Protocol Encapsulation)。
4.2 ULE数据封装协议
ULE协议规定了单向轻量级封装协议,该协议支持在MPEG2 TS网络上的IPv4和IPv6网络业务。该封装也适用于其他协议和桥接Ethernet帧的传输。ULE提供了扩展头格式并规定了支持必备和选用的 SNDU头的相关IANA注册,这样允许未来对协议扩展的同时可以实现后向兼容。特别地,不需执行扩展头的接收端可以安全地忽略扩展头或选择不执行扩展头。
在RFC 4326中对ULE协议采用的SNDU格式以及扩展头进行了详细的规定,同时还规定了在封装设备和接收设备中所应进行的相应处理。
4.3 MPE数据封装协议
在ETSI EN 301 192中规定的MPE数据封装协议 |