淺談協(xié)議封裝的應(yīng)用
在網(wǎng)絡(luò)過(guò)渡的期間,大家應(yīng)該都有聽(tīng)說(shuō)過(guò)隧道技術(shù),這也就是我們今天重點(diǎn)要說(shuō)的協(xié)議封裝問(wèn)題。那么,協(xié)議封裝已經(jīng)在很多技術(shù)中有所體現(xiàn)了。今天我們主要說(shuō)一下DVB數(shù)據(jù)廣播協(xié)議的結(jié)構(gòu)。目前衛(wèi)星傳送的信號(hào)不僅有常用的音視頻信號(hào),有其他可能含有關(guān)鍵信息的信號(hào),在這些信息的獲取過(guò)程中對(duì)DVB傳送的IP數(shù)據(jù)進(jìn)行分析有著重要的意義。本文首先對(duì)DVB數(shù)據(jù)廣播的方式進(jìn)行了概述,然后對(duì)多協(xié)議封裝的原理進(jìn)行了說(shuō)明,***結(jié)合實(shí)例說(shuō)明了這種封裝模式的應(yīng)用,說(shuō)明了信息獲取的方法。
當(dāng)前,DVB的應(yīng)用已經(jīng)十分普及,尤其是用于傳送廣播電視節(jié)目的設(shè)備幾乎已經(jīng)遍布各地,這為應(yīng)用DVB標(biāo)準(zhǔn)傳達(dá)其他格式的數(shù)據(jù)提供了硬件基礎(chǔ)。而DVB標(biāo)準(zhǔn)地其傳送的數(shù)據(jù)包載荷的具體內(nèi)容并沒(méi)有進(jìn)行具體規(guī)定,這種開(kāi)放性使得他成為多種格式數(shù)據(jù)的載體,除了廣播和電視節(jié)目外,也可用來(lái)完成數(shù)據(jù)檢索、郵件服務(wù)、視頻會(huì)議、遠(yuǎn)程教育、電子商務(wù)、電子收費(fèi)、遠(yuǎn)程醫(yī)療等業(yè)務(wù)。而軍用信息的傳送對(duì)信息獲取有更大的價(jià)值。
DVB數(shù)據(jù)廣播協(xié)議結(jié)構(gòu)模型
DVB(Digital Video Broadcast)系統(tǒng)提供了在各種不同的傳輸媒介傳送MPEG傳輸流的手段,這些傳輸流一般都包含MPEG-2音視頻內(nèi)容。這種傳送音視頻節(jié)目是應(yīng)用得最多也最成熟的,在邊遠(yuǎn)地區(qū)提供了方便的低成本的接入方式,尤其是在"村村通"工程中發(fā)揮了巨大的作用。而以IP數(shù)據(jù)為主的數(shù)據(jù)傳送業(yè)務(wù)是對(duì)基于DVB傳輸標(biāo)準(zhǔn)MPEG-2的重要擴(kuò)展。在IP數(shù)據(jù)包中又可以封裝網(wǎng)頁(yè)、郵件、語(yǔ)音等多種數(shù)據(jù)。
針對(duì)不同的應(yīng)用需求,DVB規(guī)定了6種業(yè)務(wù)模式:數(shù)據(jù)管道(data piping)、數(shù)據(jù)流(data streaming)、多協(xié)議封裝(Multi-protocol encapsulation,MPE)、數(shù)據(jù)輪放(data carousels),對(duì)象輪放(data carousels)和用戶定義服務(wù)(registered service)。而對(duì)應(yīng)于這6種業(yè)務(wù)模式有相應(yīng)的傳輸規(guī)范,構(gòu)成了DVB數(shù)據(jù)廣播協(xié)議結(jié)構(gòu)模型。這些方式有不同的應(yīng)用條件,其中的多協(xié)議封裝一般被用來(lái)傳送其他各式的數(shù)據(jù),實(shí)際中用得較多的是傳送IP數(shù)據(jù)。這些數(shù)據(jù)在傳送時(shí)候被封裝成封裝成數(shù)據(jù)包。
DVB標(biāo)準(zhǔn)的數(shù)據(jù)包的格式分為基于TS包、基于PES包和基于MPEG-2數(shù)據(jù)片3種格式。其中基于TS包格式,其固定長(zhǎng)度為188 B,基于么有數(shù)據(jù)機(jī)制,數(shù)據(jù)管道采用這種方式;基于PES包格式是MPEG-2提供的一種長(zhǎng)度可變的打包方式,***包長(zhǎng)為64 kB,提供數(shù)據(jù)流精確同步機(jī)制,所以DVB多選擇PES用于同步和被同步的碼流傳輸?;贛PEG-2數(shù)據(jù)片也是長(zhǎng)度可變的打包方式,***包長(zhǎng)為4 kB,多協(xié)議封裝和輪放采用這種打包方式。
多協(xié)議封裝
多協(xié)議封裝規(guī)范支持在DVB信道上傳輸符合其他通信協(xié)議的數(shù)據(jù),他針對(duì)IP包進(jìn)行了優(yōu)化,也可用于傳輸其他網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)。利用DVB多協(xié)議封裝可以實(shí)現(xiàn)單點(diǎn)廣播(數(shù)據(jù)包發(fā)給單一接收者)、多點(diǎn)廣播(發(fā)給一組接收者)、廣播(發(fā)給所有接收者)。
一個(gè)數(shù)據(jù)片可以包含許多具有同一個(gè)PID的MPEG包。在MPEG包的凈荷中,報(bào)文依次緊湊排列。這就需要利用圖1中NMP字節(jié)來(lái)指示下一個(gè)報(bào)文的起始位置。如果該字節(jié)的值不為零,凈荷單元起始位將被后移,后移的位置由該字節(jié)的值說(shuō)明,如果該字節(jié)的值為0,即十六進(jìn)制的0x00,說(shuō)明其后緊接著的就是MPE包。MPE包包括MPE包頭和MPE負(fù)載,MPE包頭為12個(gè)字節(jié),一般以"3E"開(kāi)始。
MPE負(fù)載又包括IP包頭和IP包負(fù)載,IP包頭為20個(gè)字節(jié)。IP包負(fù)載一般由TCP/UDP包頭和TCP/UDP包負(fù)載組成,IP包頭中第十個(gè)字節(jié)指明了所用的傳輸層的協(xié)議是TCP還是UDP等,其他各字節(jié)含義將在后面說(shuō)明。