WO2017190559A1 - 路由查找方法、装置、分配节点、查找节点及入口节点 - Google Patents

路由查找方法、装置、分配节点、查找节点及入口节点 Download PDF

Info

Publication number
WO2017190559A1
WO2017190559A1 PCT/CN2017/077099 CN2017077099W WO2017190559A1 WO 2017190559 A1 WO2017190559 A1 WO 2017190559A1 CN 2017077099 W CN2017077099 W CN 2017077099W WO 2017190559 A1 WO2017190559 A1 WO 2017190559A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
prefix
field
default route
lookup
Prior art date
Application number
PCT/CN2017/077099
Other languages
English (en)
French (fr)
Inventor
喻径舟
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP17792386.9A priority Critical patent/EP3442178B1/en
Publication of WO2017190559A1 publication Critical patent/WO2017190559A1/zh
Priority to US16/180,722 priority patent/US10680950B2/en

Links

Images

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/745Address table lookup; Address filtering
    • H04L45/748Address table lookup; Address filtering using longest matching prefix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a route search method, apparatus, distribution node, lookup node, and entry node.
  • the main task of the router is to forward the packets of the network protocol (English: Internet Protocol, IP for short), that is, forward the packets arriving at the input port of the router to the correct egress port according to the destination IP address in the packet header.
  • the route lookup process is to find the routing table in the router based on the destination IP address of the packet and obtain the outbound port information of the packet.
  • Scale Out a method for improving the throughput of a router is Scale Out, that is, the entire router is built by stacking multiple boxes, and the performance is improved by increasing the number of boxes, and the scale effect is easily reduced. cost.
  • the distributed router includes an ingress computing node, a bounce computing node, and an egress computing node. Further, other computing nodes may also be included.
  • the ingress computing node receives the network message and determines which bounce computing node to route the received network message to. Specifically, the ingress computing node generates a hash key based on the received destination IP address, and each hash password corresponds to a different computing node of the distributed router (eg, a bounce computing node), such that the ingress computing node determines a specific bounce. After computing the node, the network message is sent to the determined bounce computing node without performing a route lookup.
  • the bounce computing node determines where to route the network message based on the destination IP address. Specifically, each bounce computing node stores a different set of routing entries (eg, subsets, sections, etc.). The bounce computing node determines the specific egress computing node responsible for the departure of the network message from the distributed router.
  • the hash key generated by the destination IP address is used for distributed storage of the routing table, which causes a large number of routing entries to be duplicated, and because the distributed key search is performed based on the hash key, there is a Hash conflicts require additional mechanisms to resolve hash collisions and create false hits. Therefore, the entire routing is inefficient.
  • the embodiments of the present invention provide a route search method, a device, a distribution node, a lookup node, and an ingress node, which are used to solve the technical problem that the routing mechanism of the distributed router in the prior art is low in efficiency.
  • an embodiment of the present invention provides a route searching method, including:
  • the distribution node of the packet forwarding device receives the destination network protocol IP address of the packet sent by the ingress node of the packet forwarding device; the allocation node stores an allocation table, and the allocation table of the allocation table includes a matching field And a node number field, where the matching field is a prefix corresponding to the root node of the prefix subtree, and the searching node number field is a physical box number of the searching node where the routing information of the one prefix subtree is located; Matching the matching field in the allocation table according to the longest prefix matching LPM principle according to the destination IP address; The destination IP address is successfully matched with the first matching item field in the allocation table, and the allocation node obtains the first search where the routing information of the first prefix subtree corresponding to the first matching item field is located.
  • the first lookup node is a lookup node of the packet forwarding device; the assigning node sends the destination IP address to the first lookup node; wherein the first lookup node A routing table is stored, where the routing table entry includes a prefix field and an egress port field, the prefix field is a real prefix in the first prefix subtree, and the egress port field is a physical box of an egress node. And an egress port number; the egress node is an egress node of the packet forwarding device.
  • the routing table is distributed and stored on different lookup nodes, so that the routing table can be distributed more uniformly, and the pressure of the routing table specifications of the single node is reduced.
  • the allocation node and the lookup node adopt the LPM matching principle when matching, so when the search node is allocated, there is no conflict, and there is no false hit, so the overall route search efficiency is high.
  • the receiving, by the receiving node, the destination IP address includes: the receiving node receiving the packet sent by the ingress node.
  • the receiving, by the receiving node, the destination IP address includes: the receiving node receiving a control message sent by the ingress node, the control message The destination IP address, the identifier ID of the packet, and the physical box number of the ingress node are included; correspondingly, the method further includes: the assigning node is the physical box of the ID and the ingress node The number is sent to the first lookup node.
  • This method implements decoupling between the switching plane and the finding plane, reducing the interconnection burden of the searching plane and exchanging congestion.
  • the allocation table of the allocation table The entry further includes whether there is a default route flag bit field and a default route field, whether the default route flag bit field is the default route of the one prefix subtree, and the default route is a default route of the one prefix subtree
  • the default route is the longest matching prefix and the corresponding routing information before the root node; the method further includes: if the destination IP address matches the first matching field in the allocation table Successfully, the allocating node sends a first default routing flag bit corresponding to the first matching field to the first searching node; and whether the first default routing flag is yes in the first And transmitting, by the first allocating node, the first default route corresponding to the first matching item field to the first searching node.
  • the method also includes:
  • the distribution node updates the allocation table according to the received allocation table entry.
  • the allocation table of the allocation table The entry further includes whether there is a default route flag bit field and a default route field, whether the default route flag bit field is the default route of the one prefix subtree, and the default route is a default route of the one prefix subtree
  • the default route is the longest matching prefix and the corresponding routing information before the root node.
  • the method further includes: the receiving node receives a default route sent by the controller of the packet forwarding device, where The default route that is sent is the default route of the first prefix subtree; the allocation node fills the delivered default route in the first default route field corresponding to the first match field, and Whether the first default route flag bit corresponding to the first match field is set to Yes.
  • an embodiment of the present invention provides a route searching method, including:
  • the first lookup node of the packet forwarding device receives the destination network protocol IP address of the packet sent by the distribution node of the packet forwarding device; the distribution node stores an allocation table, and the allocation table of the allocation table includes matching An entry field and a lookup node number field, where the match field is a prefix corresponding to a root node of the prefix subtree, and the lookup node number field is a physical box number of the lookup node where the routing information of the one prefix subtree is located;
  • the first lookup node is a lookup node where the routing information of the first prefix subtree in the one prefix subtree is located; the first lookup node stores a routing table, and the routing table entry of the routing table includes a prefix.
  • the prefix field is a prefix in the first prefix subtree
  • the egress port field is a physical box number of an egress node, and an egress port number
  • the egress node is the packet forwarding device An egress node
  • the first lookup node performs matching of the prefix field in the routing table according to the LPM principle according to the destination IP address
  • the first lookup node performs an operation corresponding to the matching result according to the matching result.
  • the receiving, by the first searching node, the destination IP address includes: the first searching node receiving the report sent by the allocating node
  • the first search node performs an operation corresponding to the matching result according to the matching result, including: if the matching result is that the destination IP address matches the first prefix field in the routing table.
  • the first search node sends the packet and the first egress port number corresponding to the first prefix field to the first egress node corresponding to the first prefix field.
  • the method further includes:
  • the first search node receives, by the first search node, an identifier ID of the packet sent by the distribution node and a physical box number of an ingress node of the packet forwarding device; the ingress node is an entry for receiving the packet from an external network
  • the first search node performs an operation corresponding to the matching result according to the matching result, including: if the matching result is that the destination IP address matches the first prefix field in the routing table.
  • the first lookup node processes the ID, the physical box number of the first egress node corresponding to the first prefix field, and the first egress port as a first instruction message; the first lookup node will A first instruction message is sent to the ingress node.
  • the first instruction message further includes an editing instruction, where the editing instruction is used to indicate the pair of ingress nodes The message is edited.
  • the method further includes:
  • the first search node receives, by the first search node, an identifier ID of the packet sent by the distribution node and a physical box number of an ingress node of the packet forwarding device; the ingress node is an entry for receiving the packet from an external network
  • the first search node performs an operation corresponding to the matching result according to the matching result, including: if the matching result is that the destination IP address matches the first prefix field in the routing table.
  • the first lookup node processes the ID, a first egress port corresponding to the first prefix field as a second instruction message, and the first lookup node uses the second instruction message and the ingress node
  • the physical box number is sent to the first egress node corresponding to the first prefix field.
  • the second instruction message further includes an edit instruction, where the edit instruction is used to indicate the first exit The node edits the message.
  • the allocation table of the allocation table further includes: whether there is a default route flag bit field and a default route field, whether the default route flag bit field is present Whether there is a default route for the one prefix subtree, and the default route is a default route of the one prefix subtree, the default The route is the longest matching prefix and the corresponding routing information before the root node.
  • the method further includes: the first searching node receives the first sending node and the first prefix subtree Whether there is a default route flag bit; and when the first default route flag is YES, the first lookup node receives the first default route of the first prefix subtree sent by the first distribution node; Correspondingly, the first search node performs an operation corresponding to the matching result according to the matching result, including: if the matching result is that the destination IP address is not successfully matched with the first prefix field in the routing table, Determining, by the first lookup node, whether the first default route flag is YES; if the first default route flag is yes, the first lookup node acquires the first default route; A lookup node obtains a physical box number of the second egress node corresponding to the first default route and a second egress port.
  • the method further includes: the first lookup node receiving a routing entry sent by a controller of the packet forwarding device; the first lookup node updating the routing table according to the received routing entry.
  • the method further includes:
  • the first lookup node receives a default route of the first prefix subtree sent by the controller of the packet forwarding device; the default route is the longest match before the root node of the first prefix subtree a prefix and its corresponding routing information; the first lookup node updates a default route of the first prefix subtree to the routing table.
  • an embodiment of the present invention provides a route searching method, including:
  • the ingress node of the packet forwarding device receives the message; the ingress node processes the identifier ID of the packet, the destination network protocol IP address of the packet, and the physical box number of the ingress node as a control message; The ingress node sends the control message to a first one of the at least one distribution node of the packet forwarding device; wherein the at least one distribution node stores the same allocation table; the allocation table of the allocation table
  • the entry includes a match field and a lookup node number field, where the match field is a prefix corresponding to a root node of a prefix subtree, and the lookup node number field is a physics of a search node where the routing information of the one prefix subtree is located a first instruction message sent by the first lookup node of the at least one lookup node of the packet forwarding device, the first instruction message including the ID and a physical box number of the first egress node And the first egress port, where the first lookup node is
  • the method further includes: the ingress node storing the packet locally, and the ID characterizing a storage address of the packet.
  • the control message is sent to the packet forwarding device at the ingress node Before the first one of the at least one of the distribution nodes, the method further comprises: the ingress node matching in the hotspot routing table according to the destination IP address, and determining that the unmatching is successful; wherein the hotspot routing table is routed
  • the entry includes a prefix field and an outgoing port field, and the outgoing port field includes a physical box number of the egress node and an egress port.
  • the first instruction message is further Including the editing instruction
  • the method further includes: editing the message according to the editing instruction before transmitting the message to the first egress node.
  • an embodiment of the present invention provides a route finder.
  • the device may be a distribution node.
  • the device has the function of implementing a distribution node in the above method design. These functions can be implemented in hardware or in software by executing the corresponding software.
  • the hardware or software includes one or more units corresponding to the functions described above.
  • the specific structure of the route lookup device as a distribution node may include a receiving unit, a processing unit, and a transmitting unit.
  • the receiving unit, the processing unit, and the transmitting unit may perform respective functions in the above methods.
  • an embodiment of the present invention provides a route searching apparatus.
  • the device may be a lookup node.
  • the device has the function of implementing a lookup node in the above method design. These functions can be implemented in hardware or in software by executing the corresponding software.
  • the hardware or software includes one or more units corresponding to the functions described above.
  • the specific structure of the route lookup device as a lookup node may include a receiving unit, a processing unit, and a transmitting unit.
  • the receiving unit, the processing unit, and the transmitting unit may perform respective functions in the above methods.
  • an embodiment of the present invention provides a route searching device.
  • the device may be an ingress node.
  • the device has the function of implementing an entry node in the design of the above method. These functions can be implemented in hardware or in software by executing the corresponding software.
  • the hardware or software includes one or more units corresponding to the functions described above.
  • the specific structure of the route lookup device as an ingress node may include a receiving unit and a processing unit.
  • the receiving unit and the processing unit can perform respective functions in the above methods.
  • an embodiment of the present invention provides a distribution node.
  • the distribution node includes a receiver, a transmitter, and a processor, the receiver, the transmitter, and the processor for performing the method performed by the distribution node described above.
  • an embodiment of the present invention provides a lookup node.
  • the lookup node includes a receiver, a transmitter, and a processor, the receiver, the transmitter, and the processor for performing the method performed by the lookup node described above.
  • an embodiment of the present invention provides an ingress node.
  • the distribution node includes a receiver, a transmitter, and a processor, the receiver, the transmitter, and the processor for performing the method performed by the ingress node node described above.
  • a tenth aspect of the present invention provides a method for configuring a routing entry, including:
  • the controller of the packet forwarding device receives the protocol packet reported by the ingress node of the packet forwarding device, and processes the protocol packet to obtain a prefix of the routing entry, a physical box number of the egress node, and an egress port;
  • the egress node is an egress node of the packet forwarding device;
  • the controller divides a prefix subtree in the prefix tree for the prefix; if the prefix subtree is a newly created subtree, the controller is the route An entry is sent to the lookup node, and the routing entry is sent to the lookup node;
  • the lookup node is a lookup node of the packet forwarding device;
  • the controller generates an allocation entry, where the allocation entry includes a match field and a lookup node number field, where the match field is a prefix corresponding to a root node of the prefix subtree, the lookup node number is a physical box number of the lookup node;
  • the controller allocates
  • the allocation table entry further includes: whether there is a default route flag bit field and a default route field, and whether the default route flag bit field is the Whether the prefix subtree has a default route, the default route is a default route of the prefix subtree, and the default route is the longest matching prefix before the root node and its corresponding routing information.
  • the method further includes:
  • the controller determines whether the root node has a prefix before; if the root node has a prefix before, the controller And sending the longest matching prefix and the corresponding routing information of the root node to the searching node as a default route of the prefix subtree.
  • the controller sends the routing entry to the search node corresponding to the prefix subtree .
  • the method further includes: if the prefix and its corresponding routing information are default routes of other subtrees The controller updates the default routing fields of the other prefix subtrees on all of the assigned nodes and whether there is a default routing field.
  • the method further includes:
  • the controller sends the prefix and its corresponding routing information to the searching node corresponding to the other prefix subtree.
  • an embodiment of the present invention provides a routing entry configuration device.
  • the device may be a controller.
  • the device has the function of implementing a controller in the design of the above method. These functions can be implemented in hardware or in software by executing the corresponding software.
  • the hardware or software includes one or more units corresponding to the functions described above.
  • the specific structure of the routing entry configuration device as the controller may include a receiving unit, a processing unit, and a transmitting unit.
  • the receiving unit processing unit and the transmitting unit may perform respective functions in the above methods.
  • an embodiment of the present invention provides a controller.
  • the controller includes a receiver, a transmitter, and a processor, the receiver, the transmitter, and the processor for performing the method performed by the controller.
  • a thirteenth aspect the embodiment of the present invention provides a computer storage medium, configured to store the method described in any one of the first aspect, the second aspect, the third aspect, and the tenth aspect, or the sixth aspect Computer software instructions for use in the routing lookup apparatus described herein, and including programs designed to perform the above aspects.
  • the embodiment of the present invention provides a packet forwarding device, including an ingress node, a distribution node, a lookup node, an egress node, and a controller.
  • An ingress node configured to receive a message and send the destination network protocol IP address of the packet to a first one of the at least one distribution node of the packet forwarding device; wherein the at least one distribution node Storing the same allocation table; the allocation table includes a matching field and a lookup node number field, the matching field is a prefix corresponding to a root node of a prefix subtree, and the lookup node number field is the one prefix The physical box number of the lookup node where the routing information of the tree is located;
  • the first allocating node is configured to perform matching of the matching field in the allocation table according to the longest prefix matching LPM principle according to the destination IP address; if the destination IP address is the first one in the allocation table If the match field is successfully matched, the physical box number of the first search node where the routing information of the first prefix subtree corresponding to the first match field is located is obtained; and the destination IP address is sent to the first a search node, wherein the first lookup node stores a routing table, where the routing table includes a prefix field and an egress port field, the prefix field is a prefix in the first prefix subtree, and the egress port field The physical box number and the outgoing port number of the egress node;
  • the first search node is configured to perform matching of the prefix field in the routing table according to the LPM principle according to the destination IP address; and perform an operation corresponding to the matching result according to the matching result.
  • the ingress node is configured to send the packet to the first distribution node.
  • the first search node is configured to: if the matching result is that the destination IP address matches the first prefix field in the routing table, the packet is corresponding to the first prefix field.
  • the first egress port number is sent to the first egress node corresponding to the first prefix field;
  • the first egress node is configured to send the packet by using the first egress port.
  • the ingress node is further configured to send, at the ingress node, a destination IP address of the packet to the first distribution node And extracting the destination IP address of the packet; processing the destination IP address, the identifier ID of the packet, and the physical box number of the ingress node as a control message; sending the control message to the first A distribution node.
  • the first allocating node is further configured to: use the ID and the The physical box number is sent to the first search node; the first search node is configured to: if the matching result is that the destination IP address matches the first prefix field in the routing table, the ID, and the The physical box number of the first egress node corresponding to the first prefix field and the first egress port are processed as a first instruction message; the first instruction message is sent to the ingress node;
  • the ingress node is further configured to: obtain the packet according to the ID, and send the packet and the first egress port to the first egress node;
  • the first egress node is further configured to send the packet by using the first egress port.
  • the first searching node is configured to: if the matching result is the destination IP address and The first prefix field in the routing table is successfully matched, and the ID, the first egress port corresponding to the first prefix field is processed into a second instruction message; the second instruction message and the ingress node are The physical box number is sent to the first egress node corresponding to the first prefix field; the first egress node is further configured to send a request message to the ingress node, where the request message includes the ID; The ingress node is further configured to: obtain the packet according to the ID, and send the packet to the first egress node; the first egress node is further configured to receive the packet and pass the first egress The port sends the message.
  • the ID is used to represent a storage location of the message on the ingress node.
  • the allocation table The method further includes: a default route flag bit field and a default route field, wherein the default route flag bit field is whether the one prefix subtree has a default route, and the default route is a default route of the one prefix subtree, The default route is the longest matching prefix before the root node and its corresponding routing information; the first allocating node is further configured to: if the destination IP address matches the first one in the allocation table If the item field matches successfully, whether the first corresponding routing flag bit corresponding to the first one of the matching item fields is sent to the first searching node; and whether the first default routing flag bit is YES. Transmitting, to the first search node, a first default route corresponding to the first match field;
  • the first searching node is configured to: if the matching result is that the destination IP address is not successfully matched with the first prefix field in the routing table, determine whether the first default routing flag is If yes, if the first default route flag is YES, the first default route is obtained; the physical box number of the second egress node corresponding to the first default route and the second egress port are obtained.
  • the controller is configured to receive the protocol packet reported by the ingress node, and process the protocol packet to obtain a routing entry.
  • the allocation entry further includes whether there is a default routing flag bit field and a default routing field, and whether the default route is available
  • the flag bit field is whether the second prefix subtree has a default route, the default route is a default route of the second prefix subtree, and the default route is the most before the root node of the second prefix subtree Long match prefix and its corresponding routing information.
  • the controller is further configured to determine whether a root node of the second prefix subtree has a prefix before; If the root node of the second prefix subtree has a prefix, the longest matching prefix before the root node of the second prefix subtree and the corresponding routing information are used as the default route of the second prefix subtree. Is sent to the lookup node.
  • the controller is further configured to use the routing table The item is sent to the lookup node corresponding to the second prefix subtree.
  • the controller Update the default routing fields of the other prefix subtrees on all assigned nodes and whether there is a default routing field.
  • the controller is further configured to send the prefix and its corresponding routing information to the lookup node corresponding to the other prefix subtree.
  • FIG. 1 is a structural diagram of a packet forwarding device according to an embodiment of the present invention
  • FIG. 2 is a structural diagram of an apparatus according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a method for configuring a routing entry according to an embodiment of the present disclosure
  • 4a-4c are schematic diagrams of a prefix subtree according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of a route searching method according to an embodiment of the present invention.
  • FIG. 6 is a functional block diagram of a route finder according to an embodiment of the present invention.
  • the embodiments of the present invention provide a route search method, a device, a distribution node, a lookup node, and an ingress node, which are used to solve the technical problem that the routing mechanism of the distributed router in the prior art is low in efficiency.
  • the message forwarding device includes a controller, at least one ingress node, at least one distribution node, at least one lookup node, and at least one egress node.
  • a physical box can include only one type of node, or a collection of multiple nodes.
  • a physical box can include both an ingress node and a distribution node.
  • a physical box can include both an ingress node and a lookup node.
  • a physical box can include both an ingress node and an egress node.
  • a physical box can include both a distribution node and a lookup node.
  • a physical box can include both a lookup node and an exit node.
  • a physical box can include both an ingress node and an allocation node and a lookup node.
  • a physical box can include both an ingress node and an allocation node and an egress node.
  • a physical box can include both an ingress node and a lookup node and an egress node.
  • a physical box can include both a distribution node and a lookup node and an exit node.
  • a physical box can include both an ingress node and an allocation node, a lookup node, and an egress node.
  • the controller can be set separately from each node, or it can be placed in the same physical box as any of the nodes.
  • These physical boxes are stacked to form a router. Of course, in practice, these physical boxes can also be dispersed in different areas and manufactured by different manufacturers.
  • the transfer between each node is a message
  • the ingress node receives the message and then sends the message to any of the distribution nodes, after the search node performs the search, the message is re- The message is forwarded to the found lookup node, and then the lookup node passes the message to the determined egress node after determining the egress node of the message, and then the egress node forwards the message to other network elements.
  • the lookup and exchange are decoupled, that is, the ingress node and the egress node form a switching plane, and the ingress node can deliver the message to the egress node.
  • the allocation node and the lookup node form a lookup plane.
  • the ingress node may not send the packet to the distribution node as a whole, but the destination IP address of the packet to the distribution node.
  • the discovery node determines the egress node
  • the result is determined.
  • the destination IP address of the packet is sent to the ingress node or the egress node.
  • the packet forwarding device may also include other components, which are not limited in the embodiment of the present invention.
  • FIG. 2 is a schematic structural diagram of an apparatus according to an embodiment of the present invention.
  • the device is, for example, a possible structural diagram of the above-mentioned entry node, distribution node, lookup node, exit node, and controller.
  • the apparatus includes a processor 10, a transmitter 20, a receiver 30, and a memory 40.
  • the memory 40, the transmitter 20 and the receiver 30 and the processor 10 can be connected via a bus.
  • the memory 40, the transmitter 20, and the receiver 30 and the processor 10 may not be a bus structure, but may be other structures, such as a star structure, which is not specifically limited herein.
  • the processor 10 may be a general-purpose central processing unit or an application specific integrated circuit (ASIC), and may be one or more integrated circuits for controlling program execution, and may be A hardware circuit developed using a Field Programmable Gate Array (FPGA) can be a baseband processor.
  • ASIC application specific integrated circuit
  • FPGA Field Programmable Gate Array
  • processor 10 may include at least one processing core.
  • the memory 40 may include one or more of a read only memory (English: Read Only Memory, ROM for short), a random access memory (English: Random Access Memory, RAM), and a disk storage.
  • Memory 40 is used to store data and/or instructions needed by processor 10 to operate.
  • the number of memories 40 may be one or more.
  • the transmitter 20 and the receiver 30 may be physically independent of each other or integrated.
  • the transmitter 20 can transmit data through an antenna.
  • the receiver 30 can perform data reception through an antenna.
  • the egress port may also be included for packet output.
  • the ingress port may also be included for message input.
  • FIG. 3 is a flowchart of a method for configuring a routing entry according to an embodiment of the present invention. As shown in FIG. 3, the method includes:
  • Step 101 The controller receives the protocol packet sent by the ingress node. For example, when the ingress node receives the packet and identifies the packet, the ingress node reports the protocol packet to the controller.
  • Step 102 The controller processes the protocol packet, and obtains a prefix of the routing entry, a physical box number of the egress node, and an egress port.
  • the controller processes the protocol packet and obtains the routing entry.
  • the protocol packet is used.
  • the routing information of a certain prefix is given, and the controller directly uses the prefix and routing information as routing entries.
  • OSPF Open Shortest Path First
  • the protocol packet includes the link state between the packet forwarding device and the neighbor device, and the controller After all the link state information is obtained, a shortest path first (English: Shortest Path First, SPF) algorithm is used to calculate a shortest path tree. This tree gives routing information to each network element.
  • OSPF Open Shortest Path First
  • the prefix can be represented by a three-valued bit string consisting of "0”, "1", and "*".
  • the routing entry includes a prefix field and an outgoing port field, as shown in Table 1.
  • the prefix obtained in step 102 is 0000*
  • the content of the outgoing port field is 31-02, indicating that the physical box number of the egress node is 31 and the egress port number is 02.
  • the routing entry indicates that the packet matching the prefix 0000* needs to be forwarded from the 02-port number of the egress node whose physical box number is 31.
  • Step 103 Divide a prefix subtree in the prefix (Trie) tree for the prefix.
  • the prefix tree can be a binary tree or a multi-fork tree.
  • the prefix tree is a binary tree or a multi-fork tree that is built up based on the bit string in the prefix. If you consider one bit at a time, create a binary tree, also known as the unit Trie tree.
  • Figure 4a shows a unit prefix tree.
  • the prefix tree contains 11 real prefixes, and the left side is p0 to p10 in FIG. 4a.
  • the corresponding nodes in the unit Trie tree are indicated by black circles, and the connection points are indicated by white circles. If you consider multiple bits each time, create a multi-bit Trie tree. The number of bits considered each time is generally fixed, called the step size of the Trie tree (English: stride).
  • a multi-bit Trie tree can be thought of as dividing a unit Trie tree into multiple subtrees by stride and creating a Trie node for each subtree.
  • Each Trie node has an associated prefix, and the associated prefix of a Trie node is the prefix value on the root node of the subtree corresponding to the Trie node.
  • Figure 4b shows a multi-bit Trie tree with stride equal to 3 based on the prefix in Figure 4a.
  • the multi-bit Trie tree includes seven Trie nodes, such as the Trie Node T1 to Trie Node T7 shown in FIG. 4b, and each Trie node is a prefix subtree.
  • Each prefix subtree contains at least one real prefix.
  • Each Trie node is configured with a prefix node. For example, the prefix corresponding to the root node of the prefix subtree T1 is p0, and the prefix corresponding to the root node of the prefix subtree T2 is 000*.
  • the prefix is not a real prefix.
  • Step 1 Select any leaf node in the prefix tree as the current processing node N0, and initialize the prefix number to 0;
  • Step 2 If the parent node of N0 has a prefix, the foregoing number is increased to the number of prefixes of the father node;
  • Step 3 Whether N0 has a sibling node, if there is, then the sibling node is N1; if not, skip to step 7;
  • Step 4 If N1 has a prefix, the number of prefixes is increased by the number of prefixes of N1;
  • Step 5 Whether N1 has a child node, if any, the child node is N1, and step 4-6 is performed;
  • Step 6 N has a sibling node and has not traversed, if there is, then the sibling node is N1 to perform step 4-6;
  • Step 7 According to the father node is N0, perform steps 2-7.
  • the iteration is stopped, and the node that has been traversed is regarded as a subtree. And remove these nodes from the original tree.
  • the division process of the prefix subtree T2 will be described below, and the threshold number of prefixes of the subtree is 4.
  • the parent node 17 of p9 has no prefix, and p9 has no sibling node;
  • the father node 14 of 17 has no prefix, but the sibling node 18 has the prefix p8, and the number of prefixes increases by 1, becoming 2;
  • the node 18 has no child nodes, and then continues to traverse the parent node 10 of the node 14 with a prefix p4 and a prefix number of 3;
  • node 10 traverses up, node 2 has no parent node or sibling node before prefix; node 2 contains prefix p1, so the number of prefixes is 4;
  • the number of prefixes reaches the prefix threshold of 4, and then the traversed nodes 2, 4, 7, 10, 14, 17, 18, 20 are combined into a subtree T2, including prefixes p1, p4, p8, p9, and from These nodes are removed from the original tree.
  • the division process of the prefix subtree T3 will be described below, and the prefix threshold of the subtree is 4.
  • the prefix number is initialized to 1;
  • the parent node 9 of the node 13 contains the prefix p3, and the number of prefixes becomes 2;
  • the sibling node 12 of the node 13 has no prefix, and the child node 15 includes the prefix p6, and the number of prefixes becomes 3.
  • Node 15 has child node 19 without prefix
  • 19 has child node 21 with prefix p10
  • the number of prefixes becomes 4.
  • the number of prefixes reaches the prefix threshold of 4, so that the traversed nodes 9, 12, 13, 15, 16, 19, 21 are combined into a subtree T3, including the prefixes p3, p6, p7, p10, and from the original tree. The middle of these nodes are removed.
  • the prefix subtree can be divided according to rules in advance.
  • the prefix subtree is divided into the prefix to determine which prefix subtree the prefix is located in, for example, the prefix is determined.
  • the allocation sub-item (as shown in Table 2 or Table 3) has been delivered to the allocation node for the prefix sub-tree T2, and if so, the prefix sub-tree T2 is an existing prefix sub-tree, so The allocation entry is delivered again. If the allocation sub-item has not been delivered to the prefix sub-tree T2, the prefix sub-tree T2 is a new sub-tree.
  • the allocation table entry is sent, so steps 104 through 106 are performed.
  • Step 104 If the prefix subtree is a newly created subtree, allocate a lookup node to the routing entry obtained in step 102.
  • each lookup node can save all real prefixes of the partial prefix subtree. In this way, each search node only needs to maintain a part of the routing table of the real prefix, so the resources for maintaining the routing table are less, and it is also convenient to find the node for fast searching.
  • a routing node may be assigned a lookup node, or a set of lookup nodes. If it is a set of lookup nodes, one of the set of lookup nodes acts as the primary lookup node, while the other lookup nodes can act as backup lookup nodes.
  • Step 105 The controller sends a routing entry to the assigned discovery node, such as the lookup node 1 in FIG.
  • Step 106 The controller generates an allocation entry, where the allocation entry includes a matching field and a lookup node number field.
  • the matching item field is a prefix corresponding to a root node of the prefix subtree
  • the searching node number is a physical box number of the searching node.
  • the format of the allocation entry is as shown in Table 2.
  • the matching field is the prefix 111* corresponding to the root node of the prefix subtree T4 (as shown in FIG. 4b), and the search node number is the physical box number of the search node 1, for example, 10.
  • the allocation table entry further includes: whether there is a default route flag bit field and a default route field, whether the default route flag bit field is the prefix subtree has a default route, and the default route is the prefix
  • the default route of the tree is the routing information corresponding to the longest matching prefix (which is the real prefix) before the root node. The details are shown in Table 3.
  • the routing information corresponding to the longest matching prefix is the default route of the prefix subtree, so whether or not there is
  • the default route field is filled with "Yes”
  • the default route field is filled with "*20-03”
  • the outgoing port field is the exit node with the physical box number of 20, and the exit node is number 03. Out port.
  • Step 107 Deliver an allocation entry to all allocation nodes, such as allocation node 1 to distribution node M in FIG. M is an integer greater than or equal to 1. When the number of assigned nodes is greater than 1, the allocation entries saved by each of the assigned nodes are the same.
  • Step 108 Determine whether the root node has a prefix before; if the root node has a prefix before, the controller uses the longest matching prefix (real prefix) before the root node and its corresponding routing information as the prefix The default route of the tree is sent to the lookup node.
  • step 109 is directly executed, and the default route is directly sent to the assigned search node, for example, to find node 1, but not Filled in the allocation table, so the format of the allocation table can be as shown in Table 2.
  • the discovery node When the discovery node receives the default route, it saves the default route in the routing table and adds a new routing entry.
  • Step 110 If the prefix subtree already exists, the controller sends the routing entry to the lookup node corresponding to the prefix subtree, for example, the lookup node 2 in FIG.
  • the prefix obtained in step 102 is p6, the prefix subtree allocated for the prefix p6 is T4, and the prefix subtree has obtained the prefix subtree T4 when the subtree prefix subtree is divided for the prefix p3, so
  • the prefix subtree already exists. Because the prefix subtree already exists, the routing entries corresponding to some real prefixes in the real prefix included in the prefix subtree are already stored on a certain search node. The routing table entry corresponding to all the real prefixes in the same prefix sub-tree is stored in the same search node.
  • the routing entry corresponding to the prefix p6 is sent to the search node corresponding to the prefix subtree, for example, to find node 1.
  • Step 111 If the prefix and its corresponding routing information are default routes of other subtrees, the controller updates the default routing fields of the other prefix subtrees on all the allocated nodes and whether there is a default routing field.
  • the controller instructs all the allocating nodes to update the allocation entry, the prefix
  • the default routing field of the subtree T3 and whether there is a default routing field are modified, for example, as shown in Table 4.
  • step 112 may be performed, that is, the prefix and its corresponding routing information are sent to the searching nodes corresponding to the other prefix subtrees.
  • the controller sends p2 and 15-01 to the search node with the physical box number of 20.
  • the lookup node updates the default routes p2 and 15-01 in the prefix field and the out port field of the routing entry, respectively.
  • the distribution node receives the allocation table delivered by the controller, and saves the newly received allocation table to form a new allocation table.
  • the allocation table contains at least one of the foregoing allocation entries.
  • the lookup node receives the routing entry sent by the controller, it saves the newly received routing entry to form a new routing table.
  • the routing table contains at least one of the foregoing routing entries.
  • the controller may further maintain the information of the prefix subtree that has been established, including but not limited to the prefix corresponding to the root node of the prefix subtree, all valid routing information in the prefix subtree, the default route of the prefix subtree, and the prefix subkey.
  • the controller can find the lookup node corresponding to the existing prefix subtree.
  • the route lookup method in this embodiment will be described, and the method can be applied to the message forwarding device shown in FIG. 1a and FIG. 1b. As shown in FIG. 5, the method includes:
  • Step 201 The ingress node receives the message.
  • the ingress node receives messages from other network elements, such as routers.
  • the packet includes a packet header, a message body, and a check code.
  • the source IP address and destination IP address can be included in the packet header. address.
  • Step 202 The ingress node searches for the hotspot routing table according to the destination IP address.
  • the routing entry of the hotspot routing table may be the same as the field included in the routing entry stored by the foregoing search node.
  • the prefix field and the outgoing port field may be included, the prefix field is a real prefix, and the outbound port field is a physical box number of the egress node and The port number.
  • the prefix in the hotspot routing table may be determined by using statistics, using a relatively frequent prefix, or by other rules.
  • the ingress node can be searched according to the principle of longest prefix matching (English: Longest Prefix Match, LPM for short).
  • LPM Longest Prefix Match
  • the LPM principle refers to an algorithm used by routers to select in the routing table in the IP protocol.
  • a destination IP address may match multiple entries.
  • the most explicit one, the longest one of the subnet masks, is called the longest prefix match. The reason why it is called this is because this entry is also the entry in the routing table that matches the highest bit of the destination IP address.
  • IPv4 routing table For example, consider the following IPv4 routing table:
  • both entries are "matched". That is, both entries contain the address to look for.
  • the route with the longest prefix is 192.168.20.16/28, because its subnet mask (/28) is longer than the mask of other entries (/16), making it more explicit.
  • the hotspot routing table is shown in Table 5.
  • the IP address can be converted into a binary bit value.
  • the IP address is usually 32 bits, that is, 32 bits, and then the LPM search is performed in the prefix matching field in Table 5, that is, starting from the highest bit and proceeding to the low bit.
  • the prefix with the highest matching match is the first prefix field.
  • the binary representation of the destination IP address is 000011001, and then the matching is performed in Table 5.
  • the prefix 000011* is the prefix that matches successfully.
  • the first egress node is the egress node with the physical box number 40, and the egress port is Exit port 01 of the first egress node.
  • the binary representation of the destination IP address is 111101101. When matching is performed in Table 5, there will be no matching entries.
  • the ingress node When the matching is successful, that is, the ingress node performs step 203, that is, the packet is sent to the first egress node corresponding to the hit routing entry.
  • step 204 is executed, that is, the IP address of the packet is sent to any of the distribution nodes, for example, the first distribution node.
  • the ingress node can consider load balancing and send the destination IP address of the packet to the distribution node with the current workload. Of course, in actual use, it can be completely random or distributed.
  • step 202 there is no optional step, so the ingress node may directly send the IP address to the first distribution node when receiving the message. If step 202 is performed, the message forwarding can be performed quickly by the method, and the burden of allocating nodes and finding nodes can be alleviated.
  • the ingress node sends the destination IP address of the packet to the first distribution node, which may include, but is not limited to, two modes.
  • the first mode the ingress node sends the entire message to the first distribution node.
  • the first distribution node reads the packet header to obtain the destination IP address. This mode is applicable to the packet forwarding device shown in Figure 1a.
  • the first distribution node also sends the entire message to the first search node.
  • the first lookup node reads the message header to obtain the destination IP address.
  • the first lookup node sends the entire message to the first egress node.
  • the method before the ingress node sends the destination IP address to the first distribution node, the method further includes: the ingress node extracts the destination IP address of the packet; the ingress node sets the destination IP address, the identifier (ID) of the packet, and The physical box number of the ingress node is processed as a control message.
  • the ID of the packet is a unique identifier of the packet. On the one hand, it is used to uniquely distinguish one packet, and on the other hand, it can also represent the storage address of the packet at the ingress node. Therefore, the ID of the packet may be a storage address of the packet on the ingress node, or may be another type of identifier uniquely corresponding to the storage address.
  • the control message includes the packet ID, the destination IP address, and the physical box number of the ingress node, and may include the length of the packet, other service information, and forwarding type.
  • the other service information is the other service information obtained at the ingress node. For example, whether the unicast reverse path forwarding (URPF) is enabled, and the access control list after the route search is enabled (English: Access Control) List, referred to as ACL).
  • the forwarding type is, for example, IPv4 unicast, IPv6 unicast, and the like.
  • the destination IP address segment can be replaced with the packet header because the destination IP address is also included in the packet header.
  • the physical box number of the ingress node is the physical box number of the ingress node that received the message, for example, 12.
  • the ingress node sends the destination IP address of the packet to the first distribution node, and the ingress node sends the control message to the first distribution node.
  • the first allocating node can read the destination IP address field of the control message to obtain the destination IP address of the packet.
  • the method is applicable to the packet forwarding device shown in FIG. 1b.
  • the method can reduce the switching congestion caused by the distributed route lookup, reduce the interconnection burden of the search plane, and reduce the pin occupancy.
  • the first distribution node When the ingress node sends the destination IP address of the packet to the first distribution node by using the foregoing two manners or other manners, the first distribution node performs step 205, that is, performing a matching field in the allocation table according to the LPM principle according to the destination IP address. Match.
  • the allocation table items in the allocation table are shown in Tables 2 and 3 above.
  • the allocation table stored on the first distribution node is configured, for example, by the method described in the foregoing FIG. 3 and its embodiments. Of course, in actual use, it may be configured by other methods.
  • step 206 the first allocation node acquires the physical box number of the first searching node where the routing information of the first prefix word corresponding to the first matching item field is located (corresponding to Table 2) The indicated allocation table).
  • the first distribution node further determines whether the first prefix subtree has a default route, and if there is a default route field of "Yes", the default route in the default route field is obtained.
  • the allocation table entry may further include a local flag bit field for indicating whether the physical box numbers of the first allocation node and the first search node are the same. Because the first distribution node and the first lookup node may be disposed in the same physical box, if the physical box number and the first of the first exit node in the allocation entry are The physical box number of the distribution node is the same, then whether it is the local flag field can be set to 0 or set to 1, or use "yes" or "no" to express.
  • step 207 is executed to send the destination IP address to the first lookup node.
  • the first distribution node sends the message to the first search node, and if there is a default route, the default route is also sent to the first search node, specifically, the default route is added. In the header of the message.
  • the first distribution node may send the destination IP address or the packet header without sending the content of the packet.
  • the first distribution node also has the ID of the packet and The physical box number of the ingress node is sent to the first lookup node.
  • Step 208 The first lookup node performs matching of the prefix field in the routing table according to the LPM principle according to the destination IP address.
  • the routing entry of the routing table stored on the first lookup node is, for example, the routing entry shown in Table 1 above.
  • the routing table stored on the first lookup node is configured, for example, in the manner described in the foregoing FIG. 3 and its embodiments, or may be configured in other manners.
  • step 209 that is, performs an operation corresponding to the matching result according to the matching result.
  • This step can be implemented in various ways in the actual application, which will be described in detail below.
  • the step 209 includes: if the matching result is that the destination IP address matches the first prefix field in the routing table, the first searching node sends the message and the context
  • the first egress port number corresponding to the first prefix field is sent to the first egress node corresponding to the first prefix field.
  • the first egress node sends the packet by using the first egress port.
  • the first lookup node sends the message and the outbound port number 02 to the egress node with physical box number 31. Then, the egress node forwards the packet from the egress port corresponding to the port number 02.
  • step 209 includes: if the matching result is that the destination IP address matches the first prefix field in the routing table, the first lookup node uses the ID, and the The physical box number of the first egress node corresponding to the first prefix field and the first egress port are processed as a first instruction message; the first lookup node sends the first instruction message to the ingress node.
  • the ingress node obtains the packet according to the ID, and sends the packet and the first egress port to the first egress node; and then the first egress node sends the packet by using the first egress port. Text.
  • the first instruction message may further include an editing instruction, such as one or more of replacement, deletion, addition, discarding, addition, subtraction, multiplication and division, bit operation, and checksum.
  • an editing instruction such as one or more of replacement, deletion, addition, discarding, addition, subtraction, multiplication and division, bit operation, and checksum.
  • the edit command may be “replaced”, and the command parameter includes the location to be replaced, that is, the IP header.
  • the location in the message for example 14 bytes; includes the length to be replaced, ie the length of the IP header, for example 20 bytes; including the content after the replacement, ie the new IP header.
  • the edit command may also be “discarded”, that is, the forwarding process of the message is terminated, and the cache at the ingress node is released.
  • the ingress node After receiving the first instruction message, the ingress node can read the data of the message from the local cache according to the message ID, and then edit the message according to the editing instruction, for example, the above “replace” instruction, and use the new IP header. Replace the original IP header.
  • the ingress node sends the edited message and the first egress port to the first egress node according to the physical box number of the first egress node in the first instruction message, and then the first egress node passes the An outgoing port forwards the edited message.
  • step 209 includes: if the matching result is the destination IP address and location The first prefix field in the routing table is successfully matched, and the first searching node processes the ID, the first egress port corresponding to the first prefix field as a second instruction message, and the first searching node is the second The instruction message and the physical box number of the ingress node are sent to a first egress node corresponding to the first prefix field.
  • the first egress node sends a request message to the ingress node, where the request message includes the ID; the ingress node acquires the packet according to the ID, and sends the packet to the first An egress node; the first egress node receives the packet and sends the packet through the first egress port.
  • the second instruction message may also include an editing instruction, but different from the previous embodiment, the egress node edits the message according to the editing instruction, and after the editing, passes the message through the first egress port. Forward.
  • the step 209 includes: if the matching result is that the destination IP address does not match the first prefix field in the routing table, the first searching node sends the packet.
  • the ID, edit instruction is processed as a third instruction message, and the third instruction message is sent to the ingress node, wherein the edit instruction field is a discard instruction. Then, after receiving the third instruction message, the ingress node can obtain the packet according to the ID of the packet, and discard the packet to release the storage space occupied by the packet.
  • step 209 includes: if the matching result is that the destination IP address matches the first prefix field in the routing table is unsuccessful, the first searching node determines whether the first has a default routing flag bit. If yes, if the first default route flag is yes, the first search node obtains the first default route; the first search node acquires a second exit node corresponding to the first default route Physical box number and second out port.
  • the search node has updated the default route in the routing table, so the destination IP address can be directly matched in the routing table, and there is no default route. The method is the same, so I won't go into details here.
  • the routing table is distributed and stored on different lookup nodes, so that the routing table can be distributed more uniformly, and the pressure of the routing table specifications of the single node is reduced.
  • the allocation node and the lookup node adopt the LPM matching principle when matching, so when the search node is allocated, there is no conflict, and there is no false hit, so the overall route search efficiency is high.
  • an embodiment of the present invention further provides a device (shown in FIG. 2) for implementing any one of the foregoing methods.
  • the receiver 30 is configured to receive a destination network protocol IP address of a packet sent by an ingress node of the packet forwarding device, where the allocation node stores an allocation table, where the allocation is performed.
  • the allocation table entry of the table includes a matching item field and a lookup node number field, where the matching item field is a prefix corresponding to a root node of a prefix subtree, and the searching node number field is a routing information of the one prefix subtree.
  • the processor 10 configured to perform matching of the match field in the allocation table according to the longest prefix matching LPM principle according to the destination IP address; if the destination IP address is The first matching item field in the allocation table is successfully matched, and the allocation node acquires a physical box number of the first searching node where the routing information of the first prefix subtree corresponding to the first matching item field is located;
  • the first lookup node is a lookup node of the packet forwarding device;
  • the sender 20 is configured to send the destination IP address to the first lookup node; Find the node stores routing table, the routing table entries in the routing table with the prefix field comprises a port field, the prefix sub-field is the first prefix A real prefix in the tree, where the egress port field is a physical box number of the egress node and an egress port number; and the egress node is an egress node of the packet forwarding device.
  • the receiver 30 is configured to: receive the packet sent by the ingress node.
  • the receiver 30 is configured to: receive a control message sent by the ingress node, where the control message includes the destination IP address, an identifier ID of the packet, and a physical box number of the ingress node;
  • the transmitter 20 is further configured to send the ID and a physical box number of the ingress node to the first lookup node.
  • the allocation table of the allocation table further includes: whether there is a default route flag bit field and a default route field, and whether the default route flag bit field is the default route flag of the one prefix subtree, the default The route is a default route of the one prefix subtree, where the default route is the longest matching prefix before the root node and its corresponding routing information;
  • the transmitter 20 is further configured to: if the destination IP address is successfully matched with the first matching field in the allocation table, whether the first corresponding to the first matching field has a default routing flag Sending the bit to the first lookup node; and when the first default route flag is YES, the first assigning node sends a first default route corresponding to the first match field Giving the first lookup node.
  • the receiver 30 is further configured to receive an allocation entry that is sent by a controller of the packet forwarding device.
  • the processor 10 is further configured to update the allocation table according to the received allocation table item.
  • the allocation table of the allocation table further includes: whether there is a default route flag bit field and a default route field, and whether the default route flag bit field is the default route flag of the one prefix subtree, the default The route is the default route of the one prefix subtree, the default route is the longest matching prefix before the root node and its corresponding routing information; the receiver 30 is further configured to receive the controller of the packet forwarding device. a default route that is delivered, the default route that is delivered is a default route of the first prefix subtree, and the processor 10 is further configured to fill the delivered default route with the corresponding one of the first matching field In the first default route field, and whether the first default route flag bit corresponding to the first match field is set to Yes.
  • the receiver 30 is configured to receive a destination network protocol IP address of a packet sent by a distribution node of the packet forwarding device, where the allocation node stores an allocation table.
  • the allocation table of the allocation table includes a matching field and a searching node number field, where the matching field is a prefix corresponding to a root node of a prefix subtree, and the searching node number field is a route of the one prefix subtree a physical box number of the lookup node where the information is located;
  • the lookup node is a lookup node where the routing information of the first prefix subtree in the one prefix subtree is located;
  • the lookup node stores a routing table, the routing table
  • the routing entry includes a prefix field and an outgoing port field, the prefix field is a prefix in the first prefix subtree, the outgoing port field is a physical box number of the egress node, and an egress port number;
  • the receiver 30 is configured to receive the packet sent by the distribution node, and the processor 10 is configured to: if the matching result is that the destination IP address matches the first prefix field in the routing table. Sending, by the sender 20, the message and the first egress port number corresponding to the first prefix field to the first egress node corresponding to the first prefix field.
  • the receiver 30 is further configured to receive an identifier ID of the packet sent by the distribution node and a physical box number of an ingress node of the packet forwarding device, where the ingress node receives the identifier from an external network.
  • An ingress node of the packet; the processor 10 is configured to: if the matching result is that the destination IP address matches the first prefix field in the routing table And processing, the ID, the physical box number of the first egress node corresponding to the first prefix field, and the first egress port are processed as a first instruction message; and sending, by using the transmitter 20, the first instruction message The entry node.
  • the first instruction message further includes an editing instruction, where the editing instruction is used to instruct the ingress node to edit the message.
  • the receiver 30 is further configured to receive an identifier ID of the packet sent by the distribution node and a physical box number of an ingress node of the packet forwarding device, where the ingress node receives the identifier from an external network.
  • the ingress node of the message; the processor 10 is further configured to: if the matching result is that the destination IP address matches the first prefix field in the routing table, the ID is corresponding to the first prefix field
  • the first egress port is processed as a second instruction message; and the second instruction message and the physical box number of the ingress node are sent by the transmitter 20 to the first egress node corresponding to the first prefix field.
  • the second instruction message further includes an editing instruction, where the editing instruction is used to instruct the ingress node to edit the message.
  • the allocation table of the allocation table further includes: whether there is a default route flag bit field and a default route field, and whether the default route flag bit field is the default route flag of the one prefix subtree, the default The route is the default route of the one prefix subtree, and the default route is the longest matching prefix and the corresponding routing information before the root node; the receiver 30 is further configured to receive the Whether the first of the first prefix subtree has a default route flag bit; and when the first default route flag is YES, the first lookup node receives the first message sent by the first distribution node Determining a first default route of the prefix subtree; the processor 10 is configured to determine, if the matching result is that the destination IP address matches the first prefix field in the routing table, the first route identifier is determined to be Whether the bit is YES; if the first default route flag is YES, the first default route is obtained; and the physical box of the second egress node corresponding to the first default route is obtained
  • the receiver 30 is further configured to receive a routing entry sent by a controller of the packet forwarding device.
  • the processor 10 is further configured to update the routing table according to the received routing entry.
  • the receiver 30 is further configured to receive a default route of the first prefix subtree sent by a controller of the packet forwarding device, where the default route is before the root node of the first prefix subtree.
  • the longest matching prefix and its corresponding routing information the processor 10 is further configured to update the default routing of the first prefix subtree into the routing table.
  • the device in FIG. 2 may be an ingress node, where the receiver 30 is configured to receive a message, and the processor 10 is configured to: identify an identifier of the packet, and a destination network protocol IP of the packet.
  • the address and the physical box number of the ingress node are processed as a control message;
  • the transmitter 20 is configured to send the control message to a first one of the at least one distribution node of the packet forwarding device; wherein the at least one The allocation node has the same allocation table;
  • the allocation table of the allocation table includes a matching field and a search node number field, where the matching field is a prefix corresponding to a root node of a prefix subtree, and the searching node number is The field is a physical box number of the search node where the routing information of the one prefix subtree is located;
  • the receiver 30 is further configured to receive the first instruction message sent by the first searching node of the at least one searching node of the packet forwarding device,
  • the first instruction message includes the ID
  • the processor 10 is further configured to store the packet, where the ID represents a storage address of the packet.
  • the processor 10 is further configured to: before the sending the control message to the first one of the at least one distribution node of the packet forwarding device, perform matching in the hotspot routing table according to the destination IP address. And determining that the unmatched success is successful; wherein the routing entry of the hotspot routing table includes a prefix field and an outgoing port field, where the outgoing port field includes a physical box number of the egress node and an egress port.
  • the first instruction message further includes an editing instruction
  • the processor 10 is further configured to: edit the message according to the editing instruction before sending the message to the first egress node. .
  • the embodiment of the present invention further provides a route searching device, where the route searching device includes a function module for performing the foregoing method steps.
  • the route searching device includes a receiving unit 301, a processing unit 302, and a sending unit 303.
  • the receiving unit 301 is configured to receive a destination network protocol IP address of a packet sent by an ingress node of the packet forwarding device, where the route searching device stores an allocation table, where the allocation table is configured.
  • the allocation table entry includes a matching item field and a lookup node number field, where the matching item field is a prefix corresponding to a root node of a prefix subtree, and the lookup node number field is a search for routing information of the one prefix subtree.
  • the processing unit 302 configured to perform matching of the match field in the allocation table according to the longest prefix matching LPM principle according to the destination IP address; if the destination IP address and the allocation The first matching item field in the table is successfully matched, and the allocation node acquires a physical box number of the first search node where the routing information of the first prefix subtree corresponding to the first matching item field is located;
  • the first search node is a lookup node of the packet forwarding device, and the sending unit 303 is configured to send the destination IP address to the first search node.
  • the routing table of the routing table includes a prefix field and an egress port field, where the prefix field is a real prefix in the first prefix subtree, and the The port field is a physical box number of the egress node and an egress port number; the egress node is an egress node of the packet forwarding device.
  • the receiving unit 301 is configured to: receive the packet sent by the ingress node.
  • the receiving unit 301 is configured to: receive a control message sent by the ingress node, where the control message includes the destination IP address, an identifier ID of the packet, and a physical box number of the ingress node;
  • the unit 303 is further configured to send the ID and a physical box number of the ingress node to the first lookup node.
  • the allocation table of the allocation table further includes: whether there is a default route flag bit field and a default route field, and whether the default route flag bit field is the default route flag of the one prefix subtree, the default The routing is the default route of the one prefix subtree, the default route is the longest matching prefix before the root node and its corresponding routing information; the sending unit 303 is further configured to: if the destination IP address is The first matching field in the allocation table is successfully matched, and the first corresponding routing flag corresponding to the first matching field is sent to the first searching node; and in the first When the default route flag is YES, the first distribution node sends a first default route corresponding to the first match field to the first search node.
  • the receiving unit 301 is further configured to receive an allocation entry that is sent by the controller of the packet forwarding device.
  • the processing unit 302 is further configured to update the allocation table according to the received allocation entry.
  • the allocation table of the allocation table further includes: whether there is a default route flag bit field and a default route field, and whether the default route flag bit field is the default route flag of the one prefix subtree, the default The routing is the default route of the one prefix subtree, the default route is the longest matching prefix and the corresponding routing information before the root node, and the receiving unit 301 is further configured to receive the controller of the packet forwarding device.
  • a default route that is delivered is a default route of the first prefix subtree
  • the processing unit 302 is further configured to fill the delivered default route in the first match field. In the first default route field, and will be associated with the first match
  • the first field corresponding to the field has the default route flag set to Yes.
  • the receiving unit 301 is configured to receive a destination network protocol IP address of a packet sent by the distribution node of the packet forwarding device, where the allocation node stores an allocation table.
  • the allocation table of the allocation table includes a matching field and a searching node number field, where the matching field is a prefix corresponding to a root node of a prefix subtree, and the searching node number field is a route of the one prefix subtree a physical box number of the search node where the information is located;
  • the route lookup device is a lookup node where the routing information of the first prefix subtree in the one prefix subtree is located;
  • the route lookup device stores a routing table,
  • the routing table entry of the routing table includes a prefix field and an outbound port field, the prefix field is a prefix in the first prefix subtree, and the egress port field is a physical box number of the egress node and an egress port number
  • the receiving unit 301 is configured to receive the packet sent by the allocating node
  • the processing unit 302 is configured to: if the matching result is that the destination IP address matches the first prefix field in the routing table. And sending, by the sending unit 303, the packet and the first egress port number corresponding to the first prefix field to the first egress node corresponding to the first prefix field.
  • the receiving unit 301 is further configured to receive an identifier ID of the packet sent by the distribution node and a physical box number of an ingress node of the packet forwarding device, where the ingress node receives the identifier from an external network.
  • An ingress node of the packet; the processing unit 302 is configured to: if the matching result is that the destination IP address matches the first prefix field in the routing table, the ID is corresponding to the first prefix field.
  • the physical box number of the first egress node and the first egress port are processed as a first instruction message; and the first instruction message is sent to the ingress node by the sending unit 303.
  • the first instruction message further includes an editing instruction, where the editing instruction is used to instruct the ingress node to edit the message.
  • the receiving unit 301 is further configured to receive an identifier ID of the packet sent by the distribution node and a physical box number of an ingress node of the packet forwarding device, where the ingress node receives the identifier from an external network.
  • An ingress node of the message; the processing unit 302 is further configured to: if the matching result is that the destination IP address matches the first prefix field in the routing table, the ID is corresponding to the first prefix field
  • the first egress port is processed as a second instruction message; and the second instruction message and the physical box number of the ingress node are sent by the sending unit 303 to the first egress node corresponding to the first prefix field.
  • the second instruction message further includes an editing instruction, where the editing instruction is used to instruct the ingress node to edit the message.
  • the allocation table of the allocation table further includes: whether there is a default route flag bit field and a default route field, and whether the default route flag bit field is the default route flag of the one prefix subtree, the default The route is the default route of the one prefix subtree, and the default route is the longest matching prefix and the corresponding routing information before the root node; the receiving unit 301 is further configured to receive the Whether the first of the first prefix subtree has a default route flag bit; and when the first default route flag is YES, the first lookup node receives the first message sent by the first distribution node a first default route of the prefix subtree; the processing unit 302 is configured to determine, if the matching result is that the destination IP address matches the first prefix field in the routing table, the first route identifier is determined to be Whether the bit is YES; if the first default route flag is YES, the first default route is obtained; and the second exit node corresponding to the first default route is obtained.
  • the receiving unit 301 is further configured to receive a routing entry sent by a controller of the packet forwarding device;
  • the unit 302 is further configured to update the routing table according to the received routing entry.
  • the receiving unit 301 is further configured to receive a default route of the first prefix subtree that is sent by the controller of the packet forwarding device, where the default route is before the root node of the first prefix subtree.
  • the longest matching prefix and its corresponding routing information the processing unit 302 is further configured to update the default routing of the first prefix subtree into the routing table.
  • the receiving unit 301 is configured to receive a packet
  • the processing unit 302 is configured to: use an identifier of the packet, and a destination network protocol IP address of the packet.
  • the physical box number of the route finder is processed as a control message
  • the sending unit 303 is configured to send the control message to a first one of the at least one distribution node of the packet forwarding device; wherein the at least one The allocation node has the same allocation table;
  • the allocation table of the allocation table includes a matching field and a search node number field, where the matching field is a prefix corresponding to a root node of a prefix subtree, and the searching node number is The field is a physical box number of the search node where the routing information of the one prefix subtree is located;
  • the receiving unit 301 is further configured to receive the first instruction message sent by the first searching node of the at least one searching node of the packet forwarding device,
  • the first instruction message includes the ID and a
  • the processing unit 302 is further configured to store the packet, where the ID represents a storage address of the packet.
  • the processing unit 302 is further configured to: before the sending the control message to the first one of the at least one distribution node of the packet forwarding device, perform matching in the hotspot routing table according to the destination IP address. And determining that the unmatched success is successful; wherein the routing entry of the hotspot routing table includes a prefix field and an outgoing port field, where the outgoing port field includes a physical box number of the egress node and an egress port.
  • the first instruction message further includes an editing instruction
  • the processing unit 302 is further configured to: edit the message according to the editing instruction before sending the message to the first egress node. .
  • route lookup method in the foregoing embodiment is also applicable to the route lookup device of the present embodiment and the device in FIG. 2.
  • route lookup method those skilled in the art can clearly understand Knowing the route lookup device in this embodiment and the implementation method of the device in FIG. 2, for the sake of brevity of the description, it will not be described in detail herein.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • These computer program instructions can also be stored in a particular computer capable of booting a computer or other programmable data processing device In a computer readable memory that operates in a computer readable memory, causing instructions stored in the computer readable memory to produce an article of manufacture comprising instruction means implemented in a block or in a flow or a flow diagram and/or block diagram of the flowchart The functions specified in the boxes.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Abstract

一种路由查找方法、装置、分配节点、查找节点及入口节点,该方法包括:分配节点接收入口节点发送的报文的目的IP地址;分配节点上的分配表包括匹配项字段以及查找节点号字段,匹配项字段为一个前缀子树的根节点对应的前缀,查找节点号字段为一个前缀子树的路由信息所在的查找节点的物理盒子号;分配节点根据目的IP地址按照LPM原则在分配表中进行匹配项字段的匹配;若目的IP地址与分配表中的第一匹配项字段匹配成功,分配节点获取第一匹配项字段对应的第一前缀子树的路由信息所在的第一查找节点的物理盒子号;分配节点将目的IP地址发送给第一查找节点。

Description

路由查找方法、装置、分配节点、查找节点及入口节点
本申请要求在2016年5月6日提交中国专利局、申请号为201610298938.5、发明名称为“路由查找方法、装置、分配节点、查找节点及入口节点”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,尤其涉及一种路由查找方法、装置、分配节点、查找节点及入口节点。
背景技术
路由器的主要任务是进行网络协议(英文:Internet Protocol,简称:IP)报文转发,即根据报文头中的目的IP地址将到达路由器输入端口的报文转发到正确的出端口。路由查找就是根据报文的目的IP地址,查找路由器中的路由表,得到报文的出端口信息的过程。
随着网络的发展,路由器的吞吐量的需求逐步提高。在现有技术中,一种提高路由器的吞吐量的方法为水平扩展(Scale Out),即整个路由器由多个盒子堆叠搭建而成,主要通过增加盒子数量来提升性能,容易实现规模效应从而降低成本。
以下描述一个现有技术中的水平扩展的分布式路由器以及路由查找方法。分布式路由器包括入口计算节点、反弹计算节点以及出口计算节点,进一步,还可以包括其它计算节点。入口计算节点接收网络报文,并确定将接收到的网络报文路由到哪个反弹计算节点。具体的,入口计算节点基于接收到的目的IP地址生成散列秘钥,每个散列密码与分布式路由器的不同计算节点(例如反弹计算节点)相对应,这样,入口计算节点确定具体的反弹计算节点之后,将网络报文发送给所确定的反弹计算节点而不执行路由查找。反弹计算节点基于目的IP地址确定将网络报文路由到哪儿。具体的,每个反弹计算节点存储不同的路由条目集合(例如子集、部分等)。反弹计算节点确定负责网络报文从分布式路由器的离开的具体的出口计算节点。
在该路由查找方法中,采用目的IP地址生成的散列秘钥进行路由表的分布式存放,会造成大量路由条目的重复,而且因为基于散列秘钥做分布式路由查找,所以会存在哈希(Hash)冲突,需要额外的机制来解决哈希冲突,另外还会造成虚假命中。因此,导致整个路由效率较低。
发明内容
本发明实施例提供一种路由查找方法、装置、分配节点、查找节点及入口节点,用以解决现有技术中分布式路由器的路由机制效率较低的技术问题。
第一方面,本发明实施例提供了一种路由查找方法,包括:
报文转发设备的分配节点接收所述报文转发设备的入口节点发送的报文的目的网络协议IP地址;所述分配节点上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;分配节点根据所述目的IP地址按照最长前缀匹配LPM原则在所述分配表中进行所述匹配项字段的匹配;若所 述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,所述分配节点获取所述第一所述匹配项字段对应的第一前缀子树的路由信息所在的第一查找节点的物理盒子号;所述第一查找节点为所述报文转发设备的查找节点;所述分配节点将所述目的IP地址发送给所述第一查找节点;其中,所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的真实前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点。
在本发明实施例的方案中,路由表分布式存放在不同的查找节点上,所以可以使得路由表分布更均匀,而且降低了单个节点的路由表规格的压力。进一步,分配节点和查找节点在匹配时均采用LPM匹配原则,所以分配查找节点时,无冲突,也不会有虚假命中的情况,所以整体上路由查找效率较高。
结合第一方面,在第一方面的第一种可能的实现方式中,所述分配节点接收所述目的IP地址,包括:所述分配节点接收所述入口节点发送的所述报文。
结合第一方面,在第一方面的第二种可能的实现方式中,所述分配节点接收所述目的IP地址,包括:所述分配节点接收所述入口节点发送的控制消息,所述控制消息中包括所述目的IP地址、所述报文的标识ID以及所述入口节点的物理盒子号;相应的,所述方法还包括:所述分配节点将所述ID以及所述入口节点的物理盒子号发送给所述第一查找节点。通过该方法实现交换平面和查找平面的解耦,减少查找平面的互联负担以及交换拥塞。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;所述方法还包括:若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,所述分配节点将与所述第一所述匹配项字段对应的第一是否有默认路由标志位发送给所述第一查找节点;以及在所述第一是否有默认路由标志位为是时,所述第一分配节点将与所述第一所述匹配项字段对应的第一默认路由发送给所述第一查找节点。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式种的任意一种,在第一方面的第四种可能的实现方式中,所述方法还包括:
所述分配节点接收所述报文转发设备的控制器下发的分配表项;
所述分配节点根据接收到的所述分配表项更新所述分配表。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第五种可能的实现方式中,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;所述方法还包括:所述分配节点接收所述报文转发设备的控制器下发的默认路由,所述下发的默认路由为所述第一前缀子树的默认路由;所述分配节点将所述下发的默认路由填充在所述第一匹配项字段对应的第一默认路由字段中,并且将与所述第一匹配项字段对应的第一是否有默认路由标志位设置为是。
第二方面,本发明实施例提供一种路由查找方法,包括:
报文转发设备的第一查找节点接收所述报文转发设备的分配节点发送的报文的目的网络协议IP地址;所述分配节点上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;所述第一查找节点为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点;所述第一查找节点根据所述目的IP地址按照所述LPM原则在所述路由表中进行所述前缀字段的匹配;所述第一查找节点根据匹配结果执行与所述匹配结果对应的操作。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一查找节点接收所述目的IP地址,包括:所述第一查找节点接收所述分配节点发送的所述报文;相应的,所述第一查找节点根据匹配结果执行与所述匹配结果对应的操作,包括:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,所述第一查找节点将所述报文以及与所述第一前缀字段对应的第一出端口号发送给与所述第一前缀字段对应的第一出口节点。
结合第二方面,在第二方面的第二种可能的实现方式中,所述方法还包括:
所述第一查找节点接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;相应的,所述第一查找节点根据匹配结果执行与所述匹配结果对应的操作,包括:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,所述第一查找节点将所述ID、与所述第一前缀字段对应的第一出口节点的物理盒子号以及第一出端口处理为第一指令消息;所述第一查找节点将所述第一指令消息发送给所述入口节点。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一指令消息还包括编辑指令,所述编辑指令用于指示所述入口节点对所述报文进行编辑。
结合第二方面,在第二方面的第四种可能的实现方式中,所述方法还包括:
所述第一查找节点接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;相应的,所述第一查找节点根据匹配结果执行与所述匹配结果对应的操作,包括:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,所述第一查找节点将所述ID、与所述第一前缀字段对应的第一出端口处理为第二指令消息;所述第一查找节点将所述第二指令消息以及所述入口节点的物理盒子号发送给与所述第一前缀字段对应的第一出口节点。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第二指令消息还包括编辑指令,所述编辑指令用于指示所述第一出口节点对所述报文进行编辑。
结合第二方面,在第二方面的第六种可能的实现方式中,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认 路由为所述根节点之前的最长匹配前缀及其对应的路由信息;所述方法还包括:所述第一查找节点接收所述第一分配节点发送的与所述第一前缀子树的第一是否有默认路由标志位;以及在所述第一是否有默认路由标志位为是时,第一查找节点接收所述第一分配节点发送的所述第一前缀子树的第一默认路由;相应的,所述第一查找节点根据匹配结果执行与所述匹配结果对应的操作,包括:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配未成功,所述第一查找节点确定所述第一是否有默认路由标志位是否为是;若第一是否有默认路由标志位为是,所述第一查找节点获取所述第一默认路由;所述第一查找节点获取与所述第一默认路由对应的第二出口节点的物理盒子号以及第二出端口。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第六种可能的实现方式中的任意一种,在第二方面的第七种可能的实现方式中,所述方法还包括:所述第一查找节点接收所述报文转发设备的控制器发送的路由表项;所述第一查找节点根据接收到的路由表项更新所述路由表。
结合第二方面,在第二方面的第八种可能的实现方式中,所述方法还包括:
所述第一查找节点接收所述报文转发设备的控制器下发的所述第一前缀子树的默认路由;所述默认路由为所述第一前缀子树的根节点之前的最长匹配前缀及其对应的路由信息;所述第一查找节点将所述第一前缀子树的默认路由更新至所述路由表中。
第三方面,本发明实施例提供一种路由查找方法,包括:
报文转发设备的入口节点接收报文;所述入口节点将所述报文的标识ID、所述报文的目的网络协议IP地址以及所述入口节点的物理盒子号处理为控制消息;所述入口节点将所述控制消息发送给所述报文转发设备的至少一个分配节点中的第一分配节点;其中,所述至少一个分配节点上存储有相同的分配表;所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;所述入口节点接收所述报文转发设备的至少一个查找节点的第一查找节点发送的第一指令消息,所述第一指令消息包括所述ID以及第一出口节点的物理盒子号以及第一出端口;其中,所述第一查找节点为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述入口节点根据所述ID获取所述报文并将所述报文以及所述第一出端口发送给所述第一出口节点。通过该方法实现交换平面和查找平面的解耦,减少查找平面的互联负担以及交换拥塞。
结合第三方面,在第三方面的第一种可能的实现方式中,所述方法还包括:所述入口节点将所述报文存储在本地,所述ID表征所述报文的存储地址。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,在所述入口节点将所述控制消息发送给所述报文转发设备的至少一个分配节点中的第一分配节点之前,所述方法还包括:所述入口节点根据所述目的IP地址在热点路由表中进行匹配并确定未匹配成功;其中,所述热点路由表的路由表项包括前缀字段以及出端口字段,所述出端口字段包括出口节点的物理盒子号以及出端口。通过该方法可以实现快速的报文转发,并且可以减少分配节点和查找节点的负担。
结合第三方面或第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述第一指令消息还包括编辑指令,所述方法还包括:在将所述报文发送给所述第一出口节点之前,对所述报文按照所述编辑指令进行编辑。
第四方面,本发明实施例提供一种路由查找装置。具体的,该装置可以为分配节点。该装置具有实现上述方法设计中分配节点的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,作为分配节点的路由查找装置的具体结构可包括接收单元、处理单元以及发送单元。接收单元、处理单元以及发送单元可执行上述方法中的相应功能。
第五方面,本发明实施例提供一种路由查找装置。具体的,该装置可以为查找节点。该装置具有实现上述方法设计中查找节点的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,作为查找节点的路由查找装置的具体结构可包括接收单元、处理单元以及发送单元。接收单元、处理单元以及发送单元可执行上述方法中的相应功能。
第六方面,本发明实施例提供一种路由查找装置,具体的,该装置可以为入口节点。该装置具有实现上述方法设计中入口节点的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,作为入口节点的路由查找装置的具体结构可包括接收单元以及处理单元。接收单元以及处理单元可执行上述方法中的相应功能。
第七方面,本发明实施例提供一种分配节点。该分配节点包括:接收器、发送器,以及处理器,所述接收器、发送器以及处理器用于执行上述分配节点执行的方法。
第八方面,本发明实施例提供一种查找节点。该查找节点包括:接收器、发送器,以及处理器,所述接收器、发送器以及处理器用于执行上述查找节点执行的方法。
第九方面,本发明实施例提供一种入口节点。该分配节点包括:接收器、发送器,以及处理器,所述接收器、发送器以及处理器用于执行上述入口节点节点执行的方法。
第十方面,本发明实施例提供一种路由表项的配置方法,包括:
报文转发设备的控制器接收所述报文转发设备的入口节点上报的协议报文并对所述协议报文进行处理,获得路由表项的前缀、出口节点的物理盒子号以及出端口;所述出口节点为所述报文转发设备的出口节点;所述控制器为所述前缀在前缀树中划分前缀子树;若所述前缀子树为新建子树,所述控制器为所述路由表项分配查找节点并将所述路由表项下发给所述查找节点;所述查找节点为所述报文转发设备的查找节点;所述控制器生成分配表项,所述分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为所述前缀子树的根节点对应的前缀,所述查找节点号为所述查找节点的物理盒子号;所述控制器将所述分配表项下发给所述报文转发设备的所有分配节点。
结合第十方面,在第十方面的第一种可能的实现方式中,所述分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述前缀子树是否有默认路由,所述默认路由为所述前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息。
结合第十方面,在第十方面的第二种可能的实现方式中,所述方法还包括:
所述控制器判断所述根节点之前是否有前缀;若所述根节点之前有前缀,所述控制器 将所述根节点之前的最长匹配前缀及其对应的路由信息作为所述前缀子树的默认路由下发给所述查找节点。
结合第十方面,在第十方面的第三种可能的实现方式中,若所述前缀子树已存在,所述控制器将所述路由表项下发给所述前缀子树对应的查找节点。
结合第十方面的第一种可能的实现方式,在第十方面的第四种可能的实现方式中,所述方法还包括:若所述前缀及其对应的路由信息为其它子树的默认路由,所述控制器更新所有分配节点上的所述其它前缀子树的默认路由字段以及是否有默认路由字段。
结合第十方面或第十方面的第三种可能的实现方式中,在第十方面的第五种可能的实现方式中,所述方法还包括:
若所述前缀及其对应的路由信息为其它子树的默认路由,所述控制器将所述前缀及其对应的路由信息下发给所述其它前缀子树对应的查找节点。
第十一方面,本发明实施例提供一种路由表项配置装置,具体的,该装置可以为控制器。该装置具有实现上述方法设计中控制器的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,作为控制器的路由表项配置装置的具体结构可包括接收单元、处理单元以及发送单元。接收单元处理单元以及发送单元可执行上述方法中的相应功能。
第十二方面,本发明实施例提供一种控制器。该控制器包括:接收器、发送器,以及处理器,所述接收器、发送器以及处理器用于执行上述控制器执行的方法。
第十三方面,本发明实施例提供一种计算机存储介质,用于存储上述第一方面、第二方面、第三方面、第十方面中任一方面所描述的方法或第四方面只第六方面所描述的路由查找装置所用的计算机软件指令,并包含用于执行上述方面所设计的程序。
第十四方面,本发明实施例提供一种报文转发设备,包括入口节点、分配节点、查找节点、出口节点以及控制器,
入口节点,用于接收一个报文并将所述报文的目的网络协议IP地址发送给所述报文转发设备的至少一个分配节点中的第一分配节点;其中,所述至少一个分配节点上存储有相同的分配表;所述分配表包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;
第一分配节点用于根据所述目的IP地址按照最长前缀匹配LPM原则在所述分配表中进行所述匹配项字段的匹配;若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,获取所述第一所述匹配项字段对应的第一前缀子树的路由信息所在的第一查找节点的物理盒子号;将所述目的IP地址发送给所述第一查找节点;其中,所述第一查找节点上存储有路由表,所述路由表包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;
第一查找节点用于根据所述目的IP地址按照所述LPM原则在所述路由表中进行所述前缀字段的匹配;根据匹配结果执行与所述匹配结果对应的操作。
结合第十四方面,在第十四方面的第一种可能的实现方式中,所述入口节点用于将所述报文发送给所述第一分配节点。
结合第十四方面的第一种可能的实现方式,在第十四方面的第二种可能的实现方式 中,所述第一查找节点用于:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,将所述报文以及与所述第一前缀字段对应的第一出端口号发送给与所述第一前缀字段对应的第一出口节点;
所述第一出口节点用于通过所述第一出端口发送所述报文。
结合第十四方面,在第十四方面的第三种可能的实现方式中,所述入口节点还用于在所述入口节点将所述报文的目的IP地址发送给所述第一分配节点之前,提取所述报文的目的IP地址;将所述目的IP地址、所述报文的标识ID以及所述入口节点的物理盒子号处理为控制消息;将所述控制消息发送给所述第一分配节点。
结合第十四方面的第三种可能的实现方式中,在第十四方面的第四种可能的实现方式中,所述第一分配节点还用于:将所述ID以及所述入口节点的物理盒子号发送给所述第一查找节点;第一查找节点用于:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,将所述ID、与所述第一前缀字段对应的第一出口节点的物理盒子号以及第一出端口处理为第一指令消息;将所述第一指令消息发送给所述入口节点;
所述入口节点还用于根据所述ID获取所述报文并将所述报文以及所述第一出端口发送给所述第一出口节点;
所述第一出口节点还用于通过所述第一出端口发送所述报文。
结合第十四方面的第三种可能的实现方式,在第十四方面的第五种可能的实现方式中,所述第一查找节点用于:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,将所述ID、与所述第一前缀字段对应的第一出端口处理为第二指令消息;将所述第二指令消息以及所述入口节点的物理盒子号发送给与所述第一前缀字段对应的第一出口节点;所述第一出口节点还用于向所述入口节点发送请求消息,所述请求消息中包括所述ID;所述入口节点还用于根据所述ID获取所述报文并将所述报文发送给所述第一出口节点;所述第一出口节点还用于接收所述报文并通过所述第一出端口发送所述报文。
结合第十四方面的第三种可能的实现方式或第十四方面的第四种可能的实现方式或第十四方面的第五种可能的实现,在第十四方面的第六种可能的实现方式中,所述ID用于表征所述报文在所述入口节点上的存储位置。
结合第十四方面或第十四方面的第一种可能的实现方式或第十四方面的第三种可能的实现方式,在十四方面的第六种可能的实现方式中,所述分配表还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;所述第一分配节点还用于:若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,将与所述第一所述匹配项字段对应的第一是否有默认路由标志位发送给所述第一查找节点;以及在所述第一是否有默认路由标志位为是时,将与所述第一所述匹配项字段对应的第一默认路由发送给所述第一查找节点;
相应的,所述第一查找节点用于:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配未成功,确定所述第一是否有默认路由标志位是否为是;若第一是否有默认路由标志位为是,获取所述第一默认路由;获取与所述第一默认路由对应的第二出口节点的物理盒子号以及第二出端口。
结合第十四方面或第十四方面的第一种可能的实现方式至第十四方面的第六种可能 的实现方式中任意一种,在十四方面的第七种可能的实现方式中,控制器用于接收所述入口节点上报的协议报文并对所述协议报文进行处理,获得路由表项的前缀、出口节点的物理盒子号以及出端口;为所述路由表项的前缀在前缀树中划分第二前缀子树;若所述第二前缀子树为新建子树,为所述路由表项分配查找节点;所述控制器还用于将所述路由表项下发给分配的查找节点;生成新的分配表项,所述分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为所述第二前缀子树的根节点对应的前缀,所述查找节点号为所述分配的查找节点的物理盒子号;所述控制器还用于将所述分配表项下发给所述至少一个分配节点。
结合第十四方面第七种可能的实现方式,在十四方面的第八种可能的实现方式中,分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述第二前缀子树是否有默认路由,所述默认路由为所述第二前缀子树的默认路由,所述默认路由为所述第二前缀子树的根节点之前的最长匹配前缀及其对应的路由信息。
结合第十四方面第七种可能的实现方式,在十四方面的第九种可能的实现方式中,所述控制器还用于判断所述第二前缀子树的根节点之前是否有前缀;若所述第二前缀子树的根节点之前有前缀,将所述第二前缀子树的根节点之前的最长匹配前缀及其对应的路由信息作为所述第二前缀子树的默认路由下发给所述查找节点。
结合第十四方面第七种可能的实现方式,在十四方面的第十种可能的实现方式中,若所述第二前缀子树已存在,所述控制器还用于将所述路由表项下发给所述第二前缀子树对应的查找节点。
结合第十四方面第九种可能的实现方式,在十四方面的第十一种可能的实现方式中,若所述前缀及其对应的路由信息为其它子树的默认路由,所述控制器更新所有分配节点上的所述其它前缀子树的默认路由字段以及是否有默认路由字段。
结合第十四方面第八种可能的实现方式或第十四方面的第十种可能的实现方式,在十四方面的第十二种可能的实现方式中,若所述前缀及其对应的路由信息为其它子树的默认路由,所述控制器还用于将所述前缀及其对应的路由信息下发给所述其它前缀子树对应的查找节点。
附图说明
图1a-图1b为本发明实施例提供的一种报文转发设备的结构图;
图2为本发明实施例提供的一种装置的结构图;
图3为本发明实施例提供的一种路由表项的配置方法的流程图;
图4a-图4c为本发明实施例提供的一种前缀子树的示意图;
图5为本发明实施例提供的一种路由查找方法的流程图;
图6为本发明实施例提供的一种路由查找装置的功能框图。
具体实施方式
本发明实施例提供一种路由查找方法、装置、分配节点、查找节点及入口节点,用以解决现有技术中分布式路由器的路由机制效率较低的技术问题。
以下将详细描述本发明实施例中方案的实施过程、目的。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
为便于说明本发明实施例中的路由查找方法,下面先介绍一种报文转发设备,本发明实施例中的路由查找方法可以应用在该报文转发设备中。请参考图1a和图1b所示,为本发明实施例提供的一种可能的报文转发设备的结构图。如图1a和图1b所示,该报文转发设备包括控制器、至少一个入口节点、至少一个分配节点、至少一个查找节点以及至少一个出口节点。在实际运用中,一个物理盒子可以只包括一种节点,也可以是多种节点的集合。例如,一个物理盒子可以既包括入口节点,也可以包括分配节点。一个物理盒子可以既包括入口节点,也可以包括查找节点。一个物理盒子可以既包括入口节点,也可以包括出口节点。一个物理盒子可以既包括分配节点,也可以包括查找节点。一个物理盒子可以既包括查找节点,也可以包括出口节点。一个物理盒子可以既包括入口节点,也可以包括分配节点和查找节点。一个物理盒子可以既包括入口节点,也可以包括分配节点和出口节点。一个物理盒子可以既包括入口节点,也可以包括查找节点和出口节点。一个物理盒子可以既包括分配节点,也可以包括查找节点和出口节点。一个物理盒子可以既包括入口节点,也可以包括分配节点、查找节点以及出口节点。控制器可以与各个节点是分开设置的,也可以是和任一种节点设置在同一物理盒子中。这些物理盒子堆叠形成路由器整机。当然,在实际运用中,这些物理盒子也可以是分散在不同的区域,由不同的厂商制造。
在图1a中所示的结构中,每种节点之间传递是报文,例如入口节点接收报文,然后将报文发送给任一个分配节点,该分配节点在进行查找之后,将报文再传递给查找出的查找节点,然后查找节点在确定该报文的出口节点之后,就将该报文传递给确定出的出口节点,然后出口节点再将该报文进行转发给其它网元。
在图1b所示的结构中,与图1a所示的结构不同的是,将查找与交换解耦,即入口节点和出口节点形成交换平面,入口节点可以传递报文给出口节点。分配节点和查找节点形成查找平面。入口节点在接收到报文之后,可以不将报文整体发送给分配节点,而是将该报文的目的IP地址给分配节点,类似的,在查找节点确定出口节点之后,是将确定的结果和报文的目的IP地址发送给入口节点或者出口节点。
应理解,图1a和图1b所示的结构中仅示出了报文转发设备一种可能的情形,但本发明并不限于此。该报文转发设备还可包括其它元器件,本发明实施例不做限定。
接下来请参考图2,图2为本发明实施例提供的装置的可能的结构图。该装置例如为上述入口节点、分配节点、查找节点、出口节点、控制器的一种可能的结构图。如图2所示,该装置包括:处理器10、发送器20、接收器30、存储器40。存储器40、发送器20和接收器30和处理器10可以通过总线进行连接。当然,在实际运用中,存储器40、发送器20和接收器30和处理器10之间可以不是总线结构,而可以是其它结构,例如星型结构,本申请不作具体限定。
可选的,处理器10具体可以是通用的中央处理器或特定应用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(英文:Field Programmable Gate Array,简称:FPGA)开发的硬件电路,可以是基带处理器。
可选的,处理器10可以包括至少一个处理核心。
可选的,存储器40可以包括只读存储器(英文:Read Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)和磁盘存储器中的一种或多种。存储器40用于存储处理器10运行时所需的数据和/或指令。存储器40的数量可以为一个或多个。
可选的,发送器20和接收器30在物理上可以相互独立也可以集成在一起。发送器20可以通过天线进行数据发送。接收器30可以通过天线进行数据接收。
可选的,当该装置为出口节点时,还可以包括出端口,用于报文输出。
可选的,当该装置为入口节点时,还可以包括入端口,用于报文输入。
请参考如图3所示,为本发明实施例提供的一种路由表项的配置方法的流程图。如图3所示,该方法包括:
步骤101:控制器接收入口节点发送的协议报文。例如当入口节点接收到报文后,进行识别,发现是协议报文,则将协议报文上报给控制器。
步骤102:控制器对协议报文进行处理,获取路由表项的前缀、出口节点的物理盒子号以及出端口。
在实际运用中,控制器对协议报文进行处理,获取路由表项,可以有多种实施方式,例如如果是边界网关协议(英文:Border Gateway Protocol,简称:BGP)报文,则协议报文中给出了抵达某个前缀的路由信息,控制器则直接将前缀和路由信息作为路由表项。再例如如果是开放式最短路径优先(英文:Open Shortest Path First,简称:OSPF)协议报文,则该协议报文中会包括该报文转发设备与邻居设备之间的链路状态,控制器获取所有链路状态信息后,使用最短路径优先(英文:Shortest Path First,简称:SPF)算法计算出一颗最短路径树,这棵树给出了到各个网元的路由信息。
需要说明的是,对于不同的协议报文,该步骤的具体实现方式可能不同,对于现有的协议报文而言,获取路由信息为本领域技术人员所熟知的内容,所以在此不再赘述。
另外,在一个实际的例子中,前缀可以用“0”、“1”和“*”组成的三值位串表示。
在一个可能的例子中,路由表项包括前缀字段、出端口字段,例如表一所示。
前缀 出端口字段
0000* 31-02
表一
在表一的例子中,假设在步骤102中获取到的前缀为0000*,出端口字段的内容为31-02,表示出口节点的物理盒子号为31,出端口号为02号。该路由表项表示前缀0000*匹配的报文需要从物理盒子号为31号的出口节点的02号出端口号进行转发。
步骤103:为所述前缀在前缀(Trie)树中划分前缀子树。前缀树可以是二叉树也可以是多叉树。前缀树为根据前缀中的位串建立起来的二叉树或多叉树。如果每次考虑一位,则建立一棵二叉树,也称为单位Trie树。图4a示出了一颗单位前缀树。其中,前缀树包含11个真实前缀,图4a中左侧p0~p10,在单位Trie树中对应的节点用黑色圆圈表示,连接点用白色圆圈表示。如果每次考虑多位,则建立一棵多位Trie树。每次考虑的位数一般是固定的,称为Trie树的步长(英文:stride)。
多位Trie树可以看作按stride把一个单位Trie树分成多个子树,并为每个子树创建一个Trie节点。每个Trie节点均有一个关联前缀,一个Trie节点的关联前缀是该Trie节点对应的子树的根节点上的前缀值。
图4b示出了基于图4a中的前缀建立的stride等于3的多位Trie树。该多位Trie树包括7个Trie节点,如图4b中所示的Trie Node T1~Trie Node T7,每个Trie节点即为一个前缀子树。每个前缀子树中均包含至少一个真实前缀。每个Trie节点配置有一个前缀节点,例如前缀子树T1的根节点对应的前缀为p0,前缀子树T2的根节点对应的前缀为000*,该前缀并非真实前缀。
以下介绍另一种可能的划分前缀子树的方法,该方法包括:
步骤1,选前缀树中任意一个叶子节点为当前处理节点N0,前缀个数初始化为0;
步骤2:N0的父亲节点如果有前缀,则前述个数增加为父亲节点的前缀个数;
步骤3:N0是否有兄弟节点,如果有,则视兄弟节点为N1;如果没有则跳到步骤7;
步骤4:如果N1如果有前缀,则前缀个数再增加N1的前缀个数;
步骤5:N1是否有子节点,如果有,则视子节点为N1,并执行步骤4-6;
步骤6:N是否有兄弟节点且尚未遍历,如果有,则视兄弟节点为N1执行步骤4-6;
步骤7:视父亲节点为N0,执行步骤2-7。
可选的,以上各步骤中前缀个数累加的过程中,如果前缀个数超过某个阈值,则停止迭代,将已经遍历到的节点看成一个子树。并将这些节点从原树中剔除。
举例来说,请参考图4c所示,以下将描述前缀子树T2的划分过程,子树的前缀个数阈值为4。
1.从叶子节点20开始迭代,包含前缀p9,前缀个数初始化为1;
2.p9的父亲节点17没有前缀,同时p9也没有兄弟节点;
3. 17的父亲节点14没有前缀,但兄弟节点18有前缀p8,前缀个数增加1,变为2;
4.节点18没有子节点,于是继续向上遍历节点14的父亲节点10,有前缀p4,前缀个数为3;
5.节点10向上遍历,节点2之前都没有父亲节点或兄弟节点包含前缀;节点2包含前缀p1,于是前缀个数为4;
6.此时前缀个数达到前缀阈值4,于是将遍历过的节点2、4、7、10、14、17、18、20组合成子树T2,包含前缀p1、p4、p8、p9,并从原树中将这些节点剔除。
再举例来说,请参考图4c所示,以下将描述前缀子树T3的划分过程,子树的前缀个数阈值为4。
1.从叶子节点16开始遍历,包含前缀p7,前缀个数初始化为1;
2.父亲节点13无前缀,同时无兄弟节点;
3.节点13的父亲节点9包含前缀p3,前缀个数变为2;
4.节点13的兄弟节点12无前缀,有子节点15包含前缀p6,前缀个数变为3;
5.节点15有子节点19无前缀,19有子节点21包含前缀p10,前缀个数变为4;
6.此时前缀个数达到前缀阈值4,于是将遍历过的节点9、12、13、15、16、19、21组合成子树T3,包含前缀p3、p6、p7、p10,并从原树中将这些节点剔除。
需要说明的是,前缀子树可以事先按照规则划分好,当在步骤102中得到路由表项的前缀时,为该前缀划分前缀子树即确定该前缀位于哪一个前缀子树中,例如确定出位于前缀子树T2中。然后确定针对前缀子树T2是否已经下发过分配表项(如表二或表三所示)给分配节点,如果是的话,则表示前缀子树T2为已经存在的前缀子树,所以不需要再次下发分配表项。若针对前缀子树T2还未下发过分配表项,说明前缀子树T2为新建子树,需要下 发分配表项,所以就会执行步骤步骤104至步骤106。
步骤104:若前缀子树为新建子树,则为步骤102中得到的路由表项分配查找节点。
通常来讲,每个子树中的所有真实前缀都保存在同一个查找节点中。当查找节点的数量大于1时,每个查找节点可以保存部分前缀子树的所有真实前缀。如此一来,每个查找节点只要维护部分真实前缀的路由表项,所以维护路由表所花费的资源就较少,而且也便于查找节点进行快速查找。
因此,在步骤104中,为该路由表项分配一个查找节点即可,或者一组查找节点。如果是一组查找节点,那么一组查找节点中的其中一个查找节点作为主查找节点,而其它查找节点可以作为备份查找节点。
在分配时,可以根据每个查找节点上已经保存的路由表项的量来决定分配哪个查找节点,例如分配所有查找节点中当前路由表项最少的那个查找节点给步骤102中获得的路由表项。
步骤105:控制器下发路由表项给分配好的查找节点,例如图3中的查找节点1。
步骤106:控制器生成分配表项,分配表项包括匹配字段以及查找节点号字段。所述匹配项字段为所述前缀子树的根节点对应的前缀,所述查找节点号为所述查找节点的物理盒子号。
在前缀子树为T4,并且步骤102中得到的前缀为p3的例子中,分配表项的格式如表二所示。
匹配项 查找节点号
111* 10
表二
在表二中,匹配项字段为前缀子树T4的根节点(如图4b所示)对应的前缀111*,查找节点号为查找节点1的物理盒子号,例如为10。
可选的,分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述前缀子树是否有默认路由,所述默认路由为所述前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀(为真实前缀)对应的路由信息。具体如表三所示。
匹配项 是否有默认路由 默认路由 查找节点号
111* *-20-03 10
表三
在表三中,因为在前缀子树T4的根节点之前,具有最长匹配前缀*,即p0,所以该最长匹配前缀对应的路由信息即为该前缀子树的默认路由,所以在是否有默认路由字段中填写“是”,而在默认路由字段填写“*20-03”,表示默认路由为前缀字段为*,出端口字段为物理盒子号为20的出口节点以及该出口节点的03号出端口。
步骤107:下发分配表项给所有分配节点,例如图3中的分配节点1至分配节点M。M为大于或等于1的整数。当分配节点的数量大于1时,每个分配节点保存的分配表项均是相同的。
步骤108:判断所述根节点之前是否有前缀;若所述根节点之前有前缀,控制器将所述根节点之前的最长匹配前缀(真实前缀)及其对应的路由信息作为所述前缀子树的默认路由下发给所述查找节点。
默认路由的含义与前述描述的相同,不过与前述描述的不同的是,在本例中,直接执行步骤109,将默认路由直接下发给分配好的查找节点,例如查找节点1,而可以不填充在分配表项中,所以分配表项的格式可以如表二所示即可。
查找节点在接收到该默认路由时,将默认路由保存在路由表中,增加一个新的路由表项。
步骤110:若所述前缀子树已存在,所述控制器将所述路由表项下发给所述前缀子树对应的查找节点,例如图3中的查找节点2。
举例来说,步骤102中得到的前缀为p6,为前缀p6分配的前缀子树为T4,而前缀子树在为前缀p3划分子树前缀子树时,已经得到了前缀子树T4,所以在前缀为p6时,前缀子树已经存在,因为前缀子树已经存在,说明该前缀子树中包含的真实前缀中已经有部分真实前缀对应的路由表项已经存储在某个查找节点上,所以根据同一个前缀子树包含的所有真实前缀对应的路由表项存储在同一个查找节点的原则,此时就不需要再重新为前缀p6的路由表项分配查找节点,而是直接执行步骤110,将前缀p6对应的路由表项下发给前缀子树对应的查找节点,例如查找节点1。
步骤111:若所述前缀及其对应的路由信息为其它子树的默认路由,控制器更新所有分配节点上的所述其它前缀子树的默认路由字段以及是否有默认路由字段。
在图4a和图4b的例子中,假设所述前缀为p2及其对应的路由信息,其为前缀子树T3的默认路由,那么控制器就指示所有分配节点进行分配表项的更新,对前缀子树T3的默认路由字段以及是否有默认路由字段进行修改,例如修改为表四所示。
匹配项 是否有默认路由 默认路由 查找节点号
100* 10*-15-01 20
表四
可选的,若所述前缀及其对应的路由信息为其它前缀子树的默认路由,还可以执行步骤112,即将所述前缀及其对应的路由信息下发给其它前缀子树对应的查找节点。举例来说,假设所述前缀为p2及其对应的路由信息为15-01为前缀子树T3的默认路由,那么控制器就将p2和15-01下发给物理盒子号为20的查找节点。相应的,查找节点将默认路由p2和15-01分别更新在路由表项的前缀字段和出端口字段中。
相对应的,分配节点接收到控制器下发的分配表项,就将新接收到的分配表项进行保存,形成新的的分配表。分配表中包含至少一条前述的分配表项。类似的,查找节点接收到控制器下发的路由表项,就将新接收到的路由表项进行保存,形成新的路由表。路由表中包含至少一条前述的路由表项。
上述路由表项的配置步骤基本完成。
可选的,控制器还可以维护已经建立的前缀子树的信息,包括但不限于前缀子树的根节点对应的前缀、前缀子树内所有有效路由信息、前缀子树的默认路由、前缀子树与查找节点之间的对应关系,以及前缀子树与分配节点上的分配表项之间的关系。因此,在上述的步骤中,控制器可以查找到已存在的前缀子树对应的查找节点。
接下来将描述本实施例中的路由查找方法,该方法可以应用于图1a以及图1b所示的报文转发设备。如图5所示,该方法包括:
步骤201:入口节点接收报文。举例来说,入口节点从其它网元,例如路由器接收报文。通常报文包括报文头、报文正文以及校验码等。报文头中可以包括源IP地址,目的IP 地址。
步骤202:入口节点根据目的IP地址查找热点路由表。热点路由表的路由表项可以和前述查找节点存储的路由表项包含的字段相同,例如可以包括前缀字段和出端口字段,前缀字段为真实前缀,出端口字段为出口节点的物理盒子号以及出端口号。
可选的,热点路由表中的前缀可以是通过统计,使用比较频繁的前缀,或者是通过其它规则确定出来的。
可选的,入口节点可以按照最长前缀匹配(英文:Longest Prefix Match,简称:LPM)原则进行查找。LPM原则是指在IP协议中被路由器用于在路由表中进行选择的一个算法。
因为路由表中的每个表项都指定了一个网络,所以一个目的IP地址可能与多个表项匹配。最明确的一个表项,即子网掩码最长的一个,就叫做最长前缀匹配。之所以这样称呼它,是因为这个表项也是路由表中,与目的IP地址的高位匹配得最多的表项。
例如,考虑下面这个IPv4的路由表:
192.168.20.16/28
192.168.0.0/16
在要查找地址192.168.20.19的时候,这两个表项都“匹配”。也就是说,两个表项都包含着要查找的地址。这种情况下,前缀最长的路由就是192.168.20.16/28,因为它的子网掩码(/28)比其它表项的掩码(/16)要长,使得它更加明确。
举例来说,热点路由表如表五所示。
前缀 出端口字段
0000* 31-02
000011* 40-02
1110100* 50-01
表五
在匹配时,可以将IP地址转化为二进制比特值,当前,IP地址通常为32位,即32个比特,然后在表五中的前缀匹配字段进行LPM查找,即从最高位开始,向低位进行匹配,高位匹配最多的前缀即为第一前缀字段。举例来说,目的IP地址的二进制表示为000011001,然后在表五中进行匹配,前缀000011*即为匹配成功的前缀,那么第一出口节点即为物理盒子号为40的出口节点,出端口为第一出口节点的01号出端口。再例如,目的IP地址的二进制表示为111101101,在表五中进行匹配时,就不会有匹配成功的表项。
当匹配成功,即命中时,入口节点执行步骤203,即将报文发送给命中的路由表项对应的第一出口节点。
若未命中,则执行步骤204,即将报文的IP地址发送给任一分配节点,例如第一分配节点。入口节点可以考虑负载均衡,将报文的目的IP地址发送给当前工作量较小的分配节点。当然,在实际运用中,也可以是完全随机分配,也可以是轮流分配。
需要说明的是,在步骤202未可选的步骤,所以入口节点在接收到报文时,也可以直接将IP地址发送给第一分配节点。如果执行步骤202的话,通过该方法可以快速的进行报文转发,而且可以减轻分配节点和查找节点的负担。
另外,在实际运用中,入口节点将报文的目的IP地址发送给第一分配节点,可以包括但不限于两种方式。第一种方式,入口节点将整个报文发送给第一分配节点。第一分配节点读取报文头即可获得目的IP地址。该方式适用于图1a所示的报文转发设备。
对应的,在步骤207中,第一分配节点也是将整个报文发送给第一查找节点。第一查找节点读取报文头即可获得目的IP地址。
相应的,在步骤209中,第一查找节点将整个报文发送给第一出口节点。
第二种方式,在入口节点将目的IP地址发送给第一分配节点之前,该方法还包括:入口节点提取报文的目的IP地址;入口节点将目的IP地址、报文的标识(ID)以及所述入口节点的物理盒子号处理为控制消息。
其中,报文的ID是报文的唯一标识,一方面是用于唯一区别一个报文,另一方面也可以表征报文在入口节点的存储地址。因此,报文的ID可以是报文在入口节点上的存储地址,也可以是与存储地址唯一对应的其它类型的标识。
可选的,控制消息除了包括报文的ID、目的IP地址、入口节点的物理盒子号之外,还可以包括报文的长度、其它业务信息、转发类型。其它业务信息为在入口节点获取的其它业务信息,例如单播逆向路径转发(英文:Unicast Reverse Path Forwarding,简称:URPF)是否使能,是否使能路由查找后的访问控制列表(英文:Access Control List,简称:ACL)。转发类型例如为IPv4单播,IPv6单播等。
一种可能的控制消息的格式如表六所示。
Figure PCTCN2017077099-appb-000001
表六
在表六中,目的IP地址段可以替换为报文头,因为报文头中也包含了目的IP地址。另外,入口节点的物理盒子号为接收到该报文的入口节点的物理盒子号,例如为12。
相应的,入口节点将所述报文的目的IP地址发送给所述第一分配节点,包括:入口节点将所述控制消息发送给所述第一分配节点。第一分配节点在接收到控制消息之后,可以读取该控制消息的目的IP地址字段,即可获得报文的目的IP地址。
该方法适用于如图1b所示的报文转发设备,通过该方法,可以减缓分布式路由查找带来的交换拥塞,减轻查找平面的互联负担,减少管脚占用。
在入口节点通过上述两种方式或者其它方式将报文的目的IP地址发送给第一分配节点时,第一分配节点执行步骤205,即根据目的IP地址按照LPM原则在分配表中进行匹配项字段的匹配。其中,分配表中的分配表项例如前述表二和表三所示。第一分配节点上存储的分配表例如是通过前述图3及其实施例所描述的方法配置的,当然,在实际运用中,也可以是通过其它方法配置的。
若第一匹配项未匹配成功,那么直接丢弃该报文(对应第一种方式),或者终止查找流程(对应第二种方式)。若与第一匹配项字段匹配成功,则执行步骤206,即第一分配节点获取第一匹配项字段对应的第一前缀字数的路由信息所在的第一查找节点的物理盒子号(对应表二所示的分配表项)。对应于表三所示的分配表项,第一分配节点还确定第一前缀子树是否有默认路由,如果是否有默认路由的字段为“是”,则获取默认路由字段中的默认路由。
需要说明的是,在实际运用中,分配表项还可以包括是否本地标志位字段,用于表征第一分配节点和第一查找节点的物理盒子号是否相同。因为第一分配节点和第一查找节点可能设置在同一个物理盒子中,所以如果分配表项中的第一出口节点的物理盒子号和第一 分配节点所在的物理盒子号是相同的,那么是否是本地标志位字段就可以置0或者置1,或者采用“是”或“否”来表达。
接下来执行步骤207,即发送目的IP地址给第一查找节点。相应于第一种方式,在步骤207中,第一分配节点将报文发送给第一查找节点,如果有默认路由的话,还将默认路由发送给第一查找节点,具体可以是将默认路由添加在报文头中。
相应于第二种方式,在步骤207中,第一分配节点可以不用发送报文的内容,只发送目的IP地址或者报文头即可,相应的,第一分配节点还将报文的ID和入口节点的物理盒子号发送给第一查找节点。
步骤208:第一查找节点根据目的IP地址按照LPM原则在路由表中进行前缀字段的匹配。第一查找节点上存储的路由表的路由表项例如为前述表一所示的路由表项。第一查找节点上存储的路由表例如是通过前述图3及其实施例所描述的方式配置的,也可以是通过其它方式配置的。
然后,第一查找节点执行步骤209,即根据匹配结果执行与匹配结果对应的操作。该步骤在实际运用中,可以有多种实施方式,以下将详细进行描述。
对应于第一种方式,步骤209包括:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,所述第一查找节点将所述报文以及与所述第一前缀字段对应的第一出端口号发送给与所述第一前缀字段对应的第一出口节点。第一出口节点通过所述第一出端口发送所述报文。
举例来说,假设目的IP地址与表一中的前缀0000*匹配,那么第一查找节点就将报文和出端口号02发送给物理盒子号为31的出口节点。然后该出口节点从出端口号02号对应的出端口转发所述报文。
对应于第二种方式,步骤209包括:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,所述第一查找节点将所述ID、与所述第一前缀字段对应的第一出口节点的物理盒子号以及第一出端口处理为第一指令消息;第一查找节点将所述第一指令消息发送给所述入口节点。相应的,入口节点根据所述ID获取所述报文并将所述报文以及所述第一出端口发送给所述第一出口节点;然后第一出口节点通过第一出端口发送所述报文。
可选的,第一指令消息还可以包括编辑指令,编辑指令例如为替换、删除、添加、丢弃、加减乘除、位运算、校验和中的一种或多种。
举例来说,例如IPv4单播的报文,经过上一步执行的转发业务,得到了一个新的IP报文头,则编辑指令可以为“替换”,指令参数包括要替换的位置,即IP头在报文中的位置,例如14字节;包括要替换的长度,即IP头长度,例如20字节;包括替换后的内容,即新的IP报文头。编辑指令还可以为“丢弃”,即终止对该报文的转发处理,释放在入口节点的缓存。
入口节点在接收到第一指令消息之后,可以根据报文ID从本地缓存中读取报文的数据,然后根据编辑指令对报文进行编辑,例如上述的“替换”指令,用新的IP头替换原来的IP报文头。在对报文进行编辑之后,入口节点根据第一指令消息中的第一出口节点的物理盒子号将编辑后的报文和第一出端口发送给第一出口节点,然后第一出口节点通过第一出端口转发编辑后的报文。
可选的,对应于第二种方式,步骤209包括:若所述匹配结果为所述目的IP地址与所 述路由表中的第一前缀字段匹配成功,第一查找节点将所述ID、与所述第一前缀字段对应的第一出端口处理为第二指令消息;第一查找节点将所述第二指令消息以及所述入口节点的物理盒子号发送给与所述第一前缀字段对应的第一出口节点。相应的,第一出口节点向所述入口节点发送请求消息,所述请求消息中包括所述ID;所述入口节点根据所述ID获取所述报文并将所述报文发送给所述第一出口节点;所述第一出口节点接收所述报文并通过所述第一出端口发送所述报文。
可选的,第二指令消息同样还可以包括编辑指令,不过与前一实施例不同的是,是出口节点根据编辑指令对报文进行编辑,并在编辑之后将报文通过第一出端口进行转发。
可选的,对应于第二种方式,步骤209包括:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段未匹配成功,第一查找节点将所述报文的ID、编辑指令处理为第三指令消息,并将第三指令消息发送给所述入口节点,其中,编辑指令字段为丢弃指令。那么入口节点在接收到第三指令消息之后,就可以根据报文的ID获取到报文,并丢弃所述报文,以释放报文所占用的存储空间。
不管是第一种方式还是第二种方式,若分配表项如表三所示,还包括是否有默认路由标志位字段以及默认路由字段,第一查找节点还接收所述第一分配节点发送的与所述第一前缀子树的第一是否有默认路由标志位;以及在所述第一是否有默认路由标志位为是时,第一查找节点接收所述第一分配节点发送的所述第一前缀子树的第一默认路由。相应的,步骤209包括:若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配未成功,所述第一查找节点确定所述第一是否有默认路由标志位是否为是;若第一是否有默认路由标志位为是,所述第一查找节点获取所述第一默认路由;所述第一查找节点获取与所述第一默认路由对应的第二出口节点的物理盒子号以及第二出端口。
另外对于控制器将默认路由直接下发给查找节点的情况,查找节点已经将默认路由更新在路由表中了,所以直接使用目的IP地址在路由表中进行匹配即可,和没有默认路由时的方法是相同的,所以在此不再赘述。
由以上描述可以看出,在本发明实施例的方案中,路由表分布式存放在不同的查找节点上,所以可以使得路由表分布更均匀,而且降低了单个节点的路由表规格的压力。进一步,分配节点和查找节点在匹配时均采用LPM匹配原则,所以分配查找节点时,无冲突,也不会有虚假命中的情况,所以整体上路由查找效率较高。
基于同一发明构思,本发明实施例还提供一种装置(如图2所示),该装置用于实现前述方法中的任意一种方法。
可选的,当该装置为分配节点时,接收器30,用于接收报文转发设备的入口节点发送的报文的目的网络协议IP地址;所述分配节点上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;处理器10,用于根据所述目的IP地址按照最长前缀匹配LPM原则在所述分配表中进行所述匹配项字段的匹配;若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,所述分配节点获取所述第一所述匹配项字段对应的第一前缀子树的路由信息所在的第一查找节点的物理盒子号;所述第一查找节点为所述报文转发设备的查找节点;发送器20,用于将所述目的IP地址发送给所述第一查找节点;其中,所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子 树中的真实前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点。
可选的,接收器30用于:接收所述入口节点发送的所述报文。
可选的,接收器30用于:接收所述入口节点发送的控制消息,所述控制消息中包括所述目的IP地址、所述报文的标识ID以及所述入口节点的物理盒子号;
发送器20还用于将所述ID以及所述入口节点的物理盒子号发送给所述第一查找节点。
可选的,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;
发送器20还用于:若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,将与所述第一所述匹配项字段对应的第一是否有默认路由标志位发送给所述第一查找节点;以及在所述第一是否有默认路由标志位为是时,所述第一分配节点将与所述第一所述匹配项字段对应的第一默认路由发送给所述第一查找节点。
可选的,接收器30还用于接收所述报文转发设备的控制器下发的分配表项;
处理器10还用于根据接收到的所述分配表项更新所述分配表。
可选的,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;接收器30还用于接收所述报文转发设备的控制器下发的默认路由,所述下发的默认路由为所述第一前缀子树的默认路由;处理器10还用于将所述下发的默认路由填充在所述第一匹配项字段对应的第一默认路由字段中,并且将与所述第一匹配项字段对应的第一是否有默认路由标志位设置为是。
可选的,当图2中的装置为查找节点时,接收器30,用于接收报文转发设备的分配节点发送的报文的目的网络协议IP地址;所述分配节点上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;所述查找节点为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点;处理器10,用于根据所述目的IP地址按照所述LPM原则在所述路由表中进行所述前缀字段的匹配;并根据匹配结果执行与所述匹配结果对应的操作。
可选的,接收器30用于接收所述分配节点发送的所述报文;处理器10用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,通过发送器20将所述报文以及与所述第一前缀字段对应的第一出端口号发送给与所述第一前缀字段对应的第一出口节点。
可选的,接收器30还用于接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;处理器10用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成 功,将所述ID、与所述第一前缀字段对应的第一出口节点的物理盒子号以及第一出端口处理为第一指令消息;并通过发送器20将所述第一指令消息发送给所述入口节点。
可选的,所述第一指令消息还包括编辑指令,所述编辑指令用于指示所述入口节点对所述报文进行编辑。
可选的,接收器30还用于接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;处理器10还用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,将所述ID、与所述第一前缀字段对应的第一出端口处理为第二指令消息;并通过发送器20将所述第二指令消息以及所述入口节点的物理盒子号发送给与所述第一前缀字段对应的第一出口节点。
可选的,所述第二指令消息还包括编辑指令,所述编辑指令用于指示所述入口节点对所述报文进行编辑。
可选的,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;接收器30还用于接收所述第一分配节点发送的与所述第一前缀子树的第一是否有默认路由标志位;以及在所述第一是否有默认路由标志位为是时,第一查找节点接收所述第一分配节点发送的所述第一前缀子树的第一默认路由;处理器10用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配未成功,确定所述第一是否有默认路由标志位是否为是;若第一是否有默认路由标志位为是,获取所述第一默认路由;获取与所述第一默认路由对应的第二出口节点的物理盒子号以及第二出端口。
可选的,接收器30还用于接收所述报文转发设备的控制器发送的路由表项;
处理器10还用于根据接收到的路由表项更新所述路由表。
可选的,接收器30还用于接收所述报文转发设备的控制器下发的所述第一前缀子树的默认路由;所述默认路由为所述第一前缀子树的根节点之前的最长匹配前缀及其对应的路由信息;处理器10还用于将所述第一前缀子树的默认路由更新至所述路由表中。
可选的,图2中的装置可以为入口节点,此时接收器30,用于接收报文;处理器10,用于将所述报文的标识ID、所述报文的目的网络协议IP地址以及所述入口节点的物理盒子号处理为控制消息;发送器20,用于将所述控制消息发送给报文转发设备的至少一个分配节点中的第一分配节点;其中,所述至少一个分配节点上存储有相同的分配表;所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;接收器30还用于接收所述报文转发设备的至少一个查找节点的第一查找节点发送的第一指令消息,所述第一指令消息包括所述ID以及第一出口节点的物理盒子号以及第一出端口;其中,所述第一查找节点为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;处理器10还根据所述ID获取所述报文并将所述报文以及所述第一出端口发送给所述第一出口节点。
可选的,处理器10还用于将所述报文进行存储,所述ID表征所述报文的存储地址。
可选的,处理器10还用于:将所述控制消息发送给所述报文转发设备的至少一个分配节点中的第一分配节点之前,根据所述目的IP地址在热点路由表中进行匹配并确定未匹配成功;其中,所述热点路由表的路由表项包括前缀字段以及出端口字段,所述出端口字段包括出口节点的物理盒子号以及出端口。
可选的,所述第一指令消息还包括编辑指令,处理器10还用于:在将所述报文发送给所述第一出口节点之前,对所述报文按照所述编辑指令进行编辑。
基于同一发明构思,本发明实施例还提供一种路由查找装置,该路由查找装置包括用于执行前述方法步骤的功能模块。在一种可能的实现方式中,如图6所示,该路由查找装置包括接收单元301、处理单元302以及发送单元303。
当该路由查找装置为分配节点时,接收单元301,用于接收报文转发设备的入口节点发送的报文的目的网络协议IP地址;所述路由查找装置上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;处理单元302,用于根据所述目的IP地址按照最长前缀匹配LPM原则在所述分配表中进行所述匹配项字段的匹配;若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,所述分配节点获取所述第一所述匹配项字段对应的第一前缀子树的路由信息所在的第一查找节点的物理盒子号;所述第一查找节点为所述报文转发设备的查找节点;发送单元303,用于将所述目的IP地址发送给所述第一查找节点;其中,所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的真实前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点。
可选的,接收单元301用于:接收所述入口节点发送的所述报文。
可选的,接收单元301用于:接收所述入口节点发送的控制消息,所述控制消息中包括所述目的IP地址、所述报文的标识ID以及所述入口节点的物理盒子号;发送单元303还用于将所述ID以及所述入口节点的物理盒子号发送给所述第一查找节点。
可选的,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;发送单元303还用于:若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,将与所述第一所述匹配项字段对应的第一是否有默认路由标志位发送给所述第一查找节点;以及在所述第一是否有默认路由标志位为是时,所述第一分配节点将与所述第一所述匹配项字段对应的第一默认路由发送给所述第一查找节点。
可选的,接收单元301还用于接收所述报文转发设备的控制器下发的分配表项;处理单元302还用于根据接收到的所述分配表项更新所述分配表。
可选的,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;接收单元301还用于接收所述报文转发设备的控制器下发的默认路由,所述下发的默认路由为所述第一前缀子树的默认路由;处理单元302还用于将所述下发的默认路由填充在所述第一匹配项字段对应的第一默认路由字段中,并且将与所述第一匹配项 字段对应的第一是否有默认路由标志位设置为是。
可选的,当图6中的装置为查找节点时,接收单元301,用于接收报文转发设备的分配节点发送的报文的目的网络协议IP地址;所述分配节点上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;所述路由查找装置为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述路由查找装置上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点;处理单元302,用于根据所述目的IP地址按照所述LPM原则在所述路由表中进行所述前缀字段的匹配;并根据匹配结果执行与所述匹配结果对应的操作。
可选的,接收单元301用于接收所述分配节点发送的所述报文;处理单元302用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,通过发送单元303将所述报文以及与所述第一前缀字段对应的第一出端口号发送给与所述第一前缀字段对应的第一出口节点。
可选的,接收单元301还用于接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;处理单元302用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,将所述ID、与所述第一前缀字段对应的第一出口节点的物理盒子号以及第一出端口处理为第一指令消息;并通过发送单元303将所述第一指令消息发送给所述入口节点。
可选的,所述第一指令消息还包括编辑指令,所述编辑指令用于指示所述入口节点对所述报文进行编辑。
可选的,接收单元301还用于接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;处理单元302还用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,将所述ID、与所述第一前缀字段对应的第一出端口处理为第二指令消息;并通过发送单元303将所述第二指令消息以及所述入口节点的物理盒子号发送给与所述第一前缀字段对应的第一出口节点。
可选的,所述第二指令消息还包括编辑指令,所述编辑指令用于指示所述入口节点对所述报文进行编辑。
可选的,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;接收单元301还用于接收所述第一分配节点发送的与所述第一前缀子树的第一是否有默认路由标志位;以及在所述第一是否有默认路由标志位为是时,第一查找节点接收所述第一分配节点发送的所述第一前缀子树的第一默认路由;处理单元302用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配未成功,确定所述第一是否有默认路由标志位是否为是;若第一是否有默认路由标志位为是,获取所述第一默认路由;获取与所述第一默认路由对应的第二出口节点的物理盒子号以及第二出端口。
可选的,接收单元301还用于接收所述报文转发设备的控制器发送的路由表项;处理 单元302还用于根据接收到的路由表项更新所述路由表。
可选的,接收单元301还用于接收所述报文转发设备的控制器下发的所述第一前缀子树的默认路由;所述默认路由为所述第一前缀子树的根节点之前的最长匹配前缀及其对应的路由信息;处理单元302还用于将所述第一前缀子树的默认路由更新至所述路由表中。
可选的,当图6中的装置为入口节点时,接收单元301,用于接收报文;处理单元302,用于将所述报文的标识ID、所述报文的目的网络协议IP地址以及所述路由查找装置的物理盒子号处理为控制消息;发送单元303,用于将所述控制消息发送给报文转发设备的至少一个分配节点中的第一分配节点;其中,所述至少一个分配节点上存储有相同的分配表;所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;接收单元301还用于接收所述报文转发设备的至少一个查找节点的第一查找节点发送的第一指令消息,所述第一指令消息包括所述ID以及第一出口节点的物理盒子号以及第一出端口;其中,所述第一查找节点为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;处理单元302还根据所述ID获取所述报文并将所述报文以及所述第一出端口发送给所述第一出口节点。
可选的,处理单元302还用于将所述报文进行存储,所述ID表征所述报文的存储地址。
可选的,处理单元302还用于:将所述控制消息发送给所述报文转发设备的至少一个分配节点中的第一分配节点之前,根据所述目的IP地址在热点路由表中进行匹配并确定未匹配成功;其中,所述热点路由表的路由表项包括前缀字段以及出端口字段,所述出端口字段包括出口节点的物理盒子号以及出端口。
可选的,所述第一指令消息还包括编辑指令,处理单元302还用于:在将所述报文发送给所述第一出口节点之前,对所述报文按照所述编辑指令进行编辑。
前述实施例中的路由查找方法中的各种变化方式和具体实例同样适用于本实施例的路由查找装置以及图2中的装置,通过前述对路由查找方法的详细描述,本领域技术人员可以清楚的知道本实施例中路由查找装置以及图2中的装置的实施方法,所以为了说明书的简洁,在此不再详述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方 式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (57)

  1. 一种路由查找方法,其特征在于,包括:
    报文转发设备的分配节点接收所述报文转发设备的入口节点发送的报文的目的网络协议IP地址;所述分配节点上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;
    所述分配节点根据所述目的IP地址按照最长前缀匹配LPM原则在所述分配表中进行所述匹配项字段的匹配;
    若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,所述分配节点获取所述第一所述匹配项字段对应的第一前缀子树的路由信息所在的第一查找节点的物理盒子号;所述第一查找节点为所述报文转发设备的查找节点;
    所述分配节点将所述目的IP地址发送给所述第一查找节点;其中,所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的真实前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点。
  2. 如权利要求1所述的方法,其特征在于,所述分配节点接收所述目的IP地址,包括:
    所述分配节点接收所述入口节点发送的所述报文。
  3. 如权利要求1所述的方法,其特征在于,所述分配节点接收所述目的IP地址,包括:
    所述分配节点接收所述入口节点发送的控制消息,所述控制消息中包括所述目的IP地址、所述报文的标识ID以及所述入口节点的物理盒子号;
    相应的,所述方法还包括:
    所述分配节点将所述ID以及所述入口节点的物理盒子号发送给所述第一查找节点。
  4. 如权利要求1-3任一项所述的方法,其特征在于,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;所述方法还包括:
    若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,所述分配节点将与所述第一所述匹配项字段对应的第一是否有默认路由标志位发送给所述第一查找节点;以及在所述第一是否有默认路由标志位为是时,所述第一分配节点将与所述第一所述匹配项字段对应的第一默认路由发送给所述第一查找节点。
  5. 如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
    所述分配节点接收所述报文转发设备的控制器下发的分配表项;
    所述分配节点根据接收到的所述分配表项更新所述分配表。
  6. 如权利要求1-3任一项所述的方法,其特征在于,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;所述方法还包括:
    所述分配节点接收所述报文转发设备的控制器下发的默认路由,所述下发的默认路由为所述第一前缀子树的默认路由;
    所述分配节点将所述下发的默认路由填充在所述第一匹配项字段对应的第一默认路由字段中,并且将与所述第一匹配项字段对应的第一是否有默认路由标志位设置为是。
  7. 一种路由查找方法,其特征在于,包括:
    报文转发设备的第一查找节点接收所述报文转发设备的分配节点发送的报文的目的网络协议IP地址;所述分配节点上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;所述第一查找节点为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点;
    所述第一查找节点根据所述目的IP地址按照所述LPM原则在所述路由表中进行所述前缀字段的匹配;
    所述第一查找节点根据匹配结果执行与所述匹配结果对应的操作。
  8. 如权利要求7所述的方法,其特征在于,所述第一查找节点接收所述目的IP地址,包括:
    所述第一查找节点接收所述分配节点发送的所述报文;
    相应的,所述第一查找节点根据匹配结果执行与所述匹配结果对应的操作,包括:
    若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,所述第一查找节点将所述报文以及与所述第一前缀字段对应的第一出端口号发送给与所述第一前缀字段对应的第一出口节点。
  9. 如权利要求7所述的方法,其特征在于,所述方法还包括:
    所述第一查找节点接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;
    相应的,所述第一查找节点根据匹配结果执行与所述匹配结果对应的操作,包括:
    若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,所述第一查找节点将所述ID、与所述第一前缀字段对应的第一出口节点的物理盒子号以及第一出端口处理为第一指令消息;
    所述第一查找节点将所述第一指令消息发送给所述入口节点。
  10. 如权利要求9所述的方法,其特征在于,所述第一指令消息还包括编辑指令,所述编辑指令用于指示所述入口节点对所述报文进行编辑。
  11. 如权利要求7所述的方法,其特征在于,所述方法还包括:
    所述第一查找节点接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;
    相应的,所述第一查找节点根据匹配结果执行与所述匹配结果对应的操作,包括:
    若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,所述第一查找节点将所述ID、与所述第一前缀字段对应的第一出端口处理为第二指令消息;
    所述第一查找节点将所述第二指令消息以及所述入口节点的物理盒子号发送给与所 述第一前缀字段对应的第一出口节点。
  12. 如权利要求11所述的方法,其特征在于,所述第二指令消息还包括编辑指令,所述编辑指令用于指示所述第一出口节点对所述报文进行编辑。
  13. 如权利要求7所述的方法,其特征在于,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;所述方法还包括:
    所述第一查找节点接收所述第一分配节点发送的与所述第一前缀子树的第一是否有默认路由标志位;以及在所述第一是否有默认路由标志位为是时,第一查找节点接收所述第一分配节点发送的所述第一前缀子树的第一默认路由;
    相应的,所述第一查找节点根据匹配结果执行与所述匹配结果对应的操作,包括:
    若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配未成功,所述第一查找节点确定所述第一是否有默认路由标志位是否为是;
    若第一是否有默认路由标志位为是,所述第一查找节点获取所述第一默认路由;
    所述第一查找节点获取与所述第一默认路由对应的第二出口节点的物理盒子号以及第二出端口。
  14. 如权利要求7-13任一项所述的方法,其特征在于,所述方法还包括:
    所述第一查找节点接收所述报文转发设备的控制器发送的路由表项;
    所述第一查找节点根据接收到的路由表项更新所述路由表。
  15. 如权利要求7所述的方法,其特征在于,所述方法还包括:
    所述第一查找节点接收所述报文转发设备的控制器下发的所述第一前缀子树的默认路由;所述默认路由为所述第一前缀子树的根节点之前的最长匹配前缀及其对应的路由信息;
    所述第一查找节点将所述第一前缀子树的默认路由更新至所述路由表中。
  16. 一种路由查找方法,其特征在于,包括:
    报文转发设备的入口节点接收报文;
    所述入口节点将所述报文的标识ID、所述报文的目的网络协议IP地址以及所述入口节点的物理盒子号处理为控制消息;
    所述入口节点将所述控制消息发送给所述报文转发设备的至少一个分配节点中的第一分配节点;其中,所述至少一个分配节点上存储有相同的分配表;所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;
    所述入口节点接收所述报文转发设备的至少一个查找节点的第一查找节点发送的第一指令消息,所述第一指令消息包括所述ID以及第一出口节点的物理盒子号以及第一出端口;其中,所述第一查找节点为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;
    所述入口节点根据所述ID获取所述报文并将所述报文以及所述第一出端口发送给所 述第一出口节点。
  17. 如权利要求16所述的方法,其特征在于,所述方法还包括:
    所述入口节点将所述报文存储在本地,所述ID表征所述报文的存储地址。
  18. 如权利要求16或17所述的方法,其特征在于,在所述入口节点将所述控制消息发送给所述报文转发设备的至少一个分配节点中的第一分配节点之前,所述方法还包括:
    所述入口节点根据所述目的IP地址在热点路由表中进行匹配并确定未匹配成功;其中,所述热点路由表的路由表项包括前缀字段以及出端口字段,所述出端口字段包括出口节点的物理盒子号以及出端口。
  19. 如权利要求16-18任一项所述的方法,其特征在于,所述第一指令消息还包括编辑指令,所述方法还包括:
    在将所述报文发送给所述第一出口节点之前,对所述报文按照所述编辑指令进行编辑。
  20. 一种路由查找装置,其特征在于,包括:
    接收单元,用于接收报文转发设备的入口节点发送的报文的目的网络协议IP地址;所述路由查找装置上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;
    处理单元,用于根据所述目的IP地址按照最长前缀匹配LPM原则在所述分配表中进行所述匹配项字段的匹配;若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,所述分配节点获取所述第一所述匹配项字段对应的第一前缀子树的路由信息所在的第一查找节点的物理盒子号;所述第一查找节点为所述报文转发设备的查找节点;
    发送单元,用于将所述目的IP地址发送给所述第一查找节点;其中,所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的真实前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点。
  21. 如权利要求20所述的装置,其特征在于,所述接收单元用于:接收所述入口节点发送的所述报文。
  22. 如权利要求20所述的装置,其特征在于,所述接收单元用于:接收所述入口节点发送的控制消息,所述控制消息中包括所述目的IP地址、所述报文的标识ID以及所述入口节点的物理盒子号;
    所述发送单元还用于将所述ID以及所述入口节点的物理盒子号发送给所述第一查找节点。
  23. 如权利要求20-22任一项所述的装置,其特征在于,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;
    所述发送单元还用于:若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,将与所述第一所述匹配项字段对应的第一是否有默认路由标志位发送给所述第一查找节点;以及在所述第一是否有默认路由标志位为是时,所述第一分配节点将与所述第一所述匹配项字段对应的第一默认路由发送给所述第一查找节点。
  24. 如权利要求20-23任一项所述的装置,其特征在于,所述接收单元还用于接收所述报文转发设备的控制器下发的分配表项;
    所述处理单元还用于根据接收到的所述分配表项更新所述分配表。
  25. 如权利要求20-22任一项所述的装置,其特征在于,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;
    所述接收单元还用于接收所述报文转发设备的控制器下发的默认路由,所述下发的默认路由为所述第一前缀子树的默认路由;
    所述处理单元还用于将所述下发的默认路由填充在所述第一匹配项字段对应的第一默认路由字段中,并且将与所述第一匹配项字段对应的第一是否有默认路由标志位设置为是。
  26. 一种路由查找装置,其特征在于,包括:
    接收单元,用于接收报文转发设备的分配节点发送的报文的目的网络协议IP地址;所述分配节点上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;所述路由查找装置为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述路由查找装置上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点;
    处理单元,用于根据所述目的IP地址按照所述LPM原则在所述路由表中进行所述前缀字段的匹配;并根据匹配结果执行与所述匹配结果对应的操作。
  27. 如权利要求26所述的装置,其特征在于,所述装置还包括发送单元,
    所述接收单元用于接收所述分配节点发送的所述报文;
    所述处理单元用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,通过所述发送单元将所述报文以及与所述第一前缀字段对应的第一出端口号发送给与所述第一前缀字段对应的第一出口节点。
  28. 如权利要求26所述的装置,其特征在于,所述装置还包括发送单元,
    所述接收单元还用于接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;
    所述处理单元用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,将所述ID、与所述第一前缀字段对应的第一出口节点的物理盒子号以及第一出端口处理为第一指令消息;并通过所述发送单元将所述第一指令消息发送给所述入口节点。
  29. 如权利要求28所述的装置,其特征在于,所述第一指令消息还包括编辑指令,所述编辑指令用于指示所述入口节点对所述报文进行编辑。
  30. 如权利要求26所述的装置,其特征在于,所述装置还包括发送单元,
    所述接收单元还用于接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;
    所述处理单元还用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,将所述ID、与所述第一前缀字段对应的第一出端口处理为第二指令消息;并通过所述发送单元将所述第二指令消息以及所述入口节点的物理盒子号发送给与所述第一前缀字段对应的第一出口节点。
  31. 如权利要求30所述的装置,其特征在于,所述第二指令消息还包括编辑指令,所述编辑指令用于指示所述入口节点对所述报文进行编辑。
  32. 如权利要求26所述的装置,其特征在于,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;
    所述接收单元还用于接收所述第一分配节点发送的与所述第一前缀子树的第一是否有默认路由标志位;以及在所述第一是否有默认路由标志位为是时,第一查找节点接收所述第一分配节点发送的所述第一前缀子树的第一默认路由;
    所述处理单元用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配未成功,确定所述第一是否有默认路由标志位是否为是;若第一是否有默认路由标志位为是,获取所述第一默认路由;获取与所述第一默认路由对应的第二出口节点的物理盒子号以及第二出端口。
  33. 如权利要求26-32任一项所述的装置,其特征在于,所述接收单元还用于接收所述报文转发设备的控制器发送的路由表项;
    所述处理单元还用于根据接收到的路由表项更新所述路由表。
  34. 如权利要求26所述的装置,其特征在于,所述接收单元还用于接收所述报文转发设备的控制器下发的所述第一前缀子树的默认路由;所述默认路由为所述第一前缀子树的根节点之前的最长匹配前缀及其对应的路由信息;
    所述处理单元还用于将所述第一前缀子树的默认路由更新至所述路由表中。
  35. 一种路由查找装置,其特征在于,包括:
    接收单元,用于接收报文;
    处理单元,用于将所述报文的标识ID、所述报文的目的网络协议IP地址以及所述路由查找装置的物理盒子号处理为控制消息;
    发送单元,用于将所述控制消息发送给报文转发设备的至少一个分配节点中的第一分配节点;其中,所述至少一个分配节点上存储有相同的分配表;所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;
    所述接收单元还用于接收所述报文转发设备的至少一个查找节点的第一查找节点发送的第一指令消息,所述第一指令消息包括所述ID以及第一出口节点的物理盒子号以及第一出端口;其中,所述第一查找节点为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;
    所述处理单元还根据所述ID获取所述报文并将所述报文以及所述第一出端口发送给所述第一出口节点。
  36. 如权利要求35所述的装置,其特征在于,所述处理单元还用于将所述报文进行存储,所述ID表征所述报文的存储地址。
  37. 如权利要求35或36所述的装置,其特征在于,所述处理单元还用于:将所述控制消息发送给所述报文转发设备的至少一个分配节点中的第一分配节点之前,根据所述目的IP地址在热点路由表中进行匹配并确定未匹配成功;其中,所述热点路由表的路由表项包括前缀字段以及出端口字段,所述出端口字段包括出口节点的物理盒子号以及出端口。
  38. 如权利要求35-37任一项所述的装置,其特征在于,所述第一指令消息还包括编辑指令,所述处理单元还用于:在将所述报文发送给所述第一出口节点之前,对所述报文按照所述编辑指令进行编辑。
  39. 一种分配节点,其特征在于,包括:
    接收器,用于接收报文转发设备的入口节点发送的报文的目的网络协议IP地址;所述分配节点上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;
    处理器,用于根据所述目的IP地址按照最长前缀匹配LPM原则在所述分配表中进行所述匹配项字段的匹配;若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,所述分配节点获取所述第一所述匹配项字段对应的第一前缀子树的路由信息所在的第一查找节点的物理盒子号;所述第一查找节点为所述报文转发设备的查找节点;
    发送器,用于将所述目的IP地址发送给所述第一查找节点;其中,所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的真实前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点。
  40. 如权利要求39所述的分配节点,其特征在于,所述接收器用于:接收所述入口节点发送的所述报文。
  41. 如权利要求39所述的分配节点,其特征在于,所述接收器用于:接收所述入口节点发送的控制消息,所述控制消息中包括所述目的IP地址、所述报文的标识ID以及所述入口节点的物理盒子号;
    所述发送器还用于将所述ID以及所述入口节点的物理盒子号发送给所述第一查找节点。
  42. 如权利要求39-41任一项所述的分配节点,其特征在于,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;
    所述发送器还用于:若所述目的IP地址与所述分配表中的第一所述匹配项字段匹配成功,将与所述第一所述匹配项字段对应的第一是否有默认路由标志位发送给所述第一查找节点;以及在所述第一是否有默认路由标志位为是时,所述第一分配节点将与所述第一所述匹配项字段对应的第一默认路由发送给所述第一查找节点。
  43. 如权利要求39-42任一项所述的分配节点,其特征在于,所述接收器还用于接收所述报文转发设备的控制器下发的分配表项;
    所述处理器还用于根据接收到的所述分配表项更新所述分配表。
  44. 如权利要求39-41任一项所述的分配节点,其特征在于,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;
    所述接收器还用于接收所述报文转发设备的控制器下发的默认路由,所述下发的默认路由为所述第一前缀子树的默认路由;
    所述处理器还用于将所述下发的默认路由填充在所述第一匹配项字段对应的第一默认路由字段中,并且将与所述第一匹配项字段对应的第一是否有默认路由标志位设置为是。
  45. 一种查找节点,其特征在于,包括:
    接收器,用于接收报文转发设备的分配节点发送的报文的目的网络协议IP地址;所述分配节点上存储有分配表,所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;所述查找节点为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;所述出口节点为所述报文转发设备的出口节点;
    处理器,用于根据所述目的IP地址按照所述LPM原则在所述路由表中进行所述前缀字段的匹配;并根据匹配结果执行与所述匹配结果对应的操作。
  46. 如权利要求45所述的查找节点,其特征在于,所述查找节点还包括发送器,
    所述接收器用于接收所述分配节点发送的所述报文;
    所述处理器用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,通过所述发送器将所述报文以及与所述第一前缀字段对应的第一出端口号发送给与所述第一前缀字段对应的第一出口节点。
  47. 如权利要求45所述的查找节点,其特征在于,所述查找节点还包括发送器,
    所述接收器还用于接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;
    所述处理器用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,将所述ID、与所述第一前缀字段对应的第一出口节点的物理盒子号以及第一出端口处理为第一指令消息;并通过所述发送器将所述第一指令消息发送给所述入口节点。
  48. 如权利要求47所述的查找节点,其特征在于,所述第一指令消息还包括编辑指令,所述编辑指令用于指示所述入口节点对所述报文进行编辑。
  49. 如权利要求45所述的查找节点,其特征在于,所述查找节点还包括发送器,
    所述接收器还用于接收所述分配节点发送的所述报文的标识ID以及所述报文转发设备的入口节点的物理盒子号;所述入口节点为从外部网络接收所述报文的入口节点;
    所述处理器还用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配成功,将所述ID、与所述第一前缀字段对应的第一出端口处理为第二指令消息;并通过发送器将所述第二指令消息以及所述入口节点的物理盒子号发送给与所述第一前缀字段对应的第一出口节点。
  50. 如权利要求49所述的查找节点,其特征在于,所述第二指令消息还包括编辑指令,所述编辑指令用于指示所述入口节点对所述报文进行编辑。
  51. 如权利要求45所述的查找节点,其特征在于,所述分配表的分配表项还包括是否有默认路由标志位字段以及默认路由字段,所述是否有默认路由标志位字段为所述一个前缀子树是否有默认路由,所述默认路由为所述一个前缀子树的默认路由,所述默认路由为所述根节点之前的最长匹配前缀及其对应的路由信息;
    所述接收器还用于接收所述第一分配节点发送的与所述第一前缀子树的第一是否有默认路由标志位;以及在所述第一是否有默认路由标志位为是时,第一查找节点接收所述第一分配节点发送的所述第一前缀子树的第一默认路由;
    所述处理器用于若所述匹配结果为所述目的IP地址与所述路由表中的第一前缀字段匹配未成功,确定所述第一是否有默认路由标志位是否为是;若第一是否有默认路由标志位为是,获取所述第一默认路由;获取与所述第一默认路由对应的第二出口节点的物理盒子号以及第二出端口。
  52. 如权利要求45-51任一项所述的查找节点,其特征在于,所述接收器还用于接收所述报文转发设备的控制器发送的路由表项;
    所述处理器还用于根据接收到的路由表项更新所述路由表。
  53. 如权利要求45所述的查找节点,其特征在于,所述接收器还用于接收所述报文转发设备的控制器下发的所述第一前缀子树的默认路由;所述默认路由为所述第一前缀子树的根节点之前的最长匹配前缀及其对应的路由信息;
    所述处理器还用于将所述第一前缀子树的默认路由更新至所述路由表中。
  54. 一种入口节点,其特征在于,包括:
    接收器,用于接收报文;
    处理器,用于将所述报文的标识ID、所述报文的目的网络协议IP地址以及所述入口节点的物理盒子号处理为控制消息;
    发送器,用于将所述控制消息发送给报文转发设备的至少一个分配节点中的第一分配节点;其中,所述至少一个分配节点上存储有相同的分配表;所述分配表的分配表项包括匹配项字段以及查找节点号字段,所述匹配项字段为一个前缀子树的根节点对应的前缀,所述查找节点号字段为所述一个前缀子树的路由信息所在的查找节点的物理盒子号;
    所述接收器还用于接收所述报文转发设备的至少一个查找节点的第一查找节点发送的第一指令消息,所述第一指令消息包括所述ID以及第一出口节点的物理盒子号以及第一出端口;其中,所述第一查找节点为所述一个前缀子树中的第一前缀子树的路由信息所在的查找节点;所述第一查找节点上存储有路由表,所述路由表的路由表项包括前缀字段与出端口字段,所述前缀字段为所述第一前缀子树中的前缀,所述出端口字段为出口节点的物理盒子号以及出端口号;
    所述处理器还根据所述ID获取所述报文并将所述报文以及所述第一出端口发送给所述第一出口节点。
  55. 如权利要求54所述的入口节点,其特征在于,所述处理器还用于将所述报文进行存储,所述ID表征所述报文的存储地址。
  56. 如权利要求54或55所述的入口节点,其特征在于,所述处理器还用于:将所述控制消息发送给所述报文转发设备的至少一个分配节点中的第一分配节点之前,根据所述 目的IP地址在热点路由表中进行匹配并确定未匹配成功;其中,所述热点路由表的路由表项包括前缀字段以及出端口字段,所述出端口字段包括出口节点的物理盒子号以及出端口。
  57. 如权利要求54-56任一项所述的入口节点,其特征在于,所述第一指令消息还包括编辑指令,所述处理器还用于:在将所述报文发送给所述第一出口节点之前,对所述报文按照所述编辑指令进行编辑。
PCT/CN2017/077099 2016-05-06 2017-03-17 路由查找方法、装置、分配节点、查找节点及入口节点 WO2017190559A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17792386.9A EP3442178B1 (en) 2016-05-06 2017-03-17 Route searching method and apparatus
US16/180,722 US10680950B2 (en) 2016-05-06 2018-11-05 Route searching method and apparatus, allocation node, searching node, and ingress node

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610298938.5A CN107347035B (zh) 2016-05-06 2016-05-06 路由查找方法、装置、分配节点、查找节点及入口节点
CN201610298938.5 2016-05-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/180,722 Continuation US10680950B2 (en) 2016-05-06 2018-11-05 Route searching method and apparatus, allocation node, searching node, and ingress node

Publications (1)

Publication Number Publication Date
WO2017190559A1 true WO2017190559A1 (zh) 2017-11-09

Family

ID=60202679

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/077099 WO2017190559A1 (zh) 2016-05-06 2017-03-17 路由查找方法、装置、分配节点、查找节点及入口节点

Country Status (4)

Country Link
US (1) US10680950B2 (zh)
EP (1) EP3442178B1 (zh)
CN (1) CN107347035B (zh)
WO (1) WO2017190559A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115442288A (zh) * 2022-08-19 2022-12-06 中国信息通信研究院 一种SRv6网络数据包检查方法和装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107347035B (zh) * 2016-05-06 2020-05-08 华为技术有限公司 路由查找方法、装置、分配节点、查找节点及入口节点
US10623316B2 (en) * 2017-04-27 2020-04-14 Mellanox Technologies Tlv Ltd. Scaling of switching tables with high bandwidth
CN108718277B (zh) * 2018-04-11 2021-11-09 新华三技术有限公司 基于路由表的报文转发方法与路由表维护方法及相关装置
CN110290117B (zh) * 2019-06-06 2021-11-05 新华三信息安全技术有限公司 一种匹配ip地址的方法及装置
CN115190071A (zh) * 2021-04-02 2022-10-14 华为技术有限公司 一种缓存方法及集成电路
CN116112191A (zh) * 2021-11-11 2023-05-12 中国移动通信集团山东有限公司 基于路由表配置acl的方法、装置和网络设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140036918A1 (en) * 2012-07-31 2014-02-06 Alcatel-Lucent Bell Labs France High-speed content routing
CN103581023A (zh) * 2013-11-06 2014-02-12 盛科网络(苏州)有限公司 实现最长掩码匹配的方法及装置
CN104158743A (zh) * 2014-08-22 2014-11-19 福建星网锐捷网络有限公司 分布式路由器的报文跨卡转发方法及装置
CN105049359A (zh) * 2014-04-29 2015-11-11 英特尔公司 用于分布式路由表查找的技术
CN105227468A (zh) * 2014-06-20 2016-01-06 华为技术有限公司 一种查找装置、查找方法和配置方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030236793A1 (en) * 2002-06-19 2003-12-25 Ericsson Inc. Compressed prefix tree structure and method for traversing a compressed prefix tree
US20050083937A1 (en) * 2003-10-15 2005-04-21 Hyesook Lim IP address lookup method using pipeline binary tree, hardware architecture, and recording medium
CN101588299B (zh) 2009-07-07 2012-01-04 杭州华三通信技术有限公司 分布式设备的报文转发方法及分布式设备和该设备的单板
US8331371B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US9647941B2 (en) * 2013-10-04 2017-05-09 Avago Technologies General Ip (Singapore) Pte. Ltd. Hierarchical hashing for longest prefix matching
CN107347035B (zh) * 2016-05-06 2020-05-08 华为技术有限公司 路由查找方法、装置、分配节点、查找节点及入口节点
US10148571B2 (en) * 2016-06-20 2018-12-04 Mellanox Technologies Tlv Ltd. Jump on a match optimization for longest prefix match using a binary search tree

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140036918A1 (en) * 2012-07-31 2014-02-06 Alcatel-Lucent Bell Labs France High-speed content routing
CN103581023A (zh) * 2013-11-06 2014-02-12 盛科网络(苏州)有限公司 实现最长掩码匹配的方法及装置
CN105049359A (zh) * 2014-04-29 2015-11-11 英特尔公司 用于分布式路由表查找的技术
CN105227468A (zh) * 2014-06-20 2016-01-06 华为技术有限公司 一种查找装置、查找方法和配置方法
CN104158743A (zh) * 2014-08-22 2014-11-19 福建星网锐捷网络有限公司 分布式路由器的报文跨卡转发方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3442178A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115442288A (zh) * 2022-08-19 2022-12-06 中国信息通信研究院 一种SRv6网络数据包检查方法和装置

Also Published As

Publication number Publication date
EP3442178A4 (en) 2019-04-17
EP3442178A1 (en) 2019-02-13
CN107347035B (zh) 2020-05-08
US20190075053A1 (en) 2019-03-07
EP3442178B1 (en) 2022-10-26
CN107347035A (zh) 2017-11-14
US10680950B2 (en) 2020-06-09

Similar Documents

Publication Publication Date Title
WO2017190559A1 (zh) 路由查找方法、装置、分配节点、查找节点及入口节点
US10284472B2 (en) Dynamic and compressed trie for use in route lookup
CN106059924B (zh) 一种管理信息的方法,装置及系统
CN107534613B (zh) 使用子树标识符的多区域源路由组播方法
CN107770073B (zh) 一种信息同步的方法,装置及系统
US9973400B2 (en) Network flow information collection method and apparatus
US11616720B2 (en) Packet processing method and system, and device
JP6122971B2 (ja) イーサネットパケットの転送
WO2018184487A1 (zh) Bier报文的转发方法及装置
CN111541616A (zh) 一种流量控制方法及装置
US11362954B2 (en) Tunneling inter-domain stateless internet protocol multicast packets
JP6195014B2 (ja) 通信システム、通信方法、中継装置、および、通信プログラム
EP4009596A1 (en) Message forwarding method, device, and system in sr network
US7487255B2 (en) Routing cache management with route fragmentation
CN111147372A (zh) 下行报文发送、转发方法和装置
WO2019246161A1 (en) Area abstraction extensions to routing protocols
US7746865B2 (en) Maskable content addressable memory
US11700201B2 (en) Mechanism to enforce consistent next hops in a multi-tier network
WO2022142932A1 (zh) 一种路由处理方法、相关装置以及网络系统
WO2011012081A1 (zh) 一种通信设备路由转发表的压缩方法和装置
WO2022199294A1 (zh) 组播报文发送方法及装置
CN115733796A (zh) 通信方法及装置

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2017792386

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017792386

Country of ref document: EP

Effective date: 20181108

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17792386

Country of ref document: EP

Kind code of ref document: A1