TW502516B - Fast and adaptive packet processing device and method using digest information of input packet - Google Patents
Fast and adaptive packet processing device and method using digest information of input packet Download PDFInfo
- Publication number
- TW502516B TW502516B TW89119211A TW89119211A TW502516B TW 502516 B TW502516 B TW 502516B TW 89119211 A TW89119211 A TW 89119211A TW 89119211 A TW89119211 A TW 89119211A TW 502516 B TW502516 B TW 502516B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- summary information
- packet processing
- instruction
- information
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
502516 A7 B7 6 714pi f . doc/0 0 8 五、發明說明(丨) 本發明是有關於一種實施封包之封包處理裝置與封 包處理方法。 近年來,連同於在網路上之資料流量之大量增加, 對於能快速處理在網路上搬運資訊之封包處理裝置之需求 也增加中。封包處理之進行係參考由外部進入之封包之表 頭部份,並根據在此表頭部份中所描敘之資訊而進行所需 處理。 在此,所需處理可比如,包括下列之各種處理。 (1) 藉由參考在封包中之表頭部份中之目的位址而移 動封包至特殊輸出鏈結之處理。 (2) 藉由參考包括控制在封包中之表頭部份中之優先 權位階資訊或代表使用此封包以實現通訊之應用屬性資訊 之各輸出鏈結之封包移動時序之處理,使得當具有較高優 先權位階之封包要移至此封包要移動之輸出鏈結時,此封 包之移動係暫移。 (3) 根據既定方法分割封包之處理,當其封包長度超 過特殊輸出埠所允許之最大封包長度。 (4) 增加在封包上之特殊資訊並當此特殊資訊達既定 値時,捨棄此封包之處理。 (5) 根據既定方法,根據需要,重新寫入目的位址或 來源位址.之値之處理。 (6) 根據所需計算封包之錯誤訂正碼之處理。 一般而而,處理封包裝置之實現係由資訊處理裝置, 如迷你電腦或微處理器。在此例中,如上述般之要對各封 4 -----丨I i丨丨丨I丨丨訂i!丨丨線‘ (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國規格⑵〇 χ 297公餐) 502516 A7 B7 6714pif.doc/〇〇8 五、發明說明(>) (請先閱讀背面之注意事項再填寫本頁) 包進行之特殊處理係由執行在此迷你電腦或微處理器中之 特殊指令序。然而,在此方法中,係難於實現快速封包處 理。爲此,近年來,習慣藉由使用硬體實現封包處理之快 速封包處理。 然而,網路通訊協定具有持續改變之特性。比如, 直到數年前,在封包中之目的位址與來源位址並非在網路 中重寫,但是,因爲網路迅速發展之這幾年,要解決IP 位址縮短之方法,在最近兩、三年係習慣重寫在網路中之 目的位址或來源位址。 因此,網路之操作係,當操作網路時,只要發生問 題,通訊協定係改變以解決此問題。因此,網路通訊協定 會持續改變。因此,藉由使用硬體來實施通訊協定處理之 快速封包處理之上述方法之問題在於,當通訊協定只有微 小改變時,無法由此硬體來實施處理,因此,必需經常替 換封包處理裝置。 經濟部智慧財產局員工消費合作社印製 同樣’有各種方法來實現封包處理所需之功能,如 分析在IP封包中之表頭之目的位址,比如,但從不同功 能實現方法之不同優點來看,各功能實現方法有其較佳應 用範圍°然而’習用封包處理裝置並不具備從這些功能實 現方法$至易選擇適當方法之功能,且從各種封包處理方法 中所選擇出之一種特殊方法係實現於此習用封包處理裝 置。医1此’無法根據如不同封包型式之混合率之網路環境 選擇最佳方法’使得無法有效地處理封包。 如上述般’習用封包處理裝置所面臨之問題包括:(1) 5 本紙張尺度適用中國國豕標準(CNS)A4規格(21G X 297公爱) 502516 A7 B7 6714pif.doc/008 五、發明說明ο ) {請先閱讀背面之注意事項再填寫本頁} 當裝置係由執行在迷你電腦或微處理中之特殊指令序而實 現時,難於貫現快速處理;(2)當裝置係用硬體實現封包處 理時’無法適當地改變通訊協定;以及(3)無法根據網路環 境選擇最佳功能實現方法。 有鑑於此,本發明的主要目的就是在提供一種封包 處理裝置與封包處理方法,其能實現快速封包處理,相對 於通訊協定改變之高順應性,根據網路環境選擇最佳功能 實施方法之能力。 根據本發明的目的,提出一種封包處理裝置,包括: 1· 一種封包處理裝置,包括:一摘要資訊產生單元,架 構成從一輸入封包拉出複數個既定位元順序,並根據該些 既定位元順序產生能指定要應用至該輸入封包之一處理之 至少一部份之一摘要資訊;以及一封包處理單元,架構成 利用要應用至該輸入封包之一指令順序來處理該輸入封 包,該指令順序係根據該摘要資訊產生單元所產生之該摘 要資訊而獲得;其中,該摘要資訊產生相對於下一輸入封 包之該摘要資訊當該封包處理單元進行一個封包之處理 時。 經濟部智慧財產局員工消費合作社印製 根據本發明的另一目的,一種封包處理方法,包括. 下列步驟:(a)從一輸入封包拉出複數既定位元順序,以及 根據該些既定位元順序値產生能指定要應用至該輸入封包 之一處理之一部份之一摘要資訊;以及(b)使用根據該步驟 (a)所產生之該摘要資訊所得之要應用至該輸入封包而處理 該輸入封包;其中,當該步驟(b)進行一個封包之處理時, 6 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 502516 6714pif.doc/008 _B7_ 五、發明說明(屮) 該步驟(a)產生相對於下一輸入封包之該摘要資訊。 (請先閱讀背面之注意事項再填寫本頁) 爲讓本發明之上述目的、特徵、和優點能更明顯易 懂,下文特舉一較佳實施例,並配合所附圖式,作詳細說 明如下: 圖式之簡單說明: 第1圖繪示本發明之第一實施例之封包處理裝置之 示範架構之方塊圖。 第2圖繪示第1圖之封包處理裝置中之摘要產生單 元之示範架構之方塊圖。 第3圖繪示被第2圖之摘要產生單元中之表頭資訊 拉出單元之拉出之示範欄位之圖示。 第4圖繪示本發明之第一實施例之封包處理裝置之 另一架構之方塊圖。 第5圖繪示在第1圖中之封包處理裝置中之封包處 理單元之示範架構之方塊圖。 第6圖繪示根據本發明第一實施例之封包處理裝置 之封包處理裝置之另一示範架構之方塊圖。 經濟部智慧財產局員工消費合作社印製 第7圖繪示本發明之第一實施例之封包處理裝置之 另一架構之方塊圖。 第8圖繪示本發明之第一實施例之封包處理裝置之 另一架構之方塊圖。 第9圖繪示本發明之第二實施例之封包處理裝置之 示範架構之方塊圖。 第10圖繪示第9圖之封包處理裝置中之微指令順序 7 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 502516 A7 B7 6714pif . doc/008 五、發明說明(t) 表之示範架構圖。 第11圖顯示根據本發明第二實施例之封包處理裝置 之另一架構方塊圖。 第12圖顯示第11圖之封包處理裝置中之微指令順序 表之示範架構圖。 第13圖顯示第11圖之封包處理裝置中之微指令順序 表之示範架構圖。 標號說明: 101 :摘要產生單元 102 :封包處理單元 103 :封包傳送單元 120 :摘要資訊轉換單元 121 :記憶體管理單元 122 :封包記憶體 123 :第一佇列 124 :第二佇列 125 :第三佇列 201 :表頭資訊拉出單元 202 :模式匹配單元 301 :通訊協定型態欄位 302 :版別欄位 303 :通訊協定欄位 304 : SYN 旗標 305 : FIN 旗標 8 本紙張尺度適南中國國家標準(CNS)A4規格(210 X 297公釐) I-------------------訂--------·線 ml (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 502516 6714pif.doc/008 _B7_ 五、發明說明(L ) 401 :程式記憶體 402 :處理器 403 :封包緩衝器 (請先閲讀背面之注意事項再填寫本頁) 404 :輸入/輸出;t阜 4011 : UDP處理路徑 4012 : TCP SYN/FIN 處理路徑 4013 : ICMP處理路徑 4014 : —般封包處理路徑 501 :系統匯流排 502 :主記憶體 503 :輸入/輸出捧 504 :記憶體存取控制單元 505 :快取 506 :管線 507 :暫存器 508 :摘要產生單元 509 :封包處理指令順序產生單元 510 :微指令順序表 經濟部智慧財產局員工消費合作社印製 511 :指令順序佇列 520 :指令處理單元 531 :巨指令順序表 532 :微指令順序表 505-1 :指令快取 505_2 ··資料快取 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 502516 A7 B7 ;714pif.doc/008 五、發明說明(1 ) 506-1 ··拿取 5 0 6 - 2 :解碼 506-3 :執行 506-4 :記憶體存取 506-5 :寫回 齩佳實施例 請參照第1圖〜第8圖,將詳細描敘本發明之封包處 理裝置與封包處理方法之第一實施例。 第1圖顯示根據本發明第一實施例之封包處理裝置 (或訊息處理裝置)之架構圖。 如第1圖所示,第一實施例之封包處理裝置包括: 摘要產生單元101、封包處理單元102與封包傳送單元 103 ° 摘要產生單元101指向所進入封包之表頭部份,從 此表頭部份取出指定之複數位元序(bit sequence),並藉由 對所取出之複數位元序應用模式匹配、邏輯計算等以進行 產生此封包之摘要(digest)資訊之處理。在此,“位元序“代 表由通訊協定所定義之在封包表頭內部之欄位之一部份或 全部。 如上述般,摘要資訊係指,參考在各封包之表頭部 份中之既定位置之封包型態之資訊,且特別是,比如可爲 底下四種型樣之任一種: (1) 乙太訊框(frame)之Ipv4封包,UDP ; (2) 乙太訊框(frame)之 Ipv4 封包,TCP SYN/FIN 訊 10 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 丨丨丨丨丨丨訂!丨線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 502516 6714pif.doc/008 ^ _____B7 _ 五、發明說明(% ) 息, (3) 乙太訊框(frame)之IpV4封包,ICMP訊息;以 及 (4) 其他。 要注意,當此摘要資訊係給定四種型態時,其爲2 位元資料。 當然,在摘要產生單元101所產生之摘要資訊除了 上述之外,有可能考慮各種其他詳細架構。比如,架構也 可能根據所接收之乙太訊框或IP封包之分類,如廣播, 群播或單播,或預料所接收IP封包之搬動通訊協定分類, 如UDP或TCP。然而,爲簡化原故,在底下例子,摘要 資訊係給定成上述四種型態。 同樣要注意,摘要資訊也可能包括從封包之目的位 址所產生之資訊,爲了選路微表之最佳搜尋方法或指示封 包之優先權順序之資訊以提供QoS(服務品質),除了實施 例所說之指示封包型態之資訊外。底下將更詳細描敘關於 摘要資訊之各種變化。 同樣,在底下,上述之摘要資訊之四種型態係比如 分別由“00 “、“01 “ “10 “ “11 “所代表。 現在,當摘要資訊產生時,摘要產生單元101將此 摘要資訊連同相關封包轉移至封包處理單元102。 封包處理單元102藉由使用連同封包一起提供之摘 要資訊來處理並輸出此封包。 比如,當摘要資訊是“時,此封包係由啓動預 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐) —------—丨裝·------1 訂----——線 (請先閱讀背面之注意事項再填寫本頁) 502516 A7 B7 6714pif.doc/008 五、發明說明(q ) (請先閱讀背面之注意事項再填寫本頁) 先提供之UDP處理路徑(或由在此點產生與啓動UDP處理 路徑)所處理。在摘要資訊是“01 “或“10 “時之例子也 是類似處理。當摘要資訊是“11 “時,封包分類是“其他 “,使得此封包係由啓動一般封包處理路徑而處理,如傳 統做法對此分類之封包型態。 同樣,在上述處理中(從上述處理被啓動之處理中), 封包處理單元102之處理係實現並輸出包括指定此封包要 被輸出之輸出端(輸出介面)之資訊與指定傳送此封包之優 先位階之資訊之轉移控制資訊。此封包與所附加之轉移控 制資訊係接著進入至封包傳送單元103。 封包傳送單元103藉由根據附加至此封包之轉移控 制資訊以選擇特殊輸出端來進行處理以輸出所接收之封 包。 第2圖顯示摘要產生單元101之架構。 此摘要產生單元101包括將所接收封包之表頭部份 中之上述部份拉出之表頭資訊拉出單元201 ;以及藉由判 別表頭資訊拉出單元201所拉出之資訊是否爲既定位元模 式而產生封包之模式匹配單元202。 經濟部智慧財產局員工消費合作社印製 在此實施例所用之具體例中,表頭資訊拉出單元201 拉出如第3圖所示部份,也就是下列部份: *在乙太表頭中之通訊協定型態欄位(301); *在IP表頭中之版別欄位(302); *在IP表頭中之通訊協定欄位(303); *在TCP表頭中之SYN旗標(304);以及 12 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 502516 ΚΙ Β7 6714pif.doc/008 五、發明說明(β) *在TCP表頭中之FIN旗標(305); <請先閱讀背面之注意事項再填寫本頁) 模式匹配單元202藉由檢查這些所拉出欄位之値來 判斷要從上述四種型態輸出之摘要資訊之型態。 如果,如果在乙太表頭中之通訊協定型態欄位具有 “0800 “之値,在IP表頭中之版本欄位具“4 “之値,在 IP表頭中之通訊協定欄位具“6 “之値;以及在TCP表頭 中之SYN旗標或FIN旗標具“ON “之値,則判斷爲TCP SYN/FIN 訊息。 要注意,在第2圖之架構中,係在模式匹配單元202 進行模式匹配以獲得摘要資訊,但另一方面,也可能藉由 使用從表頭資訊拉出單元201所得之位元模式當成輸出來 進行邏輯計算以輸出摘要資訊而獲得摘要資訊。 另注意,在摘要產生單元101中,要拉出之複數位 元順序以及在使用模式匹配之例中所用之位元匹配或使用 邏輯計算之例中所用之邏輯計算內容較好從外部能改變 的。如此一來,藉由改變摘要資訊之詳細架構,便能使得 通訊協定能適當改變,並根據此封包處理裝置所用之環境 中之封包型態之混合率來最佳化摘要資訊。 經濟部智慧財產局員工消費合作社印製 同樣地,如第4圖所示,摘要產生單元ιοί有可能 從輸入封包所拉出之既定資訊(或處理此種既定資訊所得 之資訊),連同摘要資訊來當成額外資訊(參數)來輸入至封 包處理單元102。藉由使用所接收之參數,封包處理單元 102可實現快速處理。 第5圖顯不封包處理單元1〇2之架構。 13 本紙張尺度適用f國國家標準(CNS)A4規格(2ig X 297公釐) —- 經濟部智慧財產局員工消費合作社印製 502516 6 714 p i f . doc /0 0 8 _B7 _ 五、發明說明((I ) 封包處理單元102具有程式記憶體40卜處理器402、 封包緩衝器403與輸入/輸出埠404。 程式記憶體401儲存相關於摘要資訊之不同型態之 處理路徑。 在此實施例所用之具體例子中,程式記憶體401可 儲存: (1) UDP 處理路徑(4011); (2) TCP SYN/FIN 處理路徑(4012); (3) ICMP處理路徑(4013);以及 (4) 一般封包處理路徑(4014)。 其相關於 (1) 乙太訊框之IPv4封包,UDP ; (2) 乙太訊框之IPv4封包,TCP SYN/FIN訊息; (3) 乙太訊框之IPv4封包,ICMP訊息;以及 (4) 其他。 從摘要產生單元101所接收來之封包係寫入至封包 緩衝器403。所得之摘要資訊連同此封包係輸入至處理器 402當成中斷信號。處理器402根據此摘要資訊啓動相關 處理路徑,處理此封包,並透過輸入/輸出埠404將此封 包連同移轉控制資訊輸出至封包傳送單元1〇3。 要注意,也可能從可產生之可執行處理程序來提供(非 執行)程式,並在接收此摘要資訊時從相關程式產生可執 行之處理程序,而非預先提供可執行處理程序。比如,此 實施可藉由根據第4圖所示之額外資訊將所產生之位元資 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------------------訂---------線· <請先閱讀背面之注意事項再填寫本頁) 502516 6714pif.doc/008 ___B7__ 五、發明說明((, 訊嵌入至可從其產生可執行處理程序之程式之既定部份, 其係當成二進位資料。 (請先閱讀背面之注意事項再填寫本頁) 在此,各封包之屬性係預先由摘要產生單元101分 辨,且根據這些屬性,處理程序係被啓動,使得,比如, 比起對所有封包執行一般封包處理程序,能減少在處理程 序中之支線數量。因此,能減少在處理器內部對管線之干 擾,並根據這劇屬性,提供處理程序之最佳化,使得能改 善封包處理裝置之流量。 在底下,將更詳細描敘架構之各種變化。 首先,將描敘獨立地執行摘要產生單元101與封包 處理單元102之例子。 如上所述,分別封包型態之傳統處理封包方式之問 題在於,其牽涉到許多支線,且費時。爲此,在此實施例 中,相關於型態分類之支線係由摘要產生單元101所產生, 且從封包之目的獲得輸出路徑之處理或類似處理係在封包 處理單元102內進行。 經濟部智慧財產局員工消費合作社印製 較好係獨立地操作摘要產生單元101與封包處理單 元102。爲此,比如,需要透過封包佇列來連接此兩電路。 在以LSI實施之例子中,好採用需要較少記憶體與較少記 憶體存取次數之架構。爲此,如第6圖所示之架構可當成 如第1圖中架構之變化。 在第6圖之架構中,從外部接收之封包係在記憶體 管理單元121之控制下而儲存於封包記憶體122中。接著, 儲存此封包之記憶體位址與代表輸入介面狀態之資訊係當 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 502516 A7 B7 6714pi f . doc/0 0 8 五、發明說明(ο) 成單一入口插入至第一丨宁列123。 摘要產生單元101從第一佇列123處取出包括待處 理封包之儲存之記憶體位址之入口,經由記憶體管理單元 121來存取封包記憶體122以獲得必要資訊,並進行摘要 產生。 所產生之摘要資訊係連同此封包之記憶體位址與輸 入介面狀態資訊而當成單一入口插入至第二佇列124。 封包處理單元102從第二佇列124取出包含待處理 封包之入口,並根據此摘要資訊以進行處理。在此點,在 封包記憶體122進行之封包處理係根據需要。之後,儲存 要處理此封包之位址以及代表輸出介面之資訊係轉移至封 包傳送單元103。封包傳送單元103根據這些資訊將所指 定封包轉移至所指定之輸出端。 藉此架構,摘要產生單元101與封包處理單元102 能相對於互相不同封包進行各別處理,使得能實現管線平 行操作,而減少所需記憶體數量。同樣,即使當摘要產生 單元101與封包處理單元102之處理次數係對不同封包而 不同,能夠藉由固定第二佇列124之足夠長度來吸收處理 時間劇跳。 其次,將描敘第7圖之架構與其操作來當成上述架 構之另一變化。 在第7圖之架構中,封包係連同指定輸入介面狀態 之資訊而從外部進入摘要產生單元101。摘要產生單元101 立刻進行摘要產生,並將所產生之摘要資訊連同此封包與 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ---------- - 1!!訂-------線 {請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 502516 A7 B7 6714pif.doc/008 五、發明說明(卟) 輸入介面狀態資訊當成單一入口插入至第三佇列125。 封包處理單元102取出進入至第三佇列125中之封 包,根據所附加摘要資訊處理封包,並連同指定此封包應 輸出之輸出端之資訊與此封包輸出至封包傳送單元1〇3。 封包傳送單元103根據這些資訊將此封包轉移至所指定之 輸出端。 在此例中,摘要產生單元101無需參考封包記憶體122 便能產生摘要,且此優點在於,可減少摘要產生單元1〇1 與封包處理單元102對封包記憶體122之存取衝突。也可 能合倂輸入介面之部份功能至摘要產生單元101。此例包 括:在鏈結層與CRC計算處理訊框同步所代表之位元流。 其次,將描敘第5圖中之封包處理單元102之詳細 動作來解釋封包到達時間之中斷實現。有實現中斷處理之 例中,具有包括如何禁止中斷允許之技術話題。 在此例中,處理器402具有兩組暫存器以儲存摘要 資訊。其中一個暫存器係用以儲存相關於現在處理封包之 摘要資訊,另一個係用以儲存相關於在待處理狀態中之封 包之摘要資訊。前者係當成處理暫存器,而後者係當成待 處理暫存器。 當摘要資訊到達處理器402時,此摘要資訊係先儲 存於待處理暫存器中。當摘要資訊達待處理暫存器時,中 斷次數係從此摘要資訊產生,且欲中斷處理器402。 當處理器402允許中斷時,控制係轉移至爲中斷處 理程序之封包處理程式。同時’摘要資訊係轉移至處理暫 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝-------訂---------線* 經濟部智慧財產局員工消費合作社印製 502516 A7 B7 6714pif.d〇c/008 五、發明說明(γ) 存器。如果在封包處理單元102與摘要產生單元ιοί間有 佇列時’加入此佇列中之摘要資訊係往前移,而最前面之 摘要資訊係轉移至待處理暫存器。 當執行封包處理程式時,處理器402係處於中斷失 能狀態。藉由在完成封包處理時執行中斷致能指令,可開 始下一摘要資訊之處九。 摘要資訊產生與封包處理程序架構係描敘於上以根 據應用至封包之處理差異性之分類例,但也可以用根據處 理中之差異性之分類。 底下將描敘摘要資訊之各種變化。 比如,即使在進行相同處理,可存在實現此處理之 各種方式。在封包處理單元102中,係經常使用以封包之 表頭之特殊欄位當成關鍵字來對資料庫(未顯示)進行搜 索。假設資料庫搜索可各種演算法’且搜索之計算或延遲 之次數係根據關鍵字之型態與此關鍵字在資料庫上分佈而 不同使用網路位址當成關鍵字來決定輸出端(輸出介面)係 經常用於資料庫搜索中。 假設有四種搜索演算法,且此搜索關鍵字係由32位 元欄位所給定。更假設此32位元空間係分割成128個等 份,且各符份可決定平均之最有效搜索演算法。此操作係 根據資料庫之特性而決定,且可從封包處理之即時處理而 亦線分別進行。因此,可決定32位元之上7位元與用以 指定搜索演算法之2位元辨識欄位。也可能使得摘要資訊 包括辨識欄位以指定搜索演算法’且摘要產生單元101從 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ----------------!丨_丨|訂--------------線· (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 502516 A7 B7 67l4pif.doc/008 五、發明說明((() 上述之32位兀網路位址之上7位元產生指定搜索演算法 之資訊。如此摘要資訊可由半導體記憶體或某些邏輯計算 之查表來產生。 也要注意,用於摘要產生中之複數個位元順序係在 摘要產生單元101從封包之表頭拉出,且此位元順序係經 常也需要在封包處理單元102再次被拉出。位元順序拉出 係通常相關於移位計算或罩計算,且一旦這些操作係完成 於摘要產生單元101中,便無需在封包處理單元102中再 次進行這些操作。所拉茨之資訊可直接當成封包處理單元 102之摘要資訊之一部份,以省略不必要重複。如此一來, 封包處理單元102之處理負載可減少,且對封包緩衝器之 讀取需求可減少使得流量能改善。 其次,將描敘從摘要產生單元101給予參數連同摘 要資訊至封包處理單元102之例子。 在摘要產生單元101中,爲摘要資訊之緣故,既定 之一個或複數個位元順序係各自從複數位元順序之拉出中 拉出,以及(1)該既定一個或複數個位元順序;(2)該既定 一個或複數個位元順序加上爲摘要資訊緣故而拉出之此複 數位元順序之整體之一部份;(3)上述(1)處理所獲得之資 料;(4)上述(2)處理所獲得之資料;(5)爲摘要資訊緣故而 拉出之此複數位元順序之整體之一部份;或(6)上述(5)處 理所獲得之資料之當中之任一個可當成輸入至封包處理單 元102之參數。要注意,也可能使用整個封包表頭當成額 外資訊。 19 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱1""一 " -------1---"^11 裝-----11 訂-----——線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 502516 A7 B7 6714pif.doc/008 五、發明說明(0) 在產生摘要資訊之處理中所產生之參數可有效地運 用資封包處理單元102(雖然此參數較好以不造成任何側邊 效應之方式使用)。 比如,考慮使用某一欄位之値當成關鍵字來搜索資 料庫(未示出)係進行於封包處理單元102中,且使用相同 欄位之一部份或整體之雜湊計算係在產生摘要資訊之時進 行。在此例中,可能藉由根據此雜湊計算而分類而分割此 資料庫關鍵字成較小資料庫之直接產品而減少搜索目標之 總關鍵字數量,使得能在搜索演算法需要正比於關鍵字之 總數量之計算之例中,實現較快處理。 也可能考慮封包處理單元102具如下之架構。 在封包處理單元102中,經常使用資料係經常暫存 於快速快取記億體中,以實現快速資料庫搜索。在此例中, 當在快取上之資料與相對於真正到達之封包之搜索操作中 所需資料間之相關性較高時,快取命中率變得較高,且對 快速實現之貢獻變屬較大。 對於增加在快取上之具高度相關資料之機率之方 法,係經常使用稱爲預取操作之方法。此操作係,藉由預 先讀取最近有較高機率之資料,從主記憶至快取之讀取係 推測地達成。只要當沒有因讀取這些資料之側邊效應時才 能完成,且無關於是否讀至快取內之資料將會真正使用與 否。 爲使此預取操作變得有效,從使用預取之時間係足 夠長於因爲從主記憶至快取所造成之延遲。也就是,需要 20 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -—---------------—訂---------線 Imp (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 502516 A7 B7 6714pif . doc/008 五、發明說明(d ) 足夠預先進行預取操作。 (請先閱讀背面之注意事項再填寫本頁) 然而,係難於實現足夠長延遲時間以使得預取操作 有效,如果預取之進行係藉由拉出封包之欄位與獲得資料 庫之位址,只在封包已到達後,根據這些資料。 以此來看,係可能採用摘要產生方法,其中要在摘 要產生單元101拉出之位元順序係包括要用於資料庫搜索 之關鍵字部份之位元順序,以及資料庫搜索之記憶體存取 之位址可當摘要產生之中間結果。更特別是,可能採用之 方法中,雜湊表係當成資料庫搜索演算法,且摘要資訊之 產生係藉由使用如上述雜湊表上所用之此相同雜湊功能。 在此例中,對雜湊表存取之位址已計算成相關於摘 要產生之計算之中間結果,使得這些位址係可當成附加至 要輸入至封包處理單元102之摘要資訊之參數。在封包處 理單元102中,只要啓動封包處理程序,預取操作係使用 所接收參數値當成資料庫位址而進行。如此一來,可在封 包處理之最早可能階段進行預取操作,使得能進行隱藏延 遲之較大效應。 經濟部智慧財產局員工消費合作社印製 另外,也可能在,摘要資訊係爲封包處理單元102 所認知時,考慮所接收參數値當成資料庫搜索之記憶體位 址,以預測地執行資料庫搜索。在此例中,直到啓動封包 處理程式之時間也可隱藏在預取中之延遲,使得可能預期 預取之更大效應。 對摘要資訊之另一'變化,可能包括包括封包之優先 控制資訊於摘要資訊中,如下所述。 21 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 502516 A7 B7 6714pif.doc/008 五、發明說明((1 ) 首先,將考慮封包之優先控制資訊與用以指定封包 之高位階通訊協定之通訊協定辨識器之合倂。在此’封包 處理方法將根據指定之方式而大有不同。藉由已描敘之單 一程式是無法實現這兩者。 在此,如果優先權控制資訊係8位元,且高位階通 訊協定規格是8位元,直接合倂將會是16位元。也可能 提供各別之最佳程式。 也可能共同地處理相似型態整處理。比如,利用單 一程式來處理所有需要相同處理之通訊協定’能實現比起 直接合倂來,具相當少程式之處理。 比如,此8位元優先權控制資訊係根據相似類型處 理之分類而轉換成3位元辨識者,此8位元通訊協定係根 據相似類型處理之分類而轉換成2位元辨識者。所獲得之 此3位元辨識者與2位元辨識者係轉換成5位元辨識者, 或藉由應用某些邏輯計算(可爲簡單連續)而如此。此接著 當成摘要資訊。封包處理單元102根據此摘要資訊而啓動 待啓動之封包處理程序。在此例中,封包處理程序之32 型態之一可被選擇。各封包處理程序包括相關於由3位元 辨識者所指定之優先權控制資訊之處理。 現在,要當成摘要資訊之位元數目係有限的。比如, 不可能產生超過封包處理程序(第5圖之4011至4014)之 容量之分類後型態。也會因摘要產生單元101與封包處理 單元102間之通訊路徑之位元寬度而有限制。另一方面, 更多分類後封包型態會暗示可產生更詳細之封包型態判 22 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ------------------訂—_---I--線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 502516 A7 6714pif.doc/008 五、發明說明(#) 斷’使得封包處理路徑可更特殊,且改善封包處理單元1〇2 之處理性能。 因此,較好設定摘要產生單元101要產生之摘要資 訊之位元長度係盡可能長,但另一方面,較好設定同樣由 封包處理單元102所處理之摘要資訊之數量係盡可小。在 底下’將描敘能滿足這兩個需求之方法。 在摘要產生單元101,給定大量位元之資訊係產生當 成虛擬摘要資訊。封包處理程序係相關於此虛擬摘要資訊 而提供。 如第8圖所示,在連接於摘要產生單元1〇1與封包 處理單元102間之介面,係提供能將虛擬摘要資訊轉換成 能真正告知封包處理單元102之具許多位元之實體摘要資 訊之摘要資訊轉換單元12〇。要送至封包處理單元1〇2之 摘要資訊可利用此摘要資訊轉換單元12〇將虛擬摘要資訊 轉換成實體摘要資訊而產生。 當虛擬摘要資訊與實體摘要資訊間之相關性係由摘 要麵轉換單元m之控麵數所決定時,此相關性係由 轉換表寫入函數而反射至在摘要資訊轉換單元12〇內部之 轉換表,且相關於虛擬摘要資訊之分類型態之封包處理程 序係儲存於封包處理單元1〇2之程式記憶體中,當成相關 於實體摘要資訊之封包處理程序。 虛擬摘要資訊具有之位元長度係長於實體摘要眘 訊,使得某些虛擬摘要資訊無法配置至任一特殊實體摘要 資訊。代表“其他“之實體摘要資訊係配置至這些虛擬摘 !!! ^^^ ! t !丨 1· (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 23 本紙張尺度_+關家標準(CNS)A4祕(21〇 x 297 502516 A7 B7 6714pif.doc/008 五、發明說明(> I) 要資訊,且用以處理不預設任何封包型態分類之一般處理 程序係配置成相關於代表“其他“之實體摘要資訊之封包 處理程序,並儲存於程式記憶體中。 一般處理程序之處理性能係比不上特殊化處理程序 之處理程序,使得較好是壓抑要啓動一般處理程序之頻率 到最小。爲此’轉換表控制函數必需找出虛擬摘要資訊與 實體摘要資訊間之相關性,使得在封包處理裝擒所處之環 境下,選擇“其他“之頻率盡可能低,且反殃此種相關性 至轉換表。 對於更有效率產生轉換表,也可能使用下列架構。 在將虛擬摘要資訊轉換至實體摘要資訊之轉換表 中’計數接收到輸入虛擬摘要資訊之計數之計數器係可提 供於各虛擬摘要資訊。 轉換表控制函數可獲得根據各別計數値而獲得各虛 擬摘要資訊之發生頻率,並配置實體摘要資訊至具有較高 發生頻率之虛擬摘要資訊。 更特別是,較好採用底下過程。 在初始狀態,代表“其他“之實體摘要資訊係配置 至所有虛擬摘要資訊。在操作封包處理裝置到虛擬摘要資 訊之發生頻率有大量出現時,虛擬摘要資訊與實體摘要資 訊間之相關性係決定,至反映至轉換表。之後,持續測量 發生頻率,且當判斷較早獲得之相關性之顯著差異係可識 別時’轉換表與封包處理程序係由反映新相關性之轉換表 與封包處理程序所取代。 24 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------I----1-----—訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 502516 A7 B7 6714pif.d〇c/〇〇8 五、發明說明(7V) 現在參考第9圖至第13圖’將詳細描敘本發明之第 二實施例之封包處理裝置與封包處理方法。 第9圖顯示根據本發明之第二實施例之封包處理裝 置之架構。 如第9圖所示,第二實施例之封包處理裝置包括系 統匯流排501,主記憶體502,輸入/輸出璋503,記憶體 存取控制單元504,快取505,管線506,暫存器507,摘 要產生單元508,封包處理指令順序產生單元509,微指 令順序表510與指令順序佇列511。 在此,記憶體存取控制單元504,管線506與暫存器 507構成指令處理單元520以中斷並執行包括於主記億體 502中之指令順序,並提供由這些指令順序所換定之處理 至資料。 在此要注意,快取505係分割成快取換令順序之一 部份之指令快取505-1以及要應用處理之部份資料之資料 快取505-2。 同樣,也可有許多可能管線506之架構以執行指令, 但係假設成習知之管線具有5個階段,拿取506-1,解碼 506-2,執行506-3,記憶體存取506-4與寫回506-5。 儲存指小資訊處理過程之指令順序與待處理摘要資 訊之主記憶體502,相對於外部與輸入/輸出之硬體之輸入 /輸出埠503,摘要產生單元508,封包處理指令順序產生 單元509與指令處理單元52〇係由系統匯流排501所連接。 第二實施例之基本架構與操作係相似於第一實施例 25 本紙張尺度適用中國國家標準(CNS)A4規格(210 χ 297公釐) --------— — — --------訂·------I ·線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員Η消費合作社印製 502516 A7 B7 6714pif.doc/008 五、發明說明(71?) (變化之描敘也相等應用)使得底下將主要描敘第9圖之架 構之特徵。 摘要產生單元508係相似於第易實施例,其接收外 部進入之封包之表頭部份,並產生摘要資訊。其他產生額 外資訊(參數),如第一實施例般。 封包處理指令順序產生單元509之功能係,接收從 摘要產生單元508傳來之摘要資訊,爲根據底下過程而處 理此封包而產生指令順序,並輸出至指令順序佇列511。 在此要產生之指令順序將參考微指令順序表510之內容而 產生。 外部接收封包係經由輸入/輸出璋503與系統匯流排 501而儲存於主記憶體502之既定區。 之後,既定區(複數位元順序),比如資料鏈結層之表 頭,網路層之表頭,以及運輸層之表頭,係被拉出,並輸 入至摘要產生單元508。此處理係由儲存於主記憶體502 中之指令順序所執行。之鄕,這些既定區將爲解釋緣故, 當成處理控制資訊。同構,此封包控制資訊可包括指示封 包儲存於主記憶體502之位置之資訊。 一旦從輸入/輸出埠503接收處理控制資訊,摘要產 生單元508從此資訊產生摘要資訊。 一旦從摘要產生單元508接收摘要資訊,封包處理 指令順序產生單元509產生指令順序。 在此,微指令順序表510保留可執行指令順序(微指 令之順序)以根據各別封包型態而實現處理,如第10圖所 26 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) — — — — — — — — 薩! I! β·! ^111 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 502516 6714pif.d〇c/008 ___B7 _____ 五、發明說明()4 ) 示。封包處理指令順序產生單元509根據從微指令順序表 510所產生之摘要資訊而讀取出指令順序,並將之儲存至 指令順序佇列511。 另一方面,指令處理單元520根據內建之程式計數 器(未顯示)從主記憶體502讀取出指令順序至指令快取 505- 1,並使用管線506依序執行此指令順序。 在此點,管線506之各階段扮演下列角色。 拿取506-1從指令快取505-1取得指令。 解碼506-2解碼此指令,並決定對一管線以及暫存器 507之操作內容。 執行506-3根據解碼506-2之指令而對從507獲得之 資料進行處理。 記憶體存取506-4經由資料快取505-2寫入從執行 506- 3獲得之資料,或將之給予下一階段。 寫回506-5將記憶體存取506-4所給之資料回寫至暫 存器507。 在此封包處理裝置中,待處理之指令順序不僅於主 記憶體502上,也在指令順序佇列511上,使得拿取506-1交替地從主記憶體502與指令順序佇列511上取指令, 當如指令順序佇列511並非空之既定情況持續時,將所取 之指令給予下一階段。如此,由封包處理指令順序產生單 元509所產生之指令順序將可執行,因而對於所進入之封 包可進行所需處理。 依如此交替式執行複數個獨立指令順序(也就是從主 27 t紙張尺度適用中國i家標準(CNS)A4規格(210 X 297公釐) ' " ----丨丨! i —丨—丨II訂·! ·線 (請先閱讀背面之注意事項再填寫本頁) ii· 02 五 6 7 14 p i f . doc /0 0 8 ^__B7___ 發明說明) 記憶體502獲得之指令順序與從指令順序佇列511獲得之 指令順序),暫存器可獨佔式配置至各指令順序。如此一 來,可避免因暫存機會而導致之管線506之停止。 在第二實施例中,相關於摘要資訊之各處理程序之 指令順序係包括於微指令順序表51〇中’但此微指令順序 表510可由可複寫記憶體媒體所形成’使得此表可由根據 需要而由複寫處理程新而重新架構。如此一來,便能適當 地處理通訊協定規格之詳細部份之改變。在此例中,也可 能採用之架構中,微指令順序表510係連接至系統匯流排 501使得微指令順序表510可由執行在主記憶體502上之 指令順序而複寫。 同樣,在第二實施例中,爲了由封包處理指令順序 產生單元509與根據指令處理單元520之程式計數器(未 顯示)而從主記憶體502讀取出之指令順序所產生之通訊 協定處理之目的之指令順序可輕易地共享主記憶體502(之 資料儲存區)。爲此,比如,也可能輕易實現藉由在主記 憶體502上之指令順序所執行之作業系統之應用而由封包 處理指令順序產生單元509之指令順序所執行之通訊協定 處理操作之監視控制。 現在,摘要資訊可包括不只選擇封包處理程序之資 訊,以及關於封包本身之資訊。在此例中,封包處理指令 順序產生單元509可藉由使用摘要資訊而非只是從指令表 將指令進入至管線,來產生有效指令順序。現將描敘此例 中之架構。 28 ------------.—I—^------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 502516 A7 B7 6714pif.doc/008 五、發明說明(乂) 第11圖顯示乙例之封包處理裝置之架構。在底下, 主要描敘與第9圖之差異性。 相對於封包要進行之處理程序包括許多共同操作。 比如,在封包表頭處理中之從表頭讀取出位元順序並重寫 其之操作,以及在多重記憶體非直接定址或鏈結列交叉中 之雜湊與關鍵字匹配之操作,相對於路徑表之存取之內容 可定位記憶體存取,係經常使用於封包處理中之基本操 作。這些操作可由微指令順序實現,且可定將此微指令順 序編碼成單一指令之巨指令。接著,封包處理程序係當成 巨指令順序儲存於第11圖之巨指令順序表531中,其形 式如第12圖所示,而各巨指令之微指令順序儲存於第11 圖之微指令順序表532中,其形式如第13圖所示。 在從摘要產生單元508接收摘要資訊之後,封包處 理指令順序產生單元509從巨指令順序表531讀取出相關 於摘要資訊之巨指令順序,從微指令順序表532讀取出相 關於該巨指令順序之各巨指令之微指令順序之巨指令順 序,並將之寫入至指令順序佇列511。 封包處理之進行係由執行指令處理單元520中之管 線5 0 6中之微指令順序。 在封包處理指令順序產生單元509之產生微指令順 序中,除了將從微指令順序表532中讀取出之微指令直接 寫入至指令順序佇列511,也可能在寫入至指令順序佇列 511之前,應用下列轉換於微換令上,使得較短,較有效 率之微指令可執行於指令處理單元520。亦即,當微指令 29 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) — III — — — — — — — ·1111111 « — — — — — I — I (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 502516 A7 B7 6714pif.d〇c/〇〇8 五、發明說明d ) 具有參考摘要資訊之運算時,摘要資訊可立刻嵌入至微指 令。 比如,當一個摘要資訊D係位於快取505之位址A 時,相對於另一資料B之加法計算可由下列指令順序所給 定。
Load R,mem[A]//從記憶體載出,從位址A載入至暫
存器R
Add R,R,B//將R與B相加,並存入暫存器R 在此,藉由逼近轉換摘要資訊使得記憶體存取變成 暫存器取代,其可能產生下列指令順序。
Move R,D//移動D値至暫存器R Add R,R,B//將R與B相加,並存入暫存器R 如另一例,當可能指定在指令之暫存器數字部份中 之逼近指定摘要資訊之嵌入之數字時,並非暫存器數字, 上述指令順序可如下表示。
Add R,digest-value B//將摘要値與B相加,並存入暫 存器R 在此例中,封包處理指令順序產生單元509可藉由 利用此指令順序之摘要資訊部份來取代摘要資訊之實際値 而轉換此指令順序,如下。
Add R,D,B//將D與B相加,並存入暫存器R 要注意,在第一與第二實施例中,封包型態係根據 所接收封包之表頭部份而先分類,且接著,根據所分類型 態而產生封包處理之指令順序,使得包括於通訊協定處理 30 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------------------訂--------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 502516 A7 B7 67l4pif.doc/008 五、發明說明(d) 之換令順序中之狀況分線可被減少。有習知技術中’當藉 由依序讀取表頭部份之欄位而分類封包型態來進行必要處 理時,許多狀況分線係有關於通訊協定處理之指令順序 中,使得許多管線擾亂係發生,其爲在習知技術中實現快 速通訊協定處理之主要障礙。考慮到此,在本發明中,其 可能藉由具較少數之狀況分線之指令順序而執行通訊協定 處理,使得管線擾亂可壓到最低,且其可能實現能具有管 線性能之全部優點之通訊協定處理。 如所述般,根據本發明,係從輸入封包產生能指定 要應用至此輸入封包之處理之至少一部份之一個摘要資 訊,且此輸入封包係利用根據所產生之摘要資訊所獲得之 要應用至此輸入封包之指令順序而處理,使其可能實現快 速封包處理,且其可能適當地處理通訊協定改變。此外, 藉由根據網路環境,如封包型態,而適當地改變摘要資訊, 其也可能有效地實現通訊協定處理。 綜上所述,雖然本發明已以一較佳實施例揭露如上, 然其並非用以限定本發明,任何熟習此技藝者,在不脫離 本發明之精神和範圍內,當可作各種之更動與潤飾,因此 本發明之保護範圍當視後附之申請專利範圍所界定者爲 準。 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------—------—訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製
Claims (1)
- 叫516 7〇〇8 098899 ABCD 六 經濟部智慧財產局員工消費合作社印製 申請專利範圍 1· 一種封包處理裝置,包括: 一摘要資訊產生單元,架構成從一輸入封包拉出複 數個既定位元順序,並根據該些既定位元順序產生能指定 要應用至該輸入封包之一處理之至少一部份之一摘要資 訊;以及 一封包處理單元,架構成利用要應用至該輸入封包 之一指令順序來處理該輸入封包,該指令順序係根據該摘 要資訊產生單元所產生之該摘要資訊而獲得; 其中,該摘要資訊產生相對於下一輸入封包之該摘 要資訊當該封包處理單元進行一個封包之處理時。 2·如申請專利範圍第1項所述之封包處理裝置,其中該 封包處理單元具有一快取,並根據該摘要資訊產生單元所 產生之該摘要資訊而預取資料至該快取。 3 ·如申請專利fe圍第1項所述之封包處理裝置,其中該 摘要資、訊產生單元具有相關於各摘要資訊之該些既定位元 順序之位元模式,並藉由比較從該輸入封包拉出之該些既 定位元順序之値與各位元模式而產生該摘要資訊。 4·如申請專利範圍第1項所述之封包處理裝置,其中該 摘要資訊產生單元係藉由獲得一既定摘要資訊當成一輸 出’其對相關於該既定摘要資訊之該些既定位元順序之一 位元模式之一輸出之邏輯計算至從該輸入封包拉出之該些 既定位元順序之値而產生摘要資訊。 5·如申請專利範圍第1項所述之封包處理裝置,其中該 封包處理裝置包括: (請先閱讀背面之注意事項再填寫本頁) 訂---------線. 32 502516 A8 滢 6714pif.doc/008 Dg 六、申請專利範圍 一程式記憶體,用以儲存相關於複數個摘要資訊之 複數個處理程序;以及 一處理器,將該摘要資訊產生單元所產生之該摘要 資訊當成一中斷信號,以啓動並執行被該摘要資訊產生單 元所產生之該摘要資訊所指定之儲存於該程式記憶體中之 該些處理程序之一。 6. 如申請專利範圍第1項所述之封包處理裝置,其中該 摘要資訊產生也從該輸入封包拉出該輸入封包之一處理之 參數,並將該參數連同該摘要資訊給予該封包處理單元; 以及 該封包處理單元藉由使用該參數以及根據該摘要資 訊所得之該指令順序而處理該輸入封包。 7. 如申請專利範圍第1項所述之封包處理裝置,其中該 封包處理單元包括: 一指令處理單元,係架構成儲存相關於複數個摘要 資訊之複數個微指令表;以及 一單元,架構成根據該摘要資訊產生單元所產生之 該摘要資訊,從該指令順序表選擇出一微指令順序給予該 指令處理單元。 8 ·如申請專利範圍第7項所述之封包處理裝置,其中該 指令處理單元係係交替式從執行從該指令順序表所選擇出 之一指令順序以及寫入於一主記憶中之指令順序以進行非 ’相對於該輸入封包之處理。 9.如申請專利範圍第1項所述之封包處理裝置,其中該 33 本紙張尺度適用中國國家標準(CNS>A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁} -mmmmm mmmam i mmmmm tern ϋ ISeJ >1 tf 1 1_ Kmmm am/ I · 經濟部智慧財產局員工消費合作社印製 502516 A8 B8 C8 6714pif . doc/ 0 0 8 £)8 六、申請專利範圍 封包處理單元包括: (請先閱讀背面之注意事項再填寫本'I) 一指令處理單元,係架構成進行巨指令順序之一管 線處理;’ 一轉換單元,架構成根據該摘要資訊產生單元所產 生之該摘要資訊,將從該指令順序表選擇出之一巨指令順 序轉換成微指令;以及 一單元,架構成將該轉換單元所獲得之該微指令給 予該指令處理單元。 10. 如申請專利範圍第9項所述之封包處理裝置,其中 該指令處理單元係係交替式從執行從該指令順序表所選擇 出之一指令順序以及寫入於一主記憶中之指令順序以進行 非相對於該輸入封包之處理。 11. 如申請專利範圍第1項所述之封包處理裝置,其中 該摘要資訊產生單元也從該輸入封包拉出參數以處理該輸 入封包,並連同該參數與該摘要資訊給予該封包處理單 元;以及 該封包處理單元包括: 經濟部智慧財產局員工消費合作社印製 一指令處理單元,係架構成進行巨指令順序之一管 線處理; 一指令順序表,係架構成儲存衝關於複數個摘要資 訊之複數個微指令順序; 一轉換單元,架構成當產生該參數時,根據該摘要 ‘資訊產生單元所產生之該摘要資訊,將從該指令順序表選 擇出之一巨指令順序轉換成微指令;以及 34 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 六、申請專利範圍 一單元,架構成將該轉換單元所獲得之該微指令給 予該指令處理單元。 12.如申請專利範圍第11項所述之封包處理裝置,其中 該指令處理單元係係交替式從執行從該指令順序表所選擇 出之一指令順序以及寫入於一主記憶中之指令順序以進行 非相對於該輸入封包之處理。 13· 如申請專利範圍第1項所述之封包處理裝置,其中 該摘要資訊產生單元預先儲存相關於該封包處理單元所連 接之一網路中之該封包型態之混合率之複數摘要資訊,並 當相關於該輸入封包之一封包型態之一摘要資訊係未預先 儲存時,產生指示其他之一特殊摘要資訊;以及 當指示其他之該特殊摘要資訊係從該摘要資訊產生 單兀產生時’在檢查該輸入封包之封包型態時,該封包處 理單元並未預先指定一封包型態而處理該輸入封包。 14·如申請專利範圍第1項所述之封包處理裝置,其中 g亥封包處理單元進行一處理以輸出該輸入封包至該封包處 理裝置所連接之一網路,使得該輸入封包係轉移至所需目 的。 15· 如申請專利範圍第1項所述之封包處理裝置,其中 該摘要資訊產生單元給予包括從該輸入封包之一目的資訊 m產生之額外資訊之該摘要資訊至該封包處理單元;以及 該封包處理單元根據該額外資訊選擇複數個路徑資 '訊表搜索法之一個;以及使用所選擇之路徑資訊表搜索法 來搜索一路徑資訊表以決定該輸入封包之一輸出路徑。 35 本紐尺度適用中國國家標準(CNS)A4規格(21() χ 297公楚) A8B8C8D8 502516 6714pif·doc/008 六、申請專利範圍 16. 一種封包處理方法,包括下列步驟: (a) 從一輸入封包拉出複數既定位元順序,以及根據 該些既定位元順序値產生能指定要應用至該輸入封包之一 處理之一部份之一摘要資訊;以及 (b) 使用根據該步驟(a)所產生之該摘要資訊所得之要 應用至該輸入封包而處理該輸入封包; 其中,當該步驟(b)進行一個封包之處理時,該步驟(a) 產生相對於下一輸入封包之該摘要資訊。 17·如申請專利範圍第16項所述之封包處理方法,其中 根據該步驟(a)產生之該摘要資訊,該步驟(b)藉由選擇預 先提供之複數個指令順序之一個而獲得該指令順序。 18. 如申請專利範圍第16項所述之封包處理方法,其中 根據該步驟(a)產生之該摘要資訊,該步驟(b)藉由產生該 指令順序而獲得該指令順序。 (請先閱讀背面之注意事項再填寫本頁) ,ρ-i-----•訂---------線· 經濟部智慧財產局員工消費合作社印製 36 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26521099A JP3643507B2 (ja) | 1999-09-20 | 1999-09-20 | パケット処理装置及びパケット処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW502516B true TW502516B (en) | 2002-09-11 |
Family
ID=17414066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW89119211A TW502516B (en) | 1999-09-20 | 2000-09-19 | Fast and adaptive packet processing device and method using digest information of input packet |
Country Status (7)
Country | Link |
---|---|
US (3) | US6804240B1 (zh) |
EP (1) | EP1085723B1 (zh) |
JP (1) | JP3643507B2 (zh) |
KR (1) | KR100370937B1 (zh) |
CN (1) | CN1249963C (zh) |
DE (1) | DE60029710T2 (zh) |
TW (1) | TW502516B (zh) |
Families Citing this family (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7075926B2 (en) * | 2000-05-24 | 2006-07-11 | Alcatel Internetworking, Inc. (Pe) | Programmable packet processor with flow resolution logic |
US7747757B2 (en) * | 2000-11-17 | 2010-06-29 | Computer Associates Think, Inc. | Distributed network query |
FR2818066B1 (fr) | 2000-12-12 | 2003-10-10 | Eads Airbus Sa | Procede et dispositif de transmission deterministe de donnees asynchrones mises en paquet |
US8762581B2 (en) * | 2000-12-22 | 2014-06-24 | Avaya Inc. | Multi-thread packet processor |
US7397798B2 (en) * | 2001-05-21 | 2008-07-08 | Xelerated Ab | Method and apparatus for processing blocks in a pipeline |
US20020188732A1 (en) * | 2001-06-06 | 2002-12-12 | Buckman Charles R. | System and method for allocating bandwidth across a network |
US7095715B2 (en) * | 2001-07-02 | 2006-08-22 | 3Com Corporation | System and method for processing network packet flows |
US20030033519A1 (en) * | 2001-08-13 | 2003-02-13 | Tippingpoint Technologies,Inc. | System and method for programming network nodes |
US7190695B2 (en) * | 2001-09-28 | 2007-03-13 | Lucent Technologies Inc. | Flexible application of mapping algorithms within a packet distributor |
US7239639B2 (en) | 2001-12-27 | 2007-07-03 | 3Com Corporation | System and method for dynamically constructing packet classification rules |
US7421515B2 (en) * | 2002-01-17 | 2008-09-02 | Hewlett-Packard Development Company, L.P. | Method and system for communications network |
US20030185220A1 (en) * | 2002-03-27 | 2003-10-02 | Moshe Valenci | Dynamically loading parsing capabilities |
US7590855B2 (en) * | 2002-04-30 | 2009-09-15 | Tippingpoint Technologies, Inc. | Steganographically authenticated packet traffic |
US7336660B2 (en) | 2002-05-31 | 2008-02-26 | Cisco Technology, Inc. | Method and apparatus for processing packets based on information extracted from the packets and context indications such as but not limited to input interface characteristics |
EP1530854B1 (en) * | 2002-08-24 | 2017-09-06 | Cisco Technology, Inc. | Packet processing engine |
US7304999B2 (en) | 2002-08-24 | 2007-12-04 | Cisco Technology Inc. | Methods and apparatus for processing packets including distributing packets across multiple packet processing engines and gathering the processed packets from the processing engines |
US7404015B2 (en) | 2002-08-24 | 2008-07-22 | Cisco Technology, Inc. | Methods and apparatus for processing packets including accessing one or more resources shared among processing engines |
JP3886432B2 (ja) * | 2002-09-17 | 2007-02-28 | 沖電気工業株式会社 | ルーティング処理装置及びパケット種類識別装置 |
US7286483B2 (en) * | 2002-11-14 | 2007-10-23 | Intel Corporation | Electronic data transfer based on selective storage of incoming packets |
US7310337B2 (en) * | 2002-12-31 | 2007-12-18 | Intel Corporation | Packet header alignment |
US7983239B1 (en) | 2003-01-07 | 2011-07-19 | Raytheon Bbn Technologies Corp. | Systems and methods for constructing a virtual model of a multi-hop, multi-access network |
US6981490B2 (en) * | 2003-03-13 | 2006-01-03 | Denso Corporation | Fuel feed apparatus having sub tank and jet pump |
US7747731B2 (en) | 2003-03-27 | 2010-06-29 | Nokia Corporation | Minimizing message processing latency in a communication network |
US20040246902A1 (en) * | 2003-06-02 | 2004-12-09 | Weinstein Joseph J. | Systems and methods for synchronizing multple copies of a database using datablase digest |
US7881229B2 (en) * | 2003-08-08 | 2011-02-01 | Raytheon Bbn Technologies Corp. | Systems and methods for forming an adjacency graph for exchanging network routing data |
US7606927B2 (en) | 2003-08-27 | 2009-10-20 | Bbn Technologies Corp | Systems and methods for forwarding data units in a communications network |
US7668083B1 (en) | 2003-10-28 | 2010-02-23 | Bbn Technologies Corp. | Systems and methods for forwarding data in a communications network |
US7562363B1 (en) | 2003-11-25 | 2009-07-14 | Cisco Technology, Inc. | Gang scheduling among one or more components or systems |
US7903555B2 (en) * | 2003-12-17 | 2011-03-08 | Intel Corporation | Packet tracing |
US7480308B1 (en) | 2004-03-29 | 2009-01-20 | Cisco Technology, Inc. | Distributing packets and packets fragments possibly received out of sequence into an expandable set of queues of particular use in packet resequencing and reassembly |
US7385984B2 (en) * | 2004-03-30 | 2008-06-10 | Extreme Networks, Inc. | Packet processing system architecture and method |
US8161270B1 (en) | 2004-03-30 | 2012-04-17 | Extreme Networks, Inc. | Packet data modification processor |
US7551617B2 (en) | 2005-02-08 | 2009-06-23 | Cisco Technology, Inc. | Multi-threaded packet processing architecture with global packet memory, packet recirculation, and coprocessor |
US7561589B2 (en) | 2005-02-23 | 2009-07-14 | Cisco Technology, Inc | Virtual address storage which may be of particular use in generating fragmented packets |
US7606250B2 (en) | 2005-04-05 | 2009-10-20 | Cisco Technology, Inc. | Assigning resources to items such as processing contexts for processing packets |
US7965708B2 (en) | 2005-06-07 | 2011-06-21 | Cisco Technology, Inc. | Method and apparatus for using meta-packets in a packet processing system |
US8068495B2 (en) * | 2005-09-27 | 2011-11-29 | Intel Corporation | Mechanisms for data rate improvement in a wireless network |
US20070076685A1 (en) * | 2005-09-30 | 2007-04-05 | Pak-Lung Seto | Programmable routing for frame-packet based frame processing |
US7739426B1 (en) | 2005-10-31 | 2010-06-15 | Cisco Technology, Inc. | Descriptor transfer logic |
FI119166B (fi) * | 2005-11-30 | 2008-08-15 | Tellabs Oy | Menetelmä ja laitteisto palvelunlaatuluokasta riippuvan reitityspäätöksen muodostamiseksi |
US8014299B2 (en) * | 2006-05-22 | 2011-09-06 | Alcatel Lucent | Method and apparatus for detecting forwarding loops |
US9094257B2 (en) | 2006-06-30 | 2015-07-28 | Centurylink Intellectual Property Llc | System and method for selecting a content delivery network |
US8194643B2 (en) | 2006-10-19 | 2012-06-05 | Embarq Holdings Company, Llc | System and method for monitoring the connection of an end-user to a remote network |
US8184549B2 (en) | 2006-06-30 | 2012-05-22 | Embarq Holdings Company, LLP | System and method for selecting network egress |
US7948909B2 (en) | 2006-06-30 | 2011-05-24 | Embarq Holdings Company, Llc | System and method for resetting counters counting network performance information at network communications devices on a packet network |
US8717911B2 (en) | 2006-06-30 | 2014-05-06 | Centurylink Intellectual Property Llc | System and method for collecting network performance information |
US8000318B2 (en) | 2006-06-30 | 2011-08-16 | Embarq Holdings Company, Llc | System and method for call routing based on transmission performance of a packet network |
US8289965B2 (en) | 2006-10-19 | 2012-10-16 | Embarq Holdings Company, Llc | System and method for establishing a communications session with an end-user based on the state of a network connection |
US8488447B2 (en) | 2006-06-30 | 2013-07-16 | Centurylink Intellectual Property Llc | System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance |
US8064391B2 (en) | 2006-08-22 | 2011-11-22 | Embarq Holdings Company, Llc | System and method for monitoring and optimizing network performance to a wireless device |
US8274905B2 (en) | 2006-08-22 | 2012-09-25 | Embarq Holdings Company, Llc | System and method for displaying a graph representative of network performance over a time period |
US7843831B2 (en) | 2006-08-22 | 2010-11-30 | Embarq Holdings Company Llc | System and method for routing data on a packet network |
US8407765B2 (en) | 2006-08-22 | 2013-03-26 | Centurylink Intellectual Property Llc | System and method for restricting access to network performance information tables |
US8224255B2 (en) | 2006-08-22 | 2012-07-17 | Embarq Holdings Company, Llc | System and method for managing radio frequency windows |
US8189468B2 (en) | 2006-10-25 | 2012-05-29 | Embarq Holdings, Company, LLC | System and method for regulating messages between networks |
US8228791B2 (en) | 2006-08-22 | 2012-07-24 | Embarq Holdings Company, Llc | System and method for routing communications between packet networks based on intercarrier agreements |
US8238253B2 (en) | 2006-08-22 | 2012-08-07 | Embarq Holdings Company, Llc | System and method for monitoring interlayer devices and optimizing network performance |
US8576722B2 (en) | 2006-08-22 | 2013-11-05 | Centurylink Intellectual Property Llc | System and method for modifying connectivity fault management packets |
US8144587B2 (en) | 2006-08-22 | 2012-03-27 | Embarq Holdings Company, Llc | System and method for load balancing network resources using a connection admission control engine |
US8307065B2 (en) | 2006-08-22 | 2012-11-06 | Centurylink Intellectual Property Llc | System and method for remotely controlling network operators |
US8098579B2 (en) | 2006-08-22 | 2012-01-17 | Embarq Holdings Company, LP | System and method for adjusting the window size of a TCP packet through remote network elements |
US7940735B2 (en) | 2006-08-22 | 2011-05-10 | Embarq Holdings Company, Llc | System and method for selecting an access point |
US8125897B2 (en) | 2006-08-22 | 2012-02-28 | Embarq Holdings Company Lp | System and method for monitoring and optimizing network performance with user datagram protocol network performance information packets |
US7889660B2 (en) | 2006-08-22 | 2011-02-15 | Embarq Holdings Company, Llc | System and method for synchronizing counters on an asynchronous packet communications network |
US8194555B2 (en) | 2006-08-22 | 2012-06-05 | Embarq Holdings Company, Llc | System and method for using distributed network performance information tables to manage network communications |
US8199653B2 (en) | 2006-08-22 | 2012-06-12 | Embarq Holdings Company, Llc | System and method for communicating network performance information over a packet network |
US8223655B2 (en) | 2006-08-22 | 2012-07-17 | Embarq Holdings Company, Llc | System and method for provisioning resources of a packet network based on collected network performance information |
US8619600B2 (en) | 2006-08-22 | 2013-12-31 | Centurylink Intellectual Property Llc | System and method for establishing calls over a call path having best path metrics |
US8223654B2 (en) * | 2006-08-22 | 2012-07-17 | Embarq Holdings Company, Llc | Application-specific integrated circuit for monitoring and optimizing interlayer network performance |
US8743703B2 (en) | 2006-08-22 | 2014-06-03 | Centurylink Intellectual Property Llc | System and method for tracking application resource usage |
US8537695B2 (en) | 2006-08-22 | 2013-09-17 | Centurylink Intellectual Property Llc | System and method for establishing a call being received by a trunk on a packet network |
US8015294B2 (en) | 2006-08-22 | 2011-09-06 | Embarq Holdings Company, LP | Pin-hole firewall for communicating data packets on a packet network |
US8107366B2 (en) | 2006-08-22 | 2012-01-31 | Embarq Holdings Company, LP | System and method for using centralized network performance tables to manage network communications |
US8549405B2 (en) | 2006-08-22 | 2013-10-01 | Centurylink Intellectual Property Llc | System and method for displaying a graphical representation of a network to identify nodes and node segments on the network that are not operating normally |
US8144586B2 (en) | 2006-08-22 | 2012-03-27 | Embarq Holdings Company, Llc | System and method for controlling network bandwidth with a connection admission control engine |
US9479341B2 (en) | 2006-08-22 | 2016-10-25 | Centurylink Intellectual Property Llc | System and method for initiating diagnostics on a packet network node |
US8040811B2 (en) | 2006-08-22 | 2011-10-18 | Embarq Holdings Company, Llc | System and method for collecting and managing network performance information |
US8750158B2 (en) | 2006-08-22 | 2014-06-10 | Centurylink Intellectual Property Llc | System and method for differentiated billing |
US8130793B2 (en) | 2006-08-22 | 2012-03-06 | Embarq Holdings Company, Llc | System and method for enabling reciprocal billing for different types of communications over a packet network |
US7684332B2 (en) | 2006-08-22 | 2010-03-23 | Embarq Holdings Company, Llc | System and method for adjusting the window size of a TCP packet through network elements |
US7808918B2 (en) | 2006-08-22 | 2010-10-05 | Embarq Holdings Company, Llc | System and method for dynamically shaping network traffic |
US8531954B2 (en) | 2006-08-22 | 2013-09-10 | Centurylink Intellectual Property Llc | System and method for handling reservation requests with a connection admission control engine |
US8228896B2 (en) * | 2006-09-22 | 2012-07-24 | Avaya Inc. | Method and apparatus for verification of at least a portion of a datagram's header information |
US8111692B2 (en) | 2007-05-31 | 2012-02-07 | Embarq Holdings Company Llc | System and method for modifying network traffic |
US7852486B2 (en) * | 2008-02-07 | 2010-12-14 | Board Of Regents, The University Of Texas System | Wavelength and intensity monitoring of optical cavity |
JP2009230476A (ja) * | 2008-03-24 | 2009-10-08 | Toshiba Corp | メッセージを処理する装置、方法およびプログラム |
US8175085B2 (en) * | 2008-03-25 | 2012-05-08 | Fusion-Io, Inc. | Bus scaling device |
US8068425B2 (en) | 2008-04-09 | 2011-11-29 | Embarq Holdings Company, Llc | System and method for using network performance information to determine improved measures of path states |
US7911982B1 (en) * | 2008-05-01 | 2011-03-22 | Juniper Networks, Inc. | Configuring networks including spanning trees |
TW201031141A (en) * | 2009-02-04 | 2010-08-16 | Univ Nat Taiwan | Packets inspection device and method |
US8139504B2 (en) * | 2009-04-07 | 2012-03-20 | Raytheon Bbn Technologies Corp. | System, device, and method for unifying differently-routed networks using virtual topology representations |
US8503456B2 (en) * | 2009-07-14 | 2013-08-06 | Broadcom Corporation | Flow based path selection randomization |
US8743877B2 (en) | 2009-12-21 | 2014-06-03 | Steven L. Pope | Header processing engine |
US8605732B2 (en) | 2011-02-15 | 2013-12-10 | Extreme Networks, Inc. | Method of providing virtual router functionality |
US9201796B2 (en) | 2012-09-27 | 2015-12-01 | Apple Inc. | System cache with speculative read engine |
US10305959B2 (en) | 2014-12-11 | 2019-05-28 | At&T Intellectual Property I, L.P. | Self-organizing network communication |
US10015048B2 (en) | 2014-12-27 | 2018-07-03 | Intel Corporation | Programmable protocol parser for NIC classification and queue assignments |
US10044583B2 (en) | 2015-08-21 | 2018-08-07 | Barefoot Networks, Inc. | Fast detection and identification of lost packets |
US9825862B2 (en) | 2015-08-26 | 2017-11-21 | Barefoot Networks, Inc. | Packet header field extraction |
US9826071B2 (en) | 2015-08-26 | 2017-11-21 | Barefoot Networks, Inc. | Configuring a switch for extracting packet header fields |
KR102343999B1 (ko) | 2015-08-27 | 2021-12-28 | 한국단자공업 주식회사 | 커넥터 및 그 조립 방법 |
US9912774B2 (en) | 2015-12-22 | 2018-03-06 | Intel Corporation | Accelerated network packet processing |
KR101701086B1 (ko) | 2016-04-26 | 2017-01-31 | 엘에스산전 주식회사 | 사용자 정의 프로토콜을 적용한 하드웨어 프로토콜 스택과 하드웨어 프로토콜 스택의 사용자 정의 프로토콜 적용 방법 |
EP3459217B1 (en) * | 2016-05-16 | 2020-07-08 | Telefonaktiebolaget LM Ericsson (PUBL) | Transporting udp packets over an mptcp connection |
US11223520B1 (en) | 2017-01-31 | 2022-01-11 | Intel Corporation | Remote control plane directing data plane configurator |
US10757028B1 (en) | 2017-04-23 | 2020-08-25 | Barefoot Networks, Inc. | Configurable forwarding element deparser |
US10826840B1 (en) | 2017-07-23 | 2020-11-03 | Barefoot Networks, Inc. | Multiple copies of stateful tables |
US10771387B1 (en) | 2017-09-28 | 2020-09-08 | Barefoot Networks, Inc. | Multiple packet data container types for a processing pipeline |
US11831743B1 (en) * | 2019-01-08 | 2023-11-28 | Xilinx, Inc. | Streaming architecture for packet parsing |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4748618A (en) * | 1986-05-21 | 1988-05-31 | Bell Communications Research, Inc. | Telecommunications interface |
US5067104A (en) * | 1987-05-01 | 1991-11-19 | At&T Bell Laboratories | Programmable protocol engine having context free and context dependent processes |
US5335325A (en) | 1987-12-22 | 1994-08-02 | Kendall Square Research Corporation | High-speed packet switching apparatus and method |
US5249292A (en) * | 1989-03-31 | 1993-09-28 | Chiappa J Noel | Data packet switch using a primary processing unit to designate one of a plurality of data stream control circuits to selectively handle the header processing of incoming packets in one data packet stream |
US5544329A (en) * | 1992-07-31 | 1996-08-06 | Grumman Aerospace Corporation | Interface system with memory map locations for holding flags indicating a priority for executing instructions held within messages received by the interface |
US5394394A (en) * | 1993-06-24 | 1995-02-28 | Bolt Beranek And Newman Inc. | Message header classifier |
US5473607A (en) * | 1993-08-09 | 1995-12-05 | Grand Junction Networks, Inc. | Packet filtering for data networks |
GB9326476D0 (en) * | 1993-12-24 | 1994-02-23 | Newbridge Networks Corp | Network |
JPH07182157A (ja) * | 1994-10-24 | 1995-07-21 | Mitsubishi Electric Corp | ディジタル信号処理プロセッサ |
US5598410A (en) * | 1994-12-29 | 1997-01-28 | Storage Technology Corporation | Method and apparatus for accelerated packet processing |
US5566170A (en) * | 1994-12-29 | 1996-10-15 | Storage Technology Corporation | Method and apparatus for accelerated packet forwarding |
US5608662A (en) * | 1995-01-12 | 1997-03-04 | Television Computer, Inc. | Packet filter engine |
US5825774A (en) * | 1995-07-12 | 1998-10-20 | 3Com Corporation | Packet characterization using code vectors |
US5748905A (en) * | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
US5774739A (en) * | 1996-09-20 | 1998-06-30 | Bay Networks, Inc. | Using a lockup processor to search a table of keys whose entries contain instruction pointer values of code to execute if key is found |
JP3372455B2 (ja) * | 1997-07-03 | 2003-02-04 | 富士通株式会社 | パケット中継制御方法,パケット中継装置およびプログラム記憶媒体 |
US6141348A (en) * | 1997-08-25 | 2000-10-31 | Cisco Technology, Inc. | Constant-time programmable field extraction system and method |
US6307860B1 (en) * | 1998-04-03 | 2001-10-23 | Mmc Networks, Inc. | Systems and methods for data transformation and transfer in networks |
US6347087B1 (en) * | 1998-10-05 | 2002-02-12 | Packet Engines Incorporated | Content-based forwarding/filtering in a network switching device |
US6463059B1 (en) * | 1998-12-04 | 2002-10-08 | Koninklijke Philips Electronics N.V. | Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing |
FR2796168B1 (fr) * | 1999-07-08 | 2001-09-28 | Automa Tech Sa | Installation d'exposition a la lumiere d'une carte de circuit imprime double face |
-
1999
- 1999-09-20 JP JP26521099A patent/JP3643507B2/ja not_active Expired - Fee Related
-
2000
- 2000-09-12 US US09/660,459 patent/US6804240B1/en not_active Expired - Fee Related
- 2000-09-12 EP EP20000307884 patent/EP1085723B1/en not_active Expired - Lifetime
- 2000-09-12 DE DE2000629710 patent/DE60029710T2/de not_active Expired - Fee Related
- 2000-09-19 TW TW89119211A patent/TW502516B/zh not_active IP Right Cessation
- 2000-09-20 KR KR10-2000-0055090A patent/KR100370937B1/ko not_active IP Right Cessation
- 2000-09-20 CN CNB001319000A patent/CN1249963C/zh not_active Expired - Fee Related
-
2004
- 2004-09-07 US US10/934,440 patent/US7027442B2/en not_active Expired - Fee Related
- 2004-09-07 US US10/934,460 patent/US20050030949A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US6804240B1 (en) | 2004-10-12 |
JP3643507B2 (ja) | 2005-04-27 |
EP1085723B1 (en) | 2006-08-02 |
EP1085723A2 (en) | 2001-03-21 |
US20050086353A1 (en) | 2005-04-21 |
EP1085723A3 (en) | 2003-05-14 |
KR100370937B1 (ko) | 2003-02-05 |
DE60029710T2 (de) | 2006-11-30 |
US7027442B2 (en) | 2006-04-11 |
US20050030949A1 (en) | 2005-02-10 |
CN1249963C (zh) | 2006-04-05 |
CN1291032A (zh) | 2001-04-11 |
JP2001094596A (ja) | 2001-04-06 |
DE60029710D1 (de) | 2006-09-14 |
KR20010050528A (ko) | 2001-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW502516B (en) | Fast and adaptive packet processing device and method using digest information of input packet | |
US6009488A (en) | Computer having packet-based interconnect channel | |
US20210011872A1 (en) | Multicore bus architecture with non-blocking high performance transaction credit system | |
US7126952B2 (en) | Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method | |
US6757768B1 (en) | Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node | |
US6832279B1 (en) | Apparatus and technique for maintaining order among requests directed to a same address on an external bus of an intermediate network node | |
EP1794979B1 (en) | Selective replication of data structure | |
US7379460B2 (en) | Packet processing system | |
US8392590B2 (en) | Deterministic finite automata (DFA) processing | |
US7302519B2 (en) | Distributed content addressable memory | |
US20080240111A1 (en) | Method and apparatus for writing network packets into computer memory | |
US20060075206A1 (en) | Deterministic finite automata (DFA) instruction | |
JP3752224B2 (ja) | コンピュータ・システムにおいて命令を処理する方法および装置 | |
US8046568B2 (en) | Microprocessor with integrated high speed memory | |
US7924839B2 (en) | Mechanism to reduce lookup latency in a pipelined hardware implementation of a trie-based IP lookup algorithm | |
US7185172B1 (en) | CAM-based search engine devices having index translation capability | |
TWI324755B (en) | Processing modules with multilevel cache architecture | |
US7401328B2 (en) | Software-implemented grouping techniques for use in a superscalar data processing system | |
KR19990083125A (ko) | 데이터 트랜잭션을 파이프라인 방식으로 합체하는 방법 및 메카니즘 | |
US10303483B2 (en) | Arithmetic processing unit and control method for arithmetic processing unit | |
JPH086853A (ja) | 記憶制御方法 | |
JP2012203544A (ja) | ベクトル処理装置、ベクトル処理方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |