- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
对DVB多协议封装中的IP数据的分析
目前卫星传送的信号不仅有常用的音视频信号,有其他可能含有关键信息的信号,在这些信息的获取过程中对DVB传送的IP数据进行分析有着重要的意义。本文首先对DVB数据广播的方式进行了概述,然后对多协议封装的原理进行了说明,最后结合实例说明了这种封装模式的应用,说明了信息获取的方法。
1 引言
当前,DVB的应用已经十分普及,尤其是用于传送广播电视节目的设备几乎已经遍布各地,这为应用DVB标准传达其他格式的数据提供了硬件基础。而DVB标准地其传送的数据包载荷的具体内容并没有进行具体规定,这种开放性使得他成为多种格式数据的载体,除了广播和电视节目外,也可用来完成数据检索、邮件服务、视频会议、远程教育、电子商务、电子收费、远程医疗等业务。而军用信息的传送对信息获取有更大的价值。
2 DVB数据广播协议结构模型
DVB(Digital Video Broadcast)系统提供了在各种不同的传输媒介传送MPEG传输流的手段,这些传输流一般都包含MPEG-2音视频内容。这种传送音视频节目是应用得最多也最成熟的,在边远地区提供了方便的低成本的接入方式,尤其是在"村村通"工程中发挥了巨大的作用。而以IP数据为主的数据传送业务是对基于DVB传输标准MPEG-2的重要扩展。在IP数据包中又可以封装网页、邮件、语音等多种数据。针对不同的应用需求,DVB规定了6种业务模式:数据管道(data piping)、数据流(data streaming)、多协议封装(Multi-protocol encapsulation,MPE)、数据轮放(data carousels),对象轮放(data carousels)和用户定义服务(registered service)。而对应于这6种业务模式有相应的传输规范,构成了DVB数据广播协议结构模型。这些方式有不同的应用条件,其中的多协议封装一般被用来传送其他各式的数据,实际中用得较多的是传送IP数据。这些数据在传送时候被封装成封装成数据包。
DVB标准的数据包的格式分为基于TS包、基于PES包和基于MPEG-2数据片3种格式。其中基于TS包格式,其固定长度为188 B,基于么有数据机制,数据管道采用这种方式;基于PES包格式是MPEG-2提供的一种长度可变的打包方式,最大包长为64 kB,提供数据流精确同步机制,所以DVB多选择PES用于同步和被同步的码流传输。基于MPEG-2数据片也是长度可变的打包方式,最大包长为4 kB,多协议封装和轮放采用这种打包方式。
3 多协议封装
多协议封装规范支持在DVB信道上传输符合其他通信协议的数据,他针对IP包进行了优化,也可用于传输其他网络协议的数据。利用DVB多协议封装可以实现单点广播(数据包发给单一接收者)、多点广播(发给一组接收者)、广播(发给所有接收者)。 一个数据片可以包含许多具有同一个PID的MPEG包。在MPEG包的净荷中,报文依次紧凑排列。这就需要利用图1中NMP字节来指示下一个报文的起始位置。如果该字节的值不为零,净荷单元起始位将被后移,后移的位置由该字节的值说明,如果该字节的值为0,即十六进制的0x00,说明其后紧接着的就是MPE包。MPE包包括MPE包头和MPE负载,MPE包头为12个字节,一般以"3E"开始。MPE负载又包括IP包头和IP包负载,IP包头为20个字节。IP包负载一般由TCP/UDP包头和TCP/UDP包负载组成,IP包头中第十个字节指明了所用的传输层的协议是TCP还是UDP等,其他各字节含义将在后面说明。这种嵌套方式的数据封装格式如图1所示。
表1是MPE包头的部分字段,table_id的值一般为3E,说明MPE报的开始。section_syntax_indicator置"1"说明使用CRC校验,privator_indicator置"0",resetved置"11",section_length说明该MPE报的长度,包括CRC校验的4个字节。MAC_address_6是目的MAC地址的最低字节,目的MAC地址共六个字节,依次是MAC_address_1到MAC_address_6,分别对应于MAC的六个字节。payload_scrambhng_control和address_scrambling_control分别定义负载和MAC地址的加密模式,他们的值为"0X00"时说明负载没有加密,MAC地址也没有加密。
IP协议是网络层的协议,在网络层上的运输层中的协议有TCP、UDP等,如图2所示。具体的协议类型在IP包头的"协议"字段即第十个字节,该字段说明使用何种类型的传输层协议。当他的值为"0x06"时说明传输层使用的是TCP协议;当他的值为"0x11"时说明传输层使用的是UDP协议。而TCP协议和UDP协议又分别对应于具体的应用层协议,如TCP协议常对应于应用层的SMTP,HTTP,TELNET等协议,而UDP协议常对应于应用层的DNS,RIP等协议。该字段在对收到的卫星数据进行分类接收并还原的过程中非常重要。IP包和TCP包的解析按各自的封装格式进行,在他们的包头中指明了发送方和接收方的IP地址、段长度、包头长度、协议类型、发送方和接收方端口号、数据偏移等。具体字节含义可在相关协议中查看。
下面对一段多协议封装的IP数据进行分析。数据首先要从DVB信道中进行采集,由于目前常用的DVB信号的符码率可达到90 Mb/s,所以需要使用高速的数据采集设备才能采到完整的连续的数据包。采集下来的数据在保存的过程中数据也不能有丢失或错误,这样才能保证分析的正确。
下面结合实际数据进行分析。采集下来的数据需要使用能对二进制数据进行编辑的软件进行查看和分析。如图3所示,该图是数据分析软件的界面,他显示了MPE数据包的详细内容,其中第一行前面四个字节是MPE数据包的包头,从中可看出,该段数据的PID值为"0x195",第五个字节"0X08"说明该MPE数据片在8个字节后以"3E"开始,其后的"0X041"说明该MPE数据片长度为65。第二行的"47、14、00、76、06、00"是目的MAC从低到高依次排列的6个字节。MPE数据包包头共12个字节。紧接着MPE数据包包头的是20个字节的IP包头,以"0X45"开始,"4"说明是IPv4数据包,"5"说明5个单位共20个字节,"0X00 34"说明该IP包长度为52个字节。IP包头中的第十个字节"0X06"说明该IP包承载的是TCP协议,包头的后十个字节是源地址和目的地址,分别为"4524 FA 09"和"CA AE 9A CB",即69.36.250.09是源IP地址,而202.174.154.203是目的IP地址。紧接着IP包头的是20个字节的TCP包头。首先是各2个字节源端口和目的端口"00 50"和"CD F2",即源端口是80,目的端口是52722,可见源端口是常用的http协议的80端口。然后是各4个字节的发送序号和接收序号"A9 60 A2 48"和"1A C8 C9 60"。TCP包中的第十三个字节中的"8"说明数据偏移为32个字节,即头部结束后还有12个字节才是载荷数据。
图4是一份计数指示从0X14到0X1A的连续的IP数据片,每行设置为显示204个字节,正好为DVB的MPEG传送流的包长,所以每行开始的都是同步字节"7E"。各行第四个字节为连续计数字段,可见他们是同一数据包的不同分段。负载在第一行开始,由第二个字节中的"4"指示。该行第四个字节"00"说明从其后第一个字节开始就是MPE数据片,以"3E"开始的12个字节为MPE包头,其中"5E9"指示数据片长度为0x5E9,即1513。网卡地址为00D0D73003D7。紧接着的是IP包,以"45 00"开始。
图5是一段含有用户登录文本信息的IP数据片,负载字段记录有用户登录的日期、服务器名、数据长度等信息。在卫星DVB信号中承载的多种数据如邮件、图片等等业务都可以从负载中提取出来。
4 结 语
本文结合DVB多协议封装的EN300468协议对数据封装的格式进行了详细分析,并针对负载的具体类型结合IP协议、TCP协议、UDP协议对具体数据进行了逐字段的分析,最后得到了可用于提取关键信息的数据。这些数据在DVB的传送流中都是以二进制形式连续存在的,在实际工作中要想获取负载中的有用的信息必须采用逐层剥离的方法用软件来自动实现。这种方法在卫星DVB数据承载的多业务数据的自动接收和分类等工作中是非常重要的。
作者:高毫林,黄焱
(解放军信息工程大学 信息工程学院 河南 郑州 450002)
来源:《现代电子技术》
上一篇:基于73M2901的远程数据传输系统
下一篇:综合布线数据中心统筹设计技术
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗霉閿濆牊顏犵紒鈧繝鍌楁斀闁绘ɑ褰冮埀顒€顕槐鎾愁潩鏉堛劌鏋戦梺鍝勫暙閻楀嫰鍩€椤戣法绐旂€殿喕绮欓、姗€鎮欓懠鍨涘亾閸喒鏀介柨娑樺娴犙呯磼椤曞懎鐏︾€殿噮鍋婇幃鈺冪磼濡攱瀚奸梻鍌欑贰閸嬪棝宕戝☉銏″殣妞ゆ牗绋掑▍鐘炽亜閺傛娼熷ù婊勭矋閵囧嫰骞樼捄杞版勃闂佺ǹ顑冮崕鎶藉焵椤掑喚娼愭繛鍙夌矒楠炲﹪骞樼拠鑼弨婵犮垼娉涜墝闁哄閰i弻鐔兼焽閿曗偓閺嬫稓绱掗幓鎺撳仴婵﹤顭峰畷鎺戔枎閹存繂顬夐梻浣筋嚃閸犳牠鎮ラ悡搴f殾闁圭増婢橀崡鎶芥煟韫囨凹鍤欑紓宥咃躬楠炲啫饪伴崼鐔风檮婵犮垼娉涢惌鍫ュ船閻㈠憡鈷戦悹鍥ㄥ絻閸よ京绱撳鍛棦鐎规洑鍗冲浠嬵敃閵堝嫮鐟濋梻浣告惈鐞氼偊宕曢弻銉﹀亗婵炲棗绶疯ぐ鎺撳亗閹艰揪绲鹃幉鐓庘攽閻愭潙姣嗛柛銉e妿閸橀潧顪冮妶鍡橆梿鐎规洜鏁哥划锝夊籍閳ь剟骞堥妸锔剧瘈闁告侗鍣禒鈺呮⒑閸涘﹦澧柣妤冨Т椤曪綁骞橀钘変簻闂佸憡绺块崕杈╁緤閸喒鏀介柨娑樺娴滃ジ鏌涙繝鍐ㄧ伌鐎规洜顢婇妵鎰板箳閹惧瓨鐝栨俊鐐€曠换鎰版偋閸曨垰鐒垫い鎴f硶椤︼箓鏌嶇拠鏌ュ弰妤犵偞锚閻g兘宕堕懜鏁屟冣攽閿涘嫬浜奸柛濠冪墵閹兾旈崘銊︾€抽悗骞垮劚椤︿即宕愰崹顐犱簻闁瑰搫妫楁禍楣冩⒑鐎圭媭娼愰柛銊ユ健楠炲啫鈻庨幘宕囩厬婵犮垼鍩栬摫闁挎稐绶氬缁樻媴鐟欏嫬浠╅梺鍛婃煥闁帮絽鐣锋导鏉戝唨鐟滄粓宕甸弴鐐╂斀闁绘ê纾。鏌ユ煛閸涱喗鍊愰柡灞诲姂閹倝宕掑☉姗嗕紦 | More...
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗霉閿濆牊顏犵紒鈧繝鍌楁斀闁绘ɑ褰冮埀顒€顕槐鎾愁潩鏉堛劌鏋戦梺鍝勫暙閻楀嫰鍩€椤戣法绐旂€殿喕绮欓、姗€鎮欓懠鍨涘亾閸喒鏀介柨娑樺娴犙呯磼椤曞懎鐏︾€殿噮鍋婇幃鈺冪磼濡攱瀚奸梻鍌欑贰閸嬪棝宕戝☉銏″殣妞ゆ牗绋掑▍鐘炽亜閺傛娼熷ù婊勭矋閵囧嫰骞樼捄杞版勃闂佺ǹ顑冮崕鎶藉焵椤掑喚娼愭繛鍙夌矒楠炲﹪骞樼拠鑼弨婵犮垼娉涜墝闁哄閰i弻鐔兼焽閿曗偓閺嬫稓绱掗幓鎺撳仴婵﹤顭峰畷鎺戔枎閹存繂顬夐梻浣筋嚃閸犳牠鎮ラ悡搴f殾闁圭増婢橀崡鎶芥煟韫囨凹鍤欑紓宥咃躬楠炲啫饪伴崼鐔风檮婵犮垼娉涢惌鍫ュ船閻㈠憡鈷戦悹鍥ㄥ絻閸よ京绱撳鍛棦鐎规洑鍗冲浠嬵敃閵堝嫮鐟濋梻浣告惈鐞氼偊宕曢弻銉﹀亗婵炲棗绶疯ぐ鎺撳亗閹艰揪绲鹃幉鐓庘攽閻愭潙姣嗛柛銉e妿閸橀潧顪冮妶鍡橆梿鐎规洜鏁哥划锝夊籍閳ь剟骞堥妸锔剧瘈闁告侗鍣禒鈺呮⒑閸涘﹦澧柣妤冨Т椤曪綁骞橀钘変簻闂佸憡绺块崕杈╁緤閸喒鏀介柨娑樺娴滃ジ鏌涙繝鍐ㄧ伌鐎规洜顢婇妵鎰板箳閹惧瓨鐝栨俊鐐€曠换鎰版偋閸曨垰鐒垫い鎴f硶椤︼箓鏌嶇拠鏌ュ弰妤犵偞锚閻g兘宕堕懜鏁屟冣攽閿涘嫬浜奸柛濠冪墵楠炴劖銈i崘銊х崶闁瑰吋鐣崝宥夊磻閻旇褰掓偂鎼达絾鎲奸梺鎶芥敱閸ㄥ潡寮诲☉妯锋婵鐗婇弫楣冩煟鎼达紕浠涢柣鐔叉櫊瀵顓奸崼顐n€囬梻浣告啞閹搁箖宕版惔顭戞晪闁挎繂妫涚弧鈧┑顔斤供閸樿棄鈻嶉姀銈嗏拺閻犳亽鍔屽▍鎰版煙閸戙倖瀚�
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿极閹剧粯鍋愰柛鎰紦缂冩洟姊绘担鍛婃儓婵炲眰鍔嶉幈銊︻槹鎼达絿鐒兼繝鐢靛Т閸婄敻寮ㄦ禒瀣厽婵☆垰鎼痪褔鏌熼崗鐓庡闁哄本绋撴禒锔炬嫚閹绘帩娼庨梻浣告惈閺堫剙煤閻旈鏆﹂柣鎾崇岸閺€浠嬫煙闁箑甯ㄧ憸鏂款潖閾忓湱鐭欐繛鍡樺劤閸擃參姊洪崨濠冪叆闁活厼鍊搁敃銏$瑹閳ь剙顫忓ú顏勭閹艰揪绲块悾鐢告⒑閻熸澘鏆遍梺甯到椤曪綁骞庨懞銉ヤ簻闂佺ǹ绻楅崑鎰板储娴犲鈷戦柛婵嗗閳ь剙婀遍埀顒傜懗閸パ冩優闂佹悶鍎洪崜姘舵偂濞嗘劑浜滈柡鍐e亾妞ゆ垶鐟ュ玻鍧楀箛閻楀牏鍘甸悗鐟板婢ф宕甸崶顒佺厵妞ゆ梹鍎抽崢瀛橆殽閻愯尙效妞ゃ垺宀稿畷銊╊敊瑜忛崑娑㈠煘閹达附鏅柛鏇ㄥ亗閺夘參姊虹粙鍖℃敾闁绘濞€閻涱噣骞囬鐘电槇濠殿喗锕╅崜娑㈡偩濞差亝鈷戠紒瀣濠€鐗堟叏濡ǹ濮傜€殿喗濞婇弫鍐磼濞戞艾寮伴梻濠庡亜濞诧箓宕欓悷鎼細闁规壆澧楅悡鏇㈢叓閸ャ劍鈷掗柣顓熷浮閺岋紕浠﹂崜褉妲堝Δ妤婁簷閸楁娊宕洪埀顒併亜閹烘垵鈧鎯岄崱妞尖偓鎺戭潩閿濆懍澹曢柣搴㈩問閸n噣宕戞繝鍥╁祦閹兼番鍔嶉崵宥夋煏婢诡垰鍟粻娲⒒閸屾瑨鍏岀紒顕呭灦閺佸鎮楀▓鍨灈闁绘牕銈搁悰顕€寮介鐐电杸濡炪倖甯掗ˇ閬嶅船閻㈠憡鍋℃繝濠傚暟閻忛亶鏌涢幒鎾崇瑨闁宠閰i獮姗€鎼归锛版岸姊绘笟鈧ḿ褏鎹㈤崼銉ョ9闁哄稁鍘奸悿楣冩煙闂傚鍔嶉柣鎾卞劦閺岋綁寮撮悙娴嬪亾閸︻厸鍋撳鐐
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗霉閿濆牊顏犵紒鈧繝鍌楁斀闁绘ɑ褰冮埀顒€顕槐鎾愁潩鏉堛劌鏋戦梺鍝勫暙閻楀嫰鍩€椤戣法绐旂€殿喕绮欓、姗€鎮欓懠鍨涘亾閸喒鏀介柨娑樺娴犙呯磼椤曞懎鐏︾€殿噮鍋婇幃鈺冪磼濡攱瀚奸梻鍌欑贰閸嬪棝宕戝☉銏″殣妞ゆ牗绋掑▍鐘炽亜閺傛娼熷ù婊勭矋閵囧嫰骞樼捄杞版勃闂佺ǹ顑冮崕鎶藉焵椤掑喚娼愭繛鍙夌矒楠炲﹪骞樼拠鑼弨婵犮垼娉涜墝闁哄閰i弻鐔兼焽閿曗偓閺嬫稓绱掗幓鎺撳仴婵﹤顭峰畷鎺戔枎閹存繂顬夐梻浣筋嚃閸犳牠鎮ラ悡搴f殾闁圭増婢橀崡鎶芥煟韫囨凹鍤欑紓宥咃躬楠炲啫饪伴崼鐔风檮婵犮垼娉涢惌鍫ュ船閻㈠憡鈷戦悹鍥ㄥ絻閸よ京绱撳鍛棦鐎规洑鍗冲浠嬵敃閵堝嫮鐟濋梻浣告惈鐞氼偊宕曢弻銉﹀亗婵炲棗绶疯ぐ鎺撳亗閹艰揪绲鹃幉鐓庘攽閻愭潙姣嗛柛銉e妿閸橀潧顪冮妶鍡橆梿鐎规洜鏁哥划锝夊籍閳ь剟骞堥妸锔剧瘈闁告侗鍣禒鈺呮⒑閸涘﹦澧柣妤冨Т椤曪綁骞橀钘変簻闂佸憡绺块崕杈╁緤閸喒鏀介柨娑樺娴滃ジ鏌涙繝鍐ㄧ伌鐎规洜顢婇妵鎰板箳閹惧瓨鐝栨俊鐐€曠换鎰版偋閸曨垰鐒垫い鎴f硶椤︼箓鏌嶇拠鏌ュ弰妤犵偞锚閻g兘宕堕懜鏁屟冣攽閿涘嫬浜奸柛濠冪墱閺侇噣骞掑Δ鈧壕褰掓煕椤垵娅橀柣搴ゅ煐閵囧嫰寮捄銊︾檨闂佽 鍋撳ù鐘差儏缁犳娊鏌熼幆鐗堫棄缁炬儳缍婇弻锟犲炊閳轰絿娑㈡煕鐎n偅灏い顐g箞椤㈡鍩€椤掆偓鍗卞┑鐘崇閹虫岸鏌i幇顔煎妺闁绘挶鍎甸弻锝夊即閻愭祴鍋撻崷顓涘亾濮樼偓瀚�
闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掑鏅悷婊冪箻楠炴垿濮€閵堝懐鐤€濡炪倖妫佸Λ鍕償婵犲洦鈷戠憸鐗堝笒娴滀即鏌涢悩鍐叉诞鐎规洘鍨块獮姗€骞囨担鐟板厞婵$偑鍊栭崝鎴﹀垂閸︻厾鐭堟い鏇楀亾婵﹥妞藉Λ鍐ㄢ槈濞嗘ɑ顥i梻浣呵归敃銈夆€﹂悜鐣屽祦闁硅揪绠戠粈瀣亜閹烘垵鈧骞婂┑鍡╂富闁靛牆妫涙晶顒傜棯閺夎法孝闁宠绉电换婵嬪炊閵娿垺瀚藉┑鐐存尰閸╁啴宕戦幘瀵哥濞达絽鍟垮ú锕傚疾椤掑嫮鍙撻柛銉e妿閳藉鏌i幒鎴犱粵闁靛洤瀚伴獮鎺楀箣濠垫劒鎮i梻浣芥閸熶即宕伴弽顓炶摕闁哄洢鍨归柋鍥ㄧ節閸偄濮堥弫鍫ユ⒒娴e懙褰掝敄閸愵喖绀夌€广儱顦闂佸憡娲﹂崹浼村礃閳ь剟姊洪棃娑掑悍濠碘€虫搐閳绘捇濡堕崱娆戠槇闂佸啿鐨濋崑鎾绘煕閺囥劌澧版い锔垮嵆濮婃椽宕崟顓犲姽缂傚倸绉崇欢姘舵偘椤斿槈鐔煎礂閻撳孩鐎梻浣告啞濞诧箓宕㈣ぐ鎺戠劦妞ゆ巻鍋撻柨鏇ㄤ簻椤繐煤椤忓懎浠梺鍝勵槹鐎笛傜昂濠碉紕鍋戦崐鏍垂閻㈡潌鍥偨缁嬭銉ッ归敐鍛棌婵炵鍔戦弻宥堫檨闁告挾鍠栭悰顕€宕橀妸銏犵墯闂佸壊鍋呯换鍌炴嚀閸喒鏀芥い鏃傜摂濞堟梹淇婇锝庢疁鐎殿噮鍋夐妵鎰板箳閹绢垱瀚藉┑鐐舵彧缂嶁偓婵☆偄瀚板畷銉ㄣ亹閹烘挾鍘遍梺缁樓圭亸娆掑€存繝鐢靛仜濡酣宕归懞銉ょ箚闁兼悂娼х欢鐐测攽閻樻彃顏撮柛鐐垫暬濮婄粯鎷呴懞銉с€婇梺闈╃秶缁犳捇鐛箛娑欐櫢闁跨噦鎷�