欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行tcp流緩沖區(qū)建立和執(zhí)行方法

文檔序號(hào):7662197閱讀:205來源:國知局
專利名稱:具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行tcp流緩沖區(qū)建立和執(zhí)行方法
技術(shù)領(lǐng)域
本發(fā)明屬于網(wǎng)絡(luò)測(cè)量方法領(lǐng)域,尤其涉及一種TCP流緩沖區(qū)建立和執(zhí)行方法。
背景技術(shù)
隨著Internet重要性的日益提高和網(wǎng)絡(luò)結(jié)構(gòu)的日益復(fù)雜,越來越有必要對(duì)網(wǎng) 絡(luò)的整體拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)行為進(jìn)行深入的了解、分析,以利于發(fā)現(xiàn)網(wǎng)絡(luò)瓶頸,優(yōu) 化網(wǎng)絡(luò)配置,并進(jìn)一步發(fā)現(xiàn)網(wǎng)絡(luò)中可能存在的潛在危險(xiǎn)。為此,需要對(duì)大規(guī)模網(wǎng) 絡(luò)結(jié)構(gòu)進(jìn)行動(dòng)態(tài)描述,并根據(jù)網(wǎng)絡(luò)流量的變化分析網(wǎng)絡(luò)的性能,為加強(qiáng)網(wǎng)絡(luò)管理、 提高網(wǎng)絡(luò)利用率、防范大規(guī)模網(wǎng)絡(luò)攻擊提供技術(shù)平臺(tái)。Internet的測(cè)量與分析已成 為學(xué)術(shù)界、企業(yè)界和國家政府部門普遍關(guān)心的重要問題之一。
網(wǎng)絡(luò)測(cè)量的分類標(biāo)準(zhǔn)有多種。根據(jù)測(cè)量的方式,分為主動(dòng)測(cè)量和被動(dòng)測(cè)量; 根據(jù)測(cè)量點(diǎn)的多少,分為單點(diǎn)測(cè)量與多點(diǎn)測(cè)量;根據(jù)被測(cè)量者知情與否,分為協(xié) 作式測(cè)量與非協(xié)作式測(cè)量;根據(jù)測(cè)量所釆用的協(xié)議,分為基于BGP協(xié)議的測(cè)量、 基于TCP/IP協(xié)議的測(cè)量以及基于SNMP協(xié)議的測(cè)量;根據(jù)測(cè)量的內(nèi)容,分為拓 撲測(cè)量與性能測(cè)量。
在被動(dòng)測(cè)量方式中,記錄網(wǎng)絡(luò)活動(dòng)的探針被接入到網(wǎng)絡(luò)中,在大多數(shù)情況下 探接到網(wǎng)絡(luò)節(jié)點(diǎn)之間的連接上,匯總和記錄那條連接上業(yè)務(wù)流量的信息。被動(dòng)測(cè) 量主要在一個(gè)特殊點(diǎn)觀察網(wǎng)絡(luò)的行為,不增加和修改通過網(wǎng)絡(luò)的數(shù)據(jù)負(fù)載,因此 對(duì)網(wǎng)絡(luò)的行為沒有影響。這種方法能夠達(dá)到對(duì)觀察點(diǎn)網(wǎng)絡(luò)行為的詳盡理解,但難 以獲得對(duì)網(wǎng)絡(luò)的整體理解,或者對(duì)網(wǎng)絡(luò)的端到端行為的理解。被動(dòng)測(cè)量經(jīng)常用于 測(cè)量業(yè)務(wù)量的特征。
基于TCP/IP協(xié)議的網(wǎng)絡(luò)性能測(cè)量與分析的目的是考察網(wǎng)絡(luò)的穩(wěn)定性、可達(dá) 性、可靠性及網(wǎng)絡(luò)服務(wù)質(zhì)量。需周期性、連續(xù)測(cè)量的性能參數(shù)包括丟包率、RTT、
流量、路徑的平均跳數(shù)等;在此基礎(chǔ)上,以時(shí)間為主線分析各路徑上各項(xiàng)指標(biāo)的 動(dòng)態(tài)變化,以空間為主線統(tǒng)計(jì)分析某一時(shí)刻整個(gè)網(wǎng)絡(luò)的整體態(tài)勢(shì),如處于不同量 級(jí)時(shí)延的節(jié)點(diǎn)總體數(shù)量分布等,分析端到端路由變化(或跳數(shù)的路由變化)。其他 分析還包括,對(duì)探測(cè)得到的數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,或者利用已有的模型研究其自相 似特征。由于對(duì)網(wǎng)絡(luò)性能測(cè)量的實(shí)時(shí)性要求較高,所以探測(cè)頻率往往很大,但必 須保證不要由此對(duì)網(wǎng)絡(luò)造成較大的額外負(fù)荷,同時(shí)注意隱藏探測(cè)蹤跡。
現(xiàn)在的網(wǎng)絡(luò)測(cè)量方法中對(duì)流量進(jìn)行測(cè)量時(shí)都采用離散的數(shù)據(jù)幀捕獲與分析引 擎,使用這種引擎的優(yōu)勢(shì)是與現(xiàn)有計(jì)算機(jī)網(wǎng)絡(luò)的數(shù)據(jù)傳輸構(gòu)架一致,都是基于獨(dú) 立數(shù)據(jù)報(bào)結(jié)構(gòu)的通信方式。隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,大量的應(yīng)用級(jí)協(xié)議 都建立在穩(wěn)定、可靠、無重復(fù)的TCP協(xié)議基礎(chǔ)上。對(duì)于這些基于TCP協(xié)議的應(yīng) 用協(xié)議,采用離散的流量分析方法,同樣也只能識(shí)別出流頭部的特征數(shù)據(jù)報(bào),而 不能識(shí)別流中的大量中間數(shù)據(jù)報(bào),導(dǎo)致分析效果大打折扣。

發(fā)明內(nèi)容
為了克服已有的網(wǎng)絡(luò)測(cè)量方法的只能識(shí)別流頭部的特征數(shù)據(jù)報(bào)、不能識(shí)別流 中的大量數(shù)據(jù)、分析效果較差的不足,本發(fā)明提供一種能夠識(shí)別大量基于TCP協(xié) 議的、具有流特征的應(yīng)用協(xié)議數(shù)據(jù),還能識(shí)別出流頭部的特征數(shù)據(jù)報(bào)和流傳輸過 程中的大量中間數(shù)據(jù)報(bào),極大的提高分析效果的具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行TCP 流緩沖區(qū)建立和執(zhí)行方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是
一種具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行TCP流緩沖區(qū)建立和執(zhí)行方法,所述的方法 主要包括以下步驟
(l)監(jiān)聽并捕獲網(wǎng)絡(luò)數(shù)據(jù)幀直接從硬件驅(qū)動(dòng)程序中獲得原始的網(wǎng)絡(luò)數(shù)據(jù)幀,原 始硬件設(shè)備可以是以太網(wǎng)網(wǎng)卡、802.11無線網(wǎng)卡等;捕獲到原始網(wǎng)絡(luò)數(shù)據(jù)幀后對(duì) 數(shù)據(jù)幀進(jìn)行分析,判斷是否是具有TCP協(xié)議頭,如果不是則不處理;
(2) 提取并分析TCP協(xié)議頭
(2. 1)取得源IP地址和端口從TCP協(xié)議頭中將源IP地址和源端口提取出 來;其中源端口存儲(chǔ)方式為網(wǎng)絡(luò)格式的無符號(hào)短整形,需要將其前后兩個(gè)字節(jié)的 數(shù)據(jù)對(duì)調(diào),以轉(zhuǎn)換為本地格式的無符號(hào)短整形;
(2. 2)取得目的IP地址和端口從TCP協(xié)議頭中將目的IP地址和目的端口 提取出來;其中目的端口存儲(chǔ)方式為網(wǎng)絡(luò)格式的無符號(hào)短整形,需要將其前后兩 個(gè)字節(jié)的數(shù)據(jù)對(duì)調(diào),以轉(zhuǎn)換為本地格式的無符號(hào)短整形;
(3) 建立流標(biāo)志以源IP地址、源端口、目的IP地址和目的端口為基礎(chǔ)數(shù)據(jù), 組合為一組標(biāo)志,該標(biāo)志用于唯一的描述一個(gè)TCP流。其中,與標(biāo)志一致的為正 向TCP流,源地址和目的地址對(duì)換后的標(biāo)志用于描述反向TCP流;
(4) 判斷緩沖區(qū)是否存在依據(jù)流標(biāo)志,查找是否已經(jīng)建立了對(duì)應(yīng)的緩沖區(qū),如 果己經(jīng)存在,則至(6)。
(5) 建立流緩沖區(qū)
(5. 1)建立正向和反向流緩沖區(qū)在內(nèi)存中申請(qǐng)兩個(gè)等長度的空間作為正向 和反向流緩沖區(qū)。正向流緩沖區(qū)用于緩存從源IP地址發(fā)向目的IP地址的TCP數(shù) 據(jù),反向流緩沖區(qū)用于緩存從目的IP地址發(fā)向源IP地址的TCP數(shù)據(jù)。緩沖區(qū)長 度是固定的;
(5. 2)設(shè)置緩沖區(qū)有效時(shí)間取得當(dāng)前的系統(tǒng)時(shí)鐘的時(shí)刻,精度至秒。把當(dāng) 前時(shí)刻加上超時(shí)時(shí)間后設(shè)置為緩沖區(qū)的有效時(shí)間,即如果該緩沖區(qū)在有效時(shí)間內(nèi) 沒有更新,則認(rèn)為該TCP流已經(jīng)斷開,即緩沖區(qū)處于無效狀態(tài);
(5. 3)初始化正向和反向緩沖區(qū)的流位置分別設(shè)置正向和反向緩沖區(qū)的流 位置為0;在剛建立緩沖區(qū)的時(shí)候,必然還沒有緩存到任何數(shù)據(jù),所以對(duì)于這個(gè) 流來說,位置是處于開頭位置;
(6) 記錄數(shù)據(jù)至緩沖區(qū)(6. 1)把數(shù)據(jù)幀負(fù)載數(shù)據(jù)加入緩沖區(qū)末尾把捕獲到的TCP協(xié)議數(shù)據(jù)報(bào)的負(fù) 載數(shù)據(jù)加入到緩沖區(qū)的末尾;
(6. 2)計(jì)算新的流位置把流的當(dāng)前位置加上新加入到緩沖區(qū)的數(shù)據(jù)的長度 的數(shù)值作為最新的流位置,即流位置始終表示整個(gè)TCP流在傳輸過程中的當(dāng)前位 置;
(6. 3)檢査緩沖區(qū)內(nèi)容是否溢出由于緩沖區(qū)的大小是固定的,因此當(dāng)流的 數(shù)據(jù)超過緩沖區(qū)長度的時(shí)候,在把負(fù)載數(shù)據(jù)加入到緩沖后必然會(huì)導(dǎo)致緩沖區(qū)溢出; 這個(gè)時(shí)候就需要檢査緩沖區(qū)內(nèi)容是否出現(xiàn)溢出,如果出現(xiàn)溢出則要對(duì)緩沖區(qū)頭部 的數(shù)據(jù)進(jìn)行裁剪;
(6. 4)刪除緩沖區(qū)頭部數(shù)據(jù)以緩沖區(qū)溢出部分長度為標(biāo)準(zhǔn)刪除緩沖區(qū)頭部 的對(duì)應(yīng)數(shù)據(jù),并將緩沖區(qū)溢出部分的數(shù)據(jù)移入緩沖區(qū)中;
(7) 檢査緩沖區(qū)是否過期獲取當(dāng)前系統(tǒng)時(shí)刻,精度到秒。把該系統(tǒng)當(dāng)前時(shí)刻與 緩沖區(qū)有效時(shí)間進(jìn)行比較,如果大于緩沖區(qū)有效時(shí)間,則表示該緩沖區(qū)已經(jīng)超時(shí),
至(9)。
(8) 設(shè)置緩沖區(qū)有效時(shí)間獲取當(dāng)前系統(tǒng)時(shí)刻,精度到秒。把系統(tǒng)當(dāng)前時(shí)刻加上 緩沖區(qū)超時(shí)時(shí)間作為新的緩沖區(qū)有效時(shí)間。循環(huán)至(1)處理。
(9) 銷毀緩沖區(qū)該TCP流已經(jīng)中止,則對(duì)應(yīng)的緩沖區(qū)也就不再有作用,所以 釋放相關(guān)的緩沖區(qū)內(nèi)存,中止緩沖區(qū)的工作。
本發(fā)明的技術(shù)構(gòu)思為在現(xiàn)有流量分析的離散分析方法基礎(chǔ)上,對(duì)TCP協(xié)議
以及基于TCP協(xié)議的應(yīng)用協(xié)議中流式數(shù)據(jù)進(jìn)行具有時(shí)效性的動(dòng)態(tài)雙向緩存,達(dá)到
更好的分析效果。現(xiàn)在的網(wǎng)絡(luò)測(cè)量方法中對(duì)流量進(jìn)行測(cè)量時(shí)都釆用離散的數(shù)據(jù)幀
捕獲與分析引擎。在分析TCP數(shù)據(jù)流的時(shí)候,現(xiàn)有的離散分析方法只能識(shí)別出 TCP流前面部分的一個(gè)或幾個(gè)數(shù)據(jù)報(bào),而不能識(shí)別出整個(gè)數(shù)據(jù)流在傳輸過程中的 所有數(shù)據(jù)報(bào)。隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,大量的應(yīng)用級(jí)協(xié)議都建立在穩(wěn)定、
可靠、無重復(fù)的TCP協(xié)議基礎(chǔ)上。對(duì)于這些基于TCP協(xié)議的應(yīng)用協(xié)議,采用離 散的流量分析方法,同樣也只能識(shí)別出流頭部的特征數(shù)據(jù)報(bào),而不能識(shí)別流中的 大量中間數(shù)據(jù)報(bào),導(dǎo)致分析效果大打折扣。
本發(fā)明提出了一種具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行TCP流緩沖區(qū)建立方法。該方 法能夠在進(jìn)行流量分析的時(shí)候,對(duì)具有流特征的大量TCP協(xié)議以及以TCP協(xié)議 為基礎(chǔ)的應(yīng)用協(xié)議的數(shù)據(jù)流進(jìn)行部分緩存,并階段性的保存整個(gè)流的雙向傳輸狀 態(tài),記錄特定時(shí)間段內(nèi)的協(xié)議特征。能夠識(shí)別大量基于TCP協(xié)議的、具有流特征 的應(yīng)用協(xié)議數(shù)據(jù),還能識(shí)別出流頭部的特征數(shù)據(jù)報(bào)和流傳輸過程中的大量中間數(shù) 據(jù)報(bào),極大的提高分析效果。
本發(fā)明的有益效果主要表現(xiàn)在1、使TCP流緩沖區(qū)具有時(shí)效性,能夠適應(yīng)狀 態(tài)控制數(shù)據(jù)丟失的情況;2、采用雙向緩沖區(qū)結(jié)構(gòu),能對(duì)正向和反向的TCP流進(jìn)行 統(tǒng)一管理;3、采用環(huán)形緩沖區(qū)存儲(chǔ),可以有效的節(jié)約內(nèi)存開銷,提高數(shù)據(jù)存取速 度。


圖1是具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行TCP流緩沖區(qū)建立和執(zhí)行方法的流程圖。 圖2是具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行TCP流緩沖區(qū)分析軟件的結(jié)構(gòu)圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。
一種具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行TCP流緩沖區(qū)建立和執(zhí)行方法,所述的方法 主要包括以下步驟
(1) 監(jiān)聽并捕獲網(wǎng)絡(luò)數(shù)據(jù)幀直接從硬件驅(qū)動(dòng)程序中獲得原始的網(wǎng)絡(luò)數(shù)據(jù)幀,原 始硬件設(shè)備可以是以太網(wǎng)網(wǎng)卡、802.11無線網(wǎng)卡等;捕獲到原始網(wǎng)絡(luò)數(shù)據(jù)幀后對(duì) 數(shù)據(jù)幀進(jìn)行分析,判斷是否是具有TCP協(xié)議頭,如果不是則不處理;
(2) 提取并分析TCP協(xié)議頭
(2.1)取得源IP地址和端口 從TCP協(xié)議頭中將源IP地址和源端口提取出 來;其中源端口存儲(chǔ)方式為網(wǎng)絡(luò)格式的無符號(hào)短整形,需要將其前后兩個(gè)字節(jié)的 數(shù)據(jù)對(duì)調(diào),以轉(zhuǎn)換為本地格式的無符號(hào)短整形;
(2. 2)取得目的IP地址和端口從TCP協(xié)議頭中將目的IP地址和目的端口 提取出來;其中目的端口存儲(chǔ)方式為網(wǎng)絡(luò)格式的無符號(hào)短整形,需要將其前后兩 個(gè)字節(jié)的數(shù)據(jù)對(duì)調(diào),以轉(zhuǎn)換為本地格式的無符號(hào)短整形;
(3) 建立流標(biāo)志以源IP地址、源端口、目的IP地址和目的端口為基礎(chǔ)數(shù)據(jù), 組合為一組標(biāo)志,該標(biāo)志用于唯一的描述一個(gè)TCP流。其中,與標(biāo)志一致的為正 向TCP流,源地址和目的地址對(duì)換后的標(biāo)志用于描述反向TCP流;
(4) 判斷緩沖區(qū)是否存在依據(jù)流標(biāo)志,査找是否己經(jīng)建立了對(duì)應(yīng)的緩沖區(qū),如
果已經(jīng)存在,則至(6)。
(5) 建立流緩沖區(qū)
(5. 1)建立正向和反向流緩沖區(qū)在內(nèi)存中申請(qǐng)兩個(gè)等長度的空間作為正向 和反向流緩沖區(qū)。正向流緩沖區(qū)用于緩存從源IP地址發(fā)向目的IP地址的TCP數(shù) 據(jù),反向流緩沖區(qū)用于緩存從目的IP地址發(fā)向源IP地址的TCP數(shù)據(jù)。緩沖區(qū)長 度是固定的;
(5. 2)設(shè)置緩沖區(qū)有效時(shí)間取得當(dāng)前的系統(tǒng)時(shí)鐘的時(shí)刻,精度至秒。把當(dāng) 前時(shí)刻加上超時(shí)時(shí)間后設(shè)置為緩沖區(qū)的有效時(shí)間,即如果該緩沖區(qū)在有效時(shí)間內(nèi) 沒有更新,則認(rèn)為該TCP流已經(jīng)斷開,即緩沖區(qū)處于無效狀態(tài);
(5. 3)初始化正向和反向緩沖區(qū)的流位置分別設(shè)置正向和反向緩沖區(qū)的流 位置為0;在剛建立緩沖區(qū)的時(shí)候,必然還沒有緩存到任何數(shù)據(jù),所以對(duì)于這個(gè) 流來說,位置是處于開頭位置;
(6) 記錄數(shù)據(jù)至緩沖區(qū)
(6. 1)把數(shù)據(jù)幀負(fù)載數(shù)據(jù)加入緩沖區(qū)末尾把捕獲到的TCP協(xié)議數(shù)據(jù)報(bào)的負(fù)載數(shù)據(jù)加入到緩沖區(qū)的末尾;
(6. 2)計(jì)算新的流位置把流的當(dāng)前位置加上新加入到緩沖區(qū)的數(shù)據(jù)的長度 的數(shù)值作為最新的流位置,即流位置始終表示整個(gè)TCP流在傳輸過程中的當(dāng)前位 置;
(6. 3)檢査緩沖區(qū)內(nèi)容是否溢出由于緩沖區(qū)的大小是固定的,因此當(dāng)流的 數(shù)據(jù)超過緩沖區(qū)長度的時(shí)候,在把負(fù)載數(shù)據(jù)加入到緩沖后必然會(huì)導(dǎo)致緩沖區(qū)溢出; 這個(gè)時(shí)候就需要檢查緩沖區(qū)內(nèi)容是否出現(xiàn)溢出,如果出現(xiàn)溢出則要對(duì)緩沖區(qū)頭部 的數(shù)據(jù)進(jìn)行裁剪;
(6. 4)刪除緩沖區(qū)頭部數(shù)據(jù)以緩沖區(qū)溢出部分長度為標(biāo)準(zhǔn)刪除緩沖區(qū)頭部 的對(duì)應(yīng)數(shù)據(jù),并將緩沖區(qū)溢出部分的數(shù)據(jù)移入緩沖區(qū)中;
(7) 檢査緩沖區(qū)是否過期獲取當(dāng)前系統(tǒng)時(shí)刻,精度到秒。把該系統(tǒng)當(dāng)前時(shí)刻與 緩沖區(qū)有效時(shí)間進(jìn)行比較,如果大于緩沖區(qū)有效時(shí)間,則表示該緩沖區(qū)已經(jīng)超時(shí), 至(9)。
(8) 設(shè)置緩沖區(qū)有效時(shí)間獲取當(dāng)前系統(tǒng)時(shí)刻,精度到秒。把系統(tǒng)當(dāng)前時(shí)刻加上 緩沖區(qū)超時(shí)時(shí)間作為新的緩沖區(qū)有效時(shí)間。循環(huán)至(1)處理。
(9) 銷毀緩沖區(qū)該TCP流已經(jīng)中止,則對(duì)應(yīng)的緩沖區(qū)也就不再有作用,所以 釋放相關(guān)的緩沖區(qū)內(nèi)存,中止緩沖區(qū)的工作。
參照?qǐng)D1,本實(shí)施例的具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行TCP流緩沖區(qū)建立和執(zhí)行
方法,包括以下步驟
第一步直接從硬件驅(qū)動(dòng)程序中獲得原始的網(wǎng)絡(luò)數(shù)據(jù)幀。捕獲到原始網(wǎng)絡(luò)數(shù) 據(jù)幀后對(duì)數(shù)據(jù)幀進(jìn)行分析。
第二步判斷捕獲到的網(wǎng)絡(luò)數(shù)據(jù)幀是否是具有TCP協(xié)議頭,如果不是則不處理。
第三步從TCP協(xié)議頭中將源IP地址和源端口提取出來。其中源端口存儲(chǔ)
方式為網(wǎng)絡(luò)格式的無符號(hào)短整形,需要將其前后兩個(gè)字節(jié)的數(shù)據(jù)對(duì)調(diào),以轉(zhuǎn)換為 本地格式的無符號(hào)短整形。
第四步從TCP協(xié)議頭中將目的IP地址和目的端口提取出來。其中目的端 口存儲(chǔ)方式為網(wǎng)絡(luò)格式的無符號(hào)短整形,需要將其前后兩個(gè)字節(jié)的數(shù)據(jù)對(duì)調(diào),以 轉(zhuǎn)換為本地格式的無符號(hào)短整形。
第五步以源IP地址、源端口、目的IP地址和目的端口為基礎(chǔ)數(shù)據(jù),組合 為一組標(biāo)志,該標(biāo)志用于唯一的描述一個(gè)TCP流。
第六步依據(jù)流標(biāo)志,査找是否已經(jīng)建立了對(duì)應(yīng)的緩沖區(qū),如果已經(jīng)存在, 則跳轉(zhuǎn)至第十步。
第七步在內(nèi)存中申請(qǐng)兩個(gè)等長度的空間作為正向和反向流緩沖區(qū)。正向流 緩沖區(qū)用于緩存從源IP地址發(fā)向目的IP地址的TCP數(shù)據(jù),反向流緩沖區(qū)用于緩 存從目的IP地址發(fā)向源IP地址的TCP數(shù)據(jù)。
第八步取得當(dāng)前的系統(tǒng)時(shí)鐘的時(shí)刻(單位秒)。把當(dāng)前時(shí)刻加上超時(shí)時(shí)間 后設(shè)置為緩沖區(qū)的有效時(shí)間。
第九步初始化正向和反向緩沖區(qū)的流位置分別設(shè)置正向和反向緩沖區(qū)的 流位置為0。
第十步把捕獲到的TCP協(xié)議數(shù)據(jù)報(bào)的負(fù)載數(shù)據(jù)加入到緩沖區(qū)的末尾。 第十一步把流的當(dāng)前位置加上最新加入到緩沖區(qū)的數(shù)據(jù)的長度的數(shù)值作為 最新的流位置。
第十二步檢査緩沖區(qū)內(nèi)容是否出現(xiàn)溢出,如果出現(xiàn)溢出則要對(duì)緩沖區(qū)頭部 的數(shù)據(jù)進(jìn)行裁剪。如果沒有溢出,則跳轉(zhuǎn)至第十四步。
第十三步以緩沖區(qū)溢出部分長度為標(biāo)準(zhǔn)刪除緩沖區(qū)頭部的對(duì)應(yīng)數(shù)據(jù),并將 緩沖區(qū)溢出部分的數(shù)據(jù)移入緩沖區(qū)中。
第十四步獲取當(dāng)前系統(tǒng)時(shí)刻(單位秒)。把該系統(tǒng)當(dāng)前時(shí)刻與緩沖區(qū)有效
時(shí)間進(jìn)行比較,如果大于緩沖區(qū)有效時(shí)間,則表示該緩沖區(qū)已經(jīng)超時(shí),跳轉(zhuǎn)至第丄i卜.
卞八少。
第十五步獲取當(dāng)前系統(tǒng)時(shí)刻,精度到秒。把系統(tǒng)當(dāng)前時(shí)刻加上緩沖區(qū)超時(shí) 時(shí)間作為新的緩沖區(qū)有效時(shí)間。循環(huán)至第二步處理。
第十六步對(duì)應(yīng)TCP流的緩沖區(qū)不再發(fā)揮作用,釋放相關(guān)的緩沖區(qū)內(nèi)存,中 止緩沖區(qū)工作。
參照?qǐng)D2,應(yīng)用本方法實(shí)現(xiàn)的具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行TCP流緩沖區(qū)分析 軟件,主要包括網(wǎng)絡(luò)監(jiān)聽模塊和流緩沖模塊。 所述的網(wǎng)絡(luò)監(jiān)聽模塊包括
(1) 網(wǎng)絡(luò)數(shù)據(jù)幀捕獲模塊用于從網(wǎng)絡(luò)適配器硬件直接抓取原始網(wǎng)絡(luò)數(shù)據(jù)幀, 給分析軟件提供原始數(shù)據(jù)。
(2) TCP協(xié)議頭提取模塊分析提取到的原始數(shù)據(jù),從中提取TCP協(xié)議頭, 并獲得所需的流信息。
所述的流緩沖模塊包括
(1) 內(nèi)存管理模塊管理緩沖區(qū)所需內(nèi)存的分配與釋放。
(2) 計(jì)時(shí)器管理模塊負(fù)責(zé)獲取系統(tǒng)的時(shí)鐘,并定時(shí)觸發(fā)緩沖區(qū)有效性檢測(cè)事件。
(3) 緩沖區(qū)管理模塊管理每個(gè)與TCP流對(duì)應(yīng)的雙向環(huán)形緩沖區(qū)。包括緩沖 區(qū)建立、維護(hù)與銷毀。
(4) 數(shù)據(jù)存儲(chǔ)模塊用于把TCP數(shù)據(jù)報(bào)的負(fù)載數(shù)據(jù)寫入緩沖區(qū),并檢測(cè)緩沖 區(qū)溢出和數(shù)據(jù)循環(huán)刪除。
權(quán)利要求
1、一種具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行TCP流緩沖區(qū)建立和執(zhí)行方法,其特征在于所述的方法主要包括以下步驟(1)、監(jiān)聽并捕獲網(wǎng)絡(luò)數(shù)據(jù)幀直接從硬件驅(qū)動(dòng)程序中獲得原始的網(wǎng)絡(luò)數(shù)據(jù)幀,原始硬件設(shè)備包括以太網(wǎng)網(wǎng)卡、802.11無線網(wǎng)卡;捕獲到原始網(wǎng)絡(luò)數(shù)據(jù)幀后對(duì)數(shù)據(jù)幀進(jìn)行分析,判斷是否是具有TCP協(xié)議頭,如果不是則不處理;(2)、提取并分析TCP協(xié)議頭(2.1)、取得源IP地址和端口從TCP協(xié)議頭中將源IP地址和源端口提取出來;其中源端口存儲(chǔ)方式為網(wǎng)絡(luò)格式的無符號(hào)短整形,需要將其前后兩個(gè)字節(jié)的數(shù)據(jù)對(duì)調(diào),以轉(zhuǎn)換為本地格式的無符號(hào)短整形;(2.2)、取得目的IP地址和端口從TCP協(xié)議頭中將目的IP地址和目的端口提取出來;其中目的端口存儲(chǔ)方式為網(wǎng)絡(luò)格式的無符號(hào)短整形,需要將其前后兩個(gè)字節(jié)的數(shù)據(jù)對(duì)調(diào),以轉(zhuǎn)換為本地格式的無符號(hào)短整形;(3)、建立流標(biāo)志以源IP地址、源端口、目的IP地址和目的端口為基礎(chǔ)數(shù)據(jù),組合為一組標(biāo)志,該標(biāo)志用于唯一的描述一個(gè)TCP流;其中,與標(biāo)志一致的為正向TCP流,源地址和目的地址對(duì)換后的標(biāo)志用于描述反向TCP流;(4)、判斷緩沖區(qū)是否存在依據(jù)流標(biāo)志,查找是否已經(jīng)建立了對(duì)應(yīng)的緩沖區(qū),如果已經(jīng)存在,則至(6);(5)、建立流緩沖區(qū)(5.1)、建立正向和反向流緩沖區(qū)在內(nèi)存中申請(qǐng)兩個(gè)等長度的空間作為正向和反向流緩沖區(qū);正向流緩沖區(qū)用于緩存從源IP地址發(fā)向目的IP地址的TCP數(shù)據(jù),反向流緩沖區(qū)用于緩存從目的IP地址發(fā)向源IP地址的TCP數(shù)據(jù);(5.2)、設(shè)置緩沖區(qū)有效時(shí)間取得當(dāng)前的系統(tǒng)時(shí)鐘的時(shí)刻,精度至秒;把當(dāng)前時(shí)刻加上超時(shí)時(shí)間后設(shè)置為緩沖區(qū)的有效時(shí)間,即如果該緩沖區(qū)在有效時(shí)間內(nèi)沒有更新,則認(rèn)為該TCP流已經(jīng)斷開,即緩沖區(qū)處于無效狀態(tài);(5.3)、初始化正向和反向緩沖區(qū)的流位置分別設(shè)置正向和反向緩沖區(qū)的流位置為0;在剛建立緩沖區(qū)的時(shí)候,位置是處于開頭位置;(6)、記錄數(shù)據(jù)至緩沖區(qū)(6.1)、把數(shù)據(jù)幀負(fù)載數(shù)據(jù)加入緩沖區(qū)末尾把捕獲到的TCP協(xié)議數(shù)據(jù)報(bào)的負(fù)載數(shù)據(jù)加入到緩沖區(qū)的末尾;(6.2)、計(jì)算新的流位置把流的當(dāng)前位置加上新加入到緩沖區(qū)的數(shù)據(jù)的長度的數(shù)值作為最新的流位置,即流位置始終表示整個(gè)TCP流在傳輸過程中的當(dāng)前位置;(6.3)、檢查緩沖區(qū)內(nèi)容是否溢出由于緩沖區(qū)的大小是固定的,因此當(dāng)流的數(shù)據(jù)超過緩沖區(qū)長度的時(shí)候,在把負(fù)載數(shù)據(jù)加入到緩沖后必然會(huì)導(dǎo)致緩沖區(qū)溢出;檢查緩沖區(qū)內(nèi)容是否出現(xiàn)溢出,如果出現(xiàn)溢出則要對(duì)緩沖區(qū)頭部的數(shù)據(jù)進(jìn)行裁剪;(6.4)、刪除緩沖區(qū)頭部數(shù)據(jù)以緩沖區(qū)溢出部分長度為標(biāo)準(zhǔn)刪除緩沖區(qū)頭部的對(duì)應(yīng)數(shù)據(jù),并將緩沖區(qū)溢出部分的數(shù)據(jù)移入緩沖區(qū)中;(7)、檢查緩沖區(qū)是否過期獲取當(dāng)前系統(tǒng)時(shí)刻,精度到秒;把該系統(tǒng)當(dāng)前時(shí)刻與緩沖區(qū)有效時(shí)間進(jìn)行比較,如果大于緩沖區(qū)有效時(shí)間,則表示該緩沖區(qū)已經(jīng)超時(shí),至(9)。(8)、設(shè)置緩沖區(qū)有效時(shí)間獲取當(dāng)前系統(tǒng)時(shí)刻,精度到秒;把系統(tǒng)當(dāng)前時(shí)刻加上緩沖區(qū)超時(shí)時(shí)間作為新的緩沖區(qū)有效時(shí)間;循環(huán)至(1)處理。(9)、銷毀緩沖區(qū)該TCP流已經(jīng)中止,則對(duì)應(yīng)的緩沖區(qū)也就不再有作用,所以釋放相關(guān)的緩沖區(qū)內(nèi)存,中止緩沖區(qū)的工作。
全文摘要
一種具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行TCP流緩沖區(qū)建立和執(zhí)行方法。該方法能夠在進(jìn)行流量分析的時(shí)候,對(duì)具有流特征的大量TCP協(xié)議以及以TCP協(xié)議為基礎(chǔ)的應(yīng)用協(xié)議的數(shù)據(jù)流進(jìn)行部分緩存,并階段性的保存整個(gè)流的雙向傳輸狀態(tài),記錄特定時(shí)間段內(nèi)的協(xié)議特征。本發(fā)明提供一種能夠識(shí)別大量基于TCP協(xié)議的、具有流特征的應(yīng)用協(xié)議數(shù)據(jù),還能識(shí)別出流頭部的特征數(shù)據(jù)報(bào)和流傳輸過程中的大量中間數(shù)據(jù)報(bào),極大的提高分析效果的具有時(shí)效性的動(dòng)態(tài)雙向環(huán)行TCP流緩沖區(qū)建立和執(zhí)行方法。
文檔編號(hào)H04L12/26GK101183998SQ20071016024
公開日2008年5月21日 申請(qǐng)日期2007年12月14日 優(yōu)先權(quán)日2007年12月14日
發(fā)明者徐新黎, 王萬良, 王海燕, 蔣一波, 澄 趙, 趙燕偉, 陳偉杰 申請(qǐng)人:浙江工業(yè)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
西平县| 井陉县| 扬中市| 富川| 怀远县| 榆树市| 马龙县| 浏阳市| 巴林右旗| 温宿县| 禹州市| 土默特左旗| 开江县| 长阳| 肇庆市| 炉霍县| 视频| 鄂托克旗| 蛟河市| 榆林市| 平江县| 汾西县| 和政县| 公安县| 新野县| 军事| 丹凤县| 日照市| 雷波县| 景泰县| 临西县| 上栗县| 宜昌市| 姜堰市| 海原县| 桂东县| 神池县| 邻水| 崇州市| 大丰市| 陆丰市|