TW201501556A - 用於唯一枚舉解析樹中的路徑的裝置和方法 - Google Patents

用於唯一枚舉解析樹中的路徑的裝置和方法 Download PDF

Info

Publication number
TW201501556A
TW201501556A TW103120983A TW103120983A TW201501556A TW 201501556 A TW201501556 A TW 201501556A TW 103120983 A TW103120983 A TW 103120983A TW 103120983 A TW103120983 A TW 103120983A TW 201501556 A TW201501556 A TW 201501556A
Authority
TW
Taiwan
Prior art keywords
path
graph
identification code
processor
unique identification
Prior art date
Application number
TW103120983A
Other languages
English (en)
Other versions
TWI683587B (zh
Inventor
Guy Hutchison
Tsahi Daniel
Gerald Schmidt
Sachin Gandhi
Original Assignee
Xpliant Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xpliant Inc filed Critical Xpliant Inc
Publication of TW201501556A publication Critical patent/TW201501556A/zh
Application granted granted Critical
Publication of TWI683587B publication Critical patent/TWI683587B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

方法包括構造圖,所述圖表徵與網路業務相關聯的分組報頭的集合。所述圖針對形成所述圖中的路徑的分組報頭的每個可能組合具有唯一識別碼。將接收的分組與所述圖中的唯一識別碼相關聯。基於所述唯一識別碼重新構造所述接收的分組的特性。

Description

用於唯一枚舉解析樹中的路徑的裝置和方法 【相關申請的交叉引用】
本申請要求於2013年6月18日提交的第13/921,090號美國專利申請的優先權,該美國專利申請的內容通過引用被併入本文。
本發明涉及切換式網路資料分組。更具體地,本發明涉及通過枚舉解析樹中的唯一路徑的集合來切換式網路資料分組。
存在用於從輸入埠至輸出埠交換資料分組的各種技術。交換設備所需的第一個動作是識別已經接收的分組的類型並且從分組定位和提取資料欄位。此過程被稱為解析分組。
解析涉及由電腦形式分析位元組串的構成、導致表明它們之間的語法關係的解析樹,所述解析樹還可包含語義和其它資訊。因此,解析樹為有序的有根樹,其根據某一形式語法表示串的語法結構。解析樹按照依存語法的依存關係被共同構造。解析樹與抽象語法樹(也被簡單地稱為語法樹)的區別在於其結構和元素更具體地反映輸入語言的語法。
在過去十年中,電腦網路將各種專用網路通訊協定和規範(例如,非同步傳輸模式(ATM)、權杖環、光纖通道和無限頻寬)彙聚成使用乙太網作為通用實體層和協定。除了例如呼叫處理、磁片 存取和處理器互連的這些面向特定特徵的傳統網路通訊協定以外,例如虛擬機器、分散式運算和雲計算的新技術也對乙太網和傳輸控制協定(TCP)/網際協議(IP)有新的和變化的要求。
這種彙聚導致提供與專用網路通訊協定相同的特徵但使用乙太網作為傳輸層的新協定、演算法和標記的爆發。隨著新協定、特徵和技術的變化速率增加,相應地需要更快地將這些技術部署到本領域。
傳統上,通過改變硬體,尤其物理改變實現交換功能的特定用途積體電路(ASIC),來提供新協定。這將新協定的部署速率限制為這些改變可實現和製造的速度。
最近幾年,工業已經朝向提供可程式設計解析器以作為減輕改變的影響的方式的技術來發展。可程式設計解析器通過基於在解析期間發現的報頭構造可能的分組類型的樹而工作。當前的解析器通過為每個發現的報頭設置一個比特(稱為標記)來跟蹤已經在解析期間被發現的報頭的類型。
使用標記跟蹤發現的報頭的類型在某些情況下是不夠的,因為它沒有記錄報頭被發現的順序。因此,現有的解析器必須使用額外的標記比特來跟蹤重要的順序,並且必須知道順序資訊需要被保留的情況。
第一圖示出了檢測7種不同類型的分組報頭的簡單解析樹。所有分組作為乙太網分組101而到達,乙太網分組101可包含任選的報頭VLAN 102或VLAN 103,然後被分類成IPv4 104、IPv6 105或其它108。IP分組被進一步分類成TCP 106、UDP 107或其它IP 109。在此解析樹中,8個標記的集合可唯一確定被採用的路徑。
第二圖示出了第一圖的解析樹,但是添加了GRE報頭210。因為GRE報頭可指向乙太網報頭,所以現在環路是可行的並且標記的集合不能再確定在何處發現報頭。例如,雖然順序乙太網->VLAN->IPv4->GRE->乙太網
乙太網->IPv4->GRE->乙太網->VLAN現在設置完全相同的標記,但是可能需要由接收解析的分組資料的轉發引擎不同地處理。
鑒於以上,希望提供用於通過解析樹來分解路徑的改進技術。
方法包括構造圖,其中所述圖表徵與網路業務相關聯的分組報頭的集合。所述圖針對形成所述圖中的路徑的分組報頭的每個可能組合具有唯一識別碼。將接收的分組與所述圖中的唯一識別碼相關聯。基於所述唯一識別碼重新構造所述接收的分組的特性。
處理器包括存儲圖的聯合記憶體,其中所述圖表徵與網路業務相關聯的分組報頭的集合。所述圖針對形成所述圖中的路徑的分組報頭的每個可能組合具有唯一識別碼。所述聯合記憶體將接收的分組的屬性與唯一識別碼進行匹配。索引記憶體基於所述唯一識別碼重新構造所述接收的分組的特性。
方法包括:形成用於圖中的弧的唯一指派值,約束所述圖中的路徑,基於所述指派值形成貫穿所述圖的計算的路徑,利用所述計算的路徑構造路徑表,以及確定所述計算的路徑中的任一個路徑是否具有相同的值,如果具有相同的值,則重複所述形成操作和所述構造操作。
101‧‧‧乙太網分組
102‧‧‧VLAN
103‧‧‧VLAN
104‧‧‧IPv4
105‧‧‧IPv6
106‧‧‧TCP
107‧‧‧UDP
108‧‧‧其他
109‧‧‧其他IP
201‧‧‧乙太網
202‧‧‧VLAN
203‧‧‧VLAN
204‧‧‧IPv4
205‧‧‧IPv6
206‧‧‧TCP
207‧‧‧UDP
208‧‧‧其他
209‧‧‧其他IP
210‧‧‧GRE
401‧‧‧乙太網
402‧‧‧VLAN
403‧‧‧VLAN
404‧‧‧IPv4
405‧‧‧IPv6
406‧‧‧TCP
407‧‧‧UDP
408‧‧‧其他
409‧‧‧其他IP
410‧‧‧GRE
412、414、416、418、420‧‧‧步驟
501、502、503、504、505、506‧‧‧步驟
700、702、704‧‧‧步驟
結合下面關於附圖進行的詳細描述更完整地理解本發明,在附圖中:第一圖示出了具有無環路拓撲的解析樹;第二圖示出了包含環路的解析樹;第三圖示出了根據本發明的實施方式具有指派的節點和路徑 值的第二圖的解析樹;第四圖示出了與本發明的實施方式相關聯的處理操作;第五A圖示出了根據本發明的實施方式的針對一個示例性路徑計算的報頭值和路徑值;第五B圖示出了根據本發明的實施方式的針對第二簡單路徑計算的報頭值和路徑值;第六圖示出了根據本發明的實施方式的使用路徑值計算的解析器的硬體實現;以及第七圖示出了與本發明的實施方式相關聯的處理操作。
在附圖的一些視圖中相似的參考標號指代相應的部件。
本發明將唯一識別碼指派給在解析樹中遍歷的每個可能的報頭組合。有利地,唯一組合可在硬體中被有效地計算。第三圖示出了根據本發明的實施方式的具有分配的節點和路徑值的第二圖的解析樹。
第四圖示出了與本發明的實施方式相關聯的處理操作。最初,在410處為圖中的弧指派值。例如,有向有環或無環圖可具有為圖中的每個弧指派的值。值可以是任意的,但是對每個弧而言應該是唯一的。值可被順序地指派,儘管隨機或半隨機的指派可能產生更好的結果。在此上下文中,弧為圖中的兩個節點之間的連線。路徑是貫穿圖的一系列弧。
然後在412處對圖中的路徑設置約束。例如,基於實現者關於預期應用的知識,通過限制有環路徑的轉換的數目,可將如第二圖所示的有向有環圖轉換成有向無環圖。例如,從GRE 210至乙太網201的弧可僅被遍歷一次的限制將其變換成無環圖。一旦無環圖被創建,它還可基於實現者的知識、通過移除至不感興趣的節點或已知在實現者的應用中不會出現的節點的轉換而被減少。
接下來,在414處計算圖中的路徑。第五A圖和第五B圖示出了如下面所討論的計算兩個這種路徑的實施例。應該由實現者或通過隨機選擇來選擇執行內部計算的公式。所選擇的公式應該是非交換公式,意味著A+B!=B+A。大多數迴圈冗餘校驗(CRC)函數滿足此標準。
接下來,在416處構造路徑表。也就是說,從枚舉的可能路徑的結果構造表。接下來,評估表是否具有共同值,稱為衝突。兩個路徑不可以具有相同的值,否則存在衝突。如果衝突不存在(418處為否),則在420處處理完成。否則(418處為是),則處理返回框414。如果衝突出現,則應用新的弧指派集合和/或新的公式並且重複框414-418的處理。重複此迴圈直到建立無衝突表、或者演算法達到某一任意極限並且報告失敗。
第三圖示出了具有來自第二圖的環路的示例性解析樹,但是在每個轉換弧上枚舉有唯一值的集合。下面以Python偽代碼示出了非交換函數的實施例。對於第五A圖和第五B圖所示的值,此函數產生在第五A圖和第五B圖的IncCalc列中所示的輸出值。
使用上面通過function8描述的公式,示出了針對兩個分組的路徑散列計算,所述兩個分組包含相同的報頭類型但是以不同的順序被佈置,導致兩種不同的路徑散列計算結果。
在針對第一分組的解析路徑上,使用第三圖所示的枚舉的路徑值,所產生的路徑值的順序變為1、7、20和17,如第五A圖所示。上面的函數twoseq( )使用函數formula8( )來計算增量路徑散列計算結果1、132、86和58,如第五A圖所示。使用最後的增量路徑散列計算結果58作為用於第一分組的最終路徑散列值。
每個路徑散列計算通過將狀態變數cstate初始化為恒定值(此情況下為0)而以相同的方式開始。對於由解析器遍歷的每個弧,通過以cstate的值和每個弧的弧值調用formula8( )來計算新的增量 狀態值cstate。以上偽代碼隨著其計算每個新的cstate值而提供cstate的值和arcValue。在一個實施方式中,僅保留最終值並傳遞該值以用於隨後的處理。在前述的實施例中,formula8( )計算產生增量路徑散列計算結果1、132、86、58。僅最後的增量路徑散列計算結果58可被傳遞以作為用於第一分組的最終路徑散列值。
在針對第二分組的解析路徑上,所產生的路徑值順序為3、20、17、1,導致增量路徑散列值3、150、90、44,其中44是用於隨後處理的最終路徑散列。這些值在第五B圖中示出。
對於正確選擇的函數和弧值的集合,貫穿解析樹的每個有效路徑將導致唯一識別碼,所述唯一識別碼然後可用于重新構造所採用的且其報頭出現的兩個路徑。存儲此單個值明顯比存儲所有中間值更簡潔。
第六圖示出了使用路徑值計算的解析器的硬體實現。舉例來說,第六圖的功能框可在ASIC中實現。資料以典型地小於整個分組的塊的形式到達解析器。解析器決定在分組中應該查看哪個決定點,該決定點由相對於分組的開始的多個位元組的偏移表示。此偏移處的資料由金鑰生成501單元提取,並且連同當前的狀態被發送至下一狀態表502。下一狀態表典型地被實現為三元內容可定址記憶體(TCAM)或其它關聯資料結構。TCAM針對解析樹中的每個弧具有一個條目。TCAM中的匹配提供下一狀態和/或待採取的動作。所述動作可規定在提取的資料結構506中將要被記錄的資料,例如,將要從分組提取的欄位、欄位從分組的偏移、或指示具體的欄位存在或缺失的標記。動作還可規定解析器是否應該繼續解析分組、或者是否已經發現足夠的資訊並且解析可終止。
在框503中使用下一狀態表502的結果更新當前的狀態並且執行增量路徑值計算。在現有技術中,在此時設置標記,但是此操作可被省略,因為每個路徑具有唯一的標識。因此,此標識可用於規定路徑組成和順序。如果動作指示解析完成,則將最終的路徑值轉 發至路徑值表505。否則,將當前的狀態和路徑值發送回金鑰生成501,在其中執行附加的搜索直到解析完成。
使用來自傳入資料的分組資料和來自下一狀態表502的動作以從分組提取感興趣的資料欄位,然後將所提取的資料欄位發送至提取的資料結構506。在解析結束時,將路徑值表505的結果添加到此結構,然後將此結構發送至控制路徑,所述控制路徑將確定如何轉發分組。
第七圖示出了與本發明的實施方式相關聯的處理操作。最初,在700處構造圖。例如,可使用第四圖的操作構造圖。接下來,在702處將接收的分組與圖中的唯一識別碼相關聯。第六圖的處理器可用於實現此操作。具體地,下一狀態表502可用于增量地遍歷路徑的弧。這最終產生最終路徑值,所述最終路徑值被應用於索引記憶體505。最後,基於唯一識別碼重新構造接收的分組的特性。此操作還可用第六圖的處理器實現。具體地,針對遍歷的路徑產生提取的資料結構506。提取的資料結構唯一地識別遍歷的路徑,因此表徵與接收的分組相關聯的分組報頭。提取的資料結構還可具有相關聯的標記和動作。
一些先進的解析器使用多個同時匹配解析器(某些時候被稱為Kangaroo(袋鼠)解析),其中下一狀態表502能夠在單個查找期間匹配解析樹中的多個弧。在第三圖的情況下,能夠對每次查找執行3個匹配的Kangaroo解析器可從乙太網401經由VLAN 402和VLAN 403遍歷至IPv4 404。因為相同的單次查找可潛在地直接從乙太網401遍歷至IPv4 404並且路徑值的目標是針對所採用的每個路徑具有不同的路徑值,所以路徑值公式必須為這種類型的解析器考慮這種情況。
在Kangaroo型解析器中,路徑值公式併入針對所採用的每個可能路徑的一些資訊,而非簡單地包含節點識別字。第三圖示出了第二圖的解析樹,但是在第三圖中,設計中的每個弧已經被枚舉有 唯一值。如果在單次查找中遍歷多個弧,則路徑值計算確定哪些弧被遍歷並且基於枚舉的弧值計算新的路徑值。在此情況下,路徑值將為每次查找併入高達3個值。
存在可用於計算路徑值且仍然可能針對每個路徑產生唯一枚舉的其它值。例如,用於確定下一狀態的乙太網類型值以及被發送至下一狀態查找的金鑰值都是可行的候選,就像用於確定該狀態以及內部狀態(例如節點數目或弧數目)的來自分組的資料的組合一樣。
為了說明目的,前面的描述使用具體的術語提供對本發明的透徹理解。然而,對本領域技術人員而言明顯的是,不需要具體的細節來實現本發明。因此,為了說明和描述給出了本發明的具體實施方式的前面描述。它們不是排他的,也不旨在將本發明限制於所公開的精確形式;明顯地,根據上面的教導,許多修改和變化是可行的。實施方式被選擇和描述為最佳地解釋本發明的原理及其實際應用,由此它們使本領域其它技術人員利用本發明,並且具有各種修改的各種實施方式適於設想到的具體用途。下面的權利要求及其等同用於限定本發明的範圍。
700、702、704‧‧‧步驟

Claims (20)

  1. 一種方法,包括:構造圖,所述圖表徵與網路業務相關聯的分組報頭的集合,其中所述圖針對形成所述圖中的路徑的分組報頭的每個可能組合具有唯一識別碼;將接收的分組與所述圖中的唯一識別碼相關聯;以及基於所述唯一識別碼重新構造所述接收的分組的特性。
  2. 根據申請專利範圍第1項所述的方法,其中所述唯一識別碼基於非交換函數。
  3. 根據申請專利範圍第2項所述的方法,其中所述非交換函數為迴圈冗餘校驗函數。
  4. 根據申請專利範圍第1項所述的方法,其中所述特性指明在遍歷的路徑中出現的報頭。
  5. 根據申請專利範圍第1項所述的方法,其中所述特性具有相關聯的標記集合。
  6. 根據申請專利範圍第1項所述的方法,其中所述特性具有相關聯的動作集合。
  7. 根據申請專利範圍第1項所述的方法,還包括將所述圖載入到聯合記憶體中以作為路徑表。
  8. 根據申請專利範圍第1項所述的方法,還包括使所述聯合記憶體作為能夠在單次查找中匹配多個路徑的多個同時匹配解析器進行操作。
  9. 一種處理器,包括:存儲圖的聯合記憶體,所述圖表徵與網路業務相關聯的分組報頭的集合,其中所述圖針對形成所述圖中的路徑的分組報頭的每個可能組合具有唯一識別碼,其中所述聯合記憶體將接收的分組的屬性與唯一識別碼進行匹配;以及索引記憶體,用以基於所述唯一識別碼來重新構造所述接收的 分組的特性。
  10. 根據申請專利範圍第9項所述的處理器,其中所述聯合記憶體為三元內容可定址記憶體。
  11. 根據申請專利範圍第9項所述的處理器,其中所述聯合記憶體作為能夠在單次查找中匹配多個路徑的多個同時匹配解析器進行操作。
  12. 根據申請專利範圍第9項所述的處理器,其中所述唯一識別碼基於非交換函數。
  13. 根據申請專利範圍第12項所述的處理器,其中所述非交換函數為迴圈冗餘校驗函數。
  14. 根據申請專利範圍第9項所述的處理器,其中所述特性指明在遍歷的路徑中出現的報頭。
  15. 根據申請專利範圍第9項所述的處理器,其中所述特性具有相關聯的標記集合。
  16. 根據申請專利範圍第9項所述的處理器,其中所述特性具有相關聯的動作集合。
  17. 一種方法,包括:形成用於圖中的弧的唯一指派值;約束所述圖中的路徑;基於所述指派值形成貫穿所述圖的計算的路徑;利用所述計算的路徑構造路徑表;以及確定所述計算的路徑中的任一路徑是否具有相同的值,如果具有相同的值,則重複所述形成操作和所述構造操作。
  18. 根據申請專利範圍第17項所述的方法,其中約束路徑包括限制貫穿所述圖中的有環路徑的轉換的數目。
  19. 根據申請專利範圍第17項所述的方法,其中約束路徑包括選擇性地消除所述圖中的路徑。
  20. 根據申請專利範圍第17項所述的方法,其中所述唯一指 派值基於非交換函數。
TW103120983A 2013-06-18 2014-06-18 用於唯一枚舉解析樹中的路徑的裝置和方法 TWI683587B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/921,090 US20140369363A1 (en) 2013-06-18 2013-06-18 Apparatus and Method for Uniquely Enumerating Paths in a Parse Tree
US13/921,090 2013-06-18

Publications (2)

Publication Number Publication Date
TW201501556A true TW201501556A (zh) 2015-01-01
TWI683587B TWI683587B (zh) 2020-01-21

Family

ID=52019177

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103120983A TWI683587B (zh) 2013-06-18 2014-06-18 用於唯一枚舉解析樹中的路徑的裝置和方法

Country Status (5)

Country Link
US (1) US20140369363A1 (zh)
JP (1) JP6383578B2 (zh)
KR (1) KR20140147050A (zh)
CN (1) CN104243315B (zh)
TW (1) TWI683587B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5816964B2 (ja) * 2012-07-24 2015-11-18 日本電信電話株式会社 ネットワーク設計方法およびネットワーク設計装置
US11308114B1 (en) * 2013-12-23 2022-04-19 Cazena, Inc. Platform for provisioning a data analytics environment
US9620213B2 (en) 2013-12-27 2017-04-11 Cavium, Inc. Method and system for reconfigurable parallel lookups using multiple shared memories
US9825884B2 (en) 2013-12-30 2017-11-21 Cavium, Inc. Protocol independent programmable switch (PIPS) software defined data center networks
US9379963B2 (en) 2013-12-30 2016-06-28 Cavium, Inc. Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine
US9413357B2 (en) 2014-06-11 2016-08-09 Cavium, Inc. Hierarchical statistically multiplexed counters and a method thereof
US9635146B2 (en) 2014-06-19 2017-04-25 Cavium, Inc. Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof
US10616380B2 (en) 2014-06-19 2020-04-07 Cavium, Llc Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
US9813327B2 (en) 2014-09-23 2017-11-07 Cavium, Inc. Hierarchical hardware linked list approach for multicast replication engine in a network ASIC
US10003676B2 (en) * 2015-02-20 2018-06-19 Cavium, Inc. Method and apparatus for generating parallel lookup requests utilizing a super key
US10616144B2 (en) 2015-03-30 2020-04-07 Cavium, Llc Packet processing system, method and device having reduced static power consumption
US11038993B2 (en) 2018-03-14 2021-06-15 Fungible, Inc. Flexible processing of network packets
WO2019237029A1 (en) 2018-06-08 2019-12-12 Fungible, Inc. Directed graph traversal using content-addressable memory
US10958770B2 (en) * 2018-10-15 2021-03-23 Fungible, Inc. Realization of a programmable forwarding pipeline through packet header summaries in a data processing unit
US11258726B2 (en) 2019-03-27 2022-02-22 Fungible, Inc. Low latency packet switch architecture
WO2021042081A1 (en) * 2019-08-30 2021-03-04 Mosys, Inc. Graph memory engine
US11579802B2 (en) 2019-10-04 2023-02-14 Fungible, Inc. Pipeline using match-action blocks
CN113255264B (zh) * 2021-06-07 2021-10-01 上海国微思尔芯技术股份有限公司 增量分割处理方法、装置、计算机设备和存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394394A (en) * 1993-06-24 1995-02-28 Bolt Beranek And Newman Inc. Message header classifier
AU1421799A (en) * 1997-11-25 1999-06-15 Packeteer, Inc. Method for automatically classifying traffic in a packet communications network
JP2000196672A (ja) * 1998-12-28 2000-07-14 Toshiba Corp ネットワ―ク間中継装置
US7188168B1 (en) * 1999-04-30 2007-03-06 Pmc-Sierra, Inc. Method and apparatus for grammatical packet classifier
US7200684B1 (en) * 2000-04-13 2007-04-03 International Business Machines Corporation Network data packet classification and demultiplexing
US7187694B1 (en) * 2002-03-29 2007-03-06 Pmc-Sierra, Inc. Generic packet parser
US20050060418A1 (en) * 2003-09-17 2005-03-17 Gennady Sorokopud Packet classification
JP2007528160A (ja) * 2004-03-02 2007-10-04 ノボ・ノルデイスク・エー/エス ヘッダ認証を改良した送信データパケット構成
US7411957B2 (en) * 2004-03-26 2008-08-12 Cisco Technology, Inc. Hardware filtering support for denial-of-service attacks
US7961636B1 (en) * 2004-05-27 2011-06-14 Cisco Technology, Inc. Vectorized software packet forwarding
US7760719B2 (en) * 2004-06-30 2010-07-20 Conexant Systems, Inc. Combined pipelined classification and address search method and apparatus for switching environments
GB2419255A (en) * 2004-10-14 2006-04-19 Agilent Technologies Inc Modifying an aggregate test in a network probe
US20060187950A1 (en) * 2005-02-18 2006-08-24 Alcatel Architecture and provisioning tools for managed multicast virtual private LAN trees
US7697519B2 (en) * 2006-10-31 2010-04-13 Hewlett-Packard Development Company, L.P. Packet processing
WO2010012998A1 (en) * 2008-07-30 2010-02-04 British Telecommunications Public Limited Company Header compression scheme
US8654763B2 (en) * 2008-10-15 2014-02-18 Board Of Trustees Of Michigan State University Systematic approach towards minimizing packet classifiers
US8705403B2 (en) * 2010-08-31 2014-04-22 Cisco Technology, Inc. Load balancing multicast traffic
US8711860B2 (en) * 2011-12-22 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
US8521905B2 (en) * 2011-12-22 2013-08-27 Telefonaktiebolaget L M Ericsson (Publ) System for flexible and extensible flow processing in software-defined networks
US8718064B2 (en) * 2011-12-22 2014-05-06 Telefonaktiebolaget L M Ericsson (Publ) Forwarding element for flexible and extensible flow processing software-defined networks

Also Published As

Publication number Publication date
TWI683587B (zh) 2020-01-21
KR20140147050A (ko) 2014-12-29
US20140369363A1 (en) 2014-12-18
JP6383578B2 (ja) 2018-08-29
CN104243315B (zh) 2019-05-28
CN104243315A (zh) 2014-12-24
JP2015005980A (ja) 2015-01-08

Similar Documents

Publication Publication Date Title
TWI683587B (zh) 用於唯一枚舉解析樹中的路徑的裝置和方法
CN110383777B (zh) 端口扩展器设备的灵活处理器
US9606781B2 (en) Parser engine programming tool for programmable network devices
US8442931B2 (en) Graph-based data search
US10778721B1 (en) Hash-based ACL lookup offload
US9680720B1 (en) Operations, administration, and maintenance (OAM) engine
US10348603B1 (en) Adaptive forwarding tables
US10397116B1 (en) Access control based on range-matching
US20200042629A1 (en) Field Variability based TCAM Splitting
Hill et al. Tracking network flows with P4
WO2015105781A1 (en) Methods and systems for flexible packet classification
US9985885B1 (en) Aggregating common portions of forwarding routes
US9807204B2 (en) Optimized message processing
JP6678401B2 (ja) 変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置
US11968286B2 (en) Packet filtering using binary search trees
CN110741610A (zh) 具有本地交换的端口扩展器
US9219659B1 (en) Policy control list keys for network devices
US11552887B2 (en) System and method of processing packet classification with range sets
Shankar et al. Hardware acceleration of signature matching through multi-layer transition bit masking
US9444731B2 (en) Methods and systems for data packet routing
US9152494B2 (en) Method and apparatus for data packet integrity checking in a processor
Mittal et al. Flexible deterministic router and interface marking for IP traceback
Menon et al. Adaptive Pattern Matching Grammar Generation for Use in Deep Packet Inspection
WO2019050423A1 (ru) Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения
WO2017138936A1 (en) Determining pattern match based on circuit match and hash value match