協(xié)議封裝的漫談
現(xiàn)在的網(wǎng)絡(luò)不僅和電話捆綁,也同樣可以和一些衛(wèi)星網(wǎng)絡(luò),以及移動(dòng)網(wǎng)絡(luò)相互交錯(cuò)。那么在這里他們是如何實(shí)現(xiàn)通信的么?其實(shí)很簡單。這就是協(xié)議封裝的功能。那么下面我們就來看看協(xié)議封裝的基本概念和應(yīng)用。
目前衛(wèi)星傳送的信號(hào)不僅有常用的音視頻信號(hào),有其他可能含有關(guān)鍵信息的信號(hào),在這些信息的獲取過程中對DVB傳送的IP數(shù)據(jù)進(jìn)行分析有著重要的意義。本文首先對DVB數(shù)據(jù)廣播的方式進(jìn)行了概述,然后對多協(xié)議封裝的原理進(jìn)行了說明,***結(jié)合實(shí)例說明了這種封裝模式的應(yīng)用,說明了信息獲取的方法。
當(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)容并沒有進(jìn)行具體規(guī)定,這種開放性使得他成為多種格式數(shù)據(jù)的載體,除了廣播和電視節(jié)目外,也可用來完成數(shù)據(jù)檢索、郵件服務(wù)、視頻會(huì)議、遠(yuǎn)程教育、電子商務(wù)、電子收費(fèi)、遠(yuǎn)程醫(yī)療等業(yè)務(wù)。而軍用信息的傳送對信息獲取有更大的價(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ù)是對基于DVB傳輸標(biāo)準(zhǔn)MPEG-2的重要擴(kuò)展。在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ù),實(shí)際中用得較多的是傳送IP數(shù)據(jù)。這些數(shù)據(jù)在傳送時(shí)候被封裝成封裝成數(shù)據(jù)包。
DVB標(biāo)準(zhǔn)的數(shù)據(jù)包的格式分為基于TS包、基于PES包和基于MPEG-2數(shù)據(jù)片3種格式。其中基于TS包格式,其固定長度為188 B,基于么有數(shù)據(jù)機(jī)制,數(shù)據(jù)管道采用這種方式;基于PES包格式是MPEG-2提供的一種長度可變的打包方式,***包長為64 kB,提供數(shù)據(jù)流精確同步機(jī)制,所以DVB多選擇PES用于同步和被同步的碼流傳輸?;贛PEG-2數(shù)據(jù)片也是長度可變的打包方式,***包長為4 kB,多協(xié)議封裝和輪放采用這種打包方式。
多協(xié)議封裝
多協(xié)議封裝規(guī)范支持在DVB信道上傳輸符合其他通信協(xié)議的數(shù)據(jù),他針對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é)來指示下一個(gè)報(bào)文的起始位置。如果該字節(jié)的值不為零,凈荷單元起始位將被后移,后移的位置由該字節(jié)的值說明,如果該字節(jié)的值為0,即十六進(jìn)制的0x00,說明其后緊接著的就是MPE包。MPE包包括MPE包頭和MPE負(fù)載,MPE包頭為12個(gè)字節(jié),一般以"3E"開始。
MPE負(fù)載又包括IP包頭和IP包負(fù)載,IP包頭為20個(gè)字節(jié)。IP包負(fù)載一般由TCP/UDP包頭和TCP/UDP包負(fù)載組成,IP包頭中第十個(gè)字節(jié)指明了所用的傳輸層的協(xié)議是TCP還是UDP等,其他各字節(jié)含義將在后面說明。