• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      DVB-S中即時通信語音流量識別技術研究

      2010-06-07 02:04:26張白愚
      電視技術 2010年9期
      關鍵詞:通信協(xié)議信令字節(jié)

      王 超,張白愚

      (信息工程大學 信息工程學院,河南 鄭州 450002)

      1 引言

      數(shù)字視頻廣播(Digital Video Broadcasting,DVB)是由國際數(shù)字視頻廣播組織提出的、適用于不同媒介的數(shù)據(jù)傳輸標準,DVB-S是基于衛(wèi)星信道的數(shù)字視頻廣播傳輸標準。衛(wèi)星通信覆蓋范圍廣,不受地域限制,DVB-S接收設備架設方便,性能穩(wěn)定,因此應用十分廣泛。DVB寬帶IP接入技術(IP over DVB)將地面通信網(wǎng)與DVBS衛(wèi)星通信系統(tǒng)連接起來,提供寬帶到戶的服務。

      即時通信(Instant Messenger,IM)是指能夠利用網(wǎng)絡即時發(fā)送和接收消息、文件、語音和視頻的業(yè)務。因其信息交互的迅速高效、費用低等特點,自面世以來迅速發(fā)展,用戶數(shù)量迅猛增長。目前,即時通信軟件種類繁多,主要有國外的MSN,ICQ和國內的QQ等。這些軟件在給人們帶來方便快捷的同時,也存在著很多安全隱患,容易被一些非法組織或個人用來傳播色情、反動言論及異端邪說等有害信息,對國家安全和社會穩(wěn)定構成了極大的危害。因此,需要對其流量進行有效的監(jiān)控。即時通信軟件公司不公開自己的通信協(xié)議,并且經常對協(xié)議進行修改,更新軟件版本,新版本的軟件往往界面更精美,功能更豐富,吸引用戶升級。因此,對新版本的通信協(xié)議進行分析并提出流量識別算法意義重大。

      2 DVB-S中的IP數(shù)據(jù)采集

      DVB-S采用MPEG-2標準傳輸復用比特流,MPEG-2系統(tǒng)層編碼有2種:傳輸流(Transport Stream,TS)和節(jié)目流(Program Stream,PS)。 TS是為易出錯的環(huán)境設計的,PS是為錯誤相對較少的環(huán)境設計的。DVB-S信道傳輸?shù)氖荰S。TS包組成如圖1所示,1個TS包包長為188 byte,其中包頭長 4 byte,由同步字節(jié)(sync-byte)、傳輸誤碼指示(transport_error_indicarot)、有效負載起始指示(payload_unit_start_indicator)、傳輸優(yōu)先級(transport_priority)、包標識(Packet Identification,PID)、傳輸加擾控制(transport_scramble_control)和連續(xù)計數(shù)器(continuity_counter)組成,其中同步字節(jié)的值為0x47,表示一個TS包的開始。包頭后的184 byte為有效負載,用于傳送已編碼的視音頻數(shù)據(jù)流[1]。負載起始處可能包含適應字段(adaption_field),由包頭的適應字段控制指示。

      多協(xié)議封裝(Multiple Protocol Encapsulation,MPE)將IP數(shù)據(jù)加上頭部和4 byte的尾部校驗放入TS的有效負載中。MPE頭部包含 12 byte,由 table_id,section_length,MAC_address,payload_scrambling_control,section_num ber和last_section_number等字段組成。table_id的值通常設定為0x3E,表示一個數(shù)據(jù)包分段的開始。IP數(shù)據(jù)的最大長度遠超過TS包長的188 byte,這時需要將IP數(shù)據(jù)分段,然后分別放入多個TS包的負載中。在這種情況下,如果最后一段數(shù)據(jù)沒有占滿一個TS包的負載,下一個新的MPE包將繼續(xù)填充該TS包。此時需要使用長度為1 byte的下一MPE頭起始指示(Next Message Pointer,NMP)來標志MPE包開始的位置。

      圖2是一段在TS中使用MPE封裝數(shù)據(jù)的實例。第1字節(jié)“0x47”標識一個TS包的開始,該TS包的PID為“0x03E8”,第 5 個字節(jié)為“0x00”,說明該 MPE 數(shù)據(jù)片在第6個字節(jié)開始,第6個字節(jié)為“0x3E”,驗證該段數(shù)據(jù)為MPE封裝,“0x01E9”說明該MPE數(shù)據(jù)片長度為489 byte。

      3 即時通信協(xié)議分析

      即時通信軟件每一年都會對版本進行一次或多次更新,所使用的通信協(xié)議也會有所更改,因此,對其新版本的通信協(xié)議進行分析,對協(xié)議識別與流量監(jiān)控來說是必要的。

      3.1 MSN通信協(xié)議分析

      MSN最新版本為MSN9.0,在該版本中邀請或被邀請與聯(lián)系人進行語音會話的消息語法如下:XXXTrlDMSNID;MEP IDNumberLength。

      其中,XXX為命令,發(fā)送邀請時為UUN,被邀請時為UBN。為空格,TrID為流水號,客戶端每發(fā)送一個新的消息,TrID增加1,MSNID為用戶的MSN賬號,如zhoujie-0001@hotmail.com。MEPID為一串長字符,Number的值取11或12,分析發(fā)現(xiàn),當命令中包含SIP信令時為12,否則為11。為換行符,Length為后消息體長度。下面是一個發(fā)送語音邀請的消息:

      由該消息可知,被邀請人的MSN賬號為zhoujie-0001@hotmail.com,消息體中包含用base64編碼過的SIP信令,消息體長度為3582 byte。

      對消息體中標簽中的內容進行base64解碼后可以發(fā)現(xiàn),MSN對SIP協(xié)議[2]的部分字段做了簡化,如:From 簡化為 f,To 簡化為 t,Call-Id 簡化為 i,SDP 協(xié)議定義的各域值則沒有變化。消息體較長,這里不再舉例。假設A發(fā)起會話邀請,一般的MSN信令傳遞過程如圖3所示。

      3.2 ICQ協(xié)議分析

      ICQ當前最新版本為6.5。其消息可劃分為FLAP,SNAC以及數(shù)據(jù)和參數(shù)3層[3]。ICQ的數(shù)據(jù)按照“類型,長度,值”的格式組織,稱為 TLV(Type,Length,Value)結構。

      圖4是一個語音通話邀請消息的示例,數(shù)據(jù)按每行6 byte顯示,可以很清楚地對應到FLAP和SNAC層的數(shù)據(jù)段。在最后一個TLV結構中發(fā)現(xiàn)傳送了一個1096 byte的SIP信令。

      3.3 QQ協(xié)議分析

      QQ是國內用戶使用最多的即時通信軟件,最新版本為QQ2009SP5。QQ對其發(fā)送的消息進行了加密,無法從它的會話協(xié)商消息中獲得客戶端點對點通信的IP地址和端口。文獻[4]提出凈荷特征匹配串有“SIP/user-agent:Tencent-VQQ”和“SIP/reason=100”等。 在本文的分析中發(fā)現(xiàn),新版本的QQ中相應的特征已經不存在。但其音頻包的特征較為明顯,QQ2009的音頻包較以前版本有多處改動。首先,數(shù)據(jù)包的首字節(jié)固定為0x05,第2,3字節(jié)為序號,每次增加1。QQ傳送語音和視頻時使用同一端口,當?shù)?字節(jié)為0x01時,說明數(shù)據(jù)包傳送的是音頻數(shù)據(jù),為0x03時,說明傳送的是視頻數(shù)據(jù)。第6字節(jié)后是QQ數(shù)據(jù)包頭封裝的RTP數(shù)據(jù)。

      3.4 即時通信協(xié)議對比

      3種即時通信軟件采用不同的通信協(xié)議,通過前面的分析可以得出以下結論:

      1)從安全角度對比3種通信協(xié)議,QQ對通信協(xié)議進行了加密,安全性最高;MSN對SIP協(xié)議進行了base64編碼,使通信內容不可見,安全性次之;ICQ采用明文傳輸,安全性最差。

      2)在通信方式上,3種即時通信協(xié)議建立點對點語音會話均需通過服務器發(fā)送建連消息,而服務器端口固定,MSN為1863,ICQ為5190,QQ為8000,使得第一時間能夠發(fā)現(xiàn)即時通信語音流量。

      3)在語音會話的控制信令體系方面,MSN和ICQ都使用SIP協(xié)議來建立會話連接,通過解析SIP信令可以找出會話雙方的點對點通信端口。

      4)在音頻數(shù)據(jù)包傳輸方面,3種通信協(xié)議都使用RTP傳輸語音數(shù)據(jù)。其中,MSN和ICQ直接使用,QQ對RTP協(xié)議進行了封裝。

      4 DVB-S中即時通信語音流量識別算法

      4.1 語音流量識別算法

      通過對即時通信協(xié)議的分析,筆者提出了一種基于協(xié)議流程和深度包檢測(Deep Packet Inspection,DPI)的DVB-S即時通信語音流量識別算法,算法包括3部分:

      1)DVB-S中IP數(shù)據(jù)采集。DVB-S接收機將TS包封裝成UDP包后通過Socket發(fā)送到語音流量監(jiān)控終端,在語音流量監(jiān)控終端上,通過設置Socket接收UDP數(shù)據(jù)并提取TS數(shù)據(jù)包。對接收到的TS包,去除TS包包頭、MPE包頭和校驗位,根據(jù)封裝數(shù)據(jù)的長度進行IP數(shù)據(jù)重組。短的IP數(shù)據(jù)不足188 byte,在TS負載的剩余部分可填充0xFF,也可將多個短IP數(shù)據(jù)封裝在同一TS中。在提取IP數(shù)據(jù)的過程中應注意,當一個TS封裝多個IP數(shù)據(jù)包時,NMP指示的是第一個IP數(shù)據(jù)包的位置。

      2)即時通信消息處理。獲取一個IP數(shù)據(jù)包,由第3節(jié)對即時通信協(xié)議分析得到的特征,判斷是否為MSN和ICQ的會話消息,這2種消息可由一個或多個IP包傳送,需要對消息拼接重組。得到完整的消息后,將其中的SIP信令,送入SIP協(xié)議解析模塊,這里只對INVITE,SIP/2.0200 OK,CANCEL 和 BYE 4種消息做處理,以降低算法復雜度。該模塊獲得其中的關鍵信息,包括收發(fā)雙方的賬號、呼叫ID、用于收發(fā)音頻數(shù)據(jù)包的IP地址和端口,DVB-S信道為單向信道,因此,只能得到一方的IP地址和端口。這里需要維護如下形式的會話信息表:

      當收到INVITE或 SIP/2.0200 OK(CSeq INVITE)時建立表,當收到CANCEL時刪除表,收到BYE時保存數(shù)據(jù)并刪除表。處理流程如圖6所示。

      3)即時通信音頻數(shù)據(jù)處理。獲取一個IP數(shù)據(jù)包,判斷該包是否為RTP數(shù)據(jù),如果是,查找會話信息表,將該IP數(shù)據(jù)包的源IP地址和源端口號與會話信息表中的IP地址和端口號進行匹配。如果匹配成功,則按RTP數(shù)據(jù)包序號將RTP負載存放到相應位置。由于無法由QQ消息獲得收發(fā)音頻數(shù)據(jù)的IP地址和端口,但它的音頻數(shù)據(jù)包有明顯的特征,不容易與其他數(shù)據(jù)相混淆,這里應用DPI匹配QQ音頻數(shù)據(jù)特征,當匹配成功時,查找會話信息表,如果信息存在,則將數(shù)據(jù)存儲,如果不存在,則建立關鍵信息表,并將IP地址和端口號存入表中,如圖7所示。

      4.2 算法驗證

      根據(jù)筆者提出的算法開發(fā)系統(tǒng),在實驗室自行開發(fā)的DVB-S機頂盒和PC機上驗證證明了其可行性。為定量驗證算法的有效性,在2臺連接互聯(lián)網(wǎng)的計算機上分別使用3種即時通信軟件進行語音會話,各呼叫100次,使用Ethereal軟件捕獲數(shù)據(jù)包保存,并抓取2 h的上網(wǎng)流量,其中包括瀏覽網(wǎng)頁、在線聽音樂、觀看視頻、游戲、使用BT、eMule、迅雷等工具下載等,共計2.13 Gbyte。使用即時通信語音流量監(jiān)控算法處理IP數(shù)據(jù)包,結果如表1所示。

      表1 即時通信語音流量監(jiān)控算法測試結果

      由于本文算法是為DVB-S的單向信道設計的,而實驗數(shù)據(jù)為雙向數(shù)據(jù),因此對識別會話次數(shù)做除2處理。從實驗結果可以看出,對MSN和ICQ采用的基于協(xié)議流程和DPI的語音流量識別方法,準確性很高,而對QQ的語音流量識別只應用了DPI進行特征匹配,因而引入了少量誤差,這種情況可以通過為語音包數(shù)量設定閾值來消除。

      5 小結

      著眼于DVB-S中即時通信語音流量監(jiān)控需求,筆者研究了DVB-S的TS流結構以及對IP數(shù)據(jù)的多協(xié)議封裝技術。在對MSN,ICQ和QQ 3種即時通信協(xié)議的語音會話消息和音頻數(shù)據(jù)包分析的基礎上,提出了DVB-S中即時通信語音流量識別算法,實現(xiàn)了對上述3種即時通信的語音流量識別,取得很好的效果。

      [1]ETSI EN 3004211997,Digital Video Broadcasting (DVB):framing structure channel coding and modulation for 11/12 GHz satellite services[S].1997.

      [2]糜正琨.IP網(wǎng)絡電話技術[M].北京:人民郵電出版社,2000.

      [3]李遠杰,劉渭鋒,張玉清,等.主流即時通軟件通信協(xié)議分析[J].計算機應用研究,2005,22(7):243-245.

      [4]王攀,金婷,張顱頤,等.基于智能會話關聯(lián)的騰訊語音流量識別算法[J].計算機工程,2007(17):l37-139.

      猜你喜歡
      通信協(xié)議信令字節(jié)
      No.8 字節(jié)跳動將推出獨立出口電商APP
      SLS字段在七號信令中的運用
      No.10 “字節(jié)跳動手機”要來了?
      移動信令在交通大數(shù)據(jù)分析中的應用探索
      基于信令分析的TD-LTE無線網(wǎng)絡應用研究
      消費導刊(2017年24期)2018-01-31 01:28:37
      基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設計
      簡談MC7字節(jié)碼
      基于DMX512通信協(xié)議的多路轉發(fā)器設計與研究
      LTE網(wǎng)絡信令采集數(shù)據(jù)的分析及探討
      基于NS-3的PLC多頻通信協(xié)議仿真平臺設計與實現(xiàn)
      電測與儀表(2016年2期)2016-04-12 00:24:52
      汕尾市| 姜堰市| 丹棱县| 隆子县| 夹江县| 阜南县| 富宁县| 南平市| 收藏| 定远县| 卓资县| 历史| 论坛| 盐池县| 建瓯市| 汝阳县| 新郑市| 昔阳县| 临江市| 沙坪坝区| 鄂托克旗| 库尔勒市| 稷山县| 淮安市| 南川市| 武隆县| 绥芬河市| 盈江县| 长宁区| 呼伦贝尔市| 什邡市| 伊宁市| 渝中区| 吐鲁番市| 密云县| 信阳市| 长宁区| 通许县| 广东省| 孙吴县| 揭西县|