專利名稱:流老化方法及網絡設備的制作方法
技術領域:
本發(fā)明涉及流加速技術領域,具體涉及一種流老化方法及網絡設備。
技術背景隨著網絡的發(fā)展,網絡帶寬日益增大,單純依靠通用中央處理器(CPU, Central Processing Unit)來處理網絡業(yè)務的設備,在性能上無法滿足高端用 戶的需求,因此需要借助于專用CPU,包括網絡處理器(NP, Network Processor)、專用集成電3各(ASIC, Application Specific Integrated Circuit)、 現(xiàn)場可編程門陣列(FPGA, Field Programmable Gate Array)等,來提高處 理能力。這種將通用的、需求較為穩(wěn)定的部分工作交給專用CPU來處理, 而將一些比較復雜的如應用層網關(ALG, Application Level Gateway)處 理、需求易變如防火墻安全策略的工作交給通用CPU來處理的方法稱為 硬件力口速?,F(xiàn)有的網絡業(yè)務模型大致可認為是基于流進行處理的, 一對網絡結點間 交互的數(shù)據(jù)稱為一條流,由發(fā)起方發(fā)出的數(shù)據(jù)為正向流,由響應方發(fā)出的數(shù) 據(jù)為反向流,流的管理信息如轉發(fā)信息、安全信息等一般稱為會話信息。 當某條流在規(guī)定的時間段內沒有數(shù)據(jù)交互,需將此流相關的信息從系統(tǒng)中刪 除,以達到節(jié)約資源的目的。圖1為現(xiàn)有基于流處理的網絡設備的結構示意圖,如圖1所示,數(shù)據(jù)流 首包從接口進入,通過流加速引擎上送控制處理器建立會話;會話建立后, 控制處理器將此流的正、反向流表下發(fā)到流加速引擎;當流的后續(xù)包到達時, 可直接從正、反向流表中獲取轉發(fā)信息和安全信息,完成相關的動作實現(xiàn)硬 件加速過程。當某個方向的流表在一定的時間內未被命中,則會觸發(fā)流加速引擎上送老化消息給控制處理器,由控制處理器刪除本地會話并下發(fā)正反向 流表的刪除命令終止此流的加速過程。在圖l所示的網絡設備中,正、反向流表是分開維護的,這樣,當某些 應用長時間內只有單向流存在時,會使相反方向的流表^皮老化,導致此會話 提前終止,應用被迫中斷。為避免由單向流引起的會話提前老化問題,可以將流的老化時間設置得 較長一些,但這樣對于大多數(shù)有穩(wěn)定的雙向流的業(yè)務而言,會產生較大的資 源浪費。發(fā)明內容本發(fā)明提供一種流老化方法及網絡設備,以避免由于單方向流中止引起的 會話提前中止。本發(fā)明的技術方案是這樣實現(xiàn)的 一種流老化方法,包括為每條流建立正向流表、反向流表和會話表,其中,正、反向流表包含流 的標識信息和會話表索引,會話表包含正向和反向流的加速轉發(fā)信息;接收正向或反向流包,根據(jù)包中的流標識信息查找正向或反向流表,根據(jù) 流表中的會話表索引查找會話表,根據(jù)會話表中的加速轉發(fā)信息轉發(fā)包; 當會話表命中超時,刪除會話表及其對應的正、反向流表。 所述正向流表、反向流表和會話表由流控制引擎建立,且, 流控制引擎通過交換網將正向流表和反向流表分發(fā)到流分類引擎上,通過 交換網將會話表被分發(fā)到流加速引擎上。所述流的標識信息為五元組和VLAN標識,或者為五元組和VRF標識。所述正向流表進一步包括是否需要對正向流的目的IP地址進行NAT的 標志、是否需要對正向流的源IP地址進行NAT的標志;和/或,所述反向流表進一步包括是否需要對反向流的源IP地址進行NAT的標志、是否需要對反向流的目的IP地址進行NAT的標志。所述會話表包括正向流出口 VLAN標識、反向流出口 VLAN標識、VRF標識、TCP代理標志、是否需要作慢路徑轉發(fā)的標志、傳輸層協(xié)議標志、正向流出端口號、反向流出端口號。所述會話表命中超時通過以下方式確定每當會話表被命中,將會話表的命中標志置"1";同時,每隔預定老化時長將該命中標志清零,且,當要對該命中標志清零時,若發(fā)現(xiàn)該命中標志為"0",則確定會話表命中超時。所述方法進一步包括預先設置一個不小于所述兩倍預定老化時長的長老化時長,當屬于同一流的正、反向流表在所述長老化時長內未被命中時,刪除該正、 反向流表。所述為每條流建立正、反向流表和會話表包括接收正向流首包,對正向流首包作慢路徑轉發(fā)處理,并建立正向流表、反 向流表以及會話表,其中,會話表中僅包含正向流加速轉發(fā)信息;接收反向流首包,對反向流首包作慢路徑轉發(fā)處理,并將反向流加速轉發(fā) 信息加入到會話表中。一種流老化網絡設備,包括流分類引擎、流加速引擎和流控制引擎,其中流分類引擎,保存流控制引擎發(fā)來的正、反向流表;接收包,若根據(jù)包中 的流標識信息查找到正向或反向流表,將包和流表中的會話表索引發(fā)送給流加 速引擎;否則,將包發(fā)送給流控制引擎;根據(jù)流控制引擎發(fā)來的流表刪除消息, 刪除正、反向流表;流加速引擎,保存流控制引擎發(fā)來的會話表;接收包和會話表索引,若根 據(jù)會話表索引查找到完整會話表,根據(jù)會話表中的加速轉發(fā)信息轉發(fā)包;否貝'J, 將包發(fā)送給流控制引擎;若會話表命中超時,刪除會話表,向流控制引擎發(fā)送 攜帶會話表索引的老化消息;流控制引擎,接收包,根據(jù)包為每條流建立正、反向流表和會話表并發(fā)送出去;接收老化消息,將攜帶流標識信息的流表刪除消息發(fā)送出去。所述流分類引擎包括流表存儲模塊、流表查找模塊和老化模塊,其中 流表存儲模塊,存儲流控制引擎發(fā)來的正向流表和反向流表,其中正、反向流表中包含流標識信息、會話表索引、流加速引擎號和流表標志;流表查找模塊,接收外部發(fā)來的包,在流表存儲模塊中查找與包中的流標識信息對應的正、反向流表,若查找到,將包和流表中的會話表索引、流表標志發(fā)送給流表中的流加速引擎號對應的流加速引擎;若未查找到,才艮據(jù)包中的流標識信息得到流加速引擎號,將包和未找到流表指示發(fā)送給流加速引擎; 老化模塊,接收流控制引擎發(fā)來的攜帶流標識信息的流表刪除消息,根據(jù)該流標識信息,刪除流表存儲模塊中的正、反向流表。所述流分類引擎進一步包括長老化模塊,用于設置長老化時長,當屬于同一流的正、反向流表在長老化時長內未被命中時,刪除該正、反向流表。所述流加速引擎包括會話表存儲模塊、會話表查找模塊和老化檢測模塊,其中會話表存儲模塊,接收并存儲流控制引擎發(fā)來的會話表,其中,會話表包 括會話表索引、正向流加速轉發(fā)信息和反向流加速轉發(fā)信息;會話表查找模塊,接收流分類引擎發(fā)來的包和未找到流表指示,將包發(fā)送 給流控制引擎;接收流分類引擎發(fā)來的包和會話表索引、流標志,若根據(jù)會話 表索引查找到完整會話表,則根據(jù)流表標志在會話表中查找加速轉發(fā)信息,根 據(jù)加速轉發(fā)信息轉發(fā)包;否則,將包發(fā)送給流控制引擎;老化檢測模塊,檢測到會話表命中超時,根據(jù)會話表索引刪除會話表存儲 模塊中的會話表,并向流控制引擎發(fā)送攜帶會話表索引的老化消息,且消息指 示老化原因為會話表命中超時。所述流控制引擎包括表建立模塊和老化控制模塊,其中表建立模塊,接收流加速引擎發(fā)來的包,對包作轉發(fā)處理,若確定該包為 正向流首包,建立正、反向流表和會話表,將正、反向流表發(fā)送給流分類引擎; 若確定該包為反向流首包,更新會話表,將更新的會話表發(fā)送給流加速引擎老化控制模塊,接收流加速引擎發(fā)來的攜帶會話表索引和老化原因的老 化消息,根據(jù)會話表索引確定流標識信息,向流分類引擎發(fā)送攜帶流標識信 息的流表刪除消息。與現(xiàn)有技術相比,本發(fā)明中,為每條流建立正、反向流表和會話表,其 中,正、反向流表包含流的標識信息和會話表索引,會話表包含正向和反向流的加速轉發(fā)信息;接收正向或反向流包,才艮據(jù)包中的流標識信息查找正向 或反向流表,根據(jù)流表中的會話表索引查找會話表,根據(jù)會話表中的加速轉 發(fā)信息轉發(fā)包;當會話表命中超時,刪除會話表及其對應的正、反向流表。 本發(fā)明通過將正、反向流表與統(tǒng)一的會話表關聯(lián),流的老化依賴于會話表的 老化,避免了由于單方向流中止引起的會話提前中止,同時節(jié)省了資源。
圖1為現(xiàn)有基于流處理的網絡設備所采用的模型示意圖;圖2為本發(fā)明實施例提供的用戶數(shù)據(jù)才艮協(xié)-漢(UDP, User DatagramProtocol)或因特網控制消息協(xié)i義(ICMP, Internet Control Message Protocol)流加速轉發(fā)的流程圖;圖3為本發(fā)明實施例提供的傳輸控制協(xié)議(TCP, Transfer ControlProtocol)流加速轉發(fā)的流程圖;圖4為本發(fā)明實施例提供的流老化的流程圖;圖5為本發(fā)明實施例提供的基于流處理的網絡設備的結構圖;圖6為本發(fā)明實施例提供的流分類引擎的結構示意圖;圖7為本發(fā)明實施例提供的流加速引擎的結構示意圖。
具體實施方式
本發(fā)明的核心思想是根據(jù)每條流的正、反向流首包為每條流建立正向 流表、反向流表和會話表,且正、反向流表和會話表相關聯(lián),其中,正向流 表和反向流表中都包含流標識信息和會話表索引,會話表中包含正向流和反向流的加速轉發(fā)信息;當接收到流的正向或反向流后續(xù)包時,根據(jù)包中的流標識信息查找到正向或反向流表,再根據(jù)流表中的會話表索引查找到會話表,根據(jù)會話表中的正向流或反向流加速轉發(fā)信息將該后續(xù)包轉發(fā)出去;當 某個會話表在預定老化時長內未被命中時,則刪除該會話表以及與該會話表 關聯(lián)的正、反向流表。以下圖2 4所示實施例分別以UDP/ICMP、 TCP流為例,對本發(fā)明再作 進一步詳細的說明。圖2-4所示實施例應用于包含流分類引擎、流加速引擎 和流控制引擎的網絡設備中,其中,流分類引擎通過交換網與流加速引擎、 流控制引擎通信。圖2為本發(fā)明實施例提供的流加速轉發(fā)的流程圖,在本實施例中,設定 流為UDP流或ICMP流,如圖2所示,其具體步驟如下步驟201:接口接收到包,將該包發(fā)往流分類引擎。步驟202:流分類引擎接收到包,在自身查找與該包中的流標識信息對 應的正向流表和反向流表,判斷是否查找到,若是,執(zhí)行步驟206;否則, 執(zhí)行步驟203。在本實施例中,對于二層流,流標識信息為五元組+虛擬局域網(VLAN, Virtual Local Area Network)號;對于三層流,流標識信息為五元組+虛擬路 由和轉發(fā)(VRF, Virtual Routing and Forwarding )號。步驟203:流分類引擎對該包的五元組進行哈希(Hash)運算,根據(jù) Hash運算結果與流加速引擎號的對應關系,將該包和未查到流表指示上送 流加速引擎。五元組包括源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議 號,其中,對于ICMP,源端口指type和code的組合,目的端口指ID號。步驟204:流加速引擎接收到包和未查到流表指示,將包發(fā)送給流控制 引擎。步驟205:流控制引擎接收包,將該包與自身的會話信息匹配,未匹配 上,則確定該包為正向流首包,對該正向流首包進行轉發(fā)處理,保存包含該包的五元組的會話信息,建立正向流表、反向流表和會話表,將正、反向流 表下發(fā)到流分類引擎,將會話表下發(fā)到流加速引擎,本流程結束。 對一條流來說,正、反向流表與同一會話表關聯(lián)。正向流表和反向流表的4各式相同,可如下KEY字^殳流標識信息,可為五元組+二層流的VLAN號,或者為五元 組+三層流的VRF號RESULT字段流加速引擎號+會話表索引+ IN NAT標志+OUT NAT 才示志+正/反向流才示志其中,INNAT標志、OUTNAT標志的含義如下對于正向流表,IN NAT標志、OUT NAT標志分別用于指示是否需要 對正向流的目的IP地址、源IP地址進4亍網絡地址轉換(NAT, Network Address Translation);對于反向流,INNAT標志、OUTNAT標志分別用 于指示是否需要對反向流的源IP地址、目的IP地址進行NAT;正/反向流標志用于指示流表為正向流表還是反向流表。會話表格式可如下KEY字段會話表索引RESULT字段正向流出口 VLAN號+反向流出口 VLAN號+VRF號+ TCP代理(Proxy)標志+慢路徑標志+傳輸層協(xié)議標志+正向流出端口號+反 向流出端口號其中,慢路徑標志用于指示是否需要對流作慢路徑轉發(fā),若需要,則流 不走會話表所指示的快速路徑,而直接將流送往流控制引擎作慢路徑轉發(fā)處 理;TCP Proxy標志表示流所采用的TCP Proxy;傳輸層協(xié)議標志表示流采用的傳輸層協(xié)議,如TCP、 UDP、 ICMP等。若流的加速轉發(fā)還依賴于其它的轉發(fā)表,且該其它轉發(fā)表中已包含正向流出口VLAN號、反向流出口VLAN號、VRF號、正向流出端口號、反向流出端口號,則會話表中可不包含上述信息。執(zhí)行完本步驟205后,正、反向流表中的所有信息都已知,對于二層流 來說,會話表中的"反向流出端口號"未知,其它信息已知,此時,可將"反 向流出端口號"置為無效;對于三層流來說,會話表中的"反向流出口 VLAN 號+反向流出端口號"未知,其它信息已知,此時,可將"反向流出端口號" 置為無效。步驟206:流分類引擎根據(jù)流表中的流加速引擎號,將流表中的會話表 索引和流標志連同包 一起發(fā)送給流加速引擎。步驟207:流加速引擎接收會話表索引、流標志和包,根據(jù)會話表索引 查找到會話表,根據(jù)流標志在會話表中查找加速轉發(fā)信息。步驟208:流加速引擎判斷查找到的加速轉發(fā)信息是否完整,若是,執(zhí) 行步驟211;否則,執(zhí)行步驟209。若包為正向流包,則會話表中的正向流加速轉發(fā)信息肯定是完整的;若 包為反向流包,則會話表中的反向流加速轉發(fā)信息可能是不完整的。若流加 速引擎發(fā)現(xiàn)會話表中的"反向流出端口號"被置為無效,則可確定反向流的 加速轉發(fā)信息不完整。步驟209:流加速引擎將該包上送流控制引擎。步驟210:流控制引擎接收包,將該包的五元組與自身的會話信息匹配, 確定該包為反向流首包,對該反向流首包作轉發(fā)處理,并觸發(fā)會話表更新, 將更新后的會話表發(fā)送給流加速引擎,流加速引擎根據(jù)接收到的會話表更新 自身的會話表,本流程結束。流控制引擎在對反向流首包的轉發(fā)處理過程中,會獲得反向流表的 KEY字段中的"二層流的VLAN號或三層流的VRF號,,以及會話表中的"反 向流出口 VLAN號+反向流出端口號"。步驟211:流加速引擎根據(jù)查找到的加速轉發(fā)信息,將包轉發(fā)出去。圖3為本發(fā)明實施例提供的對TCP流進行加速轉發(fā)的流程圖,如圖3 所示,其具體步驟如下步驟301 304與步驟201-204相同。步驟305與步驟205的區(qū)別在于流控制引擎不將不完整的會話表下發(fā) 給流加速引擎,而是保存在自身。 步驟306與步驟206相同。步驟307更改為流加速引擎接收會話表索引、流標志和包,根據(jù)會話 表索引查找會話表。 步驟308更改為步驟308-1:流加速引擎判斷是否查找到會話表,若是,執(zhí)行步驟308-2; 否則,執(zhí)行步驟309。步驟308-2:流加速引擎根據(jù)流標志在會話表中查找加速轉發(fā)信息,轉 至步驟311。步驟309與步驟209相同。步驟310與步驟210的區(qū)別在于,流控制引擎在確認TCP連接建立后, 再將更新后的會話表發(fā)送給流加速引擎。 步驟311與步驟211相同。圖4為本發(fā)明實施例提供的流老化流程圖,如圖4所示,其具體步驟如下步驟401:流加速引擎檢測到會話表命中超時,刪除該會話表,并向流 控制引擎發(fā)送攜帶會話表索引的老化消息,且老化消息中的老化原因為會話 表命中超時。每當會話表被命中時,即在步驟211或311中流加速引擎接收到流分 類引擎發(fā)來的會話表索引時,流加速引擎中的硬件單元會將該會話表的命中 標志置為"1",同時,流加速引擎中的硬件單元會每隔預定老化時長將命 中標志清零,若在清零時發(fā)現(xiàn)該命中標志為"0",則確定會話表在上次清 零后一直未被命中,向流控制引擎發(fā)送老化消息。步驟402:流控制引擎接收到老化消息,確定老化原因是會話表命中超 時,則向流加速引擎發(fā)送攜帶會話表索引和老化原因為會話表命中超時的會 話刪除消息;并根據(jù)會話表索引查找到流標識信息,通過交換網向流分類引擎發(fā)送攜帶流標識信息的流表刪除消息。流控制引擎中保存的會話信息中包含會話表索引和流標識信息。在實際應用中,老化原因共有三種用戶主動要求結束會話、會話正常 結束、會話表命中超時。其中,用戶主動要求結束會話是由用戶平面通知流 控制引擎的,而在會話正常結束和會話表命中超時引起老化時,都是由流加 速引擎通知流控制引擎的,因此,流加速引擎需要在老化消息中注明老化原 因。步驟403:流加速引擎接收到會話刪除消息,4企測到消息中的老化原因 為會話表命中超時,則不作處理。由于在步驟401中會話表已被刪除,因此本步驟中流加速引擎無需再執(zhí)結束會話,則流加速引擎需要根據(jù)會話表索S1刪除會話表。步驟404:流分類引擎收到流表刪除消息,在自身查找與消息中的流標 識信息對應的正、反向流表,刪除該正、反向流表。流表刪除消息是由流控制引擎通過交換網發(fā)送給流分類引擎的,由于種 種原因,該消息可能傳輸失敗。為了避免流表刪除消息傳輸失敗而導致的無 效的正、反向流表遲遲不^L刪除的情形的發(fā)生,可以預先設置一個長老化時 長,該長老化時長不小于步驟401中的兩倍預定老化時長,若在該長老化時 長內,某條流的正、反向流表都未被命中,則刪除正、反向流表。圖5為本發(fā)明實施例提供的基于流處理的網絡設備的結構示意圖,如圖 5所示,其主要包括流分類引擎51、流加速引擎52和流控制引擎53,其 中,流分類引擎和流加速引擎之間、流分類引擎和流控制引擎之間通過交換 網相連,流加速引擎和流控制引擎——對應,各單元的具體功能如下如圖6所示,流分類引擎51可由三個功能模塊流表存儲模塊511、流表 查找模塊512和老化模塊513組成,其中流表存儲模塊511:保存流控制引擎53發(fā)來的正向流表、反向流表,其中 正、反向流表包括流標識信息、會話表索引、流加速引擎號和流表標志。流表查找模塊512:從接口接收包,根據(jù)包中的流標識信息在流表存儲模 塊511中查找正、反向流表,若查找到,根據(jù)流表中的流加速引擎號,將包和 流表中的會話表索引、流表標志發(fā)送給流加速引擎52;否則,對包中的五元組 進行Hash運算,確定Hash運算結果對應的流加速引擎,將包和未找到流表指 示發(fā)送給流加速引擎52。老化模塊513:接收流控制引擎53發(fā)來的攜帶流標識信息的流表刪除消息, 刪除流表存儲模塊511中與流標識信息對應的正、反向流表。流分類引擎51還可包括長老化模塊用于設置長老化時長,當檢測到屬于 同一條流的正、反向流表在長老化時長內未被命中時,刪除該正、反向流表。如圖7所示,流加速引擎52可由三個功能模塊會話表存儲模塊521、會 話表查找模塊522和老化檢測模塊523組成,其中會話表存儲模塊521:保存流控制引擎53發(fā)來的會話表,其中,會話表包 括會話表索引、正向流加速轉發(fā)信息和反向流加速轉發(fā)信息。會話表查找模塊522:接收流分類引擎51發(fā)來的包、會話表索引和流表標 志,根據(jù)會話表索引會話表存儲模塊521中查找會話表,若查找到完整的會話 表,則根據(jù)流表標志查找會話表中的正向或反向流加速轉發(fā)信息,根據(jù)查找到 的加速轉發(fā)信息轉發(fā)包;若未查找到會話表或查找到不完整的會話表,則將包 發(fā)送給流控制引擎53。老化檢測模塊523:當檢測到會話表命中超時,根據(jù)會話表索引刪除會話 表存儲模塊521中的對應會話表,并向流控制引擎53發(fā)送攜帶會話表索引和老 化原因為會話表命中超時的老化消息;接收流控制引擎53發(fā)來的會話刪除消 息,檢測到消息中的老化原因為會話表命中超時,則不作處理。流控制引擎53可由兩個功能模塊表建立模塊和老化控制模塊組成,其中表建立模塊接收流加速引擎52發(fā)來的包,對包作轉發(fā)處理,若確定包為 正向流首包,則建立正、反向流表和會話表,將正、反向流表發(fā)送給流分類引 擎51;若確定包為反向流首包,則更新會話表,將更新后的會話表發(fā)送給流加 速引擎52。老化控制模塊接收流加速引擎52發(fā)來的攜帶會話表索引和老化原因的老 化消息,向流加速引擎52返回攜帶會話表索引和老化原因的會話刪除消息,并 才艮據(jù)會話表索引確定流標識信息,向流分類引擎51發(fā)送攜帶流標識信息的流表 刪除消息。以上所述僅為本發(fā)明的過程及方法實施例,并不用以限制本發(fā)明,凡在 本發(fā)明的精神和原則之內所做的任何修改、等同替換、改進等,均應包含在 本發(fā)明的保護范圍之內。
權利要求
1、一種流老化方法,其特征在于,該方法包括為每條流建立正向流表、反向流表和會話表,其中,正、反向流表包含流的標識信息和會話表索引,會話表包含正向和反向流的加速轉發(fā)信息;接收正向或反向流包,根據(jù)包中的流標識信息查找正向或反向流表,根據(jù)流表中的會話表索引查找會話表,根據(jù)會話表中的加速轉發(fā)信息轉發(fā)包;當會話表命中超時,刪除會話表及其對應的正、反向流表。
2、 如權利要求l所述的方法,其特征在于,所述正向流表、反向流表和會 話表由流控制引擎建立,且,流控制引擎通過交換網將正向流表和反向流表分發(fā)到流分類引擎上,通過 交換網將會話表被分發(fā)到流加速S1擎上。
3、 如權利要求l所述的方法,其特征在于,所述流的標識信息為五元組 和虛擬局域網VLAN標識,或者為五元組和虛擬3各由和轉發(fā)VRF標識。
4、 如權利要求1至3任一所述的方法,其特征在于,所述正向流表進一步 包括是否需要對正向流的目的IP地址進行網絡地址轉換NAT的標志、是否 需要對正向流的源IP地址進4亍NAT的標志;和/或,所述反向流表進一步包括是否需要對反向流的源IP地址進行NAT 的標志、是否需要對反向流的目的IP地址進行NAT的標志。
5、 如權利要求l所述的方法,其特征在于,所述會話表包括正向流出口 VLAN標識、反向流出口 VLAN標識、VRF標識、傳輸控制協(xié)i義TCP代理標 志、是否需要作慢路徑轉發(fā)的標志、傳輸層協(xié)議標志、正向流出端口號、反向 流出端口號。
6、 如權利要求1 3、 5中任一所述的方法,其特征在于,所述會話表命中 超時通過以下方式確定每當會話表被命中,將會話表的命中標志置"l,,;同 時,每隔預定老化時長將該命中標志清零,且,當要對該命中標志清零時,若 發(fā)現(xiàn)該命中標志為"0",則確定會話表命中超時。
7、 如權利要求6所述的方法,其特征在于,所述方法進一步包括預先設 置一個不小于所述兩倍預定老化時長的長老化時長,當屬于同一流的正、反向流表在所述長老化時長內未被命中時,刪除該正、 反向流表。
8、 如權利要求1 3、 5中任一所述的方法,其特征在于,所述為每條流建 立正、反向流表和會話表包括接收正向流首包,對正向流首包作慢3各徑轉發(fā)處理,并建立正向流表、反 向流表以及會話表,其中,會話表中僅包含正向流加速轉發(fā)信息;接收反向流首包,對反向流首包作慢路徑轉發(fā)處理,并將反向流加速轉發(fā) 信息加入到會話表中。
9、 一種流老化網絡設備,其特征在于,包括流分類引擎、流加速引擎和 流控制引擎,其中流分類引擎,保存流控制引擎發(fā)來的正、反向流表;接收包,若根據(jù)包中 的流標識信息查找到正向或反向流表,將包和流表中的會話表索? 1發(fā)送給流加 速引擎;否則,將包發(fā)送給流控制引擎;根據(jù)流控制引擎發(fā)來的流表刪除消息, 刪除正、反向流表;流加速引擎,保存流控制引擎發(fā)來的會話表;接收包和會話表索引,若根 據(jù)會話表索引查找到完整會話表,根據(jù)會話表中的加速轉發(fā)信息轉發(fā)包;否貝寸, 將包發(fā)送給流控制引擎;若會話表命中超時,刪除會話表,向流控制引擎發(fā)送 攜帶會話表索引的老化消息;流控制引擎,接收包,根據(jù)包為每條流建立正、反向流表和會話表并發(fā)送 出去;接收老化消息,將攜帶流標識信息的流表刪除消息發(fā)送出去。
10、 如權利要求9所述的網絡設備,其特征在于,所述流分類引擎包括 流表存儲模塊、流表查找模塊和老化模塊,其中流表存儲模塊,存儲流控制引擎發(fā)來的正向流表和反向流表,其中正、反 向流表中包含流標識信息、會話表索引、流加速引擎號和流表標志;流表查找模塊,接收外部發(fā)來的包,在流表存儲模塊中查找與包中的流標識信息對應的正、反向流表,若查找到,將包和流表中的會話表索引、流表標,古、劣;關*厶、:右類4 "-:右知;擊31發(fā)縣^;^^-:右知;去31發(fā)*吝去本她$)1 由^ 流標識信息得到流加速引擎號,將包和未找到流表指示發(fā)送給流加速引擎;老化模塊,接收流控制引擎發(fā)來的攜帶流標識信息的流表刪除消息,根據(jù) 該流標識信息,刪除流表存儲模塊中的正、反向流表。
11、 如權利要求IO所述的網絡設備,其特征在于,所述流分類引擎進一步 包括長老化模塊,用于設置長老化時長,當屬于同一流的正、反向流表在長老 化時長內未被命中時,刪除該正、反向流表。
12、 如權利要求IO所述的網絡設備,其特征在于,所述流加速引擎包括 會話表存儲模塊、會話表查找模塊和老化檢測模塊,其中會話表存儲模塊,接收并存儲流控制引擎發(fā)來的會話表,其中,會話表包 括會話表索引、正向流加速轉發(fā)信息和反向流加速轉發(fā)信息;會話表查找模塊,接收流分類引擎發(fā)來的包和未找到流表指示,將包發(fā)送 給流控制引擎;接收流分類引擎發(fā)來的包和會話表索引、流標志,若根據(jù)會話 表索引查找到完整會話表,則根據(jù)流表標志在會話表中查找加速轉發(fā)信息,根 據(jù)加速轉發(fā)信息轉發(fā)包;否則,將包發(fā)送給流控制引擎;老化檢測模塊,檢測到會話表命中超時,根據(jù)會話表索引刪除會話表存儲 模塊中的會話表,并向流控制引擎發(fā)送攜帶會話表索引的老化消息,且消息指 示老化原因為會話表命中超時。
13、 如權利要求10或12所述的網絡設備,其特征在于,所述流控制引擎 包括表建立模塊和老化控制模塊,其中表建立模塊,接收流加速引擎發(fā)來的包,對包作轉發(fā)處理,若確定該包為 正向流首包,建立正、反向流表和會話表,將正、反向流表發(fā)送給流分類引擎; 若確定該包為反向流首包,更新會話表,將更新的會話表發(fā)送給流加速引擎;老化控制模塊,接收流加速引擎發(fā)來的攜帶會話表索引和老化原因的老化 消息,根據(jù)會話表索?I確定流標識信息,向流分類? 1擎發(fā)送攜帶流標識信息的 流表刪除消息。
全文摘要
本發(fā)明公開了流老化方法及網絡設備。方法包括為每條流建立正向流表、反向流表和會話表,其中,正、反向流表包含流的標識信息和會話表索引,會話表包含正向和反向流的加速轉發(fā)信息;接收正向或反向流包,根據(jù)包中的流標識信息查找正向或反向流表,根據(jù)流表中的會話表索引查找會話表,根據(jù)會話表中的加速轉發(fā)信息轉發(fā)包;當會話表命中超時,刪除會話表及其對應的正、反向流表。本發(fā)明通過將正、反向流表與統(tǒng)一的會話表關聯(lián),流的老化依賴于會話表的老化,避免了由于單方向流中止引起的會話提前中止,同時節(jié)省了資源。
文檔編號H04L12/56GK101247353SQ20081010272
公開日2008年8月20日 申請日期2008年3月25日 優(yōu)先權日2008年3月25日
發(fā)明者曉 李, 荻 陳 申請人:杭州華三通信技術有限公司