摘 要: 对DVB-S2中IP数据的传输进行了分析,详细讨论了多协议封装,单向轻量封装以及普通流封装各自的封装过程,并结合DVB-S2系统实际网络环境中的IP数据,比较了这3种封装协议的封装性能。理论分析和实验结果表明,GSE、ULE的封装效率较MPE更高效,GSE封装更灵活,扩展性更好,为下一代及未来DVB标准中IP封装协议的选择和优化提供了参考和依据。
关键词: DVB-S2;MPE;ULE;GSE;封装效率
DVB-S2[1]作为第二代卫星数字视频广播标准,与DVB-S[2]相比,具有更高的数据传输效率,目前正逐步应用于卫星广播通信系统中。而且利用DVB-S2信道传送的业务种类和数量也越来越多,拓展到了以交互式业务为代表的各个领域。IP over DVB技术的应用为IP数据在DVB中的传输提供了有效途径。
DVB-S中IP数据的传输,采用MPEG-TS包来实现对变长IP数据包的定长封装传输,其对IP数据的封装方式为多协议封装MPE(Multiprotocol Encapsulation)[3]或单向轻量封装ULE(Unidirectional Lightweight Encapsulation)[4]。DVB-S2中IP数据的传输,不仅继承了DVB-S中IP数据的传输方式,还采用了一种新的传输方式,即采用普通流封装GSE(General Stream Encapsulation)[5-6]对IP数据包进行不定长封装传输。虽然目前的DVB系统中IP数据的传输还主要是以TS为主,GS的使用还不多,但通过对DVB-S2中IP数据传输方式以及MPE、ULE和GSE各自的封装性能分析,可以为下一代及未来DVB标准中IP数据封装协议的选择和优化提供借鉴。
1 DVB-S2中IP数据的传输
DVB-S2中IP数据的传输主要通过将其封装至MPEG-TS或GSE包中进行传输。IP数据封装至MPEG-TS或GSE包中,首先将IP数据包封装成协议数据单元PDU(Protocol Data Unit),其格式符合以太网的数据报文格式[7],进一步在PDU的前面增加封装头部,后面增加封装尾部,形成子网数据单元SNDU(Sub Network Data Unit),最终封装为TS包或GSE包。封装头部主要包含协议控制信息,封装尾部主要包含数据完整性校验信息。
MPEG-TS包的固定长度是188 B。一个TS包中,前4 B是包头信息,其后的184 B为有效负载信息,在一个TS包中,最多包含184 B的有效负载。但将IP分组封装形成的子网数据单元的长度可能大于184 B,因此可将子网数据单元封装在若干个TS包中进行传输。当SNDU不能封装在整数个TS包中传输时,对末尾TS包中的剩余字节,封装器会选择“填充(Padding)”或“打包(Packing)”方式封装。
GSE包没有固定长度。GSE包长度可随协议数据单元长度变化,避免填充[8],从而使封装开销最小化。如果PDU分段封装至多个GSE SNDU中,仅在末尾的SNDU尾部封装4 B的校验信息,对整个PDU进行校验。如果PDU封装至一个GSE SNDU中,则不需要在SNDU尾部封装校验信息。
1.1 IP/MPE/MPEG-TS封装
MPE封装协议包含了一整套的IP协议数据封装解决方案,可以实现单播(数据包发给单一接收者)、组播(数据包发给一组接收者)、广播(数据包发给所有接收者)[9]。目前,MPE应用已十分广泛。IP over MPE封装格式如图1所示。
MPE包头长度最小为12 B,尾部校验信息为4 B。当负载为非IP数据时,头部添加8 B的LLC/SNAP信息,指示数据类型。MPE包首部一般以0x3E开始,表示一个数据包分段的开始。MPE包长度域为12 bit,因此MPE包最大长度为4 KB。MAC1-6包含的是目的MAC地址。
1.2 IP/ULE/MPEG-TS封装
ULE封装协议遵循ETST定义的数据管道的封装标准,将PDU直接映射到传送包负载,简化了封装过程,仅增加较小的封装开销[4]。IP over ULE的封装格式如图2所示。
ULE包头长度最小为4 B。ULE包长度域为15 bit,最大长度为32 KB;负载类型域长度为2 B,此字段可以很好地完成对多种协议(如IPv4、IPv6)的支持;目的地址标识为1 B,可使ULE在不失高效的情况下灵活地选择6 B的网络附着点地址NPA(Network Point of Attachment)域,可非常灵活地支持在共享链路下的IP包单播传输[7]。
1.3 IP/GSE封装
GSE封装协议相比于MPE、ULE封装协议,在传输IP数据时更加灵活,降低了封装复杂性。IP over GSE封装结构如图3所示[5]。
GSE封装后直接至物理层传输,GSE支持灵活的分段封装,GSE包长可以是DVB-S2的数据域长度[10]。GSE包头的负载类型域长度为2 B,不需要额外的开销,即可很好地完成对多种协议的支持。
2 DVB-S2中3种IP封装方式封装效率的分析与比较
本节针对MPE、ULE、GSE 3种不同的封装方式,分析不同封装过程的封装效率,并结合DVB-S2承载的实际网络环境中的IP数据,比较不同封装方式的性能。
2.1 封装效率计算
MPE、ULE、GSE的封装效率可认为是IP包的总长度与IP包封装后总长度的字节数的比值。计算公式定义为:
其中,M、P、N均为整数系数。LIP指IP数据封装后的PDU长度,也即IP数据包长度。为了便于计算,当N个IP数据包恰好封装在M个TS包中时,可认为选用的是打包方式,当N个IP数据包不能封装在M个TS包中时,选用填充方式,在第M个TS包,也即含有IP数据包最后分段的TS包负载的剩余字节用“0xFF”填充。LTS指IP数据包经封装后TS包的长度;LTS_h代表TS包头的长度,为4 B;LSI代表TS包负载第一个字节的指示字段带来的开销;Lpad表示MPE、ULE封装采用填充方式时,TS包中填充字节的开销;LSNDU表示经MPE、ULE封装后的SNDU长度。MPE和ULE包头最小长度分别为12 B和4 B,尾部校验开销均为4 B。MPE和ULE封装后的SNDU长度具体表达式为:
2.2 封装效率分析与比较
MPE和ULE的打包方式相对于填充方式封装效率更高。当IP包封装在整数个TS包中时,填充方式和打包方式的封装效率是相同的,封装效率达到极大值。如果IP数据包长再增加1 B,需要再增加1个TS包进行封装传输。填充方式下,增加的TS包中有用负载只有1 B,其余183 B均为填充字节,严重浪费了封装开销;打包方式下,其余字节可以开始新的IP数据包的封装,相对封装效率更高。
由图6可知,各种封装方式最大封装效率及其所对应的IP包长如表1所示。
3种封装方式的封装效率从高到低依次为GSE、ULE、MPE。3种封装方式封装效率的差异主要体现在封装过程中增加的头部开销和校验信息。当传输IP数据时,MPE头部最小为12 B,ULE和GSE头部均为4 B,尾部校验信息都为4 B。但MPE和ULE还需封装至TS包才能进行传输,TS包头开销为4 B,而且GSE封装的校验信息仅在包含IP数据最后一个分段的GSE包尾部添加。因此GSE封装开销最小。
GSE和ULE的封装扩展性更好,GSE封装更为灵活。GSE和ULE的头部含有负载数据类型指示域,可以很好地支持多种网络协议,而不增加封装开销;MPE由于没有对数据类型进行说明,扩展性较差。另外,GSE可将多个IP包封装在一个GSE包负载中,GSE包负载最大长度可达64 KB,而MPE长度域为12位,最大长度为4 KB,ULE长度域为15位,最大长度32 KB。负载长度的增加,意味着IP封装所需的分段标识的减少,从而降低封装复杂度。
2.3 DVB-S2承载的实际IP数据封装分析
由DVB-S2中IP封装效率的理论分析可知,封装效率与IP数据包长度有较大关系。本节通过统计视频应用和网页应用两种典型应用的数据包长度分布,讨论3种封装方式的封装性能。对应的IP数据包长分布如图5所示。
图5(a)中包长主要集中在1 060 B,约占89.5%,图5(b)中包长分布主要集中在60 B、70 B、120 B、1 400 B,其中小包(小于200 B)的比例约为72.5%。
各类数据的平均封装效率定义为各包长封装效率的均值。具体表达式为:
图6(a)采用不同封装方式的平均封装效率接近理论上最大封装效率。图6(b)中,MPE和ULE填充方式下平均封装效率距理论上最大封装效率相差约40%,打包方式下的平均封装效率MPE最低,其次是ULE。这是因为数据1中长包占较大比例,在包长较大时,各种封装方式的封装效率较高,且接近理论最大封装效率值。数据2小包比例较大,填充方式下,填充字节对封装效率的影响较大。
在实际数据传输中,DVB-S2传送流的数据速率是恒定的,如果有效负载的速率低于传送流的数据速率时,就在传送流中加入一定数量的填充包。因此,不管封装选用填充方式还是打包方式,封装效率都很难达到理论上的最大封装效率。实际数据中包长分布与IP数据承载的应用有很大关系,如VoIP应用一般采用小的IP包,P2P文件共享和数据下载则是较大的IP包。当IP包长较小时,GSE和ULE打包方式封装效率优势比较明显,随着IP包长的增加,封装效率的差异性减小。GSE封装更为简单,也即更低的封装开销,在卫星链路中,可以明显提高传输性能。但GSE封装的灵活性使得其解封装过程较MPE、ULE复杂,目前完全取代MPE、ULE在DVB-S2系统中传输IP数据还不现实。
本文对IP over DVB-S2的传输进行了分析,详细讨论了MPE、ULE、GSE 3种封装协议的封装效率和性能,并通过对DVB-S2系统实际网络环境中的IP数据的封装分析,得出GSE封装效率更高,扩展性和灵活性都更好。利用DVB-S2传输较小IP包时,对封装开销和处理复杂度有较高的要求,此时GSE封装的优势尤为明显。但GSE解封装过程要较为复杂,这是今后研究工作的重点。本文仿真和实验基于DVB-S2卫星广播系统,对下一代卫星链路以及未来卫星广播标准中IP封装协议的选择和优化,具有十分重要的指导意义。
参考文献
[1] ETSI EN 302 307. Digital Video Broadcasting(DVB): Second generation framing structure, channel coding and modulation systems for broadcasting, interactive services, news gathering and other broadband satellite applications[S]. 2009.
[2] ETSI EN 300 421. Digital Broadcasting(DVB); framing structure, channel coding and modulation for 11/12 GHz satellite services[S]. 1997.
[3] ETSI EN 301 192. Digital Video Broadcasting(DVB); specification for data broadcasting[S]. 2009.
[4] FAIRHURST G, COLLINI NOCKER B. Unidirectional Lightweight Encapsulation(ULE) for transmission of IP datagram over an MPEG-2 transport stream(TS)[S]. IETF RFC 4326, 2005.
[5] ETSI EN 102 606. Digital Video Broadcasting(DVB); Generic Stream Encapsulation(GSE) implementation guidelines[S]. 2007.
[6] CANTILLO J, COLLINI-NOCKER B, DE BIE U, et al. Rinaldo. GSE: A flexible, yet efficient, encapsulation for IP over DVB-S2 continuous generic streams[J]. International Journal of Satellite Communications and Networking, 2008, 26(3), 231-250.
[7] 栗志意,赵建国,晏坚.IP over DVB 封装技术效率分析[J].清华大学学报:自然科学版,2009(8):1126-1130.
[8] ETSI EN 102 771. Digital Video Broadcasting(DVB): Generic Stream Encapsulation(GSE) implementation guidelines[S]. 2011.
[9] XILOURIS G, GARDIKIS G, KOUMARAS H, et al. Unidirectional lightweight encapsulation : performance evaluation and application perspectives[J]. IEEE Transactions on Broadcasting, 2006, 52(3):374-380.
[10] EWALD-AROSTEGUI N L, FAIRHURST G. IP/UDP Header suppression for signaling in an All-IP DVB transmission system[J]. IEEE Transactions on Broadcasting, 2012, 58(2):301-304.