本發明專利技術提供一種基于多級流表的Openflow報文轉發方法及系統,其方法包括:至少構建依次串行設置的第一、第二、第三級流表,其中,第一、第二級流表以TCAM表的形式構建,第三級流表以哈希表的形式構建,所述第一、第二、第三級流表可單獨使用、或組合使用,并基于此三級流表進行報文的轉發動作的查找,之后根據轉發動作進行報文轉發,本發明專利技術由于第一級流表到第三級流表是由粗到細粒度的控制,故第三級流表采用哈希表的形式,可使得第三級流表獲取更多的流條目,與此同時,系統成本也得以控制。
【技術實現步驟摘要】
本專利技術涉及網絡通信領域技術,尤其涉及一種基于多級流表的Openflow報文轉發方法及系統。
技術介紹
Openflow是目前在SDN(Software?Defined?Networking)網絡中最主要的一種方案。為了獲得更多的流條目數,Openflow交換機系統中根據Openflow的規范要求往往支持多級流表,多級流表是指一個進入Openflow交換機的報文可以根據不同的字段在不同的流表中進行查找,并且前一級流表的結果可以影響后一級流表的查表過程?,F有技術中,為了提高系統的靈活性,往往通過TCAM(ternary?content?addressable?memory)表的形式構建多級流表,但是在ASIC(Application?Specific?Integrated?Circuit)設計過程中,若為了獲得更多的流表條目,勢必需要增加TCAM表的數目,而由于TCAM的成本較高,給整個系統的成本帶來了負擔,顯然,這是不切實際的。
技術實現思路
本專利技術所需解決的技術問題在于提供一種基于多級流表的Openflow報文轉發方法,以較低成本實現Openflow多級流表的報文轉發機制。相應地,本專利技術還提供一種基于多級流表的Openflow報文轉發系統。為解決上述技術問題,本專利技術所采取的技術方案為:一種基于多級流表的Openflow報文轉發方法,包括如下步驟:S1、至少構建依次串行設置的第一、第二、第三級流表,其中,第一、第二級流表以TCAM表的形式構建,第三級流表以哈希表的形式構建,所述第一、第二、第三級流表可單獨使用、或組合使用;S2、接收報文并確定該報文所需查找的流表;若該報文只需查找一級流表,則根據報文內容在對應的第一、或第二、或第三級流表中查找并獲得相應的報文轉發動作;若該報文需要查找多級流表,則按照所述各級流表的先后次序分別進行查找,并且在前一級流表中獲取可作為后一級流表輸入的一中間參數,直至根據報文內容查找得到該報文相應的報文轉發動作;S3、根據所述報文轉發動作轉發相應的報文。作為本專利技術的進一步改進,所述第三級流表應用Openflow的通用轉發處理流程,其可作為獨立的通用轉發處理單元使用。作為本專利技術的進一步改進,所述步驟S2中的“多級流表的查找”包括第一、第二級流表的查找、或者第二、第三級流表的查找、或者第一、第三級流表的查找、或者第一、第二、第三級流表的查找,上述查找必須按照流表的先后次序進行。作為本專利技術的進一步改進,所述中間參數包括用于后一級流表查找的串比特位,在需要進入第三級流表時,所述中間參數還包括指定的轉發表類型、報文的查找內容。作為本專利技術的進一步改進,所述轉發表類型包括二層轉發表、或三層轉發表、或其他類型轉發表,所述第三級流表中設置默認轉發動作。相應地,本專利技術提供的一種基于多級流表的Openflow報文轉發系統,其包括:流表構建單元、用于至少構建依次串行設置的第一、第二、第三級流表,其中,第一、第二級流表以TCAM表的形式構建,第三級流表以哈希表的形式構建,所述第一、第二、第三級流表可單獨使用、或組合使用;動作查找單元、用于接收報文并確定該報文所需查找的流表;若該報文只需查找一級流表,則根據報文內容在對應的第一、或第二、或第三級流表中查找并獲得相應的報文轉發動作;若該報文需要查找多級流表,則按照所述各級流表的先后次序分別進行查找,并且在前一級流表中獲取可作為后一級流表輸入的一中間參數,直至根據報文內容查找得到該報文相應的報文轉發動作;報文轉發單元、用于根據所述報文轉發動作轉發相應的報文。作為本專利技術的進一步改進,所述第三級流表應用Openflow的通用轉發處理流程,其可作為獨立的通用轉發處理單元使用。作為本專利技術的進一步改進,所述動作查找單元中的“多級流表的查找”包括第一、第二級流表的查找、或者第二、第三級流表的查找、或者第一、第三級流表的查找、或者第一、第二、第三級流表的查找,上述查找必須按照流表的先后次序進行。作為本專利技術的進一步改進,所述中間參數包括用于后一級流表查找的串比特位,在需要進入第三級流表時,所述中間參數還包括指定的轉發表類型、報文的查找內容。作為本專利技術的進一步改進,所述轉發表類型包括二層轉發表、或三層轉發表、或其他類型轉發表,所述第三級流表中設置默認轉發動作。根據以上技術方案可以看出,本專利技術通過構建包括兩級TCAM表、一級哈希表的多級流表,并基于此三級流表進行報文的轉發,由于第一級流表到第三級流表是由粗到細粒度的控制,采用哈希表的形式,可使得第三級流表獲取更多的流條目,與此同時,系統成本也得以控制。附圖說明為了更清楚地說明本專利技術具體實施例或現有技術的技術方案,下面將對本專利技術具體實施例或現有描述中所需要使用的附圖作簡單地介紹,顯而易見地,下述附圖僅為本專利技術的一部分附圖,對于本領域普通技術人員而言,在不作出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本專利技術具體實施方式中基于多級流表的Openflow報文轉發方法的流程圖;圖2是本專利技術具體實施方式中多級流表的示意圖;圖3是本專利技術具體實施方式中基于多級流表的Openflow報文轉發系統的單元示意圖。具體實施方式以下將結合附圖所示的具體實施方式對本專利技術進行詳細描述。但這些實施方式并不限制本專利技術,基于本專利技術的各實施例,本領域的普通技術人員在未作出創造性勞動的前提下所獲得的所有其他實施例,均應包含在本專利技術的保護范圍內。參圖1所示,在本專利技術一具體實施方式中,一種基于多級流表的Openflow報文轉發方法,其包括如下步驟:S1、至少構建依次串行設置的第一、第二、第三級流表,其中,第一、第二流表以三態內容尋址存儲器(ternary?content?addressable?memory,TCAM)的形式構建,以提供高的靈活性;第三級流表以哈希表(HASH)的形式構建,以提供較大的流表條目數。在實際應用中,多級流表往往實現對流的一個逐步細分處理。上一級流表中的一個條目往往對應了下一級流表中的多個條目,從控制的粒度上來說是從粗到細的一個過程。本專利技術中,前兩級流表其主要作用是對流進行一個粗粒度的控制,要求有高的靈活性,但是對流表大小的要求并不是非常高,因此,本專利技術方案中前兩級流表通過TCAM實現。第三級流表由于是最細粒度的控制,相對來說這一級流表查找所使用的關鍵字段比較固定,但是對流表的大小卻有比較高的要求,基于這個特點,本專利技術的第三級流表通過哈希表實現。S2、接收報文并確定該報文所需查找的流表;若該報文只需查找一級流表,則根據報文內容在對應的第一、或第二、或第三級流表中查找并獲得相應的報文轉發動作;若該報文需要查找多級流表,則按照所述各級流表的先后次序分別進行查找,并且在前一級流表中獲取可作為后一級流表輸入的一中間參數(metadata),直至根據報文內容查找得到該報文相應的報文轉發動作;在本專利技術的實施例中,上述各級流表在進行報文的轉發本文檔來自技高網...
【技術保護點】
一種基于多級流表的Openflow報文轉發方法,其特征在于,包括如下步驟:S1、至少構建依次串行設置的第一、第二、第三級流表,其中,第一、第二級流表以TCAM表的形式構建,第三級流表以哈希表的形式構建,所述第一、第二、第三級流表可單獨使用、或組合使用;S2、接收報文并確定該報文所需查找的流表;若該報文只需查找一級流表,則根據報文內容在對應的第一、或第二、或第三級流表中查找并獲得相應的報文轉發動作;若該報文需要查找多級流表,則按照所述各級流表的先后次序分別進行查找,并且在前一級流表中獲取可作為后一級流表輸入的一中間參數,直至根據報文內容查找得到該報文相應的報文轉發動作;S3、根據所述報文轉發動作轉發相應的報文。
【技術特征摘要】
1.一種基于多級流表的Openflow報文轉發方法,其特征在于,包括如下步驟:
S1、至少構建依次串行設置的第一、第二、第三級流表,其中,第一、第二級流表以TCAM表的形式構建,第三級流表以哈希表的形式構建,所述第一、第二、第三級流表可單獨使用、或組合使用;
S2、接收報文并確定該報文所需查找的流表;若該報文只需查找一級流表,則根據報文內容在對應的第一、或第二、或第三級流表中查找并獲得相應的報文轉發動作;若該報文需要查找多級流表,則按照所述各級流表的先后次序分別進行查找,并且在前一級流表中獲取可作為后一級流表輸入的一中間參數,直至根據報文內容查找得到該報文相應的報文轉發動作;
S3、根據所述報文轉發動作轉發相應的報文。
2.根據權利要求1所述的方法,其特征在于,所述第三級流表應用Openflow的通用轉發處理流程,其可作為獨立的通用轉發處理單元使用。
3.根據權利要求1所述的方法,其特征在于,所述步驟S2中的“多級流表的查找”包括第一、第二級流表的查找、或者第二、第三級流表的查找、或者第一、第三級流表的查找、或者第一、第二、第三級流表的查找,上述查找必須按照流表的先后次序進行。
4.根據權利要求1或2或3所述的方法,其特征在于,所述中間參數包括用于后一級流表查找的串比特位,在需要進入第三級流表時,所述中間參數還包括指定的轉發表類型、報文的查找內容。
5.根據權利要求1所述的方法,其特征在于,所述轉發表類型包括二層轉發表、或三層轉發表、或其他類型轉發表,所述第三級流表中設置默認轉發動作。
6.一種基于多級流...
【專利技術屬性】
技術研發人員:方沛昱,廖繼平,張衛峰,
申請(專利權)人:盛科網絡蘇州有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。