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

一種無需ip分片重組實現(xiàn)動態(tài)流分類的裝置和方法

文檔序號:7621105閱讀:198來源:國知局
專利名稱:一種無需ip分片重組實現(xiàn)動態(tài)流分類的裝置和方法
技術領域
本發(fā)明屬于計算機網絡和數(shù)據(jù)通信技術領域,具體涉及一種無需IP分片重組實現(xiàn)動態(tài)流分類的裝置和方法,可以用于路由器、安全網關、流量監(jiān)測與審計、網絡計費、負載均衡等網絡設備和軟件之中,避免了由于分片重組而導致的系統(tǒng)開銷和處理時延,提高了分類的效率。
背景技術
隨著VoIP(Voice over IP)、移動數(shù)據(jù)業(yè)務、P2P(Peer-to-Peer)等新興應用需求的不斷增加,網絡應用呈現(xiàn)出日新月異的發(fā)展趨勢,與此同時網絡帶寬也迅猛增長,QoS(Quality of Service)、攻擊/入侵的檢測與防御、流量監(jiān)測與審計、網絡計費、負載均衡等網絡設施的關鍵業(yè)務功能面臨新的和更大的挑戰(zhàn)。這些業(yè)務功能涉及許多針對會話、用戶或者高層協(xié)議的處理任務,會話和用戶的負載往往達到十萬級甚至百萬級,需要在對流量進行細粒度控制的同時兼顧報文的高速處理,其核心是實現(xiàn)高效的流分類。基于IP五元組(源地址、目的地址、源端口/ICMP id、目的端口/ICMP type和code、協(xié)議號)或者其他特定標識的動態(tài)流分類方法具有粒度細、可擴展性好等優(yōu)點,因此得到了廣泛的應用。
動態(tài)流分類方法以一個動態(tài)更新的網絡流表為基礎,其基本操作是當報文(packet)到達時,根據(jù)報文包含的IP五元組信息或者其他特定標識查詢網絡流表,確定報文所屬的網絡流,并根據(jù)對應流記錄中的處理策略信息對報文做相應處理。除此以外,動態(tài)流分類還要涉及兩方面的重要工作一方面是網絡流表的管理,包括流記錄的新建、替換、老化和回收;另一方面是流狀態(tài)跟蹤和流記錄的更新。
由于動態(tài)流分類需要用到TCP/UDP端口號、ICMP的type和code或其他特定標識等4層以上(含4層)協(xié)議的信息,而對于IPv4分片(fragment)來說,通常只有首分片包(即IP包頭中Fragment offset字段的值為0的分片)才包含上述信息,后續(xù)分片是不包含這些信息的,這樣就給動態(tài)流分類帶來了困難。進行IP分片重組固然可以解決這個問題,但是由于IP分片重組需要將分片進行緩沖、拷貝,因此其開銷和時延都比較大,不能滿足實時處理的要求。因此,需要一種無需IP分片重組實現(xiàn)動態(tài)流分類的裝置和方法。

發(fā)明內容
本發(fā)明的目的是提供一種無需IP分片重組實現(xiàn)動態(tài)流分類的裝置和方法。
根據(jù)本發(fā)明的一個方面,提供一種無需IP分片重組實現(xiàn)動態(tài)流分類的裝置,該裝置包括基于IP分片四元組的IP分片定位裝置,用于執(zhí)行IP分片定位操作,確定IP分片所屬的IP報文以及所屬的網絡流(其中IP分片四元組為源地址、目的地址、報文ID、協(xié)議號);IP分片跟蹤裝置,用于執(zhí)行IP分片跟蹤操作,更新IP分片記錄中的標志位、已到達分片總長度、IP報文總長度、時間戳、老化時間等信息;IP分片表管理裝置,用于執(zhí)行IP分片表中IP分片記錄的新建、替換、老化和回收操作;IP分片表,用于記錄屬于同一IP報文的分片的到達情況、緩存首分片包(即IP包頭中Fragment offset字段的值為0的分片)查詢得到的動態(tài)流分類信息,采用散列表方式進行組織,采用鏈表方式解決散列碰撞;空閑IP分片記錄表項緩沖區(qū),用于存儲空閑的IP分片記錄表項,采用先進后出(FILO)方式分配空閑表項。
其中,IP分片定位裝置、IP分片跟蹤裝置和IP分片表管理裝置的一個重要特征是均包含多個進程或線程,能夠進行高速并行處理。IP分片表管理裝置的另一個重要特征是各個進程/線程分別負責IP分片表的不同部分,從而保證IP分片表中的每個散列表項及其指向的IP分片記錄鏈表只有一個寫者,即鏈表的插入和刪除由唯一的進程/線程負責,且在鏈表的插入和刪除操作過程中通過嚴格規(guī)定寫指令次序以保持鏈表的完整性,從而避免了由于并行處理而引發(fā)的大量互斥和同步操作??臻eIP分片記錄表項緩沖區(qū)的一個重要特征是其可分配表項閾值小于最大空閑表項數(shù),從而保證被回收的表項不會被馬上重新分配出去,避免了回收表項時的同步操作。
根據(jù)本發(fā)明的另一個方面,提供一種無需IP分片重組實現(xiàn)動態(tài)流分類的方法,該方法包括根據(jù)IP分片包含的IP分片四元組信息執(zhí)行IP分片定位操作,確定IP分片所屬的IP報文以及所屬的網絡流;根據(jù)IP分片的字段信息執(zhí)行IP分片跟蹤操作,更新IP分片記錄中的相關信息;對于找不到對應IP分片記錄的IP分片,將其交給IP分片表管理裝置,經IP分片表管理裝置確認不存在對應IP分片記錄后,執(zhí)行IP分片記錄新建操作;在新建IP分片記錄之前,如果空閑IP分片記錄緩沖區(qū)已空,則執(zhí)行IP分片記錄替換操作,替換出一個IP分片記錄表項;定時執(zhí)行IP分片記錄老化操作,將已經達到或超過老化時間的IP分片記錄從IP分片表中刪除;對已經從IP分片表中刪除的IP分片記錄表項執(zhí)行回收操作,回收到空閑IP分片記錄緩沖區(qū)中。
所述IP分片定位操作的步驟為1)以IP分片包含的源地址、目的地址、報文ID、協(xié)議號為IP分片四元組信息,以四元組信息為健值代入散列函數(shù),以運算結果為索引找到IP分片表中對應的散列表項。每個散列表項都對應一個IP分片記錄鏈表,以解決散列碰撞問題;2)將IP分片的健值依次與鏈表中各IP分片記錄的健值進行比較;3)如果找到對應的IP分片記錄(健值相等),則將IP分片交給IP分片跟蹤裝置,執(zhí)行IP分片跟蹤操作;4)否則,將IP分片交給IP分片表管理裝置中對應的進程/線程,IP分片表管理裝置先要確認對應IP分片記錄是否存在。如果存在,則直接將IP分片交給IP分片跟蹤裝置,執(zhí)行IP分片跟蹤操作;否則,從空閑IP分片記錄表項緩沖區(qū)中分配一個空閑IP分片記錄表項,然后執(zhí)行IP分片記錄新建操作。如果緩沖區(qū)已空,則要先執(zhí)行IP分片記錄替換操作,獲得一個IP分片記錄表項。
所述IP分片跟蹤操作的步驟為1)將分片對應的IP分片記錄加寫鎖,或者采用互斥寫原子指令對IP分片記錄內容進行修改;2)如果當前分片為首分片包(即IP包頭中Fragment offset字段的值為0的分片),則將IP分片記錄中的“首分片已到達”標志位置位并更新IP報文總長度、已到達分片總長度、時間戳、老化時間等信息。當已到達分片總長度等于IP報文總長度時,將IP分片記錄中的“所有分片已到達”標志位置位并更新時間戳、老化時間等信息。接著,將IP分片交給動態(tài)流分類裝置執(zhí)行動態(tài)流分類操作。當動態(tài)流分類操作執(zhí)行完畢后,將報文所屬的網絡流記錄的地址緩存到IP分片記錄中,然后對該IP分片記錄的IP分片鏈表加寫鎖,將IP分片鏈表中保存的IP分片從鏈表中一一刪除,交給后繼裝置處理。進一步,但不是必要的,在更新IP分片記錄信息前,如果“首分片已到達”標志位已經置位,則可以將該IP分片丟棄(因為IP協(xié)議是無狀態(tài)協(xié)議,沒有重傳機制,如果出現(xiàn)重傳的IP分片,則可以判定為出錯或者攻擊);3)如果當前分片不是首分片包,更新IP分片記錄中的已到達分片總長度。如果當前分片是尾分片包(即IP包頭中MF字段的值為0的分片),將IP分片記錄中的“尾分片已到達”標志位置位并更新時間戳、老化時間等信息。當已到達分片總長度等于IP報文總長度時,將IP分片記錄中的“所有分片已到達”標志位置位并更新時間戳、老化時間等信息。如果IP分片記錄中緩存的網絡流記錄指針為空,將該IP分片記錄的IP分片鏈表加寫鎖。加鎖成功后,再一次判斷IP分片記錄中緩存的網絡流記錄指針是否為空。如果為空,則將該IP分片掛入IP分片記錄的IP分片鏈表中,然后解除IP分片鏈表寫鎖;否則,直接解除IP分片鏈表寫鎖。
4)解除IP分片記錄的寫鎖,然后根據(jù)得到的網絡流記錄指針找到對應的網絡流記錄,將當前IP分片交給后繼裝置處理。
所述IP分片記錄替換操作的步驟為1)依次檢查當前IP分片記錄鏈表中各IP分片記錄的時間戳和老化時間信息,選擇已經達到或者超過老化期限的IP分片記錄。如果沒有這樣的IP分片記錄,則選擇IP分片記錄鏈表中老化期限最近且IP分片鏈表為空的IP分片記錄,或者選擇IP分片記錄鏈表中第一個IP分片鏈表為空的IP分片記錄;2)返回選中的IP分片記錄。
所述IP分片記錄新建操作的步驟為1)以IP分片的健值作為IP分片記錄的健值,填寫IP分片記錄中的健值、時間戳、老化時間等字段;2)將IP分片記錄表項插入IP分片表中健值對應的IP分片記錄鏈表中;3)將IP分片交給IP分片跟蹤裝置,執(zhí)行IP分片跟蹤操作。
所述IP分片記錄老化操作的步驟為1)IP分片表管理裝置的每個進程/線程定期掃描其負責的那部分IP分片表,將達到或超過老化期限的IP分片記錄進行回收;2)為控制老化操作的開銷,需設置一次操作中最多掃描表項的閾值。每次老化操作都從上次結束的地方開始繼續(xù)進行掃描。
所述IP分片記錄表項回收操作的步驟為1)將IP分片記錄表項從IP分片表中健值對應的IP分片記錄鏈表中摘除;2)將IP分片記錄表項回收到空閑IP分片記錄表項緩沖區(qū)中。在進行回收前,可能還存在一些正在使用該表項的IP分片,為了不影響其在回收過程中以及回收以后的正常使用,避免由于回收引起的的同步開銷,在回收時不清空表項內容,而是等到該表項下次分配時再清空,同時將空閑IP分片記錄表項緩沖區(qū)的可分配表項閾值設置成小于最大空閑表項數(shù)——由于空閑IP分片記錄表項緩沖區(qū)采取先進后出的方式分配空閑表項,因此被回收的表項不會被馬上重新分配出去,使得當前使用該表項的IP分片能夠順利地處理完畢。
所述在IP分片表中插入IP分片記錄表項的操作步驟為1)假設要在IP分片記錄鏈表中的IP分片記錄表項A和C之間插入一個新的表項B。首先,讀出表項A的下一表項字段的值(即表項C的位置);2)采用寫原子指令將讀出的值寫到表項B的下一表項字段中;3)采用寫原子指令將表項B的地址填入表項A的下一表項字段中。
所述在IP分片表中刪除IP分片記錄表項的操作步驟為1)假設要在IP分片記錄鏈表中刪除IP分片記錄表項A和C之間的表項B。首先,讀出表項B的下一表項字段的值(即表項C的位置);2)采用寫原子指令將讀出的值寫到表項A的下一表項字段中;3)保留表項B的內容(包括表項B的下一表項字段)不清空。這樣即使當前有沿著該鏈表進行查詢操作的讀者且正好到達表項B,也不會因為B被從鏈表中刪除而影響其訪問后面的表項。
本發(fā)明涉及一種無需IP分片重組實現(xiàn)動態(tài)流分類的裝置和方法,基于IP分片四元組對IP分片進行跟蹤,采用多個并行裝置和裝置內部多進程/線程機制實現(xiàn)了對IP分片的高速并行處理,通過切分IP分片表、設置IP分片記錄鏈表寫者唯一、嚴格規(guī)定鏈表插入和刪除操作過程中寫指令次序以保持鏈表的完整性、設置空閑IP分片記錄表項緩沖區(qū)的可分配表項閾值等措施避免了由于并行處理而引發(fā)的大量互斥和同步操作,使得處理效率得到進一步提高。本發(fā)明適用于網絡處理器、ASIC、FPGA、多內核處理器、對稱多處理器(SMP)、軟件進程/線程等各種并行處理環(huán)境,具有良好的跨平臺兼容性、可擴展性和實用性。


下面結合附圖對本發(fā)明進一步詳細地說明圖1為本發(fā)明的IP分片表示意圖;圖2為本發(fā)明的空閑IP分片記錄表項緩沖區(qū)示意圖;圖3為根據(jù)本發(fā)明的實施例無需IP分片重組實現(xiàn)動態(tài)流分類的裝置示意圖;圖4為根據(jù)本發(fā)明的實施例無需IP分片重組實現(xiàn)動態(tài)流分類的方法流程圖;最佳實施例詳細描述下面參照本發(fā)明的附圖,更詳細地描述本發(fā)明的最佳實施例詳細描述。
本發(fā)明是一種無需IP分片重組實現(xiàn)動態(tài)流分類的裝置和方法。
參見圖1,本發(fā)明的IP分片表用于記錄IP分片信息,采用散列表方式進行組織,散列表長度為L。采用鏈表方式解決散列碰撞,每個散列表項都包含一個IP分片記錄鏈表的頭指針。
IP分片表散列表項的結構如下表所示

IP分片記錄表項的結構如下表所示


參見圖2,本發(fā)明的空閑IP分片記錄表項緩沖區(qū)用于存儲空閑的IP分片記錄表項,采用鏈表方式進行組織,并采用先進后出(FILO)方式分配空閑表項。緩沖區(qū)的頭尾分別由緩沖區(qū)頭指針Ph和緩沖區(qū)尾指針Pt指示。為了避免由于回收操作引起的同步開銷,保證被回收的表項不會被馬上重新分配和清空,設置可分配表項閾值Tr和最大空閑表項數(shù)S(0<Tr<S)。
參見圖3,本發(fā)明的無需IP分片重組實現(xiàn)動態(tài)流分類的裝置包括IP分片定位裝置1,IP分片跟蹤裝置2,IP分片表管理裝置3。此外,還包括圖1-2所示的IP分片表和空閑IP分片記錄表項緩沖區(qū)。IP分片定位裝置1執(zhí)行IP分片定位操作,根據(jù)IP分片四元組確定IP分片所屬的IP報文以及所屬的網絡流,其中IP分片四元組為(源地址、目的地址、報文ID、協(xié)議號),對于找不到對應IP分片記錄的IP分片,交給IP分片表管理裝置3處理。IP分片跟蹤裝置2執(zhí)行IP分片跟蹤操作,更新IP分片記錄中的標志位、已到達分片總長度、IP報文總長度、時間戳、老化時間等信息。IP分片表管理裝置3執(zhí)行IP分片表中IP分片記錄的新建、替換、老化和回收操作。各裝置中均包含N個進程或線程,以實現(xiàn)高速并行處理。為了消除由于并行處理而導致的IP分片表訪問的互斥和同步開銷,需按照IP分片表管理裝置中的進程/線程數(shù)對IP分片表進行切分,IP分片表管理裝置中的每個進程/線程獨立負責IP分片表的一部分,以保證對每條IP分片記錄鏈表只有唯一的寫者執(zhí)行插入和刪除操作。此外,為控制每次老化操作的開銷,需設置閾值Ta以控制一次老化操作中允許掃描的表項的數(shù)目。
參見圖4,本發(fā)明的無需IP分片重組實現(xiàn)動態(tài)流分類的方法包括如下步驟1)IP分片首先進入IP分片定位裝置,執(zhí)行IP分片定位操作S1。以IP分片包含的IP分片四元組信息為健值代入散列函數(shù)H,計算得到索引值i。
函數(shù)H典型的計算公式為(源地址+目的地址+IP報文ID+協(xié)議號)%L根據(jù)i找到IP分片表中對應的散列表項E。將IP分片的健值依次與散列表項的fragentrylist字段所指鏈表中各IP分片記錄的健值進行比較。如果找到健值相等的IP分片記錄,則將IP分片交給IP分片跟蹤裝置,轉步驟2);否則,將IP分片交給IP分片表管理裝置中第(i%N)個進程/線程,轉步驟3);2)執(zhí)行IP分片跟蹤操作S2。將IP分片記錄加寫鎖wlock,然后分如下兩種情況進行處理①如果當前分片為首分片包(即IP包頭中Fragment offset字段的值為0的分片),則將IP分片記錄中的“首分片已到達”標志位置位并更新len、fraglen、timestamp、agetime等字段。當fraglen等于len時,將IP分片記錄中的“所有分片已到達”標志位置位并更新timestamp、agetime等字段。接著,將IP分片交給動態(tài)流分類裝置執(zhí)行動態(tài)流分類操作。當動態(tài)流分類操作執(zhí)行完畢后,將報文所屬的網絡流記錄的地址緩存到IP分片記錄的flow字段中,然后對該IP分片記錄的IP分片鏈表加寫鎖listwlock,將IP分片鏈表中保存的IP分片從鏈表中一一刪除,交給后繼裝置處理。進一步,但不是必要的,在更新IP分片記錄信息前,如果“首分片已到達”標志位已經置位,則可以將該IP分片丟棄(因為IP協(xié)議是無狀態(tài)協(xié)議,沒有重傳機制,如果出現(xiàn)重傳的IP分片,則可以判定為出錯或者攻擊);②如果當前分片不是首分片包,更新IP分片記錄中的fraglen字段。如果當前分片是尾分片包(即IP包頭中MF字段的值為0的分片),將IP分片記錄中的“尾分片已到達”標志位置位并更新timestamp、agetime等字段。當fraglen等于len時,將IP分片記錄中的“所有分片已到達”標志位置位并更新timestamp、agetime等字段。如果IP分片記錄中flow字段為空,將該IP分片記錄的IP分片鏈表加寫鎖listwlock。加鎖成功后,再一次判斷IP分片記錄中flow字段是否為空。如果為空,則將該IP分片掛入鏈表fraglist中,然后解鎖listwlock;否則,直接解鎖listwlock。最后,解鎖wlock,然后根據(jù)flow字段值找到對應的網絡流記錄,將當前IP分片交給后繼裝置處理。
3)查詢IP分片表,確認是否已存在對應的IP分片記錄。如果存在,則直接將IP分片交給IP分片跟蹤裝置,轉步驟2);否則,判斷空閑IP分片記錄表項緩沖區(qū)是否為空。如果為空(已分配表項數(shù)達到閾值Tr),轉步驟4);否則,從空閑IP分片記錄表項緩沖區(qū)中分配一個空閑IP分片記錄表項并對表項進行清零,然后轉步驟5);4)執(zhí)行IP分片替換操作S3。依次檢查當前IP分片記錄鏈表中各IP分片記錄的timestamp和agetime字段,選擇已經達到或者超過老化期限的IP分片記錄。如果沒有這樣的IP分片記錄,則選擇IP分片記錄鏈表中老化期限最近且flowlist字段為空的IP分片記錄,或者選擇IP分片記錄鏈表中第一個flowlist字段為空的IP分片記錄。轉步驟5);5)執(zhí)行IP分片記錄新建操作S4。填寫IP分片記錄中的tuple、timestamp、agetime等字段。將IP分片記錄表項插入IP分片表中tuple對應的IP分片記錄鏈表中,然后將IP分片交給IP分片跟蹤裝置,轉步驟2);此外,IP分片表管理裝置的每個進程/線程還需要定期執(zhí)行IP分片記錄老化操作S5,即掃描其負責的那部分IP分片表,將達到或超過老化期限的IP分片記錄進行回收(IP分片記錄表項回收操作S6)。一次老化操作最多掃描Ta個表項,每次老化操作都從上次結束的地方開始繼續(xù)進行掃描。IP分片記錄表項回收操作將IP分片記錄表項從IP分片表中tuple對應的IP分片記錄鏈表中摘除,回收到空閑IP分片記錄表項緩沖區(qū)中,表項內容不清空。
本發(fā)明的在IP分片表中插入IP分片記錄表項的操作步驟為1)假設要在IP分片記錄鏈表中的IP分片記錄表項A和C之間插入一個新的表項B。首先,讀出表項A的next字段的值(即表項C的位置);2)采用寫原子指令將讀出的值寫到表項B的next字段中;3)采用寫原子指令將表項B的地址填入表項A的next字段中。
本發(fā)明的在IP分片表中刪除IP分片記錄表項的操作步驟為1)假設要在IP分片記錄鏈表中刪除IP分片記錄表項A和C之間的表項B。
首先,讀出表項B的next字段的值(即表項C的位置);2)采用寫原子指令將讀出的值寫到表項A的next字段中;3)保留表項B的內容(包括表項B的next字段)不清空。這樣即使當前有沿著該鏈表進行查詢操作的讀者且正好到達表項B,也不會因為B被從鏈表中刪除而影響其訪問后面的表項。
所以,本發(fā)明基于IP分片四元組對IP分片進行跟蹤,采用多個并行裝置和裝置內部多進程/線程機制實現(xiàn)了對IP分片的高速并行處理,通過切分IP分片表、設置IP分片記錄鏈表寫者唯一、嚴格規(guī)定鏈表插入和刪除操作過程中寫指令次序以保持鏈表的完整性、設置空閑IP分片記錄表項緩沖區(qū)的可分配表項閾值等措施避免了由于并行處理而引發(fā)的大量互斥和同步操作,使得處理效率得到進一步提高。本發(fā)明適用于網絡處理器、ASIC、FPGA、多內核處理器、對稱多處理器(SMP)、軟件進程/線程等各種并行處理環(huán)境,具有良好的跨平臺兼容性、可擴展性和實用性。
本發(fā)明已經在申請人研制的基于網絡處理器的網絡安全處理平臺和千兆級安全網關上應用,取得了很好的效果,性能指標優(yōu)異,實現(xiàn)了本發(fā)明的目的。本發(fā)明具有很好的實用性和推廣應用前景。
盡管為說明目的公開了本發(fā)明的具體實施例和附圖,其目的在于幫助理解本發(fā)明的內容并據(jù)以實施,但是本領域的技術人員可以理解在不脫離本發(fā)明及所附的權利要求的精神和范圍內,各種替換、變化和修改都是可能的。因此,本發(fā)明不應局限于最佳實施例和附圖所公開的內容,本發(fā)明要求保護的范圍以權利要求書界定的范圍為準。
權利要求
1.一種無需IP分片重組實現(xiàn)動態(tài)流分類的裝置,該裝置包括基于IP分片四元組的IP分片定位裝置,用于執(zhí)行IP分片定位操作,確定IP分片所屬的IP報文以及所屬的網絡流,其中IP分片四元組為源地址、目的地址、報文ID、協(xié)議號;IP分片跟蹤裝置,用于執(zhí)行IP分片跟蹤操作,更新IP分片記錄中的標志位、已到達分片總長度、IP報文總長度、時間戳、老化時間信息;IP分片表管理裝置,用于執(zhí)行IP分片表中IP分片記錄的新建、替換、老化和回收操作;IP分片表,用于記錄屬于同一IP報文的分片的到達情況、緩存首分片包查詢得到的動態(tài)流分類信息,采用散列表方式進行組織,采用鏈表方式解決散列碰撞;空閑IP分片記錄表項緩沖區(qū),用于存儲空閑的IP分片記錄表項,采用先進后出方式分配空閑表項。
2.根據(jù)權利要求1所述的對網絡流進行分類、狀態(tài)跟蹤和報文處理的裝置,其特征在于IP分片定位裝置、IP分片跟蹤裝置和IP分片表管理裝置的一個重要特征是均包含多個進程或線程,能夠進行高速并行處理;
3.根據(jù)權利要求1所述的對網絡流進行分類、狀態(tài)跟蹤和報文處理的裝置,其特征在于IP分片表管理裝置的一個重要特征是各個進程/線程分別負責IP分片表的不同部分;空閑IP分片記錄表項緩沖區(qū)的一個重要特征是其可分配表項閾值小于最大空閑表項數(shù)。
4.一種無需IP分片重組實現(xiàn)動態(tài)流分類的方法,該方法包括以下步驟根據(jù)IP分片包含的IP分片四元組信息執(zhí)行IP分片定位操作,確定IP分片所屬的IP報文以及所屬的網絡流;根據(jù)IP分片的字段信息執(zhí)行IP分片跟蹤操作,更新IP分片記錄中的相關信息;對于找不到對應IP分片記錄的IP分片,將其交給IP分片表管理裝置,經IP分片表管理裝置確認不存在對應IP分片記錄后,執(zhí)行IP分片記錄新建操作;在新建IP分片記錄之前,如果空閑IP分片記錄緩沖區(qū)已空,則執(zhí)行IP分片記錄替換操作,替換出一個IP分片記錄表項;定時執(zhí)行IP分片記錄老化操作,將已經達到或超過老化時間的IP分片記錄從IP分片表中刪除;對已經從IP分片表中刪除的IP分片記錄表項執(zhí)行回收操作,回收到空閑IP分片記錄緩沖區(qū)中。
5.根據(jù)權利要求4所述的無需IP分片重組實現(xiàn)動態(tài)流分類的方法,其特征在于,所述IP分片定位操作的步驟為1)以IP分片包含的源地址、目的地址、報文ID、協(xié)議號為IP分片四元組信息,以四元組信息為健值代入散列函數(shù),以運算結果為索引找到IP分片表中對應的散列表項;2)將IP分片的健值依次與鏈表中各IP分片記錄的健值進行比較;3)如果找到對應的IP分片記錄,則將IP分片交給IP分片跟蹤裝置,執(zhí)行IP分片跟蹤操作;4)否則,將IP分片交給IP分片表管理裝置中對應的進程/線程,IP分片表管理裝置先要確認對應IP分片記錄是否存在如果存在,則直接將IP分片交給IP分片跟蹤裝置,執(zhí)行IP分片跟蹤操作;否則,從空閑IP分片記錄表項緩沖區(qū)中分配一個空閑IP分片記錄表項,然后執(zhí)行IP分片記錄新建操作。
6.根據(jù)權利要求4所述的無需IP分片重組實現(xiàn)動態(tài)流分類的方法,其特征在于,所述IP分片跟蹤操作的步驟為1)將分片對應的IP分片記錄加寫鎖,或者采用互斥寫原子指令對IP分片記錄內容進行修改;2)如果當前分片為首分片包,則將IP分片記錄中的“首分片已到達”標志位置位并更新IP報文總長度、已到達分片總長度、時間戳、老化時間信息;當已到達分片總長度等于IP報文總長度時,將IP分片記錄中的“所有分片已到達”標志位置位并更新時間戳、老化時間信息;接著,將IP分片交給動態(tài)流分類裝置執(zhí)行動態(tài)流分類操作;當動態(tài)流分類操作執(zhí)行完畢后,將報文所屬的網絡流記錄的地址緩存到IP分片記錄中,然后對該IP分片記錄的IP分片鏈表加寫鎖,將IP分片鏈表中保存的IP分片從鏈表中一一刪除,交給后繼裝置處理;3)如果當前分片不是首分片包,更新IP分片記錄中的已到達分片總長度;如果當前分片是尾分片包,將IP分片記錄中的“尾分片已到達”標志位置位并更新時間戳、老化時間信息;當已到達分片總長度等于IP報文總長度時,將IP分片記錄中的“所有分片已到達”標志位置位并更新時間戳、老化時間信息;如果IP分片記錄中緩存的網絡流記錄指針為空,將該IP分片記錄的IP分片鏈表加寫鎖;加鎖成功后,再一次判斷IP分片記錄中緩存的網絡流記錄指針是否為空,如果為空,則將該IP分片掛入IP分片記錄的IP分片鏈表中,然后解除IP分片鏈表寫鎖;否則,直接解除IP分片鏈表寫鎖。4)解除IP分片記錄的寫鎖,然后根據(jù)得到的網絡流記錄指針找到對應的網絡流記錄,將當前IP分片交給后繼裝置處理。
7.根據(jù)權利要求4所述的無需IP分片重組實現(xiàn)動態(tài)流分類的方法,其特征在于,所述IP分片記錄替換操作的步驟為1)依次檢查當前IP分片記錄鏈表中各IP分片記錄的時間戳和老化時間信息,選擇已經達到或者超過老化期限的IP分片記錄;如果沒有這樣的IP分片記錄,則選擇IP分片記錄鏈表中老化期限最近且IP分片鏈表為空的IP分片記錄,或者選擇IP分片記錄鏈表中第一個IP分片鏈表為空的IP分片記錄;2)返回選中的IP分片記錄。
8.根據(jù)權利要求4所述的無需IP分片重組實現(xiàn)動態(tài)流分類的方法,其特征在于,所述IP分片記錄新建操作的步驟為1)以IP分片的健值作為IP分片記錄的健值,填寫IP分片記錄中的健值、時間戳、老化時間字段;2)將IP分片記錄表項插入IP分片表中健值對應的IP分片記錄鏈表中;3)將IP分片交給IP分片跟蹤裝置,執(zhí)行IP分片跟蹤操作。
9.根據(jù)權利要求4所述的無需IP分片重組實現(xiàn)動態(tài)流分類的方法,其特征在于,所述IP分片記錄老化操作的步驟為1)IP分片表管理裝置的每個進程/線程定期掃描其負責的那部分IP分片表,將達到或超過老化期限的IP分片記錄進行回收;2)為控制老化操作的開銷,需設置一次操作中最多掃描表項的閾值;每次老化操作都從上次結束的地方開始繼續(xù)進行掃描。
10.根據(jù)權利要求4所述的無需IP分片重組實現(xiàn)動態(tài)流分類的方法,其特征在于,所述IP分片記錄表項回收操作的步驟為1)將IP分片記錄表項從IP分片表中健值對應的IP分片記錄鏈表中摘除;2)將IP分片記錄表項回收到空閑IP分片記錄表項緩沖區(qū)中。
全文摘要
本發(fā)明涉及一種無需IP分片重組實現(xiàn)動態(tài)流分類的裝置和方法,基于IP分片四元組(源地址、目的地址、報文ID、協(xié)議號)對IP分片進行跟蹤,采用多個并行裝置和裝置內部多進程/線程機制實現(xiàn)了對IP分片的高速并行處理,通過切分IP分片表、設置IP分片記錄鏈表寫者唯一、嚴格規(guī)定鏈表插入和刪除操作過程中寫指令次序以保持鏈表的完整性、設置空閑IP分片記錄表項緩沖區(qū)的可分配表項閾值等措施避免了由于并行處理而引發(fā)的大量互斥和同步操作,使得處理效率得到進一步提高。本發(fā)明適用于網絡處理器、ASIC、FPGA、多內核處理器、對稱多處理器、軟件進程/線程等各種并行處理環(huán)境,具有良好的跨平臺兼容性、可擴展性和實用性。
文檔編號H04L12/56GK1941732SQ20051008652
公開日2007年4月4日 申請日期2005年9月28日 優(yōu)先權日2005年9月28日
發(fā)明者張建宇, 韋韜, 鄒維 申請人:北京大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
五家渠市| 永泰县| 绥芬河市| 马山县| 宣威市| 玛纳斯县| 普宁市| 黄大仙区| 宁陵县| 中宁县| 曲阳县| 浮梁县| 沅陵县| 永川市| 花垣县| 木兰县| 佛学| 保山市| 韶关市| 师宗县| 保亭| 玉溪市| 澄江县| 唐海县| 丹阳市| 龙口市| 嵩明县| 揭阳市| 酉阳| 沙坪坝区| 蒲江县| 平度市| 仁化县| 当雄县| 综艺| 乐昌市| 将乐县| 东城区| 平利县| 佛教| 庆阳市|