TWI660609B - 識別網路封包內部目的地的方法及裝置 - Google Patents

識別網路封包內部目的地的方法及裝置 Download PDF

Info

Publication number
TWI660609B
TWI660609B TW104110829A TW104110829A TWI660609B TW I660609 B TWI660609 B TW I660609B TW 104110829 A TW104110829 A TW 104110829A TW 104110829 A TW104110829 A TW 104110829A TW I660609 B TWI660609 B TW I660609B
Authority
TW
Taiwan
Prior art keywords
packet
chip
destination
network
network chip
Prior art date
Application number
TW104110829A
Other languages
English (en)
Other versions
TW201603536A (zh
Inventor
維索 阿南德
札希 丹尼爾
傑拉德 史密特
普姆沙斯 西凡傳
Original Assignee
美商凱為有限責任公司
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 美商凱為有限責任公司 filed Critical 美商凱為有限責任公司
Publication of TW201603536A publication Critical patent/TW201603536A/zh
Application granted granted Critical
Publication of TWI660609B publication Critical patent/TWI660609B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • 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
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3072Packet splitting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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
    • H04L45/7452Multiple parallel or consecutive lookup operations
    • 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
    • H04L45/7453Address table lookup; Address filtering using hashing
    • 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
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

Landscapes

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

Abstract

識別網路封包的內部目的地的裝置的實施例涉及一種允許在處置封包時具有靈活性的網路晶片。對封包的處置能夠是封包內容是什麼或者封包來自何處的函數。對封包的處置還能夠是封包內容是什麼以及封包來自何處這兩者的函數。在一些實施例中,封包來自何處是指封包所到達的晶片埠的唯一埠編號。封包能夠被分發用於在網路晶片內的處理。

Description

識別網路封包內部目的地的方法及裝置
本發明涉及網路封包。特別地,本發明涉及一種識別網路封包的內部目的地的方法及其裝置。
現有技術的交換晶片解析並處理傳入的網路流量,以決定封包應當被傳輸到何處。然而,現有技術的交換晶片簡單地從封包中擷取內容來確定該封包的內部目的地。但是,對封包的處置並不總是封包內容是什麼的函數。
識別網路封包的內部目的地的裝置的實施例涉及一種允許在處置封包時有靈活性的網路晶片。對封包的處置能夠是封包內容是什麼或者封包來自何處的函數。對封包的處置還能夠是封包內容是什麼以及封包來自何處這兩者的函數。在一些實施例中,封包來自何處是指封包所到達的晶片埠的唯一埠編號。封包能夠被分發用於在網路晶片內的處理。
在一個方面中,提供了一種實施網路晶片的方法。該方法包括:接收封包,以及基於該封包的內容來識別該封 包的唯一封包識別字。
該方法還包括:從該封包的內容來形成表徵。在一些實施例中,識別該封包的協定層包括:基於對協定層的識別,將協定層中的每個協定層擴展為通用格式,從已擴展的協定層中選擇內容,以及級聯所選擇的內容來形成該表徵。
該方法還包括:確定要將該表徵發送到的目的地,其中該確定基於兩個因素。在一些實施例中,目的地包括:基於這兩個因素的組合來形成金鑰;存取目的地表格;以及使用該金鑰從該目的地表格中取回關於該目的地的資訊。
在一些實施例中,該目的地是該網路晶片上的內部目的地。在一些實施例中,該目的地是該網路晶片上的多個LDE中的一個LDE。
在一些實施例中,因素中的一個因素是封包的內容是什麼。在一些實施例中,因素中的一個因素是封包來自何處。
在一些實施例中,這兩個因素的組合允許特定類型的所有封包都被發送到相同的目的地用於處理,而不論這些封包來自哪些晶片埠。在一些實施例中,這兩個因素的組合允許來自一個晶片埠的所有流量都被重新導向到相同的目的地用於處理,而不取決於其是什麼種類的流量。
在另一方面中,一種實施網路晶片的方法。該方法包括:處理封包,以基於該封包的內容來識別該封包的唯一封包識別字,並且基於該封包的所擷取的標頭欄位來形成表徵;以及識別該封包的到達晶片埠,其中該到達晶片埠是網 路晶片上的多個晶片埠中的一個晶片埠。
該方法還包括:通過將該封包的唯一封包識別字以及與所識別的晶片埠相對應的埠編號的特定位元進行組合來形成金鑰。在一些實施例中,該埠編號是被指配給所識別的埠的相對埠編號。在一些實施例中,使用動態埠重編號方案來執行該指配。
在一些實施例中,對該PktID和該埠編號的特定位元的組合是對該PktID和該埠編號的特定位元的級聯。
該方法還包括:基於該金鑰來確定該表徵的目的地。在一些實施例中,確定目的地包括:參考目的地表格以及使用該金鑰從該目的地表格中取回關於該目的地的資訊。
該方法還包括:將該表徵轉發到該目的地。
在又另一方面中,提供了一種網路晶片。該網路晶片包括多個晶片埠,其中這些埠中的每個埠與埠編號相關聯;以及片上記憶體,用以儲存目的地表格。
該網路晶片還包括解析器,該解析器用以處理到達該多個晶片埠中的一個晶片埠處的封包,以由此識別該封包的唯一封包識別字並且形成表徵,該表徵包括來自該封包的不同協定層的所擷取的欄位。該解析器還決定要將該表徵發送到何處,以及根據該決定來轉發該表徵。在一些實施例中,該決定基於參考該目的地表格。
在一些實施例中,該唯一封包識別字和該埠編號的特定位元被級聯以形成金鑰,當從目的地表格中取回目的地資訊時使用該金鑰。
在一些實施例中,該目的地表格是可程式化的。
在一些實施例中,該網路晶片還包括LDE的網狀網路。在一些實施例中,該表徵採用由這些LDE所理解的格式,從而這些LDE中的一個或多個LDE將能夠處理該表徵。
在一些實施例中,這些LDE中的每個LDE產生查找金鑰並且將該查找金鑰發送給遠端搜尋引擎,其中該遠端搜尋引擎返回查找結果,該查找結果被用來修改該表徵。在一些實施例中,該表徵被轉發給目的地LDE,其中該目的地LDE是這些LDE中的一個LDE。在一些實施例中,該目的地LDE修改該表徵。在一些實施例中,經修改的表徵被轉發給另一LDE或者相同的LDE用於進一步的修改。在一些實施例中,最終修改的表徵被用來修改該封包的封包標頭。在一些實施例中,經修改的封包標頭與該封包的有效載荷進行組合以形成輸出封包。在一些實施例中,該輸出封包被發送回給解析器用於進一步的處理。
在又另一方面中,提供了一種網路交換機。該網路交換機包括多個交換埠以及網路晶片。該網路晶片包括:多個晶片埠,該多個晶片埠被映射到該多個交換埠;以及解析器,用以確定如何處置傳入封包,其中該處置是封包的內容是什麼以及封包來自何處的函數,從而兩個條件總是被滿足。
在一些實施例中,這兩個條件中的一個條件是相同封包類型的所有封包都被發送到第一目的地用於處理,而不論這些封包來自該多個晶片埠中的哪些晶片埠;並且這兩個條件中的另一條件是來自該多個晶片埠中的一個晶片埠的所 有流量都被重新導向到第二目的地用於處理,而不取決於流量是什麼種類的流量。
在一些實施例中,該解析器處理到達該多個晶片埠中的一個晶片埠處的封包,以由此識別該封包的唯一封包識別字並且形成表徵,該表徵包括來自該封包的不同協定層的所擷取的欄位。
在一些實施例中,該解析器進一步決定要將該表徵發送到何處並且根據該決定來轉發該表徵。
200、250、300‧‧‧方法
205-220‧‧‧步驟
255-265‧‧‧步驟
305-325‧‧‧步驟
根據如在附圖中所說明的本發明的示例實施例的以下更加特定的描述,前述內容將是明顯的,在附圖中,貫穿不同的視圖,相似的參考字元指代相同的部分。這些示圖不一定按比例繪製,替代地,重點被放在說明出本發明的實施例上。
第一圖說明了封包的示例性協定層組合。
第二A圖與第二B圖說明了根據本發明的一些實施例的網路晶片的方法。
第三圖說明了根據本發明的一些實施例的網路晶片的另一種方法。
在以下的描述中,闡述了許多細節用於解釋的目的。然而,本領域的普通技術人員將認識到,本發明能夠無需使用這些具體細節而被實行。因此,本發明不意圖被限制於所示出的實施例,而是將符合與本文所描述的原理和特徵 相一致的最寬範圍。
識別網路封包的內部目的地的裝置的實施例涉及一種允許在處置封包時具靈活性的網路晶片。對封包的處置能夠是封包內容是什麼或者封包來自何處的函數。對封包的處置還能夠是封包內容是什麼以及封包來自何處這兩者的函數。在一些實施例中,封包來自何處是指封包所到達的晶片埠的唯一埠編號。封包能夠被分發用於在網路晶片內的處理。
網路設備(諸如網路交換機)能夠交換/路由網路流量。該網路交換機包括用於接收和傳輸封包的多個交換埠。該多個交換埠包括交換輸入埠和交換輸出埠。該網路交換機還包括至少一個網路晶片。每個網路晶片包括多個晶片埠。該多個晶片埠通常被映射至該多個交換輸入埠。
該網路交換機還包括至少一個記憶體。在一些實施例中,該記憶體儲存協定表格,該協定表格包括被程式化到該協定表格中的每個協定層組合中的每個協定層的層資訊。在一些實施例中,該記憶體還儲存目的地表格,該目的地表格包括內部目的地資訊。該協定表格和該目的地表格是可程式化的。在一些實施例中,該至少一個記憶體是位於網路晶片上的片上記憶體。
在一些實施例中,網路晶片包括解析器和重寫器。該解析器能夠包括用以識別網路封包的內容的一個或多個解析器引擎,並且該重寫器能夠包括一個或多個重寫引擎,該一個或多個重寫引擎用以在封包經由網路交換機的交換輸出埠而被傳輸出去之前修改這些封包。該(些)解析器引擎和 該(些)重寫引擎是靈活的並且在可程式化的基礎上進行操作。
在一些實施例中,網路晶片還包括查找和決定引擎(LDE)的網狀網路。在2013年12月30日提交的名稱為“Method and Apparatus for Parallel and Conditional Data Manipulation in a Software-Defined Network Processing Engine”的美國專利申請序號No.14/144,260、以及2013年12月30日提交的名稱為“Apparatus and Method of Generating Lookups and Making Decision for Packet Modifying and Forwarding in a Software-Defined Network Engine”的美國專利申請序號No.14/144,270中討論了LDE的一種示例性網狀網路,它們由此通過引用以它們的整體而被併入。每個LDE從解析器或者從另一LDE接收表徵,並且產生查找金鑰並將該查找金鑰發送給遠程搜尋引擎。該遠程搜尋引擎返回查找結果,該查找結果由LDE用來修改該表徵。
封包通常包括多個協定層。每個協定層承載不同的資訊。習知的層的一些示例是:
‧乙太網
‧PBB乙太網
‧ARP
‧IPV4
‧IPV6
‧MPLS
‧FCOE
‧TCP
‧UDP
‧ICMP
‧IGMP
‧GRE
‧ICMPv6
‧VxLAN
‧TRILL
‧CNM
理論上,這些協定層能夠以任何順序發生。然而,僅發生了這些層的一些習知的組合。這些層的有效組合的一些示例是:
‧乙太網
‧乙太網、ARP
‧乙太網、CNM
‧乙太網、FCoE
‧乙太網、IPV4
‧乙太網、IPV4、ICMP
‧乙太網、IPV4、IGMP
在一些實施例中,網路交換機支援17個協定和八個協定層。因此存在817種可能的協定層組合。第一圖說明了封包的示例性協定層組合。例如,封包能夠包括一種三個協定層的組合,諸如乙太網、IPv4和ICMP。作為另一示例,封包能夠包括一種七個協定層的組合,諸如乙太網、IPv4、UDP、 VxLAN、乙太網和ARP。
儘管存在817種可能的協定層組合,但是僅發生了這些層的一些習知的組合。所有的已知協定層組合唯一地被識別並且轉換為被稱為封包識別字(PktID)的唯一編號。網路交換機的記憶體中所儲存的協定表格被程式化為包括每個已知的協定層組合中的每個層的層資訊。在實踐中,本地的協定表格包括少於256種協定層組合。在一些實施例中,這個本地的協定表格包括212種已知的協定層組合。該本地的協定表格被程式化為包括或多或少的協定層組合。
在網路晶片處接收到的每個封包由解析器處理,以使用PktID來識別該封包以及形成表徵。該表徵包括來自該封包的所解析的標頭的所擷取的欄位。在一些實施例中,該表徵還包括控制位元。在名稱為“A Method of Extracting Data from Packets and an Apparatus thereof”的美國專利案(申請日為[date],申請號No.[代理機構卷號XPL-02100])中討論了一種示例性的表徵形成,其由此通過引用以它的整體而被併入。
PktID與(封包的對應到達埠的)埠編號的特定位元的組合被用來決定該封包的表徵內部地被發送到何處用於處理。這一組合允許了如下的靈活性:特定類型的所有封包都能夠被發送到網路晶片內的相同的內部目的地用於處理,而不論它們來自哪個埠。類似地,這一組合允許了如下的靈活性:來自特定埠的所有流量能夠被重新導向到網路晶片內的相同的內部目的地用於處理,而不取決於它是什麼種類的流量。
在一些實施例中,埠編號是被指配給到達埠的相對埠編號。能夠使用動態埠重編號方案來執行該指配。在名稱為“A Method of Dynamically Renumbering Ports and an Apparatus thereof”的美國專利案(申請日為[date],申請號為No.[代理機構卷號XPL-02500])中討論了一種示例性的動態埠重編號方案,其由此通過引用以它的整體而被併入。動態埠重編號方案限制了需要被保留用於網路晶片上的所有埠的狀態的數目,由此有利地使網路晶片上的總邏輯最小化。
通常,PktID與埠編號的特定位元的組合形成金鑰。該金鑰被用來執行針對目的地表格的查找。該目的地表格將金鑰映射至網路晶片內的內部目的地。該目的地表格通常是軟體定義的。在一些實施例中,該組合是PktID和埠編號的特定位元的級聯。
一種示例性內部目的地是網路晶片上的網狀網路中的LDE之一。表徵通常採用由LDE所理解的格式,從而LDE中的一個或多個LDE將能夠處理該表徵。在一些實施例中,該表徵由目的地LDE所修改。此後,經修改的表徵能夠被發送給另一LDE或者發送給相同的LDE用於進一步的修改。在一些實施例中,最終修改的表徵由重寫器用來修改對應封包的封包標頭。原始的封包有效載荷和經修改的封包標頭被組合以形成最終的輸出網路封包。該最終的輸出網路封包然後被發送回給解析器(環回)或者被轉發給另一網路設備。
第二A圖說明了根據本發明的一些實施例的網路晶片的方法200。通常,該網路晶片是網路交換機的一部分。在 步驟205處,封包被接收。
在步驟210處,基於該封包的內容來識別該封包的唯一封包識別字。在一些實施例中,步驟210由該網路晶片上的解析器來執行。
在步驟215處,從該封包的內容來形成表徵。在一些實施例中,步驟215也由解析器來執行。在一些實施例中,該封包的協定層首先被識別。這些協定層中的每個協定層然後基於對該協定層的識別而被擴展為通用格式。來自已擴展的協定層的內容然後被選擇。所選擇的內容此後被級聯以形成該表徵。
在步驟220處,要將該表徵發送到的目的地被確定。該確定通常基於兩個因素。在一些實施例中,該目的地是網路晶片內的內部目的地。在一些實施例中,步驟220包括第二B圖中所討論的方法。
第二B圖說明了根據本發明的一些實施例的方法250。在步驟255處,基於兩個因素的組合來形成金鑰。在一些實施例中,一個因素是封包的內容是什麼,並且另一因素是封包來自何處。封包來自何處是指封包所到達的晶片埠的唯一埠編號。
在一些實施例中,這兩個因素的組合允許特定類型的所有封包都被發送到網路晶片內的相同的內部目的地用於處理,而不論這些封包來自哪些晶片埠。在一些實施例中,這兩個因素的組合允許來自一個晶片埠的所有流量都被重新導向到網路晶片內的相同的內部目的地用於處理,而不取決 於它是什麼種類的流量。
在步驟260處,目的地表格被存取。該目的地表格包括關於目的地的資訊。
在步驟265處,該金鑰被用來從該目的地表格中取回關於目的地的資訊。在一些實施例中,該目的地是網路晶片上的內部目的地。在一些實施例中,該目的地是網路晶片上的多個LDE之一。
第三圖說明了根據本發明的一些實施例的網路晶片的方法300。在步驟305處,封包被處理,以基於該封包的內容來識別該封包的唯一封包識別字,並且基於該封包的所擷取的標頭欄位來形成表徵。
在步驟310處,該封包的到達晶片埠被識別。該到達晶片埠是網路晶片上的多個晶片埠之一。
在步驟315處,通過將該封包的唯一封包識別字以及與所識別的晶片埠相對應的埠編號的特定位元進行組合來形成金鑰。在一些實施例中,該埠編號是被指配給所識別的埠的相對埠編號。在一些實施例中,使用動態埠重編號方案來執行該指配。在一些實施例中,該組合是PktID和該埠編號的特定位元的級聯。
在步驟320處,基於該金鑰來確定該表徵的目的地。在一些實施例中,目的地表格被參考並且該金鑰被用來從該目的地表格中取回關於該目的地的資訊。在一些實施例中,該目的地是網路晶片內的內部目的地。
在步驟325處,該表徵被轉發到該目的地。
不像現有技術的網路晶片,根據本發明的一些實施例的網路晶片不盲目地從封包中擷取內容來確定該封包的目的地。替代地,對每個封包的處置是封包的內容是什麼以及封包來自何處的函數。如此,相同封包類型的所有封包都能夠被發送到網路晶片內的相同的內部目的地用於處理,而不論這些封包來自該多個晶片埠中的哪些晶片埠。類似地,來自該多個晶片埠之一的所有流量都能夠被重新導向到網路晶片內的相同的內部目的地用於處理,而不取決於該流量是什麼種類的流量。因此,能夠有利地橫跨LDE來分佈對封包的處理。
本領域的普通技術人員將認識到,也存在其他的使用和優點。儘管已經參考許多具體的細節描述了本發明,但是本領域的普通技術人員將認識到,不偏離本發明的精神,能夠以其他的具體形式來體現本發明。因此,本領域的普通技術人員將理解,本發明將不由前述的說明性細節所限制,而是將由所附申請專利範圍所限定。

Claims (31)

  1. 一種實施一網路晶片的方法,包括:經由所述網路晶片的一入口埠接收一封包;基於所述封包的內容,識別所述封包的一唯一封包識別字,其中所述唯一封包識別字和形成所述封包的一標頭之一協定層組合相關;從所述封包的所述內容形成一表徵;以及確定所述表徵要被發送之在所述網路晶片中的一內部目的地,其中所述確定是基於兩個因素,其中所述因素之一為該入口埠的一埠編號,所述因素之另一為所述唯一封包識別字。
  2. 如申請專利範圍第1項所述的方法,其中形成表徵包括:識別所述封包的協定層;基於對所述協定層之識別,將各所述協定層擴展為一通用格式;從已擴展的協定層中選擇內容;以及級聯所選擇的內容以形成所述表徵。
  3. 如申請專利範圍第1項所述的方法,其中確定一目的地包括:基於所述兩個因素之一組合來形成一金鑰;存取一目的地表格;以及使用所述金鑰從所述目的地表格中取回關於所述目的地的資訊。
  4. 如申請專利範圍第1項所述的方法,其中所述目的地是所述網路晶片上的一內部目的地。
  5. 如申請專利範圍第1項所述的方法,其中所述目的地是所述網路晶片上的多個查找和決定引擎(LDEs)中其一。
  6. 如申請專利範圍第1項所述的方法,其中所述因素中其一為所述封包的所述內容是什麼。
  7. 如申請專利範圍第1項所述的方法,其中所述因素中其一為所述封包來自何處。
  8. 如申請專利範圍第1項所述的方法,其中所述兩個因素之組合允許一特定類型的所有封包都被發送到相同目的地以進行處理,其與所述封包來自哪些晶片埠無關。
  9. 如申請專利範圍第1項所述的方法,其中所述兩個因素之組合允許來自一個晶片埠的所有流量都被重新導向到相同目的地以進行處理,而與其是什麼種類的流量無關。
  10. 一種實施一網路晶片的方法,包括:處理一封包,以基於所述封包的內容識別所述封包的一唯一封包識別字,並基於所述封包的擷取標頭欄位形成一表徵,其中所述唯一封包識別字和形成所述封包的一標頭之一協定層組合相關;識別所述封包的一到達晶片埠的一埠編號,其中所述到達晶片埠是所述網路晶片上的多個晶片埠中其一;藉由將所述封包的所述唯一封包識別字及與所識別的晶片埠對應的所述埠編號的特定位元進行組合以形成一金鑰;基於所述金鑰,確定所述表徵在所述網路晶片中的一內部目的地;以及將所述表徵轉發到所述目的地。
  11. 如申請專利範圍第10項所述的方法,其中所述埠編號是指配給所識別的埠的一相對埠編號。
  12. 如申請專利範圍第11項所述的方法,其中使用一動態埠重編號方案來執行所述指配。
  13. 如申請專利範圍第10項所述的方法,其中對所述封包的所述唯一封包識別字和所述埠編號的所述特定位元之組合是所述封包的所述唯一封包識別字和所述埠編號的所述特定位元之級聯。
  14. 如申請專利範圍第10項所述的方法,其中確定一目的地係包括:參考一目的地表格及使用所述金鑰,以從所述目的地表格中取回關於所述目的地的資訊。
  15. 一種網路晶片,包括:多個晶片埠,其中各所述埠係與一埠編號相關聯;晶片上記憶體,用以儲存一目的地表格;以及一解析器,用以:處理到達所述多個晶片埠中的一個晶片埠處的一封包,以藉此識別所述封包的一唯一封包識別字並形成一表徵,所述表徵包括來自所述封包的不同協定層的擷取欄位,其中所述唯一封包識別字和形成所述封包的一標頭之一協定層組合相關;基於所述封包所到達的所述晶片埠的所述埠編號以及所述唯一封包識別字決定要將所述表徵發送到所述網路晶片中何處;以及根據所述決定來轉發所述表徵。
  16. 如申請專利範圍第15項所述的網路晶片,其中所述決定是基於參考所述目的地表格。
  17. 如申請專利範圍第15項所述的網路晶片,其中所述唯一封包識別字和所述埠編號的特定位元被級聯以形成一金鑰,該金鑰係於從所述目的地表格中取回目的地資訊時使用。
  18. 如申請專利範圍第15項所述的網路晶片,其中所述目的地表格是可程式化的。
  19. 如申請專利範圍第15項所述的網路晶片,進一步包括多個查找和決定引擎(LDEs)之一網狀網路。
  20. 如申請專利範圍第19項所述的網路晶片,其中所述表徵具有所述查找和決定引擎(LDE)理解的格式,使得所述查找和決定引擎(LDE)中的一或多者能夠處理所述表徵。
  21. 如申請專利範圍第19項所述的網路晶片,其中各所述查找和決定引擎(LDE)係產生查找金鑰並且將所述查找金鑰發送給遠端搜尋引擎,其中所述遠端搜尋引擎返回查找結果,所述查找結果被用來修改所述表徵。
  22. 如申請專利範圍第19項所述的網路晶片,其中所述表徵被轉發給一目的地查找和決定引擎(LDE),其中所述目的地查找和決定引擎(LDE)是所述查找和決定引擎(LDE)中其一。
  23. 如申請專利範圍第22項所述的網路晶片,其中所述目的地查找和決定引擎(LDE)修改所述表徵。
  24. 如申請專利範圍第23項所述的網路晶片,其中經修改的表徵被轉發給另一查找和決定引擎(LDE)或同一查找和決定引擎(LDE),以進行進一步修改。
  25. 如申請專利範圍第24項所述的網路晶片,其中一最終修改表徵係用以修改所述封包的封包標頭。
  26. 如申請專利範圍第25項所述的網路晶片,其中經修改的封包標頭與所述封包的一有效載荷組合,以形成一輸出封包。
  27. 如申請專利範圍第26項所述的網路晶片,其中所述輸出封包被發送回給所述解析器以進行進一步處理。
  28. 一種網路交換機,包括:多個交換埠;以及一網路晶片,所述網路晶片包括:多個晶片埠,所述多個晶片埠被映射到所述多個交換埠;以及一解析器,用以確定如何處置傳入封包,其中所述處置包括確定所述傳入封包中其一的一唯一封包識別字以及所述傳入封包中所述其一到達的所述晶片埠中其一的所述埠編號,以及所述處置更包括為所述封包的內容是什麼以及所述封包來自何處之一函數,使得兩個條件總是被滿足,其中所述唯一封包識別字和形成所述封包的一標頭之一協定層組合相關。
  29. 如申請專利範圍第28項所述的網路交換機,其中所述兩個條件中其一是一相同封包類型的所有封包都被發送到一第一目的地以進行處理,其與所述封包來自所述多個晶片埠中的哪些晶片埠無關,而所述兩個條件中的另一者是來自所述多個晶片埠中其一的所有流量都被重新導向到一第二目的地以進行處理,其與所述流量是什麼種類的流量無關。
  30. 如申請專利範圍第28項所述的網路交換機,其中所述解析器處理到達所述多個晶片埠中的一個晶片埠處的封包,以藉此識別所述封包的該唯一封包識別字並且形成一表徵,所述表徵包括來自所述封包的不同協定層的擷取欄位。
  31. 如申請專利範圍第30項所述的網路交換機,其中所述解析器進一步決定要將所述表徵發送到何處並且根據所述決定來轉發所述表徵。
TW104110829A 2014-06-19 2015-04-02 識別網路封包內部目的地的方法及裝置 TWI660609B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/309,802 US9628385B2 (en) 2014-06-19 2014-06-19 Method of identifying internal destinations of networks packets and an apparatus thereof
US14/309,802 2014-06-19

Publications (2)

Publication Number Publication Date
TW201603536A TW201603536A (zh) 2016-01-16
TWI660609B true TWI660609B (zh) 2019-05-21

Family

ID=54870780

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104110829A TWI660609B (zh) 2014-06-19 2015-04-02 識別網路封包內部目的地的方法及裝置

Country Status (4)

Country Link
US (2) US9628385B2 (zh)
CN (1) CN105282055B (zh)
HK (1) HK1220826A1 (zh)
TW (1) TWI660609B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948756B1 (en) * 2016-08-11 2018-04-17 Amazon Technologies, Inc. Automated pipeline generation
US11995335B2 (en) * 2021-05-11 2024-05-28 InContact Inc. System and method for determining and utilizing an effectiveness of lifecycle management for interactions storage, in a contact center
TWI792796B (zh) * 2021-12-22 2023-02-11 凌陽科技股份有限公司 小晶片系統及其定位方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010050914A1 (en) * 2000-06-02 2001-12-13 Shinichi Akahane VPN router and VPN identification method by using logical channel identifiers
US20050276230A1 (en) * 2004-06-15 2005-12-15 Hitachi, Ltd. Communication statistic information collection apparatus
US20130163475A1 (en) * 2011-12-22 2013-06-27 Ludovic Beliveau Controller for flexible and extensible flow processing in software-defined networks

Family Cites Families (113)

* Cited by examiner, † Cited by third party
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
US5793954A (en) 1995-12-20 1998-08-11 Nb Networks System and method for general purpose network analysis
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
US6341129B1 (en) 1998-04-03 2002-01-22 Alteon Networks, Inc. TCP resegmentation
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ä
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
CN101312052B (zh) 1999-12-02 2011-04-06 松下电器产业株式会社 制造光记录媒体的方法以及记录方法、再生方法
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
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
WO2002032101A2 (en) 2000-10-11 2002-04-18 Broadcom Corporation Cable modem system and method for supporting extended protocols
US6952425B1 (en) 2000-11-14 2005-10-04 Cisco Technology, Inc. Packet data analysis with efficient and flexible parsing capabilities
GB0107882D0 (en) 2001-03-29 2001-05-23 Ibm Parsing messages with multiple data formats
US6904057B2 (en) 2001-05-04 2005-06-07 Slt Logic Llc Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification
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
US7017162B2 (en) 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
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
CN1280700C (zh) 2002-07-04 2006-10-18 皇家飞利浦电子股份有限公司 自适应虚拟键盘
US6996651B2 (en) * 2002-07-29 2006-02-07 Freescale Semiconductor, Inc. On chip network with memory device address decoding
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
US20050281281A1 (en) 2003-01-24 2005-12-22 Rajesh Nair Port input buffer architecture
US7415596B2 (en) 2003-01-24 2008-08-19 Gigafin Networks, Inc. Parser table/production rule table configuration using CAM and SRAM
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
US20060021569A1 (en) 2003-07-30 2006-02-02 Bernard Petrillo Immersion optics fluid dispenser
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
JP4152412B2 (ja) 2003-10-10 2008-09-17 富士通株式会社 統計情報採取方法及び装置
US7411957B2 (en) 2004-03-26 2008-08-12 Cisco Technology, Inc. Hardware filtering support for denial-of-service attacks
US7554978B1 (en) 2004-03-30 2009-06-30 Extreme Networks, Inc. System for accessing content-addressable memory in packet processor
US7822032B1 (en) 2004-03-30 2010-10-26 Extreme Networks, Inc. Data structures for supporting packet data modification operations
US8289973B2 (en) 2004-04-05 2012-10-16 Verizon Business Global Llc System and method for indicating classification of a communications flow
US7568047B1 (en) 2004-04-30 2009-07-28 Nortel Networks Limited Method and apparatus for adaptive service label management
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
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
CN101563908B (zh) 2006-12-19 2013-01-09 国际商业机器公司 分析网络流的装置和方法
US7822875B1 (en) 2006-12-22 2010-10-26 Marvell International Ltd. Method for flexible modifications to a packet
US7978700B2 (en) 2007-03-12 2011-07-12 Marvell Israel (Misl) Ltd. Apparatus for determining locations of fields in a data unit
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
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 삼성전자주식회사 멀티 홉 릴레이 환경에서 대역폭 할당 요청과 할당 방법 및시스템
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
CN101621469B (zh) 2009-08-13 2012-01-04 杭州华三通信技术有限公司 数据报文存取控制装置和方法
US9008082B2 (en) 2009-12-07 2015-04-14 Telefonaktiebolaget L M Ericsson (Publ) Handling data packets received at a routing node
WO2011078108A1 (ja) 2009-12-21 2011-06-30 日本電気株式会社 マルチプロセッサ環境におけるパターンマッチング方法、及び装置
US8743877B2 (en) * 2009-12-21 2014-06-03 Steven L. Pope Header processing engine
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
RU2549159C2 (ru) 2010-05-03 2015-04-20 Нокиа Корпорейшн Сокращение служебной информации протокола
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
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
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
US8570713B2 (en) 2011-06-29 2013-10-29 General Electric Company Electrical distribution system including micro electro-mechanical switch (MEMS) devices
US8520214B2 (en) * 2011-07-13 2013-08-27 The United States Of America As Represented By The Secretary Of The Navy Fiber optical gyroscope
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
US8521905B2 (en) 2011-12-22 2013-08-27 Telefonaktiebolaget L M Ericsson (Publ) System 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
DE102012005733B3 (de) * 2012-03-23 2013-04-11 Mann + Hummel Gmbh Filterelement und Filtereinrichtung
US9065780B2 (en) 2012-09-18 2015-06-23 Cisco Technology, Inc. Low latency networking device using header prediction
WO2014061488A1 (ja) 2012-10-17 2014-04-24 ソニー株式会社 データ処理装置、データ処理方法、及び、プログラム
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
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
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
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010050914A1 (en) * 2000-06-02 2001-12-13 Shinichi Akahane VPN router and VPN identification method by using logical channel identifiers
US20050276230A1 (en) * 2004-06-15 2005-12-15 Hitachi, Ltd. Communication statistic information collection apparatus
US20130163475A1 (en) * 2011-12-22 2013-06-27 Ludovic Beliveau Controller for flexible and extensible flow processing in software-defined networks

Also Published As

Publication number Publication date
CN105282055B (zh) 2020-10-23
US9628385B2 (en) 2017-04-18
US20150373166A1 (en) 2015-12-24
US10397113B2 (en) 2019-08-27
CN105282055A (zh) 2016-01-27
HK1220826A1 (zh) 2017-05-12
TW201603536A (zh) 2016-01-16
US20170187623A1 (en) 2017-06-29

Similar Documents

Publication Publication Date Title
US10033641B2 (en) Deterministic and optimized bit index explicit replication (BIER) forwarding
CN114189473B (zh) 一种报文的发送方法和装置
WO2016192686A1 (zh) 数据报文转发
CN105939274A (zh) 报文转发方法及装置
JP6590546B2 (ja) パケットのコンテンツからハッシュ入力を形成する方法およびその装置
US10397113B2 (en) Method of identifying internal destinations of network packets and an apparatus thereof
US20240022652A1 (en) A method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof
US11258886B2 (en) Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
US10320568B1 (en) Protocol-independent multi-table packet routing using shared memory resource
US9473601B2 (en) Method of representing a generic format header using continuous bytes and an apparatus thereof
JP6590545B2 (ja) パケットからデータを抽出する方法およびその装置
JP6678401B2 (ja) 変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置
US9497294B2 (en) Method of using a unique packet identifier to identify structure of a packet and an apparatus thereof
WO2015154393A1 (zh) 业务节点能力处理方法、装置、业务分类器及业务控制器
JP2016005281A (ja) パケットを汎用フォーマットに変更して、プログラマブルな変更を可能にする方法およびその装置
US9531848B2 (en) Method of using generic modification instructions to enable flexible modifications of packets and an apparatus thereof
JP2008199168A (ja) レイヤ2スイッチ装置、レイヤ2フレーム送信方法