TW201618516A - 處理大協定層以供層資訊可配置擷取方法及裝置 - Google Patents
處理大協定層以供層資訊可配置擷取方法及裝置 Download PDFInfo
- Publication number
- TW201618516A TW201618516A TW104110831A TW104110831A TW201618516A TW 201618516 A TW201618516 A TW 201618516A TW 104110831 A TW104110831 A TW 104110831A TW 104110831 A TW104110831 A TW 104110831A TW 201618516 A TW201618516 A TW 201618516A
- Authority
- TW
- Taiwan
- Prior art keywords
- layer
- layers
- array
- packet
- separated
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
用於處理大協定層的裝置之實施例係與使一欄位選擇電路最佳化的實施方式有關。該實施方式為解析封包中的一硬體解析器引擎提供類似軟體的靈活性。所述實施方式限制每一層的大小,並且將任何超過該大小的層分離為更小的層。所述解析器引擎如同其從非分離的層擷取資料一樣從分離的層擷取資料,並且接著將所擷取的資料級聯為最終結果。
Description
本發明涉及一種網路封包。更具體地,本發明涉及一種針對層資訊的可配置擷取處理大協定層的方法以及設備。
網路封包包括多個業務層或協定層,其中每一個層都與其他層獨立。雖然傳統的硬體實施提供解析能力,但是傳統的硬體實施不夠靈活並且資源低效。這種不靈活性和低效性的一個限制是各個層的最大長度。這種限制由必須被構建在硬體中的欄位選擇電路所支配。進入硬體的邏輯與最大層長度成正比。例如,為了從層中以可程式化的方式擷取“T”總位元組,其中該層可以具有“L”位元組的大小,該層所需要的位元元組MUX的總數為T*(L:1)個MUX。由此,“L”越大,欄位選擇電路的大小就越大,這就增加了硬體成本。如果解析器引擎能夠處理封包中的多個層,那麼總MUX結構成本就是欄位選擇電路的大小乘以解析器引擎所支援的
層的數目。
用於處理大協定層的裝置的實施例涉及最佳化欄位選擇電路的實施。這種實施在解析封包時為硬體解析器引擎提供類似軟體的靈活性。該實施限制每一層的大小並且將任何超出該大小的層分離為較小的層。解析器引擎如同從非分離層擷取資料一樣從分離的層擷取資料並且接著將所擷取的資料級聯為最終的結果。
在一個方面,提供一種實施解析器引擎的方法。該方法包括:基於協定層將封包的層進行分離,使得封包的協定層的每一個都分隔開。在一些實施例中,將封包的層分離包括將封包的每個協定層的層類型儲存在第一陣列中並且將封包的每一個協定層所結束的位置的偏移儲存在第二陣列中。
所述方法包括進一步將封包的協定層中具有大於預定大小的大小的協定層的每一個分離為多個層。基於進一步的分離對第一陣列和第二陣列進行更新。在一些實施例中,預定大小為軟體定義的。
所述方法包括處理所有的分離層。在一些實施例中,處理所有的分離層包括將分離層的每一層通用化為通用格式並且從所通用化的分離層的每一層選擇內容。在一些實施例中,從所通用化的分離層的每一層選擇內容包括將來自通用命令集合中的至少一個應用到所通用化的分離層從而從所通用化的分離層擷取欄位。在一些實施例中,通用命令集
合中的每一個都與協定層中的特定欄位無關。
在一些實施例中,所述方法包括來自處理的級聯結果被加以級聯從而形成表徵,其中所述表徵被用於封包的進一步處理。
在一些實施例中,所述方法包括將位元向量應用到來自處理的結果從而形成針對散列函數的輸入,其中所述散列函數的輸出是識別封包應當採用等價多路徑路由中的哪個等價多路徑路由的唯一簽章。
在另一方面,提供一種實施解析器引擎的方法。所述方法包括基於協定層將封包的層進行分離從而使得封包的協定層的每一個都分隔開。
所述方法還包括保持與協定層的每一個的層類型以及協定層的每一個所結束的位置的偏移有關的資訊。在一些實施例中,與層類型有關的資訊儲存在第一陣列中,與偏移有關的資訊儲存在第二陣列中。
所述方法還包括將封包的協定層中任何具有大於預定大小的大小的協定層進一步分離為第一部分和第二部分,其中第一部分具有預定大小。預定大小為軟體定義的。
所述方法還包括基於進一步的分離對資訊進行更新。在一些實施例中,對資訊進行更新包括:將與第一部分和第二部分的層類型有關的資訊儲存在第一陣列的序列元件中,並且將與第一部分和第二部分的偏移有關的資訊儲存在第二陣列的序列元件中。
所述方法還包括:基於確定第二部分具有大於預定
大小的大小,對第二部分重複進一步分離的步驟和更新的步驟。
所述方法還包括處理所有的分離層。在一些實施例中,在處理之前,將分離層的每一個通用化為通用格式。在一些實施例中,處理分離層包括從所通用化的層中擷取資料。
在另一個方面,提供了一種實現網路交換機的方法。所述方法包括基於協定層對封包進行解析,由此初始化第一陣列和第二陣列。在一些實施例中,解析封包包括識別封包中的每一層的層類型,將每一層的層類型儲存在第一陣列中,識別封包中每一層所結束的位置的偏移,並且將每一層所結束的位置的偏移儲存在第二陣列中。在一些實施例中,所述方法包括將第一陣列和第二陣列儲存在網路交換機的記憶體中。
所述方法還包括:將第一陣列的每個元件與可程式化暫存器進行比較,以確定與該元件相關聯的層是否需要被分離。在一些實施例中,可程式化暫存器包括:層類型(layerType)欄位,其指示何者與相對應的輸入相匹配;分離長度(splitLength)欄位,其指示相對應的層應當以其而被分離的偏移;以及新層類型(newLayerType)欄位,其指示新分離層的層類型值。在一些實施例中,在對封包進行解析之前,該方法包括經由軟體對層類型欄位、分離長度欄位以及新層類型欄位進行程式化。
所述方法還包括,基於確定與該元件相關聯的層需要被分離,來分離該層。
所述方法還包括:根據分離來對第一陣列和第二陣列進行更新,並且從與第一陣列的每個元件相關聯的層擷取資料。
在一些實施例中,所述方法包括將所擷取的資料結合以由此形成最終結果。在一些實施例中,將位元向量應用到來自邏輯AND運算的結果,其中對來自層的所擷取的資料以及位元掩碼應用邏輯AND運算中的每一個。
在另一個實施例中,提供一種解析器引擎。該解析器引擎包括:電路,其被配置為基於協定層對封包的層進行分離,使得封包的協定層的每一個被分隔開,進一步將封包的協定層中具有大於預定大小的大小的每個協定層分離為多個層,並且對所有的分離層進行處理。
在一些實施例中,保持與協定層的每一個的層類型以及協定層的每一個所結束的位置的偏移有關的資訊。在將封包的協定層中具有大於預定大小的大小的每個協定層進一步分離為多個層後,對該資訊進行更新。
在一些實施例中,所述電路還被配置為:將來自處理的結果加以級聯從而形成表徵,其中所述表徵被用於封包的進一步處理。
在一些實施例中,所述電路還被配置為:將位元向量應用到來自處理的結果,以形成針對散列函數的輸入。
100、200、300‧‧‧方法
105-115‧‧‧步驟
205-230‧‧‧步驟
305-325‧‧‧步驟
如附圖所說明的,從以下關於本發明示例性實施例的更為具體的描述,前述內容將會變得明顯,其中貫穿各個
示圖的相同的參考標號指代相同的部分。所列附圖未必按照比例繪製,其重點在於闡釋本發明的實施例。
第一圖說明了根據本發明的一些實施例的解析器引擎的方法。
第二圖說明了根據本發明的一些實施例的解析器引擎的另一方法。
第三圖說明了根據本發明的一些實施例的網路交換機的方法。
在下面的描述中,列出了各種細節用於解釋。然而,本領域的技術人員應當意識到,本發明可以無需使用這些特定的細節而實施。這樣,本發明並不意在限於所示出的實施例,而是應當被賦予與這裡所描述的原則和特徵相一致的最寬廣的範圍。
用於處理大協定層的裝置的實施例涉及一種最佳化欄位選擇電路的實施。這種實施在解析封包時為硬體解析器引擎提供類似軟體的靈活性。該實施限制每一層的大小並且將超過該大小的任何層分離為較小的層。解析器引擎如同從非分離層擷取資料一樣從分離的層擷取資料並且接著將所擷取的資料級聯為最終的結果。
例如網路交換機的網路設備能夠對網路業務進行切換/路由。所述網路交換機包括至少一個輸入/進入埠和至少一個輸出/出去埠,用於接收和發送封包。在一些實施例中,網路交換機還包括解析器和重寫器。解析器可以包括一個或多
個解析器引擎,以識別網路封包的內容,並且重寫器可以包括一個或多個重寫引擎,以在封包被從網路交換機發送出去之前對封包進行修改。解析器引擎(多個解析器引擎)以及重寫器引擎(多個重寫器引擎)是靈活的並且在可程式化的基礎上進行操作。
網路交換機還包括用於儲存網路交換機所使用的資料的記憶體。例如,記憶體儲存在實施中所使用的至少兩個陣列,以保持對分離層的追蹤。對於另一個例子,記憶體儲存通用命令集合,以從協定頭部中擷取欄位。對於又一個示例而言,記憶體還儲存計數和統計資訊。
在乙太網中,封包包括多個協定層。每一個協定層承載不同的資訊,一些習知的層的例子有:乙太網(Ethernet)
PBB乙太網
ARP
IPV4
IPV6
MPLS
FCOE
TCP
UDP
ICMP
IGMP
GRE
ICMPv6
VxLAN
TRILL
CNM
就理論而言,協定層可以按照任何的順序出現。然而,僅會出現這些層的一些習知的組合。這些層的有效組合的一些例子有:乙太網(Ethernet)
乙太網、ARP
乙太網、CNM
乙太網、FCoE
乙太網、IPV4
乙太網、IPV4、ICMP
乙太網、IPV4、IGMP
對於封包解析操作,封包被分解為層。這種分離是基於例如上面所列的習知的層來完成的。正如上面所解釋的,在傳統的硬體實施中,為了以可程式化的方法從層中擷取“T”總數位元組,其中該層可以具有的大小為“L”位元組,該層所需要的位元元組MUX的總數為T*(L:1)個MUX。由此,“L”越大,欄位選擇電路的大小就越大,這就增加了硬體成本。
當前的實施最佳化了解析器引擎的欄位元選擇電路。當前的實施依賴於關於位元組處理順序的假定。典型地,解析器引擎的位元元組輸出順序與位元組在進入層中出現的
順序相匹配。例如,如果將選擇位元組1、位元組3和位元組5,那麼位元組出現的順序就是1、3、5,而不是3、1、5或5、3、1或任何其他這樣的組合。基於這種假定,所需要的MUX的總數不再是T*(L:1),而是(L:1)+(L-1:1)+(L-2:1)+(L-3:1)+…+(T:1),假設T<L。
由於硬體的成本與層“L”的長度成正比,當前的實施限制了其所要支持的“L”的大小並且將任何超過長度“L”的層分離為N個較小的層。來自N個分離的層的資訊如同解析器引擎從單一層中進行的擷取一樣而被擷取並且接著被級聯回到最終結果。所擷取的資料可以用於形成表徵或散列輸入。示例性的從封包的資料擷取在提交於【日期】的名稱為“A Method of Extracting Data from Packets and An Apparatus thereof”的美國專利申請序號No.【代理人案卷號XPL-02100】,以及提交於【日期】的名稱為“A Method of Forming a Hash Input from Packet Contents and An Apparatus thereof”的美國專利申請序號No.【代理人卷號XPL-02200】中有所討論,其全部內容通過參考被併入於此。
當前的實施以降低的硬體成本有利地實現相同的功能。當前實施的序列可以被總結為:
(1)對進入封包進行解析,並且識別每一個層的層類型以及每個層所結束的位置的偏移。該資訊被儲存在兩個陣列中,即layerType[]和layerEndPtr[]。
(2)在解析結束時,將每一個layerType[]和可程式化暫存器進行比較。所述可程式化暫存器包括下述欄位:
layerType:指示相對應輸入所匹配的層類型;splitLength:指示該層將被分離的位置的偏移;以及newLayerType:指示新分離層的層類型值。
針對該比對的示例性的虛擬碼如表1所示。
解析器引擎為高度可配置的硬體解析器引擎,其就網路業務如何被解析提供類似軟體的靈活性。第一圖說明了根據本發明的一些實施例的解析器引擎的方法100。解析器引擎是網路交換機的一部分並且識別網路封包的內容。在步驟105,基於協定層將封包的層進行分離,使得封包的協定層的每一個都分隔開。封包的每一個協定層的層類型儲存在第一陣列中,即layerType[]。封包的每一協定層結束的位置的偏移儲存在第二陣列中,即layerEndzptr[]。
在步驟110,封包的協定層中具有大於預定大小的
大小的每個協定層被進一步分離為多個層。第一陣列和第二陣列基於進一步的分離。預定大小為軟體定義的。
在步驟115,對所有的分離層進行處理。在一些實施例中,分離層的每一個被通用化為通用格式。從通用化的分離層的每一個選擇內容。在一些實施例中,通用命令集合中的至少一個被應用到所通用化的分離層,由此從所通用化的分離層擷取欄位。在一些實施例中,通用命令集合中的每一個都與協定層中的特定欄位無關。在一些實施例中,來自處理的結果被加以級聯以形成表徵,所述表徵被用於封包的進一步處理。可替代地,將位元向量應用到來自處理的結果以形成針對散列函數的輸入,其中所述散列函數的輸出是識別封包應當採用等價多路徑路由中的哪個等價多路徑路由的唯一簽章。
第二圖說明了根據本發明的一些實施例的解析器引擎的另一方法200。在步驟205,基於協定層將封包的層進行分離,使得封包的協定層的每一個都分隔開。
在步驟210,保持與協定層的每一個的層類型以及協定層的每一個所結束的位置的偏移有關的資訊。與層類型有關的資訊儲存在第一陣列(例如,layerType[])中。與偏移有關的資訊儲存在第二陣列(例如,layerEndzptr[])中。
在步驟215,將封包的協定層中任何具有大於預定大小的大小的協定層進一步分離為第一部分和第二部分,其中第一部分具有預定大小。預定大小為軟體定義的。
在步驟220,基於進一步的分離來對資訊進行更新。
將與第一部分和第二部分的層類型有關的資訊儲存在第一陣列的序列元件中。將與第一部分和第二部分的偏移有關的資訊儲存在第二陣列的序列元件中。
[121]在步驟225,基於確定第二部分具有大於預定大小的大小,對第二部分重複步驟215和步驟220;以及[122]在步驟230,處理所有的分離層。在一些實施例中,在步驟230之前,將分離層的每一個通用化為通用格式。在一些實施例中,處理分離層包括從所通用化的層中擷取資料。
[123]第三圖說明了根據本發明的一些實施例的網路交換機的方法300。在步驟305,基於協定層對封包進行解析。根據解析,初始化第一陣列(例如,layerType[])和第二陣列(例如,layerEndzptr[])。當封包被解析時,封包中的每一層的層類型被識別並且儲存在第一陣列中,封包中每一層所結束的位置的偏移被識別並且儲存在第二陣列中。第一陣列和第二陣列被儲存在網路交換機的記憶體中。
[124]在步驟310,將第一陣列的每個元件與可程式化暫存器進行比較,以確定與該元件相關聯的層是否需要被分離。可程式化暫存器包括:層類型(layerType)欄位,其指示何者與相對應的輸入相匹配;分離長度(splitLength)欄位,其指示相對應的層應當以其而被分離的偏離;以及新層類型(newLayerType)欄位,其指示新分離層的層類型值。典型地,在步驟305之前,經由軟體對層類型欄位、分離長度欄位以及新層類型欄位進行程式化。
在步驟315,基於確定與該元件相關聯的層需要被分離,來分離該層。
在步驟320,根據分離,對第一陣列和第二陣列進行更新。
在步驟325,從與第一陣列的每個元件相關聯的層擷取資料。在一些實施例中,將所擷取的資料結合以由此形成最終結果。可替代地,將位元向量應用到來自邏輯AND運算的結果,其中對來自層的所擷取的資料和位元掩碼應用邏輯AND運算中的每一個。
該實施依賴於這樣一種假定,即解析器引擎的位元元組輸出順序與位元組在進入層中出現的順序相匹配,從而有利地最佳化解析器引擎的欄位元選擇電路。任何超出預定大小的層被分離為較小的層。解析器引擎如同從非分離層擷取資料一樣從分離層擷取資料並且接著將所擷取的資料級聯為最終結果。
本領域普通技術人員將會認識到,還存在其他的用途和優勢。雖然參照多個特定細節對本發明進行了描述,但本領域普通技術人員應當認識到,本發明可以實施為其他的特定形式,而不會背離本發明的精神。由此,本領域普通技術人員將會理解到,本發明不限於前述的說明性細節,而應當由所附的申請專利範圍來定義。
100‧‧‧方法
105-115‧‧‧步驟
Claims (31)
- 一種實施一解析器引擎的方法,所述方法包括:基於協定層而分離一封包的層,使得所述封包的各所述協定層都被分隔開;進一步分離所述封包的各所述協定層中具有大於一預定大小之大小的每一個協定層為多個層;以及處理所有的已分離層。
- 如申請專利範圍第1項所述的方法,其中所述分離一封包的層係包括:將所述封包的每一個協定層的一層類型儲存在一第一陣列中,並且將所述封包的每一個協定層所結束的位置之偏移儲存在一第二陣列中。
- 如申請專利範圍第2項所述的方法,其中所述進一步分離所述封包的各層係包括:基於所述進一步分離,更新所述第一陣列和所述第二陣列。
- 如申請專利範圍第1項所述的方法,其中所述處理所有的已分離層包括:將各所述已分離層通用化為一通用格式;以及從所通用化的各已分離層中選擇內容。
- 如申請專利範圍第4項所述的方法,其中所述從所通用化的各已分離層中選擇內容係包括:將一通用命令集合中至少其一應用到所通用化的各已分離層,以藉此從所通用化的各已分離層中擷取一欄位。
- 如申請專利範圍第5項所述的方法,其中在所述通用命令集合中的每一個都為協定層內的特定欄位所不可知。
- 如申請專利範圍第1項所述的方法,進一步包括:級聯所述處理之結果以形成一表徵,其中所述表徵被用於所述封包的進一步處理。
- 如申請專利範圍第1項所述的方法,進一步包括:對所述處理之結果應用一位元向量,以形成對一散列函數之一輸入。
- 一種實施一解析器引擎的方法,所述方法包括:基於協定層將而分離一封包的層,使得所述封包的各所述協定層都被分隔開;保持與各所述協定層的一層類型及各所述協定層所結束的位置的偏移有關的資訊;進一步分離所述封包的所述協定層中任何具有大於一預定大小之大小的各協定層為一第一部分和一第二部分,其中所述第一部分具有所述預定大小;基於所述進一步分離,更新所述資訊;基於確定所述第二部分具有大於所述預定大小之一大小,對所述第二部分重複所述進一步分離之步驟和所述更新之步驟;以及處理所有的已分離層。
- 如申請專利範圍第9項所述的方法,其中與所述層類型有關的資訊是儲存在一第一陣列中,且與所述偏移有關的資訊是儲存在一第二陣列中。
- 如申請專利範圍第10項所述的方法,其中所述更新所述資訊係包括: 將與所述第一部分和所述第二部分的層類型有關的資訊儲存在所述第一陣列的序列元件中;以及將與所述第一部分和所述第二部分的偏移有關的資訊儲存在所述第二陣列的序列元件中。
- 如申請專利範圍第9項所述的方法,進一步包括:在保持資訊之前,先以軟體定義所述預定大小。
- 如申請專利範圍第9項所述的方法,進一步包括:在處理之前,先將各所述已分離層通用化為一通用格式。
- 如申請專利範圍第13項所述的方法,其中處理已分離層係包括從所通用化的層中擷取資料。
- 一種實施一網路交換機的方法,所述方法包括:基於協定層而解析一封包,藉此初始化一第一陣列和一第二陣列;比較所述第一陣列的每個元件與一可程式化暫存器,以確定與所述元件相關聯的一層是否需要被分離;基於確定與所述元件相關聯的所述層需要被分離而分離所述層;根據所述分離,更新所述第一陣列和所述第二陣列;以及從與所述第一陣列中各元件相關聯之一層擷取資料。
- 如申請專利範圍第15項所述的方法,其中所述解析封包包括:識別所述封包中的每一層的一層類型; 將每一層的所述層類型儲存在所述第一陣列中;識別所述封包中每一層所結束的位置的偏移;以及將每一層所結束的位置的所述偏移儲存在所述第二陣列中。
- 如申請專利範圍第13項所述的方法,其中所述可程式化暫存器包括:一層類型(layerType)欄位,其指示一對應輸入與何者相匹配;一分離長度(splitLength)欄位,其指示一偏移,一對應層應以該偏移而被分離;以及一新層類型(newLayerType)欄位,其指示新分離層的一層類型值。
- 如申請專利範圍第17項所述的方法,進一步包括:在解析一封包之前,先經由軟體來程式化所述層類型欄位、所述分離長度欄位以及所述新層類型欄位。
- 如申請專利範圍第15項所述的方法,進一步包括:將所述第一陣列和所述第二陣列儲存在所述網路交換機的一記憶體中。
- 如申請專利範圍第15項所述的方法,進一步包括:結合所擷取的資料,以藉此形成一最終結果。
- 如申請專利範圍第15項所述的方法,進一步包括:對得自邏輯AND運算的結果應用一位元向量,其中各所述邏輯AND運算係應用於對來自一層的所擷取資料和一位元掩碼。
- 一種網路交換機,包括:一輸入埠和一輸出埠,用於接收和發送封包;一記憶體,用於儲存一第一陣列和一第二陣列以保持對已分離層的追蹤;以及一解析器引擎,用於將一封包分離為協定層,以將所述協定層中的任何超過一預定大小的協定層進一步分離為多個層,並且用於從所有的層擷取資料。
- 如申請專利範圍第22項所述的網路交換機,其中所述預定大小是由軟體定義。
- 如申請專利範圍第22項所述的網路交換機,其中所述解析器引擎進一步級聯所擷取的資料以形成一表徵,其中所述表徵被用於所述封包的進一步處理。
- 如申請專利範圍第22項所述的網路交換機,其中所述解析器引擎進一步:對各層之所擷取的資料以及一位元掩碼應用一邏輯AND運算;以及對得自所述邏輯AND運算的結果應用一位元向量,以形成一散列函數的一輸入。
- 如申請專利範圍第25項所述的網路交換機,其中所述散列函數的一輸出是一唯一簽章,該唯一簽章係識別該封包所應採用的是等價多路徑路由中的哪個等價多路徑路由。
- 一種解析器引擎,其包括一電路,該電路係經配置以:基於協定層而分離一封包的層,使得所述封包的各所述協定層都被分隔開; 將所述封包的所述協定層中具有大於一預定大小之大小的每個協定層進一步分離為多個層;以及處理所有的已分離層。
- 如申請專利範圍第27項所述的解析器引擎,其中保持與各所述協定層的層類型以及各所述協定層所結束的位置的偏移有關的資訊。
- 如申請專利範圍第28項所述的解析器引擎,其中在將所述封包的所述協定層中具有大於該預定大小之大小的每個協定層進一步分離為多個層後,對所述資訊進行更新。
- 如申請專利範圍第27項所述的解析器引擎,其中所述電路亦配置以級聯所述處理的結果以形成一表徵,其中所述表徵被用於所述封包的進一步處理。
- 如申請專利範圍第27項所述的解析器引擎,其中所述電路亦配置以對得自所述處理的結果應用一位元向量,以形成對一散列函數之一輸入。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/309,763 US10616380B2 (en) | 2014-06-19 | 2014-06-19 | Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201618516A true TW201618516A (zh) | 2016-05-16 |
Family
ID=54870779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104110831A TW201618516A (zh) | 2014-06-19 | 2015-04-02 | 處理大協定層以供層資訊可配置擷取方法及裝置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10616380B2 (zh) |
CN (1) | CN105323300B (zh) |
HK (1) | HK1220832A1 (zh) |
TW (1) | TW201618516A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10498654B2 (en) | 2015-12-28 | 2019-12-03 | Amazon Technologies, Inc. | Multi-path transport design |
US9985904B2 (en) | 2015-12-29 | 2018-05-29 | Amazon Technolgies, Inc. | Reliable, out-of-order transmission of packets |
CN109257352A (zh) * | 2018-09-25 | 2019-01-22 | 广州虎牙信息科技有限公司 | 数据包解析方法、装置、电子设备和存储介质 |
Family Cites Families (160)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805808A (en) | 1991-12-27 | 1998-09-08 | Digital Equipment Corporation | Real time parser for data packets in a communications network |
US5361372A (en) * | 1991-12-27 | 1994-11-01 | Digital Equipment Corporation | Memory management for data transmission networks |
US5793954A (en) | 1995-12-20 | 1998-08-11 | Nb Networks | System and method for general purpose network analysis |
US5729712A (en) | 1996-01-26 | 1998-03-17 | Unisys Corporation | Smart fill system for multiple cache network |
US6088356A (en) | 1997-06-30 | 2000-07-11 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
US5951651A (en) | 1997-07-23 | 1999-09-14 | Lucent Technologies Inc. | Packet filter system using BITMAP vector of filter rules for routing packet through network |
US6434620B1 (en) * | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US6341129B1 (en) * | 1998-04-03 | 2002-01-22 | Alteon Networks, Inc. | TCP resegmentation |
US6330251B1 (en) | 1998-05-30 | 2001-12-11 | Alcatel Canada Inc. | Method and apparatus for data extraction from a bit stream |
US7333484B2 (en) | 1998-08-07 | 2008-02-19 | Intel Corporation | Services processor having a packet editing unit |
FI106504B (fi) * | 1998-10-06 | 2001-02-15 | Nokia Networks Oy | Datan segmentointimenetelmä tietoliikennejärjestelmässä |
US6442169B1 (en) | 1998-11-20 | 2002-08-27 | Level 3 Communications, Inc. | System and method for bypassing data from egress facilities |
JP2000196672A (ja) | 1998-12-28 | 2000-07-14 | Toshiba Corp | ネットワ―ク間中継装置 |
US6606301B1 (en) | 1999-03-01 | 2003-08-12 | Sun Microsystems, Inc. | Method and apparatus for early random discard of packets |
US6356951B1 (en) * | 1999-03-01 | 2002-03-12 | Sun Microsystems, Inc. | System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction |
JP2000253061A (ja) | 1999-03-01 | 2000-09-14 | Hitachi Ltd | データ配送方法 |
US6789116B1 (en) | 1999-06-30 | 2004-09-07 | Hi/Fn, Inc. | State processor for pattern matching in a network monitor device |
US7159030B1 (en) * | 1999-07-30 | 2007-01-02 | Intel Corporation | Associating a packet with a flow |
JP4708650B2 (ja) | 1999-12-02 | 2011-06-22 | パナソニック株式会社 | 光ディスク媒体およびその記録方法、記録装置 |
JP3613102B2 (ja) | 1999-12-14 | 2005-01-26 | 日本電気株式会社 | フレーム構成方法、フレーム構成装置およびフレーム構成転送システム |
ATE319249T1 (de) | 2000-01-27 | 2006-03-15 | Ibm | Verfahren und vorrichtung für klassifizierung von datenpaketen |
US6831917B1 (en) | 2000-05-10 | 2004-12-14 | Cisco Technology, Inc. | Network address translation for multicast virtual sourcing |
JP4099930B2 (ja) | 2000-06-02 | 2008-06-11 | 株式会社日立製作所 | ルータ装置及びvpn識別情報の設定方法 |
US20020076142A1 (en) | 2000-08-21 | 2002-06-20 | Song Qi Wang | Optical switch and switching network |
GB0023169D0 (en) | 2000-09-20 | 2000-11-01 | Ibm | Message parsing in message processing systems |
US7451235B2 (en) | 2000-10-11 | 2008-11-11 | Broadcom Corporation | Dynamic delta encoding for cable modem header suppression |
US6952425B1 (en) | 2000-11-14 | 2005-10-04 | Cisco Technology, Inc. | Packet data analysis with efficient and flexible parsing capabilities |
GB2371705B (en) | 2001-01-30 | 2003-04-23 | 3Com Corp | Network switch with mutually coupled look-up engine and network processor |
GB0107882D0 (en) | 2001-03-29 | 2001-05-23 | Ibm | Parsing messages with multiple data formats |
CN101026586A (zh) | 2001-04-06 | 2007-08-29 | 艾利森电话股份有限公司 | 用于voip无线终端的系统和方法 |
US6944168B2 (en) | 2001-05-04 | 2005-09-13 | Slt Logic Llc | System and method for providing transformation of multi-protocol packets in a data stream |
US6904057B2 (en) * | 2001-05-04 | 2005-06-07 | Slt Logic Llc | Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification |
DE10131561A1 (de) | 2001-06-29 | 2003-01-16 | Nokia Corp | Verfahren zur Übertragung von Anwendungspaketdaten |
US7017162B2 (en) | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
US7277957B2 (en) | 2001-07-17 | 2007-10-02 | Mcafee, Inc. | Method of reconstructing network communications |
US20030037154A1 (en) | 2001-08-16 | 2003-02-20 | Poggio Andrew A. | Protocol processor |
US7580408B2 (en) | 2001-11-21 | 2009-08-25 | Alcatel Lucent | Configurable packet processor |
US7236501B1 (en) | 2002-03-22 | 2007-06-26 | Juniper Networks, Inc. | Systems and methods for handling packet fragmentation |
US7187694B1 (en) * | 2002-03-29 | 2007-03-06 | Pmc-Sierra, Inc. | Generic packet parser |
US20030195973A1 (en) | 2002-04-11 | 2003-10-16 | Raymond Savarda | Methods, systems, and computer program products for processing a packet with layered headers using a data structure that positionally relates the layered headers |
JP2003308206A (ja) | 2002-04-15 | 2003-10-31 | Fujitsu Ltd | プロセッサ装置 |
US20050232303A1 (en) | 2002-04-26 | 2005-10-20 | Koen Deforche | Efficient packet processing pipeline device and method |
US7277426B2 (en) | 2002-05-24 | 2007-10-02 | Mosaid Technologies, Inc. | Method and apparatus for reordering entries in a multi probe lookup |
US7408957B2 (en) | 2002-06-13 | 2008-08-05 | International Business Machines Corporation | Selective header field dispatch in a network processing system |
JP4828826B2 (ja) | 2002-07-04 | 2011-11-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 自動的に適応可能な仮想キーボード |
US6996651B2 (en) | 2002-07-29 | 2006-02-07 | Freescale Semiconductor, Inc. | On chip network with memory device address decoding |
US7616662B2 (en) * | 2002-09-06 | 2009-11-10 | Infineon Technologies Ag | Parser for parsing data packets |
US7191241B2 (en) | 2002-09-27 | 2007-03-13 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US7367052B1 (en) | 2002-12-04 | 2008-04-29 | Cisco Technology, Inc. | Access list key compression |
US7415596B2 (en) | 2003-01-24 | 2008-08-19 | Gigafin Networks, Inc. | Parser table/production rule table configuration using CAM and SRAM |
US20050281281A1 (en) | 2003-01-24 | 2005-12-22 | Rajesh Nair | Port input buffer architecture |
US7293113B1 (en) * | 2003-05-28 | 2007-11-06 | Advanced Micro Devices, Inc. | Data communication system with hardware protocol parser and method therefor |
US7706363B1 (en) | 2003-06-11 | 2010-04-27 | Radlan Computer Communications, Ltd | Method and apparatus for managing packets in a packet switched network |
US7043518B2 (en) * | 2003-07-31 | 2006-05-09 | Cradle Technologies, Inc. | Method and system for performing parallel integer multiply accumulate operations on packed data |
US20050047406A1 (en) | 2003-08-25 | 2005-03-03 | Susan Hares | Nested components for network protocols |
GB0320957D0 (en) | 2003-09-08 | 2003-10-08 | Qinetiq Ltd | Document authentication |
US7685436B2 (en) | 2003-10-02 | 2010-03-23 | Itt Manufacturing Enterprises, Inc. | System and method for a secure I/O interface |
WO2005036834A1 (ja) | 2003-10-10 | 2005-04-21 | Fujitsu Limited | 統計情報採取方法及び装置 |
US7085907B2 (en) | 2004-02-17 | 2006-08-01 | International Business Machines Corporation | Dynamic reconfiguration of memory in a multi-cluster storage control unit |
US7411957B2 (en) | 2004-03-26 | 2008-08-12 | Cisco Technology, Inc. | Hardware filtering support for denial-of-service attacks |
US7822032B1 (en) | 2004-03-30 | 2010-10-26 | Extreme Networks, Inc. | Data structures for supporting packet data modification operations |
US7385984B2 (en) | 2004-03-30 | 2008-06-10 | Extreme Networks, Inc. | Packet processing system architecture and method |
US7580350B1 (en) | 2004-03-30 | 2009-08-25 | Extreme Networks, Inc. | System for deriving packet quality of service indicator |
US8289973B2 (en) | 2004-04-05 | 2012-10-16 | Verizon Business Global Llc | System and method for indicating classification of a communications flow |
US7586851B2 (en) | 2004-04-26 | 2009-09-08 | Cisco Technology, Inc. | Programmable packet parsing processor |
US8200839B1 (en) * | 2004-04-30 | 2012-06-12 | Rockstar Bidco Lp | Method and apparatus for restoring service label information |
JP4392294B2 (ja) | 2004-06-15 | 2009-12-24 | 株式会社日立製作所 | 通信統計収集装置 |
JP4156568B2 (ja) | 2004-06-21 | 2008-09-24 | 富士通株式会社 | 通信システムの制御方法、通信制御装置、プログラム |
US7474619B2 (en) * | 2004-07-22 | 2009-01-06 | International Business Machines Corporation | Method and apparatus for providing fragmentation at a transport level along a transmission path |
DE602006011125D1 (de) | 2005-01-31 | 2010-01-28 | British Telecomm | Steuerung eines datenflusses in einem netzwerk |
US7463630B2 (en) | 2005-02-18 | 2008-12-09 | Broadcom Corporation | Multi-part parsing in a network device |
US7756124B2 (en) | 2005-03-23 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Encapsulating packets for network chip conduit port |
US7414975B2 (en) | 2005-03-24 | 2008-08-19 | Ixia | Protocol stack |
US7570661B2 (en) * | 2005-06-14 | 2009-08-04 | Microsoft Corporation | Script-based parser |
US7603474B2 (en) | 2005-10-05 | 2009-10-13 | Microsoft Corporation | Efficient endpoint matching using a header-to-bit conversion table |
JP4340653B2 (ja) | 2005-12-16 | 2009-10-07 | 日本電信電話株式会社 | 通信処理装置及び通信処理方法 |
JP4887897B2 (ja) | 2006-05-12 | 2012-02-29 | 富士通株式会社 | パケット伝送装置、パケット転送方法及びパケット伝送システム |
US8437369B2 (en) | 2006-05-19 | 2013-05-07 | Integrated Device Technology, Inc. | Packets transfer device that intelligently accounts for variable egress channel widths when scheduling use of dispatch bus by egressing packet streams |
US9143585B2 (en) | 2006-07-07 | 2015-09-22 | Wi-Lan Inc. | Method and system for generic multiprotocol convergence over wireless air interface |
US7710959B2 (en) | 2006-08-29 | 2010-05-04 | Cisco Technology, Inc. | Private VLAN edge across multiple switch modules |
CA2669932A1 (en) | 2006-12-19 | 2008-06-26 | International Business Machines Corporation | Apparatus and method for analysing a network flow |
US7822875B1 (en) | 2006-12-22 | 2010-10-26 | Marvell International Ltd. | Method for flexible modifications to a packet |
US9344362B2 (en) | 2007-01-12 | 2016-05-17 | University-Industry Cooperation Group Of Kyung Hee University | Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, QOS control algorithm and apparatus for IPV6 label switching using the format |
IL220238A (en) | 2007-03-12 | 2014-03-31 | Marvell Israel Misl Ltd | A method and system for determining the location of fields in information units |
US7802009B2 (en) | 2007-06-26 | 2010-09-21 | Microsoft Corporation | Automatic reverse engineering of message formats from network traces |
US8054744B1 (en) | 2007-10-25 | 2011-11-08 | Marvell International Ltd. | Methods and apparatus for flow classification and flow measurement |
US8112800B1 (en) | 2007-11-08 | 2012-02-07 | Juniper Networks, Inc. | Multi-layered application classification and decoding |
CN101286215A (zh) | 2008-02-22 | 2008-10-15 | 山东中创软件工程股份有限公司 | 同时支持人工流和自动流的工作流引擎 |
CN101237419A (zh) | 2008-03-07 | 2008-08-06 | 北京航管科技有限公司 | 航空电信网空地通信中的报头压缩方法 |
US8825592B2 (en) | 2008-03-12 | 2014-09-02 | Web Access, Inc. | Systems and methods for extracting data from a document in an electronic format |
US7843919B2 (en) | 2008-03-20 | 2010-11-30 | International Business Machines Corporation | Ethernet virtualization using a network packet alteration |
JP4962394B2 (ja) | 2008-04-21 | 2012-06-27 | 富士通株式会社 | パケット転送制御装置およびパケット転送制御方法 |
JP2009272912A (ja) | 2008-05-08 | 2009-11-19 | Fujitsu Ltd | Ipデータ処理装置 |
KR101456563B1 (ko) | 2008-05-14 | 2014-10-31 | 삼성전자주식회사 | 멀티 홉 릴레이 환경에서 대역폭 할당 요청과 할당 방법 및시스템 |
US8040807B2 (en) | 2008-09-05 | 2011-10-18 | Cisco Technology, Inc. | QoS on bonded channels of a shared access cable network |
CN101686102A (zh) | 2008-09-27 | 2010-03-31 | 上海瑞高信息技术有限公司 | 移动多媒体广播的数据压缩 |
US7872993B2 (en) | 2008-10-30 | 2011-01-18 | Alcatel Lucent | Method and system for classifying data packets |
CN102273149A (zh) | 2008-12-23 | 2011-12-07 | 莫维克网络公司 | 一种利用多层协议的透明代理设备 |
US8234369B2 (en) | 2008-12-23 | 2012-07-31 | Verizon Patent And Licensing Inc. | Web page response monitoring |
US9064058B2 (en) | 2008-12-24 | 2015-06-23 | Nuon, Inc. | Virtualized PCI endpoint for extended systems |
US8902886B2 (en) | 2009-04-23 | 2014-12-02 | International Business Machines Corporation | Canonicalization of network protocol headers |
US8111704B2 (en) | 2009-06-26 | 2012-02-07 | Intel Corporation | Multiple compression techniques for packetized information |
US8335884B2 (en) * | 2009-07-10 | 2012-12-18 | Brocade Communications Systems, Inc. | Multi-processor architecture implementing a serial switch and method of operating same |
CN101621469B (zh) | 2009-08-13 | 2012-01-04 | 杭州华三通信技术有限公司 | 数据报文存取控制装置和方法 |
CN101694627B (zh) | 2009-10-23 | 2013-09-11 | 天津大学 | 基于可配置处理器的编译器系统 |
US9008082B2 (en) | 2009-12-07 | 2015-04-14 | Telefonaktiebolaget L M Ericsson (Publ) | Handling data packets received at a routing node |
EP2337274B1 (en) | 2009-12-17 | 2014-03-05 | Alcatel Lucent | Method for processing a plurality of data and switching device for switching communication packets |
CN101777791B (zh) | 2009-12-18 | 2012-05-23 | 深圳市科陆电子科技股份有限公司 | 一种同时兼容多种电力负控系统通信协议的方法及其系统 |
JPWO2011078108A1 (ja) | 2009-12-21 | 2013-05-09 | 日本電気株式会社 | マルチプロセッサ環境におけるパターンマッチング方法、及び装置 |
US8743877B2 (en) | 2009-12-21 | 2014-06-03 | Steven L. Pope | Header processing engine |
WO2011093835A1 (en) | 2010-01-28 | 2011-08-04 | Thomson Licensing | A method and apparatus for parsing a network abstraction-layer for reliable data communication |
US8654784B2 (en) * | 2010-03-11 | 2014-02-18 | Microsoft Corporation | Multi-stage large send offload |
US8472438B2 (en) | 2010-04-23 | 2013-06-25 | Telefonaktiebolaget L M Ericsson (Publ) | Efficient encapsulation of packets transmitted on a packet-pseudowire over a packet switched network |
US8576713B2 (en) | 2010-04-23 | 2013-11-05 | Ixia | Traffic generator with priority flow control |
EP2567524B1 (en) | 2010-05-03 | 2019-06-26 | Nokia Technologies Oy | Protocol overhead reduction |
CN101854361B (zh) | 2010-05-21 | 2012-09-26 | 南京邮电大学 | 一种基于物联网的下一代互联网协议报头压缩方法 |
US9042405B1 (en) | 2010-06-02 | 2015-05-26 | Marvell Israel (M.I.S.L) Ltd. | Interface mapping in a centralized packet processor for a network |
US8537815B2 (en) | 2010-06-17 | 2013-09-17 | Apple Inc. | Accelerating data routing |
US9525647B2 (en) | 2010-07-06 | 2016-12-20 | Nicira, Inc. | Network control apparatus and method for creating and modifying logical switching elements |
CN102377803B (zh) * | 2010-08-12 | 2013-02-27 | 华为技术有限公司 | 一种数据处理方法、装置和系统 |
CN101958902B (zh) * | 2010-09-30 | 2013-11-27 | 北京锐安科技有限公司 | 一种网络数据包的解析方法 |
US8705533B1 (en) | 2010-12-10 | 2014-04-22 | Juniper Networks, Inc. | Fast packet encapsulation using templates |
US8854996B2 (en) * | 2010-12-16 | 2014-10-07 | International Business Machines Corporation | Accelerating data packet parsing |
US8681819B2 (en) * | 2011-01-31 | 2014-03-25 | International Business Machines Corporation | Programmable multifield parser packet |
WO2012110958A1 (en) | 2011-02-14 | 2012-08-23 | Telefonaktiebolaget L M Ericsson (Publ) | Backwards-compatible approach to fields of a protocol layer |
US9407577B2 (en) | 2011-03-23 | 2016-08-02 | Nec Corporation | Communication control system, switch node and communication control method |
US8873557B2 (en) | 2011-04-08 | 2014-10-28 | Gigamon Inc. | Systems and methods for packet de-duplication |
TW201246867A (en) | 2011-05-06 | 2012-11-16 | Ralink Technology Corp | Packet processing accelerator and method thereof |
AU2012261972A1 (en) | 2011-06-01 | 2014-01-09 | Security First Corp. | Systems and methods for secure distributed storage |
US8570713B2 (en) | 2011-06-29 | 2013-10-29 | General Electric Company | Electrical distribution system including micro electro-mechanical switch (MEMS) devices |
CN102353894B (zh) | 2011-08-26 | 2013-08-14 | 哈尔滨工业大学 | 基于参考向量和位掩码的soc的测试方法 |
CN102970150A (zh) | 2011-09-01 | 2013-03-13 | 日电(中国)有限公司 | 用于数据中心的可扩展组播转发方法和设备 |
US9590820B1 (en) | 2011-09-02 | 2017-03-07 | Juniper Networks, Inc. | Methods and apparatus for improving load balancing in overlay networks |
US8645763B2 (en) | 2011-09-12 | 2014-02-04 | Microsoft Corporation | Memory dump with expanded data and user privacy protection |
US8521905B2 (en) | 2011-12-22 | 2013-08-27 | Telefonaktiebolaget L M Ericsson (Publ) | System for flexible and extensible flow processing in software-defined networks |
US8711860B2 (en) | 2011-12-22 | 2014-04-29 | Telefonaktiebolaget L M Ericsson (Publ) | Controller for flexible and extensible flow processing in software-defined networks |
US9565120B2 (en) | 2012-01-30 | 2017-02-07 | Broadcom Corporation | Method and system for performing distributed deep-packet inspection |
CN103597794B (zh) | 2012-02-16 | 2016-08-17 | 阿尔卡特朗讯公司 | 用于提供关于数据数组关联的信息以及用于转发数据数组的设想 |
US9282173B2 (en) | 2012-02-17 | 2016-03-08 | Viavi Solutions Inc. | Reconfigurable packet header parsing |
US9225635B2 (en) | 2012-04-10 | 2015-12-29 | International Business Machines Corporation | Switch routing table utilizing software defined network (SDN) controller programmed route segregation and prioritization |
US8929220B2 (en) | 2012-08-24 | 2015-01-06 | Advanced Micro Devices, Inc. | Processing system using virtual network interface controller addressing as flow control metadata |
US9055004B2 (en) | 2012-09-18 | 2015-06-09 | Cisco Technology, Inc. | Scalable low latency multi-protocol networking device |
EP3276977B1 (en) | 2012-10-17 | 2020-04-29 | Sony Corporation | Data processing device, data processing method, and program |
US9438517B2 (en) | 2012-10-30 | 2016-09-06 | Viavi Solutions Inc. | Method and system for identifying matching packets |
US20140153443A1 (en) | 2012-11-30 | 2014-06-05 | International Business Machines Corporation | Per-Address Spanning Tree Networks |
US9219694B2 (en) | 2013-03-15 | 2015-12-22 | Wisconsin Alumni Research Foundation | Content addressable memory with reduced power consumption |
US9769701B2 (en) | 2013-06-14 | 2017-09-19 | Texas Instruments Incorporated | Header compression for wireless backhaul systems |
US20140369363A1 (en) | 2013-06-18 | 2014-12-18 | Xpliant, Inc. | Apparatus and Method for Uniquely Enumerating Paths in a Parse Tree |
CN103347013B (zh) | 2013-06-21 | 2016-02-10 | 北京邮电大学 | 一种增强可编程能力的OpenFlow网络系统和方法 |
US9444914B2 (en) | 2013-09-16 | 2016-09-13 | Annapurna Labs Ltd. | Configurable parser and a method for parsing information units |
US9590914B2 (en) | 2013-11-05 | 2017-03-07 | Cisco Technology, Inc. | Randomized per-packet port channel load balancing |
US9363178B2 (en) | 2013-12-18 | 2016-06-07 | Telefonaktiebolaget L M Ericsson (Publ) | Method, apparatus, and system for supporting flexible lookup keys in software-defined networks |
US9620213B2 (en) | 2013-12-27 | 2017-04-11 | Cavium, Inc. | Method and system for reconfigurable parallel lookups using multiple shared memories |
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 |
US9628382B2 (en) | 2014-02-05 | 2017-04-18 | Intel Corporation | Reliable transport of ethernet packet data with wire-speed and packet data rate match |
US9823925B2 (en) | 2014-03-28 | 2017-11-21 | Intel Corporation | Instruction and logic for a logical move in an out-of-order processor |
CN104010049B (zh) | 2014-04-30 | 2017-10-03 | 易云捷讯科技(北京)股份有限公司 | 基于sdn的以太网ip报文封装方法及网络隔离和dhcp实现方法 |
US9742694B2 (en) | 2014-06-19 | 2017-08-22 | Cavium, Inc. | Method of dynamically renumbering ports and an apparatus thereof |
US9274799B1 (en) | 2014-09-24 | 2016-03-01 | Intel Corporation | Instruction and logic for scheduling instructions |
US20170048144A1 (en) | 2015-08-13 | 2017-02-16 | Futurewei Technologies, Inc. | Congestion Avoidance Traffic Steering (CATS) in Datacenter Networks |
-
2014
- 2014-06-19 US US14/309,763 patent/US10616380B2/en active Active
-
2015
- 2015-04-02 TW TW104110831A patent/TW201618516A/zh unknown
- 2015-05-07 CN CN201510229779.9A patent/CN105323300B/zh active Active
-
2016
- 2016-07-26 HK HK16108890.6A patent/HK1220832A1/zh unknown
-
2020
- 2020-02-26 US US16/802,357 patent/US11258886B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11258886B2 (en) | 2022-02-22 |
CN105323300B (zh) | 2021-02-09 |
HK1220832A1 (zh) | 2017-05-12 |
CN105323300A (zh) | 2016-02-10 |
US20200195761A1 (en) | 2020-06-18 |
US10616380B2 (en) | 2020-04-07 |
US20150373165A1 (en) | 2015-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9479620B2 (en) | Packet parsing and key generation in a network device | |
KR102337513B1 (ko) | 패킷 컨텐츠로부터 해시 입력을 형성하는 방법 및 장치 | |
CN106790170B (zh) | 一种数据包过滤方法及装置 | |
US11258886B2 (en) | Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof | |
US20160028860A1 (en) | Method for parsing network packets having future defined tags | |
EP3079318A1 (en) | Packet processing method and device | |
US9553808B1 (en) | Protocol-independent packet routing | |
CN105282134B (zh) | 从分组提取数据的方法、网络交换机及解析器 | |
US10003676B2 (en) | Method and apparatus for generating parallel lookup requests utilizing a super key | |
US9749262B2 (en) | Packet processing method and forwarding element | |
JP6678401B2 (ja) | 変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置 | |
JP6762911B2 (ja) | パケット識別装置およびパケット識別方法 | |
EP3264716B1 (en) | State transition compression mechanism to efficiently compress dfa based regular expression signatures | |
TWI474686B (zh) | 用於在記憶體中儲存整數值的範圍的方法及其系統 | |
CN105763296B (zh) | 用于在处理资源之间调度网络帧的方法 |