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

一種IP包包頭檢測方法及裝置與流程

文檔序號:12491912閱讀:303來源:國知局
一種IP包包頭檢測方法及裝置與流程

本發(fā)明涉及無線通信技術領域,尤其涉及一種IP包包頭檢測方法及裝置。



背景技術:

目前,無論采用OSI通信模型還是TCP/IP通信模型進行通信,應用層數(shù)據(jù)通過協(xié)議棧發(fā)到網(wǎng)絡上時,每層協(xié)議都要加上一個數(shù)據(jù)首部(header),稱為封裝;相對的,在接收數(shù)據(jù)時,網(wǎng)絡上的數(shù)據(jù)封裝成幀后發(fā)到傳輸介質(zhì)上,到達目的主機后每層協(xié)議再剝掉相應的首部,最后將應用層數(shù)據(jù)交給應用程序處理。在數(shù)據(jù)接收過程中,準確地抓取數(shù)據(jù)報文(如IP包),是必不可少的關鍵步驟。

另一方面,為了適應不同的通信需求,通信設備之間所采用的通信協(xié)議也是多種多樣,甚至隨著通信技術的發(fā)展,同一通信設備兼容多種通信協(xié)議已不足為奇。通信協(xié)議是指通信雙方實體完成通信或服務所必須遵循的規(guī)則和約定。協(xié)議定義了數(shù)據(jù)單元使用的格式,信息單元應該包含的信息與含義,連接方式,信息發(fā)送和接收的時序,從而確保網(wǎng)絡中數(shù)據(jù)順利地傳送到確定的地方。

如何針對不同的通信協(xié)議,準確抓取與之對應的數(shù)據(jù)報文,具體如IP包,是目前網(wǎng)絡通信的研究熱點。在現(xiàn)有技術中,通常在已知當前通信協(xié)議類型的前提下,確定與該通信協(xié)議對應的IP包結(jié)構(gòu),進一步確定其包頭信息,并在通信設備的抓包模塊中,預先存儲該包頭信息作為包頭檢測的基準信息,將輸入的IP包數(shù)據(jù)流與該基準信息進行比對,如若相同,則確定輸入IP包數(shù)據(jù)流的當前位置為IP包包頭。

由于對于不同的通信協(xié)議,IP包包頭信息均不相同,因此,在現(xiàn)有技術中,針對不同的通信協(xié)議,需要對應設置不同的抓包模塊。依照現(xiàn)有的這種方法, 當一通信設備兼容多種通信協(xié)議時,則需要在該通信設備中設置多個針對不同通信協(xié)議的抓包模塊,檢測靈活性差且內(nèi)存占用量大。

可見,現(xiàn)有技術中存在的技術問題為:IP包包頭檢測方案適用于對單一通信協(xié)議進行包頭檢測,無法滿足兼容多種通信協(xié)議的通信方的通信需求。



技術實現(xiàn)要素:

本發(fā)明針對現(xiàn)有技術中存在的,IP包包頭檢測方案適用于對單一通信協(xié)議進行包頭檢測,無法滿足兼容多種通信協(xié)議的通信方的通信需求的技術問題。提供了一種IP包包頭檢測方法及裝置,能夠?qū)Χ喾N通信協(xié)議下的IP包數(shù)據(jù)流進行包頭檢測,靈活性好且資源占用少,進而能夠滿足兼容多種通信協(xié)議的通信方的通信需求。

一方面,本發(fā)明提供了一種IP包包頭檢測方法,應用于無線通信設備中,所述IP包包頭檢測方法包括以下步驟:

S1、基于所述無線通信設備所兼容的全部通信協(xié)議,確定所述全部通信協(xié)議的IP包包頭標記信息;

S2、基于所述IP包包頭標記信息生成包頭檢測列表;

S3、當所述無線通信設備接收IP包數(shù)據(jù)流時,循環(huán)讀取所述包頭檢測列表中的任一IP包包頭標記信息作為當前包頭標記信息,并將所述當前IP包包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果;

S4、當計算到所述當前包頭標記信息的末字節(jié),且所述計算結(jié)果達到預設值時,確定所述IP包數(shù)據(jù)流的用于相似度計算的數(shù)據(jù)段為IP包包頭。

可選的,任一所述IP包包頭標記信息包括包頭字節(jié)數(shù)和包頭字節(jié)內(nèi)容,所述步驟S2具體包括子步驟:

S21、基于所述全部通信協(xié)議類型的包頭字節(jié)數(shù),定義相應深度的臨時列表;

S22、將所述包頭字節(jié)內(nèi)容存儲至所述臨時列表中,以生成包頭檢測列表。

可選的,所述包頭檢測列表包括標記信息子列表和掩碼子列表;

其中,所述標記信息子列表用于存儲所述包頭字節(jié)內(nèi)容,所述掩碼子列表用于存儲與所述包頭字節(jié)內(nèi)容一一對應的掩碼數(shù)據(jù)。

可選的,所述步驟S3具體包括子步驟:

S31、當所述無線通信設備接收IP包數(shù)據(jù)流時,循環(huán)讀取所述標記信息子列表中的任一所述包頭字節(jié)內(nèi)容作為當前包頭字節(jié)內(nèi)容,以及從所述掩碼子列表中讀取與當前包頭字節(jié)內(nèi)容對應的掩碼數(shù)據(jù);

S32、基于所述當前包頭字節(jié)內(nèi)容和對應的掩碼數(shù)據(jù),將所述當前包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果。

可選的,所述步驟S3中:將所述當前IP包包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,具體為:

依次讀取所述當前IP包包頭標記信息中的每一字節(jié),并將所讀取的字節(jié)中的各比特位對應與IP包數(shù)據(jù)流進行并行比對,以進行相似度計算。

另一方面,本發(fā)明還提供了一種IP包包頭檢測裝置,包括:

IP包包頭標記信息確定模塊,用于基于無線通信設備所兼容的全部通信協(xié)議,確定所述全部通信協(xié)議的IP包包頭標記信息;

包頭檢測列表生成模塊,用于基于所述IP包包頭標記信息生成包頭檢測列表;

相似度計算模塊,用于當所述無線通信設備接收IP包數(shù)據(jù)流時,循環(huán)讀取所述包頭檢測列表中的任一IP包包頭標記信息作為當前包頭標記信息,并將所述當前IP包包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果;

IP包包頭確定模塊,用于當計算到所述當前包頭標記信息的末字節(jié),且所述計算結(jié)果達到預設值時,確定所述IP包數(shù)據(jù)流的用于相似度計算的數(shù)據(jù)段 為IP包包頭。

可選的,所述包頭檢測列表生成模塊具體包括:

臨時列表定義單元,用于基于所述全部通信協(xié)議類型的包頭字節(jié)數(shù),定義相應深度的臨時列表;

包頭檢測列表生成單元,用于將所述包頭字節(jié)內(nèi)容存儲至所述臨時列表中,以生成包頭檢測列表;

其中,任一所述IP包包頭標記信息包括包頭字節(jié)數(shù)和包頭字節(jié)內(nèi)容。

可選的,所述包頭檢測列表包括標記信息子列表和掩碼子列表;

其中,所述標記信息子列表用于存儲所述包頭字節(jié)內(nèi)容,所述掩碼子列表用于存儲與所述包頭字節(jié)內(nèi)容一一對應的掩碼數(shù)據(jù)。

可選的,所述相似度計算模塊具體包括:

數(shù)據(jù)讀取單元,用于當所述無線通信設備接收IP包數(shù)據(jù)流時,循環(huán)讀取所述標記信息子列表中的任一所述包頭字節(jié)內(nèi)容作為當前包頭字節(jié)內(nèi)容,以及從所述掩碼子列表中讀取與當前包頭字節(jié)內(nèi)容對應的掩碼數(shù)據(jù);

相似度計算單元,用于基于所述當前包頭字節(jié)內(nèi)容和對應的掩碼數(shù)據(jù),將所述當前包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果。

可選的,所述IP包包頭確定模塊用于將所述當前IP包包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,具體為用于:

依次讀取所述當前IP包包頭標記信息中的每一字節(jié),并將所讀取的字節(jié)中的各比特位對應與IP包數(shù)據(jù)流進行并行比對,以進行相似度計算。

本發(fā)明中提供的一個或多個技術方案,至少具有如下技術效果或優(yōu)點:

在本發(fā)明申請中,適用于無線通信設備的IP包包頭檢測方法在實現(xiàn)的過程中,首先,基于所述無線通信設備所兼容的全部通信協(xié)議,確定所述全部通信協(xié)議的IP包包頭標記信息;接著,基于所述IP包包頭標記信息生成包頭檢測列表;當所述無線通信設備接收IP包數(shù)據(jù)流時,循環(huán)讀取所述包頭檢測列 表中的任一IP包包頭標記信息作為當前包頭標記信息,并將所述當前IP包包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果;進一步,當計算到所述當前包頭標記信息的末字節(jié),且所述計算結(jié)果達到預設值時,確定所述IP包數(shù)據(jù)流的用于相似度計算的數(shù)據(jù)段為IP包包頭。也就是說,通過根據(jù)通信設備所兼容的全部的通信協(xié)議,確定與各通信協(xié)議對應的IP包數(shù)據(jù)流的包頭,并根據(jù)所確定的包頭生成包頭檢測列表,通過循環(huán)讀取包頭檢測列表中的IP包包頭標記信息與接收的IP包數(shù)據(jù)流進行對比來確定包頭。其中,包頭檢測列表靈活可配置,一個檢測列表適用于對多種通信協(xié)議的IP包包頭進行檢測,結(jié)構(gòu)簡單且資源占用少,有效地解決了現(xiàn)有技術中IP包包頭檢測方案適用于對單一通信協(xié)議進行包頭檢測,無法滿足兼容多種通信協(xié)議的通信方的通信需求的技術問題。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其它的附圖。

圖1為本發(fā)明實施例提供的第一種IP包包頭檢測方法流程圖;

圖2為本發(fā)明實施例提供的第二種IP包包頭檢測方法流程圖;

圖3A為本發(fā)明實施例提供的第一種包頭檢測列表示意圖;

圖3B為本發(fā)明實施例提供的第二種包頭檢測列表示意圖;

圖3C為本發(fā)明實施例提供的第三種包頭檢測列表示意圖;

圖4為本發(fā)明實施例提供的第三種IP包包頭檢測方法流程圖;

圖5為本發(fā)明實施例提供的一種IP包接收處理模塊的結(jié)構(gòu)框圖;

圖6A為本發(fā)明實施例提供的第一種IP包包頭檢測裝置的結(jié)構(gòu)框圖;

圖6B為本發(fā)明實施例提供的第二種IP包包頭檢測裝置的結(jié)構(gòu)框圖。

具體實施方式

本發(fā)明實施例通過提供一種IP包包頭檢測方法,解決了現(xiàn)有技術中IP包包頭檢測方案適用于對單一通信協(xié)議進行包頭檢測,無法滿足兼容多種通信協(xié)議的通信方的通信需求的技術問題,包頭檢測列表靈活可配置,一個檢測列表適用于對多種通信協(xié)議的IP包包頭進行檢測,結(jié)構(gòu)簡單且資源占用少,進而能夠滿足兼容多種通信協(xié)議的通信方的通信需求。

本發(fā)明實施例的技術方案為解決上述技術問題,總體思路如下:

本發(fā)明實施例提供了一種IP包包頭檢測方法,應用于無線通信設備中,所述IP包包頭檢測方法包括以下步驟:S1、基于所述無線通信設備所兼容的全部通信協(xié)議,確定所述全部通信協(xié)議的IP包包頭標記信息;S2、基于所述IP包包頭標記信息生成包頭檢測列表;S3、當所述無線通信設備接收IP包數(shù)據(jù)流時,循環(huán)讀取所述包頭檢測列表中的任一IP包包頭標記信息作為當前包頭標記信息,并將所述當前IP包包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果;S4、當計算到所述當前包頭標記信息的末字節(jié),且所述計算結(jié)果達到預設值時,確定所述IP包數(shù)據(jù)流的用于相似度計算的數(shù)據(jù)段為IP包包頭。

可見,在本發(fā)明方案中,通過根據(jù)通信設備所兼容的全部的通信協(xié)議,確定與各通信協(xié)議對應的IP包數(shù)據(jù)流的包頭,并根據(jù)所確定的包頭生成包頭檢測列表,通過循環(huán)讀取包頭檢測列表中的IP包包頭標記信息與接收的IP包數(shù)據(jù)流進行對比來確定包頭。其中,包頭檢測列表靈活可配置,一個檢測列表適用于對多種通信協(xié)議的IP包包頭進行檢測,結(jié)構(gòu)簡單且資源占用少,有效地解決了現(xiàn)有技術中IP包包頭檢測方案適用于對單一通信協(xié)議進行包頭檢測,無法滿足兼容多種通信協(xié)議的通信方的通信需求的技術問題。

為了更好的理解上述技術方案,下面將結(jié)合說明書附圖以及具體的實施方式對上述技術方案進行詳細的說明,應當理解本發(fā)明實施例以及實施例中的具 體特征是對本申請技術方案的詳細的說明,而不是對本申請技術方案的限定,在不沖突的情況下,本發(fā)明實施例以及實施例中的技術特征可以相互組合。

實施例一

請參考圖1,本發(fā)明實施例提供了一種IP包包頭檢測方法,應用于無線通信設備中,所述IP包包頭檢測方法包括以下步驟:

S1、基于所述無線通信設備所兼容的全部通信協(xié)議,確定所述全部通信協(xié)議的IP包包頭標記信息;

S2、基于所述IP包包頭標記信息生成包頭檢測列表;

S3、當所述無線通信設備接收IP包數(shù)據(jù)流時,循環(huán)讀取所述包頭檢測列表中的任一IP包包頭標記信息作為當前包頭標記信息,并將所述當前IP包包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果;

S4、當計算到所述當前包頭標記信息的末字節(jié),且所述計算結(jié)果達到預設值時,確定所述IP包數(shù)據(jù)流的用于相似度計算的數(shù)據(jù)段為IP包包頭。

在本申請實施例中IP包包頭檢測方法適用于具有一種通信協(xié)議或兼容多種通信協(xié)議的通信設備,請參考圖2,用于確定IP包包頭標記信息的步驟S1具體包括以下子步驟:

S11、確定所述無線通信設備所兼容的全部通信協(xié)議;

S12、確定所述全部通信協(xié)議中每一通信協(xié)議定義的IP包包頭;

S13、基于所述全部通信協(xié)議的IP包包頭,確定所述全部通信協(xié)議的IP包包頭標記信息。

可理解為,通信設備用于何種通信需求、設置何種通信協(xié)議,均由用戶設定,例如,通信設備兼容M個協(xié)議,M為大于等于1的整數(shù),由用戶接口可獲知該通信設備所兼容的全部通信協(xié)議;進一步,對于每一種通信協(xié)議均可按照實際應用需求定義其IP數(shù)據(jù)流的IP包包頭,例如:在通信協(xié)議1下,約定好在發(fā)送方發(fā)送IP包數(shù)據(jù)流時插入的IP包包頭為“0x55”,在通信協(xié)議2下, 約定好在發(fā)送方發(fā)送IP包數(shù)據(jù)流時插入的IP包包頭為“0x4ADD”,...,在通信協(xié)議M下,約定好在發(fā)送方發(fā)送IP包數(shù)據(jù)流時插入的IP包包頭為“0x8A352B”,等等。進一步,基于這些IP包包頭生成IP包包頭標記信息,具體的,可以直接令所述IP包包頭標記信息等同于IP包包頭,或者經(jīng)過一定的轉(zhuǎn)換規(guī)則(如求非、乘以一個系數(shù)或加上一個參數(shù)等等)來獲得IP包包頭標記信息。

進一步,在具體實施過程中,由于對于不同的通信協(xié)議,IP包包頭的字節(jié)長度和字節(jié)內(nèi)容也不同,為了能夠滿足所述全部通信協(xié)議的IP包包頭標記信息的存儲需求,且合理利用硬件存儲資源,仍請參考圖2,所述步驟S2具體包括子步驟:

S21、基于所述全部通信協(xié)議類型的包頭字節(jié)數(shù),定義相應深度的臨時列表;

S22、將所述包頭字節(jié)內(nèi)容存儲至所述臨時列表中,以生成包頭檢測列表;

其中,任一所述IP包包頭標記信息包括包頭字節(jié)數(shù)和包頭字節(jié)內(nèi)容。

具體的,請參考圖3A,為本申請實施例提供的一種包頭檢測列表示意圖,針對通信設備所兼容的M個通信協(xié)議,該列表被劃分為M段(行),每一段分別對應一種通信協(xié)議的IP包包頭標記信息,用于存儲該IP包包頭標記信息的比特值,例如:第一段對應通信協(xié)議1,存儲的IP包包頭標記信息為“0x55”,長度為1byte(即8bit),第二段對應通信協(xié)議2,存儲的IP包包頭標記信息為“0x4ADD”,長度為2byte(即16bit),...,第M段對應通信協(xié)議M,存儲的IP包包頭標記信息為“0x8A352B”,長度為3byte(即24bit)。在具體實施過程中,可通過控制指針依次指向不同的表段,循環(huán)選擇不同協(xié)議的IP包包頭標記信息與當前輸入的IP包數(shù)據(jù)流進行相似度計算,以分別確定與不同協(xié)議對應的IP包包頭。

更具體的,可結(jié)合鏈表來實現(xiàn),鏈表是一種常見的重要的數(shù)據(jù)結(jié)構(gòu)。它是動態(tài)地進行存儲分配的一種結(jié)構(gòu)。它可以根據(jù)需要開辟內(nèi)存單元。鏈表有一個 “頭指針”變量,它存放一個地址。該地址指向一個元素。鏈表中每一個元素稱為“結(jié)點”,每個結(jié)點都應包括兩個部分:一為用戶需要用的實際數(shù)據(jù),二為下一個結(jié)點的地址。因此,“頭指針”變量指向第一個元素;第一個元素又指向第二個元素;……,直到最后一個元素,該元素不再指向其它元素,它稱為“表尾”,它的地址部分放一個“NULL”(表示“空地址”),鏈表到此結(jié)束;當然,根據(jù)具體應用需要,最后一個元素還可指向第一個元素,以形成循環(huán)工作模式。如圖3B所示,包頭檢測列表為地址鏈表,每一地址對應一存儲有IP包包頭標記信息的存儲單元。當?shù)刂分羔樠h(huán)指向不同的鏈表地址時,對應循環(huán)讀取與不同地址對應的IP包包頭標記信息。

進一步,在具體實施過程中,請參考圖3C,所述包頭檢測列表包括標記信息子列表和掩碼子列表;其中,所述標記信息子列表用于存儲所述包頭字節(jié)內(nèi)容,所述掩碼子列表用于存儲與所述包頭字節(jié)內(nèi)容一一對應的掩碼數(shù)據(jù)。相應地,請參考圖4,所述步驟S3具體包括子步驟:

S31、當所述無線通信設備接收IP包數(shù)據(jù)流時,循環(huán)讀取所述標記信息子列表中的任一所述包頭字節(jié)內(nèi)容作為當前包頭字節(jié)內(nèi)容,以及從所述掩碼子列表中讀取與當前包頭字節(jié)內(nèi)容對應的掩碼數(shù)據(jù);

S32、基于所述當前包頭字節(jié)內(nèi)容和對應的掩碼數(shù)據(jù),將所述當前包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果。

可理解為,本實施例方案的相似度計算涉及位級運算,這里的掩碼是一個位模式,表示從一個字節(jié)中選出的位的集合。例如,掩碼0xff(最低的8位為1)表示一個字的低位字節(jié)。位級運算x&0xff生成一個由x的最低有效字節(jié)組成的值,而其他的字節(jié)就被置為0。比如,對于x=0x89ABCDEF,其表達式將得到0x000000EF。再結(jié)合本方案,當某一通信協(xié)議的IP包包頭標記信息為0x89ABCDEF(4byte、32bit)、掩碼數(shù)據(jù)為0xff時,即只對輸入IP包數(shù)據(jù)流中與IP包包頭標記信息為0x89ABCDEF低8位(即最末一個字節(jié)EF)對應 的IP包數(shù)據(jù)流進行相似度計算,其它置0的位不予計算或計算結(jié)果不予考慮。

其中,所述步驟S3中:將所述當前IP包包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,具體為:依次讀取所述當前IP包包頭標記信息中的每一字節(jié),并將所讀取的字節(jié)中的各比特位對應與IP包數(shù)據(jù)流進行并行比對,以進行相似度計算。例如,所述當前IP包包頭標記信息有4字節(jié),逐次讀取四個字節(jié),將每一字節(jié)中的8個信息比特位并行與IP包數(shù)據(jù)流進行相似度計算。具體的,在此過程中,首先分別考慮每一字節(jié)的相似度計算子結(jié)果,如若該相似度計算子結(jié)果達到預設值(如8位中有7位相同),則確定該字節(jié)為IP包包頭中的組成字節(jié),并接著對所述當前IP包包頭標記信息中的下一字節(jié)進行相似度計算,直至所述當前IP包包頭標記信息中所有字節(jié)計算完成之后,綜合所有計算結(jié)果,以確定IP包包頭;相對的,如果有一個字節(jié)的相似度計算結(jié)果不滿足要求,則確定IP包數(shù)據(jù)流的當前數(shù)據(jù)段不是IP包包頭。

需要指出的是,在進行相似度計算時,也可將所述當前IP包包頭標記信息依次按兩個字節(jié)的長度與IP包數(shù)據(jù)流進行相似度計算,計算過程同上述單個字節(jié)的情況,這里不再一一贅述。

接著,請參考圖5,為通信設備IP包接收模塊的結(jié)構(gòu)示意圖,該IP包接收模塊500包括IP包緩存器51、IP包包頭檢測器52和IP包處理器53。該IP包緩存器51在時鐘信號CLK1的控制下接收發(fā)送方的IP包數(shù)據(jù)流DATA_in,并分別傳送至IP包包頭檢測器52和IP包處理器53中,其中,IP包包頭檢測器52用于在時鐘信號CLK2的控制下,循環(huán)讀取所述包頭檢測列表中的任一IP包包頭標記信息作為當前IP包包頭標記信息,并將所述當前IP包包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果,并將計算結(jié)果輸出至IP包處理器53,當計算到所述當前IP包包頭標記信息的末字節(jié),且所述計算結(jié)果達到預設值時,確定所述IP包數(shù)據(jù)流的用于相似度計算的數(shù)據(jù)段為IP包包頭,進一步通過IP包處理器53進行抓包處理,并 輸出處理后的數(shù)據(jù)DATA_out。其中,時鐘信號CLK1與CLK2可為異步時鐘信號。

進一步,對于本實施方案中“將所述當前IP包包頭標記信息以比字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果”,具體可理解為:當某一通信協(xié)議IP包包頭標記信息的字節(jié)數(shù)為N時,則將N字節(jié)的IP包包頭標記信息從第一字節(jié)開始,逐次與輸入的IP包數(shù)據(jù)流進行比較,獲得相似度計算子結(jié)果,當該相似度計算子結(jié)果達到預設值(如8位中有7位相同)則輸出1,否則輸出0,結(jié)合圖5,在IP包包頭檢測器52中還設置有累加器,用于對輸出結(jié)果中的“1”進行累加。進一步,當比較到IP包包頭標記信息的第N字節(jié)、且累加器的累加結(jié)果P所占N的比例K=P/N達到預設值(如0.85)時,則確定輸入IP包數(shù)據(jù)流中當前參與相似度計算的N字節(jié)的數(shù)據(jù)段為IP包包頭,相反,則舍棄當前結(jié)果,重新進行比較。其中,N為大于等于1的整數(shù),P為整數(shù)。當然,在具體實施過程中,還可通過能量計算或者其他方式來進行相似度計算。

更具體的,以IP包數(shù)據(jù)流為“......byte4byte3byte2byte1byte0”、且?guī)^部頭為兩字節(jié)為例,首先對先輸入的兩字節(jié)數(shù)據(jù)(即byte1和byte0)進行相似度計算,當計算結(jié)果均達到要求,確定其為IP包包頭,否則,左移一字節(jié),以下一個兩字節(jié)(即byte2和byte1)為對象進行相似度計算,其它情況依此類推,這里不再一一贅述。

另外,在具體實施過程中,對于自定義的通信協(xié)議,其IP包包頭也可是自定義的。根據(jù)開放系統(tǒng)互連參考模型(OSI,Open System Interconnect),網(wǎng)絡架構(gòu)分為:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層、會話層、表示層和應用層;根據(jù)TCP/IP四層模型,網(wǎng)絡架構(gòu)分為:網(wǎng)絡接口層、互聯(lián)網(wǎng)絡層、傳輸層和應用層。在從應用層將IP包數(shù)據(jù)流發(fā)送到網(wǎng)絡上時,每一層都需對應用數(shù)據(jù)進行加封裝,在從網(wǎng)絡上接收IP數(shù)據(jù)流時,每一層都需要對IP數(shù)據(jù)流進行解封裝以獲得應用數(shù)據(jù)??梢姡谕煌ㄐ艆f(xié)議下,IP包數(shù)據(jù)流針對不同的 層,具有多個不同的IP包包頭,在具體實施過程中,可在不同的層分別實施本方案的IP包包頭檢測方法進行本層包頭檢測,也可在底層(如物理層),針對所有層的IP包包頭進行檢測。

總而言之,在本發(fā)明方案中,通過根據(jù)通信設備所兼容的全部的通信協(xié)議,確定與各通信協(xié)議對應的IP包數(shù)據(jù)流的包頭,并根據(jù)所確定的包頭生成包頭檢測列表,通過循環(huán)讀取包頭檢測列表中的IP包包頭標記信息與接收的IP包數(shù)據(jù)流進行對比來確定包頭。其中,包頭檢測列表靈活可配置,一個檢測列表適用于對多種通信協(xié)議的IP包包頭進行檢測,結(jié)構(gòu)簡單且資源占用少,有效地解決了現(xiàn)有技術中IP包包頭檢測方案適用于對單一通信協(xié)議進行包頭檢測,無法滿足兼容多種通信協(xié)議的通信方的通信需求的技術問題。

實施例二

基于同一發(fā)明構(gòu)思,請參考圖6A,本申請實施例還提供了一種IP包包頭檢測裝置,包括:

IP包包頭標記信息確定模塊61,用于基于無線通信設備所兼容的全部通信協(xié)議,確定所述全部通信協(xié)議的IP包包頭標記信息;

包頭檢測列表生成模塊62,用于基于所述IP包包頭標記信息生成包頭檢測列表;

相似度計算模塊63,用于當所述無線通信設備接收IP包數(shù)據(jù)流時,循環(huán)讀取所述包頭檢測列表中的任一IP包包頭標記信息作為當前包頭標記信息,并將所述當前IP包包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果;

IP包包頭確定模塊64,用于當計算到所述當前包頭標記信息的末字節(jié),且所述計算結(jié)果達到預設值時,確定所述IP包數(shù)據(jù)流的用于相似度計算的數(shù)據(jù)段為IP包包頭。進一步,為了能夠確定通信設備所兼容的全部通信協(xié)議的IP包包頭標記信息,請參考圖6B,所述IP包包頭標記信息確定模塊61包括:

通信協(xié)議確定單元611,用于確定所述無線通信設備所兼容的全部通信協(xié) 議;

包頭確定單元612,用于確定所述全部通信協(xié)議中每一通信協(xié)議定義的IP包包頭;

IP包包頭標記信息確定單元613,用于基于所述全部通信協(xié)議的IP包包頭,確定所述全部通信協(xié)議的IP包包頭標記信息。

在具體實施過程中,由于對于不同的通信協(xié)議,IP包包頭的長度和字節(jié)內(nèi)容也不同,為了能夠滿足所述全部通信協(xié)議的IP包包頭標記信息存儲需求,且合理利用硬件存儲資源,仍請參考圖6B,所述包頭檢測列表生成模塊62具體包括:

臨時列表定義單元621,用于基于所述全部通信協(xié)議類型的包頭字節(jié)數(shù),定義相應深度的臨時列表;

包頭檢測列表生成單元622,用于將所述包頭字節(jié)內(nèi)容存儲至所述臨時列表中,以生成包頭檢測列表;

其中,任一所述IP包包頭標記信息包括包頭字節(jié)數(shù)和包頭字節(jié)內(nèi)容。

具體的,本實施例方案的相似度計算涉及位級運算,為了利用掩碼從一個字節(jié)中選出的位的集合,所述包頭檢測列表包括標記信息子列表和掩碼子列表;

其中,所述標記信息子列表用于存儲所述包頭字節(jié)內(nèi)容,所述掩碼子列表用于存儲與所述包頭字節(jié)內(nèi)容一一對應的掩碼數(shù)據(jù)。

進一步,還請參考圖6B,所述相似度計算模塊63具體包括:

數(shù)據(jù)讀取單元631,用于當所述無線通信設備接收IP包數(shù)據(jù)流時,循環(huán)讀取所述標記信息子列表中的任一所述包頭字節(jié)內(nèi)容作為當前包頭字節(jié)內(nèi)容,以及從所述掩碼子列表中讀取與當前包頭字節(jié)內(nèi)容對應的掩碼數(shù)據(jù);

相似度計算單元632,用于基于所述當前包頭字節(jié)內(nèi)容和對應的掩碼數(shù)據(jù),將所述當前包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,以獲得計算結(jié)果。

其中,所述IP包包頭確定模塊64用于將所述當前IP包包頭標記信息以字節(jié)為單位,依次與所述IP包數(shù)據(jù)流進行相似度計算,具體為用于:依次讀取所述當前IP包包頭標記信息中的每一字節(jié),并將所讀取的字節(jié)中的各比特位對應與IP包數(shù)據(jù)流進行并行比對,以進行相似度計算。

根據(jù)上面的描述,上述IP包包頭檢測裝置用于實現(xiàn)上述IP包包頭檢測方法,所以,該IP包包頭檢測裝置與上述IP包包頭檢測方法的一個或多個實施例一致,在此就不再一一贅述了。

盡管已描述了本發(fā)明的優(yōu)選實施例,但本領域內(nèi)的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。

顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
旌德县| 托克逊县| 吴江市| 桐梓县| 久治县| 林州市| 射阳县| 卢湾区| 安丘市| 杂多县| 德清县| 杭锦旗| 肃宁县| 黄大仙区| 定陶县| 太仓市| 渝中区| 曲松县| 定西市| 咸宁市| 汽车| 牙克石市| 凤山市| 莎车县| 石台县| 伊春市| 钟祥市| 盐山县| 米易县| 雷山县| 且末县| 红河县| 从江县| 铅山县| 金寨县| 招远市| 贡山| 奈曼旗| 惠州市| 通城县| 甘南县|