摘 要:隨著通信技術對安全保密要求的提高,常規(guī)的網絡通信、無線電通信很少用來傳輸特殊用途的信息,而衛(wèi)星信道越來越多地被用來傳送某些信息如IP數(shù)據。為了獲取這類信息,對承載IP數(shù)據的DVB標準及多協(xié)議封裝(MPE)進行了深入研究,并結合實際數(shù)據使用專業(yè)軟件對數(shù)據傳送方式進行了詳細分析,得到了負載內容,說明了信息獲取的大致手段。
關鍵詞:DVB;MPE;MPEG-2;IP
中圖分類號:TN972 文獻標識碼:B
文章編號:1004373X(2008)0510703
Analysis of IP Data Sent by DVB MPE
GAO Haolin,HUANG Yan
(Information Engineering College,Information Engineering University of PLA,Zhengzhou,450002,China)
Abstract:The communications need more safety method,special information is rarely sent by general means.Then satellite channel is used to sendIP data.To capture them deeply study is made on how these data are sent,the method of data broadcast with DVB is introduced,then MPE protocol is depictedin detail.At last,they are illustrated with examples to show that the payload could be got.
Keywords:DVB;MPE;MPEG-2;IP
目前,衛(wèi)星傳送的信號不僅有常用的音視頻信號,還有其他可能含有關鍵信息的信號,在這些信息的獲取過程中對DVB傳送的IP數(shù)據進行分析有著重要的意義。本文首先對DVB數(shù)據廣播的方式進行了概述,然后對多協(xié)議封裝的原理進行了說明,最后結合實例說明了這種封裝模式的應用,說明了信息獲取的方法。
1 引 言
當前,DVB的應用已經十分普及,尤其是用于傳送廣播電視節(jié)目的設備幾乎已經遍布各地,這為應用DVB標準傳送其
他格式的數(shù)據提供了硬件基礎。而DVB標準對其傳送的數(shù)據包載荷的具體內容并沒有進行具體規(guī)定,這種開放性使得他成為多種格式數(shù)據的載體,除了廣播和電視節(jié)目外,也可用來完成數(shù)據檢索、郵件服務、視頻會議、遠程教育、電子商務、電子收費、遠程醫(yī)療等業(yè)務。而軍用信息的傳送對信息獲取有更大的價值。
2 DVB數(shù)據廣播協(xié)議結構模型
DVB(Digital Video Broadcast)系統(tǒng)提供了在各種不同的傳輸媒介傳送MPEG傳輸流的手段,這些傳輸流一般都包含MPEG-2音視頻內容。這種傳送音視頻節(jié)目是應用得最多也最成熟的,為邊遠地區(qū)提供了方便的低成本的接入方式,尤其是在“村村通”工程中發(fā)揮了巨大作用。而以IP數(shù)據為主的數(shù)據傳送業(yè)務是對基于DVB傳輸標準MPEG-2的重要擴展。在IP數(shù)據包中又可以封裝網頁、郵件、語音等多種數(shù)據。針對不同的應用需求,DVB規(guī)定了6種業(yè)務模式:數(shù)據管道(data piping)、數(shù)據流(data streaming)、多協(xié)議封裝(Multi-protocol encapsulation,MPE)、數(shù)據輪放(data carousels)、對象輪放(data carousels)和用戶定義服務(registered service)。而對應于這6種業(yè)務模式有相應的傳輸規(guī)范,構成了DVB數(shù)據廣播協(xié)議結構模型。這些方式有不同的應用條件,其中的多協(xié)議封裝一般被用來傳送其他各式的數(shù)據,實際中用得較多的是傳送IP數(shù)據。這些數(shù)據在傳送時候被封裝成數(shù)據包。
DVB標準的數(shù)據包的格式分為基于TS包、基于PES包和基于MPEG-2數(shù)據片3種格式。其中基于TS包格式,其固定長度為188 B,基于私有數(shù)據機制,數(shù)據管道采用這種方式;基于PES包格式是MPEG-2提供的一種長度可變的打包方式,最大包長為64 kB,提供數(shù)據流精確同步機制,所以DVB多選擇PES用于同步和被同步的碼流傳輸。基于MPEG-2數(shù)據片也是長度可變的打包方式,最大包長為4 kB,多協(xié)議封裝和輪放采用這種打包方式。
3 多協(xié)議封裝(MPE)
多協(xié)議封裝規(guī)范支持在DVB信道中傳輸符合其他通信協(xié)議的數(shù)據,他針對IP包進行了優(yōu)化,也可用于傳輸其他網絡協(xié)議的數(shù)據。利用DVB多協(xié)議封裝可以實現(xiàn)單點廣播(數(shù)據包發(fā)給單一接收者)、多點廣播(發(fā)給一組接收者)、廣播(發(fā)給所有接收者)。
一個數(shù)據片可以包含許多具有同一個PID的MPEG包。在MPEG包的凈荷中,報文依次緊湊排列。這就需要利用圖1中NMP字節(jié)來指示下一個報文的起始位置。如果該字節(jié)的值不為零,凈荷單元起始位將被后移,后移的位置由該字節(jié)的值說明,如果該字節(jié)的值為0,即十六進制的0x00,說明其后緊接著的就是MPE包。MPE包包括MPE包頭和MPE負載,MPE包頭為12個字節(jié),一般以“3E”開始。MPE負載又包括IP包頭和IP包負載,IP包頭為20個字節(jié)。IP包負載一般由TCP/UDP包頭和TCP/UDP包負載組成,IP包頭中第十個字節(jié)指明了所用的傳輸層的協(xié)議是TCP還是UDP等,其他各字節(jié)含義將在后面說明。這種嵌套方式的數(shù)據封裝格式如圖1所示。
表1是MPE包頭的部分字段,table[CD#*2]id的值一般為3E,說明MPE報的開始。section[CD#*2]syntax[CD#*2]indicator置“1”說明使用CRC校驗,privator[CD#*2]indicator置“0”,reserved置“11”,section[CD#*2]length說明該MPE報的長度,包括CRC校驗的4個字節(jié)。MAC[CD#*2]address[CD#*2]6是目的MAC地址的最低字節(jié),目的MAC地址共六個字節(jié),依次是MAC[CD#*2]address[CD#*2]1到MAC[CD#*2]address[CD#*2]6,分別對應于MAC的六個字節(jié)。payload[CD#*2]scrambling[CD#*2]control和address[CD#*2]scrambling[CD#*2]control分別定義負載和MAC地址的加密模式,他們的值為“0X00”時說明負載沒有加密,MAC地址也沒有加密。
IP協(xié)議是網絡層的協(xié)議,在網絡層上的運輸層中的協(xié)議有TCP、UDP等,如圖2所示。具體的協(xié)議類型在IP包頭的“協(xié)議”字段即第十個字節(jié),該字段說明使用何種類型的傳輸層協(xié)議。當他的值為“0x06”時說明傳輸層使用的是TCP協(xié)議;當他的值為“0x11”時說明傳輸層使用的是UDP協(xié)議。而TCP協(xié)議和UDP協(xié)議又分別對應于具體的應用層協(xié)議,如TCP協(xié)議常對應于應用層的SMTP,HTTP,TELNET等協(xié)議,而UDP協(xié)議常對應于應用層的DNS,RIP等協(xié)議。該字段在對收到的衛(wèi)星數(shù)據進行分類接收并還原的過程中非常重要。IP包和TCP包的解析按各自的封裝格式進行,在他們的包頭中指明了發(fā)送方和接收方的IP地址、段長度、包頭長度、協(xié)議類型、發(fā)送方和接收方端口號、數(shù)據偏移等。具體字節(jié)含義可在相關協(xié)議中查看。
下面對一段多協(xié)議封裝的IP數(shù)據進行分析。數(shù)據首先要從DVB信道中進行采集,由于目前常用的DVB信號的符碼率可達到90 Mb/s,所以需要使用高速的數(shù)據采集設備才能采到完整的連續(xù)的數(shù)據包。采集下來的數(shù)據在保存的過程中數(shù)據也不能有丟失或錯誤,這樣才能保證分析的正確。
下面結合實際數(shù)據進行分析。采集下來的數(shù)據需要使用能對二進制數(shù)據進行編輯的軟件進行查看和分析。如圖3所示,該圖是數(shù)據分析軟件的界面,他顯示了MPE數(shù)據包的詳細內容,其中第一行前面四個字節(jié)是MPE數(shù)據包的包頭,從中可看出,該段數(shù)據的PID值為“0x195”,第五個字節(jié)“0X08”說明該MPE數(shù)據片在8個字節(jié)后以“3E”開始,其后的“0X041”說明該MPE數(shù)據片長度為65。第二行的“47、14、00、76、06、00”是目的MAC從低到高依次排列的6個字節(jié)。MPE數(shù)據包包頭共12個字節(jié)。緊接著MPE數(shù)據包包頭的是20個字節(jié)的IP包頭,以“0X45”開始,“4”說明是IPv4數(shù)據包,“5”說明5個單位共20個字節(jié),“0X00 34”說明該IP包長度為52個字節(jié)。IP包頭中的第十個字節(jié)“0X06”說明該IP包承載的是TCP協(xié)議,包頭的后十個字節(jié)是源地址和目的地址,分別為“45 24 FA 09”和“CA AE 9A CB”,即69.36.250.09是源IP地址,而202.174.154.203是目的IP地址。緊接著IP包頭的是20個字節(jié)的TCP包頭。首先是各2個字節(jié)源端口和目的端口“00 50”和“CD F2”,即源端口是80,目的端口是52722,可見源端口是常用的http協(xié)議的80端口。然后是各4個字節(jié)的發(fā)送序號和接收序號“A9 60 A2 48”和“1A C8 C9 60”。TCP包中的第十三個字節(jié)中的“8”說明數(shù)據偏移為32個字節(jié),即頭部結束后還有12 個字節(jié)才是載荷數(shù)據。
圖4是一份計數(shù)指示從0X14到0X1A的連續(xù)的 IP數(shù)據片,每行設置為顯示204個字節(jié),正好為DVB的MPEG傳送流的包長,所以每行開始的都是同步字節(jié)“7E”。各行第四個字節(jié)為連續(xù)計數(shù)字段,可見他們是同一數(shù)據包的不同分段。負載在第一行開始,由第二個字節(jié)中的“4”指示。該行第四個字節(jié)“00”說明從其后第一個字節(jié)開始就是MPE數(shù)據片,以“3E”開始的12個字節(jié)為MPE包頭,其中“5E9”指示數(shù)據片長度為0x5E9,即1513。網卡地址為00D0D73003D7。緊接著的是IP包,以“45 00”開始。
圖5是一段含有用戶登錄文本信息的IP數(shù)據片,負載字段記錄有用戶登錄的日期、服務器名、數(shù)據長度等信息。在衛(wèi)星DVB信號中承載的多種數(shù)據如郵件、圖片等等業(yè)務都可以從負載中提取出來。
4 結 語
本文結合DVB多協(xié)議封裝的EN300468協(xié)議對數(shù)據封裝的格式進行了詳細分析,并針對負載的具體類型結合IP協(xié)議、TCP協(xié)議、UDP協(xié)議對具體數(shù)據進行了逐字段的分析,最后得到了可用于提取關鍵信息的數(shù)據。這些數(shù)據在DVB的傳送流中都是以二進制形式連續(xù)存在的,在實際工作中要想獲取負載中的有用的信息必須采用逐層剝離的方法用軟件來自動實現(xiàn)。這種方法在衛(wèi)星DVB數(shù)據承載的多業(yè)務數(shù)據的自動接收和分類等工作中是非常重要的。
參考文獻
[1]張武平,姜文波.利用多協(xié)議封裝實現(xiàn)HFC網的IP over DVB透明傳輸[J].現(xiàn)代電視技術,2003(7):76-78.
[2]李二建.在IPTV平臺上集成有條件接收系統(tǒng)的研究[J].現(xiàn)代電子技術,2006,29(24):4-7.
作者簡介 高毫林 男,1979年出生,碩士生。研究方向為衛(wèi)星DVB信號的接收與處理。
黃 焱 男,1964年出生,副教授。研究方向為通信信號的偵察與接收等。