WO1999013620A2 - A lookup device and a method for classification and forwarding of packets in packet-switched networks - Google Patents
A lookup device and a method for classification and forwarding of packets in packet-switched networks Download PDFInfo
- Publication number
- WO1999013620A2 WO1999013620A2 PCT/SE1998/001585 SE9801585W WO9913620A2 WO 1999013620 A2 WO1999013620 A2 WO 1999013620A2 SE 9801585 W SE9801585 W SE 9801585W WO 9913620 A2 WO9913620 A2 WO 9913620A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet
- hash
- memory
- packet identifier
- index
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- 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/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/256—Routing or path finding in ATM switching fabrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
- H04L49/309—Header conversion, routing tables or routing tags
-
- 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/745—Address table lookup; Address filtering
- H04L45/7452—Multiple parallel or consecutive lookup operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
Definitions
- the present invention relates to a lookup device for classification and forwarding of packets in packet- switched networks.
- the present invention also relates to a method for classification and forwarding of packets in packet-switched networks.
- the packet classification operation consists of analysing information in the packet header (at least the destination address needs to be examined) , and performing a lookup operation to obtain the information required to forward the packet to its next hop.
- the same kind of classification nee ⁇ s to oe performed by a switch but the operation is generally tnought to be more complicated for an IP packet than for an ATM cell or an Ethernet frame.
- a common lookup method is to use a hashing scheme. In the article "A Comparison of Hashing Schemes for Address Lookup m Computer Networks", by R. Jain, IEEE Transactions on Communication, vol. 40, No. 10, pp. 1570-- 1573, 1992, is disclosed different hashing methods. The described hashing methods are:
- hash tables are implemented as a table of lists, where each table entry is a list of identifiers that share that index.
- the disadvantage with such an organisation is that it requires repetitive accesses to memory in order to do a lookup, lowering performance.
- many such schemes rely on only one hash function, so rehashing has to be performed if the distribution gets too skewed.
- the object of the present invention is to solve the above mentioned problems and to provide a lookup device for classification and forwarding of packets, wherein each packet comprises a packet header comprising a number of fields, wherein several fields in the packet header together form a packet identifier.
- This object is achieved by providing the lookup device defined in the introductory part of Claim 1 with the advantageous features of the characterizing part of said Claim.
- the lookup device comprises n parallel hashing units, wherein n is an integer and n>2 , for computing for each packet, a f ⁇ rs ⁇ index by hashing the packet identifier, and in dependence of the first index either directly or indirectly obtaining a packet identifier and forwarding information for the destination for said packet from one of at least n memories, wherein the n hashing units are processing the same packet identifier at a time.
- the lookup device also comprises a comparator connected either directly or indirectly to at least one of said memories and to an input to said n hashing units for comparing the packet identifier input to the n hashing units and the packet identifier output from said memory.
- each hashing unit comprises a hash function means for computing said first index, and a hash memory connected to said hash function means.
- the lookup device makes use of n different hash functions, one hash function for each hash function means.
- n n different hash functions
- the n hashing units are ordered by priority, wherein the first hashing unit has the highest priority, and the n:th hashing unit has the lowest priority.
- the first hash memory representin ⁇ the highest level in the lookup device, has the largest memory size
- the n:th hash memory representing the lowest level in the lookup device
- the memory sizes for the n hash memories are decreasing substantially lineary. Hereby is achieved the most efficient memory usage.
- SRAM's Static Random Access Memories
- DRAM's Dynamic Random Access Memories
- said first index function as an input to said hash memory giving a packet identifier and forwarding information for the destination and a hit flag as outputs.
- the lookup device also comprises a selecting means connected to the hit flag outputs of all n hash memories, a multiplexer connected to the packet identifier and forwarding information outputs of all n hash memories, wherein said comparator is connected to said multiplexer.
- a set hit flag indicates that there was an entry in the hash memory with the first index obtained by hashing the packet identifier, and the packet identifier from the hash memory with the highest priority with the hit flag set, if any, is used as input to said comparator via said multiplexer, whereby said comparator compares the packet identifier input to said hash function means and the packet identifier output from said multiplexer, and when the compared packet identifiers match, the forwarding information for the packet is obtained from the hash memory with the highest priority with the hit flag set.
- said first index function as an input to said hash memory giving a second index and a hit flag as outputs.
- the lookup device also comprises a selecting means connected to the hit flag outputs of all n hash memories, a multiplexer connected to the second index outputs of all n hash memories, an address memory, storing all packet identifiers together with the forwarding information for the destination, connected to said multiplexer, wherein said comparator is connected to said address memory.
- a set h t flag indicates that there was an entry in the hash memory with the first index obtained when hashing the packet identifier, and the second index from the hash memory with the highest priority with the hit flag set, if any, is used as input to said address memory, giving a packet identifier and the forwarding information as outputs.
- the comparator compares the packet identifier input to said hash function means and the packet identifier output from said address memory, and when the compared packet identifiers match, the forwarding information for the packet is obtained from said address memory.
- Another object of the invention is to provide a method for classification and forwarding of packets, wherein each packet comprises a packet header comprising a number of fields, wherein several fields in the packet header together forms a packet identifier.
- the method comprises the following steps: to compute, for each packet, a first index by hashing the input packet identifier m n different, parallel paths, wherein n is an integer and n>2 ; and in dependence of the first index either directly or indirectly obtaining a packet identifier and forwarding information for the destination for said packet from one of at least n memories; to compare the input packet identifier and the packet identifier output from the memory; and - if the compared packet identifiers match to make use of the forwarding information obtained from said memory.
- the main advantage with this method is that a new packet identifier can be looked up in each memory cycle time.
- Another advantage with this method is that it allows several table lookups to be performed in one memory cycle time, since the lookups are performed in parallel .
- the computing step comprises the steps : - to compute the first index by using different hash functions, one hash function for each path; and to use the first index as an input to a table, one of n different tables.
- the n paths are ordered by priority, wherein the first path has the highest priority and the n:th path has the lowest priority.
- the first table, representing the highest level has the largest size
- the n:th table, representing the lowest level has the smallest size
- each table stores packet identifiers and forwarding information for the destination, and wherein each table outputs a hit flag, wherein a set hit flag indicates that there was an entry in the table with the first index obtained by hashing the packet identifier, and the packet identifier from the table with the highest priority with the hit flag set, if any, is used as input to said comparing step.
- said first index functions as an input to said table giving a second index and a hit flag as outputs.
- a set hit flag indicates that there was an entry in the table with the first index obtained when hashing the packet identifier, and the second index from the table with the highest priority with the hit flag set, if any, is used as input to an address memory giving a packet identifier as output, and said packet identifier is used as input to said comparing step .
- a new packet identifier is to be added, it is initially hashed into the first path, and if a collision occurs, i.e. there is already a packet identifier with that first index in the first table, the two colliding packet identifiers are hashed into the second path, and if a collision occurs in the 1 : th path, the colliding packet identifiers are hashed into the (l+l) : th path, wherein l ⁇ n-1.
- l+l the colliding packet identifiers are hashed into the (l+l) : th path, wherein l ⁇ n-1.
- the method terminates for said packet identifier if the compared packet identifiers not match .
- the method terminates for said packet identifier if none of the n tables outputs a set hit flag.
- Figure 1 shows a schematic diagram of the fields in an IP packet header
- Figure 2 shows a schematic diagram of the hashing concept
- Figure 3 shows a block diagram of a lookup device according to the present invention.
- Figure 4 is a flow chart of the method according to the present invention.
- FIG 1 there is disclosed a schematic diagram of the fields in an IP packet header.
- the IP packet header comprises 12 different fields. As is disclosed in figure 1 these fields are: Version, IP Header Length, Type of
- IP packet classification There are in principle two different types of IP packet classification: IP address lookup, which is used for forwarding of unicast packets based on their destination address, and identifier lookup, which is intended to be used for, for example, forwarding of multicast packets and flows of packets. IP multicast addresses are not organized in a hierarchical structure. Identifier lookup is used when several fields in the packet header together form a packet identifier. Such an identifier has no hierarchical structure to it, and the identifier space is potentially very large. Therefore techniques such as hashing or CAM (Content Addressable Memory) are required for the lookup. The present invention is based on identifier lookup.
- figure 2 there is disclosed a schematic diagram of the hashing concept.
- hashing allows us to chop up a big table into several small subtables so that we can quickly find the information once we have determined the subtable to search for. This determination is made by using a mathematical function, which maps the given key to hash cell 1, as shown in figure 2. The cell I could then point us to the subtable of size ni . Given a trace of R frames with N distinct addresses and a hash table of M cells, the goal is to minimize the average number of lookups required per frame.
- q_ — denotes the fraction of frames that R hash to 1 : th cell
- p — is the fraction of
- N addresses that hash to ⁇ :th cell.
- the goal of a hashing function is to maximize the quantity ⁇ -q 1 log 2 (Pi) .
- FIG 3 there is disclosed a block diagram of a lookup device according to the present invention.
- the lookup device 30 is for classification and forwarding of packets in packet-switched networks, wherein each packet comprises a packet header (see figure 1) comprising a number of fields, wherein several fields in the packet header together forms a packet identifier.
- the lookup device 30 comprises n parallel hashing units 32 ⁇ , 32 2 , ... 32 n , wherein n is an integer and n>2.
- Each hashing unit 32 32 2 , ... 32 n comprises a hash function means 34 ⁇ , 34 2 , ... 34 n , and a hash memory 36 ⁇ , 36 2 , ... 36 n connected to said hash function means 34 ⁇ , 34 2 , ...
- Each hash function means 34 ⁇ , 34 2 , ... 34 n computes a first index by hashing the packet identifier. This first index is used as an input to said hash memory, giving a second index and a hit flag as outputs. A set hit flag indicates that there was an entry in a hash memory 36 ⁇ , 36 2 , ... 36 n with the first index obtained when hashing the packet identifier.
- the lookup device 30 according to the present invention makes use of n different hash functions, one hash function for each hash function means 34 1 , 34 2 , ... 34 n . This means that the lookup device 30 according to the present invention comprises several (n) parallel hash paths. All hashing units 32 lf 32 2 , ...
- the lookup device 30 also comprises a selecting means 38 connected to the hit flag outputs of all n hash memories 36 ⁇ , 36 2 , ... 36 n , and a multiplexer 39 connected to the second index outputs of all n hash memories 36 ⁇ , 36 2 , ... 36 n .
- the output from the selecting means 38 is connected to said multiplexer 39.
- the lookup device 30 also comprises an address memory 40, storing all the packet identifiers together with the forwarding information for the destination.
- the lookup device 30 also comprises a comparator 42 connected to said address memory 40.
- the comparator 42 has also another input, supplied with the identifier input to all the n hash function means 34 ⁇ , 34 2 , ... 34 n .
- the comparator 42 compares the packet identifier input to the n hash function means 34 ⁇ , 34 2 ,
- the packet identifier output from the address memory 40. If the compared packet identifiers match, the forwarding mformaton for the packet is obtained from said address memory 40, via a line 44. If they do not match it was a false hit, indicating that the packet identifier was not present in the address memory 40.
- the hash calculation, the memory lookup, the table lookup and the comparison are all independent operations and can work in parallel, thus the lookup can easily be pipelined to increase the throughput.
- Another embodiment of the lookup device according to the present invention does not comprise an address memory and does not make use of any second index.
- the hash memories 36 x , 36 2 , ... 36 n comprise the packet identifiers and the forwarding information.
- the packet identifier output from the hash memory with the highest priority with the hit flag set, if any, is used as input to said comparator.
- This embodiment is not disclosed in any figure. This embodiment comprises all the elements disclosed in figure 3, except the address memory 40.
- figure 3 is preferred for large identifiers, because it saves memory to use a second level memory. What method is best depends on how the design is used (i.e. size of identifiers, memory organization, etc.).
- the most efficient memory usage is obtained when the memory is divided into several hash paths.
- the hash paths should be organised hierarchically with the largest hash memory at the highest level and the smallest hash memory at the lowest level, preferably with the hash memory sizes for the n hash memories decreasing substantially lmeary.
- the lookup device 30 is preferably implemented using Static Random Access Memories (SRAMs) and/or Dynamic Random Access Memories (DRAMs) as memories.
- SRAMs Static Random Access Memories
- DRAMs Dynamic Random Access Memories
- the hash function means 34j_, 34 2 , ... 34 n can be implemented using xor folding, which is probably preferred, being very simple and easy to vary.
- each packet comprises a packet header (see figure 1) comprising a number of fields, wherein several fields in the packet header together form a packet identifier
- the method continues to compute, for each packet, a first index by hashing the input packet identifier in n different, parallel paths, wherein n is an integer and n>2.
- the method continues by, in dependence of the first index, either directly or indirectly obtaining a packet identifier and forwarding information for the destination for said packet from one of at least n memories.
- the method continues by comparing the input packet identifier and the packet identifier output from the memory. Then, at block 58, the method continues, if the compared packet identifiers match, by making use of the forwarding information obtained from said memory. Then, at block 60, the method is completed.
- the method according to the present invention can e.g. be implemented with a lookup device of the type disclosed in figure 3.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP98944371A EP1020053A2 (en) | 1997-09-09 | 1998-09-07 | A lookup device and a method for classification and forwarding of packets in packet-switched networks |
CA002303261A CA2303261A1 (en) | 1997-09-09 | 1998-09-07 | A lookup device and a method for classification and forwarding of packets in packet-switched networks |
AU91926/98A AU9192698A (en) | 1997-09-09 | 1998-09-07 | A lookup device and a method for classification and forwarding of packets in packet-switched networks |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9703293-2 | 1997-09-09 | ||
SE9703293A SE511971C2 (en) | 1997-09-09 | 1997-09-09 | A lookup device and a method for classifying and forwarding data packets in data packet switching networks |
Publications (2)
Publication Number | Publication Date |
---|---|
WO1999013620A2 true WO1999013620A2 (en) | 1999-03-18 |
WO1999013620A3 WO1999013620A3 (en) | 1999-06-03 |
Family
ID=20408225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/SE1998/001585 WO1999013620A2 (en) | 1997-09-09 | 1998-09-07 | A lookup device and a method for classification and forwarding of packets in packet-switched networks |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1020053A2 (en) |
AU (1) | AU9192698A (en) |
CA (1) | CA2303261A1 (en) |
SE (1) | SE511971C2 (en) |
WO (1) | WO1999013620A2 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1049298A2 (en) | 1999-04-22 | 2000-11-02 | Nortel Networks Limited | Method for classifying data acording to quality of service |
WO2001078309A2 (en) * | 2000-04-11 | 2001-10-18 | P-Cube Ltd. | A method and apparatus for wire-speed application layer classification of data packets |
WO2002093832A2 (en) * | 2001-05-16 | 2002-11-21 | Bytemobile, Inc. | System and methods for providing differentiated services within a network communication system |
EP1300992A1 (en) * | 2001-10-08 | 2003-04-09 | Alcatel | Method for distributing load over multiple shared resources in a communication network and network applying such a method |
WO2003055135A2 (en) * | 2001-12-21 | 2003-07-03 | Koninklijke Philips Electronics N.V. | Synchronizing source and destination systems via parallel hash value determinations |
FR2838590A1 (en) * | 2002-04-16 | 2003-10-17 | St Microelectronics Sa | ROUTING METHOD FOR A TELECOMMUNICATION NETWORK AND ROUTER FOR IMPLEMENTING SAID METHOD |
WO2004004238A1 (en) * | 2002-07-01 | 2004-01-08 | Infineon Technologies Ag | Associating mac addresses with addresses in a look-up table |
WO2004021653A2 (en) * | 2002-08-29 | 2004-03-11 | Intel Corporation | Method for address table lookup |
GB2399199A (en) * | 2000-04-11 | 2004-09-08 | Cube Ltd P | Data packet classification system |
EP1223725B1 (en) * | 2001-01-12 | 2005-06-29 | Vector Informatik GmbH | Method and device for testing of the relevancy of a signature |
EP1564960A1 (en) * | 2001-05-16 | 2005-08-17 | Bytemobile, Inc. | System and methods for providing differentiated services within a network communication system |
US7027446B2 (en) * | 2001-07-18 | 2006-04-11 | P-Cube Ltd. | Method and apparatus for set intersection rule matching |
EP1522196B1 (en) * | 2002-07-11 | 2010-04-07 | Sprint Communications Company, L.P. | Centralized service control for a telecommunication system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5206856A (en) * | 1989-12-27 | 1993-04-27 | Bell Communications Research, Inc. | Routing of network traffic |
EP0563572A2 (en) * | 1992-03-27 | 1993-10-06 | Motorola, Inc. | Dynamic signal routing |
-
1997
- 1997-09-09 SE SE9703293A patent/SE511971C2/en not_active IP Right Cessation
-
1998
- 1998-09-07 CA CA002303261A patent/CA2303261A1/en not_active Abandoned
- 1998-09-07 AU AU91926/98A patent/AU9192698A/en not_active Abandoned
- 1998-09-07 EP EP98944371A patent/EP1020053A2/en not_active Withdrawn
- 1998-09-07 WO PCT/SE1998/001585 patent/WO1999013620A2/en not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5206856A (en) * | 1989-12-27 | 1993-04-27 | Bell Communications Research, Inc. | Routing of network traffic |
EP0563572A2 (en) * | 1992-03-27 | 1993-10-06 | Motorola, Inc. | Dynamic signal routing |
Non-Patent Citations (1)
Title |
---|
IEEE/ACM TRANSACTIONS ON NETWORKING, Volume 4, No. 2, April 1996, GIRISH P. CHANDRANMENON et al., "Trading Packet Headers for Packet Processing", pages 141-152. * |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1049298A2 (en) | 1999-04-22 | 2000-11-02 | Nortel Networks Limited | Method for classifying data acording to quality of service |
EP1049298A3 (en) * | 1999-04-22 | 2002-10-02 | Nortel Networks Limited | Method for classifying data acording to quality of service |
US6765909B1 (en) | 1999-04-22 | 2004-07-20 | Nortel Networks Limited | Method and apparatus for providing support for multiple QoS levels within a third generation packet data session |
WO2001078309A3 (en) * | 2000-04-11 | 2002-05-16 | Cube Ltd P | A method and apparatus for wire-speed application layer classification of data packets |
GB2399199B (en) * | 2000-04-11 | 2004-10-27 | Cube Ltd P | A method and apparatus for wire-speed application layer classification of data packets |
GB2377528A (en) * | 2000-04-11 | 2003-01-15 | Cube Ltd P | A method and apparatus for wire-speed application layer classification of data packets |
WO2001078309A2 (en) * | 2000-04-11 | 2001-10-18 | P-Cube Ltd. | A method and apparatus for wire-speed application layer classification of data packets |
GB2399199A (en) * | 2000-04-11 | 2004-09-08 | Cube Ltd P | Data packet classification system |
GB2377528B (en) * | 2000-04-11 | 2004-10-27 | Cube Ltd P | A method for wire-speed generation of an m-bit hash address from an n-bit tuple of a packet |
EP1223725B1 (en) * | 2001-01-12 | 2005-06-29 | Vector Informatik GmbH | Method and device for testing of the relevancy of a signature |
US7031314B2 (en) | 2001-05-16 | 2006-04-18 | Bytemobile, Inc. | Systems and methods for providing differentiated services within a network communication system |
EP1564960A1 (en) * | 2001-05-16 | 2005-08-17 | Bytemobile, Inc. | System and methods for providing differentiated services within a network communication system |
WO2002093832A3 (en) * | 2001-05-16 | 2003-05-01 | Bytemobile Inc | System and methods for providing differentiated services within a network communication system |
WO2002093832A2 (en) * | 2001-05-16 | 2002-11-21 | Bytemobile, Inc. | System and methods for providing differentiated services within a network communication system |
US7027446B2 (en) * | 2001-07-18 | 2006-04-11 | P-Cube Ltd. | Method and apparatus for set intersection rule matching |
EP1300992A1 (en) * | 2001-10-08 | 2003-04-09 | Alcatel | Method for distributing load over multiple shared resources in a communication network and network applying such a method |
US8675655B2 (en) | 2001-10-08 | 2014-03-18 | Alcatel Lucent | Method for distributing load over multiple shared resources in a communication network and network applying such a method |
WO2003055135A3 (en) * | 2001-12-21 | 2003-11-27 | Koninkl Philips Electronics Nv | Synchronizing source and destination systems via parallel hash value determinations |
WO2003055135A2 (en) * | 2001-12-21 | 2003-07-03 | Koninklijke Philips Electronics N.V. | Synchronizing source and destination systems via parallel hash value determinations |
FR2838590A1 (en) * | 2002-04-16 | 2003-10-17 | St Microelectronics Sa | ROUTING METHOD FOR A TELECOMMUNICATION NETWORK AND ROUTER FOR IMPLEMENTING SAID METHOD |
US7570644B2 (en) | 2002-04-16 | 2009-08-04 | Stmicroelectronics S.A. | Routing method for a telecommunications network and router for implementing said method |
WO2004004238A1 (en) * | 2002-07-01 | 2004-01-08 | Infineon Technologies Ag | Associating mac addresses with addresses in a look-up table |
EP1522196B1 (en) * | 2002-07-11 | 2010-04-07 | Sprint Communications Company, L.P. | Centralized service control for a telecommunication system |
US8279862B2 (en) | 2002-07-11 | 2012-10-02 | Sprint Communications Company L.P. | Centralized service control for a telecommunication system |
WO2004021653A3 (en) * | 2002-08-29 | 2004-07-22 | Intel Corp | Method for address table lookup |
WO2004021653A2 (en) * | 2002-08-29 | 2004-03-11 | Intel Corporation | Method for address table lookup |
US7877504B2 (en) | 2002-08-29 | 2011-01-25 | Intel Corporation | Techniques for entry lookups |
Also Published As
Publication number | Publication date |
---|---|
WO1999013620A3 (en) | 1999-06-03 |
SE511971C2 (en) | 2000-01-10 |
SE9703293L (en) | 1999-03-10 |
SE9703293D0 (en) | 1997-09-09 |
AU9192698A (en) | 1999-03-29 |
EP1020053A2 (en) | 2000-07-19 |
CA2303261A1 (en) | 1999-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6052683A (en) | Address lookup in packet data communication networks | |
Lakshman et al. | High-speed policy-based packet forwarding using efficient multi-dimensional range matching | |
Song et al. | Ipv6 lookups using distributed and load balanced bloom filters for 100gbps core router line cards | |
Warkhede et al. | Fast packet classification for two-dimensional conflict-free filters | |
US7079537B1 (en) | Layer 3 switching logic architecture in an integrated network switch | |
US6826561B2 (en) | Method and apparatus for performing a binary search on an expanded tree | |
US20150023351A1 (en) | Method and apparatus for performing link aggregation | |
US7327727B2 (en) | Atomic lookup rule set transition | |
Huang et al. | Design of multi-field IPv6 packet classifiers using ternary CAMs | |
US6343078B1 (en) | Compression of forwarding decisions in a network device | |
US7624226B1 (en) | Network search engine (NSE) and method for performing interval location using prefix matching | |
WO1999013620A2 (en) | A lookup device and a method for classification and forwarding of packets in packet-switched networks | |
US6731633B1 (en) | Network unit including address hashing | |
US7403526B1 (en) | Partitioning and filtering a search space of particular use for determining a longest prefix match thereon | |
Moestedt et al. | IP address lookup in hardware for high-speed routing | |
US7975097B2 (en) | Reducing content addressable memory (CAM) power consumption counters | |
US6591317B1 (en) | Queue incorporating a duplicate counter per entry | |
US20050114393A1 (en) | Dynamic forwarding method using binary search | |
CA2302744A1 (en) | A lookup device and a method for classification and forwarding of packets | |
Lim et al. | Binary searches on multiple small trees for IP address lookup | |
Li et al. | Scalable packet classification using bit vector aggregating and folding | |
Uga et al. | A fast and compact longest match prefix look-up method using pointer cache for very long network address | |
Huang et al. | Fast routing table lookup based on deterministic multi-hashing | |
Perez et al. | Memory cost analysis for OpenFlow multiple table lookup | |
Ke et al. | The analysis and design of fast route lookup algorithms for high performance router |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
ENP | Entry into the national phase |
Ref document number: 2303261 Country of ref document: CA Ref country code: CA Ref document number: 2303261 Kind code of ref document: A Format of ref document f/p: F |
|
WWE | Wipo information: entry into national phase |
Ref document number: 09508214 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1998944371 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWP | Wipo information: published in national office |
Ref document number: 1998944371 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1998944371 Country of ref document: EP |