A communication tunnel establishment method and apparatus
By managing the access controller cluster through the cloud access controller, the problem of load imbalance in the AP+AC networking mode is solved, and dynamic load sharing and load balancing are realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NEW H3C TECH CO LTD
- Filing Date
- 2022-09-26
- Publication Date
- 2026-05-15
AI Technical Summary
In the AP+AC networking mode, dynamic load sharing between ACs cannot be achieved, resulting in load imbalance.
The cloud access controller manages multiple access controller clusters, receives service requests from wireless access points, obtains the target cluster identifier, selects the access controller whose load meets the preset standards as the target access controller, and establishes a communication tunnel.
It enables dynamic load sharing when the wireless networking environment changes in real time, ensuring load balance within the cluster.
Smart Images

Figure CN115767635B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method and apparatus for establishing a communication tunnel. Background Technology
[0002] With the large-scale development of wireless networks, the deployment of numerous APs (Access Points) incurs high management costs for users due to the management tasks involved, such as upgrading AP software and configuring and adjusting radio frequency parameters. To address this issue, WLAN adopts an AC+Fit AP architecture. This architecture centrally controls and manages APs through an AC (Access Controller), with all configurations stored on the AC and randomly distributed by the AC, eliminating the need for any configuration on the APs themselves.
[0003] In the process of realizing this invention, the inventors discovered that the AP+AC networking method cannot achieve dynamic load sharing between ACs when the wireless networking environment changes in real time, resulting in an imbalance of AC load. Summary of the Invention
[0004] In order to solve the above-mentioned technical problems, or at least partially solve the above-mentioned technical problems, this application provides a communication tunnel establishment method and apparatus.
[0005] According to one aspect of the embodiments of this application, a method for establishing a communication tunnel is provided, applied to a cloud access controller, the method comprising:
[0006] Receive a service request sent by a wireless access point, wherein the service request includes a target cluster identifier;
[0007] Obtain the target access controller cluster corresponding to the target cluster identifier from multiple access controller clusters, wherein the target access controller cluster includes at least one candidate access controller;
[0008] Based on the current load status of each candidate access controller, select an access controller whose load status meets the preset load standard from the target access controller cluster as the target access controller;
[0009] The address information corresponding to the target access controller is sent to the wireless access point, so that the wireless access point sends a connection request to the target access controller based on the address information, and establishes a communication tunnel with the target access controller based on the connection request.
[0010] Furthermore, before receiving a service request sent by a wireless access point, the method further includes:
[0011] Get cluster configuration request;
[0012] In response to a cluster configuration request, a cluster configuration interface is displayed, and at least one configuration information for configuring the access controller cluster is obtained based on the cluster configuration interface.
[0013] An access controller cluster is constructed based on the access controller indicated by the configuration information, and the cluster identifier corresponding to the access controller cluster is determined.
[0014] Furthermore, the step of constructing an access controller cluster based on the access controllers indicated by the configuration information includes:
[0015] Obtain the access controller name from the configuration information;
[0016] The access controller cluster is constructed using the access controllers corresponding to the access controller names.
[0017] Furthermore, determining the cluster identifier corresponding to the access controller cluster includes:
[0018] Obtain the original cluster identifier corresponding to the access controller cluster;
[0019] The original cluster identifier is encrypted using a preset encryption key to obtain an encrypted cluster identifier;
[0020] The encrypted cluster identifier is sent to the server so that the server configures the cluster identifier of the access controller cluster based on the encrypted cluster identifier, wherein the server is used to allocate addresses to wireless access points to be allocated addresses, and the cluster identifier is carried when allocating addresses.
[0021] Furthermore, the step of selecting an access controller whose load condition meets a preset load standard from the target access controller cluster as the target access controller based on the current load condition of each candidate access controller includes:
[0022] Using the parameter values corresponding to each load indicator in the load situation, calculate the total score corresponding to the candidate access controller;
[0023] The candidate access controller with the highest total score is selected as the target access controller.
[0024] Furthermore, the step of calculating the total score corresponding to the candidate access controller using the parameter values corresponding to each load indicator in the load situation includes:
[0025] Obtain at least one load metric corresponding to each candidate access controller from the load situation, as well as the parameter value corresponding to each load metric;
[0026] Obtain the parsing strategy corresponding to the load metric, and use the parsing strategy to parse the parameter value to obtain the initial score value corresponding to the load metric;
[0027] Obtain the weight value corresponding to the load indicator, and calculate the target score value corresponding to the load indicator using the initial score value and the weight value;
[0028] The target scores for each load metric are summed to obtain the total score for the candidate access controller.
[0029] According to another aspect of the embodiments of this application, a communication tunnel establishment method is also provided, applied to a wireless access point, the method comprising:
[0030] Obtain the target cluster identifier and include the target cluster identifier in the service request;
[0031] The service request is sent to the cloud access controller so that the cloud access controller can obtain the target access controller whose load meets the preset load standard from the target access controller cluster corresponding to the target cluster identifier, and send the address information of the target access controller;
[0032] Receive the address information of the target access controller sent by the cloud access controller, and send a join request message to the target access controller based on the address information;
[0033] The system receives a join response message from the target access controller based on the join request message, and establishes a communication tunnel between the wireless access point and the target access controller if the join response message indicates successful joining.
[0034] Furthermore, obtaining the target cluster identifier includes:
[0035] Generate an address request;
[0036] The address request is sent to the server so that the server allocates an address to the wireless access point according to the address request and returns the target cluster identifier.
[0037] According to another aspect of the embodiments of this application, a communication tunnel establishment apparatus is also provided, comprising:
[0038] A receiving module is used to receive service requests sent by a wireless access point, wherein the service request includes a target cluster identifier;
[0039] The acquisition module is used to acquire the target access controller cluster corresponding to the target cluster identifier from multiple access controller clusters, wherein the target access controller cluster includes at least one candidate access controller;
[0040] The processing module is used to select, from the target access controller cluster, an access controller whose load condition meets a preset load standard as the target access controller based on the load condition of each candidate access controller.
[0041] The sending module is used to send the address information corresponding to the target access controller to the wireless access point, so that the wireless access point sends a connection request to the target access controller based on the address information, and establishes a communication tunnel with the target access controller based on the connection request.
[0042] According to another aspect of the embodiments of this application, a communication tunnel establishment apparatus is also provided, comprising:
[0043] The acquisition module is used to acquire the target cluster identifier and carry the target cluster identifier in the service request;
[0044] The sending module is used to send the service request to the cloud access controller, so that the cloud access controller can obtain the target access controller whose load meets the preset load standard from the target access controller cluster corresponding to the target cluster identifier, and send the address information of the target access controller;
[0045] The receiving module is used to receive the address information of the target access controller sent by the cloud access controller, and send a join request message to the target access controller based on the address information;
[0046] The execution module is configured to receive a join response message from the target access controller based on the join request message, and, if the join response message indicates successful joining, establish a communication tunnel between the wireless access point and the target access controller.
[0047] According to another aspect of the embodiments of this application, a storage medium is also provided, the storage medium including a stored program that executes the above steps when the program is run.
[0048] According to another aspect of the embodiments of this application, an electronic device is also provided, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; wherein: the memory is used to store computer programs; and the processor is used to execute the steps in the above method by running the programs stored in the memory.
[0049] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps in the above-described method.
[0050] Compared with the prior art, the technical solution provided in this application has the following advantages: The method provided in this application manages multiple access controller clusters through a cloud access controller. When a service request is received from a wireless access point, it can quickly locate the corresponding target access controller cluster and select the access controller in the target access controller cluster whose load condition meets the load condition standard as the target access controller, thereby enabling a communication tunnel between the wireless access point and the target access controller. This achieves dynamic load sharing among the access controllers in the cluster when the wireless networking environment changes in real time, ensuring load balance within the cluster. Attached Figure Description
[0051] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0052] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0053] Figure 1 A flowchart illustrating a configuration method for an access controller cluster provided in an embodiment of this application;
[0054] Figure 2 A schematic diagram of the cluster configuration interface provided in an embodiment of this application;
[0055] Figure 3 A flowchart illustrating a communication tunnel establishment method provided in this application embodiment;
[0056] Figure 4 A flowchart illustrating a communication tunnel establishment method provided in this application embodiment;
[0057] Figure 5 This is a schematic diagram of a communication tunnel establishment system provided in an embodiment of this application;
[0058] Figure 6 A block diagram of a communication tunnel establishment device provided in an embodiment of this application;
[0059] Figure 7 A block diagram of a communication tunnel establishment apparatus provided in another embodiment of this application;
[0060] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0061] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. The illustrative embodiments of this application and their descriptions are used to explain this application and do not constitute an improper limitation of this application. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0062] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another similar entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.
[0063] This application provides a method and apparatus for establishing a communication tunnel. The method provided by this invention can be applied to any electronic device as needed, such as a server, terminal, or other electronic device. No specific limitation is made here, and for ease of description, it will be referred to as an electronic device below.
[0064] According to one aspect of the embodiments of this application, a method embodiment for establishing a communication tunnel is provided. The method provided in this application embodiment is applied to a cloud access controller. Users can utilize the cloud access controller to deploy multiple access controller clusters and manage the multiple access controllers within the access controller cluster on the cloud access controller.
[0065] Specifically, such as Figure 1 As shown, the process of deploying an access controller cluster using a cloud access controller includes the following steps:
[0066] Step S11: Obtain cluster configuration request.
[0067] In this embodiment, the cloud access controller first obtains the current user's identity information and verifies the user's permissions. If the user's identity information includes cluster configuration permissions, a cluster configuration prompt is generated and displayed. This prompt prompts the current user to perform subsequent cluster configuration operations. The controller then detects the user's triggered operation based on the cluster configuration prompt and generates a cluster configuration request based on the triggered operation.
[0068] Step S12: Respond to the cluster configuration request, display the cluster configuration interface, and obtain at least one configuration information for configuring the access controller cluster based on the cluster configuration interface.
[0069] In this embodiment of the application, after the cloud access controller responds to the cluster configuration request, it will display the cluster configuration interface, such as... Figure 2 As shown, the cluster configuration interface includes at least one configuration item: the cluster name and cluster members, where the cluster members are the access controllers. The cloud access controller detects the configuration information corresponding to each configuration item entered by the current user based on the cluster configuration interface. For example, the cluster name is: Cluster 1. Cluster members include: the access controller name, i.e., the AC (Access Point Controller) name, AC1, AC2, AC3, etc.
[0070] Step S13: Construct an access controller cluster based on the access controller indicated by the configuration information, and determine the cluster identifier corresponding to the access controller cluster.
[0071] In this embodiment, the cloud access controller constructs an access controller cluster based on the access controllers indicated by the configuration information, and determines the cluster identifier corresponding to the access controller cluster. The process of constructing the access controller cluster includes: obtaining the access controller name from the configuration information; and constructing the access controller cluster using the access controllers corresponding to the access controller names.
[0072] It should be noted that because the configuration information includes access controller information, such as the access controller's name, status, priority, location, number of online APs, number of offline APs, etc., the cloud access controller will first use the access controller name to form an access controller cluster. Simultaneously, within the cloud access controller, the aforementioned information is used to generate a cluster member list for the access controller cluster. This cluster member list includes the access controller identifier associated with the cluster identifier and related access controller information.
[0073] This application embodiment generates a cluster member list on the cloud access controller, allowing subsequent users to directly configure the access controller cluster through this list without affecting the overall cluster operation. This includes adding or deleting cluster members. This simplifies cluster configuration operations and enables efficient cluster management.
[0074] In this embodiment of the application, determining the cluster identifier corresponding to the access controller cluster includes the following steps A1-A3:
[0075] Step A1: Obtain the original cluster identifier corresponding to the access controller cluster.
[0076] Step A2: Encrypt the original cluster identifier using a preset encryption key to obtain an encrypted cluster identifier.
[0077] Step A3: Send the encrypted cluster identifier to the server so that the server can configure the cluster identifier of the access controller cluster based on the encrypted cluster identifier. The server is used to allocate addresses to the wireless access points to be allocated addresses, and the cluster identifier is carried when allocating addresses.
[0078] In this embodiment of the application, when creating an access controller cluster, the cloud access controller will randomly assign a code (i.e., the original cluster identifier) to the access controller cluster. In order to ensure the security of the access controller cluster, the cloud access controller will encrypt the cluster identifier using a preset encryption key and send the encrypted cluster identifier to the server. The server will use the encrypted cluster identifier to configure the final cluster identifier of the access controller cluster.
[0079] When a wireless access point (WAIT) sends an address request, the server can allocate an address to the WAIT based on the request and return a cluster identifier. The WAIT can then use this cluster identifier to send a server request to the cloud access controller. Alternatively, the WAIT can obtain the cluster identifier through DNS discovery. Specifically, the WAIT sends a service invocation request to the server, carrying the service to be invoked. Since the server has a list of existing registered services and their corresponding IP ports, it can return the IP port of the service to be invoked to the WAIT and simultaneously issue the cluster identifier.
[0080] This application embodiment can effectively improve cluster security by encrypting the original cluster identifier and configuring the encrypted cluster identifier through the server.
[0081] Figure 2 A flowchart of a communication tunnel establishment method provided in this application embodiment is shown below. Figure 2 As shown, the method includes:
[0082] Step S21: Receive a service request sent by the wireless access point, wherein the service request includes a target cluster identifier.
[0083] The method provided in this application is applied to a cloud access controller. The cloud access controller can receive service requests from any wireless access point (AP). The service request can be a WebSocket request or a Capwap request. The service request carries the wireless access point's device serial number and the target cluster identifier. The target cluster identifier is issued by the server to the wireless access point when the wireless access point requests a DHCP address from the server.
[0084] Based on this, the cloud access controller uses the device serial number in the service request to authenticate the wireless access point. For example, the cloud access controller sends the device serial number to the server to verify whether the wireless access point has requested a DHCP address. If it is confirmed that the wireless access point has requested a DHCP address, the subsequent process is executed.
[0085] Step S22: Obtain the target access controller cluster corresponding to the target cluster identifier from multiple access controller clusters, wherein the target access controller cluster includes at least one candidate access controller.
[0086] In this embodiment, since the cloud access controller is responsible for managing / maintaining multiple wireless access point clusters, the target access controller cluster corresponding to it can be directly determined from the multiple access controller clusters using the target cluster identifier carried in the service request. At this time, the access controllers included in the target access controller cluster are determined as candidate access controllers to establish a communication tunnel with the wireless access points.
[0087] Step S23: Based on the current load status of each candidate access controller, select the access controller whose load status meets the preset load standard from the target access controller cluster as the target access controller.
[0088] In this embodiment of the application, based on the current load status of each candidate access controller, an access controller whose load status meets a preset load standard is selected as the target access controller from the target access controller cluster, including the following steps B1-B2:
[0089] Step B1: Calculate the total score for each candidate access controller using the parameter values corresponding to each load indicator in the load status.
[0090] In this embodiment of the application, the total score corresponding to the candidate access controller is calculated using the parameter values corresponding to each load index in the load condition, including the following steps B101-B104:
[0091] Step B101: Obtain at least one load metric corresponding to each candidate access controller from the load status, as well as the parameter value corresponding to each load metric.
[0092] Step B102: Obtain the parsing strategy corresponding to the load metric, and use the parsing strategy to parse the parameter values to obtain the initial score value corresponding to the load metric.
[0093] Step B103: Obtain the weight value corresponding to the load index, and calculate the target score value corresponding to the load index using the initial score value and the weight value.
[0094] Step B104: Sum the target scores for each load metric to obtain the total score for the candidate access controller.
[0095] In this embodiment, the access controllers in the access controller cluster periodically and automatically report their load status to the cloud access controller. The load status includes one or more load metrics, as well as the current parameter value of each load metric. These load metrics include: total CPU utilization, total memory utilization, broadcast and multicast percentages of all LAN ports in the AC direction, the ratio of outbound to inbound traffic of all LAN ports, the number of APs connected, etc.
[0096] Therefore, when calculating the total score for each candidate access controller, the cloud access controller first extracts load metrics and parameter values for each load metric from the load information reported by each candidate access controller. Simultaneously, it obtains the parsing strategy corresponding to each load metric. It should be noted that the parsing strategy can be a pre-configured rule for parsing the metrics.
[0097] As an example, the analysis strategy is as follows: (1) Total CPU utilization of 65% or below, score 100 points. Total CPU utilization above 65%, linear score. (2) Total memory utilization below 70%, score 100 points. 70-85%, linear score, above 85%, no score. (3) For all LAN ports, the proportion of broadcast and multicast traffic in the AC direction is 40% or above for broadcast + multicast, no score; below 40%, N points. (4) For all LAN ports, the ratio of outbound traffic to inbound traffic is 4 times or more for no score; otherwise, M points. (5) The number of AP accesses reaching 80% of the maximum specification is 0 points; below 20% of the maximum specification is K points; between 20% and 80%, linear score. (6) The number of terminal accesses reaching 80% of the maximum specification is 0 points; below 20% of the maximum specification is L points; between 20% and 80%, linear score. Among them, N, M, K, and L are different fixed score values.
[0098] Secondly, the parameter values are analyzed using the aforementioned parsing strategy to obtain the initial scores for the load metrics. Simultaneously, the weight values for each load metric are obtained; for example, the weight for total CPU utilization is 0.35, the weight for total memory utilization is 0.25, the weight for the proportion of broadcast and multicast traffic in the AC direction of all LAN ports is 0.1, the weight for the ratio of outbound to inbound traffic of all LAN ports is 0.1, the weight for the number of APs connected is 0.1, and the weight for the number of terminals connected is 0.1. The product of the initial scores and the weight values is calculated, and this product is used as the target score for the load metric.
[0099] Finally, the target scores for each load metric are summed to obtain the total score for the candidate access controller.
[0100] Step B2: Select the candidate access controller with the highest total score as the target access controller.
[0101] In this embodiment of the application, after calculating the total score of each candidate access controller, the cloud access controller arranges the candidate access controllers in descending order of total score, and selects the candidate access controller with the highest total score as the target access controller.
[0102] It should be noted that the target score of each candidate access controller in the target access controller cluster is determined by the load conditions. The purpose is to select the optimal access controller from the target access controller cluster and provide it to the wireless access point, so as to avoid the overload of a certain access controller in the target access controller cluster.
[0103] Step S24: Send the address information corresponding to the target access controller to the wireless access point, so that the wireless access point sends a connection request to the target access controller based on the address information, and establishes a communication tunnel with the target access controller based on the connection request.
[0104] In this embodiment of the application, after determining the target access controller, the cloud access controller obtains the address information corresponding to the target access controller and sends the address information to the wireless access point, so that the wireless access point uses the address information to send a connection request to the target access controller and establishes a communication tunnel with the target access controller based on the connection request.
[0105] The method provided in this application manages multiple access controller clusters through a cloud access controller. When a service request is received from a wireless access point, it can quickly locate the corresponding target access controller cluster and select the access controller in the target access controller cluster whose load condition meets the load condition standard as the target access controller, thereby enabling a communication tunnel between the wireless access point and the target access controller. This achieves dynamic load sharing among the access controllers in the cluster when the wireless networking environment changes in real time, ensuring load balance within the cluster.
[0106] Figure 4 A flowchart illustrating a method for establishing a communication tunnel provided in this application embodiment is shown below. Figure 4 As shown, the method may include the following steps:
[0107] Step S31: Obtain the target cluster identifier and carry the target cluster identifier in the service request.
[0108] In this embodiment of the application, obtaining the target cluster identifier includes: generating an address request; sending the address request to the server, so that the server allocates an address to the wireless access point according to the address request and returns the target cluster identifier.
[0109] The method provided in this application embodiment is applied to a wireless access point. When the wireless access point has communication needs, it will send an address request to the server to apply for a DHCP address. After receiving the address request, the server will allocate an address to the wireless access point and issue a target cluster identifier.
[0110] In another embodiment of this application, the wireless access point can obtain the cluster identifier through DNS service discovery. Specifically, the wireless access point generates a service call request based on the service to be called and sends the service call request to the server. Since the server deploys existing registered services and their corresponding IP port lists, the server can provide the wireless access point with the IP port corresponding to the service to be called, and simultaneously issue the target cluster identifier.
[0111] In this embodiment of the application, after receiving the target cluster identifier, the wireless access point will carry the target cluster identifier and its own device serial number in the service request.
[0112] Step S32: Send a service request to the cloud access controller so that the cloud access controller can obtain the target access controller whose load meets the preset load standard from the target access controller cluster corresponding to the target cluster identifier, and send the address information of the target access controller.
[0113] In this embodiment, the wireless access point sends a service request to the cloud access controller. The cloud access controller obtains the target access controller cluster corresponding to the target cluster identifier from multiple access controller clusters. The target access controller cluster includes at least one candidate access controller. Based on the current load status of each candidate access controller, an access controller whose load status meets a preset load standard is selected from the target access controller cluster as the target access controller. The address information corresponding to the target access controller is then sent to the wireless access point.
[0114] Step S33: Receive the address information of the target access controller sent by the cloud access controller, and send a join request message to the target access controller based on the address information.
[0115] Step S34: Receive the join reply message from the target access controller based on the join request message, and establish a communication tunnel between the wireless access point and the target access controller if the join reply message indicates successful joining.
[0116] In this embodiment, the wireless access point sends a join request message to the target access controller. The target access controller checks whether it provides service to the wireless access point based on the message content. If remote authentication is configured, it sends the wireless access point's serial number or MAC address as the username and password to the RADIUS server for authentication. If the RADIUS server returns an authentication result, it sends a join response message. If the wireless access point receives a join response message with a failure result code, it does not establish a communication tunnel; if the wireless access point receives a join response message with a success result code, the wireless access point and the target access controller successfully establish a tunnel.
[0117] In this embodiment of the application, before sending an join request message to the target access controller based on the address information, the method further includes: sending a discovery request message to the target access controller based on the address information; and receiving a discovery response message from the target access controller based on the discovery request message.
[0118] Figure 5 This is a schematic diagram of a communication tunnel establishment system provided in an embodiment of this application, as shown below. Figure 5 As shown, the system includes: a cloud wireless controller 100, a wireless access point 200, a server 300, a target access controller cluster 400, and a target access controller 500.
[0119] Wireless access point 200 is used to send an address request to server 300. The address request is used to request a DHCP address.
[0120] Server 300 is used to send the target cluster identifier back to wireless access point 200 based on the address request.
[0121] Wireless access point 200 is used to carry the target cluster identifier in the service request and send the service request to cloud wireless controller 100.
[0122] The cloud wireless controller 100 is used to obtain the target access controller cluster 400 corresponding to the target cluster identifier from multiple access controller clusters, wherein the target access controller cluster 400 includes at least one candidate access controller. Based on the load status of each candidate access controller, an access controller whose load status meets a preset load standard is selected from the target access controller cluster as the target access controller 500. The address information corresponding to the target access controller 500 is sent to the wireless access point.
[0123] Wireless access point 200 is used to send a discovery request message to target access controller 500 based on address information.
[0124] The target access controller 500 sends a discovery response message back to the wireless access point 200 based on the discovery request message.
[0125] Wireless access point 200 is used to send a join request message to the target access controller based on the discovery response message.
[0126] The target access controller 500 checks whether it provides services to the wireless access point 200 based on the content of the join request message. If remote authentication is configured, it sends the serial number or MAC address of the wireless access point as the username and password to the RADIUS server for authentication. Finally, it sends a join reply message based on the authentication result returned by the RADIUS server.
[0127] Wireless access point 200 is used to establish a communication tunnel between the wireless access point and the target access controller when a join reply message indicates successful joining.
[0128] Figure 6 This is a block diagram of a communication tunnel establishment device provided in an embodiment of this application. This device can be implemented as part or all of an electronic device through software, hardware, or a combination of both. Figure 6 As shown, the device includes:
[0129] The receiving module 61 is used to receive a service request sent by a wireless access point, wherein the service request includes a target cluster identifier;
[0130] The acquisition module 62 is used to acquire the target access controller cluster corresponding to the target cluster identifier from multiple access controller clusters, wherein the target access controller cluster includes at least one candidate access controller.
[0131] The processing module 63 is used to select the access controller whose load meets the preset load standard from the target access controller cluster as the target access controller based on the load status of each candidate access controller.
[0132] The sending module 64 is used to send the address information corresponding to the target access controller to the wireless access point, so that the wireless access point sends a connection request to the target access controller based on the address information, and establishes a communication tunnel with the target access controller based on the connection request.
[0133] In this embodiment of the application, the apparatus further includes: a configuration module, configured to obtain a cluster configuration request; respond to the cluster configuration request, display a cluster configuration interface, and obtain at least one configuration information for configuring an access controller cluster based on the cluster configuration interface; construct an access controller cluster based on the access controller indicated by the configuration information, and determine the cluster identifier corresponding to the access controller cluster.
[0134] In this embodiment, the configuration module is used to obtain the access controller name from the configuration information; and to construct the access controller cluster using the access controller corresponding to the access controller name.
[0135] In this embodiment, the configuration module is used to obtain the original cluster identifier corresponding to the access controller cluster; encrypt the original cluster identifier using a preset encryption key to obtain an encrypted cluster identifier; and send the encrypted cluster identifier to the server so that the server configures the cluster identifier of the access controller cluster based on the encrypted cluster identifier. The server is used to allocate addresses to wireless access points to be allocated addresses, and the cluster identifier is carried when allocating addresses.
[0136] In this embodiment of the application, the processing module 63 is used to calculate the total score value corresponding to the candidate access controller using the parameter values corresponding to each load index in the load situation; and to select the candidate access controller with the highest total score value as the target access controller.
[0137] In this embodiment of the application, the processing module 63 is used to obtain at least one load index corresponding to each candidate access controller and a parameter value corresponding to each load index from the load situation; obtain the parsing strategy corresponding to the load index, and use the parsing strategy to parse the parameter value to obtain the initial score value corresponding to the load index; obtain the weight value corresponding to the load index, and use the initial score value and the weight value to calculate the target score value corresponding to the load index; and sum the target scores of each load index to obtain the total score value of the candidate access controller.
[0138] Figure 7 This is a block diagram of a communication tunnel establishment device provided in an embodiment of this application. This device can be implemented as part or all of an electronic device through software, hardware, or a combination of both. Figure 7 As shown, the device includes:
[0139] The acquisition module 71 is used to acquire the target cluster identifier and carry the target cluster identifier in the service request;
[0140] The sending module 72 is used to send a service request to the cloud access controller, so that the cloud access controller can obtain the target access controller whose load meets the preset load standard from the target access controller cluster corresponding to the target cluster identifier, and send the address information of the target access controller.
[0141] The receiving module 73 is used to receive the address information of the target access controller sent by the cloud access controller, and send a join request message to the target access controller based on the address information;
[0142] The execution module 74 is used to receive the join reply message from the target access controller based on the join request message, and to establish a communication tunnel between the wireless access point and the target access controller if the join reply message indicates that the join was successful.
[0143] In this embodiment of the application, the acquisition module 71 is used to generate an address request; send the address request to the server so that the server allocates an address to the wireless access point according to the address request and feeds back the target cluster identifier.
[0144] This application also provides an electronic device, such as... Figure 8 As shown, the electronic device may include: a processor 1501, a communication interface 1502, a memory 1503, and a communication bus 1504, wherein the processor 1501, the communication interface 1502, and the memory 1503 communicate with each other through the communication bus 1504.
[0145] Memory 1503 is used to store computer programs;
[0146] When the processor 1501 executes the computer program stored in the memory 1503, it implements the steps of the above embodiments.
[0147] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0148] The communication interface is used for communication between the aforementioned terminal and other devices.
[0149] The memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0150] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be 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, or discrete hardware components.
[0151] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores instructions that, when executed on a computer, cause the computer to perform the communication tunnel establishment method described in any of the above embodiments.
[0152] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute the communication tunnel establishment method described in any of the above embodiments.
[0153] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, 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 website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer 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., DVD), or a semiconductor medium (e.g., a solid-state drive).
[0154] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.
[0155] The above description is merely a specific embodiment of this application, enabling those skilled in the art to understand or implement this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A method for establishing a communication tunnel, characterized in that, Applied to a cloud access controller, the method includes: Receive a service request sent by a wireless access point, wherein the service request includes a target cluster identifier; Obtain the target access controller cluster corresponding to the target cluster identifier from multiple access controller clusters, wherein the target access controller cluster includes at least one candidate access controller; Based on the current load status of each candidate access controller, select an access controller whose load status meets the preset load standard from the target access controller cluster as the target access controller; The address information corresponding to the target access controller is sent to the wireless access point, so that the wireless access point sends a connection request to the target access controller based on the address information, and establishes a communication tunnel with the target access controller based on the connection request; The step involves selecting access controllers from the target access controller cluster whose load conditions meet preset load standards based on the current load status of each candidate access controller, and calculating the total score of the candidate access controllers. The load indicators include: total CPU utilization, total memory utilization, broadcast and multicast ratios of all LAN ports in the AC direction, outbound traffic to inbound traffic ratio of all LAN ports, and number of APs connected. The candidate access controller with the highest total score is selected as the target access controller.
2. The method according to claim 1, characterized in that, Before receiving a service request from a wireless access point, the method further includes: Get cluster configuration request; In response to the cluster configuration request, a cluster configuration interface is displayed, and at least one configuration information for configuring the access controller cluster is obtained based on the cluster configuration interface. An access controller cluster is constructed based on the access controller indicated by the configuration information, and the cluster identifier corresponding to the access controller cluster is determined.
3. The method according to claim 2, characterized in that, The construction of the access controller cluster based on the access controller indicated by the configuration information includes: Obtain the access controller name from the configuration information; The access controller cluster is constructed using the access controllers corresponding to the access controller names.
4. The method according to claim 2, characterized in that, Determining the cluster identifier corresponding to the access controller cluster includes: Obtain the original cluster identifier corresponding to the access controller cluster; The original cluster identifier is encrypted using a preset encryption key to obtain an encrypted cluster identifier; The encrypted cluster identifier is sent to the server so that the server configures the cluster identifier of the access controller cluster based on the encrypted cluster identifier, wherein the server is used to allocate addresses to wireless access points to be allocated addresses, and the cluster identifier is carried when allocating addresses.
5. The method according to claim 1, characterized in that, The step of calculating the total score for the candidate access controller using the parameter values corresponding to each load indicator in the load situation includes: Obtain at least one load metric corresponding to each candidate access controller from the load situation, as well as the parameter value corresponding to each load metric; Obtain the parsing strategy corresponding to the load metric, and use the parsing strategy to parse the parameter value to obtain the initial score value corresponding to the load metric; Obtain the weight value corresponding to the load indicator, and calculate the target score value corresponding to the load indicator using the initial score value and the weight value; The target scores for each load metric are summed to obtain the total score for the candidate access controller.
6. A method for establishing a communication tunnel, characterized in that, Applied to wireless access points, the method includes: Obtain the target cluster identifier and include the target cluster identifier in the service request; The service request is sent to the cloud access controller so that the cloud access controller can obtain the target access controller whose load meets the preset load standard from the target access controller cluster corresponding to the target cluster identifier, and send the address information of the target access controller. The target access controller is the candidate access controller with the highest total score. The total score of the candidate access controller is calculated using the parameter values corresponding to each load indicator in the load condition. The load indicators include: total CPU utilization, total memory utilization, broadcast and multicast ratio of all LAN ports in the AC direction, ratio of outbound traffic to inbound traffic of all LAN ports, and number of APs connected. Receive the address information of the target access controller sent by the cloud access controller, and send a join request message to the target access controller based on the address information; The system receives a join response message from the target access controller based on the join request message, and establishes a communication tunnel between the wireless access point and the target access controller if the join response message indicates successful joining.
7. The method according to claim 6, characterized in that, The step of obtaining the target cluster identifier includes: Generate an address request; The address request is sent to the server so that the server allocates an address to the wireless access point according to the address request and returns the target cluster identifier.
8. A communication tunnel establishment device, characterized in that, include: A receiving module is used to receive service requests sent by a wireless access point, wherein the service request includes a target cluster identifier; The acquisition module is used to acquire the target access controller cluster corresponding to the target cluster identifier from multiple access controller clusters, wherein the target access controller cluster includes at least one candidate access controller; The processing module is used to select, from the target access controller cluster, an access controller whose load condition meets a preset load standard as the target access controller based on the load condition of each candidate access controller. The sending module is used to send the address information corresponding to the target access controller to the wireless access point, so that the wireless access point sends a connection request to the target access controller based on the address information, and establishes a communication tunnel with the target access controller based on the connection request; The processing module is used to calculate the total score of the candidate access controller by using the parameter values corresponding to each load indicator in the load situation. The load indicators include: total CPU utilization, total memory utilization, broadcast and multicast ratio of all LAN ports in the AC direction, ratio of outbound traffic to inbound traffic of all LAN ports, and number of APs connected. The candidate access controller with the highest total score is selected as the target access controller.
9. A communication tunnel establishment device, characterized in that, include: The acquisition module is used to acquire the target cluster identifier and carry the target cluster identifier in the service request; The sending module is used to send the service request to the cloud access controller, so that the cloud access controller can obtain the target access controller whose load meets the preset load standard from the target access controller cluster corresponding to the target cluster identifier, and send the address information of the target access controller. The target access controller is the candidate access controller with the highest total score. The total score of the candidate access controller is calculated using the parameter values corresponding to each load indicator in the load condition. The load indicators include: total CPU utilization, total memory utilization, broadcast and multicast ratio of all LAN ports in the AC direction, ratio of outbound traffic to inbound traffic of all LAN ports, and number of APs connected. The receiving module is used to receive the address information of the target access controller sent by the cloud access controller, and send a join request message to the target access controller based on the address information; The execution module is used to receive the join reply message fed back by the target access controller based on the join request message, and to establish a communication tunnel between the wireless access point and the target access controller when the join reply message indicates that the join was successful.