對DVB多協(xié)議封裝中的IP數(shù)據(jù)的分析

目前衛(wèi)星傳送的信號不僅有常用的音視頻信號,有其他可能含有關(guān)鍵信息的信號,在這些信息的獲取過程中對DVB傳送的IP數(shù)據(jù)進行分析有著重要的意義。本文首先對DVB數(shù)據(jù)廣播的方式進行了概述,然后對多協(xié)議封裝的原理進行了說明,最后結(jié)合實例說明了這種封裝模式的應(yīng)用,說明了信息獲取的方法。

1 引言

當前,DVB的應(yīng)用已經(jīng)十分普及,尤其是用于傳送廣播電視節(jié)目的設(shè)備幾乎已經(jīng)遍布各地,這為應(yīng)用DVB標準傳達其他格式的數(shù)據(jù)提供了硬件基礎(chǔ)。而DVB標準地其傳送的數(shù)據(jù)包載荷的具體內(nèi)容并沒有進行具體規(guī)定,這種開放性使得他成為多種格式數(shù)據(jù)的載體,除了廣播和電視節(jié)目外,也可用來完成數(shù)據(jù)檢索、郵件服務(wù)、視頻會議、遠程教育、電子商務(wù)、電子收費、遠程醫(yī)療等業(yè)務(wù)。而軍用信息的傳送對信息獲取有更大的價值。

2 DVB數(shù)據(jù)廣播協(xié)議結(jié)構(gòu)模型

DVB(Digital Video Broadcast)系統(tǒng)提供了在各種不同的傳輸媒介傳送MPEG傳輸流的手段,這些傳輸流一般都包含MPEG-2音視頻內(nèi)容。這種傳送音視頻節(jié)目是應(yīng)用得最多也最成熟的,在邊遠地區(qū)提供了方便的低成本的接入方式,尤其是在"村村通"工程中發(fā)揮了巨大的作用。而以IP數(shù)據(jù)為主的數(shù)據(jù)傳送業(yè)務(wù)是對基于DVB傳輸標準MPEG-2的重要擴展。在IP數(shù)據(jù)包中又可以封裝網(wǎng)頁、郵件、語音等多種數(shù)據(jù)。針對不同的應(yīng)用需求,DVB規(guī)定了6種業(yè)務(wù)模式:數(shù)據(jù)管道(data piping)、數(shù)據(jù)流(data streaming)、多協(xié)議封裝(Multi-protocol encapsulation,MPE)、數(shù)據(jù)輪放(data carousels),對象輪放(data carousels)和用戶定義服務(wù)(registered service)。而對應(yīng)于這6種業(yè)務(wù)模式有相應(yīng)的傳輸規(guī)范,構(gòu)成了DVB數(shù)據(jù)廣播協(xié)議結(jié)構(gòu)模型。這些方式有不同的應(yīng)用條件,其中的多協(xié)議封裝一般被用來傳送其他各式的數(shù)據(jù),實際中用得較多的是傳送IP數(shù)據(jù)。這些數(shù)據(jù)在傳送時候被封裝成封裝成數(shù)據(jù)包。

DVB標準的數(shù)據(jù)包的格式分為基于TS包、基于PES包和基于MPEG-2數(shù)據(jù)片3種格式。其中基于TS包格式,其固定長度為188 B,基于么有數(shù)據(jù)機制,數(shù)據(jù)管道采用這種方式;基于PES包格式是MPEG-2提供的一種長度可變的打包方式,最大包長為64 kB,提供數(shù)據(jù)流精確同步機制,所以DVB多選擇PES用于同步和被同步的碼流傳輸;贛PEG-2數(shù)據(jù)片也是長度可變的打包方式,最大包長為4 kB,多協(xié)議封裝和輪放采用這種打包方式。

3 多協(xié)議封裝

多協(xié)議封裝規(guī)范支持在DVB信道上傳輸符合其他通信協(xié)議的數(shù)據(jù),他針對IP包進行了優(yōu)化,也可用于傳輸其他網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)。利用DVB多協(xié)議封裝可以實現(xiàn)單點廣播(數(shù)據(jù)包發(fā)給單一接收者)、多點廣播(發(fā)給一組接收者)、廣播(發(fā)給所有接收者)。 一個數(shù)據(jù)片可以包含許多具有同一個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ù)據(jù)封裝格式如圖1所示。

表1是MPE包頭的部分字段,table_id的值一般為3E,說明MPE報的開始。section_syntax_indicator置"1"說明使用CRC校驗,privator_indicator置"0",resetved置"11",section_length說明該MPE報的長度,包括CRC校驗的4個字節(jié)。MAC_address_6是目的MAC地址的最低字節(jié),目的MAC地址共六個字節(jié),依次是MAC_address_1到MAC_address_6,分別對應(yīng)于MAC的六個字節(jié)。payload_scrambhng_control和address_scrambling_control分別定義負載和MAC地址的加密模式,他們的值為"0X00"時說明負載沒有加密,MAC地址也沒有加密。

IP協(xié)議是網(wǎng)絡(luò)層的協(xié)議,在網(wǎng)絡(luò)層上的運輸層中的協(xié)議有TCP、UDP等,如圖2所示。具體的協(xié)議類型在IP包頭的"協(xié)議"字段即第十個字節(jié),該字段說明使用何種類型的傳輸層協(xié)議。當他的值為"0x06"時說明傳輸層使用的是TCP協(xié)議;當他的值為"0x11"時說明傳輸層使用的是UDP協(xié)議。而TCP協(xié)議和UDP協(xié)議又分別對應(yīng)于具體的應(yīng)用層協(xié)議,如TCP協(xié)議常對應(yīng)于應(yīng)用層的SMTP,HTTP,TELNET等協(xié)議,而UDP協(xié)議常對應(yīng)于應(yīng)用層的DNS,RIP等協(xié)議。該字段在對收到的衛(wèi)星數(shù)據(jù)進行分類接收并還原的過程中非常重要。IP包和TCP包的解析按各自的封裝格式進行,在他們的包頭中指明了發(fā)送方和接收方的IP地址、段長度、包頭長度、協(xié)議類型、發(fā)送方和接收方端口號、數(shù)據(jù)偏移等。具體字節(jié)含義可在相關(guān)協(xié)議中查看。

下面對一段多協(xié)議封裝的IP數(shù)據(jù)進行分析。數(shù)據(jù)首先要從DVB信道中進行采集,由于目前常用的DVB信號的符碼率可達到90 Mb/s,所以需要使用高速的數(shù)據(jù)采集設(shè)備才能采到完整的連續(xù)的數(shù)據(jù)包。采集下來的數(shù)據(jù)在保存的過程中數(shù)據(jù)也不能有丟失或錯誤,這樣才能保證分析的正確。

下面結(jié)合實際數(shù)據(jù)進行分析。采集下來的數(shù)據(jù)需要使用能對二進制數(shù)據(jù)進行編輯的軟件進行查看和分析。如圖3所示,該圖是數(shù)據(jù)分析軟件的界面,他顯示了MPE數(shù)據(jù)包的詳細內(nèi)容,其中第一行前面四個字節(jié)是MPE數(shù)據(jù)包的包頭,從中可看出,該段數(shù)據(jù)的PID值為"0x195",第五個字節(jié)"0X08"說明該MPE數(shù)據(jù)片在8個字節(jié)后以"3E"開始,其后的"0X041"說明該MPE數(shù)據(jù)片長度為65。第二行的"47、14、00、76、06、00"是目的MAC從低到高依次排列的6個字節(jié)。MPE數(shù)據(jù)包包頭共12個字節(jié)。緊接著MPE數(shù)據(jù)包包頭的是20個字節(jié)的IP包頭,以"0X45"開始,"4"說明是IPv4數(shù)據(jù)包,"5"說明5個單位共20個字節(jié),"0X00 34"說明該IP包長度為52個字節(jié)。IP包頭中的第十個字節(jié)"0X06"說明該IP包承載的是TCP協(xié)議,包頭的后十個字節(jié)是源地址和目的地址,分別為"4524 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ù)據(jù)偏移為32個字節(jié),即頭部結(jié)束后還有12個字節(jié)才是載荷數(shù)據(jù)。

圖4是一份計數(shù)指示從0X14到0X1A的連續(xù)的IP數(shù)據(jù)片,每行設(shè)置為顯示204個字節(jié),正好為DVB的MPEG傳送流的包長,所以每行開始的都是同步字節(jié)"7E"。各行第四個字節(jié)為連續(xù)計數(shù)字段,可見他們是同一數(shù)據(jù)包的不同分段。負載在第一行開始,由第二個字節(jié)中的"4"指示。該行第四個字節(jié)"00"說明從其后第一個字節(jié)開始就是MPE數(shù)據(jù)片,以"3E"開始的12個字節(jié)為MPE包頭,其中"5E9"指示數(shù)據(jù)片長度為0x5E9,即1513。網(wǎng)卡地址為00D0D73003D7。緊接著的是IP包,以"45 00"開始。

圖5是一段含有用戶登錄文本信息的IP數(shù)據(jù)片,負載字段記錄有用戶登錄的日期、服務(wù)器名、數(shù)據(jù)長度等信息。在衛(wèi)星DVB信號中承載的多種數(shù)據(jù)如郵件、圖片等等業(yè)務(wù)都可以從負載中提取出來。

4 結(jié) 語

本文結(jié)合DVB多協(xié)議封裝的EN300468協(xié)議對數(shù)據(jù)封裝的格式進行了詳細分析,并針對負載的具體類型結(jié)合IP協(xié)議、TCP協(xié)議、UDP協(xié)議對具體數(shù)據(jù)進行了逐字段的分析,最后得到了可用于提取關(guān)鍵信息的數(shù)據(jù)。這些數(shù)據(jù)在DVB的傳送流中都是以二進制形式連續(xù)存在的,在實際工作中要想獲取負載中的有用的信息必須采用逐層剝離的方法用軟件來自動實現(xiàn)。這種方法在衛(wèi)星DVB數(shù)據(jù)承載的多業(yè)務(wù)數(shù)據(jù)的自動接收和分類等工作中是非常重要的。

作者:高毫林,黃焱

(解放軍信息工程大學 信息工程學院 河南 鄭州 450002)

來源:《現(xiàn)代電子技術(shù)》


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復“ZGDX”免費領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復“5GX3”免費領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息