Patent Description:
This application relates to the communication field, and in particular, to a node configuration method, a controller, and a node.

The open shortest path first (Open Shortest Path First, OSPF) is an internal gateway routing protocol based on a link state. The link state refers to an interface parameter or a link parameter of a router. Routers exchange link-state advertisements (Link-State Advertisements, LSAs) instead of routing tables. Each router has a link state of the router that is called a local link state. Local link states are advertised in OSPF routing domain until all the routers have a complete and identical link-state database. The article by <NPL>".

In a current OSPF flooding process, when receiving an LSA from an interface, a node may advertise the LSA through all other interfaces of the node. In other words, another node may receive the same LSA from a plurality of interfaces. This mechanism ensures network reliability, but a large quantity of redundant packets may easily increase burdens of network bandwidth.

This application provides a node configuration method, a controller, and a node, to reduce flooding paths of service topology information and lighten burdens of network bandwidth and processing burdens of each node.

In embodiments of this application, because the quantity of flooding paths in the target network is less than the quantity of flooding paths in the original network, a flooding process of the service topology information between nodes is different from that of the control topology information, and each node may flood the service topology information only through a specified interface, but not flood the service topology information to adjacent nodes of all interfaces. This reduces flooding paths of the service topology information and lightens burdens of network bandwidth and processing burdens of each node. Moreover, in this application, the nodes do not need to determine respective interface attributes through packet interaction. The interface attributes of each node are determined by the controller together. In this way, global performance is better and applicability is wider.

Embodiments of this application provide a node configuration method, a controller, and a node. A flooding process of service topology information between nodes is different from that of control topology information, and each node may flood the service topology information only through a specified interface, but not flood the service topology information to adjacent nodes of all interfaces. This reduces flooding paths of the service topology information and lightens burdens of network bandwidth.

It should be noted that, the terms "first", "second", "third", and the like in the specification, claims, and accompanying drawings of this application are used to distinguish between similar objects, but do not limit a specific order or sequence. It should be understood that the foregoing terms are interchangeable in proper circumstances, so that embodiments described in this application can be implemented in other orders rather than the content described in this application. Moreover, the terms "include", "have", or any other variant thereof are intended to cover non-exclusive inclusion. For example, processes, methods, systems, products, or devices that include a series of steps or units are not limited to the steps or the units that are clearly listed, and may include other steps and units that are not clearly listed or that are inherent to the processes, methods, products, or devices.

<FIG> is a schematic diagram of a first network topology according to an embodiment of this application. This application is mainly applied to an open shortest path first (Open Shortest Path First, OSPF) multi-access network topology. Nodes exchange link-state advertisements (Link-State Advertisements, LSAs) instead of routing tables. The LSA may indicate an interface parameter or a link parameter of a node, for example, including an internet protocol (Internet Protocol, IP) address, a subnet mask, and a network type on an interface. A node may send an LSA of the node to all adjacent nodes. An adjacent node places the received LSA into a local link-state database (Link-State Database) and then sends the LSA to all nodes adjacent to the adjacent node. Through such a transmission process, each node may have all link states in a network, and link states of all nodes can depict a same network topology. It should be understood that dashed lines in the network topology shown in <FIG> indicate paths for flooding the LSAs between nodes.

It should be noted that, in the foregoing flooding manner, some nodes may receive identical LSAs from a plurality of interfaces. As shown in <FIG>, a node <NUM> may receive LSAs from a node <NUM>, a node <NUM>, a node <NUM>, and a node <NUM>. The node <NUM> may inevitably receive some duplicate LSAs. This mechanism ensures reliability of a system, but there is also information redundancy.

In particular, a network to which this application is applied may be divided into a control plane and a service plane. In the network, service topology information that needs to be transmitted is far more than control topology information that needs to be transmitted. If the service topology information in the network is also flooded in the foregoing manner, burdens of global network bandwidth and processing pressure of each node may inevitably increase.

Therefore, this application provides a node configuration method, to reduce flooding paths of the service topology information and lighten the burdens of the network bandwidth. The following provides detailed descriptions.

<FIG> is a schematic diagram of an embodiment of a node configuration method according to an embodiment of this application. In an example, the node configuration method includes the following steps.

<NUM>: A controller determines a target network based on an original network.

In this embodiment, each node may complete network-wide synchronization of control topology information in a conventional OSPF flooding manner, and the original network for flooding the control topology information may be obtained through this process. The original network may be shown in <FIG>. For the flooding process of the control topology information, refer to related descriptions in <FIG>. The control topology information may be specifically an LSA, and details are not described herein again. It should be understood that the node described in this application may also be referred to as a "network element", a "router", or the like. A specific name of the node is not limited in this application.

<FIG> is a schematic diagram of a second network topology according to an embodiment of this application. The controller may determine the target network based on the original network. The target network is for transmitting service topology information. In addition, a quantity of flooding paths in the target network is less than a quantity of flooding paths in the original network. As shown in <FIG>, solid lines in the target network indicate paths for flooding the service topology information between nodes, and a quantity of paths for flooding the service topology information in <FIG> is less than a quantity of paths for flooding the control topology information in <FIG>. The service topology information may specifically include service-related resource information such as available service bandwidth and a service delay. It should be understood that, decoupling of the original network and the target network in embodiments is to reduce flooding paths of the service topology information, but forwarding paths of service data are not limited, in other words, the service data may be forwarded on a link between nodes in the network.

In a possible implementation, the controller may determine the target network based on the original network and a minimum spanning tree algorithm. It should be understood that, the minimum spanning tree algorithm may enable all nodes to be connected (from one node to any other node), and cause a smallest total quantity of paths for synchronization of the service topology information flooded by all the nodes. <FIG> is a schematic diagram of a third network topology according to an embodiment of this application. As shown in <FIG>, all nodes in the target network obtained based on the minimum spanning tree algorithm may be classified into trunk nodes (such as black border nodes in <FIG>) and branch nodes (such as white border nodes in <FIG>). It can be seen that no flooding path of the service topology information is established between adjacent branch nodes.

It should be noted that OSPF-based flooding may easily cause partial congestion, and this may be resolved by introducing a traffic engineering (Traffic Engineering, TE) technology. To be specific, the service topology information may be specifically TE topology information, and the TE topology information includes maximum link bandwidth, maximum reservable bandwidth, current reserved bandwidth, a priority, and the like of a TE link.

<NUM>: The controller determines attributes of all interfaces on each node.

The controller may determine the attributes of all the interfaces on each node based on the target network. The attributes of the interfaces include a first attribute and a second attribute. It should be understood that an interface with the first attribute on a node is configured to flood the service topology information. An interface with the second attribute on the node is not configured to flood the service topology information, but may flood the control topology information. Specifically, the first attribute may also be referred to as a mobile ad hoc network designated router (MANET Designated Router, MDR). A peer interface of the interface with the second attribute on the node is an interface on a non-specified node. The node may flood service topology information to a corresponding adjacent node through the interface with the first attribute, and receive service topology information flooded by another node. For example, a node <NUM> shown in <FIG> has four interfaces, respectively corresponding to a node <NUM>, a node <NUM>, a node <NUM>, and a node <NUM>. Attributes of the three interfaces corresponding to the node <NUM>, the node <NUM>, and the node <NUM> are the first attribute, and an attribute of the interface corresponding to the node <NUM> is the second attribute. In this case, the service topology information generated by the node <NUM> may be flooded to the node <NUM>, the node <NUM>, and the node <NUM>, but not to the node <NUM>.

<NUM>: The controller generates first configuration information based on the attributes of all the interfaces on each node, and sends the first configuration information to each node.

After receiving the corresponding first configuration information, each node may complete attribute configuration of the local interfaces, and then flood the service topology information based on attributes of the local interfaces. Specifically, if a node generates new service topology information, the node floods the service topology information to an adjacent node through a local interface with the first attribute. <FIG> is used as an example. A trunk node <NUM> generates new service topology information, and the trunk node <NUM> floods the service topology information through interfaces corresponding to the node <NUM>, the node <NUM>, a node <NUM>, a node <NUM>, a node <NUM>, a node <NUM>, and a node <NUM>. For another example, if the branch node <NUM> generates service topology information, the branch node <NUM> floods the service topology information through the interface corresponding to the node <NUM>. If a node receives service topology information, the node floods the service topology information to an adjacent node through another local interface with the first attribute. For example, if the node <NUM> receives service topology information flooded by the node <NUM>, the node <NUM> floods the service topology information through the interfaces corresponding to the node <NUM>, the node <NUM>, the node <NUM>, the node <NUM>, the node <NUM>, and the node <NUM>.

In some possible implementations, the controller may alternatively send first configuration information of all the nodes to one of the nodes. After completing attribute configuration of local interfaces, the node may flood first configuration information of another node through the flooding paths of the target network. The another node may determine, based on an identifier in the first configuration information, the first configuration information corresponding to the another node. Through such a flooding process, each node may receive the respective first configuration information, and complete attribute configuration of the local interfaces.

It should be noted that, in an actual application, a node or a link between nodes may also be faulty. In this case, to ensure that the service topology information can be normally flooded between nodes, a backup path needs to be enabled. The following provides further descriptions.

In this embodiment, there is no loop in the target network generated based on the minimum spanning tree algorithm. <FIG> is used as an example. A link <NUM>-<NUM>-<NUM>-<NUM> is included in the target network, and a link <NUM>-<NUM> is not a link in the target network. Therefore, no loop is formed. The controller may determine the backup path through loop calculation, that is, each node needs to be in at least one protection loop. For example, if a link <NUM>-<NUM> is faulty, the node <NUM> may replace the node <NUM> to flood the service topology information to a node <NUM>, and the controller may update the target network on this basis. Preferably, if a node is in a plurality of loops, the backup path may be selected from a loop with minimum hops.

It should be understood that, the attributes of the interfaces on the node may further include a third attribute, an interface with the third attribute on the node is a backup interface that is configured to flood the service topology information and that is on the node. The third attribute may also be referred to as a backup designated router (Backup Designated Router, BDR) or a backup mobile ad hoc network designated router (Backup MANET Designated Router, BMDR). It should be noted that, each node needs to have one or more interfaces with the first attribute. If a node has only one interface with the first attribute, the node needs to further have at least one interface with the third attribute. If a link corresponding to the interface that is with the first attribute and that is on the node is faulty, the node may further receive, through the interface with the third attribute, service topology information flooded by another node. The following provides detailed descriptions.

In this embodiment, a response mechanism may be for determining whether a link or a node is faulty. Specifically, if a node A receives service topology information from a node B through an interface with the first attribute, the node A sends an acknowledgment message to the node B through the interface with the first attribute, to notify the peer end that service data has been received. Moreover, the node A may further send the acknowledgment message to a node C through an interface with the third attribute. If the node B and the node C can receive the acknowledgment message from the node A, it can be determined that a link between the node A and the node B is normal. If neither the node B nor the node C receives the acknowledgment message from the node A within preset duration, it can be determined that a link between the node A and the node B is faulty. Further, the node B or the node C may report fault information to the controller. It should be understood that, the node A may also sense that the service data being received by the node A is interrupted, and report the fault information to the controller.

In a possible implementation, the controller may further send second configuration information to the node C in advance. If the node C finds that the link between the node A and the node B is faulty, the second configuration information may indicate the node C to flood service topology information to the node A through the local interface with the third attribute. It should be understood that the first configuration information and the second configuration information may be delivered by the controller at the same time, or may be delivered at different time. This is not specifically limited herein.

The controller may further update attributes of the interfaces on the node A, the node B, and the node C based on the reported fault information, and deliver new third configuration information to the node A, the node B, and the node C, to indicate the node A, the node B, and the node C to update the attributes of the local interfaces. Specifically, the attribute of the interface between the node A and the node B is updated to the second attribute. The attribute of the interface between the node A and the node C is updated to the first attribute. The node A, the node B, and the node C flood the service topology information based on the respective new interface attributes. It should be understood that, interface attributes of other nodes that are not related to the link fault and that are in a network may remain unchanged, and the controller does not need to update interface attributes of all nodes globally.

It should be understood that, because the previous interface with the third attribute on the node A is upgraded to an interface with the first attribute, the controller may further reconfigure an interface with the third attribute for the node A, to cope with a link fault. For example, if a link between the node A and the node C is faulty later, the node A may receive service topology information flooded by a node D through the new interface with the third attribute.

The following uses <FIG> as an example for further description in some specific application scenarios.

For example, the interface on the node <NUM> corresponding to the node <NUM> is with the first attribute. An interface on the node <NUM> corresponding to the node <NUM> is with the third attribute. If a link between the node <NUM> and the node <NUM> is faulty, the node <NUM> temporarily cannot receive service topology information flooded by the node <NUM>. The node <NUM> and the node <NUM> may report fault information to the controller. The controller updates attributes of the interfaces on the node <NUM>, the node <NUM>, and the node <NUM>. A specific updated state may be shown in <FIG>. The controller updates the attribute of the interface between the node <NUM> and the node <NUM> to the first attribute, and updates the attribute of the interface between the node <NUM> and the node <NUM> to the second attribute. Moreover, the controller may further update an attribute of an interface between the node <NUM> and the node <NUM> to the third attribute. The controller delivers the updated interface attributes to the node <NUM>, the node <NUM>, the node <NUM>, and the node <NUM> based on new configuration information.

For example, a current flooding path of the service topology information is node <NUM>→node <NUM>→node <NUM>→node <NUM>. An attribute of an interface between the node <NUM> and the node <NUM> is the third attribute. If a link between the node <NUM> and the node <NUM> is faulty, the node <NUM> temporarily cannot receive service topology information flooded by the node <NUM>, and the node <NUM> temporarily cannot receive service topology information flooded by the node <NUM>. The node <NUM> and the node <NUM> may report fault information to the controller. The controller updates attributes of interfaces on the node <NUM>, the node <NUM>, the node <NUM>, and the node <NUM>. A specific updated state may be shown in <FIG>. The controller updates the attribute of the interface between the node <NUM> and the node <NUM> to the first attribute, and updates the attribute of the interface between the node <NUM> and the node <NUM> to the second attribute. The controller delivers the updated interface attributes to the node <NUM>, the node <NUM>, the node <NUM>, and the node <NUM> based on new configuration information. An updated flooding path of the service topology information may be node <NUM>→node <NUM>, and node <NUM>→node <NUM>→node <NUM>.

For example, if a node <NUM> is faulty, all interfaces on the node <NUM> may be unavailable. In this case, a node <NUM>, a node <NUM>, a node <NUM>, a node <NUM>, and a node <NUM> may temporarily fail to receive service topology information flooded by the node <NUM>. The node <NUM>, the node <NUM>, the node <NUM>, the node <NUM>, and the node <NUM> may report fault information to the controller. The controller updates attributes of interfaces on the node <NUM>, the node <NUM>, the node <NUM>, the node <NUM>, and the node <NUM>. An updated state may be shown in <FIG>. The controller may update the attribute of the interface between a node <NUM> and the node <NUM> to the first attribute, the attribute of the interface between a node <NUM> and the node <NUM> to the first attribute, the attribute of the interface between a node <NUM> and the node <NUM> to the first attribute, the attribute of the interface between the node <NUM> and the node <NUM> to the first attribute, and the attribute of the interface between the node <NUM> and the node <NUM> to the first attribute. Moreover, the controller may further configure a new interface with the third attribute for each of the foregoing nodes. The controller may update the attribute of the interface between the node <NUM> and the node <NUM> to the third attribute, the attribute of the interface between the node <NUM> and the node <NUM> to the third attribute, and the attribute of the interface between the node <NUM> and the node <NUM> to the third attribute. There is no interface with the third attribute on the node <NUM> and the node <NUM>. The controller delivers the updated interface attributes to the foregoing nodes based on new configuration information.

The following describes a controller and a node provided in this application.

<FIG> is a schematic diagram of a structure of a controller according to an embodiment of this application. The controller includes a processor <NUM>, a memory <NUM>, and a transceiver <NUM>. The processor <NUM>, the memory <NUM>, and the transceiver <NUM> are connected to each other through a line. The memory <NUM> is configured to store program instructions and data. It should be noted that the transceiver <NUM> is configured to perform sending and receiving operations of the information in the embodiment shown in <FIG>. The processor <NUM> is configured to perform operations other than information sending and receiving in the embodiment shown in <FIG>.

<FIG> is a schematic diagram of a structure of a node according to an embodiment of this application. The node includes a processor <NUM>, a memory <NUM>, and a transceiver <NUM>. The processor <NUM>, the memory <NUM>, and the transceiver <NUM> are connected to each other through a line. The memory <NUM> is configured to store program instructions and data. It should be noted that the transceiver <NUM> is configured to perform sending and receiving operations of the information in the embodiment shown in <FIG>. The processor <NUM> is configured to perform operations other than information sending and receiving in the embodiment shown in <FIG>.

It should be noted that the processors shown in <FIG> and <FIG> may execute a related program by using a general-purpose central processing unit (Central Processing Unit, CPU), a microprocessor, an application-specific integrated circuit ASIC, or at least one integrated circuit, to implement the technical solutions provided in embodiments of this application. The memories shown in <FIG> and <FIG> may store an operating system and another application program. When the technical solutions provided in embodiments of this application are implemented by using software or firmware, program code used to implement the technical solutions provided in embodiments of this application is stored in the memory, and is executed by the processor. In an embodiment, the processor may include the memory inside. In another embodiment, the processor and the memory are two independent structures.

It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing systems, apparatuses, and units, refer to a corresponding process in the foregoing method embodiments, and details are not described herein again.

A person of ordinary skill in the art may understand that all or some of the steps in the foregoing embodiments may be implemented by hardware or a program instructing related hardware. The program may be stored in a computer-readable storage medium. The storage medium may be a read-only memory, a random access memory, or the like. Specifically, for example, the foregoing processing unit or processor may be a central processing unit, a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logic device, a transistor logic device, a hardware component, or any combination thereof. Whether these functions are performed by hardware or software depends on particular applications and design constraints of the technical solutions.

When software is used to implement embodiments, all or some of the method steps in embodiments may be implemented in a form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the procedure or functions according to embodiments of this application are all or partially generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by a computer, or a data storage device, for example, a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), a semiconductor medium (for example, a solid state disk Solid State Disk (SSD)), or the like.

Claim 1:
A node configuration method, comprising:
determining (<NUM>), by a controller, a target network based on an original network, wherein the original network is for flooding control topology information, the target network is for flooding service topology information, and a quantity of flooding paths in the target network is less than a quantity of flooding paths in the original network, wherein the control topology information comprises a link-state advertisement, LSA, and the service topology information comprises traffic engineering, TE topology information that includes maximum link bandwidth, maximum reservable bandwidth, current reserved bandwidth, a priority, and the like of a TE link;
determining (<NUM>), by the controller, attributes of all interfaces on each node, wherein the attributes of the interfaces comprise a first attribute and a second attribute, an interface with the first attribute is configured to flood the service topology information to a corresponding adjacent node, and receive service topology information flooded by another node, and an interface with the second attribute is not configured to flood the service topology information but may flood the control topology information; and
generating (<NUM>), by the controller, first configuration information based on the attributes of all the interfaces on each node, and sending, to each node, the first configuration information corresponding to each node, wherein the first configuration information indicates each node to configure the attributes of all the local interfaces.