Network configuration data issuing method, electronic equipment and computer program product
By generating network configuration data by acquiring business intent information and logical topology information, the semantic gap problem in network configuration management in existing technologies is solved, realizing automated and efficient operation and maintenance of network configuration, and improving the management capabilities of data center networks.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-17
- Publication Date
- 2026-05-15
AI Technical Summary
Existing template-based network configuration management methods suffer from a semantic gap between business intent and device configuration in modern data centers. They lack network-level coordination and consistency guarantees, making it difficult to adapt to dynamic changes and resulting in low operational efficiency. This has become a bottleneck restricting the automation and intelligence development of cloud data center networks.
By acquiring business intent information, determining logical topology information, and generating network configuration data based on the logical topology information and resource pool, the network configuration data is distributed to the target device, thereby realizing the automated configuration of logical network elements and simplifying the network operation and maintenance process.
It improves the ease of generating and distributing network configuration data, enhances the efficiency of automated network configuration and operation and maintenance, and strengthens the agility and consistency of network management.
Smart Images

Figure CN122053387A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of communication network management technology, and in particular relates to a method for distributing network configuration data, an electronic device, and a computer program product. Background Technology
[0002] With the rapid development of cloud computing, big data, and artificial intelligence technologies, the network scale of modern data centers is expanding daily, business topologies are becoming increasingly complex, and the frequency of business changes is rising sharply. As the cornerstone carrying all business traffic in a data center, the agility, accuracy, and reliability of its configuration management directly affect the continuity of upper-layer services and the quality of service.
[0003] The configuration management of conventional data center network devices (such as gateways, switches, and firewalls) relies on command-line interfaces (CLI) or configuration file templates. This approach has significant limitations and risks in today's dynamic, heterogeneous, and large-scale cloud data center environment, becoming a key bottleneck restricting network operation and maintenance efficiency and the speed of business innovation.
[0004] Existing template-based configuration delivery solutions are built around device configurations. Therefore, when dealing with the complex and dynamic needs of modern data centers, they suffer from several risks, including a gap between business intent and device configuration semantics, a lack of network-level coordination and consistency guarantees, static configuration models that struggle to adapt to dynamic changes, and high change risks with difficult-to-assess impacts. Thus, device-based template-based configuration management has significant shortcomings in terms of business agility, operational reliability, and management efficiency, becoming a key bottleneck restricting the automation and intelligence development of cloud data center networks. Summary of the Invention
[0005] In view of this, embodiments of this application provide a method for distributing network configuration data, an electronic device, and a computer program product to improve the convenience of generating and distributing network configuration data.
[0006] The first aspect of this application provides a method for distributing network configuration data, including: Obtain business intent information; the business intent information includes network requirements and scenario type; Based on the network requirements and the scenario type, determine the logical topology information; Based on the logical topology information and the preset resource pool, network configuration data is generated; The network configuration data is distributed to each target device corresponding to the logical topology information.
[0007] In some implementations of the first aspect, determining the logical topology information based on the network requirements and the scenario type includes: Based on the network requirements and the scenario type, a set of logical network elements is determined; the set of logical network elements includes multiple logical network elements, and the types of logical network elements include at least one of logical switch network elements, logical router network elements, virtual network network elements, and virtual route bridging network elements; The connection relationships of each logical network element are determined based on the network requirements. Logical topology information is generated based on the logical network elements and the connection relationships.
[0008] In some implementations of the first aspect, generating network configuration data based on the logical topology information and a preset resource pool includes: Identify the network resources in the preset resource pool; Traverse each logical network element according to the logical topology information; Determine the network element attributes corresponding to each of the logical network elements; the network element attributes are used to characterize the corresponding network resources. Network configuration data is generated based on the network element attributes and the logical topology information.
[0009] In some implementations of the first aspect, before the network configuration data is distributed to each target device corresponding to the logical topology information, the method further includes: Determine the network scenario adaptation strategy corresponding to the scenario type; Update the network configuration data according to the network scenario adaptation strategy.
[0010] In some implementations of the first aspect, updating the network configuration data according to the network scenario adaptation strategy includes: Convert the parameters corresponding to the logical network element into a resource model that is adapted to the network scenario. Alternatively, the data transmission rules of the logical network elements can be converted into data transmission rules that are adapted to the network scenario. Alternatively, adjust the address information of the receiving object of the network configuration data.
[0011] In some implementations of the first aspect, the step of distributing the network configuration data to each target device corresponding to the logical topology information includes: The configuration delivery strategy is determined based on the scenario type. Based on the logical topology information and the configuration distribution strategy, the target device is determined; A configuration transaction is generated based on the network configuration data; The configuration transaction is sent to each of the target devices to instruct the target devices to respond to the configuration transaction and output a response status; If the response status of each of the target devices is "ready", control each of the target devices to write the network configuration data; If the response state of any of the target devices is not ready, control each target device to roll back to the state before responding to the configuration transaction.
[0012] In some implementations of the first aspect, determining the target device based on the logical topology information and the configuration distribution strategy includes: Determine the network device corresponding to the logical topology information and the configuration distribution policy; Read the current configuration data of each of the network devices; Determine the differences between the current configuration data and the network configuration data; The physical device corresponding to the difference information is identified as the target device.
[0013] In some implementations of the first aspect, before generating network configuration data based on the logical topology information and a preset resource pool, the method further includes: Display a logical network element arrangement diagram corresponding to the logical topology information; the logical network element arrangement diagram includes network element controls corresponding to each logical network element; In response to an operation on the network element control, the logical network element arrangement diagram is adjusted; The logical topology information is updated based on the adjusted logical network element arrangement diagram.
[0014] A second aspect of this application provides a network configuration data distribution apparatus, comprising: The business intent information acquisition module is used to acquire business intent information, which includes network requirements and scenario types. The logical topology information determination module is used to determine logical topology information based on the network requirements and the scenario type. The network configuration data generation module is used to generate network configuration data based on the logical topology information and the preset resource pool. The configuration distribution module is used to distribute the network configuration data to each target device corresponding to the logical topology information.
[0015] A third aspect of this application provides an electronic device including a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the electronic device implements the network configuration data distribution method described in the first aspect above.
[0016] A fourth aspect of this application provides a computer program product, including a computer program that, when run, causes the network configuration data distribution method described in the first aspect above to be executed.
[0017] A fifth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the network configuration data distribution method as described in the first aspect above.
[0018] Compared with the prior art, the embodiments of this application have the following beneficial effects: In this embodiment, service intent information, including network requirements and scenario types, is obtained based on user input. Logical topology information is then determined based on the network requirements and scenario types. Network configuration data is generated based on the logical topology information and a preset resource pool. This network configuration data is then distributed to each target device corresponding to the logical topology information. This process achieves the following: logical topology information is obtained based on service intent information; network resources are allocated to each logical network element in the logical topology information through the resource pool to obtain network configuration data; and the obtained network configuration data is sent to the target devices corresponding to the network topology information to instruct each device in the network topology information to write configuration data. This enables the network composed of each logical network element to operate according to the configuration data, completing the network configuration corresponding to the service intent information. This improves the convenience of generating and distributing network configuration data, thereby increasing the efficiency of automated network configuration and network operation and maintenance. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a schematic diagram of a mapping logic provided in an embodiment of this application; Figure 2 This is a schematic diagram of a network configuration data distribution method provided in an embodiment of this application; Figure 3This is a schematic diagram of a resource allocation process provided in an embodiment of this application; Figure 4 This is a schematic diagram of a distributed configuration process provided in an embodiment of this application; Figure 5 This is a logical network element arrangement diagram provided in an embodiment of this application; Figure 6 This application provides a network configuration engine system. Figure 7 This is a schematic diagram of a physical network architecture provided in an embodiment of this application; Figure 8 This is a schematic diagram of a network configuration data distribution device provided in an embodiment of this application; Figure 9 This is a schematic diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0021] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0022] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.
[0023] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0024] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."
[0025] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0026] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0027] This application decouples user-provided business logic (e.g., creating a subnet) from the underlying network resource configuration. For business logic, corresponding logical network elements are generated by abstracting network resources. This allows users to handle network service requirements without needing to concern themselves with the specific configuration of the underlying network resources, as logical network elements are obtained by abstracting network resources at different levels. For network resource configuration, the automatic distribution of configuration data is achieved by generating configuration data corresponding to the logical network elements and mapping it layer by layer to the corresponding network devices.
[0028] Business data can be the user input information mentioned above, or business information obtained from user input information. For network users or orchestrators, it defines an abstract, device-independent logical network model. Users only need to declare "what they need" (such as a web subnet or a tenant routing domain) without needing to worry about "how to implement it."
[0029] Configuration data is geared towards network devices. This application embodiment automates the processing of business data, automatically calculating and generating specific, executable configuration data, including device configuration parameters and command lines. This application embodiment achieves the mapping between business data and configuration data through the aforementioned steps. It intelligently transforms upper-layer data into standardized configuration data required by various lower-layer physical or virtual network devices, thereby realizing end-to-end automated configuration from intent to network service.
[0030] Reference Figure 1This illustration shows a mapping logic diagram provided by an embodiment of this application. The service data includes the construction of a virtual network, logical switches, and logical routers. This embodiment of the application processes the service data to obtain attribute data related to the virtual network, logical switches, and logical routers. This attribute data is then converted into corresponding configuration data (resource configuration, overlay configuration, routing configuration), and the configuration data is distributed to complete the network configuration matching the service data. This greatly simplifies network operation and maintenance and improves the agility and consistency of network management. The technical solution of this application will be described below through specific embodiments.
[0031] Reference Figure 2 The diagram illustrates a method for distributing network configuration data according to an embodiment of this application, which may specifically include the following steps: Step 201: Obtain business intent information.
[0032] The business intent information includes network requirements and scenario type. This application embodiment can be applied to electronic devices, allowing users to input information through the electronic device (a designated interface or operating interface) based on actual network-related business needs. The electronic device processes the received user input information (e.g., using a preset template or a preset parsing algorithm) to obtain the business intent information.
[0033] User input can be in the form of natural speech or declarative machine-readable information. The user input is processed to analyze the user's business intent, deconstruct the user input and transform it into business intent information that the computer program can understand, including quantified network requirements (e.g., specified bandwidth throughput, QoS (Quality of Service) priority, network latency limits, ACL (Access Control List) security policies), and scenario type.
[0034] The embodiments of this application can be applied to network management. Based on the differences in different dimensions of the network (e.g., data transmission rules, resource settings), the network can be divided into different scenario types, such as: cloud-network integrated scenario, container network scenario, virtualization linkage scenario, and pure network virtualization scenario for bare metal architecture.
[0035] Step 202: Determine the logical topology information based on network requirements and scenario type.
[0036] This application embodiment can abstract the network overlay layer to obtain corresponding logical network elements. For example, it may include: abstracting L2 (Layer 2) forwarding functions and supporting BUM processing; abstracting L3 (Layer 3) routing functions and supporting VRF isolation; abstracting endpoint networks; and abstracting bridging interconnection functions. The topology information of the logical network elements, i.e., logical topology information, is determined based on network requirements and scenario types. That is, the data transmission relationships between different logical network elements in the network overlay layer, as well as the implemented network functions, can be characterized through the logical network element topology information. The aforementioned L2 is the data link layer in the network, and L3 is the network layer.
[0037] Step 203: Generate network configuration data based on logical topology information and preset resource pools; Network topology information contains the data transmission relationships between different logical network elements. In practical applications, different logical network elements require corresponding network resources (e.g., physical addresses, routing addresses, etc.). Therefore, it is necessary to allocate network resources for each logical network element contained in the logical topology information in order to determine the attributes of each network element node.
[0038] To improve the management efficiency of network resource allocation, reclamation, addition, replacement, and real-time monitoring, allocable network resources can be pre-pooled to obtain corresponding resource pools. After obtaining the logical topology information, resources are allocated to each logical network element based on the available network resources in the resource pools, thereby obtaining the corresponding network configuration data.
[0039] Step 204: Distribute network configuration data to each target device corresponding to the logical topology information.
[0040] Network resources are provided by devices within the network, which can be physical or virtual devices. Depending on the scenario type, the devices corresponding to some or all of the logical network elements in the logical topology information can be identified as target devices. By sending network configuration data to the target devices, the target devices are instructed to write and execute the network configuration data, ensuring that the operation of each logical network element in the logical topology information meets the business intent information, thus completing the network configuration corresponding to the business intent information.
[0041] In this embodiment, service intent information, including network requirements and scenario types, is obtained based on user input. Logical topology information is then determined based on the network requirements and scenario types. Network configuration data is generated based on the logical topology information and a preset resource pool. The network configuration data is then distributed to each target device corresponding to the logical topology information. This process achieves the following: obtaining the corresponding logical topology information based on the service intent information; allocating network resources to each logical network element in the logical topology information through the resource pool to obtain network configuration data; and sending the obtained network configuration data to the target devices corresponding to the network topology information to instruct each device in the network topology information to write the configuration data. This enables the network composed of each logical network element to operate according to the configuration data, completing the network configuration corresponding to the service intent information. This improves the convenience of generating and distributing network configuration data, thereby improving the efficiency of automated network configuration and network operation and maintenance.
[0042] In some implementations of this application, step 202 includes: determining a set of logical network elements based on network requirements and scenario type; the set of logical network elements includes multiple logical network elements, and the types of logical network elements include at least one of logical switch network elements, logical router network elements, virtual network network elements, and virtual route bridging network elements; determining the connection relationship of each logical network element based on network requirements; and generating logical topology information based on the logical network elements and the connection relationship.
[0043] Based on the network requirements and scenario types obtained through deconstruction, logical network element objects are instantiated to obtain various logical network elements. Logical network elements include logical switch network elements, logical router network elements, virtual network network elements, and virtual route bridging network elements.
[0044] This application embodiment decouples logical network elements in the network into multiple layers, such as logical switch elements, logical router elements, and virtual network elements. It also sets up virtual routing bridging elements for handling north-south traffic and service chain insertion as part of the boundary processing mechanism, thus providing a highly granular network decoupling architecture and achieving more precise network configuration. Specifically, the logical switch (LS) element abstracts L2 forwarding functions and is responsible for gateway interface configuration, NVE (Network Virtualization Edge) configuration, and BD (Bridge Domain) related configuration distribution. It supports VXLAN (Virtual Extensible Local Area Network) encapsulation, ARP (Address Resolution Protocol) suppression, and BUM (Broadcast Unknown-unicast Multicast) traffic processing. The logical router (LR) element abstracts L3 routing functions and is responsible for VRF (Virtual Routing and Forwarding) related configuration distribution. It supports BGP (Border Gateway Protocol) and EVPN (Ethernet Virtual Private Network) routing, static routing, and dynamic routing. Virtual Network (VN) element: An abstract endpoint network that uniformly represents different types of virtual networks, supporting various access methods such as bare metal, virtual machines, and containers. Virtual Router Bridge (VRB) element: Used for Layer 3 routing or Layer 2 bridging interconnection between logical routers and border network element devices, supporting service chain insertion and north-south traffic processing.
[0045] Based on network requirements, determine the connection relationships between different logical network elements in the logical network element set, and the connections between different network elements.
[0046] In the specific implementation, based on network requirements and scenario types, corresponding logical network element objects are instantiated and their attributes, including basic data structures and globally unique identifiers, are initialized to construct logical network elements. All logical network elements are treated as a set, thereby completely abstracting the underlying complexity of the physical network and forming a standardized data model. The data model is used to uniformly represent the characteristics of various logical network elements, such as globally unique identifiers, connection relationships between logical network elements, and protocols supported by logical network elements.
[0047] As one example: Based on the broadcast domain division requirements of the service, a corresponding logical switch is assigned to each virtual network instance (establishing the connection relationship between virtual network elements and logical switch elements). The system automatically assigns a lower-level isolation identifier (such as the VNI (Virtual Extensible Local Area Network Identifier) or VLAN ID for VXLAN) to each LS, achieving logical isolation of the Layer 2 network. As another example, for cross-subnet communication and external network access requirements, logical router elements are instantiated. The relevant logical switch elements are virtually mounted to the logical router elements through logical ports, and the local routing table of the logical router elements is automatically generated, configuring the default gateway and static / dynamic routing protocols to achieve data connectivity of the Layer 3 network.
[0048] To address the need for IP address overlap and hard security isolation in multi-user environments, Virtual Routing and Forwarding (VRF) instances can be created for logical router network elements. The logical routing table and forwarding table of a specific user are bound to the corresponding VRF, and isolation between the control plane and data plane is achieved through automatic allocation of route distinguishers and route destinations.
[0049] Virtual routing forwarding can be a function within a logical router network element, or it can be an independent logical network element.
[0050] As another example, for requirements such as firewalls, load balancing, and DPI (Deep Packet Inspection), Virtual Router Bridge (VRB) network elements are created. Using Network Service Header (NSH) or Policy-Based Routing (PBR) technologies, the forwarding path of packets (SFP) is defined, forcing traffic matching specific rules to pass through service nodes in the network in sequence, completing the closed-loop configuration of the service chain.
[0051] In practical applications, the connection relationships of each logical network element under different network requirements and different scenario types can be determined in advance. After determining the set of logical network elements, the logical network elements in the set can be connected according to the logical network elements and their connection relationships to generate logical topology information.
[0052] In some implementations of this application, step 203 includes: determining network resources in a preset resource pool; traversing each logical network element according to logical topology information; determining the network element attributes corresponding to each logical network element; the network element attributes are used to characterize the corresponding network resources; and generating network configuration data based on the network element attributes and logical topology information.
[0053] The resources required by different logical network elements can be pooled to obtain corresponding resource pools, thereby improving the management efficiency and allocation efficiency of the resources required by different logical network elements.
[0054] For example, a resource pool may include: a logical switch resource pool, a logical router resource pool, and a virtual network resource pool.
[0055] The logical network elements are traversed according to the logical topology information, and their network element attributes are determined for each logical network element. The network element attributes are used to characterize the network resources allocated to them. For example, the network resources of a certain logical switch network element are determined from the logical switch resource pool, including network resources such as VLAN, VNI, and MAC.
[0056] After obtaining the network element attributes of each logical network element, network configuration data is generated based on the network element attributes of each logical network element in the logical network element topology information.
[0057] Reference Figure 3 The diagram illustrates a resource allocation process provided in an embodiment of this application.
[0058] As an example, for each logical network element in each logical topology, the corresponding resource allocation can be performed through the following steps: Step 301: Initialize the resource allocation mapping table. The resource allocation mapping table records the network resources corresponding to the logical network element sets corresponding to the logical topology information. In step 301, the network resources of each logical network element recorded in the resource allocation mapping table are an empty set.
[0059] Step 302: Allocate network resources for logical switch network elements. Allocate resources such as VLANs, VNIs, and MAC addresses for each logical switch network element.
[0060] Step 303: Allocate network resources for logical router network elements. Allocate VRF, VIN, RD (Route Distinguisher), RT (Route Target), and other resources for each logical router network element.
[0061] Step 304: Allocate network resources for virtual network elements. Different virtual networks have different access types, and network resources can be allocated according to the access type of the virtual network element. For example, for a virtual network element with an access type of access port, resources such as access port and IP address can be allocated.
[0062] Step 305, Resource Conflict Check. Verify the network resources of each logical network element to determine if any resource conflicts exist. For example, different logical switch network elements may be assigned the same MAC address. If a conflict exists, return to step 301; otherwise, proceed to steps 306-307.
[0063] Step 306: Update the resource pool corresponding to each logical network element. If there are no resource conflicts, update each resource pool to remove occupied network resources and prevent the same network resources from being repeatedly occupied.
[0064] Step 307: Output the resource allocation results.
[0065] It should be noted that virtual routing bridging network elements do not require additional resource allocation processing. The resources of virtual routing bridging network elements are determined by a portion of the resources of the related logical switch network elements and logical router network elements. For any virtual routing bridging network element, its network element attributes can be determined after determining the network element attributes of its related logical switch network elements and logical router network elements.
[0066] In some implementations of this application, before distributing network configuration data to each target device corresponding to the logical topology information, the method further includes: determining a network scenario adaptation strategy corresponding to the scenario type; and updating the network configuration data according to the network scenario adaptation strategy.
[0067] The embodiments of this application can be applied to different network scenarios, such as cloud-network integrated scenarios, container network scenarios, traditional computing virtualization linkage scenarios, and metal architecture network virtualization scenarios.
[0068] Different network scenarios may have differences in configuration data distribution and resource models (network element attributes) of logical network elements. In order to improve the adaptability of this application embodiment to different network scenarios, before distributing network configuration data, it is necessary to determine the network scenario adaptation strategy corresponding to the current scenario type, and update the network configuration data according to the network scenario adaptation strategy to ensure that the network configuration data can be distributed normally in the future and greatly reduce the occurrence of abnormal situations in which the target device works according to the network configuration data.
[0069] In some implementations of this application, updating network configuration data according to a network scenario adaptation strategy includes: converting the parameters corresponding to logical network elements into resource model adaptations corresponding to the network scenario; or converting the data transmission rules of logical network elements into data transmission rules adaptations corresponding to the network scenario; or adjusting the address information of the receiving object of the network configuration data.
[0070] For cloud-network integrated scenarios, updating network configuration data according to network scenario adaptation strategies may include: calling the API of the cloud management platform, synchronizing the distribution of computing and storage nodes of physical hosts, and converting logical network element parameters into resource models natively supported by the cloud platform for adaptation.
[0071] For container networking (for cloud-native environments) scenarios, updating network configuration data according to network scenario adaptation strategies can include: adapting to the standard model of container network interfaces, converting logical network element data transmission rules into data transmission rules that correspond to the network scenario, and achieving fine-grained network management at the container level.
[0072] For traditional computing virtualization linkage scenarios, updating network configuration data according to network scenario adaptation strategies may include: connecting to a centralized virtual management platform (such as vCenter / CAS), and adjusting the address information of the receiving object of the network configuration data by calling its SDK interface, so that when the network configuration data is subsequently distributed, it can be automatically distributed to the port group and security policy of the underlying virtual standard switch or distributed switch.
[0073] For bare metal architecture network virtualization scenarios, updating network configuration data according to network scenario adaptation strategies can include: focusing on the management and control of physical network devices. Adjusting the address information of the recipients of network configuration data allows for the direct translation and distribution of logical network configuration to the VTEP (VXLAN Tunnel End Point) and physical ports of hardware leaf-spine switches via the Netconf / YANG (Network Configuration Protocol / Yet Another Next Generation) data model or the BGP EVPN (Border Gateway Protocol - Ethernet Virtual Private Network) protocol, thus optimizing seamless access for bare metal servers.
[0074] In some implementations of this application, step 204 includes: determining a configuration delivery strategy based on the scenario type; determining target devices based on logical topology information and the configuration delivery strategy; generating a configuration transaction based on network configuration data; sending the configuration transaction to each target device to instruct the target device to respond to the configuration transaction and output a response status; controlling each target device to write network configuration data when the response status of each target device is in a ready state; and controlling each target device to roll back to the state before responding to the configuration transaction when the response status of any target device is in a non-ready state.
[0075] Because different network scenarios have different performance requirements (e.g., stability, speed), different distribution strategies can be determined based on the network scenario. For example, when there are multiple target devices, the distribution strategy can include prioritizing different types of devices; another example is that the distribution strategy can include distributing network configuration data layer by layer according to the network structure. By adapting the network configuration data distribution strategy to the network scenario, the stability and smoothness of network configuration data distribution can be improved, and the risk of network configuration data distribution errors can be reduced.
[0076] Based on the logical topology information and configuration distribution strategy, the device receiving the network configuration data can be identified as the target device. In some cases (e.g., adjusting the attributes of some network elements within the same logical network element set), it is not necessary to distribute network configuration data to all devices corresponding to the logical topology information. Therefore, before actually distributing the data, it is necessary to determine the target device receiving the network configuration data.
[0077] In this embodiment of the application, after determining the target device, a configuration transaction is generated based on the network configuration data. That is, the operation of distributing network configuration is encapsulated as a transaction, avoiding the distribution of different contents in the configuration data one by one, thereby ensuring the atomicity and consistency of the network state during the distribution of network configuration data.
[0078] The configuration transaction is sent to each target device to instruct them to respond and output a response status. The response status of each target device identifies whether it can correctly process the network configuration data. If the response status from each target device is "ready," it means all target devices can process the network configuration data normally, and the system controls each target device to write the network configuration data. If any target device's response status is "not ready," it means at least one target device cannot process the network configuration data normally, and the system controls each target device to roll back to its state before responding to the configuration transaction. This prevents some target devices from operating according to the network configuration data while others do not, resulting in a mismatch between the network configuration data constructed by all target devices and the service intent information.
[0079] Reference Figure 4 This diagram illustrates a distributed configuration process provided in an embodiment of this application. The process verifies the readiness of all target devices during the preparation phase, then decides whether to submit the configuration or perform a rollback based on the verification results. This ensures the atomicity and consistency of configuration changes, continuously monitors the configuration status to prevent drift, and finally returns detailed configuration execution results. The distributed configuration process includes: Step 401, create a configuration transaction. Set the initial status to "Preparing".
[0080] Step 402: Adjust the configuration distribution strategy according to the network scenario type.
[0081] Step 403: Verify the connectivity and resource availability of all target devices. Ensure all devices are ready to process network configuration data.
[0082] Step 404: Determine whether all target devices are in a ready state. If all target devices are in a ready state, proceed to step 405; if any target device is not in a ready state, proceed to step 406.
[0083] Step 405, Submit Configuration. This will allow all target devices to write the network configuration data.
[0084] Step 406, roll back the configuration. No network configuration data is written to any target devices.
[0085] Step 407, Verify Configuration Activation Status. This step checks whether the submitted or rolled-back network configuration data is actually functioning as expected on the target device.
[0086] Step 408: Continuously monitor the configuration status and detect configuration drift.
[0087] Step 409: Output the configuration deployment execution results. Output the final status and detailed results of the configuration execution.
[0088] The distributed configuration process ensures the atomicity and consistency of configuration distribution / change in a multi-device environment, avoiding the problem of inconsistent configurations on target devices.
[0089] In some implementations of this application, determining the target device based on logical topology information and configuration distribution strategy includes: determining the network device corresponding to the logical topology information and configuration distribution strategy; reading the current configuration data of each network device; determining the difference information between the current configuration data and the network configuration data; and determining the physical device corresponding to the difference information as the target device.
[0090] In this embodiment of the application, all network devices corresponding to the logical topology information and configuration distribution policy can be identified, and the current configuration data of each network device can be read. Configuration difference calculation can be performed, and the difference information between the current configuration data and the network configuration data to be distributed can be analyzed. Based on the difference information, the target device that needs to ultimately distribute network configuration data can be determined.
[0091] By performing configuration difference calculations to determine the target device, the efficiency of network configuration data distribution can be improved by reducing the distribution of network configuration data to unnecessary network devices.
[0092] In some implementations of this application, before generating network configuration data based on logical topology information and a preset resource pool, the method further includes: displaying a logical network element arrangement diagram corresponding to the logical topology information; the logical network element arrangement diagram includes network element controls corresponding to each logical network element; adjusting the logical network element arrangement diagram in response to operations on the network element controls; and updating the logical topology information based on the adjusted logical network element arrangement diagram.
[0093] A logical network element arrangement diagram (directed acyclic graph) can be generated based on logical topology information. In the logical network element arrangement diagram, logical network elements are used as nodes, and the edges connecting the nodes represent the connection relationship between the nodes at both ends of the edge. Thus, logical topology information can be represented by a logical network element arrangement diagram.
[0094] The electronic device can generate and display a user interface, and display a logical network element arrangement diagram corresponding to the logical topology information in the user interface. The logical network element arrangement diagram contains network element controls corresponding to each logical network element. Users can operate on the network element controls. At the same time, the electronic device can adjust the logical network element arrangement diagram in response to the operation on the network element controls, including adjusting the connection relationship between logical network elements. Based on the adjusted logical network element arrangement diagram, the logical topology information is updated, thereby realizing a way for users to adjust logical topology information through controls.
[0095] Reference Figure 5 This illustration shows a logical network element arrangement diagram provided in an embodiment of this application. The logical network element arrangement diagram includes network element controls LR1 (corresponding to logical switch network element 1), LS1 (corresponding to logical router network element 1), LS2 (corresponding to logical router network element 2), VN1 (corresponding to virtual network network element 1), and VN2 (corresponding to virtual network network element 2). Users can operate on any network element control or add a network element control corresponding to one of the logical network elements to adjust the logical topology information.
[0096] It should be noted that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0097] Reference Figure 6 This application illustrates a network configuration engine system provided in an embodiment of the present application. The embodiment also discloses a network configuration engine system comprising: an intent parsing layer, a logical abstraction and orchestration layer, a multi-scenario adaptation layer, and a configuration generation and execution layer. The network configuration engine system is connected to multiple network devices.
[0098] The intent parsing layer is used to receive declarative network requirement descriptions (Intents), supports lexical and syntactic analysis of natural language or structured data (such as JSON / YAML), identifies key business elements (such as tenant, application type, SLA level), and is used to construct intent dependency graphs to check the logical consistency of business intents and the feasibility of physical resources.
[0099] The logical abstraction orchestration layer is used to abstract different logical network elements, and based on graph theory algorithms, it automatically calculates the connection relationships between logical network elements according to the dependency graph to generate logical topology information.
[0100] The multi-scenario adaptation layer is used to configure network scenarios applicable to the network configuration engine, enabling the adaptation of network configuration data and distribution strategies with the corresponding network scenarios.
[0101] The configuration generation and execution layer is used for resource allocation based on logical topology information, as well as for generating and distributing network configuration data.
[0102] The functions implemented in the network configuration engine are the same as the steps in the above network configuration distribution method embodiment. For a detailed description, please refer to the above network configuration distribution method embodiment, and it will not be repeated here.
[0103] Reference Figure 7 This illustration shows a schematic diagram of a physical network architecture provided by an embodiment of this application. As an example, this embodiment can be applied to cloud network data centers, where the cloud network data center is, for example,... Figure 7 The three-tier leaf-spine architecture network structure shown includes: spine switches, server access switches, and edge access switches. The server access switches and edge access switches can be linked to different resources, including: cloud-network integrated virtual switch clusters, container network virtual switch clusters, edge resource pools, and network access resource pools.
[0104] Reference Figure 8 The diagram illustrates a network configuration data distribution device according to an embodiment of this application. The device includes: The business intent information acquisition module 801 is used to acquire business intent information, including network requirements and scenario types. The logical topology information determination module 802 is used to determine logical topology information based on network requirements and scenario type; The network configuration data generation module 803 is used to generate network configuration data based on logical topology information and a preset resource pool. The configuration distribution module 804 is used to distribute network configuration data to each target device corresponding to the logical topology information.
[0105] In some implementations of this application, the logical topology information determination module 802 includes: The logical network element set determination submodule is used to determine the logical network element set based on network requirements and scenario types. The logical network element set includes multiple logical network elements, and the types of logical network elements include at least one of logical switch network elements, logical router network elements, virtual network network elements, and virtual route bridging network elements. The connection relationship determination submodule is used to determine the connection relationship of each logical network element based on network requirements. The logical topology information generation submodule is used to generate logical topology information based on logical network elements and connection relationships.
[0106] In some implementations of the embodiments of this application, the network configuration data generation module 803 includes: The network resource determination submodule is used to determine the network resources in the preset resource pool; The logical network element traversal submodule is used to traverse each logical network element according to the logical topology information. The network element attribute determination submodule is used to determine the network element attributes corresponding to each logical network element; network element attributes are used to characterize the corresponding network resources. The network configuration data generation submodule is used to generate network configuration data based on network element attributes and logical topology information.
[0107] In some implementations of the embodiments of this application, the apparatus further includes: The network scene adaptation strategy determination module is used to determine the network scene adaptation strategy corresponding to the scene type. The network configuration data adaptation module is used to update network configuration data according to network scenario adaptation strategies.
[0108] In some implementations of the embodiments of this application, the network configuration data adaptation module includes: The parameter conversion submodule is used to convert the parameters corresponding to logical network elements into resource models that are compatible with the network scenario. The data transmission rule conversion submodule is used to convert the data transmission rules of logical network elements into data transmission rules that are adapted to the network scenario. The receiving object adjustment submodule is used to adjust the address information of the receiving object for network configuration data.
[0109] In some implementations of the embodiments of this application, the configuration distribution module 804 includes: Once the configuration distribution strategy is determined, the sub-module is used to determine the configuration distribution strategy based on the scenario type. The target device determination submodule is used to determine the target device based on logical topology information and configuration distribution strategy; The configuration transaction generation submodule is used to generate configuration transactions based on network configuration data. The configuration transaction sending submodule is used to send configuration transactions to each target device to instruct the target device to respond to the configuration transaction and output the response status; The configuration writing submodule is used to control each target device to write network configuration data when the response status of each target device is in the ready state. The rollback configuration submodule is used to control each target device to roll back to the state before the response configuration transaction when the response state of any target device is not ready.
[0110] In some implementations of the embodiments of this application, the target device determination submodule includes: The network device determination unit is used to determine the network devices corresponding to the logical topology information and configuration distribution policies. The current configuration data reading unit is used to read the current configuration data of each network device. The difference information determination unit is used to determine the difference information between the current configuration data and the network configuration data; The target device determination unit is used to determine the physical device corresponding to the difference information as the target device.
[0111] In some implementations of the embodiments of this application, the apparatus further includes: The logical network element arrangement diagram display module is used to display the logical network element arrangement diagram corresponding to the logical topology information; the logical network element arrangement diagram contains network element controls corresponding to each logical network element; The logical network element arrangement diagram adjustment module is used to adjust the logical network element arrangement diagram in response to operations on network element controls; The logical topology information update module is used to update the logical topology information based on the adjusted logical network element arrangement diagram.
[0112] This application provides a network configuration data distribution device. By using this device, the steps in the aforementioned method embodiments can be implemented.
[0113] As the apparatus embodiments are basically similar to the method embodiments, they are described in a relatively simple manner. For relevant details, please refer to the description in the method embodiment section.
[0114] Reference Figure 9 The diagram illustrates an electronic device according to an embodiment of this application. Figure 9 As shown, the electronic device 900 in this embodiment includes a processor 910, a memory 920, and a computer program 921 stored in the memory 920 and executable on the processor 910. When the processor 910 executes the computer program 921, it implements the steps in the various embodiments of the network configuration data distribution method described above, for example... Figure 2 Steps 201 to 204 are shown. Alternatively, when processor 910 executes computer program 921, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 8 The functions of modules 801 to 804 are shown.
[0115] Electronic device 900 can be a desktop computer, cloud server, or other computing device. Electronic device 900 may include, but is not limited to, processor 910 and memory 920. Those skilled in the art will understand that... Figure 9 This is merely one example of electronic device 900 and does not constitute a limitation on electronic device 900. It may include more or fewer components than shown, or combine certain components, or different components. For example, electronic device 900 may also include input / output devices, network access devices, buses, etc.
[0116] The processor 910 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0117] The memory 920 can be an internal storage unit of the electronic device 900, such as a hard disk or RAM of the electronic device 900. The memory 920 can also be an external storage device of the electronic device 900, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, etc., equipped on the electronic device 900. Furthermore, the memory 920 can include both internal and external storage units of the electronic device 900. The memory 920 is used to store the computer program 921 and other programs and data required by the electronic device 900. The memory 920 can also be used to temporarily store data that has been output or will be output.
[0118] This application also discloses a computer-readable storage medium storing a computer program that, when executed by a processor, implements the network configuration data distribution method as described in the foregoing embodiments.
[0119] This application also discloses a computer program product, including a computer program, which, when run, causes the network configuration data distribution method as described in the foregoing embodiments to be executed.
[0120] The embodiments described above are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A method for distributing network configuration data, characterized in that, include: Obtain business intent information; The business intent information includes network requirements and scenario type; Based on the network requirements and the scenario type, determine the logical topology information; Based on the logical topology information and the preset resource pool, network configuration data is generated; The network configuration data is distributed to each target device corresponding to the logical topology information.
2. The method according to claim 1, characterized in that, The step of determining logical topology information based on the network requirements and the scenario type includes: Based on the network requirements and the scenario type, a set of logical network elements is determined; the set of logical network elements includes multiple logical network elements, and the types of logical network elements include at least one of logical switch network elements, logical router network elements, virtual network network elements, and virtual route bridging network elements; The connection relationships of each logical network element are determined based on the network requirements. Logical topology information is generated based on the logical network elements and the connection relationships.
3. The method according to claim 2, characterized in that, The step of generating network configuration data based on the logical topology information and the preset resource pool includes: Identify the network resources in the preset resource pool; Traverse each logical network element according to the logical topology information; Determine the network element attributes corresponding to each of the logical network elements; the network element attributes are used to characterize the corresponding network resources. Network configuration data is generated based on the network element attributes and the logical topology information.
4. The method according to claim 3, characterized in that, Before sending the network configuration data to each target device corresponding to the logical topology information, the method further includes: Determine the network scenario adaptation strategy corresponding to the scenario type; Update the network configuration data according to the network scenario adaptation strategy.
5. The method according to claim 4, characterized in that, Updating the network configuration data according to the network scenario adaptation strategy includes: Convert the parameters corresponding to the logical network element into a resource model that is adapted to the network scenario. Alternatively, the data transmission rules of the logical network elements can be converted into data transmission rules that are adapted to the network scenario. Alternatively, adjust the address information of the receiving object of the network configuration data.
6. The method according to claim 1, characterized in that, The step of sending the network configuration data to each target device corresponding to the logical topology information includes: The configuration delivery strategy is determined based on the scenario type. Based on the logical topology information and the configuration distribution strategy, the target device is determined; A configuration transaction is generated based on the network configuration data; The configuration transaction is sent to each of the target devices to instruct the target devices to respond to the configuration transaction and output a response status; If the response status of each of the target devices is "ready", control each of the target devices to write the network configuration data; If the response state of any of the target devices is not ready, control each target device to roll back to the state before responding to the configuration transaction.
7. The method according to claim 6, characterized in that, The step of determining the target device based on the logical topology information and the configuration distribution strategy includes: Determine the network device corresponding to the logical topology information and the configuration distribution policy; Read the current configuration data of each of the network devices; Determine the differences between the current configuration data and the network configuration data; The physical device corresponding to the difference information is identified as the target device.
8. The method according to claim 1, characterized in that, Before generating network configuration data based on the logical topology information and the preset resource pool, the method further includes: Display a logical network element arrangement diagram corresponding to the logical topology information; the logical network element arrangement diagram includes network element controls corresponding to each logical network element; In response to an operation on the network element control, the logical network element arrangement diagram is adjusted; The logical topology information is updated based on the adjusted logical network element arrangement diagram.
9. An electronic device, characterized in that, The device includes a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the electronic device performs the method as described in any one of claims 1-8.
10. A computer program product, characterized in that, Includes a computer program, which, when run, causes the method as described in any one of claims 1-8 to be performed.