CN104052669A - Apparatus and Method for Processing Alternately Configured Longest Prefix Match Tables - Google Patents

Apparatus and Method for Processing Alternately Configured Longest Prefix Match Tables Download PDF

Info

Publication number
CN104052669A
CN104052669A CN201410090589.9A CN201410090589A CN104052669A CN 104052669 A CN104052669 A CN 104052669A CN 201410090589 A CN201410090589 A CN 201410090589A CN 104052669 A CN104052669 A CN 104052669A
Authority
CN
China
Prior art keywords
prefix
network switch
dictionary tree
processor
network
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.)
Granted
Application number
CN201410090589.9A
Other languages
Chinese (zh)
Other versions
CN104052669B (en
Inventor
王炜煌
M·巴兰
N·希瓦
Z·沙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kaiwei International Co
Marvell Asia Pte Ltd
Original Assignee
Xi Puliante Co
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
Priority claimed from US14/194,567 external-priority patent/US9331942B2/en
Application filed by Xi Puliante Co filed Critical Xi Puliante Co
Publication of CN104052669A publication Critical patent/CN104052669A/en
Application granted granted Critical
Publication of CN104052669B publication Critical patent/CN104052669B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

A network switch includes a memory configurable to store alternate table representations of an individual trie in a hierarchy of tries. A prefix table processor accesses in parallel, using an input network address, the alternate table representations of the individual trie and searches for a longest prefix match in each alternate table representation to obtain local prefix matches. The longest prefix match from the local prefix matches is selected. The longest prefix match has an associated next hop index base address and offset value. A next hop index processor accesses a next hop index table in the memory utilizing the next hop index base address and offset value to obtain a next hop table pointer. A next hop processor accesses a next hop table in the memory using the next hop table pointer to obtain a destination network address.

Description

Apparatus and method for the treatment of the longest prefix match table of alternate configurations
the cross reference of related application
The application require to by reference its disclosure is incorporated into this, on March 12nd, 2013 submit to the 61/778th, the priority of No. 293 U.S. Provisional Patent Application.
Technical field
Present invention relates in general to the flow in process computer network.More particularly, the present invention relates to have the network switch of the longest prefix match table of alternate configurations.
Background technology
Fig. 1 illustrates the longest prefix match processor 100 being utilized according to prior art.Longest prefix match processor 100 comprises for transmitting 104 search engines 102 that find entry.The related switch identifier of each entry tool in transmitting, switch identifier represents next destination (jumping (hop)) for network packet.
Fig. 2 illustrates 200 the simple version transmitted of prior art.Transmit and have prefix row and down hop row, prefix row have bar destination aggregation (mda), and down hop row have the switch identifier indicating.Each prefix entry is the segmentation of the network address.Asterisk (*) indicates " paying no attention to " state.If there is no prefix matching, down hop is indicated as being switch " A ".Wish to obtain the coupling with following prefix, this prefix is the longest because it represents to the most concrete path of target machine.
Fig. 3 illustrates the grouping 300 being received by the switch 302 with longest prefix match processor 100.Longest prefix match processor is generated to the jumping of another machine, and another machine is such as being switch A, C or E or machine B, D, F or G.
Fig. 4 illustrates binary tree or dictionary tree (trie) 400.The top of this figure illustrates triangle 400, and triangle 400 is the expressions in the simplification of the dictionary tree 400 shown in the bottom of this figure.Dictionary tree 400 has the different paths that represent by 0 and 1, wherein 0 path and 1 path representing to the right representing left.Use this technology, can indicate any path in dictionary tree by digital value.As shown, the bottom of dictionary tree 400 has four leaf nodes, and it can be branched off into eight destinations (0) to (7).To destination, the path of (0) is represented as 000, because three left branch are used for arriving this position.To destination, the path of (3) is identified as 011, because connect two right branch (1) after a left branch (0).In this way, can use binary value to specify each path.Therefore dictionary tree 400 has three node layers and is called as that to have be three stride (stride).
Fig. 5 illustrates dictionary tree 400 can have any complex hierarchy relation with many other dictionary trees.For example, dictionary tree 400 can be regarded as layer 0, thereunder has eight dictionary tree 400_1 to 400_8 at layer 1.This dictionary tree expansion can advance for any several target zones, as shown in Figure 5.Each dictionary tree can have different sizes.Therefore, can understand, can be by such organization definition long path expression arbitrarily.
Each node that Fig. 6 illustrates dictionary tree 600 can have the numbering indicating.In this example, as shown, node is numbered as 1 to 7.
Fig. 7 illustrates the scene that next hop information wherein resides in dark node (node 5 and 7).Path to node 5 can be expressed as 01 with binary system, and can be expressed as 11 with binary system to the path of node 7.With reference to Fig. 5, can understand, node path can travel through a plurality of layers and will with long binary value, express the consequent path of specific node.
In view of aforementioned, exist being provided for identifying the lasting demand of the improvement technology of longest prefix match.
Summary of the invention
A network switch, comprises memory, and memory is configurable to be represented for storing the alternately table of the single dictionary tree of dictionary tree level.Prefix table processor uses replacing table expression and alternately searching for longest prefix match to obtain local prefix matching in table expression at each of the single dictionary tree of input network address concurrent access.Selection is from the longest prefix match of local prefix matching.Longest prefix match tool related down hop index base address and deviant.Down hop index processor utilizes down hop concordance list in down hop index base address and deviant reference to storage to obtain next skip list pointer.Next skip list in down hop processor use next skip list pointer reference to storage is to obtain destination network address.
Accompanying drawing explanation
Together with accompanying drawing, in conjunction with the following specifically describes, understand more completely the present invention, in the accompanying drawings:
Fig. 1 illustrates the longest prefix match processor of prior art.
Fig. 2 illustrates transmitting of prior art.
Fig. 3 illustrates to be had for routing the packet to the switch of the switch of any number or the longest prefix match processor of machine.
Fig. 4 illustrates the binary tree of prior art.
Fig. 5 illustrates the nested arrangement with any pahtfinder hard of binary tree.
Fig. 6 illustrates the node serial number being used according to embodiments of the invention.
Fig. 7 illustrates the binary tree at the node of selecting with next hop information.
Fig. 8 illustrates the sparse mode table configuration being utilized according to embodiments of the invention.
Fig. 9 illustrates the pattern bitmap table configuration being utilized according to embodiments of the invention.
Figure 10 illustrates the leaf being utilized according to embodiments of the invention and advances the configuration of (leaf-push) pattern list.
Figure 11 illustrates the down hop concordance list being utilized according to embodiments of the invention.
Figure 12 illustrates the next skip list being utilized according to embodiments of the invention.
Figure 13 illustrates the packet transaction operation being performed according to embodiments of the invention.
Figure 14 illustrates the processing components being utilized according to embodiments of the invention.
Some views that similar reference number runs through accompanying drawing are indicated corresponding part.
Embodiment
The present invention is the longest prefix match processor embedding in switch.Longest prefix match processor utilizes the longest prefix match table of alternate configurations, can be for different longest prefix match search strategies and memory optimization policy optimization longest prefix match table.Figure 8 illustrates a longest prefix match table.The first row designated packet type of this table is IPV4 in this example.Advantageously, IPV4 and IPV6 packet type can be stored in single table efficiently.Next column designated store pattern is sparse type in this example.Sparse type contributes to the large stride for single dictionary tree.That is, sparse mode contributes to the processing for the configuration that wherein single dictionary tree is large.Next column assigned finger length.Branch length is the designator from the root node of level dictionary tree to the length in the path of any root node of single dictionary tree (such as any dictionary tree Fig. 5 (being also referred to as sub-dictionary tree)).Stride is specified the size of dictionary tree, such as 2 stride.In this example, stride is 5 or 2 5or 32.Next column is down hop index base address.The present invention is used for quoting next skip list by down hop index.This allows the maximum flexibility in config memory resource.The next column of this table is the ID of branch, such as passing through as discussed above the binary representation in the path of tree.The rank rear of Fig. 8 is specified the dictionary tree node ID with next hop information.Fig. 7 provides dictionary tree node and has the example of the corresponding node ID of next hop information.Front four fields of Fig. 8 have fixed width.Remaining two fields have variable-width.
Fig. 9 illustrates the alternate configurations for prefix matching table.The first field designated packet type.Next field specified bitmap pattern.As discussed above, next field assigned finger length.Next field is specified stride.In pattern bitmap, for all nodes of the dictionary tree of stride 5, be stored in 2 5in the array of-1 or 31.Lower two fields are NHI base address and the ID of branch.As discussed above, the ID of branch assigned finger path.The base location corresponding to the least significant bit of dictionary tree bitmap is specified in NHI base address, and it is marked as 1.Other nodes make their pointer increase progressively and enter NHI table from base location.For example, if base location is zero, is marked as 1 the 5th and will be incremented 4 entries from base location.Last field is dictionary tree bitmap.In this example, dictionary tree bitmap is 31 bitmaps.Bitmap specifies in the diverse location in the dictionary tree of appointment with next hop information.
Figure 10 illustrates the alternate configurations for prefix matching table.The first field specifies leaf to advance pattern.In leaf propelling pattern, in array, only represent bottommost node.For example, about Fig. 6, in array, will only represent node 4,5,6 and 7.If other nodes of Fig. 6 have next hop information, can use various technology (such as controlled Prefix Expansion) by this Information locating in bottommost node.NHI table needs to carry out corresponding copying in this example.This pattern is stored in the special memory-efficient of example of identical table therein for the network address of direct-connected main frame, because those main frames have continuation address conventionally.This pattern is also favourable, because all search stop at identical layer.
The table of Figure 10 also has branch length field, stride field, NHI base address field, branch's id field and dictionary tree bottom bitmap field.In the example of 5 strides, whole bitmap has 2 5-1 or 31, this causes the bottom set of 16 nodes.Therefore, 16 bitmaps can be used for specifying the position of these different nodes.
Figure 11 illustrates down hop concordance list.Different entries in table are assigned to the pointer that next skip list base location adds block size skew.Base location is specified and to be entered the entrance of table and block size is specified the added field from this base location.The block size of next skip list entry is used to equal cost multipath (ECMP) and is routing, and a kind of high-level network is routing strategy.Together with IP address, each request of longest prefix match engine is attended by the ECMP cryptographic Hash for Path selection.ECMP cryptographic Hash can be greater than available block size, so final path selects to be calculated as the input ECMP cryptographic Hash delivery that down hop base address adds down hop block size.In one embodiment, in ECMP support to 1024 paths.
NHI table size is the function of dictionary tree configuration.Table size can be dynamically configured and optimize.
Figure 12 illustrates next skip list.Each entry in this table is assigned to the jumping of destination machine.
Figure 13 illustrates the processing operation being performed according to embodiments of the invention.The entrance network address (for example, internet protocol address) 1300 is applied to the set of prefix table 0 to N, and all or part of table can be configured by software.As discussed in conjunction with Fig. 8 to Figure 10, each prefix table comprises prefix bar destination aggregation (mda), and each prefix entry is assigned to the path of dictionary tree and is then the characteristic of this dictionary tree.Use prefix table 01302 as example, the selection of the software configuration of the position of the entrance network address is applied to hash function to be mapped to prefix table address 1304.Advantageously, in hardware, utilize constant time lag to complete all couplings.Then read prefix table memory to arrive the single dictionary tree in any complex hierarchy dictionary tree of sub-dictionary tree 0(structure, than dictionary tree as shown in Figure 5) 0136.Then at this sub-dictionary tree, carry out longest prefix match 1308.Across all prefix tables 0 to N, repeat this and process to create local prefix matching.Then result is to select longest prefix match 1310.Then read NHI table 1312, this causes the access 1314 to next skip list, and this produces down hop 1316.
Figure 14 illustrates the longest prefix match processor 1400 being configured according to embodiments of the invention.Processor 1400 comprises prefix table processor 1402, and it is for being arranged to the hardware resource of specifying and then accessing different longest prefix match tables (such as the longest prefix match table in Fig. 8-Figure 10).Table resides in memory 1404, and memory 1404 can be SPAM resource pool.Prefix table processor 1402 is coordinated the operation 1304 to 1310 of Figure 13.Down hop index processor 1406 then can be with the down hop concordance list in accessing memory 1404, down hop concordance list down hop processor 1408 come back to the base location and skew (if existence).The next skip list of down hop processor 1408 access storage in memory 1404, it produces next hop address as a result of 1410.If prefix table processor 1402 has miss or other mistakes of dictionary tree, can be as shown in arrow 1412 directly generation error or acquiescence result 1410.
Aforementioned description is used concrete name to provide thorough understanding of the present invention for purposes of illustration.Yet, to those skilled in the art, will be apparent that, do not need detail to put into practice the present invention.Therefore, for the object of illustration and description, present the aforementioned description of specific embodiments of the invention.They are not intended to is detailed or limits the invention to disclosed precise forms; Significantly, in view of the many modifications of above instruction and change are possible.Select and describe embodiment to principle of the present invention and practical application thereof are described best, the various embodiment that therefore they make others skilled in the art to utilize best the present invention and have the various modifications when being suitable for specific use of expection.Be intended to following claim and equivalent thereof and limit scope of the present invention.

Claims (14)

1. a network switch, comprising:
Memory, configurable for storing the alternately table expression of the single dictionary tree of dictionary tree level;
Prefix table processor, for:
Described in use input network address concurrent access, the described of single dictionary tree replaces table expression and replaces in table expression and search for longest prefix match to obtain local prefix matching at each,
From described local prefix matching, select described longest prefix match, wherein said longest prefix match tool related down hop index base address and deviant;
Down hop index processor, for utilizing down hop concordance list that described down hop index base address and deviant access described memory to obtain next skip list pointer; And
Down hop processor, for using next skip list that described next skip list pointer accesses described memory to obtain destination network address.
2. the network switch according to claim 1, the sparse mode of the dictionary table node that wherein said alternately table represents to comprise that sign is selected represents.
3. the network switch according to claim 2, wherein said sparse mode represents to comprise branch's sign and stride value.
4. the network switch according to claim 1, wherein said alternately table represents to comprise that the pattern bitmap of the bitmap with the dictionary tree node that sign selects represents.
5. the network switch according to claim 4, wherein said pattern bitmap represents to comprise branch's sign and stride value.
6. the network switch according to claim 1, wherein said alternately table represents to comprise that the leaf of dictionary tree node of the selection of the bottom that is identified at dictionary tree advances represents.
7. the network switch according to claim 6, wherein said leaf advances and represents to comprise branch's sign and stride value.
8. the network switch according to claim 1, wherein said prefix table processor is to have the hardware resource that certainty is searched time delay.
9. the network switch according to claim 1, wherein said alternately table represents to be included in the table in identical table with different grouping type.
10. the network switch according to claim 9, wherein said different grouping type comprises that IPV4 grouping and IPV6 divide into groups.
11. network switchs according to claim 1, wherein said prefix table processor flag is for the longest prefix match of distance host with for the accurate coupling of directly attached main frame.
12. network switchs according to claim 1, wherein said prefix table processor identifies for the described longest prefix match of described distance host with for the described directly described accurate coupling of attached main frame in identical table.
13. network switchs according to claim 1, wherein said down hop index processor is processed the piece of next skip list entry to contribute to equal cost multipath to be routing.
14. network switchs according to claim 13, in wherein said appointment to 1024 paths.
CN201410090589.9A 2013-03-12 2014-03-12 For handling the device for the longest prefix match table being alternately arranged Active CN104052669B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361778293P 2013-03-12 2013-03-12
US61/778,293 2013-03-12
US14/194,567 2014-02-28
US14/194,567 US9331942B2 (en) 2013-03-12 2014-02-28 Apparatus and method for processing alternately configured longest prefix match tables

Publications (2)

Publication Number Publication Date
CN104052669A true CN104052669A (en) 2014-09-17
CN104052669B CN104052669B (en) 2018-12-07

Family

ID=51505051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410090589.9A Active CN104052669B (en) 2013-03-12 2014-03-12 For handling the device for the longest prefix match table being alternately arranged

Country Status (1)

Country Link
CN (1) CN104052669B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107431660A (en) * 2015-03-11 2017-12-01 Ntt通信公司 Retrieve device, search method, program and recording medium
CN110750704A (en) * 2019-10-23 2020-02-04 深圳计算科学研究院 Method and device for automatically completing query
CN111937360A (en) * 2018-04-09 2020-11-13 思科技术公司 Longest prefix matching
CN116319555A (en) * 2023-05-22 2023-06-23 中国科学技术大学 Route forwarding method for virtual private network

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141738A (en) * 1998-07-08 2000-10-31 Nortel Networks Corporation Address translation method and system having a forwarding table data structure
US20010042130A1 (en) * 1999-12-10 2001-11-15 Mosaid Technologies, Inc. Method and apparatus for depth expansion of a longest prefix match lookup table
US20050141519A1 (en) * 2003-12-31 2005-06-30 Stmicroelectronics, Inc. Apparatus and method using hashing for efficiently implementing an IP lookup solution in hardware
US20050174272A1 (en) * 2004-02-05 2005-08-11 Nec Laboratories America, Inc. Content-based information retrieval architecture
US7111071B1 (en) * 2000-06-29 2006-09-19 Intel Corporation Longest prefix match for IP routers
US7724734B1 (en) * 2005-12-23 2010-05-25 Extreme Networks, Inc. Methods, systems, and computer program products for controlling updating of a layer 3 host table based on packet forwarding lookup miss counts
US7827218B1 (en) * 2006-11-18 2010-11-02 X-Engines, Inc. Deterministic lookup using hashed key in a multi-stride compressed trie structure
US20100293327A1 (en) * 2009-05-14 2010-11-18 Brocade Communications Systems, Inc. TCAM Management Approach That Minimize Movements
US20110082866A1 (en) * 2000-06-21 2011-04-07 Brown David A Method and apparatus for logically expanding the length of a search key
CN102694721A (en) * 2011-03-21 2012-09-26 阿瓦雅公司 Usage of masked Ethernet addresses between transparent interconnect of lots of links (trill) routing bridges

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141738A (en) * 1998-07-08 2000-10-31 Nortel Networks Corporation Address translation method and system having a forwarding table data structure
US20010042130A1 (en) * 1999-12-10 2001-11-15 Mosaid Technologies, Inc. Method and apparatus for depth expansion of a longest prefix match lookup table
US20110082866A1 (en) * 2000-06-21 2011-04-07 Brown David A Method and apparatus for logically expanding the length of a search key
US7111071B1 (en) * 2000-06-29 2006-09-19 Intel Corporation Longest prefix match for IP routers
US20050141519A1 (en) * 2003-12-31 2005-06-30 Stmicroelectronics, Inc. Apparatus and method using hashing for efficiently implementing an IP lookup solution in hardware
US20050174272A1 (en) * 2004-02-05 2005-08-11 Nec Laboratories America, Inc. Content-based information retrieval architecture
US7724734B1 (en) * 2005-12-23 2010-05-25 Extreme Networks, Inc. Methods, systems, and computer program products for controlling updating of a layer 3 host table based on packet forwarding lookup miss counts
US7827218B1 (en) * 2006-11-18 2010-11-02 X-Engines, Inc. Deterministic lookup using hashed key in a multi-stride compressed trie structure
US20100293327A1 (en) * 2009-05-14 2010-11-18 Brocade Communications Systems, Inc. TCAM Management Approach That Minimize Movements
CN102694721A (en) * 2011-03-21 2012-09-26 阿瓦雅公司 Usage of masked Ethernet addresses between transparent interconnect of lots of links (trill) routing bridges

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107431660A (en) * 2015-03-11 2017-12-01 Ntt通信公司 Retrieve device, search method, program and recording medium
CN107431660B (en) * 2015-03-11 2020-08-18 Ntt通信公司 Search device, search method, and recording medium
CN111937360A (en) * 2018-04-09 2020-11-13 思科技术公司 Longest prefix matching
CN110750704A (en) * 2019-10-23 2020-02-04 深圳计算科学研究院 Method and device for automatically completing query
CN116319555A (en) * 2023-05-22 2023-06-23 中国科学技术大学 Route forwarding method for virtual private network
CN116319555B (en) * 2023-05-22 2024-01-09 中国科学技术大学 Route forwarding method for virtual private network

Also Published As

Publication number Publication date
CN104052669B (en) 2018-12-07

Similar Documents

Publication Publication Date Title
US9729447B2 (en) Apparatus and method for processing alternately configured longest prefix match tables
Wang et al. Wire Speed Name Lookup: A {GPU-based} Approach
CN104954270B (en) The method and apparatus and computer-readable medium used in networked system
US8825896B2 (en) Scalable distributed parallel access memory systems with internet routing applications
US11182365B2 (en) Systems and methods for distributed storage of data across multiple hash tables
CN105229980A (en) Utilize the exact-match lookup of variable keyword size
US11762826B2 (en) Search apparatus, search method, program and recording medium
CN104052669A (en) Apparatus and Method for Processing Alternately Configured Longest Prefix Match Tables
CN104915148B (en) System and method for the efficient content caches in crossfire storage device
CN102333036A (en) Method and system for realizing high-speed routing lookup
CN106326234A (en) Flow classification method and device
US20140101150A1 (en) Efficient high performance scalable pipelined searching method using variable stride multibit tries
US20140358886A1 (en) Internal search engines architecture
US9485179B2 (en) Apparatus and method for scalable and flexible table search in a network switch
WO2014047863A1 (en) Generating a shape graph for a routing table
CN106063228B (en) Keep the method and network equipment controller of routing iinformation
US10601711B1 (en) Lens table
US10469368B2 (en) Distributed routing table system with improved support for multiple network topologies
CN113791730B (en) Method, system, device and storage medium for adjusting placement groups based on double storage pools
US11888743B1 (en) Network device storage of incremental prefix trees
KR20140088069A (en) Optimising data transmission in a hypercube network
US10476798B1 (en) Network switch with deterministic longest prefix match lookup
US10511531B1 (en) Enhanced lens distribution
US10355994B1 (en) Lens distribution
US10795873B1 (en) Hash output manipulation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: CAVIUM INC.

Free format text: FORMER OWNER: XPLIANT INC.

Effective date: 20150717

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150717

Address after: California, USA

Applicant after: Cavium, Inc.

Address before: California, USA

Applicant before: XPLIANT, Inc.

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1202193

Country of ref document: HK

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Cavium, Inc.

Address before: California, USA

Patentee before: Cavium, Inc.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200423

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200423

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: California, USA

Patentee before: Cavium, Inc.