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 PDF

Info

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
Application number
TW89119211A
Other languages
English (en)
Inventor
Toshio Okamoto
Kenji Shirakawa
Yoshimitsu Shimojo
Yasuro Shobatake
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of TW502516B publication Critical patent/TW502516B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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

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)

  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公釐)
TW89119211A 1999-09-20 2000-09-19 Fast and adaptive packet processing device and method using digest information of input packet TW502516B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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