本發明專利技術提供一種實現多業務疊加的方法,包括以下步驟:接收網絡報文,并根據所述網絡報文的源端口號匹配相應的多業務位圖;根據匹配到的所述多業務位圖確定多個查詢條件,并將所述查詢條件在相對應的多個業務表中匹配到相應的多個動作表索引值;將多個動作表索引值分發到與每個業務表相對應的動作表中,匹配相應的動作類型;綜合匹配到的多個動作類型處理所述網絡報文。本發明專利技術通過修改源端口表的數據結構和分割TCAM表,可以很方便支持多業務并發查找,且查詢效率較高。
【技術實現步驟摘要】
本專利技術涉及以太網領域技術,尤其涉及一種基于并行ACL實現多業務疊加的方法及裝置。
技術介紹
現有技術中,傳統的ACL對輸入報文做匹配,根據匹配結果對輸入報文做丟棄或者接收等動作。目前在以太網交換機和路由器設備上,借用ACL來實現各種擴展業務,例如基于ACL的匹配結果做重定向、流量守護、重新著色、修改報文的COS域或者DSCP域等。現有通行的做法是根據源端口號找到一個ACL?Label,把對應的ACL?Label和報文中包含的MacDa、MacSa、IpDa、IpSa、Tcp?Port一起組成查找關鍵字,在TCAM進行并行查找,如果匹配到某個條目,就根據這個條目的索引值再去動作表取得對這個報文的動作,例如丟棄、接收、重定向、Policing、統計或者修改DSCP域。上述的現有技術的基于ACL對報文做匹配的方法只能對單業務進行處理,并不能進行多業務的并發操作。
技術實現思路
本專利技術的目的在于提供一種的實現多業務疊加的方法。本專利技術的另一目的在于一種實現多業務疊加的裝置,所述的裝置應用所述的實現多業務疊加的方法。相應地,本專利技術的一實施方式的實現多業務疊加的方法,包括以下步驟:S1、接收網絡報文,并根據所述網絡報文的源端口號匹配相應的多業務位圖;S2、根據匹配到的所述多業務位圖確定多個查詢條件,并將所述查詢條件在相對應的多個業務表中匹配到相應的多個動作表索引值;S3、將多個動作表索引值分發到與每個業務表相對應的動作表中,匹配相應的動作類型;S4、綜合匹配到的多個動作類型處理所述網絡報文。作為本專利技術的進一步改進,所述步驟S1具體為:S10、根據所支持業務的組合,預先設置與所述源端口號相匹配的多業務位圖,并存儲于源端口表中;S11、接收網絡報文及其源端口號;S12、根據所述網絡報文的源端口號匹配相應的多業務位圖。作為本專利技術的進一步改進,所述步驟S10中“預先設置與所述源端口號相匹配的多業務位圖”具體為:根據業務類型的總數設置所述多業務位圖的比特位數;設置所述源端口號所支持的業務組合;根據所述所述源端口號所支持的業務組合,對所述多業務位圖進行相應的置位。?作為本專利技術的進一步改進,所述業務表的個數與所述業務類型總數量相等。?作為本專利技術的進一步改進,每個所述業務表中包括一業務指示位圖,所述業務指示位圖只有一個比特置位。作為本專利技術的進一步改進,所述“根據匹配到的所述多業務位圖確定多個查詢條件”具體為:根據多業務位圖識別所述源端口號所支持的業務類型,確定各個業務表對應的業務指示位圖,將所述多個業務指示位圖分別與報文中包含的報文數據組合成多個查詢條件。作為本專利技術的進一步改進,所述步驟S4還包括:判斷所述多個動作類型之間是否有沖突,若有,則根據各個動作表的輸出優先級來確定沖突動作類型的輸出次序;如無,則合并所有動作類型并輸出。?相應地,本專利技術的一實施方式的實現多業務疊加的裝置,包括:?多業務位圖獲取單元:用于接收網絡報文,并根據所述網絡報文的源端口號匹配相應的多業務位圖;業務表單元:用于根據匹配到的所述多業務位圖確定多個查詢條件,并將所述查詢條件在相對應的多個業務表中匹配到相應的多個動作表索引值;動作表單元:用于將多個動作表索引值分發到與每個業務表相對應的動作表中,匹配相應的動作類型;動作處理單元:用于綜合匹配到的多個動作類型處理所述網絡報文。作為本專利技術的進一步改進,所述動作處理單元還包括一沖突處理單元:用于判斷所述多個動作類型之間是否有沖突,若有,則根據各個動作表的輸出優先級來確定沖突動作類型的輸出次序;如無,則合并所有動作類型并輸出。本專利技術的有益效果是:本專利技術通過修改源端口表的數據結構和將TCAM業務表分割為多個業務表,可以很方便支持多業務并發查找,且查找效率較高。附圖說明圖1是本專利技術一實施方式中實現多業務疊加的方法的流程圖;圖2是本專利技術一實施方式中獲取各輸入端口對應的多業務位圖的方法的流程圖;圖3是本專利技術一實施方式中多業務位圖以及各業務表中業務指示位圖數據結構示意圖;圖4是本專利技術一實施方式中實現多業務疊加的裝置示意圖。具體實施方式以下將結合附圖所示的具體實施方式對本專利技術進行詳細描述。但這些實施方式并不限制本專利技術,本領域的普通技術人員根據這些實施方式所做出的結構、方法、或功能上的變換均包含在本專利技術的保護范圍內。如圖1所示,在本專利技術的一具體實施方式中,所述實現多業務疊加的方法包括:S1、接收網絡報文,并根據所述網絡報文的源端口號匹配相應的多業務位圖。其中,外部輸入的網絡報文通常會包括目的MAC地址(MacDa)、源MAC地址(MacSa)、目的IP地址(IpDa)、源IP地址(IpSa)以及TCP端口號(TCP??Port)的此類報文數據,這些網絡報文會被輸入到某個輸入端口,在此所述的輸入端口包括多個,每個所述的輸入端口都對應設有一個與之相對應的源端口號,也是方便后續的多業務位圖的查找,上述的多業務位圖同樣也包括多個,并被預先設置好并存儲于源端口表中,每個輸入端口對應一個與之相匹配的多業務位圖。S2、根據匹配到的所述多業務位圖確定多個查詢條件,并將所述查詢條件在相對應的多個業務表中匹配到相應的多個動作表索引值。在本實施方式中,需要提及的是,所述的業務表是由TCAM分割而成,TCAM?(ternary?content?addressable?memory)是一種三態內容尋址存儲器,主要用于快速查找ACL、路由等表項。在此步驟中,根據步驟S1得到的多業務位圖便得知所述輸出端口所可以支持的業務類型有哪些,因為每個業務表代表一種業務類型,而且業務表的總數和所有業務類型的總數是相等的,換言之,需要處理幾個業務就將TCAM業務表分割成幾個業務表,所以根據上述的多業務位圖,便可以確定將要發送給各個業務表的查詢條件,各個業務表在接收到所述查詢條件之后,便會各自返回一個動作表索引值并發送給動作表。S3、將多個動作表索引值分發到與每個業務表相對應的動作表中,匹配相應的動作類型。所述動作表的作用便是將上述得到的動作表索引值轉化成相應的動作類型,需要說明的是,動作表和業務表是一一對應的,即,TCAM業務表被分割成幾個業務表,那么就會相應設置與所述業務表數據相等的若干個動作表來完成相應的功能。S4、綜合匹配到的多個動作類型處理所述網絡報文。此步驟根據步驟S3得到的各個動作類型,綜合所有的動作類型并進行合并,再決定對所述網絡報文做相應的處理,這里所述的動作類型可包括丟棄、接收、重定向、Policing、統計、修改COS/DSCP等等。所述步驟S4還包括:判斷所述多個動作類型之間是否有沖突,若有,則根據各個動作表的輸出優先級來確定沖突動作類型的輸出次序;如無,則合并所有動作類型并輸出。參閱圖2,在本專利技術一實施方式中,所述步驟S1具體為:S10、根據所支持業務的組合,預先設置與所述源端口號相匹配的多本文檔來自技高網...
【技術保護點】
一種實現多業務疊加的方法,其特征在于,該方法包括以下步驟:S1、接收網絡報文,并根據所述網絡報文的源端口號匹配相應的多業務位圖;S2、根據匹配到的所述多業務位圖確定多個查詢條件,并將所述查詢條件在相對應的多個業務表中匹配到相應的多個動作表索引值;S3、將多個動作表索引值分發到與每個業務表相對應的動作表中,匹配相應的動作類型;S4、綜合匹配到的多個動作類型處理所述網絡報文。
【技術特征摘要】
1.一種實現多業務疊加的方法,其特征在于,該方法包括以下步驟:
S1、接收網絡報文,并根據所述網絡報文的源端口號匹配相應的多業務位圖;
S2、根據匹配到的所述多業務位圖確定多個查詢條件,并將所述查詢條件在相對應的多個業務表中匹配到相應的多個動作表索引值;
S3、將多個動作表索引值分發到與每個業務表相對應的動作表中,匹配相應的動作類型;
S4、綜合匹配到的多個動作類型處理所述網絡報文。
2.根據權利要求1所述的實現多業務疊加的方法,其特征在于,所述步驟S1具體為:
S10、根據所支持業務的組合,預先設置與所述源端口號相匹配的多業務位圖,并存儲于源端口表中;
S11、接收網絡報文及其源端口號;
S12、根據所述網絡報文的源端口號匹配相應的多業務位圖。
3.根據權利要求2所述的實現多業務疊加的方法,其特征在于,所述步驟S10中“預先設置與所述源端口號相匹配的多業務位圖”具體為:
根據業務類型的總數設置所述多業務位圖的比特位數;
設置所述源端口號所支持的業務組合;
根據所述源端口號所支持的業務組合,對所述多業務位圖進行相應的置位。
4.根據權利要求1所述的實現多業務疊加的方法,其特征在于,所述業務表的個數與所述業務類型總數量相等。
5.根據權利要求4所述的實現多業務疊加的方法,其特征在于,每個所述業務表中包括一業務指示位圖,所述業務...
【專利技術屬性】
技術研發人員:許俊,孫劍勇,
申請(專利權)人:盛科網絡蘇州有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。