新四季網

流表匹配方法和裝置以及交換的製造方法

2023-05-27 23:26:46

流表匹配方法和裝置以及交換的製造方法
【專利摘要】本發明實施例提供一種流表匹配方法和裝置以及交換機,將每條流表項中的精確匹配表項和通配表項分開存儲,將精確匹配表項存儲在內存中,將通配表項存儲在TCAM中,應用索引值index來代表精確匹配表項,減少了通配表項對TCAM資源的使用,提高TCAM的利用率;並且應用適合的查找算法分別進行精確匹配表項和通配表項的匹配,提高了查找速度。
【專利說明】流表匹配方法和裝置以及交換機
【技術領域】
[0001]本發明實施涉及通信技術,尤其涉及一種流表匹配方法和裝置以及交換機。
【背景技術】
[0002]OpenFlow技術最早由史丹福大學提出,旨在基於現有TCP/IP技術條件,以創新的網絡互聯理念解決當前網絡面對新業務產生的種種瓶頸。它的核心思想是將原本完全由交換機/路由器控制的數據包轉發過程,轉化為由OpenFlow交換機(OpenFlow Switch)和控制伺服器(Controller)分別完成的獨立過程。OpenFlow交換機會在本地維護一個流表(Flow Table),如果要轉發的數據包在流表中有對應項,則直接進行快速轉發;若流表中沒有此項,數據包就會被發送到控制伺服器進行傳輸路徑的確認,再根據下髮結果進行轉發。[0003]在OpenFlow發展初期,交換機中的流表是扁平化的,其中的流表項分成兩種,完全精確匹配流表項和通配流表項。其中,通配流表項包含部分需要精確匹配的匹配域(Match Field)和部分可以通配匹配的匹配域。完全精確匹配流表項存放在外部隨機存儲器(Random Access Memory ;簡稱:RAM)中,可以有較大的存儲容量,通過哈希(HASH)快速查找。而通配流表項由於存在不確定的匹配域(即可以通配匹配的匹配域),其是存儲在三態內容尋址存儲器(Ternary Content Addressable Memory ;簡稱:TCAM)中進行快速查找。限於目前技術水平,TCAM價格昂貴且功耗較大。由於TCAM的限制,所以在實現中一般控制伺服器以下完全精確匹配流表項為主。由於完全精確匹配流表項完整的定義了一個數據流,因此流表容量龐大,阻礙了 OpenFlow的發展。
[0004]隨著OpenFlow技術的發展,現有技術將流表擴展為多級流表,通過多個流表的組合,大量減少了流表項的條數,但是分配在多個流表中流表項,都只關心部分的特徵數據,其他部分需要通配解決,由此增加了通配表項的條數,從而導致TCAM容量的大量佔用。

【發明內容】

[0005]本發明實施例針對現有技術的缺陷,提供一種流表匹配方法和裝置以及交換機,以提高TCAM的利用率。
[0006]本發明實施例的一方面提供一種流表匹配方法,所述流表包括精確匹配流表和通配流表,所述精確匹配流表存儲在內存中,所述通配流表存儲在三態內容尋址存儲器中;所述精確匹配流表包括一個或多個精確匹配表項,每個精確匹配表項包括多個精確匹配域,每個精確匹配表項對應一個索引值;所述通配流表包括一個或多個通配表項,每個通配表項包括多個通配域以及一個用於存儲所述索引值的索引域;通過所述索引值關聯的精確匹配表項和通配表項組成一個完整的流表項;所述方法包括:
[0007]獲取接收到的報文中的多個匹配域,所述多個匹配域包括多個精確匹配域和多個通配域;
[0008]將所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;[0009]根據所述索引值,將所述報文中的多個通配域與所述通配流表中各所述通配表項的多個通配域進行匹配,獲得匹配結果。
[0010]本發明實施例提供的方法中,可以應用哈希HASH算法,進行所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域的匹配。
[0011]本發明實施例提供的方法中,還包括:
[0012]接收控制伺服器下發的目標流表,所述目標流表包括至少一個流表項,各流表項包括多個精確匹配域和多個通配域;
[0013]將各流表項中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;若匹配不成功,則在所述精確匹配流表中的一精確匹配表項中存儲所述目標流表的多個精確匹配域,並為所述精確匹配表項分配一個索引值;
[0014]將所述目標流表的多個通配域存儲在所述通配流表中的一個通配表項中,並將所述索引值存儲在所述通配表項中的索引域內。
[0015]本發明實施例提供的方法中,還包括:
[0016]為所述通配流表中的各通配表項設置有效時間,當有效時間結束後,若所述通配表項存儲的索引值不與其他通配表項存儲的索引值相同,則同時刪除所述通配表項和所述索引值對應的精確匹配表項;
[0017]若所述通配表項存儲的索引值與其他通配表項存儲的索引值相同,則僅刪除所述通配表項。
[0018]本發明實施例的另一方面提供流表匹配裝置,所述流表匹配裝置中存儲有流表,所述流表包括精確匹配流表和通配流表,所述精確匹配流表存儲在內存中,所述通配流表存儲在三態內容尋址存儲器中;所述精確匹配流表包括一個或多個精確匹配表項,每個精確匹配表項包括多個精確匹配域,每個精確匹配表項對應一個索引值;所述通配流表包括一個或多個通配表項,每個通配表項包括多個通配域以及一個用於存儲所述索引值的索引域;通過所述索引值關聯的精確匹配表項和通配表項組成一個完整的流表項;所述流表匹配裝置包括:
[0019]獲取模塊,用於獲取接收到的報文中的多個匹配域,所述多個匹配域包括多個精確匹配域和多個通配域;
[0020]第一匹配模塊,用於將所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;
[0021]第二匹配模塊,用於根據所述索引值,將所述報文中的多個通配域與所述通配流表中各所述通配表項的多個通配域進行匹配,獲得匹配結果。
[0022]本發明實施例提供的裝置中,所述第一匹配模塊還用於:應用哈希HASH算法,進行所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域的匹配。
[0023]本發明實施例提供的裝置中,還包括:
[0024]劃分模塊,用於接收控制伺服器下發的目標流表,所述目標流表包括至少一個流表項,各流表項包括多個精確匹配域和多個通配域;將各流表項中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;若匹配不成功,則在所述精確匹配流表中的一精確匹配表項中存儲所述目標流表的多個精確匹配域,並為所述精確匹配表項分配一個索引值;以及,將所述目標流表的多個通配域存儲在所述通配流表中的一個通配表項中,並將所述索引值存儲在所述通配表項中的索引域內。
[0025]本發明實施例提供的裝置中,還包括:
[0026]老化處理模塊,用於為所述通配流表中的各通配表項設置有效時間,當有效時間結束後,若所述通配表項存儲的索引值不與其他通配表項存儲的索引值相同,則同時刪除所述通配表項和所述索引值對應的精確匹配表項;以及,若所述通配表項存儲的索引值與其他通配表項存儲的索引值相同,則僅刪除所述通配表項。
[0027]本發明實施例的再一方面提供交換機,包括內存和三態內容尋址存儲器;所述流表包括精確匹配流表和通配流表,所述精確匹配流表存儲在所述內存中,所述通配流表存儲在所述三態內容尋址存儲器中;所述精確匹配流表包括一個或多個精確匹配表項,每個精確匹配表項包括多個精確匹配域,每個精確匹配表項對應一個索引值;所述通配流表包括一個或多個通配表項,每個通配表項包括多個通配域以及一個用於存儲所述索引值的索引域;通過所述索引值關聯的精確匹配表項和通配表項組成一個完整的流表項;[0028]所述系統還包括:處理器,用於獲取接收到的報文中的多個匹配域,所述多個匹配域包括多個精確匹配域和多個通配域;並將所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;以及,根據所述索引值,將所述報文中的多個通配域與所述通配流表中各所述通配表項的多個通配域進行匹配,獲得匹配結果。
[0029]本發明實施例提供的交換機中,所述處理器還用於:應用哈希HASH算法,進行所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域的匹配。
[0030]本發明實施例提供的流表匹配方法和裝置以及交換機,將流表項中的精確匹配表項和通配表項分開存儲,將精確匹配表項存儲在內存中,將通配表項存儲在TCAM中,應用索引值index來代表精確匹配表項,減少了通配表項對TCAM資源的使用,提高TCAM的利用率;並且應用適合的查找算法分別進行精確匹配表項和通配表項的匹配,提高了查找速度。
【專利附圖】

【附圖說明】
[0031]圖1為本發明實施例提供的流表匹配方法流程圖;
[0032]圖2為本發明實施例中流表拆分存儲示意圖;
[0033]圖3為本發明實施例提供的流表匹配裝置結構示意圖。
【具體實施方式】
[0034]OpenFlow交換機是整個OpenFlow網絡的核心部件,主要管理數據層的轉發。交換機接收到報文後,首先在本地的流表上查找轉發目標埠,如果沒有匹配,則把報文轉發給Controller,由控制層決定轉發埠。交換機由流表、安全通道和OpenFlow協議三部分組成。其中,安全通道是連接交換機到Controller的接口。Controller通過這個接口控制和管理交換機,同時控制器接收來自交換機的事件並向交換機發送數據包。交換機和Controller通過安全通道進行通信,而且所有的信息必須按照OpenFlow協議規定的格式來執行。OpenFlow協議用來描述Controller和交換機之間交互所用信息的標準,以及Controller和交換機的接口標準。協議的核心部分是用於OpenFlow協議信息結構的集合。
[0035]Openflow的流表分為匹配域(Match Fields)、計數器和指令集三個部分,MatchFields是報文匹配的輸入關鍵字,計數器是管理所需,指令集是決定報文如何轉發,最基本的轉發行為包括轉發給某個埠、封裝改寫報文後轉發以及丟棄。其中Match Fields分為兩類:一種是精確匹配域,交換機需要完整的匹配該域。另一種是通配域,交換機可以部分匹配,或完全忽略該匹配域。
[0036]現有技術中,當一條流表項中既有通配域又有精確匹配域的時候,無法通過HASH算法來快速查找。在特定性能需求的情況下,需要採用TCAM來進行存儲和查找,但是由於通配表項的條數較多,將佔用大量的TCAM容量,本發明各實施例針對OpenFlow流表項的特點提供一種解決方案,即將流表項中的精確匹配表項和通配表項分開存儲,將精確匹配表項存儲在內存中,將通配表項存儲在TCAM中,並應用適合的查找算法分別進行表項匹配,以減少TCAM的佔用,提高TCAM的利用率。
[0037]圖1為本發明實施例提供的流表匹配方法流程圖,如圖1所示,該方法包括:
[0038]步驟100、交換機獲取接收到的報文中的多個匹配域,所述多個匹配域包括多個精確匹配域和多個通配域;
[0039]OpenFlow交換機接收需要進行轉發的報文,並從所述報文中獲取需要與本地存儲的流表進行匹配的多個匹配域,所述的匹配域包括多個精確匹配域和多個通配域。針對各精確匹配域,交換機需要 完整的匹配該域,即報文中各精確匹配域的域值要與流表中對應的精確匹配域的閾值完全相同。針對通配域,交換機可以部分匹配即報文中各通配域的域值與流表中對應的通配域的閾值部分相同即可,或者交換機完全忽略該通配域即不進行該通配域的匹配。
[0040]圖2為本發明實施例中流表拆分存儲示意圖,如圖2所示,本發明實施例提供的方法中,交換機將所維護的流表T拆分成兩個表,包括精確匹配流表Tl和通配流表T2,內容非*的表示精確匹配域,*表示通配域。所述精確匹配流表Tl存儲在內存RAM (例如如SDRAM或DRAM)中,所述通配流表T2存儲在三態內容尋址存儲器TCAM中。
[0041]所述精確匹配流表Tl包括一個或多個精確匹配表項(表中的一行表示一個表項),每個精確匹配表項包括多個精確匹配域,每個精確匹配表項對應一個索引值。相應地,所述通配流表T2包括一個或多個通配表項(表中的一行表示一個表項),每個通配表項包括多個通配域以及一個用於存儲所述索引值的索引域。通過索引值關聯的精確匹配表項和通配表項組成一個完整的流表項。例如圖2中,精確匹配流表Tl包括3個精確匹配表項,每個精確匹配表項包括(MF1、MF4、MF6、MF7、MF8、MF9) 6個精確匹配域;通配流表T2包括3個通配表項,每個通配表項包括(MF2*、MF3*、MF5*) 3個通配域,每個通配表項還各包括一個索引域MFX。從圖中可以看出,Tl 中索引值為「1』的精確匹配表項(A、B、C、D、E、F)與T2中索引域中存儲的索引值為「I」的通配表項(*、*、*)組成一個完成的流表項;T1中索引值為「2」的精確匹配表項化、(:43、0、?)與12中索引域MFX中存儲的索引值為「2」的通配表項(*、*、*)組成一個完成的流表項;T1中索引值為「2」的精確匹配表項(B、C、A、E、D、F)與T2中索引域MFX中存儲的索引值為「 2 」的通配表項(*、3、2 )也組成一個完成的流表項。本發明實施例是將精確匹配表項的索引值作為通配表項的一個匹配域,以實現組合的唯一性。
[0042]步驟101、交換機將所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;
[0043]交換機基於精確匹配流表Tl和通配流表Τ2的兩個流表,將現有技術中一次完成的查找動作,分解成兩次來完成。
[0044]首先進行精確匹配域的匹配。交換機獲取到報文中的多個精確匹配域後,將這些精確匹配域的閾值分別與精確匹配流表Tl中各精確匹配表項的多個精確匹配域的閾值進行匹配,由於需要精確匹配,因此本發明實施例可以應用例如哈希HASH等算法進行匹配,若匹配成功,則繼續進行通配域的匹配。在進行通配域匹配之前,首先獲取與匹配成功的精確匹配表項所對應的索引值,假設匹配成功的精確匹配表為(B、C、A、E、D、F),則其索引值為「2」。
[0045]步驟102、交換機根據所述索引值,將所述報文中的多個通配域與所述通配流表中各所述通配表項的多個通配域進行匹配,獲得匹配結果。
[0046]交換機獲取到與匹配成功的精確匹配表項(B、C、A、E、D、F)所對應的索引值「2」後,便可以繼續進行通配域的匹配。具體地,交換機根據索引值「2」,將索引值(index)作為一個匹配域在通配流表T2中繼續查找,結果獲知在通配流表T2中查找中索引域MFX的值為「2」的通配表項包括兩個通配表項(*、*、*)和(*、3、2)。然後,再將報文中的多個通配域與通配流表T2中各通配表項的多個通配域進行匹配,獲得匹配結果。假設報文中的多個通配域分別為(6、4、5),則通過匹配可知,通配表項(*、*、*)匹配成功,交換機便根據與完成流表項(B、C、A、E、D、F、*、*、*)所對應的指令對所述報文進行操作。
[0047]若兩個通配表項(*、*、*)和(*、3、2)均匹配成功,則按照流表項的優先級選擇對應的指令進行操作。
[0048]本發明實施例提供的方法中,若精確匹配域的匹配不成功,則交換機可以按照現有技術將報文發送給服務控制器請求轉發策略。服務控制器為報文制定轉發策略下發給交換機,交換機根據轉發策略對報文進行處理。
[0049]以下介紹服務控制器向交換機下發流表,交換機進行拆分存儲的過程。首先,交換機接收到服務控制器下發的目標流表,該目標流表中包括至少一個流表項,各流表項既包括多個精確匹配域又包括多個通配域。然後,交換機截取其中的精確匹配域與現有的、存儲在內存中的精確匹配流表中各精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與精確匹配表項對應的索引值;若匹配不成功,則在精確匹配流表中的一精確匹配表項中存儲目標流表的多個精確匹配域,並為精確匹配表項分配一個索引值。應該注意的是該索引值並不是精確匹配流表的一部分。接著,交換機截取目標流表中的多個通配域,將其存儲在TCAM內通配流表中的一個通配表項中,並將獲取的索引值存儲在對應的索引域內。
[0050] 本發明實施例提供的方法中,還可以包括以通配表項為單位的流表老化處理過程,具體包括:為通配流表中的各通配表項設置各自對應的有效時間,當有效時間結束後,若通配表項存儲的索引值不與其他通配表項存儲的索引值相同,則同時刪除通配表項和索引值對應的精確匹配表項。假設T2中索引域中存儲的索引值為「I」的通配表項(*、*、*)的有效時間3s到時,由於T2中沒有其他索引域的值為「I」的通配表項,因此可以直接刪除T2中通配表項(*、*、*)和Tl中的精確匹配表項(麼、8、(:、03、?)。
[0051]若通配表項存儲的索引值與其他通配表項存儲的索引值相同,則僅刪除通配表項。假設T2中索引域中存儲的索引值為「2」的通配表項(*、*、*)的有效時間5s到時,由於T2中有另一個通配表項的索引域的值也為「1」,因此僅刪除T2中的通配表項(*、*、*)SP可,保留Tl中的精確匹配表項化、(:33、0、?)。
[0052]本發明實施例提供的流表匹配方法,將流表項中的精確匹配表項和通配表項分開存儲,將精確匹配表項存儲在內存中,將通配表項存儲在TCAM中,應用索引值index來代表精確匹配表項,減少了通配表項對TCAM資源的使用,提高TCAM的利用率;並且應用適合的查找算法分別進行精確匹配表項和通配表項的匹配,提高了查找速度。
[0053]圖3為本發明實施例提供的流表匹配裝置結構示意圖,如圖3所示,該流表匹配裝置包括獲取模塊31、第一匹配模塊32和第二匹配模塊33,其中,獲取模塊31用於獲取接收到的報文中的多個匹配域,所述多個匹配域包括多個精確匹配域和多個通配域;第一匹配模塊32用於將所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;第二匹配模塊33用於根據所述索引值,將所述報文中的多個通配域與所述通配流表中各所述通配表項的多個通配域進行匹配,獲得匹配結果。其中,在流表匹配裝置中存儲有流表,該流表包括精確匹配流表和通配流表,所述精確匹配流表存儲在內存中,所述通配流表存儲在三態內容尋址存儲器中;所述精確匹配流表包括一個或多個精確匹配表項,每個精確匹配表項包括多個精確匹配域,每個精確匹配表項對應一個索引值;所述通配流表包括一個或多個通配表項,每個通配表項包括多個通配域以及一個用於存儲所述索引值的索引域;通過所述索引值關聯的精確匹配表項和通配表項組成一個完整的流表項。
[0054]具體地,裝置通過獲取模塊31截取接收到的報文中的多個精確匹配域和多個通配域,然後通過第一匹配模塊32首先在內存中進行精確匹配域的完全匹配,具體可以採用哈希HASH算法來匹配。若匹配成功,則獲取對應的索引值;若匹配不成功,則在內存的精確匹配流表存儲所述報文中的多個精確匹配域,並為其分配一個索引值。再通過第二匹配模塊33根據索引值在TCAM中進行多個通配域的匹配,最終獲得匹配結果。
[0055]本發明實施例提供的流表匹配裝置,將流表項中的精確匹配表項和通配表項分開存儲,將精確匹配表項存儲在內存中,將通配表項存儲在TCAM中,應用索引值index來代表精確匹配表項,減少了通配表項對TCAM資源的使用,提高TCAM的利用率;並且應用適合的查找算法分別進行精確匹配表項和通配表項的匹配,提高了查找速度。
[0056]本發明實施例提供的流表匹配裝置,還可以包括劃分模塊,用於接收控制伺服器下發的目標流表,所述目標流表包括至少一個流表項,各流表項包括多個精確匹配域和多個通配域;將各流表項中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;若匹配不成功,則在所述精確匹配流表中的一精確匹配表項中存儲所述目標流表的多個精確匹配域,並為所述精確匹配表項分配一個索引值;以及,將所述目標流表的多個通配域存儲在所述通配流表中的一個通配表項中,並將所述索引值存儲在所述通配表項中的索引域內。裝置通過劃分模塊34將流表劃分成兩部分,但是這樣的劃分對控制伺服器並不需要獲知,控制伺服器按照現有技術處理即可,不會受到影響。
[0057]本發明實施例提供的流表匹配裝置,還可以包括老化處理模塊,用於為所述通配流表中的各通配表項設置有效時間,當有效時間結束後,若所述通配表項存儲的索引值不與其他通配表項存儲的索引值相同,則同時刪除所述通配表項和所述索引值對應的精確匹配表項;以及,若所述通配表項存儲的索引值與其他通配表項存儲的索引值相同,則僅刪除所述通配表項。由此可見,老化處理模塊是以通配表項為單位的進行老化處理的。
[0058]本發明實施例還提供一種交換機,包括內存、三態內容尋址存儲器和處理器。交換機維護有流表,所述流表包括精確匹配流表和通配流表,所述精確匹配流表存儲在所述內存中,所述通配流表存儲在所述三態內容尋址存儲器中;所述精確匹配流表包括一個或多個精確匹配表項,每個精確匹配表項包括多個精確匹配域,每個精確匹配表項對應一個索引值;所述通配流表包括一個或多個通配表項,每個通配表項包括多個通配域以及一個用於存儲所述索引值的索引域;通過所述索引值關聯的精確匹配表項和通配表項組成一個完整的流表項。
[0059]處理器具體用於獲取接收到的報文中的多個匹配域,所述多個匹配域包括多個精確匹配域和多個通配域;並將所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;以及,根據所述索引值,將所述報文中的多個通配域與所述通配流表中各所述通配表項的多個通配域 進行匹配,獲得匹配結果。處理器在內存中進行精確匹配域的匹配過程中,可以採用哈希HASH算法進行匹配。
[0060]本發明實施例提供的交換機,將流表項中的精確匹配表項和通配表項分開存儲,將精確匹配表項存儲在內存中,將通配表項存儲在TCAM中,應用索引值index來代表精確匹配表項,減少了通配表項對TCAM資源的使用,提高TCAM的利用率;並且應用適合的查找算法分別進行精確匹配表項和通配表項的匹配,提高了查找速度。
[0061]在本發明所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0062]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0063]另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用硬體加軟體功能單元的形式實現。
[0064]上述以軟體功能單元的形式實現的集成的單元,可以存儲在一個計算機可讀取存儲介質中。上述軟體功能單元存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)或處理器(processor)執行本發明各個實施例所述方法的部分步驟。而前述的存儲介質包括:U盤、移動硬碟、只讀存儲器(Read-Only Memory, ROM)、隨機存取存儲器(Random Access Memory, RAM)、磁碟或者光碟等各種可以存儲程序代碼的介質。[0065]本領域技術人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的裝置的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0066]最後應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的範圍。
【權利要求】
1.一種流表匹配方法,其特徵在於,所述流表包括精確匹配流表和通配流表,所述精確匹配流表存儲在內存中,所述通配流表存儲在三態內容尋址存儲器中;所述精確匹配流表包括一個或多個精確匹配表項,每個精確匹配表項包括多個精確匹配域,每個精確匹配表項對應一個索引值;所述通配流表包括一個或多個通配表項,每個通配表項包括多個通配域以及一個用於存儲所述索引值的索引域;通過所述索引值關聯的精確匹配表項和通配表項組成一個完整的流表項;所述方法包括: 獲取接收到的報文中的多個匹配域,所述多個匹配域包括多個精確匹配域和多個通配域; 將所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值; 根據所述索引值,將所述報文中的多個通配域與所述通配流表中各所述通配表項的多個通配域進行匹配,獲得匹配結果。
2.根據權利要求1所述的方法,其特徵在於,所述將所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配包括: 應用哈希HASH算法,進行所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域的匹配。
3.根據權利要 求1或2所述的方法,其特徵在於,所述方法還包括: 接收控制伺服器下發的目標流表,所述目標流表包括至少一個流表項,各流表項包括多個精確匹配域和多個通配域; 將各流表項中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;若匹配不成功,則在所述精確匹配流表中的一精確匹配表項中存儲所述目標流表的多個精確匹配域,並為所述精確匹配表項分配一個索引值; 將所述目標流表的多個通配域存儲在所述通配流表中的一個通配表項中,並將所述索引值存儲在所述通配表項中的索引域內。
4.根據權利要求1或2所述的方法,其特徵在於,所述方法還包括: 為所述通配流表中的各通配表項設置有效時間,當有效時間結束後,若所述通配表項存儲的索引值不與其他通配表項存儲的索引值相同,則同時刪除所述通配表項和所述索引值對應的精確匹配表項; 若所述通配表項存儲的索引值與其他通配表項存儲的索引值相同,則僅刪除所述通配表項。
5.一種流表匹配裝置,其特徵在於,所述流表匹配裝置中存儲有流表,所述流表包括精確匹配流表和通配流表,所述精確匹配流表存儲在內存中,所述通配流表存儲在三態內容尋址存儲器中;所述精確匹配流表包括一個或多個精確匹配表項,每個精確匹配表項包括多個精確匹配域,每個精確匹配表項對應一個索引值;所述通配流表包括一個或多個通配表項,每個通配表項包括多個通配域以及一個用於存儲所述索引值的索引域;通過所述索引值關聯的精確匹配表項和通配表項組成一個完整的流表項;所述流表匹配裝置包括: 獲取模塊,用於獲取接收到的報文中的多個匹配域,所述多個匹配域包括多個精確匹配域和多個通配域;第一匹配模塊,用於將所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值; 第二匹配模塊,用於根據所述索引值,將所述報文中的多個通配域與所述通配流表中各所述通配表項的多個通配域進行匹配,獲得匹配結果。
6.根據所述權利要求5所述的裝置,其特徵在於,所述第一匹配模塊還用於: 應用哈希HASH算法,進行所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域的匹配。
7.根據所述權利要求5或6所述的裝置,其特徵在於,還包括: 劃分模塊,用於接收控制伺服器下發的目標流表,所述目標流表包括至少一個流表項,各流表項包括多個精確匹配域和多個通配域;將各流表項中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;若匹配不成功,則在所述精確匹配流表中的一精確匹配表項中存儲所述目標流表的多個精確匹配域,並為所述精確匹配表項分配一個索引值;以及,將所述目標流表的多個通配域存儲在所述通配流表中的一個通配表項中,並將所述索引值存儲在所述通配表項中的索引域內。
8.根據所述權利要求5或6所述的裝置,其特徵在於,還包括: 老化處理模塊,用於為所述通配流表中的各通配表項設置有效時間,當有效時間結束後,若所述通配表項存儲的索引值不與其他通配表項存儲的索引值相同,則同時刪除所述通配表項和所述索引值對應的精確匹配表項;以及,若所述通配表項存儲的索引值與其他通配表項存儲的索引值相同,則僅刪除所述通配表項。
9.一種交換機,其特徵在於,包括內存和三態內容尋址存儲器;所述流表包括精確匹配流表和通配流表,所述精確匹配流表存儲在所述內存中,所述通配流表存儲在所述三態內容尋址存儲器中;所述精確匹配流表包括一個或多個精確匹配表項,每個精確匹配表項包括多個精確匹配域,每個精確匹配表項對應一個索引值;所述通配流表包括一個或多個通配表項,每個通配表項包括多個通配域以及一個用於存儲所述索引值的索引域;通過所述索引值關聯的精確匹配表項和通配表項組成一個完整的流表項; 所述系統還包括: 處理器,用於獲取接收到的報文中的多個匹配域,所述多個匹配域包括多個精確匹配域和多個通配域;並將所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域進行匹配,若匹配成功,則獲取與所述精確匹配表項對應的索引值;以及,根據所述索引值,將所述報文中的多個通配域與所述通配流表中各所述通配表項的多個通配域進行匹配,獲得匹配結果。
10.根據所述權利要求9所述的交換機,其特徵在於,所述處理器還用於: 應用哈希HASH算法,進行所述報文中的多個精確匹配域與所述精確匹配流表中各所述精確匹配表項的多個精確匹配域的匹配。
【文檔編號】H04L12/743GK103905311SQ201210586928
【公開日】2014年7月2日 申請日期:2012年12月28日 優先權日:2012年12月28日
【發明者】周在福 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀