基于IP over TS系統(tǒng)網(wǎng)段內(nèi)地址擴(kuò)展技術(shù)的研究
1 引言
數(shù)字視頻廣播DVB(Digital Video Broadcasting)提供面向電視和機(jī)頂盒的無線廣播數(shù)字電視服務(wù),定義了一套基于動(dòng)態(tài)影像壓縮標(biāo)準(zhǔn)MEPG-2(Moving pictures Experts Group)傳輸流的數(shù)據(jù)包內(nèi)封裝數(shù)據(jù)的方法,根據(jù)衛(wèi)星、有線和地面等不同傳輸媒介,DVB標(biāo)準(zhǔn)相應(yīng)的分為DVB-S、DVB-C和DVB-T等。
IP over TS技術(shù)是通過數(shù)字地面電視網(wǎng)絡(luò)傳輸IP數(shù)據(jù)業(yè)務(wù)的關(guān)鍵技術(shù),它采用已有的基于DVB-T的發(fā)射和接收裝置提供無線IP訪問業(yè)務(wù)。IP over TS可為用戶提供高速移動(dòng)(<200 krn/h)狀態(tài)下的遠(yuǎn)程(<50 km)網(wǎng)絡(luò)訪問接口。以相對(duì)低廉的成本解決非固定以太網(wǎng)訪問的接入問題。
IP over TS系統(tǒng)必須提供IP數(shù)據(jù)包和TS數(shù)據(jù)包的封裝能力和地址解析能力。同網(wǎng)段內(nèi)地址擴(kuò)展技術(shù)主要為要求互聯(lián)的雙方在同一網(wǎng)段內(nèi)的特殊設(shè)備提供地址解析方案。它是IP over TS系統(tǒng)同網(wǎng)段內(nèi)應(yīng)用的關(guān)鍵技術(shù)。
2 問題的引入
圖1為使用IP overTS系統(tǒng)的網(wǎng)絡(luò)構(gòu)架。其中,A端接入以太網(wǎng),為B端提供訪問接口;同時(shí)A端和B端接入A1和B1,A1和B1分別為要求接入同一網(wǎng)段內(nèi)相互通訊的網(wǎng)絡(luò)設(shè)備。同網(wǎng)段內(nèi)的地址擴(kuò)展技術(shù)則提供A,B網(wǎng)絡(luò)的無縫連接。
3 鏈路擴(kuò)展法
對(duì)于上述模型,在以太網(wǎng)中通常采用鏈路擴(kuò)展法解決A端和B端網(wǎng)絡(luò)的連接問題。常用的設(shè)備有集線器和交換機(jī)。在無線系統(tǒng)中可提供對(duì)底層鏈路的支持來實(shí)現(xiàn)以太網(wǎng)連接。因此,鏈路擴(kuò)展法同樣適用于無線信道。
3.1 鏈路擴(kuò)展法原理
鏈路擴(kuò)展法的原理是通過在MAC層截取數(shù)據(jù)包并轉(zhuǎn)發(fā)以太網(wǎng)底層所有數(shù)據(jù)包。通過對(duì)底層鏈路的支持實(shí)現(xiàn)同一網(wǎng)段內(nèi)地址的擴(kuò)展。
3.2 鏈路擴(kuò)展法的實(shí)現(xiàn)
訪問數(shù)據(jù)鏈路層通常有3種方法:基于BSD的分組過濾器(BPF)、基于SVR4的數(shù)據(jù)鏈路接口(DLPI)和基于Linux的SOCKET_PACKET接口。由于該系統(tǒng)采用嵌入式Linux操作系統(tǒng),所以采用SOCKET_PACKET接口訪問數(shù)據(jù)鏈路層。實(shí)現(xiàn)過程為通過創(chuàng)建數(shù)據(jù)鏈路層socket進(jìn)行數(shù)據(jù)鏈路層的訪問。所有數(shù)據(jù)鏈路層的數(shù)據(jù)進(jìn)行TS封裝并通過TS無線信道傳輸至對(duì)端,對(duì)接收到的信號(hào)進(jìn)行解調(diào)、解封裝,將數(shù)據(jù)通過SOCKET PACKET接口發(fā)送到交換機(jī),再由交換機(jī)轉(zhuǎn)發(fā)。其程序主要語句為:
3.3 鏈路擴(kuò)展法的測(cè)試
測(cè)試上述方法:IP over TS系統(tǒng)采用2 Mb/s的無線信道,其中A端接入教育網(wǎng)內(nèi)任意交換機(jī)并設(shè)定其IP地址為同網(wǎng)段內(nèi)可用IP地址,無線B端通過IP over TS系統(tǒng)接入遠(yuǎn)程交換機(jī)且IP地址和A端網(wǎng)絡(luò)處于同一網(wǎng)段,交換機(jī)端連接測(cè)試主機(jī)B1。A端主機(jī)A1每秒發(fā)送300 KBUDP數(shù)據(jù)至主機(jī)B1,B1主機(jī)同時(shí)每秒發(fā)送300 KB UDP數(shù)據(jù)至主機(jī)A1。在B端IP over TS系統(tǒng)處統(tǒng)計(jì)接收到的有效數(shù)據(jù)總量(UDP協(xié)議發(fā)送的數(shù)據(jù))和信道傳輸數(shù)據(jù)總量。測(cè)試結(jié)果如圖2所示。
3.4 鏈路擴(kuò)展法測(cè)試分析
從圖2的測(cè)試結(jié)果看出,鏈路擴(kuò)展法的主要問題:無線信道的有效數(shù)據(jù)占有率不穩(wěn)且在部分時(shí)段明顯下降,導(dǎo)致碼率接近信道容量的實(shí)時(shí)圖像傳輸出現(xiàn)卡圖或馬賽克。假如所采用的IP over TS系統(tǒng)的無線帶寬為2 Mb/s,在鏈路層進(jìn)行數(shù)據(jù)包獲取和轉(zhuǎn)發(fā)通常會(huì)遇到ARP數(shù)據(jù)包、各種的廣播以及其他非載荷數(shù)據(jù)。對(duì)于2 Mb/s的無線通信鏈路,這些額外數(shù)據(jù)會(huì)占用部分傳輸帶寬而導(dǎo)致系統(tǒng)有效數(shù)據(jù)傳輸速率下降。
4 鄰接表法
4.1 鄰接表法原理
鄰接表法基于鏈路擴(kuò)展法并對(duì)其進(jìn)行改進(jìn),鄰接表法過濾了鏈路層的 ARP數(shù)據(jù)包和其他廣播數(shù)據(jù),從而提升了無線信道的傳輸效率。ARP南IP層復(fù)用,可解析局域網(wǎng)內(nèi)任意合法第三層協(xié)議和第二層硬件地址之間的映射關(guān)系。當(dāng) A端設(shè)備訪問B端設(shè)備時(shí),由于過濾ARP數(shù)據(jù)包,使得A端設(shè)備認(rèn)為B端設(shè)備未在線或通過網(wǎng)關(guān)轉(zhuǎn)發(fā),導(dǎo)致通訊不能正常進(jìn)行。如果將A端IP over TS系統(tǒng)設(shè)定為默認(rèn)網(wǎng)關(guān),會(huì)導(dǎo)致A端的其他設(shè)備不能訪問上層以太網(wǎng)。可采用偽造ARP協(xié)議進(jìn)行同網(wǎng)段內(nèi)地址擴(kuò)展解決此問題。由于ARP協(xié)議是建立在友好通信、充分信任基礎(chǔ)上的協(xié)議,因此很容易通過欺騙的手段獲取發(fā)送到其他主機(jī)的IP數(shù)據(jù)包。欺騙的整個(gè)流程為:(1)統(tǒng)計(jì)IP over TS系統(tǒng)兩端分別連接設(shè)備的IP地址,分別記錄到對(duì)方的鄰接表中;(2)將鄰接表映射到Hash表中,Hash表記錄是否主機(jī)在線;(3)當(dāng)無線的任意一端請(qǐng)求數(shù)據(jù)發(fā)送時(shí)發(fā)送ARP協(xié)議,查找Hash表,如果此IP地址存在于鄰接表中,回復(fù)ARP協(xié)議進(jìn)行數(shù)據(jù)發(fā)送欺騙。由于整個(gè)網(wǎng)絡(luò)被無線鏈路隔開,所以欺騙一定成功;(4)獲取發(fā)送到對(duì)端的IP數(shù)據(jù),進(jìn)行數(shù)據(jù)的TS封裝和轉(zhuǎn)發(fā);(5)丟棄接收到的其他廣播數(shù)據(jù)。
4.2 鄰接表法實(shí)現(xiàn)
讀取NextHost.txt鄰接表,Hash每個(gè)IP地址。while(1)
if(截獲以太網(wǎng)數(shù)據(jù))
if(是ARP協(xié)議同時(shí)請(qǐng)求IP地址對(duì)應(yīng)的Hash數(shù)據(jù)為真)
以本機(jī)Mac地址回復(fù)ARP協(xié)議
else if(非廣播數(shù)據(jù))
將數(shù)據(jù)截取到IP層發(fā)送到TS封裝隊(duì)列
endwhile
4.3 鄰接表法的測(cè)試和分析
鄰接表法的測(cè)試方法和鏈路擴(kuò)展法的測(cè)試方法相同,測(cè)試結(jié)果如圖3所示。
鄰接表法提升了系統(tǒng)有效數(shù)據(jù)載荷,信道有效數(shù)據(jù)的穩(wěn)定性和占有率得到提高。但由于需統(tǒng)計(jì)和編制地址鄰接表,每次IP地址變動(dòng)都要修改鄰接表,導(dǎo)致IP over TS系統(tǒng)應(yīng)用的靈活性不足。同時(shí),IP over TS系統(tǒng)基于嵌入式系統(tǒng)開發(fā),修改鄰接表的操作較麻煩,因此對(duì)于自動(dòng)分配IP地址和頻繁變動(dòng)布局的網(wǎng)絡(luò)應(yīng)變能力不夠。
5 自適應(yīng)鄰接表法
5.1 自適應(yīng)鄰接表原理
自適應(yīng)鄰接表法基于鄰接表法。但它解決了鄰接表法中缺乏靈活性的問題。自適應(yīng)鄰接表法不再需要手動(dòng)統(tǒng)計(jì)IP地址和編輯鄰接表。它自動(dòng)獲取各自網(wǎng)段中的鄰接表并發(fā)送到對(duì)端進(jìn)行交換,特別適合對(duì)移動(dòng)設(shè)備和臨時(shí)設(shè)備提供無線網(wǎng)絡(luò)接入。同時(shí)自適應(yīng)鄰接表法也避免了發(fā)送過多的地址信息數(shù)據(jù)而占用有效數(shù)據(jù)帶寬。自適應(yīng)鄰接表法如下:(1)系統(tǒng)開機(jī),IP over TS設(shè)備向全網(wǎng)段內(nèi)發(fā)送ARP數(shù)據(jù)包,在一定的時(shí)間內(nèi)(10 s)將收到ARP回復(fù)的主機(jī)IP地址記錄入存根;(2)IP over TS兩端交換存根,并將交換后的存根進(jìn)行Hash映射;(3)如果有主機(jī)上線,主機(jī)將發(fā)送一個(gè)ARP消息確保IP地址不沖突。IP over TS系統(tǒng)查找對(duì)端IP地址列表。如果此IP地址可用,則將該IP地址加入地址列表存根并準(zhǔn)備發(fā)送修改消息至對(duì)端。如果此IP地址不可用(對(duì)端存在該IP地址);則IP over TS系統(tǒng)回復(fù)該ARP消息表明此IP不可用(IP地址存在沖突);(4)IP over TS系統(tǒng)每隔10 min向網(wǎng)絡(luò)中的每臺(tái)主機(jī)廣播ARP數(shù)據(jù)包用來輪詢下線的主機(jī)同時(shí)修改存根,將修改操作發(fā)至對(duì)端網(wǎng)絡(luò)。
通過上述4個(gè)步驟,IP over TS系統(tǒng)就可知任意時(shí)刻網(wǎng)絡(luò)兩端的地址信息并確認(rèn)是否為欺騙,轉(zhuǎn)發(fā)數(shù)據(jù)包。
5.2 存根交換幀
TS的標(biāo)準(zhǔn)格式由MPEG2標(biāo)準(zhǔn)組制定。其中PID規(guī)定傳輸流中的數(shù)據(jù)類型。PID是在TS幀頭中預(yù)留的13比特?cái)?shù)據(jù)。對(duì)于第1次存根交換和IP數(shù)據(jù)交換,采用指定PID標(biāo)識(shí)。如果要添加或刪除一臺(tái)主機(jī)信息,PID的生成規(guī)則如下:
PID 0b00000 0000 0000
添加:0b00001 XXXX xxxx;其中XXXX XXXX表明主機(jī)地址。
刪除:0b00010 XXXX xxxx;其中XXXX XXXX表明主機(jī)地址。
在該P(yáng)ID出現(xiàn)的情況下,TS中的數(shù)據(jù)只有2種類型:一種是帶有IP數(shù)據(jù)的載荷數(shù)據(jù)包和單純發(fā)送修改消息的數(shù)據(jù)包。這兩種包可通過IP封裝算法進(jìn)行區(qū)分。同時(shí)考慮到A類和B類地址的問題,通過子網(wǎng)掩碼的運(yùn)算來確定多少個(gè)TS修改幀決定一臺(tái)主機(jī)地址。A類地址需3個(gè)TS幀修改一個(gè)主機(jī)地址,B類地址需2個(gè) TS幀,C類地址需1個(gè)。
自適應(yīng)鄰接表法需2個(gè)原始socket協(xié)同工作。ARPsocket用來處理ARP相關(guān)的所有消息。IP socket用來捕獲發(fā)往該MAC地址的所有數(shù)據(jù)包。同時(shí),和鄰接表法一樣。自適應(yīng)鄰接表法由于在無線信道傳輸?shù)倪^程中剔除了MAC層幀頭信息,這樣在無線信道中每傳送1個(gè)IP數(shù)據(jù)包就可省14個(gè)字節(jié)的流量,進(jìn)一步提高了系統(tǒng)信道的有效利用率。
5.3 自適應(yīng)鄰接表實(shí)現(xiàn)
5.3.1 數(shù)據(jù)捕獲線程
5.4 自適應(yīng)鄰接表法的測(cè)試及結(jié)果分析
自適應(yīng)鄰接表的測(cè)試方法和鏈路擴(kuò)展法的測(cè)試方法相同,測(cè)試結(jié)果如圖4所示??煽闯?,采用自適應(yīng)鄰接表法后。信道有效數(shù)據(jù)的穩(wěn)定性和占有率都與鄰接表法保持一致,優(yōu)點(diǎn)是增加了系統(tǒng)配置的靈活性。
6 結(jié)論
鏈路擴(kuò)展法可解決IP over TS系統(tǒng)在同網(wǎng)段內(nèi)地址擴(kuò)展問題,但對(duì)于無線信道該方法存在著有效數(shù)據(jù)占有率不穩(wěn)定且不足的問題。針對(duì)這些問題,將鏈路擴(kuò)展法改進(jìn)為鄰接表法,同時(shí)針對(duì)鄰接表法缺失靈活性的問題將其改進(jìn)為自適應(yīng)鄰接表法。通過航天某返回艙數(shù)傳鏈路項(xiàng)目的測(cè)試表明,自適應(yīng)鄰接表法可有效解決IP over TS系統(tǒng)在同網(wǎng)段內(nèi)地址擴(kuò)展問題,能夠使無線信道的有效數(shù)據(jù)占用率趨于穩(wěn)定并有所提高。將該方法應(yīng)用在無線信道的實(shí)時(shí)圖像傳輸系統(tǒng),圖像質(zhì)量得到了明顯改善。