JP3881663B2 - フィールドレベルツリーを用いたパケット分類装置及び方法 - Google Patents
フィールドレベルツリーを用いたパケット分類装置及び方法 Download PDFInfo
- Publication number
- JP3881663B2 JP3881663B2 JP2004056158A JP2004056158A JP3881663B2 JP 3881663 B2 JP3881663 B2 JP 3881663B2 JP 2004056158 A JP2004056158 A JP 2004056158A JP 2004056158 A JP2004056158 A JP 2004056158A JP 3881663 B2 JP3881663 B2 JP 3881663B2
- Authority
- JP
- Japan
- Prior art keywords
- classification
- field
- level tree
- field level
- fields
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree 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/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- 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/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
それぞれの分類エンジン20は、IPソース/宛先アドレス探索に代表されるプレフィックス探索を処理する部分21と、1次の分類の結果に基づき、それに属する2次分類を処理する部分22とからなる。2次分類において、レンジ探索範囲を処理するために当該フィールド別に分類を進めるための下位マイクロエンジンが備えられる。
12 ブロードキャスティングバス
20 分類エンジン
30 メモリインターフェイス
31 マイクロエンジン
32 分類プロセッサ
41 TCAM
42 メモリ
Claims (17)
- 分類のためのマルチフィールドを有するパケットを階層的構造にてフィールド別に組織化したフィールドレベルツリーを生成し維持する主処理部と、
照会と更新業務を行い、前記フィールドレベルツリーが備える第1の群のフィールドをもとに、IPアドレス探索に代表されるプレフィックス探索を処理する第1の分類部及び前記第1の分類部の結果に基づき、それに属するレンジ探索範囲を処理するために、前記フィールドレベルツリーが備える第2の群のフィールドが有する区間をもとに、当該フィールド別に分類を進める第2の分類部を備える分類エンジンと、
を含むことを特徴とするフィールドレベルツリーを用いたパケット分類装置。 - 前記分類エンジンは、分類プロセッサとメモリを含むことを特徴とする請求項1に記載のフィールドレベルツリーを用いたパケット分類装置。
- 前記主処理部と前記分類エンジンとは、ブロードキャスティングバスを介して接続されていることを特徴とする請求項2に記載のフィールドレベルツリーを用いたパケット分類装置。
- 前記第1の分類部は、プレフィックス形態のフィールドを格納し検索するTCAMを使用することを特徴とする請求項1に記載のフィールドレベルツリーを用いたパケット分類装置。
- 前記第2の分類部は、用途及びスペックに応じて適宜のk値を有するk−way検索方法を使用することを特徴とする請求項1に記載のフィールドレベルツリーを用いたパケット分類装置。
- 前記k値は、前記第2の分類部のメモリインターフェイスの大きさによって決められることを特徴とする請求項5に記載のフィールドレベルツリーを用いたパケット分類装置。
- 前記主処理部は、前記ブロードキャスティングバスを介して前記複数の分類エンジンに更新指示を送り、前記更新指示を受けた分類エンジンは、前記メモリのコンテンツを変更するように指示することを特徴とする請求項3に記載のフィールドレベルツリーを用いたパケット分類装置。
- 前記フィールドレベルツリーは、第1の群のフィールドが上位レベルに示され、第2の群のフィールドが下位レベルに示される構造にて組織化されることを特徴とする請求項1に記載のフィールドレベルツリーを用いたパケット分類装置。
- 前記第1の群のフィールドは、プレフィックス・インプリメンテーションされたフィールドであることを特徴とする請求項8に記載のフィールドレベルツリーを用いたパケット分類装置。
- 前記第2の群のフィールドは、レンジ・インプリメンテーションされたフィールドであることを特徴とする請求項8に記載のフィールドレベルツリーを用いたパケット分類装置。
- 前記フィールドレベルツリーは、あるレベルで2つのノードが共通の子ノードを有すると、単に1つのノードが生成されそれを共有することを特徴とする請求項1に記載のフィールドレベルツリーを用いたパケット分類装置。
- 前記フィールドレベルツリーは、プレフィックス探索のためのレベルが互いに結合されたプレフィックスの対を有する単に1つのレベルとして存在することを特徴とする請求項1に記載のフィールドレベルツリーを用いたパケット分類装置。
- 分類のためにマルチフィールドを有するパケットを階層的構造にてフィールド別に組織化したフィールドレベルツリーを生成し維持する主処理部と、
照会と更新業務を行い、前記フィールドレベルツリーが備える第1の群のフィールドをもとに、IPアドレス探索に代表されるプレフィックス探索を処理する第1の分類部と、
前記プレフィックス探索の処理結果に基づき、それに属するレンジ探索範囲を処理するために、前記フィールドレベルツリーが備える第2の群のフィールドが有する区間をもとに、当該フィールド別に分類を進める第2の分類部と、
を含むことを特徴とするフィールドレベルツリーを用いたパケット分類装置。 - ルーティングシステムにおけるパケット分類方法において、
マルチフィールドを有するパケットを分類するためにフィールドレベルツリーを形成するステップと、
前記フィールドレベルツリーを用いて、前記フィールドレベルツリーが備える第1の群のフィールドをもとに、パケット分類規則に対しプレフィックス探索を行なうステップと、
プレフィックス探索が行われた後、前記フィールドレベルツリーが備える第2の群のフィールドが有する区間をもとに、レンジ探索を行なうステップと、
を含むフィールドレベルツリーを用いたパケット分類方法。 - 前記フィールドレベルツリーは、第1の群のフィールドが上位レベルに示され、第2の群のフィールドが下位レベルに示される構造にて組織化されることを特徴とする請求項14に記載のフィールドレベルツリーを用いたパケット分類方法。
- 前記フィールドレベルツリーは、あるレベルで2つのノードが共通の子ノードを有すると、単に1つのノードが生成されそれを共有することを特徴とする請求項14に記載のフィールドレベルツリーを用いたパケット分類方法。
- 前記フィールドレベルツリーは、プレフィックス探索のためのレベルが互いに結合されたプレフィックスの対を有する単に1つのレベルとして存在することを特徴とする請求項14に記載のフィールドレベルツリーを用いたパケット分類方法。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2003-0012902A KR100512949B1 (ko) | 2003-02-28 | 2003-02-28 | 필드레벨 트리를 이용한 패킷분류장치 및 방법 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004266837A JP2004266837A (ja) | 2004-09-24 |
| JP3881663B2 true JP3881663B2 (ja) | 2007-02-14 |
Family
ID=32768622
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004056158A Expired - Fee Related JP3881663B2 (ja) | 2003-02-28 | 2004-03-01 | フィールドレベルツリーを用いたパケット分類装置及び方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US7415020B2 (ja) |
| EP (1) | EP1453253A1 (ja) |
| JP (1) | JP3881663B2 (ja) |
| KR (1) | KR100512949B1 (ja) |
| CN (1) | CN100385880C (ja) |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100518813B1 (ko) * | 2003-02-15 | 2005-10-05 | 삼성전자주식회사 | 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법 |
| US7515588B2 (en) * | 2004-03-18 | 2009-04-07 | Intel Corporation | Method and apparatus to support a large internet protocol forwarding information base |
| US7668160B2 (en) * | 2005-03-31 | 2010-02-23 | Intel Corporation | Methods for performing packet classification |
| US20060221956A1 (en) * | 2005-03-31 | 2006-10-05 | Narayan Harsha L | Methods for performing packet classification via prefix pair bit vectors |
| US20060221967A1 (en) * | 2005-03-31 | 2006-10-05 | Narayan Harsha L | Methods for performing packet classification |
| US7443878B2 (en) | 2005-04-04 | 2008-10-28 | Sun Microsystems, Inc. | System for scaling by parallelizing network workload |
| KR100705545B1 (ko) | 2005-07-02 | 2007-04-09 | 충남대학교산학협력단 | 이중 tcam을 이용한 패킷의 분류방법 |
| KR100770643B1 (ko) * | 2006-03-28 | 2007-10-29 | 충남대학교산학협력단 | Tcam을 이용한 고성능 패킷 분류 방법 및 그 장치 |
| EP2016718B1 (en) * | 2006-04-21 | 2014-02-12 | Oracle America, Inc. | Method and system for scaling by parallelizing network workload |
| US8010990B2 (en) * | 2006-10-26 | 2011-08-30 | Intel Corporation | Acceleration of packet flow classification in a virtualized system |
| WO2009018578A2 (en) * | 2007-08-02 | 2009-02-05 | Tekelec | Methods, systems, and computer readable media for collecting data from network traffic traversing high speed internet protocol (ip) communication links |
| KR100920518B1 (ko) * | 2007-11-27 | 2009-10-09 | 한국전자통신연구원 | 패킷 분류 장치 및 방법 |
| CN101340363B (zh) * | 2007-12-24 | 2012-09-19 | 中国科学技术大学 | 一种实现多元数据包分类的方法及设备 |
| US7872993B2 (en) | 2008-10-30 | 2011-01-18 | Alcatel Lucent | Method and system for classifying data packets |
| CN101888369B (zh) * | 2009-05-15 | 2013-04-03 | 北京启明星辰信息技术股份有限公司 | 一种进行网络报文规则匹配的方法和装置 |
| US8179898B2 (en) * | 2009-06-11 | 2012-05-15 | Alcatel Lucent | Packet processing using braided tries |
| US9049157B1 (en) * | 2009-08-16 | 2015-06-02 | Compass Electro-Optical Systems Ltd | Method and device for improving scalability of longest prefix match |
| US8879550B2 (en) * | 2012-05-08 | 2014-11-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for packet classification |
| US9501591B2 (en) * | 2013-12-09 | 2016-11-22 | International Business Machines Corporation | Dynamically modifiable component model |
| JP6114705B2 (ja) * | 2014-02-26 | 2017-04-12 | 日本電信電話株式会社 | 検索木生成装置及び方法及びプログラム |
| CN105099918B (zh) * | 2014-05-13 | 2019-01-29 | 华为技术有限公司 | 一种数据查找匹配的方法和装置 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6289013B1 (en) * | 1998-02-09 | 2001-09-11 | Lucent Technologies, Inc. | Packet filter method and apparatus employing reduced memory |
| US6341130B1 (en) * | 1998-02-09 | 2002-01-22 | Lucent Technologies, Inc. | Packet classification method and apparatus employing two fields |
| US6560610B1 (en) * | 1999-08-10 | 2003-05-06 | Washington University | Data structure using a tree bitmap and method for rapid classification of data in a database |
| US6711153B1 (en) | 1999-12-13 | 2004-03-23 | Ascend Communications, Inc. | Route lookup engine |
| US6798778B1 (en) * | 2000-06-14 | 2004-09-28 | Mindspeed Technologies, Inc. | Communication packet processor with a look-up engine and content-addressable memory for updating context information for a core processor |
| JP2002305539A (ja) | 2001-04-03 | 2002-10-18 | Nippon Telegr & Teleph Corp <Ntt> | 連想メモリおよび経路表検索方法 |
| US7017021B2 (en) * | 2001-04-04 | 2006-03-21 | Cypress Semiconductor Corp. | High-speed message forwarding lookups for arbitrary length strings using pipelined memories |
| US7227842B1 (en) * | 2001-04-24 | 2007-06-05 | Tensilica, Inc. | Fast IP packet classification with configurable processor |
| US7002965B1 (en) * | 2001-05-21 | 2006-02-21 | Cisco Technology, Inc. | Method and apparatus for using ternary and binary content-addressable memory stages to classify packets |
| US6671694B2 (en) * | 2001-06-04 | 2003-12-30 | Hewlett-Packard Development Company, L.P. | System for and method of cache-efficient digital tree with rich pointers |
| US6886073B2 (en) * | 2002-06-18 | 2005-04-26 | International Business Machines Corporation | Method and system for performing range rule testing in a ternary content addressable memory |
-
2003
- 2003-02-28 KR KR10-2003-0012902A patent/KR100512949B1/ko not_active Expired - Fee Related
-
2004
- 2004-02-18 EP EP20040003677 patent/EP1453253A1/en not_active Withdrawn
- 2004-02-27 CN CNB2004100072129A patent/CN100385880C/zh not_active Expired - Fee Related
- 2004-02-27 US US10/787,298 patent/US7415020B2/en not_active Expired - Fee Related
- 2004-03-01 JP JP2004056158A patent/JP3881663B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| KR20040077376A (ko) | 2004-09-04 |
| CN1543150A (zh) | 2004-11-03 |
| US20040170170A1 (en) | 2004-09-02 |
| US7415020B2 (en) | 2008-08-19 |
| KR100512949B1 (ko) | 2005-09-07 |
| EP1453253A1 (en) | 2004-09-01 |
| JP2004266837A (ja) | 2004-09-24 |
| CN100385880C (zh) | 2008-04-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3881663B2 (ja) | フィールドレベルツリーを用いたパケット分類装置及び方法 | |
| US7031320B2 (en) | Apparatus and method for performing high-speed IP route lookup and managing routing/forwarding tables | |
| EP1623347B1 (en) | Comparison tree data structures and lookup operations | |
| Huang et al. | A novel IP-routing lookup scheme and hardware architecture for multigigabit switching routers | |
| US6594655B2 (en) | Wildcards in radix- search tree structures | |
| Huang et al. | A fast IP routing lookup scheme for gigabit switching routers | |
| US7315547B2 (en) | Packet forwarding device | |
| US6341130B1 (en) | Packet classification method and apparatus employing two fields | |
| US6985483B2 (en) | Methods and systems for fast packet forwarding | |
| US6792423B1 (en) | Hybrid longest prefix match and fixed match searches | |
| US20040230583A1 (en) | Comparison tree data structures of particular use in performing lookup operations | |
| Yang et al. | Fast openflow table lookup with fast update | |
| US9485179B2 (en) | Apparatus and method for scalable and flexible table search in a network switch | |
| Le et al. | Scalable tree-based architectures for IPv4/v6 lookup using prefix partitioning | |
| Sun et al. | An on-chip IP address lookup algorithm | |
| Chang | Efficient multidimensional packet classification with fast updates | |
| KR100493099B1 (ko) | 고속 인터넷프로토콜 라우터의 라우팅/포워딩 룩업 및라우팅 테이블 관리 | |
| JP4726310B2 (ja) | 情報検索装置、情報検索用マルチプロセッサおよびルータ | |
| CN107204926B (zh) | 预处理cache的路由快速查找方法 | |
| KR20020016732A (ko) | 복수의 프리픽스로부터 데이터 패킷을 라우팅하기 위한데이터베이스 생성방법과 라우팅 방법 및 그 방법을이용한 라우터 | |
| JP3591426B2 (ja) | プレフィックスを含む複数アドレスによる連想情報探索方法及び装置 | |
| Hsieh et al. | A novel dynamic router-tables design for IP lookup and update | |
| Liu et al. | Fast IP table lookup and memory reduction | |
| Grégoire et al. | You can get there from here: Routing in the internet | |
| Ray et al. | A novel approach for prefix minimization using Ternary Trie (PMTT) for packet classification |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060614 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060621 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060921 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061101 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061110 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091117 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101117 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121117 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131117 Year of fee payment: 7 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |
