Method and device for determining path control information, storage medium and electronic device

By introducing network multi-path service NMPS into the data center network, using topology database and southbound interface adapter to achieve full path discovery and traffic control, the problem of incomplete discovery of path control information in the data center network is solved, and the absolute Path control and traffic optimization.

CN119232639APending Publication Date: 2024-12-31ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310794561.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-29
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

The existing data center network cannot realize full amount of path control information discovery, resulting in the inability to perform absolute path control. The existing technology has problems such as hash conflict, untimely path updates and high deployment costs.

Method used

In the network multipath service NMPS, the available paths are queried in the topology database based on the path constraint information entered by the client, and the path control information in the physical network is determined through the southbound interface adapter, and stored in the target database to provide it to the client , realize full-scale path discovery and flow control.

Benefits of technology

It realizes the timely and fully discovers the available paths of the network without changing the existing data center network equipment form and networking technology, and realizes the determination of the path forwarding of network traffic, solving the problem of incomplete discovery of path control information and untimely updates. .

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232639A_ABST
    Figure CN119232639A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a path control information determination method and device, a storage medium and an electronic device. The method comprises the steps of querying an available path corresponding to path constraint information in a topology database according to the path constraint information input by a client; determining path control information of the available path in the physical network indicated by the path constraint information through a southbound interface adapter; the path control information is stored in a target database, and the target database is used for providing the path control information for the client. By adopting the technical scheme, the problem that the existing data center network cannot realize full-amount path control information discovery and then cannot perform absolute path control in the related technology is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communications, and in particular, to a method, device, storage medium and electronic device for determining path control information. Background Art

[0002] In a typical data center network, there are often many physical network paths between communication nodes. Network devices run routing protocols based on these physical paths and perform efficient IP-based traffic forwarding. This redundant design of multiple physical links is an important means to ensure the throughput performance and reliability of east-west traffic in ordinary data centers, but it also adds a great technical barrier to network path discovery and forwarding path control.

[0003] Specifically, as attached Figure 1 As shown in the figure, a typical data center network generally adopts a multi-level CLOS (CLOStopology, a non-blocking networking technology) architecture. Two communication nodes (such as S1, Sn) often have a lot of physical redundant paths. The network performs IP-based traffic forwarding and implements the equivalent multi-path load balancing through the five-tuple of the message. Generally speaking, this kind of network has good scalability and stability, and there is no strong demand for traffic engineering. Therefore, the network can well meet the communication needs of the business by load balancing through the HASH algorithm. However, with the rise of distributed storage, high-performance computing, and AI distributed machine learning scenarios, business traffic is extremely sensitive to the delay, jitter, and throughput performance indicators caused by network congestion. The sending node is required to discover all available forwarding paths in the network and control the traffic to take a specified deterministic path accordingly, so as to implement traffic engineering led by the sender, so as to avoid congestion as much as possible and achieve the purpose of optimizing traffic forwarding performance.

[0004] There are currently two main technical solutions for the above path discovery and traffic control issues in the industry:

[0005] Solution 1: Path discovery and flow control based on Traceroute technology (a general method for path discovery by sending probe packets);

[0006] Among the related technical solutions that have been disclosed, the method based on the Traceroute mechanism is the most widely used and widely adopted by the industry. The specific method can be found in the reference "Clove: Congestion-Aware Load Balancing at the Virtual Edge". This type of method usually involves the sending node (usually a server or smart network card) actively sending UDP / TCP messages, discovering the network path by changing the source port and TTL value of the message, forming a path database of the sending end, and then sending data messages with the same five-tuple (source IP (IP Address), destination IP, protocol family, source port, destination port), thereby achieving traffic forwarding path control.

[0007] This method has the following obvious defects: (1) Due to the existence of hash conflicts, the Traceroute mechanism cannot ensure the discovery of 100% network paths; (2) When a network link or network device fails, restarts, or changes configuration, the discovered path will not be updated in time, and the information used for traffic forwarding path control will become invalid; (3) Path discovery relies on the sender CPU or smart network card, which increases the computing resource overhead and the complexity of software logic;

[0008] Solution 2: Path discovery and traffic control based on MPLS / SR technology;

[0009] In some technical implementations, support for Multiprotocol Label Switching (MPLS) or SR (Segment Routing) features is introduced into the network, network path discovery is achieved through the control plane protocol, and traffic forwarding path control is achieved through traffic engineering or source routing mechanisms. Typical application cases are shown in the reference "Predictable vFabric on Informative Data Plane". Although the application of MPLS / SR technology in wide area networks is very mature and can achieve full network path discovery and absolute path control, it has not been widely deployed in data centers. If support for MPLS / SR technology is to be introduced in data center networks, the hardware and software of existing data center switches and routers need to be updated, especially the hardware update will bring very expensive costs, so this method has not been widely used in existing networks.

[0010] In summary, realizing path discovery and control of traffic forwarding paths in existing data center networks is a clear requirement raised by current emerging business scenarios. Existing technical solutions have a series of problems such as incomplete coverage, untimely information and high deployment costs. New methods are needed to solve these problems.

[0011] Regarding the problem in related technologies that the existing data center network cannot realize full path control information discovery and then perform absolute path control, no effective solution has been proposed yet.

[0012] Therefore, it is necessary to improve the related technology to overcome the above-mentioned defects in the related technology. Summary of the invention

[0013] The embodiments of the present application provide a method, device, storage medium and electronic device for determining path control information to at least solve the problem that the existing data center network cannot realize full path control information discovery and then perform absolute path control.

[0014] According to one aspect of an embodiment of the present application, a method for determining path control information is provided, which is applied to a network multipath service NMPS, comprising: querying an available path corresponding to the path constraint information in a topology database according to the path constraint information input by a client; determining the path control information of the available path in the physical network indicated by the path constraint information through a southbound interface adapter; and storing the path control information in a target database, wherein the target database is used to provide the path control information to the client.

[0015] In an exemplary embodiment, querying the available paths corresponding to the path constraint information in a topological database based on the path constraint information input by a client includes: determining the path constraint conditions in the path constraint information, wherein the path constraint conditions include: source IP address, destination IP address, and constraint conditions; and querying the available paths corresponding to the path constraint information in a topological database based on the path constraint conditions.

[0016] In an exemplary embodiment, determining the path control information of the available path in the physical network indicated by the path constraint information through a southbound interface adapter includes: determining a traversal range corresponding to a variable in the path constraint information; determining, through a southbound interface adapter, an actual forwarding path corresponding to target path control information within the traversal range; and determining the target path control information as the path control information of the available path when the actual forwarding path corresponding to the target path control information is consistent with the available path.

[0017] In an exemplary embodiment, after determining the path control information corresponding to each path within the traversal range through the southbound interface adapter, the method further includes: when the actual forwarding path corresponding to the target path control information is inconsistent with the available path, continuing the traversal process until the control information that is consistent with the actual forwarding path and the available path is found.

[0018] In an exemplary embodiment, determining the actual forwarding path corresponding to the target path control information within the traversal range through a southbound interface adapter includes: determining the target path control information within the traversal range; determining the outbound interface information of the target path control information through a southbound interface adapter; and splicing the target path control information and the outbound interface information to obtain the actual forwarding path.

[0019] In an exemplary embodiment, before determining the actual forwarding path corresponding to the target path control information within the traversal range through the southbound interface adapter, the method also includes: determining the path control information type corresponding to the path constraint information, wherein the path control information type includes but is not limited to one of the following: a quintuple, a quadruple, the path constraint information also includes path quality description information, the path quality description information includes at least one of the following: delay, jitter, packet loss, and the target path control information is the same as the path control information type of the path constraint information.

[0020] In an exemplary embodiment, it includes: upon receiving incremental change information of the topology database, determining an updated available path based on the incremental change information and the available path; determining, through a southbound interface adapter, updated path control information corresponding to the updated available path within the traversal range of the physical network indicated by the path constraint information; and updating the path control information in the target database through the updated path control information.

[0021] In an exemplary embodiment, after updating the path control information in the target database by using the updated path control information, the method further includes: pushing the updated path control information to the client by one of the following methods: determining the path subscription information of the client, and pushing the updated path control information to the client according to the subscription information; and returning the updated path control information to the client upon receiving a polling message from the client.

[0022] According to another aspect of an embodiment of the present application, a path control information determination system is also provided, including: a network multipath service NMPS, used to query the available paths corresponding to the path constraint information in a topology database according to the path constraint information input by the client; a southbound interface adapter, used to determine the path control information of the available paths in the physical network indicated by the path constraint information; and a target database, used to store the path control information and provide the path control information to the client.

[0023] In an exemplary embodiment, the system further includes: a topology database, configured to provide available path information to the network multipath service NMPS; and in case of a network topology change, sending incremental change information to the network multipath service NMPS.

[0024] According to another aspect of the embodiments of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the above-mentioned method for determining the path control information when running.

[0025] According to another aspect of an embodiment of the present application, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the method for determining the path control information through the computer program.

[0026] Through this application, the available paths corresponding to the path constraint information input by the client are queried in the topology database; the path control information of the available paths in the physical network indicated by the path constraint information is determined through the southbound interface adapter; the path control information is stored in the target database, wherein the target database is used to provide the path control information to the client. In other words, the network multipath service NMPS queries the available paths in the topology database according to the path constraint information input by the client, and queries the path control information corresponding to the available paths through the southbound interface adapter to provide the path control information to the client, which solves the technical problem that the existing data center network cannot realize the full amount of path control information discovery, and then perform absolute path control. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The exemplary embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0028] Figure 1 It is a typical data center network diagram in the related art;

[0029] Figure 2 It is a hardware structure block diagram of a computer terminal of the method for determining path control information of an embodiment of the present application;

[0030] Figure 3 is a flow chart (I) of a method for determining path control information according to an embodiment of the present application;

[0031] Figure 4 is a schematic diagram of the architecture of a method for determining path control information according to an embodiment of the present application;

[0032] Figure 5 is an A1 interface logic diagram of path control information according to an embodiment of the present application;

[0033] Figure 6 is an A2 interface logic diagram of path control information according to an embodiment of the present application;

[0034] Figure 7 is an A3 interface logic diagram of path control information according to an embodiment of the present application;

[0035] Figure 8 is an A4 interface logic diagram of path control information according to an embodiment of the present application;

[0036] Fig. 9 is a flow chart (II) of a method for determining path control information according to an embodiment of the present application;

[0037] Fig.10 is a flow chart (III) of a method for determining path control information according to an embodiment of the present application;

[0038] Fig.11 is a flow chart of updating path control information according to a method for determining path control information in an embodiment of the present application;

[0039] Fig.12 It is a structural block diagram of a device for determining path control information according to an embodiment of the present application. DETAILED DESCRIPTION

[0040] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0041] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0042] The method embodiments provided in the embodiments of the present application can be executed in a computer terminal or a similar computing device. Taking running on a computer terminal as an example, Figure 2 1 is a hardware structure block diagram of a computer terminal of the method for determining path control information in an embodiment of the present application. Figure 2 As shown, the computer terminal may include one or more ( Figure 2 Only one is shown in the figure) processor 202 (processor 202 may include but is not limited to a microprocessor (Microprocessor Unit, referred to as MPU) or a programmable logic device (Programmable logic device, referred to as PLD)) and a memory 204 for storing data. In an exemplary embodiment, the computer terminal may also include a transmission device 206 and an input / output device 208 for communication functions. It can be understood by those skilled in the art that Figure 2 The structure shown is only for illustration and does not limit the structure of the above-mentioned computer terminal. Figure 2 More or fewer components as shown, or with Figure 2 Equivalent functions or comparisons shown Figure 2 A different configuration with more features is shown.

[0043] The memory 204 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for determining the path control information in the embodiment of the present application. The processor 202 executes various functional applications and data processing by running the computer program stored in the memory 204, that is, the above method is implemented. The memory 204 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 204 may further include a memory remotely arranged relative to the processor 202, and these remote memories may be connected to the computer terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0044] The transmission device 206 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of a computer terminal. In one example, the transmission device 206 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 206 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0045] Figure 3 Flowchart (I) of a method for determining path control information according to an embodiment of the present application, which is applied to a network multipath service NMPS, such as Figure 3 As shown, the steps of the method include:

[0046] Step S302, querying the available paths corresponding to the path constraint information in the topology database according to the path constraint information input by the client;

[0047] Step S304, determining, through the southbound interface adapter, path control information of the available path in the physical network indicated by the path constraint information;

[0048] Step S306: Save the path control information in a target database, wherein the target database is used to provide the path control information to the client.

[0049] The embodiment of the present application uses the above steps to query the available paths corresponding to the path constraint information in the topology database according to the path constraint information input by the client; determine the path control information of the available paths in the physical network indicated by the path constraint information through the southbound interface adapter; and save the path control information in the target database, wherein the target database is used to provide the path control information to the client. In other words, the network multipath service NMPS queries the available paths in the topology database according to the path constraint information input by the client, and queries the path control information corresponding to the available paths through the southbound interface adapter to provide the path control information to the client, which solves the technical problem that the existing data center network cannot realize the full amount of path control information discovery, and then perform absolute path control. It realizes the technical effect of timely and full discovery of the available paths of the network and determining the path forwarding of network traffic without changing the existing data center network equipment form and networking technology.

[0050] In an exemplary embodiment, querying the available paths corresponding to the path constraint information in a topological database based on the path constraint information input by a client includes: determining the path constraint conditions in the path constraint information, wherein the path constraint conditions include: source IP address, destination IP address, and constraint conditions; and querying the available paths corresponding to the path constraint information in a topological database based on the path constraint conditions.

[0051] It should be noted that: the embodiment of the present application designs a new NMPS (Network Multi-Path Service) based on the network management and control platform, as shown in the following figure: Figure 4 As shown, the NMPS is connected to a client through interface A1, connected to a topology database through interface A2, and connected to a southbound interface adapter through interface A3, for implementing path discovery and flow control of an existing data center network.

[0052] It is understandable that the path constraint information input by the client includes at least: source IP address, destination IP address, protocol number, and variables. The variables can be in different forms:

[0053] Form 1: The variable may be a source port number, and the corresponding path constraint information is in a five-tuple form, for example: h = {source S1, destination Sn, TCP, source port number, destination port 5000}; wherein, Transmission Control Protocol (TCP for short).

[0054] Among them, h represents path constraint information, source S1 represents source IP address, destination Sn represents destination IP address, destination port number is fixed at 5000, source port number is variable, and the variable range may be, for example, [3000, 10000]. In addition, the variable in the path constraint information in the form of quintuple is not limited to the source port number, for example, the destination port number may also be variable.

[0055] Form 2: The variable can be an extended field, and the corresponding path constraint information is in the form of a four-tuple, for example: {source IP, destination IP, protocol number, extended field}, where the extended field can use the 2-byte reserved field of the Virtual Extensible LAN (VXLAN) header, and the variable range of the extended field can be [0,65535].

[0056] It should be noted that the path constraint information input by the client includes but is not limited to the form of four-tuple and five-tuple. In addition, the path constraint conditions used to determine the available paths in the input path constraint information generally include the source IP address and the destination IP address, but if necessary, other constraints may also be included, such as non-intersecting paths. By determining the path constraint conditions in the path constraint information, the topology database will feedback all available paths that meet the path constraint conditions to the NMPS. The feedback available path forms are as follows:

[0057] Path-1: {[Leaf-1, outbound interface 1], [Spine-1, outbound interface 1].....}; ........

[0059] Path-N: {[Leaf-1, outbound interface 1], [Spine-10, outbound interface 1]...}.

[0060] In an exemplary embodiment, determining the path control information of the available path in the physical network indicated by the path constraint information through a southbound interface adapter includes: determining a traversal range corresponding to a variable in the path constraint information; determining, through a southbound interface adapter, an actual forwarding path corresponding to target path control information within the traversal range; and determining the target path control information as the path control information of the available path when the actual forwarding path corresponding to the target path control information is consistent with the available path.

[0061] In an exemplary embodiment, after determining the path control information corresponding to each path within the traversal range through the southbound interface adapter, the method further includes: when the actual forwarding path corresponding to the target path control information is inconsistent with the available path, continuing the traversal process until the control information that is consistent with the actual forwarding path and the available path is found.

[0062] It can be understood that the variables in the path constraint information, ie the variables mentioned in the above embodiments, may be a source port number range or a variable field range.

[0063] After determining the available paths from the topology database, exemplarily, when the variable is the source port number range: if the source port range is determined to be [3000, 10000] from the path constraint information, the NMPS determines the path that is identical to the available path in all actual forwarding paths of the source port number [3000, 10000] through the southbound interface adapter, and uses the path control information of the path that is identical to the available path as the path constraint information of the available path. The specific traversal scheme is: start traversal from the source port number 3000 (i.e., use the source port number 3000 as the source port number in the target path control information). If the actual forwarding path corresponding to the source port number 3000 is different from any of the available paths, continue to use the source port number 3001 as the source port number of the target path control information, and then determine whether the actual forwarding path corresponding to the target path control information is the same as the available path, until the actual forwarding path corresponding to all the available paths is determined.

[0064] For example, there are 10 available paths queried from the topology database:

[0065] Path-1: {[Leaf-1, outbound interface 1], [Spine-1, outbound interface 1].....}, ........

[0067] Path-10: {[Leaf-1, outbound interface 1], [Spine-10, outbound interface 1]....}, where User Datagram Protocol (UDP) is used.

[0068] After traversal by the southbound interface adapter, the path control information of the actual forwarding path that is the same as the 10 available paths is determined as follows:

[0069] <Source S1, destination Sn, UDP, 3005, 8000> follows Path-1 according to the current network forwarding strategy;

[0070] <Source S1, destination Sn, UDP, 4000, 8000> follows Path-2 according to the current network forwarding strategy; .......

[0072] <Source S1, destination Sn, UDP, 4800, 8000> follows Path-10 according to the current network forwarding policy.

[0073] It should be noted that, in fact, part of the path control information of the available paths has been queried in the topology database. In fact, querying the path control information through the southbound interface adapter is more focused on determining the specific variables corresponding to the available paths within the traversal range of the variables. For example, in the above embodiment, 10 available paths are queried from the topology database, and the specific source port numbers corresponding to the 10 available paths are traversed by the southbound interface adapter within the source port number range [3000, 10000], 3005, 4000, ..., 4800.

[0074] In an exemplary embodiment, determining the actual forwarding path corresponding to the target path control information within the traversal range through a southbound interface adapter includes: determining the target path control information within the traversal range; determining the outbound interface information of the target path control information through a southbound interface adapter; and splicing the target path control information and the outbound interface information to obtain the actual forwarding path.

[0075] The target path control information in the traversal process is a determined five-tuple. The southbound interface adapter will call the interfaces of all devices along the path to obtain the output interface information of the determined five-tuple. The actual forwarding path can be obtained by splicing the determined five-tuple and the output interface information. Exemplarily, when the variable is the source port number and the traversal range is [3000, 10000], the traversal starts from 3000. Then, when the specific five-tuple is <source S1, destination Sn, UDP, 3000, 8000>, the southbound interface adapter calls the interfaces of all devices along the path of the specific five-tuple to obtain the output interface information corresponding to <source S1, destination Sn, UDP, 3000, 8000>. The actual forwarding path is obtained by splicing <source S1, destination Sn, UDP, 3000, 8000> and the output interface information.

[0076] In an exemplary embodiment, before determining the actual forwarding path corresponding to the target path control information within the traversal range through the southbound interface adapter, the method further includes: determining the path control information type corresponding to the path constraint information, wherein the path control information type includes but is not limited to one of the following: a five-tuple, a four-tuple, the path constraint information also includes path quality description information, the path quality description information includes at least one of the following: delay, jitter, packet loss, and the target path control information is the same as the path control information type of the path constraint information. That is, the path constraint information input by the client can be a path control information with traversable variables, the target path control information determined in the subsequent steps, and the path control information corresponding to each available path is a fixed path control information, and the path control information finally obtained should be the same as the path control information type of the path constraint information. If the path constraint information input by the client is a five-tuple with variable variables, the path control information corresponding to the available path determined based on the path constraint information should also be a five-tuple.

[0077] It should be noted that what is actually stored in the target database are the available paths and the specific quantities corresponding to the available paths, where the specific quantities are the quantities in the variables. For example, when the variable is the source port number [3000, 10000], 3005 is found to be the source port number corresponding to the available path 1 (i.e., using the source port number 3005, the data packet can take the available path 1 in the physical network), and then the available path 1 + source port number 3005 is finally stored in the target database. In the case of multiple available paths, what is stored in the target database is: available path 1 + source port number corresponding to available path 1, ..., available path N + source port number corresponding to available path N.

[0078] In an exemplary embodiment, it includes: upon receiving incremental change information of the topology database, determining an updated available path based on the incremental change information and the available path; determining, through a southbound interface adapter, updated path control information corresponding to the updated available path within the traversal range of the physical network indicated by the path constraint information; and updating the path control information in the target database through the updated path control information.

[0079] In the case of changes in the network topology, the embodiment of the present application can update the path control information in a timely manner. Specifically, if a device or link-level failure occurs in the network, or the forwarding behavior changes due to a device restart, the network device actively reports the status update information. The specific reporting mechanism is not limited, and the Simple Network Management Protocol Trap (SNMP TRAP) can be selected. When the topology database receives a notification of a network topology change, it updates the topology database of the entire network and informs the NMPS of the relevant incremental change information. The NMPS obtains an updated available path based on the incremental change information and the determined available path. Based on the updated available path, the NMPS re-traverses the traversal range of the variable to obtain updated path control information, and updates the path control information in the target database by updating the path control information.

[0080] In an exemplary embodiment, after updating the path control information in the target database by using the updated path control information, the method further includes: pushing the updated path control information to the client by one of the following methods: determining the path subscription information of the client, and pushing the updated path control information to the client according to the path subscription information; and returning the updated path control information to the client upon receiving a polling message from the client.

[0081] That is, when the path control information is updated, the updated path control information is actively pushed to the client according to the path subscription information of the client, or the client actively polls to obtain the updated path control information.

[0082] Next, the method for determining the path control information is further described in conjunction with the following embodiments.

[0083] In view of the inadequacy of existing data center networks in achieving real-time, full-volume path discovery and traffic control capabilities, the embodiments of the present application start from network equipment and network management and control systems and design a set of solutions to solve the existing technical problems.

[0084] The technical architecture involved in the embodiments of this application is briefly described as follows:

[0085] As attached Figure 4 As shown, this application designs a new network multi-path service (Network Multi-Path Service, referred to as NMPS) based on the network management and control platform, which is used to realize path discovery and flow control of the existing data center network. The overall technical architecture includes the following components: NMPS 41, topology database 42, southbound interface adapter 43, DB (Datebase) database 44.

[0086] Specifically: 1) Topology database: a general component of a general network management and control system, which obtains real-time network topology information through means such as BGP-LS / LLDP (Border Gateway Protocol-Link State (BGP-LS), Link Layer Discovery Protocol (LLDP)), and is an external component that NMPS relies on in the embodiment of this application. NMPS relies on the topology database to obtain the full path information of the network and real-time path change updates; 2) Southbound interface adapter: a general component of a general network management and control system, which is used to realize the interaction between the management and control system and the physical network, implement the southbound interface according to the actual network situation, and shield the differences of the physical network. In the technical architecture of the embodiment of this application, NMPS obtains the actual forwarding path of the traffic under specific constraints through the interface A3 provided by the southbound interface adapter, and the southbound interface adapter uses the newly exposed interface A4 of the device to obtain the forwarding path under the specified constraints of each device in the current state. 3) NMPS network multipath service: a core component in the embodiment of this application, which provides complete network multipath discovery and traffic control functions by implementing four different types of interfaces. The four types of interfaces are briefly described as follows:

[0087] Northbound interface A1: The northbound interface exposed by NMPS receives constraints for path discovery and control and returns corresponding multi-path results. When path information changes, the client that calls the interface actively polls or the subscription-publishing logic implemented by A1 actively pushes it. Its basic implementation logic is as follows: Figure 5 shown.

[0088] For example, the user provides input information: h = {source S1, destination Sn, TCP, source port number, destination port 5000}, where variable information Φ = source port number, and the variable range is [3000, 10000]. It is input to NMPS through the A1 interface, and NMPS returns the available network path and information for flow control (equivalent to the path control information in the above embodiment) according to the path discovery logic:

[0089] [Path-1, {source S1, destination Sn, TCP, source port number 3500, destination port 5000}], ........

[0091] [Path-N,{source S1, destination Sn, TCP, source port number 8000, destination port 5000}];

[0092] These path information will be stored in the database. When the physical network link or device operating status changes, an update will be triggered, and then the client will be notified through service interface A1 to perform the corresponding information update.

[0093] Service interface A2: The network multipath service obtains the full network path and real-time update under the specified constraints from the existing topology database through the service interface A2. The construction method of the topology database adopts the capabilities of the existing management and control platform, such as BGP-LS, PCE (wherein, Path Computation Element (PCE)), etc. The specific construction process is not within the scope of the description of the embodiment of this application; its basic implementation logic is as follows Figure 6 shown.

[0094] For example, the path constraint is: source S1, destination Sn, and all paths are required to be disjoint. By calling the A2 interface, NMPS can discover all available paths:

[0095] Path-1: {[Leaf-1, outbound interface 1], [Spine-1, outbound interface x]....}; ........

[0097] Path-N: {[Leaf-1, outbound interface 1], [Spine-N, outbound interface y].....}.

[0098] Service interface A3: The network multipath service obtains the precise path forwarding in the current network under the specified message constraint from the southbound interface adapter through service interface A3, where the southbound interface adapter is responsible for the encapsulation and adaptation of the interfaces of each network device. Its basic implementation logic is as follows Figure 7 shown.

[0099] For example:

[0100] Path control information: {source S1, destination Sn, TCP, 3000, 5000};

[0101] Output of A3 interface: {[Leaf1, outbound interface GE0 / 1], [Spine1, outbound interface GE0 / 5]....};

[0102] The outbound interface identifier may be a port name or a port number, and the interface identifier is required to remain stable under special circumstances such as device restart.

[0103] Southbound interface A4: The southbound interface is the forwarding interface exposed by the device. When the user specifies the message path control information, the specified device in the current network can return the actual forwarding path for routing the characteristic message. Its basic implementation logic is as follows: Figure 8 shown.

[0104] For example:

[0105] Path control information input by the interface: {source S1, destination Sn, TCP, 3000, 5000};

[0106] The result of calling the A4 interface of the Leaf1 node is: GE0 / 1;

[0107] The result of calling the A4 interface of the LeafN node is: GE0 / 5;

[0108] The outbound interface identifier may be a port name or a port number, and the interface identifier is required to remain stable under special circumstances such as device restart.

[0109] Furthermore, the establishment process of NMPS path control information is given below through two specific embodiments:

[0110] Specific embodiment 1: using quintuple for control;

[0111] Assume that the client controls the path through a five-tuple, where the source IP = S1, the destination IP = Sn, the protocol uses UDP, the destination port is fixed at 8000, and the source port number has a variable range of [3000, 10000]. The devices in the network use the five-tuple hash algorithm to achieve network multi-path load balancing, without any restrictions on the specific algorithm used by the device.

[0112] The process of establishing NMPS information is as follows Fig. 9 The process is briefly described as follows:

[0113] Step S901: The client (usually the traffic sending end) calls the A1 interface to give the path constraint information, with <source S1, destination Sn, UDP, destination port 8000, source port number variable range [3000, 10000]> as input, hoping to obtain all available paths from S1 to Sn and through which determined five-tuples can take the specified path;

[0114] Step S902: NMPS calls the A2 interface to query the topology database and obtains all available paths between the specified source S1 and the destination Sn in the physical network. The available paths here can be added with constraints according to actual needs, such as disjoint paths.

[0115] Step S903: The network topology database returns all available paths. Here, it is assumed that there are 10 paths that meet the conditions, namely:

[0116] Path-1: {[Leaf-1, outbound interface 1], [Spine-1, outbound interface 1].....}, ........

[0118] Path-10: {[Leaf-1, outbound interface 1], [Spine-10, outbound interface 1].....},

[0119] Step S904: NMPS calls the southbound adapter A3 interface to traverse the specified range of source port numbers [3000, 10000] until all path control information combinations corresponding to the 10 available paths are found. The following path control information needs to be found through traversal:

[0120] <Source S1, destination Sn, UDP, 3005, 8000> follows Path-1 according to the current network forwarding strategy;

[0121] <Source S1, destination Sn, UDP, 4000, 8000> follows Path-2 according to the current network forwarding strategy; .......

[0123] <Source S1, destination Sn, UDP, 4800, 8000> follows Path-10 according to the current network forwarding strategy;

[0124] Step S905: During the traversal process of step S904, the port adapter will call the A4 interfaces of all devices along the path to obtain the outbound interface information of a specific five-tuple, and then form an actual forwarding path after splicing, and then compare it with the path in step S903:

[0125] Step S906: NMPS stores the discovered path control information into a database;

[0126] Specific embodiment 2: using extended fields for path control;

[0127] Assume that the client controls the path through the four-tuple {source IP, destination IP, protocol number, extension field}, where source IP = S1, destination IP = Sn, UDP is used as the protocol, and the extension field uses the 2-byte reserved field of the VXLAN header, with a variable space of [0,65535]. After the devices in the network are customized through the algorithm, the hash algorithm of the above four-tuple is used to achieve network multi-path load balancing.

[0128] The process of establishing NMPS information is as follows Fig.10 The process is briefly described as follows:

[0129] Step S1001: The client (usually the traffic sending end) calls the A1 interface to provide path constraint information, with <source S1, destination Sn, UDP, VXLAN extension field [0, 65535]> as input, hoping to obtain all disjoint paths from S1 to Sn and through which determined quadruple can take the specified path;

[0130] Step S1002: NMPS calls the A2 interface to query the topology database and obtains all disjoint paths between the specified source S1 and the destination Sn in the physical network, where disjoint paths are constraints other than the source and the destination.

[0131] Step S1003: The network topology database returns all available paths. Here, it is assumed that there are 20 paths that meet the conditions, which are:

[0132] Path-1: {[Leaf-1, outbound interface 1], [Spine-1, outbound interface 1].....}, ........

[0134] Path-20: {[Leaf-20, outbound interface 1], [Spine-20, outbound interface 1].....},

[0135] Step S1004: NMPS calls the southbound adapter A3 interface to traverse the specified range [0,65535] of the extension field until the path control information combination corresponding to all 20 available paths is found. The following path control information needs to be found through traversal:

[0136] <Source S1, destination Sn, UDP, extension field value 100> follow Path-1 according to the current network forwarding strategy;

[0137] <Source S1, destination Sn, UDP, extension field value 400> follow Path-2 according to the current network forwarding strategy; .......

[0139] <Source S1, destination Sn, UDP, extension field value 12000> follow the current network forwarding strategy and go through Path-20;

[0140] Step S1005: During the traversal process of step S1004, the port adapter will call the A4 interfaces of all devices along the path to obtain the outbound interface information of a specific quadruple, and then form an actual forwarding path after splicing, and then compare it with the path in step S1003:

[0141] Step S1006: NMPS stores the discovered path control information into a database;

[0142] Furthermore, the path control information updating process of the NMPS is given below through specific embodiment 3. Specific embodiment 3:

[0144] The update process of network multipath information is as follows: Fig.11 As shown, it is briefly described as follows:

[0145] Step S1101: a device or link-level failure occurs in the network, or a device restart causes a change in forwarding behavior;

[0146] Step S1102: The network device reports status update information, which may be done by using SNMP TRAP or other active reporting mechanisms. The specific method is not restricted and the existing management and control platform capabilities can be reused.

[0147] Step S1103: The topology database receives the network topology change notification and updates the entire network topology database.

[0148] Step S1104: The topology data informs the NMPS of the related incremental change information through the A2 interface according to the topology change situation;

[0149] Step S1105: NMPS calls the A3 interface to traverse the variable parameters again until all updated path control information combinations corresponding to available paths are found;

[0150] Step S1106: NMPS calls the A4 interface to write the updated path control information into the database;

[0151] Step S1107: After the path control information is updated, the NMPS pushes it to the client according to the previous subscription information, or the client actively polls to obtain the updated information.

[0152] Through the above methods, the real-time and accuracy of path control information can be ensured.

[0153] Specifically, the embodiment of the present application introduces the NMPS network multipath service in the management and control platform, thereby avoiding the additional overhead introduced by the terminal side for complex path discovery and path control information establishment, and does not require the cost of introducing new network device forms; the embodiment of the present application solves the disadvantages of incomplete path discovery coverage and untimely updates when the network topology changes in the traditional method through reasonable interaction between NMPS and the existing topology database, which is of great significance for the actual production system; the embodiment of the present application encapsulates the interface of the device forwarding plane through the southbound interface adapter, and can obtain accurate traffic forwarding paths through specific message feature information (such as quintuple);

[0154] In this embodiment, a device for determining path control information is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0155] Fig.12is a structural block diagram of a system for determining path control information according to an embodiment of the present application. Fig.12 As shown, the path control information determination system includes:

[0156] The network multipath service NMPS 1202 is used to query the available paths corresponding to the path constraint information in the topology database according to the path constraint information input by the client;

[0157] The southbound interface adapter 1204 is used to determine the path control information of the available path in the physical network indicated by the path constraint information;

[0158] The southbound interface adapter is also used to encapsulate the interface from the device forwarding plane.

[0159] The target database 1206 is used to store the path control information and provide the path control information to the client.

[0160] The embodiment of the present application uses the above steps to query the available paths corresponding to the path constraint information in the topology database according to the path constraint information input by the client; determine the path control information of the available paths in the physical network indicated by the path constraint information through the southbound interface adapter; and save the path control information in the target database, wherein the target database is used to provide the path control information to the client. In other words, the network multipath service NMPS queries the available paths in the topology database according to the path constraint information input by the client, and queries the path control information corresponding to the available paths through the southbound interface adapter to provide the path control information to the client, which solves the technical problem that the existing data center network cannot realize the full amount of path control information discovery, and then perform absolute path control. It realizes the technical effect of timely and full discovery of the available paths of the network and determining the path forwarding of network traffic without changing the existing data center network equipment form and networking technology.

[0161] In an exemplary embodiment, the system further includes: a topology database, configured to provide available path information to the network multipath service NMPS; and in case of a network topology change, sending incremental change information to the network multipath service NMPS.

[0162] In an exemplary embodiment, the network multipath service NMPS 1202 is also used to determine path constraint conditions in the path constraint information, wherein the path constraint conditions include: source IP address, destination IP address, and constraint conditions; and query the available path corresponding to the path constraint information in the topology database according to the path constraint conditions.

[0163] In an exemplary embodiment, the southbound interface adapter 1204 is also used to determine the traversal range corresponding to the variable in the path constraint information; determine the actual forwarding path corresponding to the target path control information within the traversal range through the southbound interface adapter; and when the actual forwarding path corresponding to the target path control information is consistent with the available path, determine the target path control information as the path control information of the available path.

[0164] In an exemplary embodiment, the southbound interface adapter 1204 is further configured to, when the actual forwarding path corresponding to the target path control information is inconsistent with the available path, continue the traversal process until control information that the actual forwarding path is consistent with the available path is found.

[0165] In an exemplary embodiment, the southbound interface adapter 1204 is further used to determine the target path control information within the traversal range; determine the outbound interface information of the target path control information through the southbound interface adapter; and splice the target path control information and the outbound interface information to obtain the actual forwarding path.

[0166] In an exemplary embodiment, the network multipath service NMPS 1202 is also used to determine the path control information type corresponding to the path constraint information, wherein the path control information type includes but is not limited to one of the following: a quintuple, a quadruple, the path constraint information also includes path quality description information, the path quality description information includes at least one of the following: delay, jitter, packet loss, and the target path control information is the same as the path control information type of the path constraint information.

[0167] In an exemplary embodiment, the network multipath service NMPS 1202 is also used to determine an updated available path based on the incremental change information and the available path when receiving the incremental change information of the topology database; determine the updated path control information corresponding to the updated available path within the traversal range of the physical network indicated by the path constraint information through the southbound interface adapter; and update the path control information in the target database through the updated path control information.

[0168] In an exemplary embodiment, the network multipath service NMPS 1202 is also used to push updated path control information to the client in one of the following ways: determining the path subscription information of the client, and pushing the updated path control information to the client based on the subscription information; upon receiving a polling message from the client, returning the updated path control information to the client.

[0169] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a readable storage medium (such as ROM / RAM, a disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods of each embodiment of the present application.

[0170] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0171] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0172] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0173] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:

[0174] S1, querying the available paths corresponding to the path constraint information in the topology database according to the path constraint information input by the client;

[0175] S2, determining, through a southbound interface adapter, path control information of the available path in the physical network indicated by the path constraint information;

[0176] S3, storing the path control information in a target database, wherein the target database is used to provide the path control information to the client.

[0177] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0178] Optionally, in this embodiment, the electronic device may also be configured to perform the above steps through a computer program:

[0179] S1, querying the available paths corresponding to the path constraint information in the topology database according to the path constraint information input by the client;

[0180] S2, determining, through a southbound interface adapter, path control information of the available path in the physical network indicated by the path constraint information;

[0181] S3, storing the path control information in a target database, wherein the target database is used to provide the path control information to the client.

[0182] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0183] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0184] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method for determining path control information, characterized in that: Applied to the Network Multipath Service (NMPS), including: According to the path constraint information input by the client, query the topology database for available paths corresponding to the path constraint information; Determining, through a southbound interface adapter, path control information of the available path in the physical network indicated by the path constraint information; The path control information is stored in a target database, wherein the target database is used to provide the path control information to the client.

2. The method for determining path control information according to claim 1, characterized in that: Querying the available paths corresponding to the path constraint information in the topology database according to the path constraint information input by the client includes: Determine a path constraint condition in the path constraint information, wherein the path constraint condition includes: a source IP address, a destination IP address, and a constraint condition; According to the path constraint condition, an available path corresponding to the path constraint information is queried in a topology database.

3. The method for determining path control information according to claim 1, characterized in that: Determining, by a southbound interface adapter, path control information of the available path in the physical network indicated by the path constraint information, comprising: Determine the traversal range corresponding to the variable in the path constraint information; Determine, through a southbound interface adapter, an actual forwarding path corresponding to the target path control information within the traversal range; In a case where the actual forwarding path corresponding to the target path control information is consistent with the available path, the target path control information is determined as the path control information of the available path.

4. The method for determining path control information according to claim 3, characterized in that: After determining the path control information corresponding to each path within the traversal range through the southbound interface adapter, the method further includes: In the case where the actual forwarding path corresponding to the target path control information is inconsistent with the available path, the traversal process is continued until control information that the actual forwarding path is consistent with the available path is found.

5. The method for determining path control information according to claim 3, characterized in that: Determining, by the southbound interface adapter, an actual forwarding path corresponding to the target path control information within the traversal range, includes: Determine target path control information within the traversal range; Determine the outbound interface information of the target path control information through a southbound interface adapter; The target path control information and the outbound interface information are concatenated to obtain the actual forwarding path.

6. The method for determining path control information according to claim 3, characterized in that: Before determining, by the southbound interface adapter, an actual forwarding path corresponding to the target path control information within the traversal range, the method further includes: Determine the path control information type corresponding to the path constraint information, wherein the path control information type includes but is not limited to one of the following: a quintuple, a quadruple, the path constraint information also includes path quality description information, the path quality description information includes at least one of the following: delay, jitter, packet loss, and the target path control information is the same as the path control information type of the path constraint information.

7. The method for determining path control information according to claim 1, characterized in that: include: In case of receiving the incremental change information of the topology database, determining to update the available path according to the incremental change information and the available path; Determine, through a southbound interface adapter, updated path control information corresponding to the updated available path within the traversal range of the physical network indicated by the path constraint information; The path control information in the target database is updated by updating the path control information.

8. The method for determining path control information according to claim 7, characterized in that: After updating the path control information in the target database by updating the path control information, the method further includes: Push the updated path control information to the client in one of the following ways: Determine the path subscription information of the client, and push the updated path control information to the client according to the path subscription information; When receiving the polling message from the client, the updated path control information is returned to the client.

9. A system for determining path control information, characterized in that: include: The network multipath service NMPS is used to query the available paths corresponding to the path constraint information in the topology database according to the path constraint information input by the client; A southbound interface adapter, configured to determine path control information of the available path in the physical network indicated by the path constraint information; The target database is used to store the path control information and provide the path control information to the client.

10. The system for determining path control information according to claim 9, characterized in that: The system further comprises: a topology database, configured to provide available path information to the network multipath service NMPS; and In case of a network topology change, incremental change information is sent to the network multipath service NMPS.

11. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, wherein the computer program is configured to execute the method according to any one of claims 1 to 8 when executed.

12. An electronic device, characterized in that: The method comprises a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the method according to any one of claims 1 to 8 through the computer program.