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

基于Winpcap的網絡流媒體識別算法研究與實現

2010-04-12 00:00:00雪,蔡一兵,金偉信,
現代電子技術 2010年11期

摘 要:網絡流媒體的發現是網絡流媒體服務質量監測等行為的前提和基礎。通過對網絡流媒體傳輸協議的分析,提出一個基于Winpcap的網絡流媒體識別算法。經試驗證明,該算法能夠有效識別流媒體。

關鍵詞:Winpcap; 流媒體; RTP/RTCP; P2P

中圖分類號:TN919 文獻標識碼:A

文章編號:1004-373X(2010)11-0108-03

Study and Implementation of Network Streaming Media Recognition Algorithm

Based on Winpcap

SONG Xue1, CAI Yi-bing2, JIN Wei-xin2, WANG Meng2

(1. College of Communication Engineering, PLA University of Science and Technology, Nanjing 210007, China; 2. DECSEC, Beijing 100141, China)

Abstract: The discovery of network streaming media is the premise and foundation of network flow media service quality monitoring. The network flow media transport protocol is analyzed. A Winpcap-based network streaming media recognition algorithm is proposed according to the result of the protocol analysis. The test proves that the algorithm can effectively identify the streaming media.

Keywords: Winpcap; streaming media; RTP/RTCP; P2P

0 引 言

隨著計算機網絡、視頻壓縮等關鍵技術的快速發展,網絡流媒體技術目前已成為繼文字和圖片之后,互聯網信息傳播的主要形式。通過網絡流媒體技術,用戶可以方便地存取、查閱和播放網絡上的流媒體數據。如何從海量的網絡數據中快速發現流媒體數據,是進行網絡視頻服務質量監測、網絡流量統計、網絡視頻用戶行為分析及視頻內容監管等服務的前提和基礎。

網絡流媒體服務為應用層服務,其數據傳輸主要采用專有應用層協議RTP/RTCP[1]。因此,對網絡視頻數據流的發現首先是識別應用層協議。針對應用層協議的識別,文獻[2]提出了一種以協議中出現頻率最高的字段作為特征串來識別協議的方法,且采用一個特征串來標識一種協議。文獻[3]提出了基于簽名字串的方法來識別應用層協議,其主要針對的是P2P協議的范圍,且需要對整個報文通過匹配多個特征串來識別一種P2P協議,時間效率偏低。文獻[4]提出了基于先分類后分組的識別應用層協議及流量的方法,但此方法的本質還是基于某些固定端口的,若對于通過隨機選擇端口而實現的應用層協議,此方法就缺乏準確性和靈活性。

本文通過分析網絡流媒體交互過程的特征,以應用層傳輸協議對應的關鍵特征字串為判斷依據,設計了一種基于Winpcap的網絡視頻流識別算法,實現了對網絡流媒體的發現,并通過實驗對本文設計的算法性能進行了分析和驗證。

1 Winpcap簡介

Winpcap是由伯克利分組捕獲庫派生而來的分組捕獲庫,它在Windows 操作平臺上實現對底層包的截取過濾。

Winpcap是BPF模型和Libpcap函數庫在Windows平臺下網絡數據包捕獲和網絡狀態分析的一種體系結構,這個體系結構是由一個核心的包過濾驅動程序,一個底層的動態連接庫Packet.dll 和一個高層的獨立于系統的函數庫Libpcap組成。底層的包捕獲驅動程序實際為一個協議網絡驅動程序,通過對NDIS中函數的調用為Windows 95/98/NT/2000提供一類似于 UNIX 系統下Berkeley Packet Filter的捕獲和發送原始數據包的能力。 Packet.dll 是對這個 BPF 驅動程序進行訪問的 API 接口,同時它有一套符合 Libpcap 接口(UNIX 下的捕獲函數庫)的函數庫[5]。

Winpcap包括三部分:第一個模塊NPF(Netgroup Packet Filter),是一個虛擬設備驅動程序文件。它的功能是過濾數據包,并把這些數據包原封不動地傳給用戶態模塊,這個過程中包括了一些操作系統特有的代碼。第二個模塊Packet.dll為Win32平臺提供了一個公共的接口。不同版本的Windows系統都有自己的內核模塊和用戶層模塊。Packet.dll用于解決這些不同。調用Packet.dll的程序可以運行在不同版本的Windows平臺上,而無需重新編譯。 第三個模塊Wpcap.dll是不依賴于操作系統的,它提供了更加高層、抽象的函數。

Winpcap提供了一套標準的編程接口,與libpcap兼容,可使得原來許多UNIX平臺下的網絡分析工具快速移植過來便于開發各種網絡分析工具,充分考慮了各種性能和效率的優化,包括對于NPF內核層次上的過濾器支持,支持內核態的統計模式,提供了發送數據包的能力。

2 應用層協議RTP/RTCP

RTP/RTCP是一種應用型的傳輸層協議,它沒有連接的概念,既可以建立在面向連接的底層協議上,又可以建立在面向無連接的底層協議上,因此RTP對傳輸層是獨立的。由于網絡流媒體的傳輸實時性要求較高,UDP的傳輸延時低于TCP,能與音頻和視頻流很好地匹配,所以,在實際應用中,RTP/RTCP/UDP是流媒體傳輸的主要協議[6],其結構如圖1所示。

圖1 網絡流媒體數據包結構

MAC headerIP headerUDP headerRTP header流媒體數據

圖1 網絡流媒體數據包結構

實時傳輸協議RTP是為實時數據提供端到端傳遞服務的協議,能夠傳遞時間信息和實現流同步。但RTP本身并不能為按順序傳送數據包提供可靠的傳輸機制,也不提供流量控制或擁塞控制,它依靠RTP控制協議RTCP配合實現控制服務。在RTP會話期間,各參與者周期性地交互RTCP包,RTCP包中含有己發送的數據包的數量、丟失的數據包的數量等統計資料,會話方可以利用這些信息動態地改變傳輸速率,甚至改變有效型。RTP數據包結構如圖2所示[7]。

圖2 RTP數據包結構圖

從圖2可以看出,RTP數據包由12個字節的固定RTP頭和不定長的連續多媒體數據組成,其中的多媒體數據可以是壓縮后數據。

其中比較重要的幾個域及其意義如下:

版本(V):2 b,此域定義了RTP的版本,此協議定義的版本是2。

填料(P):1 b,填料可能用于某些具有固定長度的加密算法,或者在底層數據單元中傳輸多個RTP包。

擴展(X):1 b,若設置擴展比特,表示固定頭(僅)后面跟隨一個頭擴展。

CSRC計數(CC):4 b,CSRC計數包含了跟在固定頭后面CSRC識別符的數目。

標志(M):1 b,標志用來允許在比特流中標記重要的事件,如幀范圍。

負載類型(PT):7 b,此域定義了負載的格式,由具體應用決定其解釋。協議可以規定負載類型碼和負載格式之間一個默認的匹配。其他的負載類型碼可以通過非RTP方法動態定義,RTP發射機在任意給定時間發出一個單獨的RTP負載類型。

序列號(SN):16 b,每發送一個RTP數據包,序列號加一,接收機可以據此檢測丟包和重建包。序列號的初始值是隨機的。

時間標志:32 b,時間標志反映了RTP數據包中第一個比特的抽樣瞬間。時間標志的起始值是隨機的。

SSRC:32 b,SSRC域用以識別同步源。標識符被隨機生成,以使在同一個RTP會話期中沒有任何兩個同步源有相同的SSRC識別符。

CSRC列表:0~15項,每項32 b。CSRC列表識別在此包中負載的有貢獻源。識別符的數目在CC域中給定[8]。

通過對RTP協議的分析,總結出以下幾條“流特征”:

(1) UDP負荷頭兩個比特是0x10(RTP的版本號是2)。

(2) RTP流負載類型PT值保持不變。即同一流媒體數據包RTP頭的9~15 b的值保持不變。

(3) RTP流的SN值為遞增。

(4) RTP包的SSRC值為定值,同一流媒體數據各包的SSRC值保持不變。

3 算法實現

首先通過Winpcap過濾器[9]對數據包進行捕獲,識別其中的握手數據包,然后分析呼叫信令的內容,獲取傳輸流媒體的源、目的地址和端口號,再通知給過濾器針對該源、目的地址和端口號進行數據捕捉;識別其中的UDP數據包進行分析,根據“流特征”進行分析,確定所要捕捉的RTP數據流。

采用以上4條作為判斷RTP流量的必要條件,當對每一個UDP數據流,如能連續檢出4個包符合上述策略,則認定其滿足為RTP數據流的充分條件。

經過大量實際數據的測試,該算法可以有效識別網絡流媒體。

4 結 語

在分析網絡流媒體傳輸協議的基礎上,利用Winpcap實現了一個網絡流媒體識別算法。 經試驗證明,該算法能夠有效識別流媒體,對網絡流媒體的應用具有積極的作用。

參考文獻

[1]吳永英,周淼,陳曉蘇.基于數據包分析的多媒體信息還原方法研究[J].華中科技大學學報:自然科學版,2007,35(9):101-103.

[2]陳亮,龔儉,徐選.基于特征串的應用層協議識別[J].計算機工程與應用,2006(24):16-19.

[3]SEN S, SPATSCHECK O, WANG D M. Accurate, scalable in-network identification of P2P traffic using application signatures[C]//www.Proceedings of the 13th International Conference on World Wide Web. New York: WWW, 2004:512-521.

[4]KIM Myung-Sup,WON Yong J, HONG Won-Ki. Application-lecel traffic monitoring and analysis on IP networks[J]. ETRI Journal, 2005,27(1):1-22.

[5]付強,左仁輝.基于Winpcap實現網絡監聽技術[J].電腦知識與技術,2008(13):25-28.

[6]李慧彬.基于QoS組播的RTP協議的研究與實現[D].太原:中北大學,2007.

[7]盛先剛.基于RTP的H.264視頻傳輸系統研究[D].西安:西安電子科技大學,2006.

[8]SCHULZRINNE Henning, CASNER S L, FREDERCK Ron, et al. RFC1889-RTP: A transport protocol for real-time applications[M]. Berlin: \\, 2007.

[9]譚獻海.網絡編程技術及應用(計算機科學與技術)[M].北京:清華大學出版社,2006.

[10]孫欽東,郭曉軍,黃新波.基于多模式匹配的網絡視頻流識別與分類[J].電子與信息學報,2009,31(3):759-762.

主站蜘蛛池模板: 国模极品一区二区三区| 亚洲资源在线视频| www亚洲天堂| 99热这里只有精品免费| 国产视频大全| 国产丝袜啪啪| 精品国产一区二区三区在线观看| 无码内射在线| 国产精品主播| 欧美综合区自拍亚洲综合天堂| 亚洲综合激情另类专区| 国产亚洲精品无码专| 亚洲第一色网站| 国产黄网永久免费| 波多野结衣亚洲一区| 全免费a级毛片免费看不卡| 国产91九色在线播放| 欧美午夜视频在线| 色播五月婷婷| 国产成人精品免费视频大全五级| 国产精品女同一区三区五区| 亚洲久悠悠色悠在线播放| 国产麻豆91网在线看| 激情亚洲天堂| 亚洲欧美日韩精品专区| 台湾AV国片精品女同性| 狠狠色成人综合首页| 亚国产欧美在线人成| 三级视频中文字幕| 国产尤物视频在线| 欧美另类图片视频无弹跳第一页| 伊人无码视屏| 国产亚洲精品自在线| 国产精品观看视频免费完整版| 超清无码熟妇人妻AV在线绿巨人| 露脸国产精品自产在线播| 无码不卡的中文字幕视频| 精品综合久久久久久97超人该| 亚洲免费三区| 国产日产欧美精品| 99在线观看国产| 国产97视频在线观看| 日本午夜三级| 国产精品免费p区| 亚洲成人免费看| 婷婷丁香在线观看| 欧美人人干| 日本一区二区不卡视频| 992tv国产人成在线观看| 欧美国产日产一区二区| 免费A级毛片无码免费视频| 在线欧美a| 国产91丝袜在线播放动漫| 91 九色视频丝袜| 91久久夜色精品| 草草影院国产第一页| 少妇人妻无码首页| 国产95在线 | 福利姬国产精品一区在线| 在线永久免费观看的毛片| 亚洲天堂视频在线观看| 久久亚洲国产最新网站| 国内毛片视频| 亚洲天堂2014| 91蜜芽尤物福利在线观看| 国产麻豆aⅴ精品无码| 欧美精品亚洲精品日韩专| 54pao国产成人免费视频| 三级国产在线观看| 国产传媒一区二区三区四区五区| 成人免费网站在线观看| 91在线激情在线观看| 亚洲丝袜中文字幕| 国产色网站| av手机版在线播放| 久久福利片| 区国产精品搜索视频| 精品国产欧美精品v| 免费视频在线2021入口| 国产精品女主播| 成人午夜视频免费看欧美| 国产成人喷潮在线观看|