EP1010304A4 - Appareil et procede d'acheminement de paquets de donnees a travers un reseau de communications - Google Patents

Appareil et procede d'acheminement de paquets de donnees a travers un reseau de communications

Info

Publication number
EP1010304A4
EP1010304A4 EP98943389A EP98943389A EP1010304A4 EP 1010304 A4 EP1010304 A4 EP 1010304A4 EP 98943389 A EP98943389 A EP 98943389A EP 98943389 A EP98943389 A EP 98943389A EP 1010304 A4 EP1010304 A4 EP 1010304A4
Authority
EP
European Patent Office
Prior art keywords
node
address
location
leaf
tree
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.)
Withdrawn
Application number
EP98943389A
Other languages
German (de)
English (en)
Other versions
EP1010304A2 (fr
Inventor
Clark Bremer
Marlon Gunderson
Christine E Severns
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.)
Ascend Communications Inc
Original Assignee
Ascend Communications Inc
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 Ascend Communications Inc filed Critical Ascend Communications Inc
Publication of EP1010304A2 publication Critical patent/EP1010304A2/fr
Publication of EP1010304A4 publication Critical patent/EP1010304A4/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • 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/54Organization of routing tables

Definitions

  • This invention relates generally to data communications systems, and more particularly to
  • system may not provide a direct connection between a source node in California and a
  • a routing table may store
  • routing table is examined to determine the next node on the path. And in each case only the next
  • node in the path is generally stored, since the alternative of storing the entire sequence of nodes
  • data may be routed from a source to a destination by hopping between various nodes.
  • Routing at nodes in a computer network is accomplished by routers.
  • routers along the path of the data.
  • networks As complex as the Internet, where approximately 100,000 networks connect 10 million computers, and where a data packet may be sent through
  • Each router in a network may have a predetermined amount of
  • route table look-up may not occur as fast as data packets are entering the router.
  • a very slow route table look-up process may cause the memory to overflow because there are too
  • Some conventional routers use software-implemented search engines to determine the
  • the routers use a microprocessor to receive data packets from remote
  • microprocessors may execute specific instructions
  • microprocessor may be tied up while performing the route table search and thus
  • the invention provides an apparatus and method for rapidly routing data packets through
  • next router in a path of a data packet as it moves towards a destination computer.
  • the table may be stored as a binary tree in a router's memory.
  • the nodes of the binary tree may be stored as a binary tree in a router's memory.
  • the leaves may correspond to the physical
  • next router in a path is determined by traversing the binary tree and reading a router address stored in a leaf node.
  • the binary tree which determines whether the right branch or the left branch is taken from the
  • the apparatus used to traverse the routing table uses a
  • the apparatus allows the main microprocessor in the router to perform other tasks while
  • the hardware search engine is performing the route table search.
  • a master microprocessor is used to control a hardware
  • search engine that it used to traverse a routing table stored as a search tree, also known as a
  • search trie to produce the address of a router in path to which a data packet is to be sent.
  • search tree or trie may be a compressed special radix tree or a Patricia tree.
  • microprocessor communicates data about the radix tree to the hardware search engine and can
  • the hardware search engine traverses each node in the radix tree in one
  • next router that the data packet may be sent to.
  • the physical address of the next router may be determined and the data packet sent to the next router on its
  • Figure 1 is a drawing of a communications system having a system of networks attached
  • FIG 2 is a diagram showing more details of the router as shown in Figure 1;
  • FIG. 3 is a block diagram of the router of Figure 2 in accordance with the present
  • Figure 4 is a data structure for a data packet transmitted along the Internet using the
  • Figure 5 is a drawing of the router, a routing table in the router, and the ports of the
  • Figure 6 is a diagram of an example of a network
  • Figure 7 is a binary tree for a node of the network shown in Figure 6;
  • Figure 8 is a second binary tree for a second node of the network shown in Figure 6;
  • Figure 9 is a diagram illustrating the data structure of nodes of a search tree in accordance
  • FIGS 10-13 are diagrams of data structures that are used to store information in nodes
  • Figures 14A and 14B illustrate a flowchart for the method of traversing a routing table
  • Figure 15 is a drawing of an example of a router with a plurality of networks attached to
  • Figure 16 is a routing table in accordance with the present invention stored as a radix tree
  • the invention is particularly applicable to the routing of data packets along a system of
  • Figure 1 illustrates a computer network that uses routers to transmit a data packet from
  • the source host 10 one computer (a source host 10) to another computer (a destination host 11).
  • the source host 10 one computer (a source host 10) to another computer (a destination host 11).
  • Source host 10 may be connected to a network 20.
  • Source host 10 may communicate directly with destination
  • source host may first send the data packet to a router 25, which
  • source host 10 in turn can route the data packet to its destination. For example, if source host 10 wishes to send
  • source host 10 formats the data packet to
  • the source host 10 will contain the address (the destination address) of the destination host 33.
  • the source host 10 will therefore only contain the address (the destination address) of the destination host 33.
  • router A 25 which will use a routing table stored in its memory to
  • source 10 determines that destination host is not on network 10 and that the
  • Router A using its own route table, may then forward a data packet to router A 25.
  • Router A using its own route table, may then forward a data packet to router A 25.
  • router B 26 which, as discussed below, may be connected to a port on router A.
  • destination host 33 is on network 30, and router B places the data packet on network 30 to be
  • the data packet was to be transmitted to a destination host 33. If, for example, the data packet was to be transmitted to a destination host 33.
  • the data packet should be sent to router C 27, which may be connected to another port on
  • the entries in a routing table may be initialized and updated in a variety of ways,
  • static routing a system administrator for a
  • network may add known routes into the route table.
  • dynamic routing also known as
  • a dynamic routing protocol software application running on a router may query
  • the other routers may send
  • the router it may determine the destinations that it may sent data packets to and the next router
  • the router can update its entries in the route table to
  • routers on the router's current path. Now, a router that routes data packets through a network
  • Figure 2 is a more detailed diagram of the router 25 of Figure 1. The elements in
  • a data packet containing the destination address may
  • the data packet may be received by the router on a transmission cable 40.
  • the data packet may be stored in an I/O
  • a hardware search engine 46 that may be a microprocessor that
  • route table and lookup 41 Using the routing table and a search tree, the hardware search engine
  • the route table look-up may also be conducted by a software search application being executed
  • the router is a microprocessor (not shown) which is separate from the hardware search engine.
  • the router is a microprocessor (not shown) which is separate from the hardware search engine.
  • search engine may have several ports connected to other routers, so the search engine must also determine a
  • a packet forwarder 43 may
  • search engine may then erase the data packet from the I/O buffer.
  • Figure 3 is a block diagram of an embodiment of the route table and lookup 41 shown in
  • the route table and lookup 41 may include
  • the hardware search engine may
  • traverse e.g. searches through
  • a routing table stored as a search tree e.g., a compressed special
  • the hardware search engine is a piece of hardware that
  • the traversing of the route table and the search tree may also be conducted by a software search
  • the master microprocessor may
  • the master microprocessor may also perform further processing
  • the master microprocessor may
  • master microprocessor may store, in a set of registers 61, the head node of a search tree, that may
  • search engine can begin searching the search tree.
  • the search tree in accordance with the
  • the hardware search engine may store the results of a route table search in the
  • set of registers 61 indicating whether a router that can forward the data packet to its final
  • engine may also communicate with a memory controller 53 that controls access to data in the
  • addressing of data in the route table memory 63 may further be controlled by address
  • circuitry 60 During a route table search, the head node of the search tree and the search key
  • each other node may be retrieved from the route table memory and processed by the hardware search
  • the search tree is traversed by the hardware search engine to determine a
  • a hardware match circuit 62 may be used to determine
  • router and the data packet may be sent along one of the default routes.
  • the traversal of the search tree may occur entirely using hardware circuitry which
  • the data packet is received and stored in the
  • the master microprocessor 51 stores the
  • the hardware search engine retrieves a node and determines the node in the
  • search engine encounters a leaf, which may store the physical address of a router in the path. It
  • the match circuitry 62 transmits the leaf data to the match circuitry 62 to determine whether the leaf does store a valid route (e.g., the data packet can reach its destination if it is forwarded to the router address at
  • Figure 4 shows some of the relevant fields in a data packet 70 formatted according to the
  • IPv4 Internet Protocol version 4 protocol.
  • IPv4 protocol is a protocol that determines
  • the data packet contains header portions 71-75 and a data portion 76 that stores the
  • the header contains a version field 71, which indicates how
  • IPv4 datagram which contains the fields listed in Figure 4.
  • a length field 102 stores a value equal to the total length of the data packet
  • a Time To Live field 73 stores a value that indicates how
  • a source address field 74 contains the address of the source host
  • a destination address field 75 contains the address of the destination host.
  • Figure 5 illustrates a router and how a routing table is used to determine how to route a
  • data packet 47 may be stored in the I/O
  • the data packet has a destination address A, corresponding to destination
  • the hardware search engine After the data packet has been stored in the I/O buffer, the hardware search engine
  • address A corresponds to the first entry in the routing table for router B, with the corresponding
  • the packet forwarder 43 then transmits the data packet to port A0 and the
  • Router B can then transmit the data packet to destination host A 33 on network 30.
  • the data packet is transmitted to router C 27 which then forwards the data packet to host E.
  • the data packet may be routed to interface CO and transmitted
  • routing tables are stored as binary search trees in the memory of the router.
  • Each node in the binary tree is stored in a memory location of the router and may correspond to a
  • the decision at each node is based on a single bit in the destination address
  • the binary tree is called a radix tree.
  • the leaves of the search tree may contain a physical address of the next router in the path. When a leaf is reached, all the nodes in the tree that were traversed
  • the destination address is sometimes
  • search key data could also be used as search keys to traverse a radix tree.
  • the complete destination address of the data packet may not used as a
  • route table (e.g., a group of host computers linked together) are listed in a route table, although the route
  • Each network may have a plurality of host
  • each host computer may have a unique address.
  • the destination address of the host computer may be "10011".
  • the destination address of the host computer may be "10011".
  • XX may have any value. Therefore, in searching for the network to send the data packet to, all
  • portion e.g., the lower two bits in this example, can be masked out by, for example, logically
  • address may be stored in a leaf node in a search tree.
  • an index instead of storing a physical address of a router in a leaf node, an index
  • nexthop table may be stored in the leaf, and the nexthop table may have entries that
  • router addresses correspond to router addresses. This may be beneficial, for example, when many leaf nodes
  • nexthop table contains the same router address and less memory is required to store a small index number at the multiple leaf nodes and a few large addresses may be stored in the nexthop table.
  • Figure 7 is an example of a radix tree 80 corresponding to the system of interconnected
  • a router 90 of Figure 6 with a destination address of binary '111' which is the physical address
  • router B For router B.
  • the example is merely illustrative and typical destination addresses are much
  • router 90 as shown in Figure 6, is traversed to obtain the address of the next router in the path to
  • the radix tree is traversed using known methods and the right
  • node of the search tree may be traversed when a "1" is encountered while a left node is traversed
  • node 81 is a starting point for the search. Comparing the first bit of the destination address (e.g.,
  • the node 84 is a leaf node
  • the leaf node contains an address 84 A of the next
  • a similar search process may take place at router A.
  • a radix tree for router A is shown in
  • the radix tree in router A may have a longer search, testing three bits in the destination address.
  • the search may begin at a head node 88 after testing two bits in the
  • destination address is a binary '1,' the right branch is taken to node 89 which is a leaf node.
  • router B Because the address of router B is stored at node 89 the data packet is sent to router B. This
  • each node in a radix tree may be traversed in
  • a radix tree can be cut approximately in half, doubling the amount of data packets that each
  • Figure 9 shows the data structure for nodes of a radix tree in accordance with the
  • a head node 90 a child node 93, a left grandchild node 97, and a right
  • a search tree may have a plurality of nodes which contain data.
  • a head node is the
  • node is any node in the search tree that has a node above it in the tree and also has nodes
  • a leaf connected below it in the tree.
  • the nodes connected to a parent node are child nodes.
  • a leaf
  • node is a node that has a parent, but does not have any child nodes so that it is an end point of the
  • a node in the tree may be both parent node with respect to its
  • associated child nodes may also be a child node with respect to its parent node.
  • the head node 90 may include a bit position field 91 and a child
  • the bit position field indicates which bit position of a destination address is
  • the child has a left node descriptor 94 and a right node descriptor 95.
  • the left node descriptor has a
  • bit position field 94a and a child pointer field 94b, which stores the address of the left
  • the right node descriptor 95 has a bit position field 95a and a child pointer
  • bit position fields may
  • each node has a bit position field
  • each node contains the decision bits for the nodes
  • node 93 contains bit position fields 94a, 95a for nodes 97, 98.
  • the radix tree in Figure 9 may be searched using the binary search key '01 ' as follows (in
  • bits are numbered from left to right starting with the 0th bit), assuming that a ' 1 ' bit requires that a right branch is taken.
  • address field in head node 90 are read from the set of registers 61, as shown in Figure 3, in one
  • the 0th bit of the search key is the decision bit and the child address is the address
  • the search engine will load the left node descriptor 94 in node A from the route table memory
  • Figures 10-13 show several embodiments of the data structures that can be used for a
  • Figure 10 shows a head node 100 having an attached route (ar) field 101, a node index
  • the field may indicate whether the node pointed to by the node index field (e.g., a child node) has an
  • An attached route is a node in a tree that may contain an address of a router, but
  • the node may be stored in a stack, for example, for
  • the node with the attached route may be retrieved from the stack and processed to determine whether
  • the If field may indicate whether the node pointed to by the node index field is a
  • the np field may indicate whether the node pointed to by the node index field
  • a node (e.g., a child) has a child or is null. Since, for example, a node cannot have a child that is both a
  • np field indicates that the child of the current node is a leaf
  • a ' 1 ' bit in the np field indicates that the child of the current node is a leaf
  • bit position field may indicate
  • node should read the left or the right node descriptor of the child.
  • the node should read the left or the right node descriptor of the child.
  • Figure 11 shows a node data structure 110 having a right node descriptor 111 and a left
  • the fields in each node descriptor are similar to the corresponding fields in
  • memory access may retrieve this information.
  • one memory access may retrieve this information.
  • one memory access may retrieve this information.
  • one memory access may retrieve this information.
  • one memory access may retrieve this information.
  • Figure 12 shows a leaf node data structure 115.
  • the leaf may have a mask length
  • a flags field 117 which may be used by the software to make decisions after a lookup
  • nexthop_index_handle field 118 which may store an index into a nexthop
  • a field for the most significant word of the prefix 119 e.g., the physical address of a
  • nexthop_index_handle provides an
  • Figure 13 shows a data structure 125 for a node with an attached route. This node is the
  • the node may have a right node descriptor 126, a left node descriptor 127, as
  • the attached route block may contain a mask
  • Figures 14A and 14B illustrate a method for searching a search tree, such as a special
  • step 140 the head node of the search tree is loaded from the set of registers.
  • the various data fields in the current node are then analyzed.
  • step 141 the hardware search
  • step 142 the hardware search engine pushes the head node descriptor onto a route stack so that it
  • step 143 the hardware search
  • the engine determines if the leaf bit (If) of the head node is set. If the leaf node is not set (e.g., the
  • step 144 the hardware search engine determines if the node
  • node descriptor may be invalid if any more than one of the If, np or ar bits are set. If the child
  • step 145 an error routine is executed and an error message is
  • step 146 the hardware search engine
  • step 149 the hardware
  • step 150 determines, in step 150, if the bit in the search key is "1". If the bit is "1", then the data
  • step 141 the method loops back to step 141 and the processing occurs again for the current
  • node of the search tree being traversed which may be the right or left child node of the head
  • steps 141- 152 may occur simultaneously such that the bits of the current node are all processed
  • step 153 the address of the route pointed to by the current node descriptor is
  • the hardware search engine may then determine if the address of the route matches
  • step 154 If the route address in the leaf node matches the search key, then the
  • step 155 the best match route has been identified in step 155 and the traversal of the search tree is complete.
  • step 156 If the route stack is empty, then in
  • step 160 the hardware search engine indicates that no best match is found and the data packet
  • the router may be sent along a default route assigned to it by the router. If the stack is not empty, then in
  • step 157 the top node descriptor on the stack is read and the hardware search engine, in step 157,
  • step 158 determines if the route attached to the node descriptor matches the search key in step 158. If the
  • the stack is tested to determine if it is empty
  • step 156 back in step 156 and the same analysis of the next attached route in the stack occurs. If the
  • step 159 the hardware search engine
  • Figure 15 illustrates a system of networks and routers
  • Figure 16 illustrates a portion
  • Figures 10-13 will be used to traverse this tree using a binary destination address (i.e., search
  • the hardware search engine may perform the search method described above and
  • a '0' in the leaf field indicates that the node is not a leaf.
  • a data packet 161 may be at a router 162.
  • the router 162 may be connected
  • Figure 16 shows a special compressed radix search tree for the router 162
  • each leaf node of the radix tree contains a physical address for a corresponding router
  • leaf node 179 contains an address for router A 163 while
  • router G 169 and an example of a search performed by a hardware search engine in accordance
  • router 162 With the invention in router 162 will be described.
  • the route table search begins at a head node 170 that has a bit position field 170a equal to
  • the 0th bit of the search key is ' 1 ' and the hardware search engine determines
  • the parent node e.g., the node above another node in the search tree
  • the hardware search engine already has the information to determine whether to
  • the leaf bit of node description 171b contains a 0, so this node's child is not a leaf.
  • node 171b bit position in node 171b is 2, and the 2nd bit in the search key is '0,' so the left node descriptor 173 a of node 173 is the next node that is retrieved based on the pointer in the node
  • search key which is "0" is read and that determines that a left node descriptor 174a of node 174
  • the hardware search engine retrieves the node 174a and due to
  • node 176b is retrieved. Note that the left node descriptor 176a contains a null
  • np field 176c indicating that the descriptor does not have any node attached to it.
  • node 180 is the next node descriptor to be processed and node 180b is retrieved and traversed.
  • node 180 has an attached route 180c which is stored in the route stack.
  • the leaf node 180d of the node descriptor is set indicating to the
  • a mask length field 181b which holds a value of "20"
  • 0xC6AED000 equals the route address. Accordingly, there is a match, and the data packet is
  • the attached routes placed on the route stack may be
  • C6AE0000 may match the destination address and provide the data packet with an alternate
  • the router must go back up the nodes of the Patricia tree and try to determine another
  • each node may have an

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

La présente invention concerne un procédé et un appareil permettant de déterminer le prochain routeur auquel un paquet de données est transmis, sur son trajet, à un hôte destinataire en traversant une table d'acheminement à l'aide d'un moteur de recherche matériel et un arbre de recherche unique. La traversée de chaque noeud de l'arbre de recherche prend seulement un cycle de mémoire, ce qui divise en deux le temps qu'il faut pour chercher une table d'acheminement et donc les paquets de données sur un système de réseaux d'ordinateurs. Ceci s'effectue en stockant le bit de décision de chaque noeud dans un noeud parent plutôt que dans le noeud lui-même. Cet appareil peut utiliser un moteur de recherche matériel pour rechercher la table d'acheminement.
EP98943389A 1997-08-29 1998-08-25 Appareil et procede d'acheminement de paquets de donnees a travers un reseau de communications Withdrawn EP1010304A4 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US921189 1997-08-29
US08/921,189 US6553002B1 (en) 1997-08-29 1997-08-29 Apparatus and method for routing data packets through a communications network
PCT/US1998/017615 WO1999011000A2 (fr) 1997-08-29 1998-08-25 Appareil et procede d'acheminement de paquets de donnees a travers un reseau de communications

Publications (2)

Publication Number Publication Date
EP1010304A2 EP1010304A2 (fr) 2000-06-21
EP1010304A4 true EP1010304A4 (fr) 2006-03-29

Family

ID=25445057

Family Applications (1)

Application Number Title Priority Date Filing Date
EP98943389A Withdrawn EP1010304A4 (fr) 1997-08-29 1998-08-25 Appareil et procede d'acheminement de paquets de donnees a travers un reseau de communications

Country Status (5)

Country Link
US (1) US6553002B1 (fr)
EP (1) EP1010304A4 (fr)
AU (1) AU9119898A (fr)
CA (1) CA2302531A1 (fr)
WO (1) WO1999011000A2 (fr)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6046999A (en) * 1996-09-03 2000-04-04 Hitachi, Ltd. Router apparatus using ATM switch
US6493347B2 (en) 1996-12-16 2002-12-10 Juniper Networks, Inc. Memory organization in a switching device
US6065061A (en) * 1997-12-16 2000-05-16 Lucent Technologies Inc. Internet protocol based network architecture for cable television access with switched fallback
DE60031515T2 (de) 1999-03-17 2007-08-23 Broadcom Corp., Irvine Netzwerkvermittlung
US7366171B2 (en) * 1999-03-17 2008-04-29 Broadcom Corporation Network switch
US7643481B2 (en) * 1999-03-17 2010-01-05 Broadcom Corporation Network switch having a programmable counter
JP3449326B2 (ja) * 1999-12-08 2003-09-22 日本電気株式会社 データ検索システム及びパケット処理装置並びに制御方法
JP2003516666A (ja) * 1999-12-10 2003-05-13 モサイド・テクノロジーズ・インコーポレイテッド 最長一致アドレスルックアップのための方法および装置
US7035934B1 (en) * 2000-03-23 2006-04-25 Verizon Corporate Services Group Inc. System and method for improving traffic analysis and network modeling
US6947931B1 (en) * 2000-04-06 2005-09-20 International Business Machines Corporation Longest prefix match (LPM) algorithm implementation for a network processor
US6658481B1 (en) * 2000-04-06 2003-12-02 International Business Machines Corporation Router uses a single hierarchy independent routing table that includes a flag to look-up a series of next hop routers for routing packets
US6675163B1 (en) * 2000-04-06 2004-01-06 International Business Machines Corporation Full match (FM) search algorithm implementation for a network processor
US6826561B2 (en) * 2000-05-22 2004-11-30 Broadcom Corporation Method and apparatus for performing a binary search on an expanded tree
US7966421B2 (en) * 2000-06-21 2011-06-21 SAtech Group, A.B. Limited Liability Company Method and apparatus for logically expanding the length of a search key
JP4265087B2 (ja) * 2000-06-29 2009-05-20 ソニー株式会社 データ変換装置及び方法、データ送受信装置及び方法、ネットワークシステム
US7149216B1 (en) * 2000-09-05 2006-12-12 Cisco Technology, Inc. M-trie based packet processing
US6851000B2 (en) * 2000-10-03 2005-02-01 Broadcom Corporation Switch having flow control management
US7106732B2 (en) * 2000-12-27 2006-09-12 Mosaid Technologies Incorporated Default route coding
KR100488414B1 (ko) * 2000-12-30 2005-05-11 한국전자통신연구원 다중탐색 트리의 노드 생성 방법, 및 그에 따라 생성된 다중탐색 트리 구조의 자료 탐색 방법
US6504848B1 (en) * 2001-06-13 2003-01-07 Interdigital Communications Corporation Binary-tree method and system for multiplexing scheduling
US20030037132A1 (en) * 2001-08-20 2003-02-20 Abdollahi Mahshid Ellie Controlling multiple nodes using SNMP
IL145040A0 (en) * 2001-08-21 2002-06-30 Infocyclone Inc Tree search unit
US8880709B2 (en) * 2001-09-12 2014-11-04 Ericsson Television Inc. Method and system for scheduled streaming of best effort data
US8532127B2 (en) 2001-10-19 2013-09-10 Juniper Networks, Inc. Network routing using indirect next hop data
US8195705B2 (en) * 2001-12-11 2012-06-05 International Business Machines Corporation Hybrid search memory for network processor and computer systems
US20030185221A1 (en) * 2002-03-29 2003-10-02 Alan Deikman Network controller with shadowing of software routing tables to hardware routing tables
US7284111B1 (en) 2002-04-17 2007-10-16 Dinochip, Inc. Integrated multidimensional sorter
US7092990B2 (en) * 2002-06-26 2006-08-15 International Business Machines Corporation Handling node address failure in a distributed nodal system of processors
US7184437B1 (en) 2002-07-17 2007-02-27 Juniper Networks, Inc. Scalable route resolution
US7362744B2 (en) * 2002-08-15 2008-04-22 International Business Machines Corporation Database management system and method of using it to transmit packets
US7346009B2 (en) * 2002-09-30 2008-03-18 Mosaid Technologies, Inc. Dense mode coding scheme
US20040210588A1 (en) * 2003-04-18 2004-10-21 Simkins Mark B. Methods and apparatus for address lookup
US20050097196A1 (en) * 2003-10-03 2005-05-05 Wronski Leszek D. Network status messaging
US7362765B1 (en) 2003-12-15 2008-04-22 Dinochip, Inc. Network traffic management system with floating point sorter
US7814188B2 (en) 2003-12-16 2010-10-12 Honeywell International Inc. Synchronized wireless communications system
US20050154762A1 (en) * 2004-01-14 2005-07-14 Bing Wang Fast rule lookup with arbitrary IP range configurations
US7292591B2 (en) 2004-03-30 2007-11-06 Extreme Networks, Inc. Packet processing system architecture and method
US7649879B2 (en) * 2004-03-30 2010-01-19 Extreme Networks, Inc. Pipelined packet processor
US7580350B1 (en) 2004-03-30 2009-08-25 Extreme Networks, Inc. System for deriving packet quality of service indicator
US7889750B1 (en) 2004-04-28 2011-02-15 Extreme Networks, Inc. Method of extending default fixed number of processing cycles in pipelined packet processor architecture
US7889674B2 (en) * 2004-05-04 2011-02-15 Samsung Electronics Co., Ltd. Zigbee network device for assigning addresses to child nodes after constructing cluster-tree structure, address assigning method and routing method
US7352697B1 (en) 2004-06-23 2008-04-01 Dinochip, Inc. Network processing using fractional time stamp values
JP2006333438A (ja) * 2005-04-28 2006-12-07 Fujitsu Ten Ltd ゲートウェイ装置及びルーティング方法
KR100747466B1 (ko) * 2005-10-01 2007-08-09 엘지전자 주식회사 추가 속성을 가지는 노드를 이용하는 장치 관리 방법 및장치 관리 클라이언트
US7512080B1 (en) * 2005-11-08 2009-03-31 Juniper Networks, Inc. Forwarding tree having multiple bit and intermediate bit pattern comparisons
US7624226B1 (en) * 2005-12-20 2009-11-24 Netlogic Microsystems, Inc. Network search engine (NSE) and method for performing interval location using prefix matching
US7817633B1 (en) 2005-12-30 2010-10-19 Extreme Networks, Inc. Method of providing virtual router functionality through abstracted virtual identifiers
US7894451B2 (en) * 2005-12-30 2011-02-22 Extreme Networks, Inc. Method of providing virtual router functionality
US7822033B1 (en) 2005-12-30 2010-10-26 Extreme Networks, Inc. MAC address detection device for virtual routers
US20090028150A1 (en) * 2007-07-26 2009-01-29 Telefonaktiebolaget L M Ericsson (Publ) Protocol-Independent Packet Header Analysis
KR101421293B1 (ko) * 2007-09-21 2014-08-14 삼성전자주식회사 근거리 이동 통신 단말의 네트워크 접속 방법 및 장치
US8208403B2 (en) * 2007-12-26 2012-06-26 Verizon Patent And Licensing Inc. Defining an end-to-end path for a network service
US7852486B2 (en) * 2008-02-07 2010-12-14 Board Of Regents, The University Of Texas System Wavelength and intensity monitoring of optical cavity
US8255496B2 (en) 2008-12-30 2012-08-28 Juniper Networks, Inc. Method and apparatus for determining a network topology during network provisioning
US7962672B1 (en) * 2009-09-28 2011-06-14 Emc Corporation Techniques for data storage configuration
CN101834802B (zh) * 2010-05-26 2012-08-08 华为技术有限公司 转发数据包的方法及装置
US9569398B2 (en) 2010-09-28 2017-02-14 International Business Machines Corporation Routing data communications packets in a parallel computer
US8909716B2 (en) 2010-09-28 2014-12-09 International Business Machines Corporation Administering truncated receive functions in a parallel messaging interface
US9069631B2 (en) 2010-11-05 2015-06-30 International Business Machines Corporation Fencing data transfers in a parallel active messaging interface of a parallel computer
US9052974B2 (en) 2010-11-05 2015-06-09 International Business Machines Corporation Fencing data transfers in a parallel active messaging interface of a parallel computer
US8527672B2 (en) 2010-11-05 2013-09-03 International Business Machines Corporation Fencing direct memory access data transfers in a parallel active messaging interface of a parallel computer
US9075759B2 (en) 2010-11-05 2015-07-07 International Business Machines Corporation Fencing network direct memory access data transfers in a parallel active messaging interface of a parallel computer
US8490112B2 (en) 2010-12-03 2013-07-16 International Business Machines Corporation Data communications for a collective operation in a parallel active messaging interface of a parallel computer
US8484658B2 (en) 2010-12-03 2013-07-09 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8650262B2 (en) 2010-12-09 2014-02-11 International Business Machines Corporation Endpoint-based parallel data processing in a parallel active messaging interface of a parallel computer
US8572629B2 (en) 2010-12-09 2013-10-29 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8891406B1 (en) 2010-12-22 2014-11-18 Juniper Networks, Inc. Methods and apparatus for tunnel management within a data center
US8615015B1 (en) * 2010-12-30 2013-12-24 Juniper Networks, Inc. Apparatus, systems and methods for aggregate routes within a communications network
US8732229B2 (en) 2011-01-06 2014-05-20 International Business Machines Corporation Completion processing for data communications instructions
US8775531B2 (en) 2011-01-06 2014-07-08 International Business Machines Corporation Completion processing for data communications instructions
US8892850B2 (en) 2011-01-17 2014-11-18 International Business Machines Corporation Endpoint-based parallel data processing with non-blocking collective instructions in a parallel active messaging interface of a parallel computer
US8584141B2 (en) 2011-01-17 2013-11-12 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8825983B2 (en) 2011-02-15 2014-09-02 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8605732B2 (en) 2011-02-15 2013-12-10 Extreme Networks, Inc. Method of providing virtual router functionality
US8528004B2 (en) 2011-11-07 2013-09-03 International Business Machines Corporation Internode data communications in a parallel computer
US8495654B2 (en) 2011-11-07 2013-07-23 International Business Machines Corporation Intranode data communications in a parallel computer
US8732725B2 (en) 2011-11-09 2014-05-20 International Business Machines Corporation Managing internode data communications for an uninitialized process in a parallel computer
US9049148B1 (en) 2012-09-28 2015-06-02 Juniper Networks, Inc. Dynamic forwarding plane reconfiguration in a network device
US9300583B2 (en) 2014-01-23 2016-03-29 Gainspan Corporation Maintaining routing information in memory constrained routers
US9588923B2 (en) 2014-01-24 2017-03-07 Applied Micro Circuits Corporation Flow pinning in a server on a chip
US9838315B2 (en) * 2015-07-29 2017-12-05 Cisco Technology, Inc. Stretched subnet routing
US10447605B2 (en) * 2015-10-27 2019-10-15 Avago Technologies International Sales Pte. Limited Flow-based host discovery in SDN networks
CN108075978B (zh) * 2016-11-17 2021-03-30 华为技术有限公司 一种报文发送方法、节点配置方法以及相关设备
CN114567589B (zh) * 2022-02-22 2024-06-07 北京华三通信技术有限公司 路由上报的识别方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5032978A (en) * 1986-05-05 1991-07-16 Westinghouse Electric Co. Status tree monitoring and display system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933846A (en) 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US5261090A (en) * 1990-06-12 1993-11-09 At&T Bell Laboratories Search arrangement adapted for data range detection
AU4661793A (en) * 1992-07-02 1994-01-31 Wellfleet Communications Data packet processing method and apparatus
US5386413A (en) * 1993-03-19 1995-01-31 Bell Communications Research, Inc. Fast multilevel hierarchical routing table lookup using content addressable memory
US5353283A (en) * 1993-05-28 1994-10-04 Bell Communications Research, Inc. General internet method for routing packets in a communications network
CA2124974C (fr) * 1993-06-28 1998-08-25 Kajamalai Gopalaswamy Ramakrishnan Methode et appareil d'affectation de metriques de liaison dans les reseaux a trajet minimal
EP0804769B1 (fr) * 1994-06-30 2000-02-02 International Business Machines Corporation Procede et dispositif d'harmonisation d'une sequence de donnees de longueur variable
US5598410A (en) 1994-12-29 1997-01-28 Storage Technology Corporation Method and apparatus for accelerated packet processing
US5546390A (en) 1994-12-29 1996-08-13 Storage Technology Corporation Method and apparatus for radix decision packet processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5032978A (en) * 1986-05-05 1991-07-16 Westinghouse Electric Co. Status tree monitoring and display system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KNOX D ET AL: "PARALLEL SEARCHING TECHNIQUES FOR ROUTING TABLE LOOKUP", NETWORKING : FOUNDATION FOR THE FUTURE. SAN FRANCISCO, MAR. 28 - APR. 1, 1993, PROCEEDINGS OF THE ANNUAL JOINT CONFERENCE OF THE COMPUTER AND COMMUNICATIONS SOCIETIES (INFOCOM), LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. VOL. 3 CONF. 12, 28 March 1993 (1993-03-28), pages 1400 - 1405, XP000419707, ISBN: 0-8186-3580-0 *
MCAULEY A J ET AL: "FAST ROUTING TABLE LOOKUP USING CAMS", NETWORKING : FOUNDATION FOR THE FUTURE. SAN FRANCISCO, MAR. 28 - APR. 1, 1993, PROCEEDINGS OF THE ANNUAL JOINT CONFERENCE OF THE COMPUTER AND COMMUNICATIONS SOCIETIES (INFOCOM), LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. VOL. 3 CONF. 12, 28 March 1993 (1993-03-28), pages 1382 - 1391, XP000419705, ISBN: 0-8186-3580-0 *

Also Published As

Publication number Publication date
EP1010304A2 (fr) 2000-06-21
AU9119898A (en) 1999-03-16
US6553002B1 (en) 2003-04-22
WO1999011000A2 (fr) 1999-03-04
CA2302531A1 (fr) 1999-03-04
WO1999011000A3 (fr) 1999-05-06

Similar Documents

Publication Publication Date Title
US6553002B1 (en) Apparatus and method for routing data packets through a communications network
US6665297B1 (en) Network routing table
US5909440A (en) High speed variable length best match look-up in a switching device
EP0551243B1 (fr) Dispositif de reconnaissance d'adresses
CA2274962C (fr) Recherche grande vitesse du meilleur appariement, de longueur variable
US6956858B2 (en) Network routing table and packet routing method
US7433871B2 (en) Efficient ipv4/ipv6 best matching prefix method and apparatus
US5983223A (en) Method and apparatus for determining a longest matching prefix from a dictionary of prefixes
US9672234B2 (en) Database and database processing methods
KR100748773B1 (ko) 최장의 정합 어드레스 탐색장치 및 방법
US6526055B1 (en) Method and apparatus for longest prefix address lookup
US5920886A (en) Accelerated hierarchical address filtering and translation using binary and ternary CAMs
US6563823B1 (en) Multi-resolution tree for longest match address lookups
CN111937360B (zh) 最长前缀匹配
CA2365395C (fr) Codage de chemin par defaut
US6917954B2 (en) Load balancing in IP address lookup
US6516319B1 (en) Parallelized processing device for processing search keys based upon tree structure
US6925503B2 (en) Method and system for performing a longest prefix match search
JPH10222535A (ja) データ検索回路

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20000324

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB

A4 Supplementary search report drawn up and despatched

Effective date: 20060213

17Q First examination report despatched

Effective date: 20060623

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20070104