Route configuration method, apparatus, device, and storage medium

CN117640488BActive Publication Date: 2026-10-30TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210983447.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-16
Publication Date
2026-10-30
Estimated Expiration
2042-08-16

AI Technical Summary

Technical Problem

[0004]然而,上述路由配置过程较为繁琐,导致路由配置效率较低,当路由配置条目较多时,还会存在路由配置准确率较低的问题

Benefits of technology

[0012]通过本申请实施例提供的技术方案,由于云控制器为第一设备、接入网关和云网关下发了BGP配置,使得接入网关分别可以与第一设备以及云网关建立BGP邻居关系,基于此,当这三个设备中的任一个设备被配置了私有云与公有云之间的路由配置之后,该设备都可以基于BGP邻居关系向该设备的BGP邻居共享该路由配置,进而使得这三个设备均可以获得该路由配置。该路由配置方法较为简单,从而可以提高路由配置效率,尤其对于路由配置条目较多的情况,由于只需要为一个设备配置路由配置即可,从而可以降低配置出错的情况。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117640488B_ABST
    Figure CN117640488B_ABST
Patent Text Reader

Abstract

The application provides a routing configuration method and device, equipment and a storage medium. The method comprises: obtaining a first BGP configuration, a second BGP configuration, a third BGP configuration and a fourth BGP configuration; issuing the first BGP configuration to an access gateway and issuing the second BGP configuration to a first device, the first BGP configuration and the second BGP configuration being used to establish a first BGP neighbor relationship between the access gateway and the first device, the first BGP neighbor relationship being used for the access gateway and the first device to share routing configuration; issuing the third BGP configuration to the access gateway and issuing the fourth BGP configuration to a cloud gateway, the third BGP configuration and the fourth BGP configuration being used to establish a second BGP neighbor relationship between the access gateway and the cloud gateway, the second BGP neighbor relationship being used for the access gateway and the cloud gateway to share routing configuration, thereby improving routing configuration efficiency and accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud technology, and in particular to a routing configuration method, apparatus, device, and storage medium. Background Technology

[0002] In a hybrid cloud scenario, to enable private cloud-side Internet Data Center (IDC) servers or Customer Premises Equipment (CPE) to access the public cloud, such as... Figure 1 As shown, users need to send routing configurations from the private cloud to the public cloud to the cloud controller via the cloud console. For example, Figure 1 The image shows a route 172.16.0.0 / 24 on a public cloud network segment. The cloud controller then distributes this route configuration to the access gateway and the cloud gateway. Additionally, users need to configure this route for the IDC server or CPE.

[0003] Similarly, in a hybrid cloud scenario, to enable the public cloud to access the private cloud, users need to send a routing configuration from the public cloud to the private cloud to the cloud controller via the cloud console. The cloud controller then distributes this routing configuration to the access gateway and the cloud gateway. Additionally, users also need to configure this routing configuration for the IDC server or CPE.

[0004] However, the above routing configuration process is rather cumbersome, resulting in low routing configuration efficiency. When there are many routing configuration entries, there is also the problem of low routing configuration accuracy. Summary of the Invention

[0005] This application provides a routing configuration method, apparatus, device, and storage medium, which can improve routing configuration efficiency, especially when there are many routing configuration entries. Since only one device needs to be configured for routing, the possibility of configuration errors can be reduced.

[0006] In a first aspect, embodiments of this application provide a routing configuration method. This method is applied to a cloud controller, which is connected to an access gateway and a cloud gateway on the public cloud side. The access gateway is also connected to a first device and a cloud gateway on the private cloud side. The method includes: obtaining a first BGP configuration, a second BGP configuration, a third BGP configuration, and a fourth BGP configuration; sending the first BGP configuration to the access gateway and the second BGP configuration to the first device, wherein the first and second BGP configurations are used to establish a first BGP neighbor relationship between the access gateway and the first device, and the first BGP neighbor relationship is used for sharing routing configurations between the access gateway and the first device; sending the third BGP configuration to the access gateway and the fourth BGP configuration to the cloud gateway, wherein the third and fourth BGP configurations are used to establish a second BGP neighbor relationship between the access gateway and the cloud gateway, and the second BGP neighbor relationship is used for sharing routing configurations between the access gateway and the cloud gateway; wherein the routing configuration is either a first routing configuration from the private cloud to the public cloud or a second routing configuration from the public cloud to the private cloud.

[0007] Secondly, embodiments of this application provide a cloud controller. The cloud controller is connected to an access gateway and a cloud gateway on the public cloud side. The access gateway is also connected to a first device and a cloud gateway on the private cloud side. The cloud controller includes an acquisition module and a distribution module. The acquisition module is used to acquire a first BGP configuration, a second BGP configuration, a third BGP configuration, and a fourth BGP configuration. The distribution module is used to: distribute the first BGP configuration to the access gateway and distribute the second BGP configuration to the first device. The first BGP configuration and the second BGP configuration are used to establish a first BGP neighbor relationship between the access gateway and the first device. The first BGP neighbor relationship is used for sharing routing configurations between the access gateway and the first device. The third BGP configuration is distributed to the access gateway and the fourth BGP configuration to the cloud gateway. The third BGP configuration and the fourth BGP configuration are used to establish a second BGP neighbor relationship between the access gateway and the cloud gateway. The second BGP neighbor relationship is used for sharing routing configurations between the access gateway and the cloud gateway. The routing configuration is either a first routing configuration from the private cloud to the public cloud or a second routing configuration from the public cloud to the private cloud.

[0008] Thirdly, embodiments of this application provide an electronic device, including: a processor and a memory, the memory being used to store a computer program, and the processor being used to call and run the computer program stored in the memory to perform the methods as described in the first aspect or its various implementations.

[0009] Fourthly, embodiments of this application provide a computer-readable storage medium for storing a computer program that causes a computer to perform the methods described in the first aspect or its various implementations.

[0010] Fifthly, embodiments of this application provide a computer program product including computer program instructions that cause a computer to perform the methods as described in the first aspect or its various implementations.

[0011] Sixthly, embodiments of this application provide a computer program that causes a computer to perform the methods as described in the first aspect or its various implementations.

[0012] The technical solution provided in this application embodiment enables the access gateway to establish BGP neighbor relationships with the first device, the access gateway, and the cloud gateway, respectively, since the cloud controller issues BGP configurations to the first device, the access gateway, and the cloud gateway. Therefore, when any one of these three devices is configured with routing between the private cloud and the public cloud, that device can share the routing configuration with its BGP neighbors based on the BGP neighbor relationship, allowing all three devices to obtain the routing configuration. This routing configuration method is relatively simple, thus improving routing configuration efficiency, especially when there are many routing configuration entries. Since only one device needs to be configured, the possibility of configuration errors can be reduced. Attached Figure Description

[0013] Figure 1 A network structure diagram provided for related technologies;

[0014] Figure 2 A network architecture diagram provided for an embodiment of this application;

[0015] Figure 3 A flowchart illustrating a routing configuration method provided in an embodiment of this application;

[0016] Figure 4 A flowchart illustrating another routing configuration method provided in this application embodiment;

[0017] Figure 5 A flowchart illustrating another routing configuration method provided in this application embodiment;

[0018] Figure 6 A flowchart illustrating yet another routing configuration method provided in this application embodiment;

[0019] Figure 7 A flowchart illustrating yet another routing configuration method provided in this application embodiment;

[0020] Figure 8 A network architecture diagram provided for an embodiment of this application;

[0021] Figure 9 A schematic diagram illustrating an FCR containerized deployment provided in an embodiment of this application;

[0022] Figure 10 A schematic diagram of a cloud controller 1000 provided in an embodiment of this application;

[0023] Figure 11 This is a schematic block diagram of the electronic device provided in the embodiments of this application. Detailed Implementation

[0024] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.

[0025] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or server that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or devices.

[0026] This application relates to the field of cloud technology. Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or local area network to realize the computation, storage, processing, and sharing of data.

[0027] Cloud technology is a collective term for network technologies, information technologies, integration technologies, management platform technologies, and application technologies applied to the cloud computing business model. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will all require robust system support, which can only be achieved through cloud computing.

[0028] Hybrid cloud, which combines public cloud and private cloud, has become a major model and development direction of cloud computing in recent years. Private cloud primarily targets enterprise users; for security reasons, enterprises prefer to store data in private clouds, but at the same time, they also want access to the computing resources of public clouds. Hybrid cloud is increasingly adopted in this context, combining and matching public and private clouds to achieve optimal results. This personalized solution achieves both cost-effectiveness and security.

[0029] Before introducing the technical solution of this application, the relevant knowledge of this application will be explained below:

[0030] I. Network Functions Virtualization (NFV) refers to the use of virtualization technology to implement various network functions on standardized, general-purpose Internet Technology (IT) equipment (x86 servers, storage devices, and switches). The goal of NFV is to replace private, dedicated, and closed network elements in communication networks, achieving an open architecture of a unified, general-purpose hardware platform plus business logic software.

[0031] NFV integrates various network devices, such as servers, switches, and storage devices, into a data center network. It leverages IT virtualization technology to create virtual machines (VMs), and then deploys traditional communication technology (CT) services onto these VMs. Before NFV, devices were highly specialized, with specific functions implemented by dedicated devices. Now, the control plane is separated from the specific device; different devices use VMs as their control plane, and these VMs use cloud operating systems. This allows enterprises to deploy new services simply by creating the corresponding VMs on an open VM operating platform and installing the relevant software packages. This approach is called Network Functions Virtualization.

[0032] The NFV architecture consists of three parts: basic network function virtualization architecture, virtual network functions, management automation, and network orchestration.

[0033] The basic network virtualization infrastructure (NFVI) is like the mobile phone operating system launched by various mobile phone manufacturers. It provides hardware devices with basic components and supports the software or container management platform required by network applications.

[0034] Virtual Network Functions (VNFs) are software applications that implement network functions, such as forwarding services and IP configuration, much like applications (apps) on a mobile phone. In the NFV architecture, various VNFs are implemented on top of NFVI. Because NFVI is a standardized architecture, different VNFs gain universality and no longer depend on the original black-box devices.

[0035] Management Automation and Network Orchestration (MANO) is a unified framework for managing various VNFs and NFVIs, facilitating service orchestration and device management for operations and maintenance personnel.

[0036] Compared to traditional physical network equipment, NFV has many advantages, as shown in Table 1:

[0037] Table 1

[0038]

[0039]

[0040] II. Private cloud networks, such as Virtual Private Clouds (VPCs), are isolated network environments built on top of enterprise clouds, with complete logical isolation between VPC networks. VPCs offer two capabilities: first, users can customize the network topology, including selecting free IP address ranges, dividing network segments, configuring routing tables and gateways; second, they can connect to existing data centers via leased lines or Virtual Private Networks (VPNs), allowing on-premises and cloud resources to use the same network address planning, enabling smooth application migration to the cloud.

[0041] Each private cloud network consists of a private network segment, a router, and at least one switch. The router is the hub of the private cloud network; as a crucial functional component, it connects the various switches within the network and also serves as a gateway connecting the private cloud network to other networks. The switch is the fundamental network equipment that makes up the private cloud network, used to connect different cloud product instances.

[0042] III. Border Gateway Protocol (BGP) is a path vector routing protocol that enables route reachability between Autonomous Systems (AS) and selects the best route. The purpose of the BGP protocol itself is to transmit routing information.

[0043] IV. An AS (Application Service) is a collection of Internet Protocol (IP) networks and devices managed by a single institution or organization. ASs typically have numerous BGP neighbor relationships. The process of establishing a BGP neighbor relationship involves the two parties running the BGP protocol finding each other and establishing a connection.

[0044] V. The BGP neighbor relationship establishment process includes:

[0045] Step 1: After a BGP device, such as a BGP router or BGP gateway, starts running, there will be a waiting period. This period is 32 seconds by default, during which the BGP device is in an idle state.

[0046] It should be understood that if the BGP device does not know the routes of its BGP neighbor at this time, it will remain in an idle state. Therefore, it is necessary to ensure that the BGP device and its BGP neighbor can ping each other.

[0047] Step 2: The BGP device needs to establish a Transport Control Protocol (TCP) connection with its BGP neighbor.

[0048] The BGP device can listen on its own port 179 and attempt to establish TCP connections with its BGP neighbors. At this time, the BGP device is in the Connect state. If the TCP connection between the BGP device and its BGP neighbor is successfully established, the BGP device enters the next state, the OpenSent state. If the TCP connection between the BGP device and its BGP neighbor fails to be established, the BGP device enters the Active state. In the Active state, the BGP device waits for TCP connections from its BGP neighbor while periodically returning to the Connect state to attempt to establish a TCP connection.

[0049] Step 3: The BGP device exchanges and verifies parameters with its BGP neighbors.

[0050] After the TCP connection between the BGP device and its BGP neighbor is established, the BGP device and its BGP neighbor can exchange Open messages. At this time, the BGP device is in the OpenSent state. Upon receiving an Open message from its BGP neighbor, it can negotiate some parameters, such as the AS number, router identifier, authentication password, etc. If the parameter negotiation fails, the BGP device will fall back to the Idle state. If the negotiation is successful, the BGP device can attempt to send a Keeplive message, at which point the BGP device is in the OpenConfirm state. Upon receiving a Keeplive message from its BGP neighbor, the BGP device enters the Establish state, indicating that the neighbor relationship between the BGP device and its BGP neighbor is officially established.

[0051] VI. Containerization refers to packaging software code and all necessary components (such as libraries, frameworks, and other dependencies) together, isolating them within their own "containers." Based on this, software or applications within a container can be consistently moved and run on any environment and any infrastructure, unaffected by the operating system of that environment or infrastructure. A container is essentially a fully functional and easily portable computing environment.

[0052] 7. Binary deployment refers to a solution where code is written directly on the operating system.

[0053] The technical problem to be solved and the inventive concept of this application will be explained below:

[0054] Currently, because public and private clouds belong to different cloud providers, users need to perform routing configuration on both the public and private cloud sides when configuring routes from a private cloud to a public cloud, or vice versa. However, this routing configuration process is cumbersome, resulting in low efficiency and accuracy.

[0055] To address the aforementioned technical issues, this application proposes establishing a BGP neighbor relationship between the first device on the private cloud side and the access gateway, as well as a BGP neighbor relationship between the access gateway and the cloud gateway on the public cloud side. This allows the three devices to share the routing configuration based on the BGP neighbor relationship once any of the first device, access gateway, or cloud gateway has been configured with routing information. This routing configuration method is relatively simple, thereby improving the efficiency and accuracy of routing configuration.

[0056] The technical solution of this application is applicable to Figure 2 The network architecture shown is not limited to this:

[0057] For example, Figure 2 A network architecture diagram is provided for an embodiment of this application, such as Figure 2 As shown, the network architecture adopts the NFV design concept of separation of forwarding and control (i.e., separation of forwarding and control), and is divided into a cloud controller 21 for issuing control commands and network devices for forwarding data. These network devices include, but are not limited to, the first device 22 on the private cloud side, the cloud gateway 23 on the public cloud side, and the access gateway 24.

[0058] Optionally, the cloud controller 21 can be connected to the first device 22, the cloud gateway 23, and the access gateway 24 via a remote procedure call (RPC) interface, such as a gRPC interface. The access gateway 24 can be connected to the first device 22 and the cloud gateway 23.

[0059] Optionally, the first device 22 may be an IDC server or a CPE, etc., and this application does not impose any restrictions on it.

[0060] Cloud Gateway 23 is used in scenarios such as hybrid cloud dedicated line access, inter-domain interconnection, and public cloud Black Stone interconnection to achieve high-performance forwarding, support multi-tenant access, and support features such as sharding, reassembly, and rate limiting. This Cloud Gateway 23 can be a Next Generation Gateway (NGW), but is not limited to it.

[0061] Access gateway 24, also known as an internetwork connector or protocol converter, is used to enable interconnection between private clouds and public clouds, which use different high-level protocols.

[0062] The technical solution of this application will be described in detail below:

[0063] Figure 3 This is a flowchart illustrating a routing configuration method provided in an embodiment of this application. The method can be executed by a cloud controller, a first device on a private cloud side, an access gateway, and a cloud gateway on a public cloud side. The public cloud can be a private cloud network. The cloud controller is connected to the access gateway and the cloud gateway. The access gateway is also connected to the first device and the cloud gateway. The first device can be an IDC server or a CPE, but is not limited to these. Figure 3 As shown, the routing configuration method may include:

[0064] S301: The cloud controller obtains the first BGP configuration, the second BGP configuration, the third BGP configuration, and the fourth BGP configuration;

[0065] S302: The cloud controller sends the first BGP configuration to the access gateway;

[0066] S303: The cloud controller sends the second BGP configuration to the first device;

[0067] S304: The access gateway and the first device establish a first BGP neighbor relationship based on the first BGP configuration and the second BGP configuration. The first BGP neighbor relationship is used for the access gateway and the first device to share routing configurations.

[0068] S305: The cloud controller sends a third-party BGP configuration to the access gateway;

[0069] S306: The cloud controller sends the fourth BGP configuration to the cloud gateway;

[0070] S307: The access gateway and the cloud gateway establish a second BGP neighbor relationship based on the third BGP configuration and the fourth BGP configuration. The second BGP neighbor relationship is used for the access gateway and the cloud gateway to share routing configurations.

[0071] It should be understood that the first BGP configuration refers to the BGP configuration issued by the cloud controller to the access gateway for establishing the first BGP neighbor relationship, and the second BGP configuration refers to the BGP configuration issued by the cloud controller to the first device for establishing the first BGP neighbor relationship.

[0072] Optionally, the first BGP configuration includes at least one of the following, but is not limited to: the IP address of the cloud controller, the IP address of the access gateway, the identifier of the AS to which the access gateway belongs, and the identifier of the BGP neighbor of the access gateway, i.e., the identifier of the first device.

[0073] Optionally, the second BGP configuration includes at least one of the following, but is not limited to: the IP address of the cloud controller, the IP address of the first device, the identifier of the AS to which the first device belongs, and the identifier of the BGP neighbor of the first device, i.e., the identifier of the access gateway.

[0074] Optionally, the AS to which the access gateway belongs and the AS to which the first device belongs can be different.

[0075] It should be understood that after the access gateway obtains the first BGP configuration and the first device obtains the second BGP configuration, the access gateway and the first device can establish a first BGP neighbor relationship based on the BGP neighbor relationship establishment method. The establishment of the first BGP neighbor relationship can be initiated actively by either the access gateway or the first device. For example, the following example illustrates the process of establishing a first BGP neighbor relationship by having the access gateway actively initiate the process:

[0076] Step 1: The access gateway is in an idle state.

[0077] Step 2: A TCP connection needs to be established between the access gateway and the first device.

[0078] Step 3: The access gateway and the first device exchange and verify parameters.

[0079] When initiating the first BGP neighbor relationship, the access gateway needs to resolve the identifier of its BGP neighbor, i.e., the identifier of the first device, from the first BGP configuration. During the establishment of this first BGP neighbor relationship, the first device needs to resolve the identifier of its BGP neighbor, i.e., the identifier of the access gateway, from the second BGP configuration so that the first device can establish a TCP connection with the access gateway and exchange and verify parameters.

[0080] It should be understood that the specific methods for establishing BGP neighbor relationships can be found above, and will not be repeated here.

[0081] Optionally, after the cloud controller sends the first BGP configuration to the access gateway and the second BGP configuration to the first device, the cloud controller can send indication information to the access gateway and the first device to indicate that the access gateway and the first device can establish a BGP neighbor relationship with each other.

[0082] It should be understood that the third BGP configuration refers to the BGP configuration issued by the cloud controller to the access gateway for establishing the second BGP neighbor relationship, and the fourth BGP configuration refers to the BGP configuration issued by the cloud controller to the cloud gateway for establishing the second BGP neighbor relationship.

[0083] Optionally, the third BGP configuration includes at least one of the following, but not limited to: the IP address of the cloud controller, the IP address of the access gateway, the identifier of the AS to which the access gateway belongs, and the identifier of the BGP neighbor of the access gateway, i.e., the identifier of the cloud gateway.

[0084] Optionally, the fourth BGP configuration includes at least one of the following, but is not limited to: the IP address of the cloud controller, the IP address of the cloud gateway, the identifier of the AS to which the cloud gateway belongs, and the identifier of the BGP neighbor of the cloud gateway, i.e., the identifier of the access gateway.

[0085] Optionally, the AS to which the access gateway belongs and the AS to which the cloud gateway belongs can be different.

[0086] It should be understood that after the access gateway obtains the third BGP configuration and the cloud gateway obtains the fourth BGP configuration, the access gateway and the cloud gateway can establish a second BGP neighbor relationship based on the BGP neighbor relationship establishment method. The establishment of the second BGP neighbor relationship can be initiated by either the access gateway or the cloud gateway. For example, the following example illustrates the process of establishing a second BGP neighbor relationship by having the access gateway initiate the process:

[0087] Step 1: The access gateway is in an idle state.

[0088] Step 2: A TCP connection needs to be established between the access gateway and the cloud gateway.

[0089] Step 3: The access gateway and the cloud gateway exchange and verify parameters.

[0090] When the access gateway initiates a second BGP neighbor relationship, it needs to resolve the identifier of its BGP neighbor, i.e., the identifier of the cloud gateway, from the third BGP configuration. During the establishment of this second BGP neighbor relationship, the cloud gateway needs to resolve the identifier of its BGP neighbor, i.e., the identifier of the access gateway, from the fourth BGP configuration so that the cloud gateway and the access gateway can establish a TCP connection and exchange and verify parameters.

[0091] It should be understood that the specific methods for establishing BGP neighbor relationships can be found above, and will not be repeated here.

[0092] Optionally, after the cloud controller sends the third BGP configuration to the access gateway and the fourth BGP configuration to the cloud gateway, the cloud controller can send indication information to the access gateway and the cloud gateway to indicate that the access gateway and the cloud gateway can establish a BGP neighbor relationship with each other.

[0093] Optionally, the cloud controller connects to both the access gateway and the cloud gateway via Remote Procedure Call (RPC), such as a gRPC interface. Based on this, the cloud controller can send the first and third BGP configurations to the access gateway through the gRPC interface between the cloud controller and the access gateway. The cloud controller can also send the fourth BGP configuration to the cloud gateway through the gRPC interface between itself and the cloud gateway.

[0094] Optionally, the above routing configuration can be either a first routing configuration from a private cloud to a public cloud, or a second routing configuration from a public cloud to a private cloud.

[0095] The aforementioned routing configuration can be a first routing configuration from a private cloud to a public cloud, for example, the first routing configuration includes network segment routing of the public cloud; or, the routing configuration can be a second routing configuration from a public cloud to a private cloud, for example, the second routing configuration includes network segment routing of the private cloud.

[0096] The technical solution provided in this application embodiment simplifies the routing configuration process compared to existing technologies. This is because the cloud controller distributes BGP configurations to the first device, access gateway, and cloud gateway, enabling the access gateway to establish BGP neighbor relationships with both the first device and the cloud gateway. Consequently, when any one of these three devices is configured with routing between the private and public clouds, it can share this routing configuration with its BGP neighbors, allowing all three devices to access the configuration. Especially when dealing with numerous routing configuration entries, the simplified routing configuration process, simplifies the process for configuring only one device, thus reducing the likelihood of configuration errors.

[0097] Optionally, the first route configuration can be a pre-configured route configuration, or it can be configured by the cloud controller for the cloud gateway or access gateway. The following will elaborate on the route configuration method when the above route configuration is the first route configuration:

[0098] Figure 4 A flowchart of another routing configuration method provided in the embodiments of this application is shown below. Figure 4 As shown, following S307 above, this routing configuration method also includes:

[0099] S401: The cloud controller obtains the first route configuration;

[0100] S402: The cloud controller sends the first route configuration to the cloud gateway;

[0101] S403: The cloud gateway shares the first route configuration with the access gateway based on the second BGP neighbor relationship;

[0102] S404: The access gateway shares the first routing configuration with the first device based on the first BGP neighbor relationship.

[0103] Optionally, users can create a first route configuration via a webpage or command line on the cloud console and send the first route configuration to the cloud controller.

[0104] It should be understood that the second BGP neighbor relationship is specifically used for the cloud gateway to share the first route configuration with the access gateway; the first BGP neighbor relationship is specifically used for the access gateway to share the first route configuration with the first device.

[0105] Figure 5 A flowchart of another routing configuration method provided in the embodiments of this application is shown below. Figure 5 As shown, following S307 above, this routing configuration method also includes:

[0106] S501: The cloud controller obtains the first route configuration;

[0107] S502: The cloud controller sends the first route configuration to the access gateway;

[0108] S503: The access gateway shares the first route configuration with the cloud gateway based on the second BGP neighbor relationship;

[0109] S504: The access gateway shares the first route configuration with the first device based on the first BGP neighbor relationship.

[0110] Optionally, users can create a first route configuration via a webpage or command line on the cloud console and send the first route configuration to the cloud controller.

[0111] It should be understood that the second BGP neighbor relationship is specifically used for the access gateway to share the first route configuration with the cloud gateway; the first BGP neighbor relationship is specifically used for the access gateway to share the first route configuration with the first device.

[0112] The technical solution provided in this application simplifies the routing configuration process compared to existing technologies. This improves routing configuration efficiency, especially when there are many routing configuration entries. Since only the cloud controller needs to configure the first route to the first device or the cloud gateway, configuration errors are reduced.

[0113] It should be understood that due to network jitter, latency, and other issues, the first route configuration actually obtained by the cloud gateway and access gateway may not be the same as the first route configuration issued by the cloud controller. In other words, the first route configuration actually obtained by the cloud gateway and / or access gateway may contain abnormal routing table entries. Based on this, the cloud controller can adopt the following possible methods, but not limited to these, to ensure that gateways with abnormal routing table entries can obtain the correct first route configuration:

[0114] The following possible implementation methods can be compared with Figure 4 or Figure 5 The corresponding embodiments are combined below. Figure 4 The corresponding implementation examples provide a detailed explanation of the routing configuration method:

[0115] Figure 6 A flowchart of another routing configuration method provided in the embodiments of this application is shown below. Figure 6 As shown, following S404, this routing configuration method may also include:

[0116] S601: The cloud gateway sends a third-party routing configuration to the cloud controller;

[0117] S602: The access gateway sends the fourth route configuration to the cloud controller;

[0118] S603: The cloud controller determines whether the configuration of the third route and the configuration of the fourth route are synchronized;

[0119] S604: If the third routing configuration and the fourth routing configuration are not synchronized, the cloud controller will determine at least one abnormal routing table entry in the third routing configuration and the fourth routing configuration.

[0120] S605: If the cloud gateway has an abnormal routing table entry, the cloud controller sends a control command or first routing configuration to the cloud gateway.

[0121] S606: If there are abnormal routing table entries in the access gateway, the cloud controller will send a control command or the first routing configuration to the access gateway.

[0122] It should be understood that the third-party routing configuration refers to the first-party routing configuration actually obtained by the cloud gateway. Under normal network conditions, the third-party routing configuration should be the same as the first-party routing configuration. However, if there are network or device failures, the third-party routing configuration may differ from the first-party routing configuration; for example, the third-party routing configuration may have added, deleted, or modified route entries compared to the first-party routing configuration. Similarly, the fourth-party routing configuration is the first-party routing configuration actually obtained by the access gateway. Under normal network conditions, the fourth-party routing configuration should be the same as the first-party routing configuration. However, if there are network or device failures, the fourth-party routing configuration may differ from the first-party routing configuration; for example, the fourth-party routing configuration may have added, deleted, or modified route entries compared to the first-party routing configuration. In short, since the first-party routing configuration is issued by the cloud controller, the cloud controller determines that the third-party and fourth-party routing configurations should be synchronized. However, if there are network or device failures, the third-party and fourth-party routing configurations may differ.

[0123] It should be understood that when the cloud controller determines whether the third route configuration and the fourth route configuration are synchronized, it means that the cloud controller determines whether the third route configuration and the fourth route configuration are the same.

[0124] Optionally, if the third routing configuration and the fourth routing configuration are not synchronized, since the first routing configuration is issued by the cloud controller, the cloud controller can match the third routing configuration and the first routing configuration to identify abnormal routing table entries in the third routing configuration; and match the fourth routing configuration and the first routing configuration to identify abnormal routing table entries in the fourth routing configuration.

[0125] It should be understood that the aforementioned control commands are used to handle abnormal routing table entries. For example, when a third-party routing configuration is missing a routing table entry, the control command issued by the cloud controller to the cloud gateway can carry that routing table entry, allowing the cloud gateway to add it to the third-party routing configuration. As another example, when a third-party routing configuration has an extra routing table entry, the control command issued by the cloud controller to the cloud gateway can be used to delete that routing table entry, allowing the cloud gateway to delete it based on the control command. Yet another example is when a third-party routing configuration has an incorrectly configured routing table entry, the control command issued by the cloud controller to the cloud gateway can carry the correct routing table entry, allowing the cloud gateway to update the abnormal routing table entry in the third-party routing configuration to the correct one.

[0126] Optionally, the cloud controller can periodically check and handle abnormal routing table entries. For example, the cloud controller can send a request message to the access gateway and cloud gateway once a day to request the third-party routing configuration and the fourth-party routing configuration. Alternatively, the access gateway and cloud gateway can proactively and periodically report their respective third-party routing configuration and fourth-party routing configuration to the cloud controller.

[0127] With the technical solution provided in this application, if there is a network or equipment failure, the cloud controller can send a control command or a first route configuration to the gateway with an abnormal routing table entry, so that the gateway with the abnormal routing table entry can obtain the correct first route configuration, thereby ensuring subsequent data transmission from the private cloud to the public cloud.

[0128] Optionally, the second route configuration can be a pre-configured route configuration or a user-configured route configuration for the first device. The following section will elaborate on the route configuration method when the above route configuration is the second route configuration:

[0129] Figure 7 A flowchart of another routing configuration method provided in the embodiments of this application is shown below. Figure 7 As shown, following S307 above, this routing configuration method also includes:

[0130] S701: The first device obtains the second route configuration;

[0131] S702: The first device shares the second route configuration with the access gateway based on the first BGP neighbor relationship;

[0132] S703: The access gateway shares the second route configuration with the cloud gateway based on the second BGP neighbor relationship.

[0133] Optionally, users can create a second route configuration via a webpage or command line on the first device.

[0134] It should be understood that the first BGP neighbor relationship is specifically used for the first device to share the second route configuration with the access gateway; the second BGP neighbor relationship is specifically used for the access gateway to share the second route configuration with the cloud gateway.

[0135] The technical solution provided in this application embodiment simplifies the routing configuration process compared to existing technologies, thereby improving routing configuration efficiency. Especially when there are many routing configuration entries, since only the second routing configuration needs to be configured for the first device, the configuration error can be reduced.

[0136] It should be understood that gateway devices built using the NFV concept can be deployed and expanded with great flexibility. In the embodiments of this application, the first device, access gateway, and cloud gateway can all use this NFV to build a functional module. This functional module is suitable for scenarios such as hybrid cloud or hybrid cloud leased line access, and Software-Defined Wide Area Network (SDWAN). It enables the learning and publishing of route configurations (i.e., the publishing and acquisition of route configurations), supports the complete BGP routing protocol stack, and supports rich routing policies and million-level route management functions. This functional module can be called a Fast Cloud Router (FCR) module, but is not limited to this.

[0137] For example, Figure 8 A network architecture diagram provided for embodiments of this application, such as Figure 8 As shown, the network architecture adopts the NFV design concept of separation of forwarding and control (i.e., separation of forwarding and control), which is divided into a cloud controller 81 for issuing control commands and network devices for forwarding data. These network devices include, but are not limited to, the first device 82 on the private cloud side, the cloud gateway 83 on the public cloud side, and the access gateway 84.

[0138] Among them, the first device 82, the cloud gateway 83, and the access gateway 84 all include an FCR module.

[0139] Optionally, the cloud controller 81 can be connected to the FCR module in the first device 82, the FCR module in the cloud gateway 83, and the FCR module in the access gateway 84 via an RPC interface, such as a gRPC interface. The FCR module in the access gateway 84 can be connected to the FCR module in the first device 82 and the FCR module in the cloud gateway 83, respectively.

[0140] Optionally, the first device 82 may be an IDC server or a CPE, etc., and this application does not impose any restrictions on it.

[0141] The Cloud Gateway 83 is used in scenarios such as hybrid cloud dedicated line access, inter-domain interconnection, and public cloud Black Stone interconnection to achieve high-performance forwarding, support multi-tenant access, and support features such as fragmentation, reassembly, and rate limiting. This Cloud Gateway 83 can be an NGW, but is not limited to this.

[0142] Access gateway 84, also known as an internetwork connector or protocol converter, is used to enable interconnection between private clouds and public clouds, which use different high-level protocols.

[0143] Based on this, the routing configuration methods provided in the embodiments of this application can all be implemented through the FCR module. That is, the first device in the above routing configuration method can be replaced by the FCR module of the first device, the access gateway can be replaced by the FCR module of the access gateway, and the cloud gateway can be replaced by the FCR module of the cloud gateway. For example, the routing configuration method may include: the cloud controller obtaining a first BGP configuration, a second BGP configuration, a third BGP configuration, and a fourth BGP configuration; the cloud controller sending the first BGP configuration to the FCR module in the access gateway; the cloud controller sending the second BGP configuration to the FCR module in the first device; the FCR module in the access gateway and the FCR module in the first device establishing a first BGP neighbor relationship based on the first and second BGP configurations, the first BGP neighbor relationship being used for sharing routing configurations between the FCR modules in the access gateway and the FCR modules in the first device; the cloud controller sending the third BGP configuration to the FCR module in the access gateway; the cloud controller sending the fourth BGP configuration to the FCR module in the cloud gateway; the FCR module in the access gateway and the FCR module in the cloud gateway establishing a second BGP neighbor relationship based on the third and fourth BGP configurations, the second BGP neighbor relationship being used for sharing routing configurations between the FCR modules in the access gateway and the FCR modules in the cloud gateway.

[0144] Optionally, the FCR module described above can be deployed using containerization or a two-tier deployment. For example, Figure 9 This is a schematic diagram of an FCR containerized deployment provided in an embodiment of this application, as shown below. Figure 9 As shown, FCR containers can be deployed using a containerized approach on the access gateway and cloud gateway. These FCR containers can receive control commands from the cloud controller via the northbound GPPC interface, and two FCR containers can establish a BGP neighbor connection to exchange routing configurations based on the BGP protocol, facilitating convenient interaction of routing configurations between the two gateways. Of course, besides using a containerized deployment approach for FCR containers, gateway functional modules on the access gateway and cloud gateway can also be deployed using a containerized approach.

[0145] In this embodiment, the FCR module can be deployed in a containerized or binary manner on the first device, access gateway, and cloud gateway, so that when the first device, access gateway, and cloud gateway need to be upgraded, the upgrade cost can be minimized. For example, only the FCR module needs to be upgraded.

[0146] Figure 10 This is a schematic diagram of a cloud controller 1000 provided in an embodiment of this application. The cloud controller is connected to an access gateway and a cloud gateway on the public cloud side. The access gateway is also connected to a first device and a cloud gateway on the private cloud side. The cloud controller 1000 includes: an acquisition module 1010 and a distribution module 1020. The acquisition module 1010 is used to acquire a first BGP configuration, a second BGP configuration, a third BGP configuration, and a fourth BGP configuration. The distribution module 1020 is used to: distribute the first BGP configuration to the access gateway and distribute the second BGP configuration to the first device. The first BGP neighbor relationship is established between the access gateway and the first device, and is used for sharing routing configurations between the access gateway and the first device. A third BGP configuration is sent to the access gateway, and a fourth BGP configuration is sent to the cloud gateway. The third and fourth BGP configurations are used to establish a second BGP neighbor relationship between the access gateway and the cloud gateway, and are used for sharing routing configurations between the access gateway and the cloud gateway. The routing configuration is either a first routing configuration from the private cloud to the public cloud, or a second routing configuration from the public cloud to the private cloud.

[0147] Optionally, when the routing configuration is the first routing configuration, the acquisition module 1010 is also used to acquire the first routing configuration; the distribution module 1020 is also used to distribute the first routing configuration to the cloud gateway; wherein, the second BGP neighbor relationship is specifically used for the cloud gateway to share the first routing configuration with the access gateway; the first BGP neighbor relationship is specifically used for the access gateway to share the first routing configuration with the first device.

[0148] Optionally, when the routing configuration is the first routing configuration, the acquisition module 1010 is also used to acquire the first routing configuration; the distribution module 1020 is also used to distribute the first routing configuration to the access gateway; wherein, the second BGP neighbor relationship is specifically used for the access gateway to share the first routing configuration with the cloud gateway; the first BGP neighbor relationship is specifically used for the access gateway to share the first routing configuration with the first device.

[0149] Optionally, the second routing configuration is the routing configuration configured by the user for the first device; wherein, the first BGP neighbor relationship is specifically used for the first device to share the second routing configuration with the access gateway; the second BGP neighbor relationship is specifically used for the access gateway to share the second routing configuration with the cloud gateway.

[0150] Optionally, the cloud controller 1000 further includes a judgment module 1030 and a determination module 1040. The acquisition module 1010 is further configured to receive a third routing configuration sent by the cloud gateway, the third routing configuration being the first routing configuration actually acquired by the cloud gateway; and to receive a fourth routing configuration sent by the access gateway, the fourth routing configuration being the first routing configuration actually acquired by the access gateway. The judgment module 1030 is configured to determine whether the third routing configuration and the fourth routing configuration are synchronized. The determination module 1040 is configured to determine, if the third routing configuration and the fourth routing configuration are not synchronized, at least one of the abnormal routing table entries in the third routing configuration and the fourth routing configuration. The distribution module 1020 is further configured to send a control command or the first routing configuration to the cloud gateway and the gateway with abnormal routing table entries in the access gateway, the control command being used to handle the abnormal routing table entries.

[0151] Optionally, the determination module 1040 is specifically used to: match the third routing configuration with the first routing configuration to determine abnormal routing table entries in the third routing configuration; and match the fourth routing configuration with the first routing configuration to determine abnormal routing table entries in the fourth routing configuration.

[0152] Optionally, the cloud controller connects to the access gateway and the cloud gateway via remote procedure call interfaces.

[0153] Optionally, the first device is an IDC server or a CPE.

[0154] It should be understood that the device embodiments and method embodiments can correspond to each other, and similar descriptions can be found in the method embodiments. To avoid repetition, further details are omitted here. Specifically, Figure 10 The cloud controller 1000 shown can execute the above-described routing configuration method embodiments, and the aforementioned and other operations and / or functions of each module in the cloud controller 1000 are respectively for implementing the corresponding processes in each method of the above-described routing configuration method embodiments. For the sake of brevity, they will not be described in detail here.

[0155] The cloud controller 1000 of this application embodiment has been described above from the perspective of functional modules with reference to the accompanying drawings. It should be understood that this functional module can be implemented in hardware, in software instructions, or in a combination of hardware and software modules. Specifically, the steps of the method embodiments in this application can be completed by the integrated logic circuits in the processor's hardware and / or by software instructions. The steps of the method disclosed in this application embodiment can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. Optionally, the software module can be located in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps in the above method embodiments.

[0156] Figure 11 This is a schematic block diagram of the electronic device provided in the embodiments of this application.

[0157] like Figure 11 As shown, the electronic device may include:

[0158] The system includes a memory 1110 and a processor 1120. The memory 1110 stores computer programs and transfers the program code to the processor 1120. In other words, the processor 1120 can retrieve and run the computer program from the memory 1110 to implement the methods described in the embodiments of this application.

[0159] For example, the processor 1120 can be used to execute the above-described method embodiments according to instructions in the computer program.

[0160] In some embodiments of this application, the processor 1120 may include, but is not limited to:

[0161] 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.

[0162] In some embodiments of this application, the memory 1110 includes, but is not limited to:

[0163] Volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).

[0164] In some embodiments of this application, the computer program may be divided into one or more modules, which are stored in the memory 1110 and executed by the processor 1120 to perform the method provided in this application. The one or more modules may be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program in the electronic device.

[0165] like Figure 11 As shown, the electronic device may further include:

[0166] Transceiver 1130, which can be connected to processor 1120 or memory 1110.

[0167] The processor 1120 can control the transceiver 1130 to communicate with other devices; specifically, it can send information or data to other devices or receive information or data sent by other devices. The transceiver 1130 may include a transmitter and a receiver. The transceiver 1130 may further include antennas, and the number of antennas may be one or more.

[0168] It should be understood that the various components in the electronic device are connected through a bus system, which includes a data bus, a power bus, a control bus, and a status signal bus.

[0169] This application also provides a computer storage medium storing a computer program thereon, which, when executed by a computer, enables the computer to perform the methods of the above-described method embodiments. Alternatively, embodiments of this application also provide a computer program product containing instructions that, when executed by a computer, cause the computer to perform the methods of the above-described method embodiments.

[0170] When implemented using software, it can be implemented entirely or partially as a computer program product. This computer program product includes one or more computer instructions. When these computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital video disc (DVD)), or a semiconductor medium (e.g., solid-state disk (SSD)).

[0171] Those skilled in the art will recognize that the modules and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0172] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.

[0173] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. For example, the functional modules in the various embodiments of this application may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.

[0174] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A routing configuration method, characterized in that, The method is applied to a cloud controller, which is connected to an access gateway and a cloud gateway on the public cloud side. The access gateway is also connected to a first device on the private cloud side and the cloud gateway. The method includes: Obtain the BGP configuration of the first border gateway protocol, the second BGP configuration, the third BGP configuration, and the fourth BGP configuration; The first BGP configuration is sent to the access gateway, and the second BGP configuration is sent to the first device. The first BGP configuration and the second BGP configuration are used to establish a first BGP neighbor relationship between the access gateway and the first device. The first BGP neighbor relationship is used for the access gateway and the first device to share routing configurations. The third BGP configuration is sent to the access gateway, and the fourth BGP configuration is sent to the cloud gateway. The third BGP configuration and the fourth BGP configuration are used to establish a second BGP neighbor relationship between the access gateway and the cloud gateway. The second BGP neighbor relationship is used for the access gateway and the cloud gateway to share the routing configuration. The routing configuration is either a first routing configuration from the private cloud to the public cloud, or a second routing configuration from the public cloud to the private cloud. The method further includes: Receive the third routing configuration sent by the cloud gateway, wherein the third routing configuration is the first routing configuration actually obtained by the cloud gateway; Receive the fourth routing configuration sent by the access gateway, wherein the fourth routing configuration is the first routing configuration actually obtained by the access gateway; Determine whether the third routing configuration and the fourth routing configuration are synchronized; If the third routing configuration is out of sync with the fourth routing configuration, then identify at least one abnormal routing table entry in either the third or fourth routing configuration. Send a control command or the first routing configuration to the cloud gateway and the gateway where the abnormal routing table entry exists, wherein the control command is used to handle the abnormal routing table entry.

2. The method according to claim 1, characterized in that, When the routing configuration is the first routing configuration, the method further includes: Obtain the configuration of the first route; The first route configuration is sent to the cloud gateway; Specifically, the second BGP neighbor relationship is used for the cloud gateway to share the first routing configuration with the access gateway; the first BGP neighbor relationship is used for the access gateway to share the first routing configuration with the first device.

3. The method according to claim 1, characterized in that, When the routing configuration is the first routing configuration, the method further includes: Obtain the configuration of the first route; The first routing configuration is sent to the access gateway; Specifically, the second BGP neighbor relationship is used for the access gateway to share the first routing configuration with the cloud gateway; the first BGP neighbor relationship is used for the access gateway to share the first routing configuration with the first device.

4. The method according to claim 1, characterized in that, The second routing configuration is the routing configuration that the user configured for the first device; Specifically, the first BGP neighbor relationship is used for the first device to share the second routing configuration with the access gateway; the second BGP neighbor relationship is used for the access gateway to share the second routing configuration with the cloud gateway.

5. The method according to claim 1, characterized in that, The determination of abnormal routing table entries for at least one of the third and fourth routing configurations includes: The third routing configuration is matched with the first routing configuration to identify abnormal routing table entries in the third routing configuration; The fourth routing configuration is matched with the first routing configuration to identify abnormal routing table entries in the fourth routing configuration.

6. The method according to any one of claims 1-4, characterized in that, The cloud controller is connected to the access gateway and the cloud gateway respectively via remote procedure call interfaces.

7. The method according to any one of claims 1-4, characterized in that, The first device is an Internet Data Center (IDC) server or a Customer Premises Equipment (CPE).

8. A cloud controller, characterized in that, The cloud controller is connected to the access gateway and the cloud gateway on the public cloud side. The access gateway is also connected to the first device on the private cloud side and the cloud gateway. The cloud controller includes: The acquisition module is used to acquire the first BGP configuration, the second BGP configuration, the third BGP configuration, and the fourth BGP configuration. The distribution module is used for: The first BGP configuration is sent to the access gateway, and the second BGP configuration is sent to the first device. The first BGP configuration and the second BGP configuration are used to establish a first BGP neighbor relationship between the access gateway and the first device. The first BGP neighbor relationship is used for the access gateway and the first device to share routing configurations. The third BGP configuration is sent to the access gateway, and the fourth BGP configuration is sent to the cloud gateway. The third BGP configuration and the fourth BGP configuration are used to establish a second BGP neighbor relationship between the access gateway and the cloud gateway. The second BGP neighbor relationship is used for the access gateway and the cloud gateway to share the routing configuration. The routing configuration is either a first routing configuration from the private cloud to the public cloud, or a second routing configuration from the public cloud to the private cloud. The cloud controller further includes: a judgment module and a determination module; The acquisition module is further configured to receive a third routing configuration sent by the cloud gateway, wherein the third routing configuration is the first routing configuration actually acquired by the cloud gateway; and to receive a fourth routing configuration sent by the access gateway, wherein the fourth routing configuration is the first routing configuration actually acquired by the access gateway. The judgment module is also used to determine whether the third routing configuration and the fourth routing configuration are synchronized; The determining module is further configured to determine at least one abnormal routing table entry in the third routing configuration and the fourth routing configuration if the third routing configuration is not synchronized with the fourth routing configuration; The distribution module is further configured to send a control command or the first routing configuration to the cloud gateway and the gateway in the access gateway where the abnormal routing table entry exists, wherein the control command is used to process the abnormal routing table entry.

9. An electronic device, characterized in that, include: A processor and a memory, the memory being used to store a computer program, the processor being used to invoke and run the computer program stored in the memory to perform the method of any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, Used to store a computer program that causes a computer to perform the method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Routing management method and device

    CN110430076A