新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于Winpcap的網(wǎng)絡(luò)流媒體識(shí)別算法研究與實(shí)現(xiàn)

基于Winpcap的網(wǎng)絡(luò)流媒體識(shí)別算法研究與實(shí)現(xiàn)

作者: 時(shí)間:2010-08-11 來(lái)源:網(wǎng)絡(luò) 收藏
0 引言
隨著計(jì)算機(jī)、視頻壓縮等關(guān)鍵技術(shù)的快速發(fā)展,技術(shù)目前已成為繼文字和圖片之后,互聯(lián)網(wǎng)信息傳播的主要形式。通過技術(shù),用戶可以方便地存取、查閱和播放網(wǎng)絡(luò)上的數(shù)據(jù)。如何從海量的網(wǎng)絡(luò)數(shù)據(jù)中快速發(fā)現(xiàn)流媒體數(shù)據(jù),是進(jìn)行網(wǎng)絡(luò)視頻服務(wù)質(zhì)量監(jiān)測(cè)、網(wǎng)絡(luò)流量統(tǒng)計(jì)、網(wǎng)絡(luò)視頻用戶行為分析及視頻內(nèi)容監(jiān)管等服務(wù)的前提和基礎(chǔ)。
網(wǎng)絡(luò)流媒體服務(wù)為應(yīng)用層服務(wù),其數(shù)據(jù)傳輸主要采用專有應(yīng)用層協(xié)議RTP/RTCP。因此,對(duì)網(wǎng)絡(luò)視頻數(shù)據(jù)流的發(fā)現(xiàn)首先是應(yīng)用層協(xié)議。針對(duì)應(yīng)用層協(xié)議的,文獻(xiàn)提出了一種以協(xié)議中出現(xiàn)頻率最高的字段作為特征串來(lái)協(xié)議的方法,且采用一個(gè)特征串來(lái)標(biāo)識(shí)一種協(xié)議。文獻(xiàn)提出了簽名字串的方法來(lái)識(shí)別應(yīng)用層協(xié)議,其主要針對(duì)的是P2P協(xié)議的范圍,且需要對(duì)整個(gè)報(bào)文通過匹配多個(gè)特征串來(lái)識(shí)別一種P2P協(xié)議,時(shí)間效率偏低。文獻(xiàn)提出了先分類后分組的識(shí)別應(yīng)用層協(xié)議及流量的方法,但此方法的本質(zhì)還是某些固定端口的,若對(duì)于通過隨機(jī)選擇端口而的應(yīng)用層協(xié)議,此方法就缺乏準(zhǔn)確性和靈活性。
本文通過分析網(wǎng)絡(luò)流媒體交互過程的特征,以應(yīng)用層傳輸協(xié)議對(duì)應(yīng)的關(guān)鍵特征字串為判斷依據(jù),設(shè)計(jì)了一種基于的網(wǎng)絡(luò)視頻流識(shí)別,了對(duì)網(wǎng)絡(luò)流媒體的發(fā)現(xiàn),并通過實(shí)驗(yàn)對(duì)本文設(shè)計(jì)的性能進(jìn)行了分析和驗(yàn)證。

1 Winpeap簡(jiǎn)介
是由伯克利分組捕獲庫(kù)派生而來(lái)的分組捕獲庫(kù),它在Windows操作平臺(tái)上對(duì)底層包的截取過濾。
是BPF模型和Libpcap函數(shù)庫(kù)在Windows平臺(tái)下網(wǎng)絡(luò)數(shù)據(jù)包捕獲和網(wǎng)絡(luò)狀態(tài)分析的一種體系結(jié)構(gòu),這個(gè)體系結(jié)構(gòu)是由一個(gè)核心的包過濾驅(qū)動(dòng)程序,一個(gè)底層的動(dòng)態(tài)連接庫(kù)Packet.dll和一個(gè)高層的獨(dú)立于系統(tǒng)的函數(shù)庫(kù)Libpcap組成。底層的包捕獲驅(qū)動(dòng)程序?qū)嶋H為一個(gè)協(xié)議網(wǎng)絡(luò)驅(qū)動(dòng)程序,通過對(duì)NDIS中函數(shù)的調(diào)用為Windows 95/98/NT/2000提供一類似于UNIX系統(tǒng)下Berkeley Packet Filter的捕獲和發(fā)送原始數(shù)據(jù)包的能力。Packet.dll是對(duì)這個(gè)BPF驅(qū)動(dòng)程序進(jìn)行訪問的API接口,同時(shí)它有一套符合Libpcap接口(UNIX下的捕獲函數(shù)庫(kù))的函數(shù)庫(kù)。
Winpcap包括三部分:第一個(gè)模塊NPF(NetgroupPacket Filter),是一個(gè)虛擬設(shè)備驅(qū)動(dòng)程序文件。它的功能是過濾數(shù)據(jù)包,并把這些數(shù)據(jù)包原封不動(dòng)地傳給用戶態(tài)模塊,這個(gè)過程中包括了一些操作系統(tǒng)特有的代碼。第二個(gè)模塊Packet.dll為Win32平臺(tái)提供了一個(gè)公共的接口。不同版本的Windows系統(tǒng)都有自己的內(nèi)核模塊和用戶層模塊。Packet.dll用于解決這些不同。調(diào)用Packet.dll的程序可以運(yùn)行在不同版本的windows平臺(tái)上,而無(wú)需重新編譯。第三個(gè)模塊wpcap.dll是不依賴于操作系統(tǒng)的,它提供了更加高層、抽象的函數(shù)。
Winpcap提供了一套標(biāo)準(zhǔn)的編程接口,與libpcap兼容,可使得原來(lái)許多UNIX平臺(tái)下的網(wǎng)絡(luò)分析工具快速移植過來(lái)便于開發(fā)各種網(wǎng)絡(luò)分析工具,充分考慮了各種性能和效率的優(yōu)化,包括對(duì)于NPF內(nèi)核層次上的過濾器支持,支持內(nèi)核態(tài)的統(tǒng)計(jì)模式,提供了發(fā)送數(shù)據(jù)包的能力。

2 應(yīng)用層協(xié)議RTP/RTCP
RTP/RFCP是一種應(yīng)用型的傳輸層協(xié)議,它沒有連接的概念,既可以建立在面向連接的底層協(xié)議上,又可以建立在面向無(wú)連接的底層協(xié)議上,因此RTP對(duì)傳輸層是獨(dú)立的。由于網(wǎng)絡(luò)流媒體的傳輸實(shí)時(shí)性要求較高,UDP的傳輸延時(shí)低于TCP,能與音頻和視頻流很好地匹配,所以,在實(shí)際應(yīng)用中,RFP/RTCP/UDP是流媒體傳輸?shù)闹饕獏f(xié)議,其結(jié)構(gòu)如圖l所示。

本文引用地址:http://butianyuan.cn/article/166648.htm



上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉