CN116800606A - Network changing method, network control device and storage medium - Google Patents

Network changing method, network control device and storage medium Download PDF

Info

Publication number
CN116800606A
CN116800606A CN202210268740.8A CN202210268740A CN116800606A CN 116800606 A CN116800606 A CN 116800606A CN 202210268740 A CN202210268740 A CN 202210268740A CN 116800606 A CN116800606 A CN 116800606A
Authority
CN
China
Prior art keywords
operations
network
change
execution
network device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210268740.8A
Other languages
Chinese (zh)
Inventor
周季钢
刘中喆
吴瑞飞
蔡宏坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 filed Critical Huawei Technologies Co Ltd
Priority to CN202210268740.8A priority Critical patent/CN116800606A/en
Publication of CN116800606A publication Critical patent/CN116800606A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a network changing method, network control equipment and a storage medium, and relates to the technical field of networks. The network control device obtains a plurality of first changing operations associated with the first service flow, determines a first execution sequence of the plurality of first changing operations according to the first service flow, and instructs at least one first network device to execute the plurality of first changing operations according to the first execution sequence. The network control device determines the execution sequence of a plurality of changing operations related to the service flow based on the service flow, so that the service flow is not damaged as much as possible in the execution process of the plurality of changing operations, and high-reliability network changing is realized.

Description

Network changing method, network control device and storage medium
Technical Field
The present application relates to the field of network technologies, and in particular, to a network changing method, a network control device, and a storage medium.
Background
With the development and advancement of concepts such as software defined networks (software defined network, SDN) and Intent Based Networks (IBNs), various network devices in the networks are generally managed in a unified manner by a controller (or network control device, network control engine, etc.) in a business scenario such as a data center, a campus, an operator, etc. For example, in the process of one network change, the controller needs to interact with each network device related to the one network change respectively through messages, and sends the change operation corresponding to the one network change to the corresponding network device, so as to complete the one network change.
However, the process of network modification is prone to failure (e.g., forwarding loops or routing black holes) and thus traffic flow impairment.
Disclosure of Invention
The application provides a network changing method, a network control device and a storage medium, which can realize high-reliability network changing, so that service flows associated with changing operation are not damaged as much as possible in the process of network changing.
In a first aspect, the present application provides a network modification method, which is applied to a network control device. The network control device obtains a plurality of first changing operations associated with the first traffic flow. The network control device determines a first execution sequence of the plurality of first changing operations according to the first service flow, and instructs at least one first network device to execute the plurality of first changing operations according to the first execution sequence.
In this scheme, for a plurality of network changing operations to be executed, the network control device schedules execution order of the plurality of first changing operations based on first traffic flows associated with the plurality of first changing operations. The determined execution sequence is reasonable, so that the first service flow is not damaged as much as possible in the execution process of the plurality of changing operations, and the problems of forwarding loops, routing black holes and the like of the data of the first service flow are avoided.
In one possible implementation, the plurality of first altering operations associated with a first traffic flow includes: the attribute of the first service flow is matched with the attribute of the plurality of first changing operations.
The attribute of the first service flow includes a parameter of a packet of the first service flow, and may include one or more of a source IP address, a destination IP address, a source interface, a destination interface, a protocol number, a source device, and a destination device. The attribute of the first change operation may include a parameter of the first change operation and/or a parameter of a configuration item affected by the first change operation.
In one possible implementation, the first execution order is opposite to the forwarding order of the packets of the first traffic flow on the forwarding path after the first traffic flow is changed. The forwarding path after the first traffic flow change is a forwarding path of the first traffic flow after the plurality of first changing operations are performed, and the forwarding path after the first traffic flow change includes the at least one first network device.
That is, the first execution order of the plurality of changing operations may be determined according to the forwarding path after the change of the first traffic flow, which is opposite to the forwarding order of the packet of the first traffic flow on the forwarding path after the change of the first traffic flow, that is, the changing operation corresponding to the network device that is located further back on the forwarding path after the change is executed first, and the changing operation corresponding to the network device that is located further back on the forwarding path after the change is executed. According to the first execution sequence, the first traffic flow can be kept from being damaged as much as possible during the execution of the plurality of modification operations.
For example, according to the first execution order, it is assumed that the change operation corresponding to the network device that is next to the forwarding path after the change of the first traffic flow is just performed, but the change operation corresponding to the network device that is next to the forwarding path after the change is not performed yet, and the forwarding path after the change corresponds to the second half of the construction completion. If there is a message of the first traffic flow to be forwarded, it can still use the former part of the forwarding path before the first traffic flow is changed, and then use the completed latter part of the forwarding path after the change, so as to be able to forward to the destination. Therefore, by adopting the first execution sequence in the application, the message of the first service flow can still reach the destination in the execution process of the change operation related to the first service flow, and the message is not influenced by the change process.
If the first execution sequence in the present application is not adopted, it is assumed that the change operation corresponding to the network device that is located before the changed forwarding path is executed first, but the change operation corresponding to the network device that is located after the changed forwarding path is not executed yet, and the changed forwarding path is equivalent to only the first half of the construction completion. If the message of the first service flow is to be forwarded, the first half path which is completed in the forwarding path after the change is adopted, but the second half path of the forwarding path after the change is not completed at this time, the message of the first service flow may not reach the destination, and the first service flow is damaged.
In one possible implementation, the network control device obtains a plurality of second change operations associated with the second traffic flow. The network control device determines a second execution order of the plurality of second altering operations based on the second traffic stream. The second execution sequence is opposite to a forwarding sequence of the message of the second service flow on a forwarding path after the second service flow is changed, and the forwarding path after the second service flow is changed comprises at least one second network device. The network control device determines a third execution sequence of the plurality of first changing operations according to the first service flow. The network control device determines a first execution sequence according to the second execution sequence and the third execution sequence, and instructs at least one first network device and at least one second network device to execute the plurality of first changing operations and the plurality of second changing operations according to the first execution sequence, respectively.
In this solution, the network control device may determine, according to each service flow of the plurality of service flows, an execution sequence of a plurality of modification operations associated with the service flow, and then determine an execution sequence based on a plurality of execution sequences corresponding to the plurality of service flows.
That is, if there are multiple service flows, each service flow is associated with a portion of the change operation, a corresponding execution sequence may be determined according to each service flow, and then a final execution sequence may be determined according to the respective execution sequences of the multiple service flows, where the final execution sequence may make the multiple service flows as unlikely to be damaged during the execution of their respective associated change operations.
In one possible embodiment, the plurality of first changing operations includes a first operation, and the plurality of second changing operations includes a second operation, the first operation and the second operation corresponding to a first execution step in a first execution sequence.
In the scheme, the network control equipment combines different changing operations associated with different service flows into the same executing step, and the different changing operations in the same executing step can be executed simultaneously, so that the efficiency of network changing is improved.
In one possible implementation, the first operation and the second operation are associated to different network devices.
That is, for two different change operations that are combined into the same execution step, their associated network devices may be different. Thus, for two changing operations associated with different network devices in the same execution step, the network control device may send the two changing operations to the corresponding network devices at the same time, so as to improve the efficiency of network changing.
In one possible implementation, the first operation and the second operation are associated to the same network device.
That is, for two change operations that are combined into the same execution step, they may also be associated with the same network device. Therefore, the network control device can send two changing operations associated with the same network device in the same execution step to the network device without sending the two changing operations to the network device respectively, so that the number of message interaction times between the network control device and the network device can be reduced, and the efficiency of network changing is improved.
In one possible implementation manner, the plurality of first changing operations further includes a third operation, where the third operation is associated with a different network device than the first operation, and the third operation corresponds to the second executing step in the first executing sequence. When the network device associated with the third operation is located after the network device associated with the first operation on the forwarding path after the first traffic flow is changed, the second execution step is earlier than the first execution step in the first execution order. When the network device associated with the third operation is located before the network device associated with the first operation on the forwarding path after the first traffic flow is changed, the second execution step is later than the first execution step in the first execution order.
The first operation and the third operation are two different first changing operations in the plurality of first changing operations, that is, the third execution sequence includes the sequence of the first operation and the third operation, and the sequence of the first operation and the third operation in the third execution sequence is opposite to the sequence of the network device associated with the first operation and the network device associated with the third operation on the forwarding path after the first service flow is changed. The sequence of the first operation and the third operation in the first execution sequence is also opposite to the sequence of the network device associated with the first operation and the network device associated with the third operation on the forwarding path after the first service flow is changed. That is, the order of the first operation and the third operation in the first execution order is the same as the order of the first operation and the third operation in the third execution order.
In one possible implementation, the network control device generates a plurality of configuration messages and sequentially sends the plurality of configuration messages to the at least one first network device according to a first execution order. The corresponding relation between the plurality of configuration messages and the plurality of first changing operations is one-to-one correspondence, and each configuration message in the plurality of configuration messages is used for indicating the first network equipment associated with the first changing operation corresponding to the configuration message to execute the corresponding first changing operation.
That is, the network control device may generate a corresponding configuration message for each first change operation to obtain a plurality of configuration messages, and then sequentially send the plurality of configuration messages according to the first execution order, so that the corresponding first network device executes the corresponding first change operation. The actual execution sequence of the first change operations meets the requirement of the first execution sequence, so that the first service flow is not damaged as much as possible in the execution process of the first change operations.
In one possible implementation, the network control device generates at least one configuration message. The at least one configuration message corresponds to the at least one first network device in a one-to-one correspondence. Each of the at least one configuration message includes one or more change operations associated with the first network device corresponding to the configuration message and an order of execution of the one or more change operations associated with the first network device corresponding to the configuration message. The network control device sends the at least one configuration message to the corresponding first network device according to the first execution sequence.
That is, the network control device may generate a corresponding configuration message for each first network device to obtain one or more configuration messages. The configuration message corresponding to each first network device includes one or more changing operations required to be executed by the first network device and the sequence of executing the changing operations. Then, the network control device may send the one or more configuration messages to the corresponding first network devices according to the first execution sequence, and then each first network device executes one or more changing operations included in the configuration message according to the specified execution sequence in the received configuration message, so as to ensure that the plurality of first changing operations are actually executed according to the requirement of the first execution sequence.
In one possible implementation, the network control device generates at least one configuration message. The at least one configuration message corresponds to the at least one first network device in a one-to-one correspondence. Each of the at least one configuration message includes one or more change operations associated with the first network device to which the configuration message corresponds. The network control device sends the at least one configuration message to the corresponding first network device respectively. The network control device sequentially instructs the at least one first network device to execute one or more changing operations included in the corresponding configuration message according to the first execution sequence.
The network control device sends configuration messages to the corresponding network devices respectively, each configuration message comprises the changing operation to be executed by the corresponding network device, and when the network device receives the corresponding configuration message, the network device can know which changing operations need to be executed, but does not execute the changing operations immediately. Then, the network control device instructs each network device to perform the changing operation in sequence according to the first execution order, that is, when the network device receives the instruction, the network device performs the changing operation included in the received configuration message. This also ensures that the actual execution order of the plurality of first modification operations meets the requirement of the first execution order.
In one possible implementation, the first execution sequence includes an execution sequence of a plurality of execution steps, each execution step including at least one change operation. The first change operations are in the same order as the first change operations in the third execution order, and the second change operations are in the same order as the first change operations in the second execution order. The number of the plurality of execution steps in the first execution sequence is less than a sum of the number of the plurality of first altering operations and the number of the plurality of second altering operations.
That is, when the first execution sequence is determined according to the third execution sequence corresponding to the plurality of first change operations and the second execution sequence corresponding to the plurality of second change operations, the execution sequence of the plurality of first change operations is unchanged, the order in the first execution sequence is consistent with the order in the third execution sequence, the execution sequence of the plurality of second change operations is unchanged, and the order in the first execution sequence is consistent with the order in the third execution sequence. Therefore, the first plurality of changing operations and the second plurality of changing operations are specified according to the first execution sequence, so that the first service flow and the second service flow are not damaged as much as possible in the process of changing the network. In addition, one first change operation and one second change operation can be simultaneously executed in one execution step of the first execution sequence, so that a plurality of first change operations and a plurality of second change operations are executed according to the first execution sequence, the plurality of change operations can be simultaneously executed, and the efficiency of network change is improved.
In a second aspect, the present application provides a network control device. The network control device comprises an acquisition module, a determination module and an indication module. The acquisition module is used for acquiring a plurality of first changing operations. The plurality of first altering operations are associated with a first traffic flow, and the determining module is configured to determine a first order of execution of the plurality of first altering operations based on the first traffic flow. The indication module is used for indicating at least one first network device to execute the plurality of first changing operations according to a first execution sequence.
In one possible embodiment, the attribute of the first service flow matches the attribute of the plurality of first modification operations.
In one possible implementation, the first execution order is opposite to the forwarding order of the packets of the first traffic flow on the forwarding path after the first traffic flow is changed. The forwarding path after the first traffic flow change is a forwarding path of the first traffic flow after the plurality of first changing operations are performed, and the forwarding path after the first traffic flow change includes the at least one first network device.
In one possible implementation, the obtaining module is further configured to obtain a plurality of second changing operations, where the plurality of second changing operations are associated with a second traffic flow. The determining module is further configured to determine a second execution order of the plurality of second changing operations according to the second traffic flow, and determine a third execution order of the plurality of first changing operations according to the first traffic flow; the first execution order is determined based on the second execution order and the third execution order. The second execution sequence is opposite to the forwarding sequence of the message of the second service flow on the forwarding path after the second service flow is changed, and the forwarding path after the second service flow is changed comprises at least one second network device. The indication module is further configured to instruct the at least one first network device and the at least one second network device to perform the plurality of first changing operations and the plurality of second changing operations according to a first execution order, respectively.
In one possible implementation, the plurality of first altering operations includes a first operation and the plurality of second altering operations includes a second operation, the first operation and the second operation corresponding to a first executing step in a first execution order.
In one possible implementation, the first operation and the second operation are associated to different network devices.
In one possible implementation, the first operation and the second operation are associated to the same network device.
In one possible implementation, the plurality of first altering operations further includes a third operation associated with a different network device than the first operation, the third operation corresponding to the second executing step in the first execution order. The second execution step is earlier than the first execution step in the first execution order when the third operation-associated network device is located after the first operation-associated network device on the forwarding path after the first traffic flow change. When the network device associated with the third operation is located before the network device associated with the first operation on the forwarding path after the first traffic flow is changed, the second execution step is later than the first execution step in the first execution order.
The first operation and the third operation are two different first changing operations in the plurality of first changing operations, that is, the third execution sequence includes the sequence of the first operation and the third operation, and the sequence of the first operation and the third operation in the third execution sequence is opposite to the sequence of the network device associated with the first operation and the network device associated with the third operation on the forwarding path after the first service flow is changed. The sequence of the first operation and the third operation in the first execution sequence is also opposite to the sequence of the network device associated with the first operation and the network device associated with the third operation on the forwarding path after the first service flow is changed. That is, the order of the first operation and the third operation in the first execution order is the same as the order of the first operation and the third operation in the third execution order.
In one possible implementation, the network control device further includes a generation module. The generation module is used for generating a plurality of configuration messages. The corresponding relation between the plurality of configuration messages and the plurality of first changing operations is one-to-one correspondence, and each configuration message in the plurality of configuration messages is used for indicating the first network equipment associated with the first changing operation corresponding to the configuration message to execute the corresponding first changing operation. The indication module is used for sequentially sending the plurality of configuration messages to the at least one first network device according to a first execution sequence.
In one possible implementation, the network control device further includes a generation module. The generation module is used for generating at least one configuration message. The at least one configuration message corresponds to the at least one first network device in a one-to-one correspondence manner, and each configuration message in the at least one configuration message comprises one or more change operations associated with the first network device corresponding to the configuration message and an execution sequence of the associated one or more change operations. The indication module is used for respectively sending the at least one configuration message to the corresponding first network equipment according to the first execution sequence.
In one possible implementation, the network control device further includes a generation module. The generation module is used for generating at least one configuration message. The at least one configuration message corresponds to the at least one first network device in a one-to-one correspondence manner, and each configuration message in the at least one configuration message comprises one or more change operations associated with the first network device corresponding to the configuration message. The indication module is used for respectively sending the at least one configuration message to the corresponding first network equipment. The indication module is further configured to sequentially instruct the at least one first network device to perform one or more modification operations included in the corresponding configuration message according to the first execution order.
In a third aspect, the present application provides a network control device. The network control device includes a processor and a memory. The processor and the memory may be interconnected by a bus or may be integrated. The processor is configured to read the program code stored in the memory, so that the network control device performs the network modification method provided by any one of the possible implementation manners of the first aspect and the second aspect.
In a fourth aspect, the present application provides a computer-readable storage medium. The computer readable storage medium is for storing implementation code of any one of the methods of the first aspect described above.
In a fifth aspect, the present application provides a computer program product. The computer program product comprising program instructions which, when executed by a processor, implement the method of any of the embodiments of the first aspect described above.
Drawings
Fig. 1 is a schematic diagram of an application scenario provided in an embodiment of the present application;
fig. 2 is a flow chart of a network changing method according to an embodiment of the present application;
fig. 3 is a schematic diagram of a connection relationship and a forwarding relationship between network devices according to an embodiment of the present application;
fig. 4 is a schematic diagram of a connection relationship and a forwarding relationship between network devices according to another embodiment of the present application;
FIG. 5 is a schematic diagram of a change operation associated with a first service subset according to an embodiment of the present application;
FIG. 6 is a schematic diagram of a second service subset associated change operation according to an embodiment of the present application;
fig. 7 is a topology diagram constructed based on a target forwarding path according to an embodiment of the present application;
fig. 8 is a flowchart of another network modification method according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a network control device according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of another network control device according to an embodiment of the present application.
Detailed Description
The technical scheme provided by the application is described below with reference to the accompanying drawings.
Referring to fig. 1, fig. 1 is a schematic view of an application scenario provided in an embodiment of the present application, including a network control device 100 and a plurality of network devices 200, where the network control device 100 is configured to perform unified management on the plurality of network devices 200, for example, change a configuration of a network.
The network control device 100 may provide a user operation interface so that a user can implement functions of operation and management of the network device 200 through the network control device 100. The network control device 100 may be a controller, a network manager, etc., and the network device 200 may be a router, a switch, a gateway, a bridge, a server, a repeater, a firewall, etc., which is not particularly limited in the present application.
Based on the above application scenario, an embodiment of the network modification method in the present application is described below.
Referring to fig. 2, fig. 2 is a flowchart of a network changing method according to an embodiment of the present application, where the method is used in a network control device 100, and may include the following steps:
s201, information of the network device 200, a plurality of changing operations corresponding to the network change, and information of the target service flow are acquired.
The network change refers to a network change that the user desires to perform, and represents the network change needs/intents of the user.
The network device 200 may be a plurality of network devices 200, and may be some or all of the network devices 200 involved in the network change to be performed at this time.
The information of the network device 200 may include configuration information of the network device 200, forwarding information, connection relationship between the network devices 200, and the like, and the present application is not particularly limited.
The forwarding information of a certain network device 200 refers to information related to the forwarding behavior of the network device 200, and is used to indicate the forwarding behavior of the network device 200, for example, may be a forwarding table configuration, a Network Address Translation (NAT) configuration, an access control list (accesscontrol list, ACL) configuration, or the like of the network device 200, and the present application is not particularly limited.
In one possible embodiment, each network device 200 stores information (including current configuration information, connection relation with other network devices 200, etc.) of the network device 200, and the information of acquiring the network devices 200 may be that the network control device 100 acquires their information from each network device 200, respectively.
In yet another possible embodiment, each network device 200 may actively send its own information to the network control device 100, and the network control device 100 stores the information of each network device 200. Accordingly, the acquiring of the information of the network device 200 may be the network control device 100 acquiring the information of the respective network devices 200 from the memory. The memory may be located inside the network control device 100 or external to the network control device 100.
The plurality of changing operations may be part or all of changing operations corresponding to a network change to be performed. Unless otherwise specified, all the changing operations corresponding to the network changes to be performed will be described below as examples. A change operation may be understood as one or more modification actions with respect to a network device 200 in a network, for example, adding a configuration to a network device 200 may be a change operation, deleting a forwarding table entry in a forwarding table of a network device 200 may be a change operation, replacing a forwarding table entry in a forwarding table of a network device 200 with another forwarding table entry may be a change operation or two change operations (e.g., deleting an original forwarding table entry and adding a new forwarding table entry), and the present application is not particularly limited.
Each change operation may have a corresponding attribute. The properties of the change operation include parameters of the change operation and/or parameters of the configuration item affected by the change operation. Parameters of the change operation and parameters of the configuration item may include an Internet Protocol (IP) address, a port number, a protocol number, etc., and the present application is not particularly limited.
For example, assume that a user wants to add a forwarding table entry with a destination address of "X" and a next hop address of "Y" to the network device 200, where "X" and "Y" respectively represent two IP addresses. Then, the user inputs a change operation on the operation interface provided by the network control apparatus 100 to indicate the above-described network change requirement. The parameters of the change operation include the above-described destination address "X" and the next hop "Y". Accordingly, the properties of the change operation include the parameters "X" and "Y" described above.
For another example, assume that there are multiple configuration items in the network device 200, and each configuration item has a corresponding number. A user wants to delete the configuration item numbered "8" in the network device 200, and the configuration item numbered "8" in the network device 200 may specifically be an ACL entry whose parameters include the source IP address "Z". Then, the user inputs a change operation on the operation interface provided by the network control apparatus 100 to indicate the above-described network change requirement. The parameters of the change operation include an Identification (ID) of the network device 200 and a number "8". In this case, the attribute of the change operation may include not only the above-described parameter of the change operation, but also a parameter of a configuration item (i.e., the ACL entry) affected by the change operation, that is, a source IP address "Z".
In a possible embodiment, the obtaining a plurality of change operations may include: acquiring network change intention (intent)/requirement input by a user, and generating corresponding change operation according to the network change intention/requirement. The present application is not limited to a specific manner of generating the change operation, and the order of generating the change operation is not limited. The network control device 100 may provide a user operation interface for a user to input a network change intention. The network modification intention may be input in the form of a code, a picture, a text, a voice, or the like, and is not particularly limited. For example, the user inputs a piece of voice expressed in natural language in the operation interface provided by the network control Device 100, the piece of voice indicating that the network change intention is to set the name of the network Device1 to Device1. The network control Device 100 may translate this piece of voice into a change operation of "configure the name of the network Device1 to Device1" through an Artificial Intelligence (AI) technique or the like. The parameters of the change operation may include a Device name configuration command and configuration parameters, which may include an identification (e.g., name or ID number, etc.) of the network Device1 and "Device1". Of course, the user may directly input a plurality of changing operations in the operation interface provided by the network control device 100, and the manner and order of changing the operation inputs are not limited.
The target traffic refers to traffic (or called traffic) that the user desires to be not damaged during the network change (or during the execution of a plurality of change operations corresponding to the network change). The number of target traffic flows may be one or more. In other words, the target traffic is the traffic focused by the user, and it needs to be ensured as much as possible that the target traffic is not damaged and remains reachable during the execution of the plurality of changing operations, and the problems such as interruption, forwarding loop, and routing black hole are avoided during the execution of the plurality of changing operations.
The information of the target traffic flow may include an attribute of the target traffic flow (or a network attribute of the target traffic flow). The attribute of the target service flow includes parameters related to the message of the target service flow, for example, may include a source IP address, a destination IP address, a source interface, a destination interface, a protocol number, a source device, a destination device, and the like, which are not particularly limited in the present application.
It should be noted that, a series of data having (one or more) the same attribute may be abstracted into a service flow, and the service flow may be defined by a user, which is not particularly limited by the present application. For example, a user may refer to a packet with the same source IP address and destination IP address as a service flow, where the source IP address and destination IP address are attributes of the service flow, and the user may refer to a packet with the same transmission control protocol (Transmission Control Protocol, TCP)/IP quad, quintuple, or seven-tuple to the same service flow, where the quad, quintuple, or seven-tuple is attributes of the service flow. The quadruple can be a source IP address, a destination IP address, a source port and a destination port; the five-tuple can be an IP address, a destination IP address, a protocol number, a source port and a destination port; the seven-tuple may be a source IP address, a destination IP address, a protocol number, a source port, a destination port, a source media access control (Media Access Control, MAC) address, and a destination MAC address.
In one possible embodiment, obtaining the information of the target traffic flow may include: the method and the device for acquiring the information of the target service flow input by the user do not limit the mode of inputting the information of the target service flow by the user.
For example, the network control device 100 may provide a user with an operation interface through which the user may input information of one or more target traffic streams. In yet another possible embodiment, the network control device 100 directly provides the user with information of a plurality of traffic flows in the network, and then the user may select one or more of the traffic flows to be designated as the target traffic flow.
Step S201 is specifically illustrated in the following with reference to fig. 3 and 4.
As shown in fig. 3, fig. 3 is a schematic diagram of connection relationships and forwarding relationships between some network devices 200 in a network. Fig. 3 shows 5 network appliances 200 (NEs), represented by NE1, NE2, NE3, NE4 and NE5, respectively. The small squares in each network device 200 represent interfaces in that network device 200, e.g., NE1, NE2, NE3, NE4, and NE5 each include a total of 4 interfaces of 1, 2, 3, and 4, respectively. The connection lines between the network devices 200 represent communication links between the network devices 200, and may be physical links or logical links. The arrows in fig. 3 represent the forwarding behavior of the network device 200 for the subnetwork 1, in particular, a network device 200 near the end of the arrow (not the end to which the arrow points) will forward messages of the traffic flow destined for the subnetwork 1 to the network device 200 to which the arrow points.
As can be seen from fig. 3, both the interface 4 of NE3 and the interface 4 of NE5 are connected to the subnetwork 1 (172.16.0.0/30), wherein the interface 4 of NE3 acts as a backup interface to the subnetwork 1 and the interface 4 of NE5 acts as a primary interface to the subnetwork 1. Data destined for subnetwork 1 flowing through network devices NE1, NE2, NE3, NE4 are forwarded to NE5, NE5 outputting data from its own interface 4 to subnetwork 1, while interface 4 of NE3 is temporarily unused as a standby interface. As can also be seen from fig. 3, interface 2 of NE2 connects to subnet 2 (172.16.0.4/30), interface 1 of NE1 connects to subnet 3 (172.16.0.8/30), and interface 2 of NE4 connects to subnet 4 (172.16.0.12/30).
The names, the number of interfaces, the connection relationships, and the like of the respective network devices 200 in fig. 3 and 4 are merely examples, and do not limit the present application.
Assuming that the user inputs network change intention/demand through the operation interface provided by the network control apparatus 100, fig. 3 is to be modified to fig. 4. That is, the network change that the user desires to perform is to change the forwarding relationship between the 5 network devices 200 in fig. 3 from fig. 3 to fig. 4. With respect to fig. 3, the next hop of the 5 network devices 200 to the subnet 1 in fig. 4 is changed, and the interface 4 of the NE3 and the interface 4 of the NE5 change the master-slave relationship, that is, the interface 4 of the NE3 is taken as the master interface to the subnet 1, and the interface 4 of the NE5 is taken as the slave interface to the subnet 1.
Obviously, the network device 200 involved in this network change includes NE1, NE2, NE3, NE4, and NE5, so the network control device 100 can acquire the information of these 5 network devices 200 (taking the forwarding table configuration of the network device 200 as an example). The foregoing current forwarding tables of the 5 network devices 200 are shown in table 1, table 2, table 3, table 4 and table 5 in sequence, where each forwarding table includes one or more forwarding table entries (each row represents a forwarding table entry), and each forwarding table entry includes a prefix (including a destination address (destination) and a mask), a next hop (next hop), an output interface (interface), and the like, and each forwarding table entry may have a corresponding number.
Table 1 forwarding table of NE1
Table 2 forwarding table of NE2
Table 3 forwarding table of NE3
Table 4 forwarding table of NE4
Table 5 forwarding table of NE5
For example, as can be seen from the forwarding table entry of item (1) in table 1, NE1 takes NE4 as the next hop to subnet 1 (172.16.0.0/30), and NE1 can output data from its own interface 4 to NE4. As another example, as can be seen from the forwarding table entry (1) in table 5, NE5 takes the peer device (not shown in fig. 3 and 4) of NE5 located in subnet 1 as the next hop to subnet 1, and NE5 can output data from its own interface 4 to the peer device.
The network control apparatus 100 may generate the following 10 change operations corresponding to the network change according to the network change intention (change fig. 3 to the form of fig. 4) input by the user in the operation interface:
change operation 1: deleting forwarding table entries with prefixes 172.16.0.0/30 and next hops of NE4 from forwarding table of NE 1;
change operation 2: adding forwarding table items with the prefix 172.16.0.0/30 and the next hop of NE2 into forwarding table of NE 1;
change operation 3: deleting forwarding table entries with prefixes 172.16.0.0/30 and next hops of NE4 from forwarding tables of NE 2;
change operation 4: adding forwarding table items with the prefix 172.16.0.0/30 and the next hop of NE3 into forwarding table of NE 2;
change operation 5: deleting forwarding table entries with prefixes 172.16.0.0/30 and next hops of NE5 from forwarding table of NE 3;
change operation 6: adding a forwarding table item with a prefix of 172.16.0.0/30 and an outgoing interface of interface 4 of NE3 into a forwarding table of NE 3;
change operation 7: deleting forwarding table entries with prefixes 172.16.0.0/30 and next hops of NE5 from forwarding tables of NE 4;
change operation 8: adding forwarding table items with the prefix 172.16.0.0/30 and the next hop of NE2 into forwarding table of NE 4;
change operation 9: deleting forwarding table items of an interface 4 with a prefix of 172.16.0.0/30 and an outgoing interface of NE5 from forwarding table of NE 5;
Change operation 10: and adding a forwarding table item with a prefix of 172.16.0.0/30 and a next hop of NE3 into the forwarding table of NE 5.
The order of generation of the 10 modification operations is not limited. Each change operation has a corresponding network device 200 (or associated network device 200, targeted network device 200), and each change operation has a corresponding attribute. It should be appreciated that the attributes of a certain change operation described above include the parameters of that change operation. For example, for the above change operation 1, the attributes thereof include the parameters of the change operation 1, that is, the prefix parameter "172.16.0.0/30" and the next hop parameter "NE4".
In a possible embodiment, the above-mentioned change operation 1 may also take another form, referred to herein as change operation 11: the forwarding entry numbered (1) in the forwarding table of NE1 is deleted. It will be appreciated that the effect/result achieved by the change operation 11 and the change operation 1 are identical, and the forwarding table entry with the number (1) in NE1 is to be deleted, except that the parameters corresponding to the two are different. The parameters of the change operation 11 include the identity of NE1 and the number (1). Thus, the attributes of the change operation 11 include the parameters of the change operation 11, and also include the parameters of the configuration item affected by the change operation 11 (i.e., the forwarding entry numbered (1) in table 1), namely, the prefix parameter "172.16.0.0/30" and the next hop parameter "NE4".
It is assumed that the user also inputs the following 8 pieces of information of the target traffic flows (taking the attributes of the traffic flows as an example) through the operation interface of the network control apparatus 100:
traffic flow 1: NE1 is taken as source equipment, and the destination IP address is 172.16.0.0/30;
traffic flow 2: NE2 is taken as source equipment, and the destination IP address is 172.16.0.0/30;
traffic flow 3: NE3 is taken as source equipment, and the destination IP address is 172.16.0.0/30;
traffic flow 4: NE4 is taken as source equipment, and the destination IP address is 172.16.0.0/30;
traffic flow 5: NE5 is taken as source equipment, and the destination IP address is 172.16.0.0/30;
traffic flow 6: NE1 is taken as source equipment, and the destination IP address is 172.16.0.4/30;
traffic flow 7: NE3 is taken as source equipment, and the destination IP address is 172.16.0.4/30;
traffic flow 8: NE5 is taken as a source device, and the destination IP address is 172.16.0.8/30.
For example, the above-mentioned attributes of the traffic flow 1 include the source equipment "NE1" and the destination IP address "172.16.0.0/30", and the attributes of other traffic flows are the same.
It should be understood that the above 8 traffic flows are all target traffic flows, i.e. the traffic flows focused by the user, so that it is necessary to ensure that these traffic flows are not damaged as much as possible during the network change, and avoid the problems of forwarding loops or routing black holes as much as possible.
S202, determining a first service flow associated with the plurality of changing operations from target service flows according to the plurality of changing operations.
That is, the first traffic flow may be determined from among the target traffic flows. The first traffic flow may have one or more. The first traffic flow is associated with at least one of the plurality of change operations, and the first traffic flow may be affected by its corresponding (or associated) change operation.
In a possible embodiment, the attribute of the first traffic flow matches the attribute of each change operation corresponding to the first traffic flow.
In a possible embodiment, any one of the first traffic flows is not determined according to the information of the plurality of changing operations and the target traffic flow corresponding to the network change, which indicates that the target traffic flow is not associated with the plurality of changing operations, and the execution process of the plurality of changing operations does not damage the target traffic flow, so that the changing operations can be directly sent to the corresponding network device 200, without considering the sending sequence of the changing operations, and without arranging the subsequent network execution steps. For example, the network control device 100 may send a plurality of change operations corresponding to the network change to the corresponding network device 200 at a time, thereby completing the network change.
It should be appreciated that if an attribute corresponding to a certain traffic flow can be matched with an attribute corresponding to a certain change operation, it is indicated that the traffic flow is likely to be affected by the change operation.
In one possible embodiment, assuming that there are M attributes of a certain service flow and N attributes of a certain change operation, if N attributes of the M attributes of the service flow can correspond to N attributes of the change operation, that is, the N attributes are a subset of the M attributes, it is indicated that the attributes of the service flow match the attributes of the change operation, and the change operation becomes one of the change operations corresponding to the service flow, where M and N are both positive integers, and M is greater than or equal to N. In yet another possible embodiment, if the M attributes of the traffic stream are partially identical to the N attributes of the change operation, the attributes of the traffic stream may be considered to match the attributes of the change operation.
For example, in the receiving step S201, the plurality of target traffic flows (i.e., traffic flows 1 to 8) input by the user are compared with the plurality of change operations (i.e., change operations 1 to 10) corresponding to the network change, respectively, so as to determine which of the plurality of target traffic flows are the first traffic flow.
For change operations 1 through 10, their attributes include prefix parameters 172.16.0.0/30, and the destination IP address attribute corresponding to traffic flow 1 is 172.16.0.0/30, so that by comparison, it can be found that the attribute of traffic flow 1 can match the attributes of the 10 change operations, which indicates that traffic flow 1 is associated with the 10 change operations and may be affected by the 10 change operations. Then, the traffic flow 1 is determined as the first traffic flow, and the change operation corresponding to the traffic flow 1 includes these 10 change operations. Similarly, traffic flow 2, traffic flow 3, traffic flow 4, and traffic flow 5 would also be identified as first traffic flows, which again correspond to these 10 change operations.
However, the destination IP address attribute corresponding to the traffic flow 6 and the traffic flow 7 is 172.16.0.4/30, and the attribute of the traffic flow 6 and the traffic flow 7 is not included in the attributes of the 10 change operations, that is, the attributes of the traffic flow 6 and the traffic flow 7 and the attributes of the 10 change operations do not match, so the traffic flow 6 and the traffic flow 7 are not determined as the first traffic flow, and likewise, the traffic flow 8 is not determined as the first traffic flow.
That is, 5 first traffic flows, traffic flow 1, traffic flow 2, traffic flow 3, traffic flow 4, and traffic flow 5, are determined from the 8 target traffic flows.
For another example, for the changing operation 11 described in step S201, the parameters thereof include the identifier and the number (1) of NE1, and the attribute of the changing operation 11 includes, in addition to the parameters of the changing operation 11, the parameters of the configuration item affected by the changing operation 11 (i.e., the forwarding table item numbered (1) in table 1), that is, the prefix parameter "172.16.0.0/30" and the next hop parameter "NE4". Obviously, comparing the attribute of the change operation with the attribute of the service flow 1, it is found that the parameters of the configuration item affected by the change operation 1 can be matched with the attribute of the service flow 1, that is, the destination IP address attribute of the service flow 1 and the prefix parameters of the configuration item affected by the change operation 1 can be matched, which are both 172.16.0.0/30". Therefore, it can be determined by the above analysis that the altering operation 11 is associated with the traffic flow 1.
In one possible embodiment, the user may not input the target traffic flow, the network modification device 100 may determine which traffic flows are associated with the plurality of modification operations directly based on some or all traffic flows already transmitted in the network, and may determine whether there is an association (comparing the attribute of the traffic flow with the attribute of the modification operation) in the manner described above, and then use these traffic flows as the first traffic flow.
S203, dividing the first service flow into one or more service subsets, wherein each service subset comprises at least one first service flow.
That is, all the first traffic flows determined in the aforementioned step S202 may be divided into several traffic subsets.
It will be appreciated that the order of execution between the plurality of change operations having a certain correlation is limited (not arbitrary) and that an unreasonable order of execution may cause damage to the traffic streams associated with those change operations. The purpose of dividing the service subsets is to identify which change operations have a certain correlation, put a plurality of change operations having a certain correlation into the same service set, and then reasonably arrange the execution sequence of all the change operations in each service set so as to ensure that the change operations in each service subset do not damage the associated service flow.
In one possible embodiment, the basis for the division of the traffic subsets may be: if the change operations corresponding to two first service flows are coincident, the two first service flows are classified into the same service subset. In other words, if a certain first traffic flow corresponds to M change operations and another first traffic flow corresponds to N change operations, the two first traffic flows may be divided into the same traffic subset as long as both the M change operations and the N change operations include at least one identical change operation.
For example, as shown in fig. 5, the change operation associated with the traffic flow a includes operation 1, operation 2, and operation 3, and the change operation associated with the traffic flow B includes operation 3, operation 4, and operation 5. Because there is coincidence in the respective change operations of traffic a and traffic B (coincidence is operation 3), traffic a and traffic B may be grouped into the same traffic subset, referred to herein as the first traffic subset.
Similarly, the change operation associated with the service flow C includes operation 5 and operation 6, and since there is coincidence between the change operations corresponding to the service flow C and the service flow B, and the coincidence is operation 5, the service flow B and the service flow C should also be categorized into the same service subset. As shown in fig. 5, traffic a, traffic B, and traffic C are all categorized in a first subset of traffic, and the altering operations associated with the first subset of traffic include operations 1, 2, 3, 4, 5, and 6. It will be appreciated that there is a correlation between all the change operations associated with the first subset of services, i.e. the order of execution between all the change operations associated with the first subset of services is limited, and that an unreasonable order of execution may cause damage to one or more of the traffic flows in the first subset of services, so that the order of execution of all of them needs to be arranged.
As shown in fig. 6, the change operation associated with the traffic flow D includes operation 7 and operation 8, and the change operation associated with the traffic flow E includes operation 8, operation 9, and operation 10. Because there is a coincidence in the change operations associated with traffic D and traffic E, respectively (coincidence is operation 8), traffic D and traffic E are grouped into the same traffic subset, referred to herein as the second traffic subset. It can be seen that the altering operation associated with the second subset of services includes operation 7, operation 8, operation 9 and operation 10. It can also be seen in connection with fig. 5 and 6 that there is no coincidence of the change operations associated with the different service subsets.
It will be appreciated that there is a correlation between the change operations associated with the second subset of services, so that the order of execution between them also needs to be arranged. Thus, one execution order of operation 1, operation 2, operation 3, operation 4, operation 5, and operation 6 may be obtained from the first subset of services, and one execution order of operation 7, operation 8, operation 9, and operation 10 may be obtained from the second subset of services.
In yet another possible embodiment, the basis of the traffic subset partitioning may also be: if the network device 200 associated with the change operation corresponding to each of the two first traffic flows has a coincidence, the two first traffic flows are classified into the same traffic subset.
For example, the plurality of changing operations corresponding to a certain first service flow includes a changing operation 12, the plurality of changing operations corresponding to another first service flow includes a changing operation 13, and the changing operation 12 and the changing operation 13 are associated with the same network device 200, so that the two first service flows may be divided into the same service subsets.
It should be noted that, the changing operation corresponding to a certain service subset includes the changing operation corresponding to each first service flow in the service subset. For example, a certain service subset includes two first service flows, namely, a service flow X and a service flow Y, where the service flow X corresponds to 1 change operation, and the service flow Y corresponds to 2 change operations, and then all the above 3 change operations are change operations corresponding to the service subset.
Continuing with the example in step S202, 5 first traffic flows, traffic flow 1, traffic flow 2, traffic flow 3, traffic flow 4, and traffic flow 5, respectively, are determined in step S202. The change operation corresponding to the service flow 1 includes change operations 1 to 10, and the change operation corresponding to the service flow 2 also includes change operations 1 to 10.
Since the respective changing operations of the traffic stream 1 and the traffic stream 2 overlap, the overlapping portion is the 10 changing operations, so that the traffic stream 1 and the traffic stream 2 are classified into the same traffic subset, which is denoted by the traffic subset a. Similarly, because there is a coincidence in the change operations corresponding to each of traffic 1 and traffic 3, traffic 3 will also be categorized into the same traffic subset as traffic 1 (i.e., traffic subset a). Similarly, traffic 4 and traffic 5 would be classified as traffic subset a. So, the above 5 first traffic flows are all divided into the same traffic subset, i.e. traffic subset a (only one traffic subset is determined in this example).
In a possible embodiment, instead of dividing the traffic subsets in the above manner, all the first traffic flows determined in step S202 may be treated directly as one traffic subset, and then go to step S204.
S204, according to the information of the network device 200 and the change operation associated with each first service flow, a target forwarding path is determined for each first service flow, and according to the target forwarding path of each first service flow in each service subset, a corresponding change scheme is determined for each service subset.
The target forwarding path (or called a forwarding path after change) of a certain first service flow refers to a forwarding path corresponding to the first service flow after the network change (or all change operations corresponding to the network change) is executed. It should be understood that the forwarding paths of a certain first traffic flow before and after the network change may be the same or different, depending on the multiple changing operations to be performed by the network change.
The target forwarding path for each first traffic flow contains one or more network devices 200. In the target forwarding path of the same first traffic flow, the change operation corresponding to the latter network device 200 needs to be performed earlier than the change operation corresponding to the former network device 200. In other words, in the target forwarding path of the same first traffic flow, the execution sequence of the change operation corresponding to each network device 200 is opposite to the forwarding sequence of the packet of the first traffic flow on the target forwarding path.
The change scheme corresponding to each service subset comprises one or more execution steps with sequence, and each execution step comprises at least one change operation. It should be understood that, the change scheme corresponding to a certain service subset refers to the change scheme corresponding to all change operations corresponding to the service subset, and indicates the precedence relationship/execution order of all change operations corresponding to the service subset.
In a possible embodiment, first, according to the information and the plurality of changing operations of the network device 200, a label forwarding path is determined for each first traffic flow in each traffic subset; then, according to the target forwarding path corresponding to each first service flow in each service subset, determining a corresponding network equipment ordering for each service subset; and then, according to the network equipment sequence corresponding to each service subset, determining a corresponding change scheme for each service subset.
Continuing with the example in step S203, traffic subset a includes 5 first traffic flows, traffic flow 1, traffic flow 2, traffic flow 3, traffic flow 4, and traffic flow 5, respectively. According to the forwarding table of each network device 200 (i.e., tables 1 to 5 in step S201) and the plurality of changing operations corresponding to the network change (i.e., changing operation 1 to changing operation 10 in step S201), a target forwarding path (i.e., a forwarding path corresponding to the first traffic flow after the network change) may be determined for each first traffic flow in the traffic subset a:
Target forwarding path for traffic flow 1: NE1→ne2→ne3;
target forwarding path for traffic flow 2: NE2→ne3;
target forwarding path for traffic flow 3: NE3;
target forwarding path for traffic flow 4: NE4→ne2→ne3;
target forwarding path for traffic flow 5: NE5→ne3.
The topology map shown in fig. 7 may then be constructed from the target forwarding paths of each of the first traffic flows in the traffic subset a with the network device 200 involved in the target forwarding path as a node and the links in the target forwarding path as edges (band directions). Based on the topology map, a network device ordering may be determined for traffic subset a: [ NE3, (NE 2, NE 5), (NE 1, NE 4) ], wherein the more left network device 200 in brackets is ranked forward, it is noted that the plurality of network devices 200 in the same bracket are grouped, and the ranking therebetween is not limited.
Of course, the network device ordering may also be determined without the aid of a topology map, directly according to the following principles: in the target forwarding path of the same first traffic flow, the closer to the destination of the target forwarding path, the earlier the ordering of the network device 200, the closer to the destination of the forwarding path, the later the ordering of the network device 200; then, the network device ranks corresponding to all the first service flows in the service subset a are integrated, so that a final network device rank can be determined for the service subset a. The principle of integration is that the sequence of the plurality of network devices 200 in the network device sequence corresponding to a certain first service flow in the service subset a is consistent with the sequence of the plurality of network devices 200 in the network device sequence corresponding to the service subset a, that is, the sequence of the plurality of network devices 200 is unchanged. There may be a plurality of network devices 200 that are ranked the same (corresponding to grouping the network devices 200 together), and the change operation corresponding to the network device 200 that is ranked first needs to be performed preferentially.
It can be seen that the above-mentioned network device ordering includes 5 network devices 200, and according to their order, it is known that the change operation corresponding to NE3 needs to be performed first, then the change operations corresponding to NE2 and NE5 (the order of execution between the change operations corresponding to NE2 and NE5 is not limited), and finally the change operations corresponding to NE1 and NE 4. According to the above network device ordering and the multiple changing operations corresponding to the network change, a changing scheme can be determined, which includes the following 6 execution steps with sequence:
executing step A1, including a change operation 6;
executing step A2, including a change operation 5;
executing step A3, including a change operation 4 and a change operation 10;
executing a step A4, wherein the step A4 comprises a changing operation 3 and a changing operation 9;
executing step A5, wherein the step A comprises a changing operation 2 and a changing operation 8;
step A6 is performed, including a change operation 1 and a change operation 7.
Specifically, since the order of NE3 is the most forward in the above-described network device order, the change operation corresponding to NE3 needs to be performed first, and two change operations corresponding to NE3 are the change operation 6 (the action of adding a forwarding entry) and the change operation 5 (the action of deleting a forwarding entry), respectively. The execution sequence between different changing operations corresponding to the same network device 200 may be determined according to some principles, for example, the changing operation 6 may be placed in the executing step A1 and the changing operation 5 may be placed in the executing step A2 according to the "add before delete" principle, that is, the adding operation is executed first and the deleting operation is executed later, so that the changing operation 6 needs to be executed earlier than the changing operation 5. Of course, different changing operations corresponding to the same network device 200 may be placed in the same execution step, and the execution order may be executed simultaneously or may not be limited by the changing steps in the same execution step.
Because the order of the set of network devices 200 (NE 2, NE 5) in the above network device ordering is second, the change operation corresponding to NE2, NE5 is performed after the change operation corresponding to NE3, assuming that the "add-before-delete" principle is also followed, the change operation 4 and the change operation 10 corresponding to NE2 and NE5 respectively are put into the execution step A3, and then the change operation 3 and the change operation 9 corresponding to NE2 and NE5 respectively are put into the execution step A4. The determination of steps A5 and A6 is performed in a similar manner, which is not described here too.
In a possible embodiment, if a subset of services cannot determine a network device ordering, it is indicated that the network change that the user desires to perform cannot generate a lossless change scheme, it cannot be guaranteed that the service flow concerned by the user (i.e. the target service flow) is not damaged during the network change, and it may be necessary to readjust the network change requirement. The user may be prompted by an error, and the manner and content of the prompting are not particularly limited, for example, the network control device 100 may display, in the user interface, an alarm message that "the current network change cannot be completed in a business lossless manner".
S205, instructing the network device 200 corresponding to the plurality of changing operations to execute the plurality of changing operations according to the changing scheme corresponding to each service subset.
It should be understood that the modification scheme corresponding to a certain service subset only represents the precedence relation/execution sequence between the modification operations corresponding to the service subset, and the precedence relation/execution sequence between the modification operations corresponding to the service subset and the modification operations corresponding to other service subsets is not limited. The execution sequence among all the changing operations of the network change can be synthesized by the changing schemes corresponding to the service subsets.
For example, assume that there are 3 subsets of services, each subset of services having a corresponding change scheme, each change scheme including one or more execution steps, each execution step including one or more change operations. The network control device 100 may execute the modification schemes corresponding to the 3 service subsets one by one: firstly, according to the sequence of execution steps in a change scheme corresponding to a first service subset, sending change operations in each execution step in the change scheme to corresponding network equipment 200; then, according to the sequence of the execution steps in the modification scheme corresponding to the second service subset, the modification operation in each execution step in the modification scheme is sent to the corresponding network device 200; finally, according to the sequence of the execution steps in the modification scheme corresponding to the third service subset, the modification operation in each execution step in the modification scheme is sent to the corresponding network device 200.
Of course, the network control device 100 may also execute the modification schemes corresponding to the 3 service subsets in parallel, and the present application is not particularly limited.
In a possible embodiment, the modification schemes corresponding to the service subsets may be combined to generate the second modification scheme. The second modification scheme includes a plurality of batches (Batch) with a sequence, each Batch includes one or more execution steps, and different execution steps in the same Batch are derived from modification schemes corresponding to different service subsets, and the sequence between the execution steps is not limited. The lot in the second modification may be understood as an execution step in the second modification. And for each execution step in the change scheme corresponding to the same service subset, the precedence relationship of each execution step in the second change scheme is still unchanged. It should be understood that since each execution step includes at least one change operation and each batch includes one or more execution steps, it is directly understood that each batch includes at least one change operation. Then, the network control device 100 may transmit the change operation in each batch to the corresponding network device 200 in the order of the respective batches in the second change scheme.
For example, the modification scheme corresponding to the service subset a includes 6 execution steps (A1 to A6) in step S204, and assuming that the modification scheme corresponding to the other service subset B includes 2 execution steps, respectively B1 and B2, the two modification schemes may be combined to obtain a second modification scheme (including multiple batches), so long as the precedence relationship between the execution steps (or the modification operations) in the original modification schemes is ensured to remain unchanged in the second modification scheme.
For example, A1 and B1 may be combined as batch 1, then A2 and B2 are combined as batch 2, and A3 to A6 are sequentially taken as batch 3, batch 4, batch 5, and batch 6; alternatively, A1 may be used as batch 1, A2 and B1 may be combined into batch 2, A3, A4, A5 may be used as batch 3, batch 4, and batch 5 in sequence, and finally A6 and B2 may be combined into batch 6; it should be understood that other methods of combining are possible in addition to the two methods described above. The change operations in each batch are then sent to the corresponding network device 200 in the order of the batches in the second change scheme, without the sending order of each change operation in the same batch being limited.
In one possible embodiment, the network control device 100 generates a corresponding configuration message for each of the plurality of change operations, where the configuration message corresponding to each change operation is used to instruct the network device 200 corresponding to the change operation to perform the change operation. Then, the network control device 100 sends configuration messages corresponding to the changing operations in each batch to the corresponding network device 200 according to the sequence of the batches in the second changing scheme, so that the network device 200 executes the corresponding changing operations, thereby completing the network change.
It should be understood that the configuration messages corresponding to each change operation in the same batch are not limited in the sending order, and may be sent to the corresponding network device 200 at the same time; and the configuration messages corresponding to the changing operations in the different batches need to be sent to the corresponding network devices 200 according to the sequence of the batch in which the changing operations are located in the second changing scheme. It will be appreciated that multiple rounds of message interaction with the network device 200 by the network control device 100 may be required to perform one or more of the change operations for the same network device 200.
For example, assume that the determined second modification includes 3 lots, namely, lot 1, lot 2, and lot 3, and that lot 1 includes 3 modification operations, lot 2 includes 5 modification operations, and lot 3 includes 1 modification operation. The network control device 100 generates a corresponding configuration message for each of the 9 change operations, respectively, where the configuration message of each change operation is used to instruct the network device 200 corresponding to the change operation to perform the change operation.
Then, the network control device 100 sends configuration messages corresponding to the 3 changing operations in the batch 1 to the corresponding network devices 200 according to the order of the batches in the second changing scheme, so that the network devices 200 start to execute the corresponding changing operations according to the received configuration messages, and after each network device 200 completes the changing operations, the network control device 100 may be notified. When the network control device 100 determines that all the changing operations in the batch 1 have been performed, it continues to send configuration messages corresponding to the 5 changing operations in the batch 2 to the corresponding network device 200.
Similarly, when the network control device 100 determines that all the changing operations in the lot 2 have been performed, it continues to send the configuration message corresponding to the changing operation in the lot 3 to the corresponding network device 200. When the network control apparatus 100 determines that the change operations in the lot 3 are all performed, it may be determined that the network change is completed.
In yet another possible embodiment, the network control device 100 generates a configuration message for each of the plurality of changing operations, and the configuration message carries batch information. The configuration message corresponding to a certain change operation is used to inform the network device 200 that the change operation needs to be performed, and the lot information in the configuration message is used to describe a specific lot where the change operation is located.
Then, the network control device 100 transmits the configuration messages corresponding to the plurality of changing operations to the corresponding network device 200, and the sequence of transmitting the configuration messages is not limited, for example, the configuration messages may be transmitted to the corresponding network device 200 at one time. When each network device 200 receives the configuration message, it may determine which modification operations and the specific lot where the modification operations are to be performed, but the network device 200 may not perform the modification operations temporarily, and may wait for an instruction from the network control device 100. When the network control device 100 determines that each network device 200 has received the corresponding configuration message, the corresponding network device 200 may be sequentially instructed to perform the changing operation in each batch according to the order of the batches in the second changing scheme.
For example, assume that the determined second modification includes 3 lots, namely, lot 1, lot 2, and lot 3, and that lot 1 includes 3 modification operations, lot 2 includes 5 modification operations, and lot 3 includes 1 modification operation. And generating corresponding configuration messages for each of the 9 changing operations respectively to obtain 9 configuration messages, wherein each configuration message contains batch information thereof. For example, the configuration message corresponding to the change operation 1 is used to inform the network device 200 corresponding to the change operation 1 that the change operation 1 needs to be executed, and the batch information in the configuration message indicates that the change operation 1 belongs to the batch 1, and the configuration messages of other change operations are the same.
Then, the network control device 100 transmits the configuration messages corresponding to the plurality of change operations to the respective network devices 200, and the network control device 100 may simultaneously transmit the configuration messages corresponding to the plurality of change operations. After receiving the configuration message, each network device 200 may provide a feedback message to the network control device 100, respectively, to indicate that the network device has received the corresponding configuration message.
After the network control device 100 determines that each network device 200 has received the corresponding configuration message (or after the time for sending the configuration message exceeds the set value), the network control device 100 first sends indication information to the network devices 200 targeted for the change operation in the lot 1 according to the order of the lots in the second change scheme, so as to instruct them to start to perform the change operation belonging to the lot 1. For example, after receiving a message indicating to execute a change operation in batch 1 sent from the network control device 100, a certain network device 200 determines, according to a configuration message received previously, which change operations that itself needs to execute are of batch 1, then starts to execute the change operation of batch 1, and feeds back to the network control device 100 after execution is completed. When the network control apparatus 100 determines that all the change operations in the lot 1 are performed, it continues to send an instruction message to the network apparatus 200 for which the change operations in the lot 2 are directed to instruct them to start performing the change operations belonging to the lot 2.
Similarly, when the network control device 100 determines that all the changing operations in the lot 2 have been performed, it continues to send instruction information to the network device 200 for which the changing operations in the lot 3 are directed to instruct them to start performing the changing operations belonging to the lot 3. When the network control apparatus 100 determines that the change operations in the lot 3 are all performed, it may be determined that the network change is completed.
In a possible embodiment, there may be a change operation that is not associated with any traffic, that is, the attribute of the change operation does not match the attribute of any traffic (or the target traffic), indicating that the change operation does not affect these traffic. For a change operation that is not associated with any traffic stream, it can be placed directly into any batch to be performed with the change operation in that batch.
In summary, in the embodiment of the present application, the execution sequence of the plurality of to-be-executed change operations is arranged based on the service flows associated with the plurality of to-be-executed change operations, so that the service flows are not damaged as much as possible in the network change process by the finally generated change scheme. The network control device 100 can directly send the change operation to the corresponding network device 200 according to the change scheme, and the change operation is not required to be sent after complex verification is performed on each execution step in the change scheme, so that the pre-processing procedure of the change operation sending is simplified. In addition, the embodiment of the application can combine the change schemes corresponding to different service subsets to generate the second change scheme, thereby realizing step compression (compressing into batches) and improving the efficiency of network change.
Referring to fig. 8, fig. 8 is a flowchart of another method for network modification provided in an embodiment of the present application, where the method is used by the network control device 100, and may include the following steps:
s801, a plurality of first changing operations are acquired, and the plurality of first changing operations are associated with a first service flow.
The concept of the first modification operation is identical to that of the modification operation described in step S201, and the description is not repeated here.
In one possible embodiment, the obtaining the plurality of first change operations may be: the network control apparatus 100 acquires a plurality of first change operations input by the user, that is, the user may directly input the plurality of first change operations in the operation interface provided by the network control apparatus 100.
In yet another possible embodiment, the obtaining the plurality of first change operations may be: the network control apparatus 100 acquires the network change demand/intention input by the user, and then generates a plurality of first change operations according to the network change demand/intention, that is, the plurality of first change operations may be automatically generated by the network control apparatus 100.
For details of the above two embodiments, please refer to the related description in step S201, which is not described herein.
In a possible embodiment, the plurality of first altering operations associated with the first traffic stream comprises: the attributes of the first traffic stream match the attributes of the plurality of first altering operations. The attribute of the first traffic flow may include a source IP address, a destination IP address, a source interface, a destination interface, a protocol number, a source device, a destination device, etc., which is not particularly limited by the present application. The properties of the altering operation may include parameters of the altering operation and/or parameters of a configuration item affected by the altering operation, and the parameters of the configuration item may include an IP address, a port number, a protocol number, and the like, and are not particularly limited.
That is, if the attribute of a first change operation matches the attribute of a first traffic stream, it is stated that the first change operation is associated with the first traffic stream, which may be affected by its associated first change operation. If the attribute of each of the plurality of first change operations can be matched with the attribute of the first traffic stream, the plurality of first change operations are all change operations associated with the first traffic stream. The attribute of the first traffic flow matches a certain first change operation, and the attribute of the first change operation may include all attributes of the first traffic flow. For example, if all the attributes of the first traffic flow include the IP address and the port number, the attributes of the first traffic flow match the change operation if the attributes of the first change operation also include the IP address and the port number. The attribute of the first traffic flow matches a certain first change operation, and the attribute of the first change operation may further include one or more of all the attributes of the first traffic flow. For example, all attributes of the first traffic flow include an IP address and a port number, and if the attribute of the first change operation includes the IP address or the port number, the attribute of the first traffic flow matches the change operation.
For example, suppose that the user wants to add a forwarding entry with a destination address of "X" and a next hop of "Y" to the network device 200, where "X" and "Y" represent two IP addresses, respectively. Then, the user inputs a first change operation on the operation interface provided by the network control device 100 to indicate the network change requirement, where the parameters of the first change operation include the destination address parameter "X" and the next hop parameter "Y" and the identification (name or ID number, etc.) of the network device 200. Assume that the attributes of a certain first traffic flow include a source IP address "Z" and a destination IP address "X". The network control device 100 compares the attribute of the first service flow with the attribute of the first change operation, specifically, compares the attribute of the first service flow with the parameter of the first change operation, and finds that the destination IP address attribute of the first service flow and the destination address parameter of the first change operation can be matched and are both "X". Thus, it may be determined that the first traffic flow and this first altering operation are associated.
For another example, assume that there are multiple configuration items in the network device 200, and each configuration item has a corresponding number. The user wants to delete the configuration item numbered "8" in the network device 200, and the configuration item numbered "8" in the network device 200 is specifically a static ACL entry whose parameters include the port number "XXX" and the source IP address "Z". Then, the user inputs a first change operation through the operation interface provided by the network control device 100 to indicate the network change requirement, wherein the parameters of the first change operation include the identifier of the network device 200 and the number "8". It should be appreciated that the attributes of the first change operation include not only the above-described parameters of the change operation, but also parameters of the configuration item (i.e., the above-described ACL entry) affected by the change operation (including the above-described source IP address "Z" and port number "XXX"). Assume that the attributes of a certain first traffic flow include a source IP address "Z", a destination IP address "X", a source port "XXX", and a destination port "B". The network control device 100 compares the attribute of the first service flow with the attribute of the first change operation, and finds that the source IP address attribute of the first service flow and the source IP address parameter of the first change operation can be both matched and are both "Z", and that the source port attribute of the first service flow and the port number parameter of the first change operation can also be both matched and are both "XXX". Then, it may be determined that the first traffic flow is associated with the first altering operation.
For another example, assume that the user wants to add a NAT configuration item with an internal local address (inside local address) parameter of "J", an internal global address (instrideglobal address) parameter of "X", and an external global address (outideglobal address) parameter of "Y" to the network device 200, and then the user inputs a first change operation through an operation interface provided by the network control device 100 to indicate the network change requirement. The parameters of the first change operation include the identifier of the network device 200, the internal local address parameter is "J", the internal global address parameter is "X", and the external global address parameter is "Y". Assume that the attributes of a certain first traffic flow include a source IP address "X" and a destination IP address "Y". The network control device 100 compares the attribute of the first service flow with the attribute of the first change operation, and finds that the source IP address attribute of the first service flow and the internal global address parameter of the first change operation can be matched and are both "X", and that the destination IP address attribute of the first service flow and the external global address parameter of the first change operation can also be matched and are both "Y". Then, it may be determined that the first traffic flow is associated with the first altering operation.
For other content how to determine whether a certain traffic flow and a certain change operation are associated (or correspond to) or not, please refer to the relevant part in step S202, which is not repeated here.
In one possible embodiment, the user may input information of a plurality of target traffic flows in an operation interface provided by the network control apparatus 100, and then the network control apparatus 100 determines one or more first change operations associated with the plurality of target traffic flows from the plurality of first change operations according to the information of the plurality of target traffic flows. The target traffic is a traffic of interest to the user, and the method for determining the first traffic from the plurality of target traffic, please refer to the related content in step S202, is not repeated here.
S802, determining a first execution sequence of the plurality of first change operations according to the first service flow.
Wherein the first execution order comprises a sequence in which the plurality of first change operations are executed on at least one first network device, the at least one first network device being a network device with which the plurality of first change operations are associated. It should be noted that the first execution sequence herein may be understood as a modification or a second modification described in step S204/S205, which is not described herein.
The first network device may be a router, a switch, a gateway, a bridge, a server, a repeater, a firewall, etc., and the application is not particularly limited.
For example, assume that there are M first change operations, each of which has an associated network device (i.e., the corresponding network device, or network device to which the first change operation is to be performed), which are associated with N network devices in total, where M, N is a positive integer. The first order of execution of the M first change operations includes an order in which the M change operations are executed on the N network devices.
In a possible embodiment, the first execution order is opposite to a forwarding order of the packets of the first traffic flow on a forwarding path after the first traffic flow is changed, where the forwarding path after the first traffic flow is changed is a forwarding path of the first traffic flow after the plurality of first changing operations are executed, and the forwarding path after the first traffic flow is changed includes the at least one first network device. The concept of the modified forwarding path is identical to that of the target forwarding path described in step S204, and is not described here.
For example, suppose there are the following six first altering operations:
first change operation 1: deleting forwarding table entries with prefixes 172.16.0.0/30 in NE1 (i.e., changing prefix parameters of operation 1) and with next hops being NE4 (i.e., changing next hop parameters of operation 1);
first change operation 2: adding a forwarding table item with a prefix of 172.16.0.0/30 and a next hop of NE2 in NE 1;
first change operation 3: deleting forwarding table entries with prefixes 172.16.0.0/30 and next hops of NE4 in NE 2;
first change operation 4: adding a forwarding table item with a prefix of 172.16.0.0/30 and a next hop of NE3 in NE 2;
first change operation 5: deleting forwarding table entries with prefixes 172.16.0.0/30 and next hops of NE5 in NE 3;
first change operation 6: adding forwarding table items with prefix 172.16.0.0/30 and interface 4 with interface NE3 in NE 3;
assuming that the attributes of a certain first traffic flow include source equipment "NE1" and destination IP address "172.16.0.0/30", it can be seen that the destination IP address attribute of the traffic flow and the prefix parameters of the six first change operations are all matched, and thus it can be determined that all the six first change operations are associated with the first traffic flow.
As shown in fig. 3, assume that the current forwarding path of the first traffic flow is: NE1→ne4→ne5. As shown in fig. 4, if the above six first altering operations are performed, the forwarding paths of the first traffic flow will be altered as follows: NE1→ne2→ne3 (i.e., the forwarding path after the first traffic flow change). It can be understood that the forwarding order of the message of the first service flow on the forwarding path of "NE1→ne2→ne3" is: the message originates from NE1 and is then forwarded to NE2 and then to NE3.
Since the first execution order of the above-described six first change operations is required to be opposite to the above-described forwarding order, the first execution order may be: the execution order of the left change operation in the brackets is more advanced, and the execution order between the change operations in the same bracket is not limited, and the [ (first change operation 5, first change operation 6), (first change operation 3, first change operation 4), (first change operation 1, first change operation 2) ]. The first execution sequence mentioned above indicates that the first changing operations 5 and 6 associated with the NE3 are to be executed first, and the execution sequence between the first changing operation 5 and the first changing operation 6 is not limited, for example, the first changing operation 5 and the first changing operation 6 may be executed simultaneously, or one may be executed first and the other may be executed second; then, executing the first changing operations 3 and 4 corresponding to the NE2, and similarly, the execution sequence between the first changing operations 3 and 4 is not limited; and finally, executing first change operations 1 and 2 corresponding to the NE 1.
Of course, the execution sequence among the plurality of first modification operations associated with the same network device may also be arranged according to some principles (refer to the related content in step S204). For example, NE3 associates first change operations 5 and 6, and may execute first change operation 6 first and then execute first change operation 5 according to the "add-before-delete" principle, and then the first execution sequence of the six first change operations may further be: the first changing operation 6, the first changing operation 5, the first changing operation 4, the first changing operation 3, the first changing operation 2, and the first changing operation 1, wherein the order of execution of the changing operations on the left side in brackets is the front. It should also be appreciated that the order of execution among the plurality of first altering operations associated with the same network device is not limited and may be performed simultaneously or in any order.
S803 indicates at least one first network device to execute the plurality of first change operations according to the first execution order.
It should be noted that, the "at least one first network device" is a network device associated with the plurality of first changing operations, that is, a network device that needs to perform the plurality of changing operations, and there may be one or more first network devices. It should be understood that the first network device and the second network device below are both the same concepts as the network device 200 described above, and are not described here in detail.
In one possible embodiment, step S803 may include: generating a plurality of configuration messages, wherein the correspondence between the plurality of configuration messages and the plurality of first change operations is one-to-one correspondence, and each configuration message in the plurality of configuration messages is used for indicating a first network device associated with the first change operation corresponding to the configuration message to execute the corresponding first change operation; the plurality of configuration messages are sequentially sent to the at least one first network device in a first order of execution.
Assume for the example in the accepting step S802 that the first execution order determined by the network control apparatus 100 is: first change operation 6, first change operation 5, first change operation 4, first change operation 3, first change operation 2, first change operation 1. The network control device 100 may generate six configuration messages, where the six configuration messages correspond to the six first changing operations one to one, and each configuration message is configured to instruct the network device associated with the first changing operation corresponding to the configuration message to perform the first changing operation corresponding to the configuration message.
For example, the configuration message corresponding to the first change operation 6 is used to instruct the NE3 to perform the first change operation 6, the configuration message corresponding to the first change operation 5 is used to instruct the NE3 to perform the first change operation 5, the configuration message corresponding to the first change operation 4 is used to instruct the NE2 to perform the first change operation 4 … …, and then, the network control device 100 sequentially sends the 6 configuration messages to the corresponding first network device according to the first execution sequence.
Specifically, the network control device 100 first sends a configuration message corresponding to the first change operation 6 to the NE3 according to the first execution order, and the NE3 can know that the change operation 6 needs to be executed according to the configuration message. Upon receiving the configuration message, NE3 may immediately perform the first change operation 6 according to the configuration message, and after the completion of the execution, send a feedback message to the network control device 100 to indicate that the first change operation 6 is performed. When the network control device 100 confirms that the first changing operation 6 has been performed, the network control device 100 then transmits a configuration message corresponding to the first changing operation 5 to the NE3.
Similarly, when the network control device 100 confirms that the first changing operation 5 has been performed, the network control device 100 continues to send a configuration message corresponding to the first changing operation 4 to the NE2, so as to instruct the NE2 to perform the first changing operation 4. The transmission modes of the following first changing operations are the same.
In yet another possible embodiment, step S803 may include: generating at least one configuration message, wherein the correspondence between the at least one configuration message and the at least one first network device is one-to-one correspondence, and each configuration message in the at least one configuration message comprises one or more change operations associated with the first network device corresponding to the configuration message and the execution sequence of the one or more change operations associated with the first network device corresponding to the configuration message; and respectively sending the at least one configuration message to the corresponding first network equipment according to the first execution sequence.
Assume for the example in the accepting step S802 that the first execution order determined by the network control apparatus 100 is: first change operation 6, first change operation 5, first change operation 4, first change operation 3, first change operation 2, first change operation 1. The network control device 100 may generate three configuration messages that are in one-to-one correspondence with the three first network devices (i.e., NE1, NE2, and NE 3) associated with the six first change operations, each configuration message including one or more first change operations to be performed by the network device corresponding thereto and an execution order between the first change operations.
For example, the configuration message corresponding to NE1 includes a first change operation 1 and a first change operation 2 to be executed by NE1, and further includes an execution sequence between them, that is, the first change operation 2 is executed earlier than the first change operation 1, and the configuration message is used to instruct NE1 to execute the first change operation 1 and the first change operation 2 in reverse order. Then, the network control device 100 sends the three configuration messages to the corresponding first network devices according to the first execution sequence.
Specifically, the network control apparatus 100 first transmits a configuration message corresponding to the NE3 in the first execution order described above, from which the NE3 can know that it needs to execute the first change operations 5 and 6, and needs to execute both in the reverse order. The NE3 may send a feedback message to the network control device 100 immediately after receiving the configuration message to indicate receipt, or the NE3 may send a feedback message to the network control device 100 after sequentially performing the first changing operations 6 and 5 to indicate that the first changing operations 6 and 5 have been performed.
When the network control device 100 confirms that the first changing operations 6 and 5 have been performed, the network control device 100 may continue to transmit the configuration message corresponding to the NE2. Similarly, when the network control apparatus 100 confirms that the first changing operations 4 and 3 have been performed, it continues to transmit the configuration message corresponding to NE1.
In yet another possible embodiment, step S803 may include: generating at least one configuration message, wherein the corresponding relation between the at least one configuration message and the at least one first network device is one-to-one correspondence, and each configuration message in the at least one configuration message comprises one or more change operations associated with the first network device corresponding to the configuration message; respectively sending the at least one configuration message to the corresponding first network equipment; and sequentially indicating the at least one first network device to execute one or more changing operations included in the corresponding configuration message according to the first execution sequence.
Assume for the example in the accepting step S802 that the first execution order determined by the network control apparatus 100 is: first change operation 6, first change operation 5, first change operation 4, first change operation 3, first change operation 2, first change operation 1. The network control device 100 generates three configuration messages, which correspond one-to-one to the NE1, NE2 and NE3, each of which includes one or more first change operations to be performed by the network device corresponding thereto. For example, the configuration message corresponding to NE1 includes a first change operation 1 and a first change operation 2 to be performed by NE 1.
Then, the network control device 100 sends the three configuration messages to the corresponding first network devices, which may be sent simultaneously or one by one, and is not limited. It will be appreciated that NE1, NE2 and NE3, based on the respective received configuration messages, may be aware of which first change operations they need to perform, but not in the specific order of execution, and so will not be executed temporarily. Next, the network control apparatus 100 instructs the NE3, NE2, and NE1 to execute the first change operation contained in the configuration message received by each in order of the first execution order described above.
Specifically, the network control device 100 first transmits configuration messages corresponding to the NE1, the NE2, and the NE3 to them, respectively, and the NE1, the NE2, and the NE3 can know which first change operations need to be performed by themselves according to the configuration messages received by themselves, but do not know specific execution sequence and execution time, do not start execution for a while, and can wait for the instruction of the network control device 100 to follow. Then, the network control device 100 instructs the NE3 to execute the first change operation 6 in the configuration message received by the NE according to the first execution sequence, which may specifically be: an indication message is sent to NE3 indicating that the first change operation numbered "6" is to be performed, whereupon NE3 may determine that the first change operation 6 is to be performed and then begin execution based on the previously received configuration message and the number in the indication message.
It should be noted that, in addition to the above numbers, the indication message may also include other information, for example, the lot where the change operation is located, and the network device 200 may also determine the change operation to be performed according to the identification of the lot in the indication message. At this time, the configuration message corresponding to each network device 200 includes, in addition to the changing operations to be executed by the network device 200, information of the lot in which the changing operations are located. For the lot, please refer to the related content in step S205, the description is not repeated here.
When the network control device 100 receives feedback that the first changing operation 6 has been performed, the network control device 100 may continue to instruct the NE3 to perform the first changing operation 5. Similarly, when the network control device 100 determines that the NE3 has performed the first change operation 5, the network control device 100 continues to instruct the NE2 to perform the first change operation 4 in the configuration message it received. The following first change operations are indicated in the same manner.
In a possible embodiment, the method of fig. 8 may further comprise: acquiring a plurality of second changing operations, the plurality of second changing operations being associated with a second traffic flow; determining a second execution sequence of the plurality of second changing operations according to the second service flow, wherein the second execution sequence is opposite to the forwarding sequence of the message of the second service flow on a forwarding path after the second service flow is changed, and the forwarding path after the second service flow is changed comprises at least one second network device; determining a third execution sequence of the plurality of first changing operations according to the first service flow; determining a first execution sequence according to the second execution sequence and the third execution sequence; and instructing at least one first network device and at least one second network device to execute the plurality of first changing operations and the plurality of second changing operations according to the first execution sequence respectively.
In the above-described embodiment, the network control apparatus 100 may determine the execution order of the plurality of modification operations associated with each traffic flow according to the traffic flow, and determine one execution order based on the plurality of execution orders corresponding to the plurality of traffic flows, respectively. Please refer to the related content in the foregoing step S205 (the service subset is acquired based on the service flows, and the execution sequence of the plurality of modification operations associated with each service flow in the service subset is determined according to the execution sequence of the modification operations associated with the service subset), which is not described herein. In a possible embodiment, the plurality of first changing operations includes a first operation, the plurality of second changing operations includes a second operation, and the first operation and the second operation correspond to a first executing step in a first executing sequence.
It can be seen that the first operation is one of a plurality of first change operations associated with the first traffic flow, the second operation is one of a plurality of second change operations associated with the second traffic flow, and the first operation and the second operation are two different change operations. And a plurality of changing operations are executed in the same executing step, so that the network changing efficiency is improved. For example, referring to step S204, performing step A3 includes a change operation 4 associated with traffic stream 1 and a change operation 10 associated with traffic stream 5.
In one possible embodiment, the first traffic stream and the second traffic stream may be among the same subset of traffic.
In yet another possible embodiment, the first traffic stream and the second traffic stream may be in different subsets of traffic.
For how to divide the service subsets and which service flows are contained in the same service subset, please refer to the relevant content in step S203, which is not repeated here.
In one possible embodiment, the first operation and the second operation are associated to different network devices. For example, referring to step S204, performing step A3 includes a change operation 4 and a change operation 10, the change operation 4 being associated with the network equipment NE2, the change operation 10 being associated with the network equipment NE5.
In yet another possible embodiment, the first operation and the second operation are associated to the same network device.
That is, the network devices they are associated with may be different or the same for two different change operations that are incorporated into the same execution step. For two changing operations associated with different network devices in the same execution step, the network control device can send the two changing operations to the corresponding network devices at the same time, so as to improve the efficiency of network changing. For two changing operations associated with the same network device in the same execution step, the network control device 100 may send them to the network device together, without sending the two changing operations to the network device separately, so as to reduce the number of message interactions between the network control device and the network device, and improve the efficiency of network changing.
In a possible embodiment, the plurality of first changing operations further includes a third operation, where the third operation is associated with a different network device than the first operation; the third operation corresponds to a second execution step in the first execution order; when the network equipment associated with the third operation is positioned behind the network equipment associated with the first operation on the forwarding path after the first service flow is changed, the second execution step is earlier than the first execution step in the first execution sequence; when the network device associated with the third operation is located before the network device associated with the first operation on the forwarding path after the first traffic flow is changed, the second execution step is later than the first execution step in the first execution order.
It can be seen that the first operation and the third operation are two of the plurality of first changing operations, the first operation and the third operation are located in a third execution order corresponding to the plurality of first changing operations, and the first operation and the second operation are located in a first execution step in the first execution order, and the third operation is located in a second execution step in the first execution order. If the third operation is earlier in the third execution order than the first operation, then the third operation is earlier in the first execution order than the first operation, i.e. the precedence relationship of the first operation and the third operation in the first execution order and the third execution order is the same, and because the first operation and the second operation are located in the same execution step in the first execution order, the third operation is earlier in the first execution order than the second operation. If the third operation is later than the first operation in the third execution order, then the third operation is also later than the first operation in the first execution order, and the third operation is also later than the second operation in the first execution order.
In one possible implementation, the first execution sequence includes an execution sequence of a plurality of execution steps, each execution step including at least one change operation. The first change operations are in the same order as the first change operations in the third execution order, and the second change operations are in the same order as the first change operations in the second execution order. The number of the plurality of execution steps in the first execution sequence is less than a sum of the number of the plurality of first altering operations and the number of the plurality of second altering operations.
That is, when the first execution sequence is determined according to the third execution sequence corresponding to the plurality of first change operations and the second execution sequence corresponding to the plurality of second change operations, the execution sequence of the plurality of first change operations is unchanged, the order of the plurality of first change operations in the first execution sequence is consistent with the order of the plurality of second change operations in the third execution sequence, and the order of the plurality of second change operations in the first execution sequence is unchanged. Therefore, the first plurality of changing operations and the second plurality of changing operations are executed according to the first execution sequence, so that the first service flow and the second service flow are not damaged as much as possible in the process of changing the network. In addition, one first change operation and one second change operation can be simultaneously executed in one execution step of the first execution sequence, so that a plurality of first change operations and a plurality of second change operations are executed according to the first execution sequence, the plurality of change operations can be simultaneously executed, and the efficiency of network change is improved. For example, assuming that the first traffic stream and the second traffic stream are located in different subsets of traffic, there is no coincidence of their associated first change operations, wherein the first change operation associated with the first traffic stream includes operation 1, operation 2, and the first change operation associated with the second traffic stream includes operation 3 and operation 4. Assume that the third execution order determined from the first traffic flow is: operation 1, operation 2, i.e. operation 1 is performed earlier than operation 2; the second execution sequence determined according to the second service flow is: operation 3, operation 4, i.e., operation 3 is performed earlier than operation 4. According to the third execution order and the second execution order, the first execution order for the 4 modification operations may be determined.
The first execution order may have the following seven possibilities:
1) [ operation 1, operation 3, (operation 2, operation 4) ].
It can be seen that operation 1 is located at a first execution step in the first execution order, operation 3 is located at a second execution step in the first execution order, and operation 2 and operation 4 are located at a third execution step in the first execution order.
For example, the network control device 100 may generate 4 configuration messages first, which 4 configuration messages correspond one-to-one to operations 1 to 4. Then, the network control device 100 first transmits the configuration message corresponding to operation 1 to the network device corresponding to operation 1 according to the first execution order. When the network control device 100 confirms that the operation 1 has been performed, the network control device 100 may transmit a configuration message corresponding to the operation 3 to the network device corresponding to the operation 3. Likewise, when the network control device 100 confirms that the operation 3 has been performed, the network control device 100 may continue to transmit the configuration message corresponding to the operation 2 and the configuration message corresponding to the operation 4 to the corresponding network devices, respectively. The order in which the configuration messages corresponding to operation 2 and operation 4 are transmitted is not limited: the configuration message corresponding to the operation 2 and the operation 4 can be simultaneously sent to the corresponding network equipment; the configuration message corresponding to the operation 2 may be sent to the network device 200 corresponding to the operation 2, and then the configuration message corresponding to the operation 4 may be sent to the network device 200 corresponding to the operation 4; the configuration message corresponding to the operation 4 may be sent to the corresponding network device first, and then the configuration message corresponding to the operation 4 may be sent to the corresponding network device.
2) [ operation 3, operation 1, (operation 2, operation 4) ].
3) [ operation 1, (operation 2, operation 3), operation 4].
It can be seen that operation 1 is located at the first execution step in the first execution order, operation 2 and operation 3 are located at the second execution step in the first execution order, and operation 4 is located at the third execution step in the first execution order.
For example, assuming that operation 1 corresponds to NE1, operation 2, operation 3, and operation 4 correspond to NE2, network control device 100 may generate two configuration messages, which are one-to-one corresponding to NE1 and NE2, each configuration message including one or more change operations to be performed by network device 200 corresponding to the configuration message and an execution order between the change operations, and each configuration message being used to instruct the network device corresponding to the configuration message to perform the change operations included in the configuration message. For example, the configuration message corresponding to NE1 includes operation 1 to be executed by NE1, the configuration message corresponding to NE2 includes operation 2, operation 3 and operation 4 to be executed by NE1, and further includes execution sequence information between operation 2, operation 3 and operation 4, that is, operation 2 and operation 3 are executed earlier than operation 4, and the execution sequence between operation 2 and operation 3 is not limited.
Then, according to the first execution order, the network control device 100 may first send the configuration message corresponding to the operation 1 to the NE1, and the NE1 may start to execute the operation 1 according to the received configuration message, and after the execution of the operation 1 is completed, the NE1 may send feedback information to the network control device 100. After network control device 100 receives feedback from NE1, it may send its corresponding configuration message to NE 2. The NE2 can determine that the operation 2 and the operation 3 are executed first according to the received configuration message, and the execution sequence between the operation 2 and the operation 3 is not limited; after NE2 has performed operations 2 and 3, operation 4 is continued. After operation 4 is completed, NE2 may send a feedback message to network control device 100. After receiving the feedback message from NE2, network control device 100 may determine that all the modification operations corresponding to the first execution order have been executed, and this time the network modification process ends.
4) [ (operation 1, operation 3), operation 2, operation 4].
It can be seen that both operation 1 and operation 3 are located at a first execution step in the first execution order, operation 2 is located at a second execution step in the first execution order, and operation 4 is located at a third execution step in the first execution order.
For example, let operation 1 and operation 4 correspond to NE1, and operation 2 and operation 3 correspond to NE2. The network control device 100 may generate two configuration messages, where each configuration message includes a change operation to be performed by the network device corresponding to the configuration message and an identifier of the change operation. For example, the configuration message corresponding to NE1 includes operation 1 and operation 4, an identification of operation 1 (for example, a change operation number "1" of operation 1 or a step number "(1)") of a first execution step where operation 1 is located, and an identification of operation 4 (for example, a change operation number "4" of operation 4 or a step number "(3)") of a third execution step where operation 1 is located; the configuration message corresponding to NE2 includes operation 2 and operation 3, an identification of operation 2 (for example, a change operation number "2" of operation 2 or a step number "(2)" of a second execution step where operation 2 is located), and an identification of operation 3 (for example, a change operation number "3" of operation 3 or a step number "(1)" of a first execution step where operation 3 is located).
Then, the network control apparatus 100 transmits the above two configuration messages to NE1 and NE2, respectively, the transmission order being not limited. NE1 and NE2 can know which change operations to perform based on their own received configuration messages, but do not know the order of execution, and do not perform at all. When the network control device 100 determines that both the configuration messages have been successfully transmitted, it may instruct NE1 to perform operation 1 and NE2 to perform operation 3 in the first execution order described above (may send the indication messages to NE1 and NE2, respectively, the indication message of NE1 includes the identity of operation 1, and the indication message of NE2 includes the identity of operation 3), so that NE1 may determine that operation 1 is to be performed and start to be performed according to the indication message, and NE2 determines that operation 3 is to be performed and starts to be performed according to the indication message. When the network control device 100 determines that both operations 1 and 3 have been performed, it sends an indication message to NE2 to instruct it to perform operation 2. When the network control device 100 determines that operation 2 has been performed, it sends an indication message to NE1 to instruct it to perform operation 4.
5) [ (operation 1, operation 3), operation 4, operation 2].
6) [ (operation 1, operation 3), (operation 2, operation 4) ].
It can be seen that both operation 1 and operation 3 are located at a first execution step in the first execution order, and both operation 2 and operation 4 are located at a second execution step in the first execution order.
For example, the network control device 100 may generate 4 configuration messages, which correspond to operations 1 to 4 one by one, and then the network control device 100 may simultaneously transmit the configuration message corresponding to operation 1 and the configuration message corresponding to operation 3 in the first execution step to the corresponding network device.
When the network control device 100 receives the feedback that the operation 1 is performed and the feedback that the operation 3 is performed, it may continue to send the configuration message corresponding to the operation 2 and the configuration message corresponding to the operation 4 to the corresponding network devices at the same time. Or when the network control device 100 receives the feedback that the operation 1 is performed completely, continuing to wait for receiving the feedback that the operation 3 is performed completely, if the network control device 100 receives the feedback that the operation 3 is performed completely within the preset waiting time, continuing to send the configuration message corresponding to the operation 2 and the configuration message corresponding to the operation 4 to the corresponding network device at the same time; if the network control device 100 does not receive feedback that the operation 3 has been performed within the preset waiting time, the configuration message corresponding to the operation 2 in the second execution step may be sent to the corresponding network device, and after the network control device 100 receives feedback that the operation 3 has been performed, the configuration message corresponding to the operation 4 in the second execution step may be sent to the corresponding network device.
7) [ operation 3, (operation 1, operation 4), operation 2].
It should be understood that the first execution order actually generated by the network control device 100 may be any of the above seven cases, and then, the network control device 100 instructs the corresponding network device 200 to perform the above four first modification operations (i.e., operation 1, operation 2, operation 3, and operation 4) according to the generated first execution order, which will not be described herein.
In summary, the embodiment of the present application arranges the execution sequence of the plurality of changing operations to be executed based on the first service flow associated with the plurality of changing operations to be executed, so as to obtain the first execution sequence of the plurality of changing operations. The first execution sequence is opposite to the forwarding sequence of the message of the first service flow on the forwarding path after the first service flow is changed. The network control device instructs the corresponding network device to execute the plurality of first changing operations according to the first execution sequence, so that the first service flow is not damaged as much as possible in the execution process of the plurality of changing operations. For example, according to the first execution order, it is assumed that the change operation corresponding to the network device that is next to the forwarding path after the change of the first traffic flow is just performed, but the change operation corresponding to the network device that is next to the forwarding path after the change is not performed yet, and the forwarding path after the change corresponds to the second half of the construction completion. If there is a message of the first traffic flow to be forwarded, it can still use the former part of the forwarding path before the first traffic flow is changed, and then use the completed latter part of the forwarding path after the change, so as to be able to forward to the destination. Therefore, by adopting the first execution sequence in the application, the message of the first service flow can still reach the destination in the execution process of the change operation related to the first service flow, and the message is not influenced by the change process. If the first execution sequence in the present application is not adopted, it is assumed that the change operation corresponding to the network device that is located before the changed forwarding path is executed first, but the change operation corresponding to the network device that is located after the changed forwarding path is not executed yet, and the changed forwarding path is equivalent to only the first half of the construction completion. If the message of the first service flow is to be forwarded, the first half path which is completed in the forwarding path after the change is adopted, but the second half path of the forwarding path after the change is not completed at this time, the message of the first service flow may not reach the destination, and the first service flow is damaged.
If there are multiple service flows, each service flow has one or more associated change operations, then for each service flow, a corresponding execution sequence may be determined for the one or more associated change operations of the service flow, and then the execution sequences corresponding to the multiple service flows are combined, so as to determine a final execution sequence. The final execution sequence aims at all the change operations related to all the service flows, so that the service flows are not damaged in the execution process of the change operations related to the service flows, the high-reliability network change is realized, and the execution steps of the network control equipment for executing the change operations are reduced, thereby improving the efficiency of the network change.
Referring to fig. 9, fig. 9 is a schematic structural diagram of a network control device 100 according to an embodiment of the present application, where the network control device 100 includes an obtaining module 101, a determining module 102, and an indicating module 103.
The obtaining module 101 is configured to obtain a plurality of first changing operations, where the plurality of first changing operations are associated with a first service flow.
A determining module 102 is configured to determine a first execution order of the plurality of first modification operations according to the first traffic flow.
An indication module 103, configured to instruct at least one first network device to perform the plurality of first modification operations according to a first execution order.
In a possible embodiment, the plurality of first altering operations associated with the first traffic stream comprises: the attributes of the first traffic stream are matched with the attributes of the plurality of first altering operations.
In a possible embodiment, the first execution order is opposite to a forwarding order of the packets of the first traffic flow on a forwarding path after the first traffic flow is changed, where the forwarding path after the first traffic flow is changed is a forwarding path of the first traffic flow after the plurality of first changing operations are executed, and the forwarding path after the first traffic flow is changed includes the at least one first network device.
In a possible embodiment, the obtaining module 101 is further configured to obtain a plurality of second changing operations. The plurality of second altering operations is associated with a second traffic flow. The determining module 102 is further configured to determine a second execution order of the plurality of second changing operations according to a second traffic flow. The second execution sequence is opposite to the forwarding sequence of the message of the second service flow on the forwarding path after the second service flow is changed. The altered forwarding path of the second traffic flow includes at least one second network device. The determining module 102 is further configured to determine a third execution order of the plurality of first modification operations according to the first traffic flow, and determine the first execution order according to the second execution order and the third execution order. The indication module 103 is further configured to instruct the at least one first network device and the at least one second network device to perform the plurality of first modification operations and the plurality of second modification operations according to a first execution order, respectively.
It should be understood that the first network device and the second network device are both the same concepts as the network device 200 described above, and are not described here again.
In a possible embodiment, the plurality of first altering operations includes a first operation and the plurality of second altering operations includes a second operation. The first operation and the second operation correspond to a first execution step in a first execution order.
In a possible embodiment, the first operation and the second operation are associated to different network devices.
In a possible embodiment, the first operation and the second operation are associated to the same network device.
In a possible embodiment, the plurality of first altering operations further includes a third operation associated with a different network device than the first operation, the third operation corresponding to the second executing step in the first execution order. When the network device associated with the third operation is located after the network device associated with the first operation on the forwarding path after the first traffic flow is changed, the second execution step is earlier than the first execution step in the first execution order. When the network device associated with the third operation is located before the network device associated with the first operation on the forwarding path after the first traffic flow is changed, the second execution step is later than the first execution step in the first execution order.
In one possible embodiment, the network control device 100 further comprises a generation module 104. The generating module 104 is configured to generate a plurality of configuration messages. The corresponding relation between the plurality of configuration messages and the plurality of first changing operations is one-to-one correspondence, and each configuration message in the plurality of configuration messages is used for indicating the first network equipment associated with the first changing operation corresponding to the configuration message to execute the corresponding first changing operation. The indication module 103 is configured to sequentially send the plurality of configuration messages to the at least one first network device according to a first execution order.
In one possible embodiment, the network control device 100 further comprises a generation module 104. The generating module 104 is configured to generate at least one configuration message. The at least one configuration message corresponds to the at least one first network device in a one-to-one correspondence manner, and each configuration message in the at least one configuration message comprises one or more change operations associated with the first network device corresponding to the configuration message and an execution sequence of the associated one or more change operations. The indication module 103 is configured to send the at least one configuration message to the corresponding first network device according to the first execution order.
In one possible embodiment, the network control device 100 further comprises a generation module 104. The generating module 104 is configured to generate at least one configuration message. The at least one configuration message corresponds to the at least one first network device in a one-to-one correspondence manner, and each configuration message in the at least one configuration message comprises one or more change operations associated with the first network device corresponding to the configuration message. The indication module 103 is configured to send the at least one configuration message to the corresponding first network device respectively. The indication module 103 is further configured to sequentially instruct the at least one first network device to perform one or more modification operations included in the corresponding configuration message according to the first execution order.
The above network control device 100 may correspond to the network control device 100 in fig. 1, and is specifically used to implement any embodiment of the network changing method in fig. 2 or fig. 8, and please refer to the above description, which is not repeated here.
It should be noted that, the network control device 100 provided in the embodiment of fig. 9 is only illustrated by the division of the above functional modules, and in practical applications, the above functional allocation may be performed by different functional modules according to needs, that is, the internal structure of the network control device 100 is divided into other different functional modules to perform all or part of the functions described above.
Fig. 10 is a schematic structural diagram of still another network control device 100 according to an embodiment of the present application.
The network control device 100 comprises a processor 1001, a memory 1002 and a communication interface 1003, the network control device 100 being specifically adapted to implement any of the embodiments of the network change methods of fig. 2 or 8. The processor 1001, the memory 1002, and the communication interface 1003 may be connected to each other via an internal bus 1004, or may communicate via other means such as wireless transmission. In the embodiment of the present application, the bus 1004 is exemplified by a bus 1004, and the bus 1004 may be a peripheral component interconnect standard (peripheral component interconnect, PCI) bus, an extended industry standard architecture (extended industry standard architecture, EISA) bus, a unified bus (Ubus or UB), a computer quick link (compute express link, CXL) bus, a cache coherent interconnect protocol (cache coherent interconnect for accelerators, CCIX) bus, or the like. The bus 1004 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in fig. 10, but not only one bus or one type of bus.
The processor 1001 may be constituted by at least one general purpose processor, such as a central processing unit (central processing unit, CPU), or a combination of a CPU and a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), general-purpose array logic (generic array logic, GAL), or any combination thereof. The processor 1001 executes various types of digitally stored instructions, such as software or firmware programs stored in the memory 1002, which enable the network control device 100 to provide a variety of services.
The memory 1002 is used for storing program codes and is controlled to be executed by the processor 1001. The memory 1002 may include volatile memory (RAM), such as random access memory (random access memory); the memory 1002 may also include a non-volatile memory (non-volatile memory), such as a read-only memory (ROM), a flash memory (flash memory), a hard disk (HDD), or a Solid State Drive (SSD); the memory 1002 may also include combinations of the above. The memory 1002 may store program codes, and may specifically include program codes for performing any embodiment of the network changing method of fig. 2 or fig. 8, which will not be described herein.
The communication interface 1003 may be a wired interface (e.g., an ethernet interface) or a wireless interface (e.g., a cellular network interface or using a wireless local area network interface) and may be an internal interface (e.g., a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe) bus interface). A wired interface or a wireless interface is used to communicate with other devices or modules.
The above-mentioned network control device 100 may correspond to the network control device 100 in fig. 1, and is specifically configured to perform any embodiment of the network changing method in fig. 2 or fig. 8.
It should be noted that, the present embodiment may be implemented by a general physical server, for example, an ARM server or an X86 server, or may be implemented by a virtual machine implemented by combining an NFV technology with a general physical server, where the virtual machine refers to a complete computer system that is simulated by software and has a complete hardware system function and operates in a completely isolated environment, and the present application is not limited in particular. It should be understood that the network control device 100 shown in fig. 10 may also be a server cluster formed by at least one server, and the present application is not limited in particular.
It should be further noted that fig. 10 is merely one possible implementation of an embodiment of the present application, and in a practical application, the network control device 100 may further include more or fewer components, and the present application is not limited in particular. For details not shown or described in the embodiments of the present application, reference may be made to the related descriptions in the embodiments of the network modification method of fig. 2 or fig. 8, which are not repeated here.
The embodiment of the present application further provides a system, including the network control device 100 and the plurality of network devices 200 in any of the foregoing embodiments.
Embodiments of the present application also provide a computer readable storage medium having instructions stored therein that, when executed on a processor, implement the method of any of the embodiments of fig. 2 or 8.
Embodiments of the present application also provide a computer program product for implementing the method of any of the embodiments of fig. 2 or 8 when the computer program product is run on a processor.
Those skilled in the art will appreciate that implementing all or part of the above-described methods in accordance with the embodiments may be accomplished by way of a computer program stored on a computer readable storage medium, which when executed may comprise the steps of the embodiments of the methods described above. Wherein the storage medium can be a magnetic disk, an optical disk, a ROM or a RAM, etc.
It should be noted that the above-described embodiments are only some embodiments, but not all embodiments, of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
It is also to be understood that the terminology used in the description of the embodiments of the application is for the purpose of describing particular embodiments only, and is not intended to be limiting of the application. As used in this application and the appended claims, the singular forms "a," "an," "the," and "any" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to any or all possible combinations including one or more of the associated listed items.

Claims (25)

1. A network altering method for a network control device, the method comprising:
acquiring a plurality of first changing operations, wherein the plurality of first changing operations are associated with a first service flow;
determining a first execution sequence of the plurality of first change operations according to the first service flow;
instruct at least one first network device to perform the plurality of first altering operations in the first order of execution.
2. The method of claim 1, wherein the plurality of first altering operations associated with a first traffic stream comprises: the attributes of the first traffic stream are matched with the attributes of the plurality of first altering operations.
3. The method according to claim 1 or 2, wherein the first execution order is opposite to a forwarding order of the messages of the first traffic flow on the first traffic flow modified forwarding path, the first traffic flow modified forwarding path being a forwarding path of the first traffic flow after the plurality of first modification operations are executed, the first traffic flow modified forwarding path comprising the at least one first network device.
4. A method according to any one of claims 1 to 3, wherein said determining a first execution order of said plurality of first altering operations from said first traffic flow comprises:
Acquiring a plurality of second changing operations, wherein the plurality of second changing operations are associated with a second service flow;
determining a second execution sequence of the plurality of second changing operations according to the second service flow, wherein the second execution sequence is opposite to a forwarding sequence of a message of the second service flow on a forwarding path after the second service flow is changed, and the forwarding path after the second service flow is changed comprises at least one second network device;
determining a third execution sequence of the plurality of first changing operations according to the first service flow;
and determining the first execution sequence according to the second execution sequence and the third execution sequence.
5. The method of claim 4, wherein the first plurality of altering operations comprises a first operation and the second plurality of altering operations comprises a second operation, the first operation and the second operation corresponding to a first executing step in the first execution order.
6. The method of claim 5, wherein the first operation and the second operation are associated with different network devices.
7. The method of claim 5, wherein the first operation and the second operation are associated to a same network device.
8. The method according to any one of claim 5 to 7, wherein,
the plurality of first altering operations further includes a third operation associated with a different network device than the first operation, the third operation corresponding to a second executing step in the first execution order;
when the network device associated with the third operation is located after the network device associated with the first operation on the forwarding path after the first traffic flow is changed, the second execution step is earlier than the first execution step in the first execution sequence;
and when the network equipment associated with the third operation is positioned in front of the network equipment associated with the first operation on the forwarding path after the first service flow is changed, the second execution step is later than the first execution step in the first execution sequence.
9. The method of any of claims 1 to 8, wherein the instructing the at least one first network device to perform the plurality of first altering operations in the first order of execution comprises:
generating a plurality of configuration messages, wherein the correspondence between the plurality of configuration messages and the plurality of first change operations is one-to-one correspondence, and each configuration message in the plurality of configuration messages is used for indicating a first network device associated with the first change operation corresponding to each configuration message to execute the corresponding first change operation;
And sequentially sending the plurality of configuration messages to the at least one first network device according to the first execution sequence.
10. The method of any of claims 1 to 8, wherein the instructing the at least one first network device to perform the plurality of first altering operations in the first order of execution comprises:
generating at least one configuration message, wherein the correspondence between the at least one configuration message and the at least one first network device is one-to-one correspondence, and each configuration message in the at least one configuration message comprises one or more change operations associated with the first network device corresponding to each configuration message and the execution sequence of the associated one or more change operations;
and respectively sending the at least one configuration message to the corresponding first network equipment according to the first execution sequence.
11. The method of any of claims 1 to 8, wherein the instructing the at least one first network device to perform the plurality of first altering operations in the first order of execution comprises:
generating at least one configuration message, wherein the correspondence between the at least one configuration message and the at least one first network device is one-to-one correspondence, and each configuration message in the at least one configuration message comprises one or more change operations associated with the first network device corresponding to each configuration message;
Respectively sending the at least one configuration message to the corresponding first network equipment;
and sequentially indicating the at least one first network device to execute one or more changing operations included in the corresponding configuration message according to the first execution sequence.
12. A network control device, characterized in that the network control device comprises:
the system comprises an acquisition module, a first service flow acquisition module and a second service flow acquisition module, wherein the acquisition module is used for acquiring a plurality of first change operations, and the plurality of first change operations are associated with the first service flow;
a determining module, configured to determine a first execution order of the plurality of first modification operations according to the first service flow;
the indication module is used for indicating at least one first network device to execute the plurality of first change operations according to the first execution sequence.
13. The network control device of claim 12, wherein the plurality of first altering operations associated with a first traffic flow comprises: the attributes of the first traffic stream are matched with the attributes of the plurality of first altering operations.
14. The network control device according to claim 12 or 13, wherein the first execution order is opposite to a forwarding order of the messages of the first traffic flow on the first traffic flow modified forwarding path, the first traffic flow modified forwarding path being a forwarding path of the first traffic flow after the plurality of first modification operations are executed, the first traffic flow modified forwarding path including the at least one first network device.
15. The network control device according to any one of claims 12 to 14, characterized in that,
the acquisition module is further configured to acquire a plurality of second modification operations, where the plurality of second modification operations are associated with a second service flow;
the determining module is further configured to:
determining a second execution sequence of the plurality of second changing operations according to the second service flow, wherein the second execution sequence is opposite to a forwarding sequence of a message of the second service flow on a forwarding path after the second service flow is changed, and the forwarding path after the second service flow is changed comprises at least one second network device;
determining a third execution sequence of the plurality of first changing operations according to the first service flow;
determining the first execution order according to the second execution order and the third execution order;
the indication module is further configured to instruct the at least one first network device and the at least one second network device to execute the plurality of first modification operations and the plurality of second modification operations according to the first execution order, respectively.
16. The network control device of claim 15, wherein the plurality of first altering operations comprises a first operation and the plurality of second altering operations comprises a second operation, the first operation and the second operation corresponding to a first executing step in the first execution order.
17. The network control device of claim 16, wherein the first operation and the second operation are associated to different network devices.
18. The network control device of claim 16, wherein the first operation and the second operation are associated to a same network device.
19. The network control device according to any one of claims 16 to 18, wherein,
the plurality of first altering operations further includes a third operation associated with a different network device than the first operation, the third operation corresponding to a second executing step in the first execution order;
when the network device associated with the third operation is located after the network device associated with the first operation on the forwarding path after the first traffic flow is changed, the second execution step is earlier than the first execution step in the first execution sequence;
and when the network equipment associated with the third operation is positioned in front of the network equipment associated with the first operation on the forwarding path after the first service flow is changed, the second execution step is later than the first execution step in the first execution sequence.
20. The network control device according to any one of claims 12 to 19, characterized in that the network control device further comprises a generation module;
the generating module is configured to generate a plurality of configuration messages, where the correspondence between the plurality of configuration messages and the plurality of first change operations is one-to-one correspondence, and each configuration message in the plurality of configuration messages is configured to instruct a first network device associated with a first change operation corresponding to each configuration message to execute the corresponding first change operation;
the indication module is used for sequentially sending the configuration messages to the at least one first network device according to the first execution sequence.
21. The network control device according to any one of claims 12 to 19, characterized in that the network control device further comprises a generation module;
the generating module is configured to generate at least one configuration message, where a correspondence between the at least one configuration message and the at least one first network device is a one-to-one correspondence, and each configuration message in the at least one configuration message includes one or more change operations associated with the first network device corresponding to each configuration message and an execution sequence of the associated one or more change operations;
The indication module is configured to send the at least one configuration message to a corresponding first network device according to the first execution order.
22. The network control device according to any one of claims 12 to 19, characterized in that the network control device further comprises a generation module;
the generating module is configured to generate at least one configuration message, where a correspondence between the at least one configuration message and the at least one first network device is a one-to-one correspondence, and each configuration message in the at least one configuration message includes one or more change operations associated with the first network device corresponding to the each configuration message;
the indication module is used for respectively sending the at least one configuration message to the corresponding first network equipment;
the indication module is further configured to sequentially instruct the at least one first network device to execute one or more changing operations included in the corresponding configuration message according to the first execution order.
23. A network control device comprising a processor and a memory;
the memory is used for storing a computer program;
the processor configured to execute a computer program stored in the memory, to cause the network control device to perform the method of any one of claims 1-11.
24. A computer readable storage medium comprising a program or instructions which, when run on a processor, performs the method of any of claims 1-11.
25. A computer program product comprising a computer program which, when executed by a processor, implements the method of any of claims 1 to 11.
CN202210268740.8A 2022-03-18 2022-03-18 Network changing method, network control device and storage medium Pending CN116800606A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210268740.8A CN116800606A (en) 2022-03-18 2022-03-18 Network changing method, network control device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210268740.8A CN116800606A (en) 2022-03-18 2022-03-18 Network changing method, network control device and storage medium

Publications (1)

Publication Number Publication Date
CN116800606A true CN116800606A (en) 2023-09-22

Family

ID=88040503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210268740.8A Pending CN116800606A (en) 2022-03-18 2022-03-18 Network changing method, network control device and storage medium

Country Status (1)

Country Link
CN (1) CN116800606A (en)

Similar Documents

Publication Publication Date Title
US10659344B2 (en) Information transmission method, apparatus and system
US7957364B2 (en) Determining network paths
JP4876197B2 (en) System, method and program for judging failure in network communication
US9331910B2 (en) Methods and systems for automatic generation of routing configuration files
JP2017028698A (en) Traffic switching method, device, and system
CN109474936B (en) Internet of things communication method and system applied among multiple lora gateways
US11233724B2 (en) Multicast data packet processing method, and apparatus
CN107113241B (en) Route determining method, network configuration method and related device
CN109412951B (en) Method and device for sending routing information
JP7430224B2 (en) Packet processing methods and gateway devices
CN111147372B (en) Downlink message sending and forwarding method and device
US20230010837A1 (en) Fault diagnosis method and apparatus thereof
CN105743687B (en) Method and device for judging node fault
US20230116548A1 (en) Route Processing Method and Related Device
CN103825826A (en) Method and device for implementing dynamic routing
JP2017503408A (en) Method for providing control in a communication network
CN110022263B (en) Data transmission method and related device
US20230421480A1 (en) Route Processing Method and Network Device
CN116800606A (en) Network changing method, network control device and storage medium
CN115242699A (en) Message transmission method, slice generation method, device and system
Lei et al. Can Host-Based SDNs Rival the Traffic Engineering Abilities of Switch-Based SDNs?
CN114531360A (en) Semantic name acquisition method, device, equipment and storage medium
CN105765903A (en) Topology discovery method and device
US11876680B2 (en) Method and apparatus for determining link for forwarding service flow
CN112272143B (en) Route learning and forwarding method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication