WO2008138255A1 - Route process method, route processor and router - Google Patents

Route process method, route processor and router Download PDF

Info

Publication number
WO2008138255A1
WO2008138255A1 PCT/CN2008/070898 CN2008070898W WO2008138255A1 WO 2008138255 A1 WO2008138255 A1 WO 2008138255A1 CN 2008070898 W CN2008070898 W CN 2008070898W WO 2008138255 A1 WO2008138255 A1 WO 2008138255A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
route
routing
task
scheduling
Prior art date
Application number
PCT/CN2008/070898
Other languages
French (fr)
Chinese (zh)
Inventor
Yuanbo Zhu
Kui Zhang
Original Assignee
Huawei Technologies Co., Ltd.
Tsinghua University
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 Huawei Technologies Co., Ltd., Tsinghua University filed Critical Huawei Technologies Co., Ltd.
Publication of WO2008138255A1 publication Critical patent/WO2008138255A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/03Topology update or discovery by updating link state protocols

Definitions

  • the router that forwards the Internet message is usually the router that forwards the Internet message, and the router that directs the forwarding decision is the forwarding information base.
  • This forwarding information store stores routing information provided by different routing protocols.
  • the routing protocol running by the router can be divided into the border gateway protocol between the autonomous systems and the internal gateway protocol within the autonomous system according to the application.
  • an autonomous system refers to an internet network in which a management mechanism is implemented by a single management organization.
  • the link state routing protocol is the most widely used internal gateway protocol, the system to the Intermediate System to Intermediate System Routing Protocol (ISS).
  • the link state routing protocol is based on the shortest path first algorithm.
  • the running process is: discovering and maintaining protocols through specific neighbors, discovering neighbors around the router, and spreading and collecting the autonomous system with its reliable flooding mechanism.
  • the local link information of each router forms a so-called link state database in the link state routing protocol.
  • each router running the link state routing protocol will soon obtain panoramic information about the entire network topology and agree.
  • the shortest path first algorithm By applying the shortest path first algorithm to the link state database, all network reachability information of the autonomous system can be obtained, and a routing table of the link state routing protocol is formed, and these routes are loop-free. Then, the routing table of the link state routing protocol is sent to the global routing table of the router, and the routing information obtained from different routing protocols is synthesized by the global routing table, and the optimal route is selected according to certain rules to form a data plane guide. Forwarding information library forwarded by the text.
  • the traditional link state routing protocol operation mode is usually one or more routing protocols (including the link state routing protocol) as an operating system task, running on the routing processor of the router control plane, that is, the protocol running processing, Functions such as route calculation and management control are concentrated on a single route processor.
  • the total number of neighbors that the link state routing protocol can support The number and routing capacity depend on the computing power of the routing processor and the capacity of the physical memory that is provisioned.
  • the user With the expansion of the network and the flattened network design, the user usually hopes that the total number of neighbors and the routing capacity supported by the link state routing protocol can be improved with the increase of hardware resources such as the routing processor, and the link state is realized.
  • Extension of the routing protocol the traditional link state routing protocol operating mode cannot be extended by the link state routing protocol because it is concentrated on a single routing processor.
  • Embodiments of the present invention provide a route processing method, a route processor, and a router, which can implement extension of a link state routing protocol.
  • the embodiment of the invention provides a route processing method, including: establishing and maintaining a connection between nodes in a network, performing task scheduling on the node; the node runs a link state routing protocol according to the scheduled task, and performs route calculation to obtain a route. Calculating the result; obtaining the route calculation result of the node and performing route summarization.
  • the embodiment of the present invention provides a router, including a plurality of route processors, where the route processor includes: a task scheduling module, configured to perform task scheduling between routing processors; and a protocol running module, configured to perform tasks according to the scheduling
  • the link state routing protocol is run, and the route calculation is performed to obtain the route calculation result.
  • the route summary module is configured to perform route summarization on the route calculation result.
  • the operation mode of the embodiment of the present invention can dynamically distribute the task scheduling, protocol execution, and route summary operations of the link state routing protocol to each node, that is, each route processor, so that the resources of each node can be fully utilized, thereby realizing The scalability of the link state routing protocol.
  • DRAWINGS 1 is a distributed model diagram of a link state routing protocol according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a routing processing method according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of performing task scheduling in a route processing method according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a scheduling state machine according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a state machine of a routing table according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of establishing a connection relationship between nodes according to an embodiment of the present invention.
  • Figure ⁇ is a flowchart of an active allocation task in a routing processing method according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of an application network of a routing processing method according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of related information in an application network of a routing processing method according to an embodiment of the present invention
  • FIG. 11 is a schematic diagram of related information in an application network according to a routing processing method according to an embodiment of the present invention
  • 3 is a schematic diagram of related information in an application network
  • FIG. 13 is a schematic structural diagram of a routing processor according to an embodiment of the present invention
  • FIG. 14 is a schematic structural diagram of a task scheduling module of a routing processor according to an embodiment of the present invention.
  • FIG. 15 is a schematic structural diagram of a router according to an embodiment of the present invention.
  • routing processor is hereinafter referred to simply as a node.
  • the distributed model of the link state routing protocol in the embodiment of the present invention includes a task scheduling module, a protocol running module, and a routing table summary module.
  • the task scheduling module is configured to discover and maintain each The connection relationship between the nodes, and the task allocation according to the processing capability of the node;
  • the protocol running module is configured to run the link state routing protocol according to the task assigned by the scheduling module, perform route calculation, obtain a route calculation result, and generate a local routing table;
  • the routing table summary module is configured to perform route summarization on the route calculation result, that is, it is used to collect the local routing table of each node.
  • the task scheduling algorithm of the embodiment of the present invention includes a scheduling state machine and a routing table state machine.
  • the scheduling state machine divides the state of each node into a main scheduling state, a backup scheduling state, and a slave scheduling state according to a decision right assigned by the task.
  • the functions of the scheduling state machine include: establishing and maintaining relationships between nodes of the distributed system; electing the primary scheduling node, the backup scheduling node, and the secondary scheduling node; performing task assignment.
  • the routing table state machine divides the state of each node into a primary summary state, a backup summary state, and a summary state according to the execution right of the routing table summary task, and completes the summary operation of each local routing table.
  • the distributed implementation model can be mapped to a specific running model according to a specific scheduling policy.
  • Figure 1 shows an example of a distributed model of a link state routing protocol.
  • the tag 22 indicates a router, and the tag 33 indicates a node.
  • the three circles from top to bottom in the node are the three components under the distributed model: the task scheduling module, the protocol running module, and the routing table summary module.
  • An allocation mode as shown in A, under the control of the scheduling state machine, completes the task assignment of protocol running and routing table summary work on multiple nodes, each node performs protocol running and routing table summarization, then each node The routing table summary module will only complete the local routing information summary and send it to the router's global routing table.
  • the router's global routing table is stored in the router's other memory.
  • Another allocation mode as shown in B, allows the primary scheduling node to perform routing table summarization. Then the primary scheduling node is also the primary summary node. In this case, the primary summary node needs to summarize the routing information of each node before delivering it to the router. Global routing table.
  • the embodiment of the present invention will be mainly described in the mode shown by B, but is not limited thereto.
  • FIG. 2 it is a flowchart of a routing processing method according to an embodiment of the present invention, including:
  • FIG 4 shows the scheduling state machine.
  • the scheduling state machine is somewhat similar to the interface state machine with the OSPF protocol. Each node will execute this state machine.
  • This state machine defines the following states: "inactive" state, in which the node does not run the link state routing protocol; in the "waiting" state, the node can run the link state routing protocol but does not enter the working mode; The mode, and the decision rights assigned by the task are divided into the "main scheduling", "backup scheduling” and "slave scheduling” states.
  • the scheduling state machine performs the following functions driven by the trigger event: Establish and maintain the relationship between the nodes of the distributed system; perform election of the primary scheduling node, the backup scheduling node, and the secondary scheduling node; perform task assignment.
  • the various arrows in Figure 4 mark the possible state transition process when the node is running the state machine. Depending on the nature of the triggering event, each node may change its state or may remain in its current state. But there will always be a consistent election result between all nodes.
  • the node stops the routing protocol in any state it changes to the "inactive" state.
  • the routing protocol When the routing protocol is started, it changes from the "inactive" state to the "waiting" state, starts the timer, and starts.
  • the heartbeat message is broadcast on the internal communication network.
  • the main scheduling node After the timer expires, the main scheduling node is elected.
  • the rule is to elect the main scheduling node with the highest processing power value, followed by the backup scheduling node, and the rest are slave scheduling nodes. When the processing power values are the same, Comparing the internal network address values, the rule is generally that the election network address value is the largest as the primary scheduling node, followed by the backup scheduling node, and the rest are the secondary scheduling nodes.
  • the tasks of the backup scheduling node and the slave scheduling node are allocated by the primary scheduling node.
  • Bl establishing and maintaining relationships between nodes, electing a primary scheduling node, a backup scheduling node, and a secondary scheduling node;
  • each node learns the existence of each other by periodically broadcasting heartbeat messages, and elects the primary scheduling node and the backup scheduling node according to its processing capability, and the rest are slave scheduling nodes.
  • the processing capability information is carried in the heartbeat message.
  • the scheduling node sends a heartbeat message only to the primary scheduling node, and the primary scheduling node broadcasts a heartbeat message on the internal network.
  • the five nodes A, B, C, D, and E shown in Figure 6 change from the "inactive" state to the "waiting" state after receiving the configuration command to run OSPF, start the timer, and start internally.
  • a heartbeat message is broadcast on the communication network.
  • the type field is represented by 0 - 1 bits
  • the 2 - 3 bits represent the status field
  • 4 - 7 bits represent the address field
  • 8 - 9 bits represent the processing capability field. Since the current state of each node is "waiting", the value of the state field of the heartbeat message is "waiting", and the "processing capability" field is the node. The remaining processing power of the previous node.
  • each node obtains the neighbor's information and constitutes the following neighbor list.
  • each node starts the election of the primary scheduling node.
  • the rule is to find the primary scheduling node with the highest processing power value from the obtained neighbor set, followed by the backup scheduling node, and the rest are slave scheduling nodes.
  • the "processing power" value is the same, the internal network address value is compared.
  • the rule is generally that the election network address value is the largest as the primary scheduling node, the second is the backup scheduling node, and the rest is the secondary scheduling node.
  • node A is elected as the master scheduling node
  • B is elected as the backup scheduling node
  • C, D, and E are slave scheduling nodes.
  • nodes A and B transition to the "master scheduling” state and the “backup scheduling” state, respectively, and nodes C, D, and E all transition to the "slave scheduling” state. Thereafter, A periodically broadcasts a heartbeat message to the internal network, whose status field is “main scheduling”, and ⁇ C, D, and E only send heartbeat messages to A, and the B-state field is "backup scheduling", C, D, and E.
  • the status field is "From Schedule”.
  • the main scheduling node performs task assignment
  • the primary scheduling node After the primary scheduling node is elected, the primary scheduling node starts the initial assignment of tasks. In this step, the task is assigned by the scheduling state machine.
  • the scheduling state machine can adopt no The same split unit is used to perform task assignment.
  • the different split units refer to one of a virtual private network instance such as a link state routing protocol, one of a multi-protocol process, or an area border router in a link state routing protocol. One of a plurality of regions, etc.
  • the link state routing protocol multi-VPN instance refers to the routing protocol instance running under each VPN. Each instance only performs the routing function in the VPN, and has nothing to do with the routing instances in other VPNs.
  • Link state routing protocol Multi-protocol process means that each protocol process runs on a part of the same independent network under the same autonomous system, the so-called protocol routing domain. The routing function is completed in this independent sub-routing domain, and they are mutually unrelated.
  • a zone border router is a link state routing protocol that defines a router that is simultaneously connected to multiple zones within an autonomous system. The link state routing protocol divides the entire autonomous system into multiple regions in order to extend support for a large number of Autonomous Systems. These areas are simultaneously divided into backbone areas and non-backbone areas.
  • the backbone area must be physically or logically connected, and each non-backbone area must be connected to this backbone area.
  • the junction between the area and the area is the area border router, and the other routers are called the intra-area routers.
  • the routers in the area complete the routing function in the area by running the shortest path algorithm, and the area border routers are responsible for flooding the routing information in all areas to other areas in the form of digest to help the routers in the area complete the inter-area routing function.
  • Road State Routing Protocol This method of implementing inter-area routing borrows the horizontal splitting method in the distance vector routing protocol. Therefore, the area border router actually runs the shortest path algorithm on each of the connected areas, and the different areas are relatively independent networks.
  • the three kinds of irrelevance described above can be the task allocation algorithm of the scheduling state machine.
  • each processing node runs a specific area, maintains neighbor relationships in the area, and synchronizes link state information of the area.
  • each node can run several link-state routing protocol processes, each of which is an independent link-state routing protocol.
  • a configuration option can be provided to enable the user to make a final choice according to the specific application scenario of the protocol.
  • the following describes the OSPF protocol of the link state routing protocol as an example, and performs task allocation by using multiple area allocation units of the area border router.
  • the primary scheduling node in the "main scheduling” state triggers the "active task allocation” event when receiving the routing control message, and executes the main operation shown in FIG.
  • the task assignment operation process when the backup scheduling node under the “backup scheduling” or the slave scheduling node in the “scheduled” state receives the routing control message, the "passive task assignment” event is triggered, and the passive operation shown in FIG. 8 is performed. Task assignment process.
  • the active task assignment operation process includes:
  • step C2 determining whether the message processing task is responsible for the node, if yes, proceeding to step C3, if no, proceeding to step C4;
  • the master scheduling node can determine whether the packet processing task is responsible for the node.
  • step C4 whether the message processing task has been assigned, if yes, go to step C6, if no, go to step C5;
  • the main scheduling node can find out whether the packet processing task has been allocated by searching for related information in the area list of the task allocation mapping table.
  • step C5 designating a node to be responsible for the packet processing task, and proceeding to step C6;
  • step D2. Determine whether the message processing task is responsible for the node. If yes, go to step D3. If no, go to step D4.
  • C is responsible for the task of areaO
  • B is responsible for the tasks of areal.
  • the specific operations are as follows: Initially, the data of each node and the forwarding plane is as shown in FIG.
  • the forwarding plane receives the OSPF packet from the interface i «). According to the interface mapping table (currently empty), it selects the default mode to broadcast the packet to the entire distributed system, so A, B and C both receive the interface i « ) OSPF packets sent with areaO information. B and C do not find the i «) information in their local interface list, and judge that the task is not responsible for themselves, so the OSPF packet is discarded. A first does not find the ifO information in the list of its own local interface, and judges that the task is not responsible for itself.
  • A checks whether the task has been allocated. It searches for the areaO in the area list of the task allocation mapping table (this time is empty). , but not found, and then judge that the task has not been assigned, then add areaO to the area list of the task allocation mapping table, and push out the node C with the largest remaining processing capacity in the node queue arranged in the order of "processing power". This results in the assignment result for the specified C responsible for the areaO task.
  • A will perform the following operations: Fill in C corresponding to the areaO of the area list of the task allocation mapping table, set the port corresponding to interface ifO to C in the interface mapping table, send a message to C, and notify it to join the new task i «) .
  • the result shown in Fig. 11 is obtained.
  • A is also responsible for periodically passing the interface mapping table to the forwarding plane.
  • the forwarding plane When receiving the OSPF packet, the forwarding plane sends the packet to the corresponding node in unicast mode according to the interface and the interface mapping table. Therefore, when the forwarding plane sends the message from the interface i «) to the control plane again, the message is sent directly to C, which reduces the processing overhead on A and B.
  • a receives an OSPF packet from interface if2 it has areal information. B and C still do the same processing as before. A also performs similar processing. Adds the area list of the task allocation mapping table to the areal, and pushes the node B with the largest remaining processing capacity in the node queue, and obtains the allocation result as the designated B responsible for the areal task. A performs the following operations for this: The node corresponding to the areal of the area list of the task allocation mapping table is filled in B, and the port corresponding to the interface if2 is set to B in the interface mapping table, and a message is sent to B to notify it to join the new task if2. When A receives an OSPF packet from the interface ifl, it carries the areaO information.
  • the result of Fig. 12 is thus obtained.
  • C and B are assigned to tasks areaO and areal respectively, and the interfaces they contain are i «), ifl, and if2. Messages from interfaces i «) and ifl are sent directly to node C, and messages from interface if2 are sent directly to node B.
  • the above description describes a method for task assignment in the embodiment of the present invention, which performs active task assignment in a "master scheduling” state, and performs passive task assignment in a "backup scheduling” or “slave scheduling” state.
  • the task assignment algorithm is centralized to the main scheduling node to complete, and the corresponding task is directly sent from the forwarding plane to the corresponding processing node, so that each node will only receive the routing information in the area that it is responsible for, and then independently route. Calculation.
  • the primary scheduling node selects the primary summary node, the backup summary node, and the secondary summary node according to the processing capabilities of each node collected by the heartbeat message, and sends it to each node through an internal message.
  • the routing table state machine is used for scheduling.
  • the scheduling algorithm of the routing table state machine depends on the algorithm of the scheduling state machine.
  • the routing table state machine as shown in Figure 5, is similar to the scheduling state machine, and divides each node into: "waiting" state, the node does not enter the working mode, that is, the related operations of the routing table summary are not required. In the working mode, the decision status of the task assignment is divided into the "main summary", "backup summary” and "from summary” status. If the node stops the routing protocol in any state, it transitions to the "inactive" state. When the routing protocol is started, it changes from the "inactive" state to the "waiting" state, starts the timer, and starts broadcasting on the internal communication network. Heartbeat message. After the timer expires, the route summary relationship is determined.
  • the routing summary relationship determining process refers to one of the three states in which the routing state of each node transitions from the "waiting" state to the working mode, that is, the initialization process of the routing table state machine is generally synchronized with the scheduling state machine initialization process.
  • each node transitions from the "waiting" state to one of the three states of scheduling, as the scheduling state machine "timer timeout” event triggering the operation and "discovering the main scheduling"
  • the event is also a trigger event for the routing table state machine.
  • the routing table state machine that transitions from the "waiting" state to the "master scheduling” state, the routing table state machine will also be The "Wait" state transitions to the "Main Summary” state. That is to say, the initialization of the routing table state machine is the same as the initialization of the scheduling state machine.
  • the node that performs the primary scheduling by default is also responsible for the routing table summary, that is, the primary scheduling node is also the primary summary node.
  • Each node runs a link state routing protocol, performs route calculation, and obtains a local routing table.
  • Each node runs a link state routing protocol locally according to the assigned task, discovers and maintains the neighbor relationship, and synchronizes the link state with each neighbor.
  • Information applying the shortest path first algorithm for routing calculation, and obtaining a local routing table.
  • Each node performs route summarization according to the route summary relationship determined by the routing table state machine.
  • each slave summary node routes the route to the primary summary node, and the primary summary node performs summary of the routing table to obtain the summary result, and delivers a copy to the backup summary node.
  • each local routing table needs to be A global routing table that aggregates to form a complete routing protocol.
  • Each of the slave routing nodes sends a local routing table to the primary summary node, and the primary summary node aggregates all the routing calculation results to form a global routing table of the routing protocol, and delivers the routing table to the global routing table of the router.
  • the primary summary node may also be the same node as the primary scheduling node, that is, the task scheduling may be performed at one node.
  • the routing table summary can be run on a different node.
  • each node can independently complete the summary of the respective routing tables, which is equivalent to Each node is a master summary state.
  • the summary of the routing table may also consider some specific requirements of the routing protocol. For example, when the OSPF area is a distributed execution unit, support for the OSPF virtual link needs to be considered. For the OSPF trunk area configured with the virtual link, the Link State Advertisement (LSA) of the Type 3 and Type 4 link status needs to update the route calculation result of the backbone area. Therefore, the two types of LSAs can be calculated locally before. A part of the local routing table is sent together to the main summary node for aggregation according to the protocol rules, and the specific process depends on the implementation of the routing protocol.
  • LSA Link State Advertisement
  • the summary of each local routing table will form a global routing table of the routing protocol, and the link state routing at this time
  • the protocol needs to be sent to the global routing table of the router.
  • the global routing table of the router integrates the routing information obtained from different routing protocols, and selects the optimal route according to certain rules to form a forwarding information base for the data plane to guide the packet forwarding. And sent to the forwarding plane.
  • the embodiment of the present invention provides a routing processor.
  • the route processor includes a task scheduling module 100, a protocol execution module 200, and a route summary module 300.
  • the task scheduling module 100 is configured to discover and maintain a connection relationship with other routing processors, and perform task allocation according to processing capabilities of each routing processor.
  • the protocol running module 200 is configured to run a basic link state routing protocol according to the assigned task, perform route calculation, and obtain a route calculation result, that is, a local routing table.
  • the route summary module 300 is configured to collect a local routing table obtained by routing calculation by each route processor, to obtain a global routing table of the complete routing protocol.
  • the scheduling election unit 1002 is configured to elect a routing processor for performing task allocation according to the self-routing processor processing capability value information stored by the information unit 1001 and the acquired processing capability value information of other routing processors.
  • the election rule is to find the main scheduling route processor with the highest processing capacity value for task assignment from the obtained neighbor set, followed by the backup scheduling route processor, and the rest is the slave routing processor. When the processing power values are the same, the internal network address values are compared.
  • the rule is generally that the election network address value is the largest as the primary scheduling route processor, followed by the backup scheduling route processor, and the rest is the slave scheduling route processor.
  • the task allocating unit 1004 is configured to perform task allocation when the routing processor is used as the main scheduling route processor, and the task can be assigned to other routing processors.
  • the task scheduling module 100 of the routing processor further includes: a first timer unit 1005 and a scheduling state machine unit 1006.
  • the task scheduling module 100 of the routing processor further includes: a second timer unit 1007 and a routing table state machine unit 1008.
  • the second timer unit 1007 is configured to set the timing.
  • the routing table state machine unit 1008 is configured to divide the route summary state of the route processor, and instruct the route processor to perform different operations.
  • the routing table The state machine unit 1008 notifies the information unit 1001 to acquire the processing capability value information of the other route processors.
  • the routing table state machine unit 1008 triggers the route summary election unit 1003 to perform the election and indicates the route.
  • the processor is elected to enter the primary summary state when performing route summarization, and is not elected to perform backup summary status or summary status when performing route summarization.
  • the task assignment unit 1004 in the task scheduling module 100 of the route processor further includes: a determination unit 10041 and a processing unit 10042.
  • the determining unit 10041 is configured to determine, according to the interface list information, whether the packet processing task belongs to the local routing processor, and the processing unit 10042 is configured to: when the determining unit 10041 determines that the routing processor is not responsible for the routing processor, The routing processor responsible for the packet processing task and modifying the interface mapping table information.
  • the embodiment of the invention further provides a router. Please refer to FIG. 15, which is a schematic structural diagram of a router according to an embodiment of the present invention.
  • the router contains three routing processors 60, 70, and 80, but is not limited thereto.
  • the router may contain multiple routing processors.
  • the routing processors of the router are the same as the routing processors described in FIG. 13, and include a task scheduling module 100, a protocol running module 200, and a routing summary module 300.
  • the task scheduling module 100 is configured to discover and maintain a connection relationship with other routing processors, and perform task allocation according to processing capability values of the routing processors.
  • the protocol running module 200 is configured to run a basic link state routing protocol according to the assigned task, perform route calculation, and obtain a local routing table.
  • the route summary module 300 is configured to perform route summarization on the route calculation result, and may collect a local routing table obtained by routing calculation by each route processor, thereby forming a global routing table of the complete routing protocol.
  • the task scheduling module 100 of each routing processor further includes an information unit 1001, a scheduling election unit 1002, a route summary election unit 1003, a task allocation unit 1004, a first timer unit 1005, a scheduling state machine unit 1006, and a second timer unit 1007. And routing table state machine unit 1008.
  • the task assignment unit 1004 in the task scheduling module 100 further includes a decision unit 10041 and a processing unit 10042. The functions of these units are the same as those described above and will not be described in detail here.
  • the link state routing protocol operating mode in the prior art is concentrated on a single routing processor, and is limited by the processing capability of the routing processor itself, and cannot implement the extension of the link state routing protocol, and the implementation of the present invention
  • the example solution is: establishing a connection between nodes in the network, performing task scheduling on each node; each node runs a link state routing protocol according to the scheduled task, and performs route calculation to obtain a route calculation result; The routing calculation results are summarized and route summarization is performed.
  • the operation mode of the embodiment of the present invention can dynamically distribute the task scheduling, protocol execution, and route summary operations of the link state routing protocol to each node, that is, each route processor, so that the resources of each node can be fully utilized, thereby realizing An extension of the link state routing protocol.
  • the three functions of the link state routing protocol are dynamically distributed to each node, which can have greater fault tolerance. If a node of a distributed system fails, or a node's protocol runs during a large oscillation, it can isolate the impact on its nodes.

Landscapes

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

Abstract

A route process method, router processor and router are provided. The route process method includes that: establishing and maintaining the connection between each node in the network, scheduling the task of each node; each node runs the link state route protocol in accordance with the scheduled task, and computes the route, obtains the computed result of the route; obtaining the route computed result of each node and aggregating the routes. The route processor includes that: the task scheduling module, for scheduling the task; the protocol running module, for running the link state route protocol in accordance with the scheduled task, and computing the route, obtaining the computed result of the route; the route aggregation module, for aggregating the route computed result. The router includes a plurality of router processors.

Description

路由处理方法、 路由处理器及路由器  Route processing method, route processor and router
本申请要求于 2007 年 5 月 14 日提交中国专利局、 申请号为 200710102083.5、 发明名称为"路由处理方法、 路由处理器及路由器 "的中国专 利申请的优先权, 其全部内容通过引用结合在本申请中。  This application claims priority to Chinese Patent Application No. 200710102083.5, entitled "Route Processing Method, Route Processor and Router", filed on May 14, 2007, the entire contents of which are incorporated herein by reference. In the application.
技术领域 Technical field
本发明涉及计算机网络技术,具体涉及一种链路状态路由协议的路由处理 方法、 路由处理器及路由器。  The present invention relates to computer network technologies, and in particular, to a route processing method, a route processor, and a router of a link state routing protocol.
背景技术 Background technique
在互联网络中,通常是由路由器实现网际报文的转发, 而指导路由器作出 转发决定的是转发信息库。 这个转发信息库存储不同路由协议提供的路由信 息。路由器运行的路由协议,按应用场合可以分为自治系统间的边界网关协议 和自治系统内部的内部网关协议。其中, 自治系统是指由单一管理机构实施管 理策略的网际网络。 链路状态路由协议是当前应用最为广泛的内部网关协议 , 系统到中间系统协议 ISIS ( Intermediate System to Intermediate System Routing Protocol )。链路状态路由协议是以最短路径优先算法为基础的,其运行过程是: 通过特定的邻居发现与保持协议,发现路由器周围的各个邻居, 并以其可靠的 洪泛机制,扩散并搜集自治系统中每个路由器的本地链路信息,形成链路状态 路由协议中所谓的链路状态数据库。这样,每个运行链路状态路由协议的路由 器很快就会获得关于整个网络拓朴图的全景信息, 并达成一致。对这个链路状 态数据库应用最短路径优先算法 , 就能获得自治系统的所有网络可达性信息 , 形成链路状态路由协议的路由表, 并且这些路由是无环路的。 然后, 把链路状 态路由协议的路由表下发给路由器的全局路由表,由该全局路由表综合从不同 路由协议得到的路由信息,按照一定的规则选出最优路由,形成数据平面指导 4艮文转发的转发信息库。  In the Internet, it is usually the router that forwards the Internet message, and the router that directs the forwarding decision is the forwarding information base. This forwarding information store stores routing information provided by different routing protocols. The routing protocol running by the router can be divided into the border gateway protocol between the autonomous systems and the internal gateway protocol within the autonomous system according to the application. Among them, an autonomous system refers to an internet network in which a management mechanism is implemented by a single management organization. The link state routing protocol is the most widely used internal gateway protocol, the system to the Intermediate System to Intermediate System Routing Protocol (ISS). The link state routing protocol is based on the shortest path first algorithm. The running process is: discovering and maintaining protocols through specific neighbors, discovering neighbors around the router, and spreading and collecting the autonomous system with its reliable flooding mechanism. The local link information of each router forms a so-called link state database in the link state routing protocol. In this way, each router running the link state routing protocol will soon obtain panoramic information about the entire network topology and agree. By applying the shortest path first algorithm to the link state database, all network reachability information of the autonomous system can be obtained, and a routing table of the link state routing protocol is formed, and these routes are loop-free. Then, the routing table of the link state routing protocol is sent to the global routing table of the router, and the routing information obtained from different routing protocols is synthesized by the global routing table, and the optimal route is selected according to certain rules to form a data plane guide. Forwarding information library forwarded by the text.
传统的链路状态路由协议运行模式通常是,一个或者多个路由协议(包括 链路状态路由协议 )作为一个操作系统任务,运行在路由器控制平面的路由处 理器上,也就是说协议运行处理、路由计算及管理控制等功能都集中在单一的 路由处理器上进行。在这种运行模式下,链路状态路由协议所能支持的邻居总 数和路由容量取决于这个路由处理器的计算能力和所配备的物理内存的容量。 而随着网络 ¾f莫的扩大及扁平化的网络设计,用户通常希望链路状态路由协议 所能支持的邻居总数和路由容量能够随着路由处理器等硬件资源的增加而提 高, 实现链路状态路由协议的扩展,传统的链路状态路由协议运行模式因为集 中在单个路由处理器上, 无法实现链路状态路由协议的扩展。 The traditional link state routing protocol operation mode is usually one or more routing protocols (including the link state routing protocol) as an operating system task, running on the routing processor of the router control plane, that is, the protocol running processing, Functions such as route calculation and management control are concentrated on a single route processor. In this mode of operation, the total number of neighbors that the link state routing protocol can support The number and routing capacity depend on the computing power of the routing processor and the capacity of the physical memory that is provisioned. With the expansion of the network and the flattened network design, the user usually hopes that the total number of neighbors and the routing capacity supported by the link state routing protocol can be improved with the increase of hardware resources such as the routing processor, and the link state is realized. Extension of the routing protocol, the traditional link state routing protocol operating mode cannot be extended by the link state routing protocol because it is concentrated on a single routing processor.
发明内容 Summary of the invention
本发明实施例提供一种路由处理方法、路由处理器及路由器, 能够实现链 路状态路由协议的扩展。  Embodiments of the present invention provide a route processing method, a route processor, and a router, which can implement extension of a link state routing protocol.
本发明实施例提供一种路由处理方法, 包括: 建立和维护网络中节点间的 连接,对节点进行任务调度;节点根据所述调度的任务运行链路状态路由协议, 并进行路由计算,得到路由计算结果; 获取节点的所述路由计算结果并进行路 由汇总。  The embodiment of the invention provides a route processing method, including: establishing and maintaining a connection between nodes in a network, performing task scheduling on the node; the node runs a link state routing protocol according to the scheduled task, and performs route calculation to obtain a route. Calculating the result; obtaining the route calculation result of the node and performing route summarization.
本发明实施例提供一种路由处理器, 包括: 任务调度模块, 用于进行路由 处理器间的任务调度; 协议运行模块,用于根据所述调度的任务运行链路状态 路由协议, 并进行路由计算, 得到路由计算结果; 路由汇总模块, 用于将路由 计算结果进行路由汇总。  The embodiment of the present invention provides a route processor, including: a task scheduling module, configured to perform task scheduling between routing processors; a protocol running module, configured to run a link state routing protocol according to the scheduled task, and perform routing The calculation is performed to obtain a route calculation result; the route summary module is configured to perform route summarization on the route calculation result.
本发明实施例提供一种路由器, 包括多个路由处理器, 所述路由处理器包 括: 任务调度模块, 用于进行路由处理器间的任务调度; 协议运行模块, 用于 根据所述调度的任务运行链路状态路由协议, 并进行路由计算,得到路由计算 结果; 路由汇总模块, 用于将路由计算结果进行路由汇总。  The embodiment of the present invention provides a router, including a plurality of route processors, where the route processor includes: a task scheduling module, configured to perform task scheduling between routing processors; and a protocol running module, configured to perform tasks according to the scheduling The link state routing protocol is run, and the route calculation is performed to obtain the route calculation result. The route summary module is configured to perform route summarization on the route calculation result.
从以上技术方案可知 ,传统的链路状态路由协议运行模式因为集中在单个 路由处理器上, 受路由处理器本身处理能力的限制, 无法实现链路状态路由协 议的扩展, 而本发明实施例方案是: 建立网络中各节点间的连接, 对各节点进 行任务调度; 各节点根据所述调度的任务运行链路状态路由协议, 并进行路由 计算, 得到路由计算结果; 获取各节点的所述路由计算结果并进行路由汇总。 因为本发明实施例的运行模式下,可以将链路状态路由协议的任务调度、协议 执行和路由汇总操作动态分布到各节点即各路由处理器上 ,所以能充分利用各 节点的资源 , 从而实现了链路状态路由协议的可扩展性。  It can be seen from the above technical solutions that the traditional link state routing protocol operation mode is centralized on a single routing processor, and is limited by the processing capability of the routing processor itself, and the extension of the link state routing protocol cannot be implemented. Yes: Establish a connection between nodes in the network, and perform task scheduling on each node; each node runs a link state routing protocol according to the scheduled task, and performs route calculation to obtain a route calculation result; acquire the route of each node Calculate the results and perform route summarization. Because the operation mode of the embodiment of the present invention can dynamically distribute the task scheduling, protocol execution, and route summary operations of the link state routing protocol to each node, that is, each route processor, so that the resources of each node can be fully utilized, thereby realizing The scalability of the link state routing protocol.
附图说明 图 1为本发明实施例链路状态路由协议分布式模型图; DRAWINGS 1 is a distributed model diagram of a link state routing protocol according to an embodiment of the present invention;
图 2为本发明实施例路由处理方法流程图;  2 is a flowchart of a routing processing method according to an embodiment of the present invention;
图 3为本发明实施例路由处理方法中进行任务调度的流程图;  3 is a flowchart of performing task scheduling in a route processing method according to an embodiment of the present invention;
图 4为本发明实施例调度状态机示意图;  4 is a schematic diagram of a scheduling state machine according to an embodiment of the present invention;
图 5为本发明实施例路由表状态机示意图;  5 is a schematic diagram of a state machine of a routing table according to an embodiment of the present invention;
图 6为本发明实施例节点间建立连接关系示意图;  6 is a schematic diagram of establishing a connection relationship between nodes according to an embodiment of the present invention;
图 Ί为本发明实施例路由处理方法中主动分配任务流程图;  Figure Ί is a flowchart of an active allocation task in a routing processing method according to an embodiment of the present invention;
图 8为本发明实施例路由处理方法中被动分配任务流程图;  8 is a flowchart of a passive allocation task in a routing processing method according to an embodiment of the present invention;
图 9为本发明实施例路由处理方法的一个应用网络示意图;  9 is a schematic diagram of an application network of a routing processing method according to an embodiment of the present invention;
图 10为本发明实施例路由处理方法的应用网络中的相关信息一示意图; 图 11为本发明实施例路由处理方法的应用网络中的相关信息二示意图; 图 12为本发明实施例路由处理方法的应用网络中的相关信息三示意图; 图 13为本发明实施例路由处理器结构示意图;  10 is a schematic diagram of related information in an application network of a routing processing method according to an embodiment of the present invention; FIG. 11 is a schematic diagram of related information in an application network according to a routing processing method according to an embodiment of the present invention; 3 is a schematic diagram of related information in an application network; FIG. 13 is a schematic structural diagram of a routing processor according to an embodiment of the present invention;
图 14为本发明实施例路由处理器任务调度模块结构示意图;  14 is a schematic structural diagram of a task scheduling module of a routing processor according to an embodiment of the present invention;
图 15为本发明实施例路由器结构示意图。  FIG. 15 is a schematic structural diagram of a router according to an embodiment of the present invention.
具体实施方式 detailed description
传统的链路状态路由协议运行模式因为集中在单个路由处理器上,受路由 处理器本身处理能力的限制, 无法实现链路状态路由协议的扩展,本发明实施 例提供的一种路由处理方法,通过将链路状态路由协议含有的功能动态分布到 多个路由处理器上, 从而可以实现链路状态路由协议的可扩展性。  The traditional link state routing protocol operation mode is centralized on a single route processor, and is limited by the processing capability of the route processor itself, and the link state routing protocol cannot be extended. The route processing method provided by the embodiment of the present invention is The scalability of the link state routing protocol can be achieved by dynamically distributing the functions contained in the link state routing protocol to multiple routing processors.
路由器的多路由处理器运行架构一般由两个部分组成:若干个节点以及它 们之间的内部通信网络。这些节点通常被组织为一种分布式的主从关系, 即以 某个节点为主节点, 其他节点为分布式的从节点。 其中, 每个节点包含: 路由 处理器, 用来运行路由协议等路由器控制平面任务; 外部接口, 路由处理器通 过此接口与转发平面相连, 接收和发送路由控制报文; 内部接口, 路由处理器 通过此接口在内部交换网络上接收和发送消息 , 完成各节点之间的内部通信。  The router's multi-router processor architecture typically consists of two parts: several nodes and the internal communication network between them. These nodes are usually organized into a distributed master-slave relationship, that is, one node is the master node and the other nodes are distributed slave nodes. Each node includes: a routing processor for running a router control plane task such as a routing protocol; an external interface through which the routing processor is connected to the forwarding plane to receive and send routing control messages; an internal interface, a routing processor Through this interface, messages are received and sent on the internal switched network, completing internal communication between the nodes.
为描述的方便, 下文中将路由处理器简称为节点。  For convenience of description, the routing processor is hereinafter referred to simply as a node.
本发明实施例的链路状态路由协议的分布式模型包括任务调度模块、协议 运行模块和路由表汇总模块。 其中, 任务调度模块, 用于负责发现并维护各个 节点之间的连接关系, 并根据节点处理能力进行任务分配; 协议运行模块, 用 于根据调度模块分配的任务运行链路状态路由协议, 并进行路由计算,得到路 由计算结果, 产生局部路由表; 路由表汇总模块, 用于将路由计算结果进行路 由汇总, 即用于负责汇集各个节点的局部路由表。 The distributed model of the link state routing protocol in the embodiment of the present invention includes a task scheduling module, a protocol running module, and a routing table summary module. The task scheduling module is configured to discover and maintain each The connection relationship between the nodes, and the task allocation according to the processing capability of the node; the protocol running module is configured to run the link state routing protocol according to the task assigned by the scheduling module, perform route calculation, obtain a route calculation result, and generate a local routing table; The routing table summary module is configured to perform route summarization on the route calculation result, that is, it is used to collect the local routing table of each node.
本发明实施例的任务调度算法包括一个调度状态机和一个路由表状态机。 其中, 调度状态机, 按任务分配的决策权将各个节点状态划分为主调度状态, 备份调度状态, 以及从调度状态。 调度状态机的功能包括: 建立和维护分布式 系统各节点之间的关系; 选举主调度节点、备份调度节点和从调度节点; 进行 任务分配等。路由表状态机,按路由表汇总任务的执行权将各个节点状态划分 为主汇总状态,备份汇总状态以及从汇总状态, 并完成各个局部路由表的汇总 操作。  The task scheduling algorithm of the embodiment of the present invention includes a scheduling state machine and a routing table state machine. The scheduling state machine divides the state of each node into a main scheduling state, a backup scheduling state, and a slave scheduling state according to a decision right assigned by the task. The functions of the scheduling state machine include: establishing and maintaining relationships between nodes of the distributed system; electing the primary scheduling node, the backup scheduling node, and the secondary scheduling node; performing task assignment. The routing table state machine divides the state of each node into a primary summary state, a backup summary state, and a summary state according to the execution right of the routing table summary task, and completes the summary operation of each local routing table.
以下结合附图详细介绍本发明实施例的技术方案。  The technical solutions of the embodiments of the present invention are described in detail below with reference to the accompanying drawings.
在调度状态机的调度下 ,分布式实现模型可以根据具体的调度策略映射为 特定的运行模型。 图 1即显示了一个链路状态路由协议分布式模型样例。其中 标记 22表示一台路由器,标记 33表示一个节点, 节点内由上到下的三个圆圏 是分布式模型下的三个组成部分: 任务调度模块、协议运行模块和路由表汇总 模块。 通过调度状态机的调度, 可以有几种分配模式。 一种分配模式如 A所 示,在调度状态机的控制下, 完成协议运行和路由表汇总工作在多个节点上的 任务分配,每个节点都执行协议运行和路由表汇总,这时各个节点上的路由表 汇总模块将只完成本地路由信息汇总, 并下发到路由器的全局路由表,路由器 的全局路由表存储在路由器的其他内存中。 另一种分配模式如 B所示, 让主 调度节点执行路由表汇总, 那么主调度节点同时也就是主汇总节点,这时需要 主汇总节点将各个节点的路由信息汇总后才能下发到路由器的全局路由表。还 有一种分配模式如 C所示, 进一步的在路由表状态机的调度下, 将路由表汇 总操作分布到非主调度节点上进行。 本发明实施例将主要以 B所示模式进行 介绍但不局限于此。  Under the scheduling of the scheduling state machine, the distributed implementation model can be mapped to a specific running model according to a specific scheduling policy. Figure 1 shows an example of a distributed model of a link state routing protocol. The tag 22 indicates a router, and the tag 33 indicates a node. The three circles from top to bottom in the node are the three components under the distributed model: the task scheduling module, the protocol running module, and the routing table summary module. By scheduling the scheduling of the state machine, there can be several allocation modes. An allocation mode, as shown in A, under the control of the scheduling state machine, completes the task assignment of protocol running and routing table summary work on multiple nodes, each node performs protocol running and routing table summarization, then each node The routing table summary module will only complete the local routing information summary and send it to the router's global routing table. The router's global routing table is stored in the router's other memory. Another allocation mode, as shown in B, allows the primary scheduling node to perform routing table summarization. Then the primary scheduling node is also the primary summary node. In this case, the primary summary node needs to summarize the routing information of each node before delivering it to the router. Global routing table. There is also an allocation mode as shown in C. Further, under the scheduling of the routing table state machine, the routing table aggregation operation is distributed to the non-primary scheduling node. The embodiment of the present invention will be mainly described in the mode shown by B, but is not limited thereto.
请参阅图 2, 是本发明实施例路由处理方法流程图, 包括:  Referring to FIG. 2, it is a flowchart of a routing processing method according to an embodiment of the present invention, including:
Al、 进行任务调度;  Al, perform task scheduling;
在详细介绍该步骤内容前, 先介绍一下调度状态机的过程。 图 4显示了调度状态机。 调度状态机在某种程度上, 类似与 OSPF协议的 接口状态机。每个节点都将执行这个状态机。这个状态机定义了以下几种状态: "未激活"状态, 此状态下, 节点不运行链路状态路由协议; "等待"状态, 节点 可以运行链路状态路由协议但未进入到工作模式; 工作模式, 又按任务分配的 决策权区分为 "主调度"、 "备份调度"和"从调度"状态。 调度状态机在触发事件 的驱动下完成如下功能: 建立和维护分布式系统各节点之间关系; 进行主调度 节点、备份调度节点和从调度节点的选举; 进行任务分配等。 图 4中各个箭头 标志了节点在运行状态机时 ,可能的状态迁移过程。根据触发事件的不同性质 , 各个节点可能变更自己的状态,也可能仍然保持现有的状态。但始终会在所有 节点之间达成一致的选举结果。 Before describing the details of this step, let me introduce the process of scheduling the state machine. Figure 4 shows the scheduling state machine. The scheduling state machine is somewhat similar to the interface state machine with the OSPF protocol. Each node will execute this state machine. This state machine defines the following states: "inactive" state, in which the node does not run the link state routing protocol; in the "waiting" state, the node can run the link state routing protocol but does not enter the working mode; The mode, and the decision rights assigned by the task are divided into the "main scheduling", "backup scheduling" and "slave scheduling" states. The scheduling state machine performs the following functions driven by the trigger event: Establish and maintain the relationship between the nodes of the distributed system; perform election of the primary scheduling node, the backup scheduling node, and the secondary scheduling node; perform task assignment. The various arrows in Figure 4 mark the possible state transition process when the node is running the state machine. Depending on the nature of the triggering event, each node may change its state or may remain in its current state. But there will always be a consistent election result between all nodes.
如图 4 所示, 节点在任何状态下如果停止路由协议, 则变迁到"未激活" 状态, 当启动路由协议后, 由"未激活"状态变迁到"等待"状态, 启动定时器, 并开始在内部通信网络上广播心跳消息。在定时器超时后,进行主调度节点选 举, 规则是选举"处理能力"值最大的为主调度节点, 其次为备份调度节点, 其 余的为从调度节点, 当"处理能力"值相同时, 则比较其内部网路地址值, 规则 一般是选举网路地址值最大的作为主调度节点,其次为备份调度节点,其余的 为从调度节点。 备份调度节点和从调度节点的任务由主调度节点分配。  As shown in Figure 4, if the node stops the routing protocol in any state, it changes to the "inactive" state. When the routing protocol is started, it changes from the "inactive" state to the "waiting" state, starts the timer, and starts. The heartbeat message is broadcast on the internal communication network. After the timer expires, the main scheduling node is elected. The rule is to elect the main scheduling node with the highest processing power value, followed by the backup scheduling node, and the rest are slave scheduling nodes. When the processing power values are the same, Comparing the internal network address values, the rule is generally that the election network address value is the largest as the primary scheduling node, followed by the backup scheduling node, and the rest are the secondary scheduling nodes. The tasks of the backup scheduling node and the slave scheduling node are allocated by the primary scheduling node.
步骤 A1具体又可以分为以下几个步骤, 请参阅图 3, 包括:  Step A1 can be further divided into the following steps, please refer to FIG. 3, including:
Bl、 建立并维护节点间关系, 选举主调度节点、 备份调度节点和从调度 节点;  Bl, establishing and maintaining relationships between nodes, electing a primary scheduling node, a backup scheduling node, and a secondary scheduling node;
网络系统刚启动时,各个节点通过定期广播心跳消息获知彼此的存在, 并 根据其处理能力选举出主调度节点和备份调度节点,其余为从调度节点。处理 能力的信息在心跳消息中携带。此后 ,从调度节点只向主调度节点发心跳消息 , 主调度节点则在内部网络广播心跳消息。  When the network system is started, each node learns the existence of each other by periodically broadcasting heartbeat messages, and elects the primary scheduling node and the backup scheduling node according to its processing capability, and the rest are slave scheduling nodes. The processing capability information is carried in the heartbeat message. Thereafter, the scheduling node sends a heartbeat message only to the primary scheduling node, and the primary scheduling node broadcasts a heartbeat message on the internal network.
例如图 6所示的 5个节点 A、 B、 C、 D和 E, 在接收到运行 OSPF的配置 命令后, 由"未激活"状态变迁到"等待"状态, 启动定时器, 并开始在内部通信 网络上广播心跳消息。 心跳消息的格式中, 用 0 - 1位表示类型域, 2 - 3位表 示状态域, 4 - 7位表示地址域, 8 - 9位表示处理能力域。 由于当前各节点状 态都为 "等待", 心跳消息的状态域的值都为 "等待", "处理能力"域则为节点当 前节点的剩余处理能力。 通过广播心跳消息, 每个节点都获得了邻居的信息, 构成了以下的邻居列表。 For example, the five nodes A, B, C, D, and E shown in Figure 6 change from the "inactive" state to the "waiting" state after receiving the configuration command to run OSPF, start the timer, and start internally. A heartbeat message is broadcast on the communication network. In the format of the heartbeat message, the type field is represented by 0 - 1 bits, the 2 - 3 bits represent the status field, 4 - 7 bits represent the address field, and 8 - 9 bits represent the processing capability field. Since the current state of each node is "waiting", the value of the state field of the heartbeat message is "waiting", and the "processing capability" field is the node. The remaining processing power of the previous node. By broadcasting the heartbeat message, each node obtains the neighbor's information and constitutes the following neighbor list.
Figure imgf000008_0001
Figure imgf000008_0001
该表中节点 A、 B、 C、 D和 E的状态为等待, 处理能力值分别为 8、 6、 3、 2、 3。 在定时器超时后, 各个节点开始进行主调度节点选举, 规则是从获 得的邻居集合中找到 "处理能力"值最大的为主调度节点, 其次为备份调度节 点, 其余为从调度节点。 当"处理能力"值相同时, 则比较其内部网路地址值, 规则一般是选举网路地址值最大的作为主调度节点,其次为备份调度节点,其 余的为从调度节点。 于是, 节点 A 当选为主调度节点, B 当选为备份调度节 点, C、 D和 E为从调度节点。 因此, 节点 A和 B分别变迁到"主调度"状态和 "备份调度"状态, 节点 C、 D和 E均变迁到"从调度 "状态。 此后, A向内部网 路定期广播心跳消息, 其状态域为"主调度", 而^ C、 D和 E则仅向 A发送 心跳消息, B状态域为"备份调度", C、 D和 E状态域为"从调度"。  The states of nodes A, B, C, D, and E in this table are waiting, and the processing capability values are 8, 6, 3, 2, and 3, respectively. After the timer expires, each node starts the election of the primary scheduling node. The rule is to find the primary scheduling node with the highest processing power value from the obtained neighbor set, followed by the backup scheduling node, and the rest are slave scheduling nodes. When the "processing power" value is the same, the internal network address value is compared. The rule is generally that the election network address value is the largest as the primary scheduling node, the second is the backup scheduling node, and the rest is the secondary scheduling node. Thus, node A is elected as the master scheduling node, B is elected as the backup scheduling node, and C, D, and E are slave scheduling nodes. Therefore, nodes A and B transition to the "master scheduling" state and the "backup scheduling" state, respectively, and nodes C, D, and E all transition to the "slave scheduling" state. Thereafter, A periodically broadcasts a heartbeat message to the internal network, whose status field is "main scheduling", and ^C, D, and E only send heartbeat messages to A, and the B-state field is "backup scheduling", C, D, and E. The status field is "From Schedule".
当有新节点 F加入时, F节点的状态为 "等待", 它启动定时器, 并开始向 内部网络广播心跳消息。 由于 B、 C、 D和 E此时的状态为非"主调度", 它们 将忽略来自 F的状态为"等待"的心跳消息, 而此时 A状态为 "主调度", 它将 F 加入邻居列表。 另一方面, 由于 A会定期广播状态域为 "主调度"的心跳消息, 该定期时间是小于定时器的超时时间, F接收到来自 A的心跳消息后,发现内 部网络已经存在主调度节点,于是发出"发现主调度"事件,节点 F将状态由"等 待"变迁到 "从调度" , 并从此仅向 A发送心跳消息。  When a new node F joins, the state of the F node is "waiting", which starts the timer and starts broadcasting heartbeat messages to the internal network. Since B, C, D, and E are not "master scheduling" at this time, they will ignore the heartbeat message from F with the status "waiting", and the A state is "main scheduling", which will add F to the neighbor. List. On the other hand, since A periodically broadcasts a heartbeat message whose status field is "main scheduling", the periodic time is less than the timeout period of the timer. After receiving the heartbeat message from A, F finds that the primary scheduling node exists in the internal network. The "discovery master scheduling" event is then issued, node F transitions the state from "waiting" to "slave scheduling" and from then only sends a heartbeat message to A.
B2、 主调度节点进行任务分配;  B2, the main scheduling node performs task assignment;
主调度节点选举出来后, 由主调度节点开始进行任务的初始分配。该步骤 中由调度状态机进行任务分配。  After the primary scheduling node is elected, the primary scheduling node starts the initial assignment of tasks. In this step, the task is assigned by the scheduling state machine.
根据链路状态路由协议在网络中通常的应用场景,调度状态机可以采用不 同的拆分单位来执行任务分配。所说不同的拆分单位是指例如链路状态路由协 议的多虚拟专用网 VPN ( Virtual private network ) 实例中的一个、 多协议进程 中的一个或链路状态路由协议中的区域边界路由器连接的多个区域中的一个 等。 According to the common application scenario of the link state routing protocol in the network, the scheduling state machine can adopt no The same split unit is used to perform task assignment. The different split units refer to one of a virtual private network instance such as a link state routing protocol, one of a multi-protocol process, or an area border router in a link state routing protocol. One of a plurality of regions, etc.
链路状态路由协议多 VPN实例是指运行于各个 VPN下的路由协议实例, 每个实例只完成本 VPN内的路由功能, 与其他 VPN下的路由实例无关。链路 状态路由协议多协议进程是指 ,每个协议进程运行在同一自治系统下相互独立 的一部分网络,即所谓的协议路由域,在这个独立的子路由域内完成路由功能, 彼此也互不相关。区域边界路由器是链路状态路由协议对同时连接到自治系统 内多个区域的路由器的定义。链路状态路由协议为了扩展对多数量大 莫自治 系统的支持,把整个自治系统划分为多个区域。这些区域同时又被区分为骨干 区域和非骨干区域。骨干区域必须在物理上或逻辑上连通,各个非骨干区域必 须和这个骨干区域保持连接。 区域与区域之间的接合点就是区域边界路由器, 其它路由器则称为区域内路由器。区域内路由器通过运行最短路径算法完成本 区域内的路由功能,而区域边界路由器则负责将所有区域内路由信息以摘要的 形式洪泛到其它区域, 以协助区域内路由器完成区域间路由功能,链路状态路 由协议这种实现区域间路由的方法借用了距离向量路由协议中的水平分割法。 因此区域边界路由器事实上在所连接的每个区域上都运行了最短路径算法,不 同的区域都是相对独立的网络。  The link state routing protocol multi-VPN instance refers to the routing protocol instance running under each VPN. Each instance only performs the routing function in the VPN, and has nothing to do with the routing instances in other VPNs. Link state routing protocol Multi-protocol process means that each protocol process runs on a part of the same independent network under the same autonomous system, the so-called protocol routing domain. The routing function is completed in this independent sub-routing domain, and they are mutually unrelated. . A zone border router is a link state routing protocol that defines a router that is simultaneously connected to multiple zones within an autonomous system. The link state routing protocol divides the entire autonomous system into multiple regions in order to extend support for a large number of Autonomous Systems. These areas are simultaneously divided into backbone areas and non-backbone areas. The backbone area must be physically or logically connected, and each non-backbone area must be connected to this backbone area. The junction between the area and the area is the area border router, and the other routers are called the intra-area routers. The routers in the area complete the routing function in the area by running the shortest path algorithm, and the area border routers are responsible for flooding the routing information in all areas to other areas in the form of digest to help the routers in the area complete the inter-area routing function. Road State Routing Protocol This method of implementing inter-area routing borrows the horizontal splitting method in the distance vector routing protocol. Therefore, the area border router actually runs the shortest path algorithm on each of the connected areas, and the different areas are relatively independent networks.
以上描述的三种不相关性都可以成为调度状态机的任务分配算法。在以区 域边界路由器的多区域为划分的单位时, 每个处理节点运行某个特定的区域, 维护该区域内的邻居关系, 同步该区域的链路状态信息。 以多 VPN实例或多 协议进程为分布式的任务分配单位时,每一个节点可以运行若干个链路状态路 由协议进程,每一个进程都是一个独立的链路状态路由协议。在具体的实现中, 可以提供一个配置选项 , 让用户能够依据协议的具体应用场景来做最终选择。  The three kinds of irrelevance described above can be the task allocation algorithm of the scheduling state machine. When a plurality of areas of a regional border router are divided into units, each processing node runs a specific area, maintains neighbor relationships in the area, and synchronizes link state information of the area. When multiple VPN instances or multi-protocol processes are used to allocate units for distributed tasks, each node can run several link-state routing protocol processes, each of which is an independent link-state routing protocol. In a specific implementation, a configuration option can be provided to enable the user to make a final choice according to the specific application scenario of the protocol.
本发明实施例以下内容以链路状态路由协议的 OSPF协议为例进行说明, 并以区域边界路由器的多个区域分配单位进行任务分配。  The following describes the OSPF protocol of the link state routing protocol as an example, and performs task allocation by using multiple area allocation units of the area border router.
在确定处理节点间的关系, 选举出主调度节点后, "主调度"状态的主调度 节点在接收到路由控制报文时, 触发"主动任务分配"事件, 执行图 7所示的主 动任务分配操作过程; "备份调度"下的备份调度节点或 "从调度"状态下的从调 度节点在接收到路由控制报文时, 触发"被动任务分配"事件, 执行图 8所示的 被动任务分配操作过程。 After determining the relationship between the processing nodes and electing the primary scheduling node, the primary scheduling node in the "main scheduling" state triggers the "active task allocation" event when receiving the routing control message, and executes the main operation shown in FIG. The task assignment operation process; when the backup scheduling node under the "backup scheduling" or the slave scheduling node in the "scheduled" state receives the routing control message, the "passive task assignment" event is triggered, and the passive operation shown in FIG. 8 is performed. Task assignment process.
请参阅图 7, 所示的主动任务分配操作过程包括:  Please refer to Figure 7, the active task assignment operation process includes:
Cl、 接收路由控制报文;  Cl, receiving a routing control message;
C2、 判断该报文处理任务是否由本节点负责, 如果是, 转入步骤 C3 , 如 果否, 转入步骤 C4;  C2, determining whether the message processing task is responsible for the node, if yes, proceeding to step C3, if no, proceeding to step C4;
主调度节点通过在本地接口列表中查找相关信息 ,可以判断出该报文处理 任务是否由本节点负责。  By looking up the relevant information in the local interface list, the master scheduling node can determine whether the packet processing task is responsible for the node.
C3、 将处理该路由控制报文;  C3, the routing control message will be processed;
C4、 该报文处理任务是否已经被分配, 如果是, 转步骤 C6, 如果否, 转 步骤 C5;  C4, whether the message processing task has been assigned, if yes, go to step C6, if no, go to step C5;
主调度节点通过在任务分配映射表的区域列表中查找相关信息,可以判断 出该报文处理任务是否已经被分配。  The main scheduling node can find out whether the packet processing task has been allocated by searching for related information in the area list of the task allocation mapping table.
C5、 指定一个节点负责该报文处理任务, 进入步骤 C6;  C5, designating a node to be responsible for the packet processing task, and proceeding to step C6;
C6、 向对应节点发送接口信息, 通知其加入任务;  C6, sending interface information to the corresponding node, informing it to join the task;
01、 修改接口映射表信息。  01. Modify the interface mapping table information.
请参阅图 8, 所示的被动任务分配操作过程包括:  Refer to Figure 8, for the passive task assignment operation process including:
Dl、 接收路由控制报文;  Dl, receiving a routing control message;
D2、、 判断该报文处理任务是否由本节点负责, 如果是, 转入步骤 D3 , 如果否, 转入步骤 D4。  D2. Determine whether the message processing task is responsible for the node. If yes, go to step D3. If no, go to step D4.
备份调度节点或从调度节点通过在本地接口列表中查找相关信息,可以判 断出该报文处理任务是否由本节点负责。  By backing up the scheduling node or from the scheduling node by looking up the relevant information in the local interface list, it can be determined whether the packet processing task is responsible for the node.
D3、 将处理该路由控制报文;  D3. The routing control message will be processed.
D4、 丢弃该路由控制4艮文。  D4. Discard the routing control.
下面结合图 9 所示的一个应用网络实例进行具体说明。 图 9 包括区域 ( areaO ) 内路由器 RT1、 RT2和区域 real ) 内路由器 RT4, 还包括区域边 界路由器 RT3 , 另外包括网络 nl到 n6。 区域边界路由器 RT3 , 通过三个接口, 分别为 ifO、 ifl和 if2连接到 2个 area中 , 分别为 areaO和 areal。 其中 ifO、 ifl 依次与 areaO中的 n3和 n4相连, if2 与 areal中的路由器 RT4相连。 RT3由 三个节点组成,分别为 A、 B和 C (图中未示), 当前状态依次为"主调度"、 "备 份调度 "以及 "从调度", 即八、 B和 C分别为主调度节点、 备份调度节点以及 从调度节点。 The following is specifically described in conjunction with an application network example shown in FIG. Figure 9 includes the router RT4 in the area (areaO), RT1, RT2 and area real), and also includes the area border router RT3, and additionally includes networks n1 to n6. The area border router RT3 is connected to two areas through three interfaces, ifO, ifl and if2, respectively, areaO and areal. Where ifO, ifl It is connected to n3 and n4 in areaO in turn, and if2 is connected to router RT4 in areal. RT3 consists of three nodes, A, B, and C (not shown). The current state is "main scheduling", "backup scheduling", and "slave scheduling", that is, eight, B, and C are the main scheduling. Nodes, backup scheduling nodes, and slave scheduling nodes.
一种可能的任务分配结果是: C负责 areaO的任务, B负责 areal的任务。 具体操作如下: 初始时, 各节点及转发平面的数据如图 10所示。 转发平面接 到来自接口 i«)的 OSPF报文, 它根据接口映射表(当前为空), 选取默认方式 向整个分布式系统广播该报文,于是 A、B和 C都接收到接口 i«)发来的 OSPF 报文, 其带有 areaO信息。 B和 C在自己的本地接口列表中没有找到 i«)信息, 判断该任务不由自己负责, 于是丢弃 OSPF报文。 A首先也在自己的本地接口 列表中没有找到 ifO信息, 判断该任务不由自己负责, 然后, A检查该任务是 否已经分配, 它在任务分配映射表的区域列表中 (此时为空)寻找 areaO, 但 未找到, 于是判断该任务还未分配, 则将 areaO加入到任务分配映射表的区域 列表中,并在按 "处理能力"顺序排列的节点队列中推出当前剩余处理能力最大 的节点 C, 这样得到分配结果为指定 C负责 areaO任务。 A将进行如下操作: 在任务分配映射表的区域列表的 areaO对应的节点填入 C , 在接口映射表中设 置接口 ifO对应的端口为 C, 向 C发送消息, 通知其加入新任务 i«)。 于是得到 图 11所示的结果。  One possible task assignment result is: C is responsible for the task of areaO, and B is responsible for the tasks of areal. The specific operations are as follows: Initially, the data of each node and the forwarding plane is as shown in FIG. The forwarding plane receives the OSPF packet from the interface i«). According to the interface mapping table (currently empty), it selects the default mode to broadcast the packet to the entire distributed system, so A, B and C both receive the interface i« ) OSPF packets sent with areaO information. B and C do not find the i«) information in their local interface list, and judge that the task is not responsible for themselves, so the OSPF packet is discarded. A first does not find the ifO information in the list of its own local interface, and judges that the task is not responsible for itself. Then, A checks whether the task has been allocated. It searches for the areaO in the area list of the task allocation mapping table (this time is empty). , but not found, and then judge that the task has not been assigned, then add areaO to the area list of the task allocation mapping table, and push out the node C with the largest remaining processing capacity in the node queue arranged in the order of "processing power". This results in the assignment result for the specified C responsible for the areaO task. A will perform the following operations: Fill in C corresponding to the areaO of the area list of the task allocation mapping table, set the port corresponding to interface ifO to C in the interface mapping table, send a message to C, and notify it to join the new task i«) . Thus, the result shown in Fig. 11 is obtained.
在这个过程中, A还负责定期地向转发平面传递接口映射表。 如图 11所 示。转发平面在接收到 OSPF报文时将根据报文来源的接口以及接口映射表的 内容采用单播方式将报文发送到对应的节点。 因此, 当转发平面再次向控制平 面发送来自接口 i«)的报文时, 将直接把报文发给 C, 从而减小了 A和 B上的 处理开销。  In this process, A is also responsible for periodically passing the interface mapping table to the forwarding plane. As shown in Figure 11. When receiving the OSPF packet, the forwarding plane sends the packet to the corresponding node in unicast mode according to the interface and the interface mapping table. Therefore, when the forwarding plane sends the message from the interface i«) to the control plane again, the message is sent directly to C, which reduces the processing overhead on A and B.
同样地, 当 A接收到接口 if2发来的 OSPF报文, 其带有 areal信息。 B 和 C仍做与前面相同的处理。 A也做类似的处理, 将任务分配映射表的区域 列表中加入 areal , 并在节点队列中推出当前剩余处理能力最大的节点 B, 得 到分配结果为指定 B负责 areal任务。 A为此进行如下操作: 在任务分配映射 表的区域列表的 areal对应的节点填入 B, 在接口映射表中设置接口 if2对应 的端口为 B, 向 B发送消息, 通知其加入新任务 if2。 当 A接收到接口 ifl发来的 OSPF报文, 其带有 areaO信息。 B和 C仍做 与前面相同的处理。 A由于在任务分配映射表的区域列表中找到 areaO , 得知 areaO任务已经分配给 C,于是直接在接口映射表中设置接口 ifl对应的端口为 C, 向 C发送消息, 通知其加入新任务 ifl。 于是得到图 12的结果。 Similarly, when A receives an OSPF packet from interface if2, it has areal information. B and C still do the same processing as before. A also performs similar processing. Adds the area list of the task allocation mapping table to the areal, and pushes the node B with the largest remaining processing capacity in the node queue, and obtains the allocation result as the designated B responsible for the areal task. A performs the following operations for this: The node corresponding to the areal of the area list of the task allocation mapping table is filled in B, and the port corresponding to the interface if2 is set to B in the interface mapping table, and a message is sent to B to notify it to join the new task if2. When A receives an OSPF packet from the interface ifl, it carries the areaO information. B and C still do the same processing as before. A finds the areaO in the area list of the task allocation mapping table, and knows that the areaO task has been assigned to C, so directly set the port corresponding to the interface ifl to C in the interface mapping table, send a message to C, and notify it to join the new task ifl. . The result of Fig. 12 is thus obtained.
这样, C和 B分别被分配到任务 areaO和 areal ,其含有的接口分别是 i«)、 ifl和 if2。 来自接口 i«)和 ifl的报文将直接发送到节点 C, 来自接口 if2的报 文将直接发送到节点 B。  Thus, C and B are assigned to tasks areaO and areal respectively, and the interfaces they contain are i«), ifl, and if2. Messages from interfaces i«) and ifl are sent directly to node C, and messages from interface if2 are sent directly to node B.
概括而言,上面内容描述了本发明实施例进行任务分配的方法, 它通过节 点在"主调度"状态下执行主动任务分配, 在"备份调度"或"从调度 "状态下执行 被动任务分配,将任务分配算法集中到主调度节点完成, 并保证相应的任务会 从转发平面直接发送到对应的处理节点上,这样,各个节点将只接收到自己负 责的 area内的路由信息, 然后独立进行路由计算。  In summary, the above description describes a method for task assignment in the embodiment of the present invention, which performs active task assignment in a "master scheduling" state, and performs passive task assignment in a "backup scheduling" or "slave scheduling" state. The task assignment algorithm is centralized to the main scheduling node to complete, and the corresponding task is directly sent from the forwarding plane to the corresponding processing node, so that each node will only receive the routing information in the area that it is responsible for, and then independently route. Calculation.
B3、 选举并广播路由表的主汇总节点。  B3. Elect and broadcast the main summary node of the routing table.
主调度节点根据接收心跳消息收集到的各个节点的处理能力,选出主汇总 节点、 备份汇总节点和从汇总节点, 并通过内部消息将其发给各个节点。  The primary scheduling node selects the primary summary node, the backup summary node, and the secondary summary node according to the processing capabilities of each node collected by the heartbeat message, and sends it to each node through an internal message.
这里采用路由表状态机进行调度。路由表状态机的调度算法取决于调度状 态机的算法。 路由表状态机, 如图 5所示, 它与调度状态机类似, 将各节点划 分为: "等待"状态, 节点未进入工作模式, 即不需要进行路由表汇总的相关操 作。 在工作模式下, 按任务分配的决策权将各个节点状态分为 "主汇总"、 "备 份汇总 "以及 "从汇总"状态。 节点在任何状态下如果停止路由协议, 则变迁到 "未激活"状态, 当启动路由协议后, 由"未激活"状态变迁到"等待"状态, 启动 定时器, 并开始在内部通信网络上广播心跳消息。 在定时器超时后, 进行路由 汇总关系确定。  Here, the routing table state machine is used for scheduling. The scheduling algorithm of the routing table state machine depends on the algorithm of the scheduling state machine. The routing table state machine, as shown in Figure 5, is similar to the scheduling state machine, and divides each node into: "waiting" state, the node does not enter the working mode, that is, the related operations of the routing table summary are not required. In the working mode, the decision status of the task assignment is divided into the "main summary", "backup summary" and "from summary" status. If the node stops the routing protocol in any state, it transitions to the "inactive" state. When the routing protocol is started, it changes from the "inactive" state to the "waiting" state, starts the timer, and starts broadcasting on the internal communication network. Heartbeat message. After the timer expires, the route summary relationship is determined.
路由汇总关系确定过程,指各节点的路由状态由"等待"状态变迁到工作模 式下的三种状态之一, 即路由表状态机的初始化过程,一般是与调度状态机初 始化过程同步的。在调度状态机的主调度节点选举过程中 ,各个节点分别由"等 待"状态变迁到调度的三种状态之一,作为触发该操作的调度状态机"定时器超 时"事件以及"发现主调度"事件也是路由表状态机的触发事件。 相应地, 调度 状态机中由"等待"状态变迁到"主调度"状态的节点, 其路由表状态机也将由 "等待 "状态变迁到 "主汇总"状态。 也就是说, 路由表状态机的初始化与调度状 态机的初始化相同, 默认进行主调度的节点也负责路由表汇总,也就是主调度 节点同时也是主汇总节点。 The routing summary relationship determining process refers to one of the three states in which the routing state of each node transitions from the "waiting" state to the working mode, that is, the initialization process of the routing table state machine is generally synchronized with the scheduling state machine initialization process. During the election of the main scheduling node of the scheduling state machine, each node transitions from the "waiting" state to one of the three states of scheduling, as the scheduling state machine "timer timeout" event triggering the operation and "discovering the main scheduling" The event is also a trigger event for the routing table state machine. Correspondingly, the node in the scheduling state machine that transitions from the "waiting" state to the "master scheduling" state, the routing table state machine will also be The "Wait" state transitions to the "Main Summary" state. That is to say, the initialization of the routing table state machine is the same as the initialization of the scheduling state machine. The node that performs the primary scheduling by default is also responsible for the routing table summary, that is, the primary scheduling node is also the primary summary node.
A2、 各节点运行链路状态路由协议, 进行路由计算, 得到局部路由表; 各个节点将按照所分配的任务在本地运行链路状态路由协议,发现与保持 邻居关系, 与各个邻居同步链路状态信息,应用最短路径优先算法进行路由计 算, 得到局部路由表。  A2. Each node runs a link state routing protocol, performs route calculation, and obtains a local routing table. Each node runs a link state routing protocol locally according to the assigned task, discovers and maintains the neighbor relationship, and synchronizes the link state with each neighbor. Information, applying the shortest path first algorithm for routing calculation, and obtaining a local routing table.
A3、 进行路由汇总。  A3. Perform route summarization.
各节点按路由表状态机确定的路由汇总关系进行路由汇总。  Each node performs route summarization according to the route summary relationship determined by the routing table state machine.
一般由各个从汇总节点将局部路由 给主汇总节点,主汇总节点进行路 由表的汇总, 得到汇总结果, 并传递一份给备份汇总节点。  Generally, each slave summary node routes the route to the primary summary node, and the primary summary node performs summary of the routing table to obtain the summary result, and delivers a copy to the backup summary node.
当以链路状态路由协议区域边界路由器的多区域或链路状态路由协议多 进程方式来执行调度状态机时, 由于各个进程的路由表都在同一个范围内有 效, 因此需要将各个局部路由表汇总起来构成完整的路由协议的全局路由表。 各个从汇总节点向主汇总节点发送局部路由表,由主汇总节点汇集所有路由计 算结果后形成路由协议的全局路由表, 并下发至路由器的全局路由表。  When the scheduling state machine is executed in the multi-zone or link state routing protocol multi-process mode of the link state routing protocol area border router, since the routing tables of the respective processes are all in the same range, each local routing table needs to be A global routing table that aggregates to form a complete routing protocol. Each of the slave routing nodes sends a local routing table to the primary summary node, and the primary summary node aggregates all the routing calculation results to form a global routing table of the routing protocol, and delivers the routing table to the global routing table of the router.
虽然一般默认主调度节点也就是主汇总节点, 负责路由表的汇总,但在路 由表状态机调度下, 主汇总节点也可以与主调度节点不是同一个节点, 即任务 调度可以在一个节点执行, 路由表汇总可以在不同的另一个节点运行。  Although the default primary scheduling node is the primary summary node, which is responsible for the summary of the routing table, under the routing table state machine scheduling, the primary summary node may also be the same node as the primary scheduling node, that is, the task scheduling may be performed at one node. The routing table summary can be run on a different node.
还需要说明的是,如果以链路状态路由协议多实例为调度单位时, 由于每 个协议实例在各自 VPN范围内有效, 这时每个节点可以独立完成各自的路由 表汇总, 此时相当于各节点都是主汇总状态。  It should also be noted that if the link state routing protocol multiple instance is used as the scheduling unit, since each protocol instance is valid in the respective VPN scope, each node can independently complete the summary of the respective routing tables, which is equivalent to Each node is a master summary state.
路由表的汇总还可能会考虑路由协议的一些特定要求,例如当以 OSPF区 域为分布式的执行单位时, 需要考虑对 OSPF虚链路的支持。 对于配置了虚链 路的 OSPF中继区,其 3类和 4类链路状态公告 LSA( Link State Advertisement ) 需要更新骨干区域的路由计算结果, 因此对于这两类 LSA可以先在本地计算, 成为局部路由表的一部分, 一起发送给主汇总节点按照协议规则进行汇总,其 具体过程依赖于路由协议的实现。  The summary of the routing table may also consider some specific requirements of the routing protocol. For example, when the OSPF area is a distributed execution unit, support for the OSPF virtual link needs to be considered. For the OSPF trunk area configured with the virtual link, the Link State Advertisement (LSA) of the Type 3 and Type 4 link status needs to update the route calculation result of the backbone area. Therefore, the two types of LSAs can be calculated locally before. A part of the local routing table is sent together to the main summary node for aggregation according to the protocol rules, and the specific process depends on the implementation of the routing protocol.
对各局部路由表的汇总将形成路由协议的全局路由表,此时链路状态路由 协议需要将其下发到路由器的全局路由表中,路由器的全局路由表综合从不同 路由协议得到的路由信息,按照一定的规则选出最优路由,形成数据平面指导 报文转发的转发信息库, 并下发到转发平面。 The summary of each local routing table will form a global routing table of the routing protocol, and the link state routing at this time The protocol needs to be sent to the global routing table of the router. The global routing table of the router integrates the routing information obtained from different routing protocols, and selects the optimal route according to certain rules to form a forwarding information base for the data plane to guide the packet forwarding. And sent to the forwarding plane.
上述内容伴细介绍了本发明实施例的路由处理方法,相应的,本发明实施 例提供一种路由处理器。  The foregoing describes the routing processing method in the embodiment of the present invention. Correspondingly, the embodiment of the present invention provides a routing processor.
请参阅图 13 , 为本发明实施例路由处理器结构示意图。 该路由处理器包 括任务调度模块 100、 协议运行模块 200和路由汇总模块 300。  Please refer to FIG. 13, which is a schematic structural diagram of a routing processor according to an embodiment of the present invention. The route processor includes a task scheduling module 100, a protocol execution module 200, and a route summary module 300.
其中, 任务调度模块 100, 用于负责发现并维护与其他路由处理器之间的 连接关系, 并根据各路由处理器的处理能力进行任务分配。  The task scheduling module 100 is configured to discover and maintain a connection relationship with other routing processors, and perform task allocation according to processing capabilities of each routing processor.
协议运行模块 200, 用于根据所分配的任务运行基本的链路状态路由协 议, 进行路由计算, 得到路由计算结果, 即局部路由表。  The protocol running module 200 is configured to run a basic link state routing protocol according to the assigned task, perform route calculation, and obtain a route calculation result, that is, a local routing table.
路由汇总模块 300, 用于汇集各个路由处理器进行路由计算所得的局部路 由表, 得到完整的路由协议的全局路由表。  The route summary module 300 is configured to collect a local routing table obtained by routing calculation by each route processor, to obtain a global routing table of the complete routing protocol.
请参阅图 14,路由处理器的任务调度模块 100进一步包括信息单元 1001、 调度选举单元 1002、 路由汇总选举单元 1003和任务分配单元 1004。  Referring to Figure 14, the task scheduling module 100 of the routing processor further includes an information unit 1001, a scheduling election unit 1002, a route summary election unit 1003, and a task assignment unit 1004.
信息单元 1001 , 用于存储路由处理器自身处理能力值信息和获取其他路 由处理器的处理能力值信息;各个路由处理器间通过定期广播心跳消息获知彼 此的存在, 处理能力值信息在心跳消息中携带, 信息单元 1001通过心跳消息 获取其他路由处理器的处理能力值信息。  The information unit 1001 is configured to store the routing processor's own processing capability value information and obtain processing capability value information of other routing processors; each routing processor learns the existence of each other by periodically broadcasting a heartbeat message, and the processing capability value information is in the heartbeat message. Carrying, the information unit 1001 obtains the processing capability value information of the other route processors through the heartbeat message.
调度选举单元 1002, 用于根据信息单元 1001存储的自身路由处理器处理 能力值信息和获取的其他路由处理器的处理能力值信息选举进行任务分配的 路由处理器。选举规则是从获得的邻居集合中找到处理能力值最大的作为进行 任务分配的主调度路由处理器,其次为备份调度路由处理器,其余为从调度路 由处理器。 当处理能力值相同时, 则比较其内部网路地址值。 规则一般是选举 网路地址值最大的作为主调度路由处理器,其次为备份调度路由处理器,其余 的为从调度路由处理器。  The scheduling election unit 1002 is configured to elect a routing processor for performing task allocation according to the self-routing processor processing capability value information stored by the information unit 1001 and the acquired processing capability value information of other routing processors. The election rule is to find the main scheduling route processor with the highest processing capacity value for task assignment from the obtained neighbor set, followed by the backup scheduling route processor, and the rest is the slave routing processor. When the processing power values are the same, the internal network address values are compared. The rule is generally that the election network address value is the largest as the primary scheduling route processor, followed by the backup scheduling route processor, and the rest is the slave scheduling route processor.
路由汇总选举单元 1003 , 用于根据信息单元 1001存储的自身处理能力值 信息和获取的其他路由处理器的处理能力值信息选举进行路由汇总的路由处 理器。选举规则一般也是将处理能力值最大的作为进行路由汇总的主汇总路由 处理器, 其次为备份汇总路由处理器, 其余为从汇总路由处理器。 一般来说, 调度选举单元 1002选举的主调度路由处理器和路由汇总选举单元 1003选举的 主汇总路由处理器是同一个路由处理器, 但是路由汇总选举单元 1003选举的 主汇总路由处理器也可以与主调度路由处理器不是同一个路由处理器。 The route summary selection unit 1003 is configured to elect, according to the self-processing capability value information stored by the information unit 1001 and the obtained processing capability value information of other route processors, a route processor that performs route summarization. The election rule is generally the primary summary route for routing summaries with the largest processing power value. The processor, followed by the backup summary route processor, and the rest is the summary route processor. Generally, the primary scheduling route processor elected by the scheduling election unit 1002 and the primary summary routing processor elected by the route summary election unit 1003 are the same routing processor, but the primary summary routing processor elected by the route summary election unit 1003 may also Not the same route processor as the main dispatch route processor.
任务分配单元 1004, 用于路由处理器作为主调度路由处理器时进行任务 分配, 可以将任务分配给其他路由处理器。  The task allocating unit 1004 is configured to perform task allocation when the routing processor is used as the main scheduling route processor, and the task can be assigned to other routing processors.
路由处理器的任务调度模块 100进一步包括: 第一定时器单元 1005和调 度状态机单元 1006。  The task scheduling module 100 of the routing processor further includes: a first timer unit 1005 and a scheduling state machine unit 1006.
第一定时器单元 1005 , 用于设置定时。 调度状态机单元 1006, 用于将路 由处理器的任务状态进行划分, 并指示路由处理器执行不同操作, 当路由处理 器进入等待状态并在第一定时器单元 1005启动定时后, 调度状态机单元 1006 通知信息单元 1001获取其他路由处理器的处理能力值信息, 当第一定时器单 元 1005设置的定时超时后, 调度状态机单元 1006触发调度选举单元 1002进 行选举, 并指示路由处理器被选举为进行任务分配时进入主调度状态, 未被选 举为进行任务分配时进入备份调度状态或从调度状态。  The first timer unit 1005 is configured to set timing. The scheduling state machine unit 1006 is configured to divide the task state of the routing processor, and instruct the routing processor to perform different operations. When the routing processor enters a waiting state and starts timing at the first timer unit 1005, the scheduling state machine unit is scheduled. The notification information unit 1001 acquires the processing capability value information of the other routing processors. After the timing set by the first timer unit 1005 times out, the scheduling state machine unit 1006 triggers the scheduling election unit 1002 to perform the election, and instructs the routing processor to be elected as When the task is assigned, the user enters the main scheduling state, and is not elected to enter the backup scheduling state or the slave scheduling state when performing task assignment.
路由处理器的任务调度模块 100进一步包括: 第二定时器单元 1007和路 由表状态机单元 1008。  The task scheduling module 100 of the routing processor further includes: a second timer unit 1007 and a routing table state machine unit 1008.
第二定时器单元 1007, 用于设置定时。 路由表状态机单元 1008, 用于将 路由处理器的路由汇总状态进行划分, 并指示路由处理器执行不同操作, 当路 由处理器进入等待状态并在第二定时器单元 1007启动定时后, 路由表状态机 单元 1008通知信息单元 1001获取其他路由处理器的处理能力值信息,当第二 定时器单元 1007设置的定时超时后,路由表状态机单元 1008触发路由汇总选 举单元 1003进行选举, 并指示路由处理器被选举为进行路由汇总时进入主汇 总状态, 未被选举为进行路由汇总时进入备份汇总状态或从汇总状态。  The second timer unit 1007 is configured to set the timing. The routing table state machine unit 1008 is configured to divide the route summary state of the route processor, and instruct the route processor to perform different operations. When the route processor enters the waiting state and starts timing at the second timer unit 1007, the routing table The state machine unit 1008 notifies the information unit 1001 to acquire the processing capability value information of the other route processors. When the timing set by the second timer unit 1007 times out, the routing table state machine unit 1008 triggers the route summary election unit 1003 to perform the election and indicates the route. The processor is elected to enter the primary summary state when performing route summarization, and is not elected to perform backup summary status or summary status when performing route summarization.
路由处理器的任务调度模块 100中的任务分配单元 1004进一步包括: 判 断单元 10041和处理单元 10042。 判断单元 10041, 用于接收报文后, 根据接 口列表信息判断报文处理任务是否属于本路由处理器负责; 处理单元 10042, 用于在判断单元 10041判断出不属于本路由处理器负责时,指定负责该报文处 理任务的路由处理器, 并修改接口映射表信息。 本发明实施例还提供一种路由器。 请参阅图 15, 为本发明实施例路由器 结构示意图。 The task assignment unit 1004 in the task scheduling module 100 of the route processor further includes: a determination unit 10041 and a processing unit 10042. The determining unit 10041 is configured to determine, according to the interface list information, whether the packet processing task belongs to the local routing processor, and the processing unit 10042 is configured to: when the determining unit 10041 determines that the routing processor is not responsible for the routing processor, The routing processor responsible for the packet processing task and modifying the interface mapping table information. The embodiment of the invention further provides a router. Please refer to FIG. 15, which is a schematic structural diagram of a router according to an embodiment of the present invention.
图 15中是以路由器含有 3个路由处理器 60、 70和 80举例说明但不局限 于此, 路由器可能含有多个路由处理器。 该路由器的各路由处理器与图 13所 介绍的路由处理器相同, 包括任务调度模块 100、 协议运行模块 200和路由汇 总模块 300。  In Figure 15, the router contains three routing processors 60, 70, and 80, but is not limited thereto. The router may contain multiple routing processors. The routing processors of the router are the same as the routing processors described in FIG. 13, and include a task scheduling module 100, a protocol running module 200, and a routing summary module 300.
其中, 任务调度模块 100, 用于负责发现并维护与其他路由处理器之间的 连接关系, 并根据各路由处理器的处理能力值进行任务分配。 协议运行模块 200, 用于根据所分配的任务运行基本的链路状态路由协议, 进行路由计算, 得到局部路由表。 路由汇总模块 300, 用于将路由计算结果进行路由汇总, 可 以汇集各个路由处理器进行路由计算所得的局部路由表,从而形成完整的路由 协议的全局路由表。 各路由处理器的任务调度模块 100 进一步包括信息单元 1001、 调度选举单元 1002、 路由汇总选举单元 1003、 任务分配单元 1004、 第 一定时器单元 1005、调度状态机单元 1006、第二定时器单元 1007和路由表状 态机单元 1008。 任务调度模块 100中的任务分配单元 1004进一步包括判断单 元 10041和处理单元 10042。 这些单元的功能与前面所介绍的内容相同, 此处 不再详述。  The task scheduling module 100 is configured to discover and maintain a connection relationship with other routing processors, and perform task allocation according to processing capability values of the routing processors. The protocol running module 200 is configured to run a basic link state routing protocol according to the assigned task, perform route calculation, and obtain a local routing table. The route summary module 300 is configured to perform route summarization on the route calculation result, and may collect a local routing table obtained by routing calculation by each route processor, thereby forming a global routing table of the complete routing protocol. The task scheduling module 100 of each routing processor further includes an information unit 1001, a scheduling election unit 1002, a route summary election unit 1003, a task allocation unit 1004, a first timer unit 1005, a scheduling state machine unit 1006, and a second timer unit 1007. And routing table state machine unit 1008. The task assignment unit 1004 in the task scheduling module 100 further includes a decision unit 10041 and a processing unit 10042. The functions of these units are the same as those described above and will not be described in detail here.
综上所述,现有技术中的链路状态路由协议运行模式因为集中在单个路由 处理器上, 受路由处理器本身处理能力的限制, 无法实现链路状态路由协议的 扩展, 而本发明实施例方案是: 建立网络中各节点间的连接, 对各节点进行任 务调度;各节点根据所述调度的任务运行链路状态路由协议,并进行路由计算, 得到路由计算结果; 获取各节点的所述路由计算结果并进行路由汇总。 因为本 发明实施例的运行模式下,可以将链路状态路由协议的任务调度、协议执行和 路由汇总操作动态分布到各节点即各路由处理器上,所以能充分利用各节点的 资源, 从而实现了链路状态路由协议的扩展。  In summary, the link state routing protocol operating mode in the prior art is concentrated on a single routing processor, and is limited by the processing capability of the routing processor itself, and cannot implement the extension of the link state routing protocol, and the implementation of the present invention The example solution is: establishing a connection between nodes in the network, performing task scheduling on each node; each node runs a link state routing protocol according to the scheduled task, and performs route calculation to obtain a route calculation result; The routing calculation results are summarized and route summarization is performed. Because the operation mode of the embodiment of the present invention can dynamically distribute the task scheduling, protocol execution, and route summary operations of the link state routing protocol to each node, that is, each route processor, so that the resources of each node can be fully utilized, thereby realizing An extension of the link state routing protocol.
进一步的, 将链路状态路由协议的三个功能动态的分布到各个节点上,可 以具有较大的容错能力。如果分布式系统的某个节点出现故障,或者某个节点 的协议运行过程中, 其网络出现较大震荡时, 能够隔离对它节点的影响。  Further, the three functions of the link state routing protocol are dynamically distributed to each node, which can have greater fault tolerance. If a node of a distributed system fails, or a node's protocol runs during a large oscillation, it can isolate the impact on its nodes.
以上对本发明实施例所提供的一种路由处理方法、路由处理器及路由器进 了阐述,以上实施例的说明只是用于帮助理解本发明实施例的方法及其核心思 想; 同时, 对于本领域的一般技术人员, 依据本发明实施例的思想, 在具体实 施方式及应用范围上均会有改变之处, 综上所述,本说明书内容不应理解为对 本发明的限制。 The foregoing provides a route processing method, a route processor, and a router provided by an embodiment of the present invention. It is to be noted that the description of the above embodiments is only for helping to understand the method and the core idea of the embodiments of the present invention. Meanwhile, for the person skilled in the art, according to the idea of the embodiment of the present invention, in the specific implementation manner and application scope There are variations, and the description is not to be construed as limiting the invention.

Claims

权 利 要 求 Rights request
1、 一种路由处理方法, 其特征在于, 包括:  A route processing method, comprising:
建立和维护网络中节点间的连接, 对节点进行任务调度;  Establish and maintain connections between nodes in the network, and schedule tasks for nodes;
节点根据所述调度的任务运行链路状态路由协议, 并进行路由计算,得到 路由计算结果;  The node runs the link state routing protocol according to the scheduled task, and performs route calculation to obtain a route calculation result.
获取节点的所述路由计算结果并进行路由汇总。  Obtain the route calculation result of the node and perform route summarization.
2、 根据权利要求 1所述的路由处理方法, 其特征在于, 所述对节点进行 任务调度具体为:  The route processing method according to claim 1, wherein the task scheduling of the pair of nodes is specifically:
根据各节点的处理能力值信息确定进行任务分配的节点和进行路由汇总 的节点;  Determining a node for performing task assignment and a node for performing route summarization according to processing capability value information of each node;
由所述确定进行任务分配的节点分配各节点的任务。  The nodes that perform the task assignment are assigned tasks for each node.
3、 根据权利要求 2所述的路由处理方法, 其特征在于: 所述根据各节点 的处理能力值信息确定进行任务分配的节点和进行路由汇总的节点具体为: 获取网络中广播的携带节点处理能力值信息的心跳消息 ,根据所述处理能 力值信息,选举处理能力值最大的节点作为进行任务分配的节点和进行路由汇 总的节点。  The method for processing a route according to claim 2, wherein: determining, according to the processing capability value information of each node, a node that performs task assignment and a node that performs route summarization are: acquiring a mobile node that is broadcasted in the network. The heartbeat message of the capability value information is based on the processing capability value information, and the node with the highest processing capability value is used as a node for performing task assignment and a node for performing route summarization.
4、 根据权利要求 2所述的路由处理方法, 其特征在于: 所述根据各节点 的处理能力值信息确定进行任务分配的节点由调度状态机控制 ,控制过程具体 为:  The route processing method according to claim 2, wherein: the node that determines the task assignment according to the processing capability value information of each node is controlled by the scheduling state machine, and the control process is specifically:
指示进入等待状态的节点在启动定时器后广播携带节点状态信息和处理 能力值信息的心跳消息,在定时器超时后,触发确定进行任务分配的节点的选 举过程,选举出处理能力值最大的节点作为进行任务分配的节点, 并指示所述 处理能力值最大的节点进入主调度状态;指示所述处理能力值第二的节点作为 备份调度状态,其余节点作为从调度状态; 所述备份调度状态和从调度状态的 节点只向主调度状态的节点发送心跳消息。  The node that enters the waiting state broadcasts a heartbeat message carrying the node state information and the processing capability value information after the timer is started. After the timer expires, the election process of determining the node for performing task assignment is triggered, and the node with the largest processing capability value is elected. As a node for performing task assignment, indicating that the node with the highest processing capability value enters a primary scheduling state; indicating that the node with the second processing capability value is the backup scheduling state, and the remaining nodes are the slave scheduling states; The heartbeat message is sent only from the node in the scheduling state to the node in the primary scheduling state.
5、 根据权利要求 2所述的路由处理方法, 其特征在于: 所述根据各节点 的处理能力值信息确定进行路由汇总的节点由路由表状态机控制,控制过程具 体为:  The routing processing method according to claim 2, wherein: the node that performs route summarization according to the processing capability value information of each node is controlled by a routing table state machine, and the control process is:
指示进入等待状态的节点在启动定时器后广播携带节点状态信息和处理 能力值信息的心跳消息, 在定时器超时后, 触发路由汇总节点的选举过程, 选 举出处理能力值最大的节点作为进行路由汇总的节点,并指示所述处理能力值 最大的节点进入主调度状态,指示所述处理能力值第二的节点作为备份调度状 态,其余节点作为从汇总状态,从汇总状态的节点只向主汇总状态的节点发送 心跳消息。 Instructing the node entering the waiting state to broadcast the carrying node status information and processing after starting the timer The heartbeat message of the capability value information, after the timer expires, triggers the election process of the route summary node, elects the node with the highest processing capability value as the node that performs route summarization, and indicates that the node with the highest processing capability value enters the main scheduling state. And indicating that the node with the second processing capability value is in the backup scheduling state, and the remaining nodes are sent from the summary state, and the node in the summary state only sends the heartbeat message to the node in the primary summary state.
6、 根据权利要求 2所述的路由处理方法, 其特征在于, 所述确定进行任 务分配的节点分配各节点的任务具体为:  The routing processing method according to claim 2, wherein the determining the task of assigning each node by the node performing task assignment is specifically:
确定进行任务分配的节点根据不同拆分单位分配各节点的任务,所述不同 拆分单位为链路状态路由协议的多虚拟专用网实例中的一个、多协议进程中的 一个或区域边界路由器连接的多个区域中的一个。  Determining that the node performing task assignment allocates tasks of each node according to different split units, one of the multiple virtual private network instances of the link state routing protocol, one of the multi-protocol processes, or one of the area border router connections. One of the multiple regions.
7、 根据权利要求 2或 6所述的路由处理方法, 其特征在于, 所述由确定 进行任务分配的节点分配各节点的任务具体为:  The routing processing method according to claim 2 or 6, wherein the task of assigning each node by the node that determines the task assignment is specifically:
所述确定出的进行任务分配的节点接收报文后, 通过查询接口列表信息, 若判断出所述报文不属于本节点负责, 则指定负责该报文处理任务的节点, 并 修改接口映射表信息。  After the determined node that receives the task receives the message, the node list information is queried, and if it is determined that the message does not belong to the node, the node responsible for the message processing task is specified, and the interface mapping table is modified. information.
8、 根据权利要求 2所述的路由处理方法, 其特征在于, 所述获取节点的 路由计算结果并进行路由汇总具体为:  The route processing method according to claim 2, wherein the obtaining the route calculation result of the node and performing route summarization is specifically:
各节点将进行路由计算结果的局部路由表发送到所述确定出的进行路由 汇总的节点, 所述进行路由汇总的节点对接收的所述局部路由表进行路由汇 总, 得到全局路由表。  Each node sends a local routing table that performs routing calculation results to the determined node for performing route summarization, and the node that performs route summarization performs route summing on the received local routing table to obtain a global routing table.
9、 一种路由处理器, 其特征在于, 包括:  9. A routing processor, comprising:
任务调度模块, 用于进行路由处理器间的任务调度;  a task scheduling module, configured to perform task scheduling between routing processors;
协议运行模块, 用于根据所述调度的任务运行链路状态路由协议, 并进行 路由计算, 得到路由计算结果;  a protocol running module, configured to run a link state routing protocol according to the scheduled task, and perform route calculation to obtain a route calculation result;
路由汇总模块, 用于将路由计算结果进行路由汇总。  A route summary module, configured to perform route summarization on route calculation results.
10、根据权利要求 9所述的路由处理器, 其特征在于, 所述任务调度模块 进一步包括:  The route processor according to claim 9, wherein the task scheduling module further comprises:
信息单元,用于存储路由处理器自身处理能力信息和获取其他路由处理器 的处理能力信息; 调度选举单元,用于根据信息单元存储的路由处理器自身处理能力信息和 获取的其他路由处理器的处理能力信息选举进行任务分配的路由处理器; 路由汇总选举单元,用于根据信息单元存储的节点处理能力信息和获取的 其他路由处理器的处理能力信息选举进行路由汇总的路由处理器; An information unit, configured to store routing processor own processing capability information and obtain processing capability information of other routing processors; a scheduling election unit, configured to elect a routing processor for performing task allocation according to the routing processor's own processing capability information stored by the information unit and the obtained processing capability information of the other routing processor; and a route summary selecting unit for storing according to the information unit The node processing capability information and the acquired processing capability information of the other routing processors elect a routing processor that performs route summarization;
任务分配单元, 用于当任务调度模块为主调度状态时, 执行分配任务。 A task allocation unit is configured to perform an allocation task when the task scheduling module is in a primary scheduling state.
11、 根据权利要求 10所述的路由处理器, 其特征在于, 所述任务调度模 块进一步包括: The route processor according to claim 10, wherein the task scheduling module further comprises:
第一定时器单元, 用于设置定时;  a first timer unit, configured to set a timing;
调度状态机单元,用于将路由处理器的任务状态进行划分, 并指示路由处 理器执行不同操作,当路由处理器进入等待状态并在第一定时器单元启动定时 后,调度状态机单元通知信息单元获取其他路由处理器的处理能力信息, 当第 一定时器单元设置的定时超时后, 调度状态机单元触发调度选举单元进行选 举, 并指示路由处理器被选举为进行任务分配时进入主调度状态, 未被选举为 进行任务分配时进入备份调度状态或从调度状态。  a scheduling state machine unit, configured to divide a task state of the routing processor, and instruct the routing processor to perform different operations, and when the routing processor enters a waiting state and after the first timer unit starts timing, the scheduling state machine unit notifies the information The unit obtains the processing capability information of the other routing processor. After the timing set by the first timer unit expires, the scheduling state machine unit triggers the scheduling election unit to perform the election, and indicates that the routing processor is elected to perform the task allocation and enters the main scheduling state. , not elected to enter the backup scheduling state or slave scheduling state when performing task assignment.
12、 根据权利要求 10所述的路由处理器, 其特征在于, 所述任务调度模 块进一步包括:  The route processor according to claim 10, wherein the task scheduling module further comprises:
第二定时器单元, 用于设置定时;  a second timer unit, configured to set a timing;
路由表状态机单元, 用于将路由处理器的路由汇总状态进行划分, 并指示 路由处理器执行不同操作,当路由处理器进入等待状态并在第二定时器单元启 动定时后,路由表状态机单元通知信息单元获取其他路由处理器的处理能力信 息, 当第二定时器单元设置的定时超时后,路由表状态机单元触发路由汇总选 举单元进行选举, 并指示路由处理器被选举为进行路由汇总时进入主汇总状 态, 未被选举为进行路由汇总时进入备份汇总状态或从汇总状态。  a routing table state machine unit, configured to divide a route summary state of the route processor, and instruct the route processor to perform different operations, and when the route processor enters a wait state and starts timing at the second timer unit, the routing table state machine The unit notification information unit acquires the processing capability information of the other route processor. After the timing set by the second timer unit expires, the routing table state machine unit triggers the route summary election unit to perform the election, and instructs the route processor to be elected as the route summary. When entering the main summary state, it is not elected to enter the backup summary state or from the summary state when performing route summarization.
13、 根据权利要求 10所述的路由处理器, 其特征在于, 所述任务分配单 元进一步包括:  The route processor according to claim 10, wherein the task allocation unit further comprises:
判断单元, 用于接收报文后,根据接口列表信息判断报文处理任务是否属 于本路由处理器负责;  a determining unit, configured to determine, according to the interface list information, whether the message processing task belongs to the routing processor according to the interface list information;
处理单元, 用于在判断单元判断出不属于本路由处理器负责时,指定负责 该报文处理任务的路由处理器, 并修改接口映射表信息。 The processing unit is configured to: when the determining unit determines that it is not responsible for the routing processor, specify a routing processor responsible for the packet processing task, and modify the interface mapping table information.
14、 一种路由器, 其特征在于, 包括: 多个路由处理器, 所述路由处理器 包括: A router, comprising: a plurality of routing processors, the routing processor comprising:
任务调度模块, 用于进行路由处理器间的任务调度;  a task scheduling module, configured to perform task scheduling between routing processors;
协议运行模块, 用于根据所述调度的任务运行链路状态路由协议, 并进行 路由计算, 得到路由计算结果;  a protocol running module, configured to run a link state routing protocol according to the scheduled task, and perform route calculation to obtain a route calculation result;
路由汇总模块, 用于将路由计算结果进行路由汇总。  A route summary module, configured to perform route summarization on route calculation results.
PCT/CN2008/070898 2007-05-14 2008-05-07 Route process method, route processor and router WO2008138255A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2007101020835A CN101309201B (en) 2007-05-14 2007-05-14 Route processing method, routing processor and router
CN200710102083.5 2007-05-14

Publications (1)

Publication Number Publication Date
WO2008138255A1 true WO2008138255A1 (en) 2008-11-20

Family

ID=40001697

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/070898 WO2008138255A1 (en) 2007-05-14 2008-05-07 Route process method, route processor and router

Country Status (2)

Country Link
CN (1) CN101309201B (en)
WO (1) WO2008138255A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905337A (en) * 2014-03-31 2014-07-02 华为技术有限公司 Network resource processing device, method and system
CN112468353A (en) * 2019-09-09 2021-03-09 华为数字技术(苏州)有限公司 Network accessibility detection method and device
CN113765781A (en) * 2020-06-04 2021-12-07 华为技术有限公司 Method, communication device, storage medium and system for processing routing message
EP3863244A4 (en) * 2018-11-08 2021-12-22 Huawei Technologies Co., Ltd. Route processing method, apparatus, and device
CN114245288A (en) * 2021-10-29 2022-03-25 重庆惠科金渝光电科技有限公司 Task scheduling method of service equipment, service equipment and storage medium

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130834B (en) * 2011-03-15 2014-04-02 杭州华三通信技术有限公司 Internet protocol (IP) routing method and router
CN102932260B (en) * 2012-10-31 2016-03-30 福建星网锐捷网络有限公司 Route computing method, equipment and system
CN103873312B (en) * 2012-12-12 2017-05-31 中国移动通信集团公司 A kind of method of testing and system of IP device forward table capacity
CN106100961A (en) * 2016-07-21 2016-11-09 广州高能计算机科技有限公司 A kind of Direct Connect Architecture computing cluster system based on infinite bandwidth and construction method
CN106952207A (en) * 2017-03-10 2017-07-14 深圳市博信诺达经贸咨询有限公司 Monitor the electoral machinery and system of cloud platform distributed system
CN107181628B (en) * 2017-07-20 2020-05-05 杭州老板电器股份有限公司 Bidirectional wireless communication method, device and terminal
CN109981461B (en) * 2017-12-27 2020-10-09 华为技术有限公司 Data transmission method, device and system
CN108710529A (en) * 2018-04-28 2018-10-26 四川斐讯信息技术有限公司 A kind of remote task processing method, system and wireless router
CN111464442B (en) * 2019-01-22 2022-11-18 华为技术有限公司 Method and device for routing data packet
CN113626161B (en) * 2021-07-09 2023-12-22 中国科学院信息工程研究所 Distributed multi-user data scheduling method and system
CN114640618B (en) * 2022-03-15 2024-03-12 平安国际智慧城市科技股份有限公司 Cluster route scheduling method and device, electronic equipment and readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719831A (en) * 2005-07-15 2006-01-11 清华大学 High-available distributed boundary gateway protocol system based on cluster router structure
CN1917464A (en) * 2006-09-01 2007-02-21 清华大学 Distribution type task assignment and computation method based on lower bound to be raised step by step
CN1960283A (en) * 2006-10-20 2007-05-09 清华大学 Performance evaluation method for communication mode in sub layer to be adopted to transmission of expandable route system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100394742C (en) * 2006-08-17 2008-06-11 北京邮电大学 Monitoring and analyzing system for opening shortest path priority route protocol and working method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719831A (en) * 2005-07-15 2006-01-11 清华大学 High-available distributed boundary gateway protocol system based on cluster router structure
CN1917464A (en) * 2006-09-01 2007-02-21 清华大学 Distribution type task assignment and computation method based on lower bound to be raised step by step
CN1960283A (en) * 2006-10-20 2007-05-09 清华大学 Performance evaluation method for communication mode in sub layer to be adopted to transmission of expandable route system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHANG X. ET AL.: "Distributed BGP protocaol system Architecture", JOURNAL OF UNIVERSITY OF DEFENCE TECHINOLOGY, vol. 28, no. 3, 30 June 2006 (2006-06-30) *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905337A (en) * 2014-03-31 2014-07-02 华为技术有限公司 Network resource processing device, method and system
CN103905337B (en) * 2014-03-31 2018-01-23 华为技术有限公司 A kind of processing unit of Internet resources, method and system
US10200287B2 (en) 2014-03-31 2019-02-05 Huawei Technologies Co., Ltd. Network resource processing apparatus, method, and system
EP3863244A4 (en) * 2018-11-08 2021-12-22 Huawei Technologies Co., Ltd. Route processing method, apparatus, and device
CN112468353A (en) * 2019-09-09 2021-03-09 华为数字技术(苏州)有限公司 Network accessibility detection method and device
CN112468353B (en) * 2019-09-09 2023-11-21 华为数字技术(苏州)有限公司 Network reachability detection method and device
CN113765781A (en) * 2020-06-04 2021-12-07 华为技术有限公司 Method, communication device, storage medium and system for processing routing message
CN113765781B (en) * 2020-06-04 2022-07-12 华为技术有限公司 Method, communication device, storage medium and system for processing routing message
CN114245288A (en) * 2021-10-29 2022-03-25 重庆惠科金渝光电科技有限公司 Task scheduling method of service equipment, service equipment and storage medium

Also Published As

Publication number Publication date
CN101309201A (en) 2008-11-19
CN101309201B (en) 2012-05-23

Similar Documents

Publication Publication Date Title
WO2008138255A1 (en) Route process method, route processor and router
US11221893B2 (en) Asynchronous object manager in a network routing environment
US10263889B2 (en) Data forwarding method, device, and system in software-defined networking
US6985959B1 (en) Constraint route dissemination using distributed route exchanges
EP2962431B1 (en) Spanning tree in fabric switches
US9210070B2 (en) Implementing multiple portals into an RBRIDGE network
US7859992B2 (en) Router redundancy in data communication networks
US7835303B2 (en) Packet-switched network topology tracking method and system
CN102055665B (en) OSPF point-to-multipoint over broadcast or NBMA mode
JP6072278B2 (en) Virtual chassis system control protocol
JP2022533238A (en) Methods, devices, and systems for communication between controllers in the TSN
US10447652B2 (en) High availability bridging between layer 2 networks
US20130151445A1 (en) Method and System for Survival of Data Plane Through a Total Control Plane Failure
WO2015058705A1 (en) Data distribution method and apparatus
CN111083061B (en) Method, equipment and system for determining DF (distribution function) of multicast flow
JP6109954B2 (en) System and method for pass-through mode in a virtual chassis system
US8625407B2 (en) Highly available virtual packet network device
CN103825826A (en) Method and device for implementing dynamic routing
US20070280276A1 (en) Method and apparatus for managing client layer communications services
WO2021004213A1 (en) Method and apparatus for determining path tag of fusion network, storage medium, and electronic device
JP2006019867A (en) Path calculation system
WO2012155351A1 (en) Method and network device for generating tunneling forwarding entries

Legal Events

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

Ref document number: 08734253

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08734253

Country of ref document: EP

Kind code of ref document: A1