999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

DVB-S/S2信道中網頁內容的盲提取方法研究

2017-06-05 15:01:58邸晨旭
無線電工程 2017年6期

邸晨旭

(中國電子科技集團公司第五十四研究所,河北 石家莊050081)

DVB-S/S2信道中網頁內容的盲提取方法研究

邸晨旭

(中國電子科技集團公司第五十四研究所,河北 石家莊050081)

衛星寬帶互聯網業務中常用DVB-S/S2信道傳輸IP業務,基于衛星互聯網的內容監管的需要,提出一種從DVB-S/S2信道中盲提取網頁內容的方法。對解調后碼流類型進行盲識別并完成傳輸流(TS)和通用流(GS)的同步,對其IP報文封裝協議類型進行盲識別并提取IP數據,對IP數據中HTTP會話進行識別,并設計了容錯算法通過會話的單向數據流提取其傳輸的網頁內容。對實際衛星信號的測試結果表明,該方法能夠有效地從DVB-S/S2信道中提取出網頁內容。

衛星寬帶互聯網;DVB-S;DVB-S2;盲提取

0 引言

DVB-S[1]和DVB-S2[2]標準作為衛星數字視頻廣播標準,目前廣泛應用于衛星廣播通信系統中。基于DVB 標準的寬帶衛星通信系統,系統的前向鏈路采用DVB-S/S2 標準、TDM[3]的工作方式;返向鏈路采用DVB-RCS[4]標準、MF-TDMA[5]的工作方式[6]。隨著IP 技術的發展,地面通信網絡幾乎所有的網絡設備和終端都支持TCP/IP 協議[7]。數字視頻廣播的因特網協議(Internet Protocol over Digital Video Broadcasting,IP over DVB)技術以其對數據廣播、組播業務的良好支持,目前已廣泛應用于遠程教育、寬帶數據廣播等領域[8]。隨著網絡技術的發展,互聯網已經深入到社會各個角落,內容安全已經成為當前互聯網網絡安全中最重要的議題之一[9]。文獻[10-13]采用通過在局域網結點進行數據抓包方法對網內用戶瀏覽的內容進行提取。衛星信號的非合作接收條件下,采用的IP封裝的各層協議格式不同,并且通常只能接收到網絡會話中一個方向的數據流,傳統的網絡內容提取方法并不適用。本文針對DVB-S/S2信道非合作接收條件,設計了一種能夠自動識別并解析碼流獲得IP報文的方法,并設計了一種容錯算法對IP報文中的HTTP會話的單向流進行重組提取網頁內容的方法。

1 DVB-S/S2碼流類型盲識別

1.1 DVB-S/S2碼流分析

DVB碼流主要分為傳輸流(TS)和通用流(GS)2種。TS流是幀長為188 Byte,且每幀第1個Byte為“0x47”。GS流沒有固定的格式,按連續流處理。在DVB-S標準中,封裝的數據流只能是TS流,而在DVB-S2標準中,擴充了GS流的支持。對于DVB-S信號,經過解調、糾錯和解擾后的碼流即為TS流。對于DVB-S2信號過解調、糾錯和解擾后的碼流是基帶幀(BB-Frame)格式,如圖1 所示[2]。

圖1 DVB-S2標準中TS流與GS流的封裝方法

基帶幀由80 bit的頭部和數據域組成。頭部指示了數據域的封裝格式,包括圖1中5個域和1 Byte的CRC-8校驗,CRC-8校驗對頭部前9個Byte進行校驗。其中,MATYPE 域表示輸入流的格式,調制類型以及傳輸的滾降系數。MATYPE 的首個Byte的前2個bit為用來指示數據域的流類型,即是TS流還是GS流。DFL表示基帶幀數據域總長度,單位為bit。

當采用TS流傳輸時,UPL表示用戶包長度,單位為bit,為1 504 bit(188 Byte)。TS流在封裝成基帶幀時,將同步字節“0x47”提取出來寫入SYNC字段中,而原來同步字節的位置,被替換成該188 Byte的TS數據包的CRC-8校驗。在解析的時候,應當采用相反的步驟,對每個數據包進行CRC-8校驗,輸出校驗通過的數據包并將校驗位替換成“0x47”。SYNCD表示基帶幀數據域起始位置,即到該基帶幀首個用戶包的距離,SYNCD值為65 535時,表示基帶幀數據域為空。

當采用GS流傳輸時,僅DFL有效,表示基帶幀數據域總長度,單位為bit。

1.2 TS流盲識別與同步

TS流是由188 Byte的等長幀組成,且首位為同步字節,值為0x47,對TS流輸出進行盲識別關鍵在于判斷碼流是否存在以188 Byte為間隔的值為0x47的Byte。在工程實踐中,傳輸過程中存在Byte丟失、錯誤等情況,需要連續緩存多個幀才可以判斷和同步TS流,這樣需要較大的內存開銷。由于碼流通常是串行輸入,提出了一種狀態轉移的TS流同步方法。該方法僅需要保留1個狀態變量、1個計數器和1 Byte的輸入緩存即可完成TS流盲識別與同步。

數據輸入時,初始狀態為狀態1(失鎖)。

狀態1(失鎖):如果輸入Byte為0x47,設置計數器為N*188(N為判定TS流同步需要的連續同步幀數),轉移到狀態2,否則保持在狀態1。

狀態2(同步中):每輸入1 Byte,計數器減1。如果計數器為188的整數倍,判斷輸入Byte是否為0x47,如果不是,轉移到狀態1,否則再判斷計數器是否為0,如果是,計數器設置為188,轉移到狀態3,否則保持在狀態2。

狀態3(鎖定):每輸入1 Byte,計數器減1。如果計數器為0且輸入Byte是不為0x47,轉移到狀態1,否則保持在狀態3。該狀態表示碼流已經鎖定。

算法所同步出的TS流,圈定的為同步字節0x47,如圖2所示。

圖2 TS流同步結果

1.3 GS流盲識別與同步

GS流的輸出通常是保留了基帶幀頭的部分,方便數據的同步和解析。GS流是由不等長幀組成,在每個幀頭的DFL域指示了幀長。識別與同步GS流首先要找到一個10 Byte的序列滿足CRC-8校驗,并認為其為BB-Header,并根據DFL的長度跳過數據域,然后判斷下一個10 Byte是否滿足CRC-8校驗,連續同步N幀即為鎖定。同樣采用狀態轉移的GS流的同步方法來解決GS流的盲識別與同步。不同于TS流的處理方法,需要一個10 Byte的FIFO來作為CRC-8校驗和解析DFL值。并且設置2個計數器,Byte計數器用于統計當前幀的位置,幀計數器用于統計連續同步的幀數量。

數據輸入時,初始狀態為狀態1(失鎖)。

狀態1(失鎖):每輸入1 Byte,將該Byte寫入FIFO,若FIFO中的10 Byte的CRC-8校驗通過,設置Byte計數器為DFL/8,幀計數器為N(N為判定TS流同步需要的連續同步幀數),轉移到狀態2,否則保持在狀態1。

狀態2(同步中):每輸入1 Byte,將該Byte寫入FIFO,Byte計數器減1。如果Byte計數器為0,判斷FIFO中的10 Byte CRC-8校驗通過,如果不是,轉移到狀態1,否則幀計數器減1。再判斷幀計數器是否為0,如果是,Byte計數器設置DFL/8,轉移到狀態3,否則保持在狀態2。

狀態3(鎖定):每輸入1 Byte,將該Byte寫入FIFO,Byte計數器減1。如果Byte計數器為0,若FIFO中的10 Byte CRC-8校驗不通過,轉移到狀態1,否則保持在狀態3。該狀態表示碼流已經鎖定。

該算法對GS流的同步效果示意如圖3所示。被圈定的Byte為BB-Header。

圖3 GS流同步結果

2 IP報文封裝協議盲識別與提取

2.1 多協議封裝(MPE)

MPE[14]是將IP報文封裝在TS流中的一種協議,于1996年首次被提出,自此成為DVB-S中傳輸IP數據普遍接受并使用的標準。MPE封裝方式將一個IP報文封裝到TS流的程序特殊信息(PSI)表中。該PSI表的table_id通常為0x3e。采用MPE封裝的PSI表,表頭擴展為MPE頭,并且在采用CRC-32校驗。多協議封裝示意如圖4所示。

圖4 多協議封裝示意

判斷DVB碼流是否包含MPE封裝的IP報文,主要利用PSI表頭是否為0x3e以及CRC-32校驗,和最后提取出來的IP報文的頭部是否通過IP頭校驗算法來確認,如圖5 所示。最后將通過校驗的IP報文輸出。

圖5 MPE封裝IP報文的識別與提取

2.2 輕量封裝(ULE)

ULE[15]提供了一種簡單的在TS流中封裝IP數據包的機制,該方法于2005年12月被IETF采用為RFC標準。該封裝方法對IP報文作為PDU僅增加一個很小的頭部。最小ULE頭部僅有4個Byte,包含目的地址缺省域、長度域和類型域。判斷與解析采用ULE封裝的IP數據時,僅需要解析ULE頭并判斷IP報頭是否校驗通過即可。目前衛星信號采用該協議的較少,尚未有實際數據。

2.3 通用流封裝(GSE)

在GS流中,通常可見的是GSE封裝[16]。GSE封裝采用了不定長幀,協議規定了 IP數據可以封裝在1個或多個GSE包中,一個基帶幀又可以包含1個或者多個GSE包,如圖6 所示。

圖6 GSE封裝示意

GSE包頭包含了每個GSE包長度,以及該GSE包是否包含一個獨立的IP報文,或者包含某個IP報文的起始段、中間段和結束段的標志。根據GSE頭,或者拼接恢復由多個GSE包組成的IP報文。最后輸出校驗通過的IP報文。

3 網頁內容的提取算法

3.1 TCP單向流重組算法

IP報文中網頁內容通常是采用HTTP協議傳輸,而HTTP又是基于TCP協議。所以要恢復IP報文中網頁內容,必須先對IP報文進行TCP流重組。要進行TCP流重組,首先要根據源地址、目的地址、源端口和目的端口對IP報文進行索引,將上述4個字段相同的IP報文放入相同的處理緩存中,再對不同的處理緩存進行TCP數據的重組,最終得到完整正確的TCP流。

由于TCP協議是面向連接的,計算機雙方通信必須先建立連接,然后數據傳送,最后將連續關閉。在建立和關閉連接時,采用3次握手方法,數據傳送時采用傳送與確認的方法進行對話。

DVB信道通常接收到的IP數據僅是TCP對話的一個方向的數據,僅能接收到發送的數據和發送確認ACK之一。對于僅接收到ACK的情況,因為沒有實際數據接收到,所以可以跳過此類對話。所以僅需要考慮只收到發送數據而無法收到ACK的情況。

在TCP的數據傳輸過程中,會出現和重傳與亂序的情況。如果在重傳超時時間內沒有收到接收方主機對某數據包的確認回復,發送方主機就認為此數據包丟失,并再次發送這個數據包給接收方,這稱為TCP重傳。數據包在網絡中沿著不同的路徑進行傳輸,先從發送端發出的數據包不一定先到達接收端,從而出現亂序的情況。在非合作接收DVB數據的情況下,會出現誤碼導致丟包的情況,這種情況下又會出現接收TCP報文丟失的情況。

為了解決接收TCP數據亂序、重傳和丟包的問題,需要為每一個對話開辟接收緩存,采用類似于TCP協議中實現流量控制和擁塞控制的滑動窗口技術。可以先接收先收到的后續數據,而不必等待當前數據分組。這種機制提高了數據處理的吞吐量,無需對輸入數據回溯。

類滑動窗口機制對數據流按Byte為單位編號。窗口的大小代表了接收緩存的大小。在接收端保留了2個指針分別指向了滑動窗口的兩端,如圖7 所示。最左邊的指針是窗口左邊界,是已接收到的數據分組,最右邊的指針是窗口的右邊界,指向允許接收的最大數據分組。隨著數據的接收,窗口從左向右滑動。當接收到了大于窗口右邊界的數據時,說明窗口左邊界數據接收超時,窗口將右邊界滑動到該位置,丟棄窗口左邊界尚未接收到的數據。

圖7 滑動窗口非合作接收TCP數據

3.2 HTTP網頁內容盲識別與提取算法

在拼接好的TCP數據流之后,需要判斷該TCP對話傳輸的內容是否為HTTP網頁,并且將HTTP傳輸的網頁內容進行存儲。

一個完整的HTTP對話通常包含請求消息與應答消息,每個消息包含請求或應答行、頭域和消息體3個部分。網頁內容通常存在于應答消息中,一個典型的HTTP應答消息如圖8 所示。

圖8 HTTP應答消息

其中HTTP應答報文中的首行叫做狀態行,其狀態代碼表示服務器對請求做出響應的狀態是否成功。狀態碼由3位數字構成,3位數字的首位表示響應的類型,分別是:1(通知信息),2(成功),3(重定向),4(客戶端錯誤)和5(服務器端錯誤)。HTTP網頁內容通常在應答消息部分,而且包含網頁內容的狀態代碼應該為2xx(成功),所以恢復網頁內容首先要在TCP流中篩選出該部分,即符合“HTTP/X.X 2XX OK ”字串開頭的部分,并將該消息的消息體保存為文件。

狀態行之后是HTTP應答頭域,其中比較重要的字段是Content-Length表示消息體長度,Content-Type表示消息體的內容類型,保存消息體內容為文件時,需要根據其設置文件擴展名。

若服務器對WEB信息進行了壓縮,會在報文頭部增加Content-Encoding字段,其值為gzip或者deflate(由于HTTP壓縮特性為可選項,不使用HTTP編碼時,報文頭部不會加入該字段)[11]。這時HTTP消息的內容還未經過解壓,是一段編碼過的內容,無法呈現給用戶。所以,需要對經過HTTP壓縮的內容解壓縮。HTTP壓縮使用的是通用的壓縮算法gzip和deflate,經過對數據的解壓縮、校驗,然后再轉存成文件呈現給用戶。

3.3 實驗結果

從實際接收到衛星DVB-S/S2信道中恢復的IP報文和網頁圖片如圖9和圖10所示。實驗說明該方法能夠有效地從DVB-S/S2信道中提取網頁內容。

圖9 恢復的IP報文

圖10 恢復的網頁圖片

4 結束語

本文提出了一種從DVB-S/S2信道提取出IP報文并且恢復其中網頁內容的方法。該方法可以自動識別并同步TS流和GS流的輸入,然后識別不同的封裝協議格式并提取IP數據,并提出了一種適應衛星非合作接收情況下的TCP單向流重組算法,解決接收數據亂序、重傳和丟包的情況,最后恢復其中網頁的內容并保存成文件,并結合衛星實際信號進行了實驗。結果表明該方法能夠有效地從DVB-S/S2信道提取網頁內容。

[1] ETSIEN 300 421 V1.1.2(1997-08).Digital Video Broadcasting(DVB):Framing Structure,Channel Coding and Modulation for 11/12 GHz Satellite Services[S].

[2] ETSI EN 302 307 V1.2.1(2009-08).Digital Video Broadcasting (DVB):Second Generation Framing Structure,Channel Coding and Modulation Systems for Broadcasting,Interactive Services,News Gathering and Other Broadband Satellite Applications[S].

[3] 劉 欣,潘亞漢,韓 超,等.DVB-RCS 技術及其在航空衛星寬帶通信中的應用[J].電子質量,2012(5):18-20.[4] ETSI EN 301 790 V1.5.1(2009-05).Digital Video Broadcasting(DVB):Interaction Channel for Satellite Distribution Systems[S].

[5] 汪春霆,張俊祥,潘申富,等.衛星通信系統[M].北京:國防工業出版社,2012.

[6] 戈 靜,潘申富.DVB-S2前向鏈路傳輸能力評估[J].無線電通信技術,2015,41(2):32-34.

[7] 郄紹輝,楊 佳.基于IP的衛星通信終端設計與實現[J].無線電通信技術,2013,39(3):93-96.

[8] 栗志意,趙建國,晏 堅.IP over DVB封裝技術效率分析[J].清華大學學報(自然科學版),2009(8):1 126-1 130.

[9] 趙仲孟,陳 劍,張選平,等.網絡內容安全分析與對策[J].計算機工程,2002(5):41-43.

[10] 譚敏生,湯 亮.基于HTTP的網絡數據包還原技術研究[J].計算機技術與發展,2007(6):176-178.

[11] 王俊涵.高效網絡內容還原系統的設計與實現[D].長沙:湖南大學,2010.

[12] 陳 淼.基于數據包分析的網頁還原技術研究[J].中國科技信息,2011(16):77.

[13] 周林云.Web信息采集系統設計與實現[D].成都:西南交通大學,2013.

[14] ETSI EN 301 192V1.5.1(2009-11).Digital Video Broadcasting(DVB):Specification for Data Broadcasting[S].

[15] RFC 4326(2005).Unidirectional Lightweight Encapsulation (ULE)for Transmission of IP Datagram over an MPEG-2 Transport Stream[S].

[16] ETSI TS 102 606 V1.1.1(2007).Digital Video Broadcasting (DVB):Generic Stream Encapsulation(GSE)Protocol[S].

Research on Blind Extraction Method of Web Content inDVB-S/S2 Channel

DI Chen-xu

(The54thResearchInstituteofCETC,ShijiazhuangHebei050081,China)

In satellite broadband Internet service,DVB-S/S2 channel is used to transmit IP service.A method of blind extracting the content of the web page from the DVB-S/S2 channel is proposed based on the satellite Internet content supervision.Firstly,the type of the demodulated stream is blindly identified.And the Transport Stream(TS)and the Generic Stream(GS)are synchronized.Then,the IP packet encapsulation protocol type is blindly identified and IP data is extracted.Finally,a fault-tolerant algorithm is designed to extract the content of the web page from the single data stream of HTTP session.Test results of the real satellite signal show that the method can effectively extract the content of the web page from the DVB-S/S2 channel.

satellite broadband Internet service;DVB-S;DVB-S2;blind extraction

2017-03-06

通信網信息傳輸與分發技術重點實驗室基金資助項目(2016YFB0800300)。

10.3969/j.issn.1003-3106.2017.06.01

邸晨旭.DVB-S/S2信道中網頁內容的盲提取方法研究[J].無線電工程,2017,47(6):1-5.[DI Chenxu.Research on Blind Extraction Method of Web Content in DVB-S/S2 Channel[J]. Radio Engineering,2017,47(6):1-5.]

TN911

A

1003-3106(2017)06-0001-05

邸晨旭 男,(1986—),工程師。主要研究方向:通信信號分析。

主站蜘蛛池模板: 红杏AV在线无码| 久久青青草原亚洲av无码| 国产9191精品免费观看| 99热这里只有精品国产99| 在线精品自拍| 狠狠综合久久久久综| 亚洲va在线观看| 亚洲a级在线观看| 一级一级一片免费| 91蜜芽尤物福利在线观看| 一级成人a毛片免费播放| 丁香综合在线| 国产18页| 色噜噜综合网| 国产自视频| 亚洲最猛黑人xxxx黑人猛交| 国内精品久久人妻无码大片高| 亚洲三级电影在线播放| 久久99久久无码毛片一区二区| 久久久久人妻一区精品| 97久久人人超碰国产精品| 欧美日本一区二区三区免费| 亚洲色大成网站www国产| 国产丝袜无码精品| 91九色国产porny| 亚洲性视频网站| 国产在线观看91精品| 色久综合在线| 国产一级毛片在线| 亚洲日韩Av中文字幕无码| 2021国产精品自拍| 亚洲第一中文字幕| 九九热精品在线视频| 大香网伊人久久综合网2020| 日本不卡在线播放| 国产凹凸视频在线观看| 精品一區二區久久久久久久網站| 亚洲成人播放| 亚洲香蕉在线| 国产精品亚洲αv天堂无码| 日韩av在线直播| 在线精品亚洲国产| 2021国产在线视频| 免费毛片在线| 国产美女久久久久不卡| 亚洲91精品视频| 精品亚洲欧美中文字幕在线看| 在线视频亚洲欧美| 日韩在线网址| 国产网站一区二区三区| a欧美在线| 国产高清国内精品福利| 婷婷六月综合网| 免费一极毛片| 欧美A级V片在线观看| 国产青榴视频| 日韩国产另类| 亚洲啪啪网| 97久久人人超碰国产精品| 福利一区三区| 91视频99| 999在线免费视频| 欧美日本一区二区三区免费| 日本精品中文字幕在线不卡 | 亚洲欧美一区二区三区蜜芽| 亚洲福利视频网址| 色屁屁一区二区三区视频国产| 人人91人人澡人人妻人人爽| 国产精品美女自慰喷水| 最新精品久久精品| 久久黄色影院| 欧美爱爱网| 亚洲日韩第九十九页| 一区二区在线视频免费观看| 无码AV动漫| 狠狠干综合| 日韩免费视频播播| 真人高潮娇喘嗯啊在线观看| 亚洲欧美成人综合| 在线国产毛片手机小视频| 动漫精品啪啪一区二区三区| www.91在线播放|