Address allocation method, electronic device, storage medium and program product

By carrying the MAC address and the modulus value of the client device's MAC address and user group number in the broadband network core architecture, requesting IPv6 address from the network configuration server, solving the problem of random allocation of CP devices during IPv6 address allocation, and realizing continuous allocation of addresses and improve routing efficiency.

CN119299426APending Publication Date: 2025-01-10CHINA UNITED NETWORK COMM GRP CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411397907.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-08
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

In the broadband network core architecture, CP devices lack perception capabilities when allocating IPv6 addresses, resulting in random allocation of user addresses to different UP devices, which is not conducive to routing aggregation and increases routing learning volume.

Method used

By obtaining the modulo value of the MAC address and number of user groups of the client device in the request message, requesting continuous address segments from the network configuration server to ensure that the address is allocated within the continuous address segments, and realizing the UP device and the configuration server address Pool binding.

Benefits of technology

Improve routing efficiency, ensure that user addresses are allocated within continuous address segments, promote routing aggregation, and reduce routing learning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119299426A_ABST
    Figure CN119299426A_ABST
Patent Text Reader

Abstract

The invention provides an address allocation method, electronic equipment, a storage medium and a program product, relates to a communication technology, and is used for enabling network addresses allocated to UP equipment to be distributed in a continuous address field, so that routing aggregation is facilitated, and the routing efficiency is improved. The method comprises the following steps: in response to a received network address acquisition request of first client equipment, sending a first request message to a network configuration server through a first target user group of first UP equipment; wherein the first request message is used for requesting the network configuration server to divide network addresses based on the total number of first user groups included in the M UP devices, and allocating the network addresses to the first client device based on the first module value; receiving a first response message sent by the network configuration server, and sending the first response message to the first client device through the first UP device; the first response message comprises a network address allocated to the first client device by the network configuration server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to an address allocation method, an electronic device, a storage medium, and a program product. Background Art

[0002] One of the key technologies of broadband network core (BNC) architecture is the separation of control plane (CP) and user plane (UP), which combines the CP function of traditional broadband network gateway (BNG) with other functions required by broadband networks to form a comprehensive broadband network core network. The functions required by broadband networks, such as authentication, authorization and counting (AAA) and dynamic host configuration protocol (DHCP), can be implemented in BNC.

[0003] When allocating Internet Protocol version 6 (IPv6) addresses based on the separation of CP and UP, there is a situation that the CP device does not allocate addresses, but requests addresses from the DHCPv6 server and then issues them to users. In this case, the CP device will select one of the UP devices to carry the user according to the load conditions of each UP device. The selection result has a certain degree of randomness, and the DHCPv6 server has no perception of this process. Therefore, the DHCPv6 server may randomly allocate the entire segment of user addresses to different UP devices, which is not conducive to route aggregation and will also generate a huge amount of route learning for other routers. Summary of the invention

[0004] The present application provides an address allocation method, an electronic device, a storage medium and a program product, which can make the network addresses allocated to UP devices distributed in continuous address segments, which is conducive to routing aggregation and improves routing efficiency.

[0005] In a first aspect, the present application provides an address allocation method, which is applied to a CP device in a broadband access system, wherein the CP device controls M UP devices, each UP device includes multiple first user groups, and the method includes: in response to receiving a network address acquisition request from a first client device, sending a first request message to a network configuration server through a first target user group of the first UP device; wherein the first target user group is any one of the multiple first user groups included in the first UP device, and the first request message includes the total number of first user groups included in the M UP devices, a media access control address (MAC address) of the first client device, and a first modulus value, and the first modulus value is used to indicate the position of the first target user group in the user groups included in the M UP devices; the first request message is used to request the network configuration server to divide the network address based on the total number of first user groups included in the M UP devices, and allocate a network address to the first client device based on the first modulus value; receiving a first response message sent by the network configuration server, and sending the first response message to the first client device through the first UP device; the first response message includes the network address allocated by the network configuration server to the first client device.

[0006] The technical solution provided by the present application brings at least the following beneficial effects: the total number of the first user group and the MAC address and the first modulus value of the first client device can be carried in a message and uploaded to the network configuration server, so that the network configuration server can perceive the information of the user plane, and then divide the network address based on the total number of the first user group, and allocate the network address to the first client device based on the first modulus value. In this way, the network configuration server can pre-divide the network address for the first user group of the UP device, so that the first user group of the UP device forms a binding relationship with the address segment in the address pool of the network configuration server. Since the user group identifiers in the same device are continuous, the network addresses allocated to the client devices of different user groups under the UP device based on the binding relationship are also distributed in the continuous address segments, which is conducive to routing aggregation and improves routing efficiency.

[0007] In one possible implementation, a network address acquisition request includes a MAC address of a first client device; in response to receiving the network address acquisition request of the first client device, a first request message is sent to a network configuration server through a first target user group of a first UP device, including: performing a modulus operation based on the MAC address of the first client device and the total number of first user groups included in M ​​UP devices to obtain a first modulus value; based on the first modulus value, assigning a first target user group to the first client device, the first target user group being a user group in the first UP device, and an index value of the first target user group being the same as the first modulus value; encapsulating the first modulus value and the total number of first user groups included in the M UP devices in a network address acquisition request to obtain a first request message; and sending the first request message to the network configuration server through the first target user group of the first UP device.

[0008] In another possible implementation, the number of first user groups included in each of the M UP devices satisfies the following relationship: the number of first user groups included in each UP device is the same; the number of first user groups included in each UP device is an integer multiple of M-1.

[0009] In another possible implementation manner, the first user group is divided based on a physical interface on the UP device.

[0010] In another possible implementation, the network address is an IPv6 address.

[0011] In another possible implementation, the first request message is a dynamic host configuration protocol for IPv6 (DHCPv6) message, the MAC address and the first modulus value of the first client device are encapsulated in a first option field of the first request message, and the total number of first user groups included in the M UP devices is encapsulated in a second option field of the first request message.

[0012] In another possible implementation, the user group on the UP device adds multiple second user groups on the basis of the original first user group; the method also includes: in response to receiving a network address acquisition request from the second client device, sending a second request message to the network configuration server through the second target user group of the second UP device; wherein the second target user group is any one of the multiple first user groups included in the second UP device, or the second target user group is any one of the multiple second user groups included in the second UP device; the second request message includes the total number of the first user groups and the second user groups included in the M UP devices, the MAC address of the second client device and the second modulus value, and the second modulus value is used to indicate the position of the second target user group in the user groups included in the M UP devices; the second request message is used to request the network configuration server to divide multiple network addresses additionally based on the total number of the first user group and the second user group, and allocate a network address to the second client device based on the second modulus value; receive a second response message sent by the network configuration server, and send the second response message to the second client device through the second UP device; the second response message includes the network address allocated by the network configuration server to the second client device.

[0013] Among them, the first client device and the second client device can be different client devices or the same client device. For example, the first request message is a request message sent by client device A when it goes online for the first time, and the second request message is a request message sent by client device A when it goes online for the second time; the second UP device and the first UP device can be different UP devices or the same UP device, and the embodiment of the present application does not limit this.

[0014] In a second aspect, the present application provides another address allocation method, which is applied to a network configuration server, and the method includes: receiving a first request message sent by a CP device, the first request message including the total number of multiple first user groups included in M ​​UP devices controlled by the CP device, the MAC address of the first client device and a first modulus value, the first modulus value being used to indicate the position of the first target user group in the user groups included in the M UP devices; the first target user group is a user group assigned by the CP device to the first client device; dividing the network address based on the total number of the first user groups included in the M UP devices; based on the first modulus value, allocating a network address to the first client from the divided network addresses; sending a first response message to the CP device, the first response message including the network address allocated by the network configuration server to the first client device.

[0015] The technical solution provided by the present application brings at least the following beneficial effects: it enables the network configuration server to perceive the information of the user plane, and then to divide the network address based on the total number of the first user group, and allocate the network address to the first client device based on the first module value. In this way, the network configuration server can pre-divide the network address for the first user group of the UP device, so that the first user group of the UP device forms a binding relationship with the address segment in the address pool of the network configuration server. Since the user group identifiers in the same device are continuous, the network addresses allocated to the client devices of different user groups under the UP device based on the binding relationship are also distributed in the continuous address segments, which is conducive to routing aggregation and improves routing efficiency.

[0016] In a possible implementation manner, the method also includes: performing a modulus operation based on the MAC address of the first client device and the total number of the first user group, and comparing the result of the modulus operation with the first modulus to perform message verification; based on the first modulus, allocating a network address to the first client from the divided network addresses, including: in the case of passing the verification, based on the first modulus, allocating a network address to the first client from the divided network addresses.

[0017] Another possible implementation method: dividing the network address based on the total number of first user groups included in the M UP devices, including: dividing a plurality of network address segments based on the total number of first user groups included in the M UP devices, the number of the plurality of network address segments being the same as the total number of first user groups; allocating a network address to the first client from the divided network addresses based on the first modulus value, including: allocating a network address segment in the plurality of network address segments having the same index value as the first modulus value to the first client device.

[0018] Another possible implementation method: The method also includes: receiving a second request message sent by the CP device, the second request message includes the total number of multiple first user groups and multiple second user groups included in the M UP devices, the MAC address of the second client device and the second modulus value, the second modulus value is used to indicate the position of the second target user group in the user groups included in the M UP devices; the second user group is a user group added by the UP device on the basis of the first user group; the second target user group is a user group assigned to the second client device by the CP device; multiple network addresses are additionally divided based on the number of multiple second user groups; based on the second modulus value, a network address is assigned to the second client device; and a second response message is sent to the CP device, the second response message includes the network address assigned to the second client device by the network configuration server.

[0019] In a third aspect, the present application provides an address allocation device, comprising: a processing module, used to send a first request message to a network configuration server through a first target user group of a first UP device in response to receiving a network address acquisition request from a first client device; wherein the first request message includes the total number of first user groups included in M ​​UP devices, the MAC address of the first client device and a first modulus value, and the first modulus value is used to indicate the position of the first target user group in the user groups included in the M UP devices; the first request message is used to request the network configuration server to divide the network address based on the total number of first user groups included in the M UP devices, and allocate a network address to the first client device based on the first modulus value; a communication module, used to receive a first response message sent by the network configuration server, and send the first response message to the first client device through the first UP device; the first response message includes the network address allocated by the network configuration server to the first client device.

[0020] A possible implementation method is that the network address acquisition request includes the MAC address of the first client device, and the processing module is specifically used to perform a modulus operation based on the MAC address of the first client device and the total number of first user groups included in M ​​UP devices to obtain a first modulus value; based on the first modulus value, assign a first target user group to the first client device, the first target user group is the user group in the first UP device, and the index value of the first target user group is the same as the first modulus value; encapsulate the first modulus value and the total number of first user groups included in the M UP devices in the network address acquisition request to obtain a first request message; and send the first request message to the network configuration server through the first target user group of the first UP device.

[0021] In another possible implementation, the number of first user groups included in each of the M UP devices satisfies the following relationship: the number of first user groups included in each UP device is the same; the number of first user groups included in each UP device is an integer multiple of M-1.

[0022] In another possible implementation manner, the first user group is divided based on a physical interface on the UP device.

[0023] In another possible implementation, the network address is an IPv6 address.

[0024] In another possible implementation, the first request message is a DHCPv6 message, the MAC address and the first modulus value of the first client device are encapsulated in a first option field of the first request message, and the total number of first user groups included in the M UP devices is encapsulated in a second option field of the first request message.

[0025] In another possible implementation, the user group on the UP device adds multiple second user groups on the basis of the original first user group; the processing module is also used to send a second request message to the network configuration server through the second target user group of the second UP device in response to receiving a network address acquisition request from the second client device; wherein the second target user group is any one of the multiple first user groups included in the second UP device, or the second target user group is any one of the multiple second user groups included in the second UP device; the second request message includes the total number of the first user groups and the second user groups included in the M UP devices, the MAC address of the second client device and the second modulus value, and the second modulus value is used to indicate the position of the second target user group in the user groups included in the M UP devices; the second request message is used to request the network configuration server to divide multiple network addresses additionally based on the total number of the first user group and the second user group, and allocate a network address to the second client device based on the second modulus value; the communication module is also used to receive a second response message sent by the network configuration server, and send the second response message to the second client device through the second UP device; the second response message includes the network address allocated by the network configuration server to the second client device.

[0026] In a fourth aspect, the present application provides another address allocation device, including: a communication module, used to receive a first request message sent by a CP device, the first request message including the total number of multiple first user groups included in M ​​UP devices controlled by the CP device, the MAC address of the first client device and a first modulus value, the first modulus value being used to indicate the position of the first target user group in the user groups included in the M UP devices; the first target user group is the user group allocated by the CP device to the first client device; an allocation module, used to divide network addresses based on the total number of first user groups included in the M UP devices; based on the first modulus value, allocate a network address to the first client from the divided network addresses; the communication module is also used to send a first response message to the CP device, the first response message including the network address allocated by the network configuration server to the first client device.

[0027] A possible implementation method is that the allocation module is also used to perform a modulus operation based on the MAC address of the first client device and the total number of the first user group, and compare the result of the modulus operation with the first modulus to perform message verification; based on the first modulus, a network address is allocated to the first client from the divided network addresses, including: an allocation module, which is specifically used to allocate a network address to the first client from the divided network addresses based on the first modulus when the verification is passed.

[0028] Another possible implementation method is an allocation module, which is specifically used to divide multiple network address segments based on the total number of first user groups included in the M UP devices, and the number of the multiple network address segments is the same as the total number of first user groups; and allocate the network address segment with the same index value as the first module value in the multiple network address segments to the first client device.

[0029] In another possible implementation, the communication module is further used to receive a second request message sent by the CP device, where the second request message includes the total number of multiple first user groups and multiple second user groups included in the M UP devices, the MAC address of the second client device and the second modulus value, where the second modulus value is used to indicate the position of the second target user group in the user groups included in the M UP devices; the second user group is a user group added by the UP device on the basis of the first user group; the second target user group is a user group assigned to the second client device by the CP device; the allocation module is further used to additionally divide multiple network addresses based on the number of multiple second user groups; and based on the second modulus value, assign a network address to the second client device; the communication module is further used to send a second response message to the CP device, where the second response message includes the network address assigned to the second client device by the network configuration server.

[0030] In a fifth aspect, the present application provides an electronic device, comprising: a processor and a memory; the memory stores instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device implements the method of the first aspect or the second aspect above.

[0031] In a fourth aspect, the present application provides a computer-readable storage medium, which includes: computer software instructions; when the computer software instructions are executed in an electronic device, the electronic device implements the method of the first aspect or the second aspect above.

[0032] In a fifth aspect, the present application provides a computer program product, which includes a computer program; when the computer program runs in an electronic device, the electronic device implements the method of the first aspect or the second aspect above.

[0033] The beneficial effects of the third to sixth aspects mentioned above refer to the corresponding description of the first or second aspect and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 A schematic diagram of an application environment of an address allocation method provided in this application;

[0035] Figure 2 A flowchart of an address allocation method provided in this application;

[0036] Figure 3A schematic diagram of a user group grouping method provided for this application;

[0037] Figure 4 A schematic diagram of another user group grouping method provided for this application;

[0038] Figure 5 A schematic diagram of a message encapsulation format provided for this application;

[0039] Figure 6 A schematic diagram of another message encapsulation format provided for this application;

[0040] Figure 7 A flowchart of another address allocation method provided by this application;

[0041] Figure 8 A flowchart of another address allocation method provided by the present application;

[0042] Fig. 9 A flowchart of another address allocation method provided by the present application;

[0043] Fig.10 A schematic diagram of a specific implementation process of an address allocation method provided in this application;

[0044] Fig.11 A schematic diagram of the composition of an address allocation device provided in this application;

[0045] Fig.12 A schematic diagram of another address allocation device provided by the present application;

[0046] Fig.13 A schematic diagram of the structure of an electronic device provided in this application. DETAILED DESCRIPTION

[0047] The address allocation method provided in this application will be described in detail below with reference to the accompanying drawings.

[0048] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.

[0049] The terms "first" and "second" and the like in the specification and drawings of this application are used to distinguish different objects, or to distinguish different processing of the same object, rather than to describe a specific order of objects.

[0050] In addition, the terms "including" and "having" and any variations thereof mentioned in the description of the present application are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products or devices.

[0051] It should be noted that, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0052] In order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, the words "first", "second", etc. are used to distinguish the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first", "second", etc. are not limiting the quantity and execution order.

[0053] In the description of the present application, unless otherwise specified, “plurality” means two or more.

[0054] As described in the background technology, in the BNC architecture, CP and UP are separated. When address allocation is performed on this basis, the user end will send a request message to the UP device after startup, and then the UP device will upload the request message to the CP device, which will authenticate and allocate addresses after authentication. During the address allocation process, the CP device can manage the address pool and centrally allocate all address requests; or the DHCPv6 server can manage the address pool and allocate addresses. In this case, the CP device needs to request addresses from the DHCPv6 server and then send them to the user.

[0055] In the scenario where the DHCPv6 server manages the address pool and allocates addresses, the CP device will select one of the UP devices to carry the user according to the load of each UP device. This selection is random and the DHCPv6 server has no perception of this process. Therefore, the DHCPv6 server may randomly allocate the entire segment of user addresses to different UP devices. The user addresses allocated to the same UP device are scattered and disordered, which is not conducive to route aggregation. Therefore, the UP device can only publish 64-bit host routes, and a huge amount of route learning will be generated for other routers.

[0056] In response to the above technical problems, the present application provides an address allocation method, the idea of ​​which is that: the total number of the first user group and the MAC address and the first modulus value of the first client device can be carried in a message and uploaded to a network configuration server, so that the network configuration server can perceive the information of the user plane, and then divide the network address based on the total number of the first user group, and allocate the network address to the first client device based on the first modulus value. In this way, the network configuration server can pre-divide the network address for the first user group of the UP device, so that the first user group of the UP device forms a binding relationship with the address segment in the address pool of the network configuration server. Since the user group identifiers in the same device are continuous, the network addresses allocated to the client devices of different user groups under the UP device based on the binding relationship are also distributed in continuous address segments, which is conducive to routing aggregation and improves routing efficiency.

[0057] It should be understood that in a broadband access network, a user group is a logical classification concept. A user group may include one or more client devices and is used to uniformly manage and organize the client devices to better allocate network resources.

[0058] The following is a detailed introduction to the embodiments provided in this application in conjunction with the accompanying drawings.

[0059] The address allocation method provided in this application can be applied to Figure 1 In the application environment shown. Figure 1 As shown, the application environment includes: a client device 101, a UP device 102, a CP device 103 and a network configuration server 104. The client device 101 and the UP device 102 are connected to each other, the UP device 102 and the CP device 103 are connected to each other, and the CP device 103 and the network configuration server 104 are connected to each other.

[0060] In some embodiments, the client device 101 may be a device that provides broadband Internet access services to users. The access method of the client device 101 is IP access based on Ethernet (Internet Protocol Over Ethernet, IP OE), which allows the terminal device to directly connect to the Internet Service Provider (Internet Service Provider, ISP) through the Ethernet interface, and the terminal device can access the Internet without additional authentication steps after connecting to the network.

[0061] Exemplarily, the client device 101 may be an optical modem, a modem, a fiber optic modem, a home gateway, a wireless router, a network attached storage (NAS) device, a voice over internet protocol (VoIP) terminal, a set-top box (STB), etc. The embodiment of the present application does not limit the specific device form of the client device 101.

[0062] In some embodiments, the UP device 102 may be a network device responsible for forwarding and processing user data.

[0063] Exemplarily, the UP device may be a router, a switch, an access point (AP), a multi-service switch, a load balancer, an edge computing device, etc. The embodiment of the present application does not limit the specific device form of the UP device 102.

[0064] In some embodiments, the CP device 103 may be a device responsible for management and control decisions. Exemplarily, the CP device has functions such as user authentication, address allocation, routing decision, and policy execution.

[0065] Exemplarily, the CP device may be a router, a switch, a gateway, an authentication, authorization, and accounting server (AAA Server), an access controller, etc. The present application does not limit the specific device form of the CP server 103 .

[0066] In some embodiments, the UP device 102 and the CP device 103 can be integrated into one device, which implements the separation of CP functions and UP functions through network functions virtualization (NFV). The device can be a broadband remote access server (BRAS), a broadband access server (BAS), etc.

[0067] In some embodiments, the network configuration server 104 may be a device responsible for automatically allocating and managing network addresses and other network configuration information.

[0068] Exemplarily, the network configuration server 104 may be a DHCPv6 server.

[0069] Exemplarily, the network configuration server 104 may be a server cluster composed of multiple servers, or a single server, or a computer, or a processor or processing chip in a server or computer, etc. The embodiment of the present application does not limit the specific device form of the network configuration server. Figure 1 In the figure, a single server is used as the network configuration server as an example.

[0070] In some embodiments, the network configuration server 104 may also be a device that integrates network address allocation and management functions, such as a router or switch that integrates network address allocation and management functions.

[0071] In some embodiments, the application environment of the present application includes at least one UP device 102 and at least one client device 101 connected to the UP device. The present application does not limit the number of client devices 101 and UP devices 102. Figure 1 A UP device and a client device connected thereto are used as an example.

[0072] In some embodiments, the client device 101 sends a network address acquisition request to the UP device 102; the UP device 102 sends the network address acquisition request to the CP device 103; in response to receiving the network address acquisition request from the client device 101, the CP device 103 sends a first request message to the network configuration server 104 through the first target user group of the UP device 102; wherein the first request message includes the total number of the first user groups included in the M UP devices 102, the MAC address of the client device 101 and the first modulus value, and the first modulus value is used to indicate the position of the first target user group in the user group included in the UP device 102; the first request message Used to request the network configuration server 104 to allocate a network address; the network configuration server 104 receives a first request message sent by the CP device 103; the network configuration server 104 divides the network address based on the total number of the first user group included in the UP device 102; the network configuration server 104 allocates a network address to the first client from the divided network addresses based on the first module value and sends a first response message to the CP device, the first response message including the network address allocated by the network configuration server to the first client device; the CP device 103 sends the first response message to the UP device 102; the UP device 102 sends the first response message to the client device 101.

[0073] It should be noted that the system architecture described in the embodiments of the present application is for more clearly illustrating the technical solutions of the embodiments of the present application, and does not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person of ordinary skill in the art can know that with the evolution of the system architecture, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0074] See also Figure 2 , is a flow chart of an address allocation method provided in an embodiment of the present application. Figure 2 As shown, the address allocation method provided by this application can be implemented as follows Figure 1 The CP device shown is implemented, and the CP device controls M UP devices. Exemplarily, the address allocation method includes the following steps S201-S202.

[0075] S201: In response to receiving a network address acquisition request from a first client device, sending a first request message to a network configuration server through a first target user group of a first UP device.

[0076] The first target user group is any one of the multiple first user groups included in the first UP device. The first request message includes the total number of first user groups included in the M UP devices, the MAC address of the first client device and the first modulus value, and the first modulus value is used to indicate the position of the first target user group in the user groups included in the M UP devices. The first request message is used to request the network configuration server to divide the network address based on the total number of first user groups included in the M UP devices, and to allocate a network address to the first client device based on the first modulus value.

[0077] In some embodiments, the network address acquisition request is sent by the client device to all UP devices in the network by multicast or groupcast, and is used to find an available network configuration server in the network to request configuration information such as the network address. The network address acquisition request can be in the form of a message, for example, a network address request message.

[0078] Exemplarily, the network address acquisition request may be a DHCPv6 Solicit message, the target address of the DHCPv6 Solicit message is a multicast address or a groupcast address, and the source address is usually a link-local address.

[0079] In some embodiments, the first user group is divided based on the physical interface on the UP device. The CP device can classify the physical interface or sub-interface on the UP device into a user group. The CP device determines the total number of first user groups based on the number of clients in the area or past user carrying requirements, and configures the first user groups on different UP devices as a backup relationship.

[0080] In some embodiments, the number of first user groups included in each of the M UP devices satisfies the following relationship: the number of first user groups included in each UP device is the same; the number of first user groups included in each UP device satisfies an integer multiple of M-1.

[0081] In some embodiments, the first modulus value in the first request message can also enable the network configuration server to perform message verification. For example, the network configuration server performs a modulus operation based on the MAC address of the first client device and the total number of the first user group, and compares the result of the modulus operation with the first modulus value to perform message verification. Then, if the verification passes, a network address is allocated to the first client device based on the first modulus value.

[0082] For example, Figure 3 As shown, it is a schematic diagram of a user group grouping method in an embodiment of the present application. For example, assuming that there are 4 UP devices controlled by the CP device, the 4 UP devices can be marked as UP-1, UP-2, UP-3 and UP-4 respectively. The CP device classifies the physical interface or sub-interface on the UP device into a user group. There are 12 first user groups in the UP pool controlled by the CP device, and each UP device has three user groups. The user groups on different UP devices are configured as backup relationships. For example, user group 0, user group 3, user group 6 and user group 9 can be configured as backup relationships, user group 1, user group 4, user group 7 and user group 10 can be configured as backup relationships, and user group 2, user group 5, user group 8 and user group 11 can be configured as backup relationships. Such a backup relationship can enable the user groups on the failed UP device to be evenly migrated to other UP devices as a whole group when a certain UP device fails, so as to achieve a smooth transfer of user load when the UP device fails, and will not cause excessive user load burden on the link of a certain UP device.

[0083] For example, in Figure 3 In the user group grouping method shown in the figure, if UP-1 fails, Figure 4 As shown, based on the above backup relationship, under the load sharing effect, UP-2 will receive the client devices of user group 0 for user carrying; UP-3 will receive the client devices of user group 1 for user carrying; UP-4 will receive the client devices of user group 2 for user carrying.

[0084] In some embodiments, the network address acquisition request includes the MAC address of the first client device, and step S201 can be implemented as the following steps S2011-S2014.

[0085] S2011. Perform a modulus operation based on the MAC address of the first client device and the total number of first user groups included in the M UP devices to obtain a first modulus value.

[0086] In some embodiments, the MAC address of the first client device may be encapsulated in a client identifier field of a DHCPv6 Solicit message.

[0087] In some embodiments, after receiving the network address acquisition request, the CP device retrieves the MAC address of the first client device carried in the network address acquisition request, converts the MAC address of the first client device into decimal and performs a modulo operation on the total number of the first user group, and uses the remainder obtained as the first modulus value.

[0088] For example, when the MAC address of the first client device is 00:11:22:33:44:67 and the total number of the first user group is 12, the MAC address of the first client device is converted into a decimal number of 78745596257, and the remainder of 78745596257 modulo 12 is 3. The first modulus value corresponding to the first client device is 3.

[0089] S2012. Based on the first module value, allocate a first target user group to the first client device, where the first target user group is a user group in the first UP device, and an index value of the first target user group is the same as the first module value.

[0090] In some embodiments, the index value of the first user group is set when the CP device divides the user group, the index value corresponds to the user group one by one, the index value is set starting from 0 and the index values ​​of the first user group on the same UP device are continuous.

[0091] For example, there are four UP devices controlled by the CP device, and the four UP devices can be marked as UP-1, UP-2, UP-3 and UP-4 respectively. There are 12 first user groups in the UP pool, and each UP device has three first user groups. The first user groups on UP-1 are user group 0, user group 1 and user group 2; the first user groups on UP-2 are user group 3, user group 4 and user group 5; the first user groups on UP-3 are user group 6, user group 7 and user group 8; the first user groups on UP-4 are user group 9, user group 10 and user group 11, where 0 to 11 are the index values ​​of the 12 first user groups.

[0092] Thus, assuming that the first modulus value is 3, the CP device allocates a user group with an index group of 3 to the first client device, that is, the first UP device is UP2 and the first target user group is user group 3.

[0093] In some embodiments, after the CP device allocates the first target user group of the first UP device to the first client device, the user carrying work of the first client device is completed through the first target user group.

[0094] S2013: Encapsulate the first modulus value and the total number of the first user groups included in the M UP devices into a network address acquisition request to obtain a first request message.

[0095] In some embodiments, the first request message is a DHCPv6 message, for example, a DHCPv6 Solicit message, the MAC address and the first modulus value of the first client device are encapsulated in a first option field of the first request message, and the total number of first user groups included in the M UP devices is encapsulated in a second option field of the first request message.

[0096] Exemplarily, the first option field may be a field with option code 151 in a DHCPv6 message specified in a standard, such as Figure 5 As shown, the field with option code 151 consists of an option code field, a length field, a client MAC field and a modulus field, wherein the option code is 151 and the length is 2 bytes; the length is 2 bytes, which is used to indicate the length of the client MAC field and the modulus field; the client MAC field is 6 bytes long, which is used to encapsulate the MAC address of the first client device; the modulus field is 2 bytes long, which is used to encapsulate the first modulus value.

[0097] The second option field can be a field with option code 152 in the DHCPv6 message specified in the standard, such as Figure 6 As shown, the field with option code 152 consists of an option code field, a length field, and a user group quantity field, wherein the option code is 152 and the length is 2 bytes; the length is 2 bytes, which is used to indicate the length of the user group quantity field; the length of the user group quantity field is 2 bytes, which is used to encapsulate the first user group quantity.

[0098] S2014. Send a first request message to the network configuration server through the first target user group of the first UP device.

[0099] S202: Receive a first response message sent by the network configuration server, and send the first response message to the first client device through the first UP device.

[0100] The first response message includes a network address assigned by the network configuration server to the first client device. Exemplarily, the first response message may be sent in a unicast manner.

[0101] In some embodiments, the first response message may be a DHCPv6 Advertise message, which is used to respond to a DHCPv6 Solicit message and provide an IP address and related configuration information to the client device.

[0102] In some embodiments, in response to a received first request message (for example, received in the form of a broadcast), the network configuration server divides the network address according to the total number of the first user groups included in the M UP devices carried in the first request message, and allocates a network address to the first client device based on the identifier of the first target user group. Afterwards, the network configuration server encapsulates the IP address, subnet mask, default gateway, and other necessary network configuration information allocated to the first client device into a first response message and sends it to the CP device, and the CP device sends the message to the first client device through the first UP device where the user group of the client device is located.

[0103] In some embodiments, after the above step S202, the method also includes: in response to receiving a network address confirmation request from the first client device, sending a network address confirmation request message to the network configuration server; receiving a response confirmation message sent by the network configuration server, and sending the response confirmation message to the first client device through the first UP device.

[0104] Exemplarily, the network address confirmation request may be a DHCPv6 request (Request) message, used to select one of the received single or multiple DHCPv6 Advertises for address configuration request; the response confirmation message may be a DHCPv6 reply (Reply) message, used to confirm the allocation of the network address when the network address requested for configuration in the received DHCPv6 Request message is available.

[0105] In some embodiments, the CP device can add multiple second user groups based on the original first user group according to actual needs. Since the newly added second user group is not bound to the network address in the network configuration server, the CP device can generate a second request message according to the received network address acquisition request of the second client device, so that the network configuration server allocates the network address for the newly added second user group. For example, Figure 7 As shown, after S202, the address allocation method provided in the embodiment of the present application further includes the following S203-S204:

[0106] S203: In response to receiving the network address acquisition request from the second client device, sending a second request message to the network configuration server through the second target user group of the second UP device.

[0107] After the initial address allocation work for the first client device is completed, the user group on the UP device is increased to a plurality of second user groups based on the original first user group.

[0108] The second target user group is any one of the multiple first user groups included in the second UP device, or the second target user group is any one of the multiple second user groups included in the second UP device.

[0109] The second request message includes the total number of the first user group and the second user group included in the M UP devices, the MAC address of the second client device, and the second modulus value, where the second modulus value is used to indicate the position of the second target user group in the user groups included in the M UP devices. The second request message is used to request the network configuration server to divide a plurality of network addresses based on the total number of the first user group and the second user group, and to allocate a network address to the second client device based on the second modulus value.

[0110] In some embodiments, the second modulus value in the second request message can also enable the network configuration server to perform message verification. For example, the network configuration server performs a modulus operation based on the MAC address of the second client device, the total number of the first user group and the second user group, and compares the result of the modulus operation with the second modulus value to perform message verification. Then, if the verification passes, a network address is allocated to the second client device based on the second modulus value.

[0111] It is understandable that the first client device and the second client device may be different client devices or the same client device. For example, when the first client device and the second client device are the same client device, the first request message is the request message sent by the client device A when it goes online for the first time, and the second request message is the request message sent by the client device A when it goes online for the second time. The second UP device and the first UP device may be different UP devices or the same UP device, and this embodiment of the present application does not limit this.

[0112] In some embodiments, the network address acquisition request may be in the form of a message, for example, a network address request message.

[0113] Exemplarily, the network address acquisition request may be a DHCPv6 Solicit message, which is multicasted by the client device to all UP devices in the network.

[0114] In some embodiments, the network address acquisition request includes the MAC address of the second client device, and step S203 can be implemented as the following steps S2031-S2034.

[0115] S2031. Perform a modulus operation based on the MAC address of the second client device and the total number of the first user group and the second user group included in the M UP devices to obtain a second modulus value.

[0116] In some embodiments, after receiving the network address acquisition request, the CP device retrieves the MAC address of the second client device carried in the network address acquisition request, converts the MAC address of the second client device into decimal, and performs a modulo operation on the total number of the first user group and the second user group, and uses the remainder obtained as the second modulus value.

[0117] In some embodiments, if the first client device and the second client device are the same client device, in order to ensure a continuous experience when allocating addresses to the client devices, the first modulus value can be used as the second modulus value when the client device offline time is lower than the first threshold.

[0118] Exemplarily, the first request message is a request message sent by client device A when it goes online for the first time, and the second request message is a request message sent by client device A when it goes online for the second time. When it goes online for the second time, the user group on the UP device adds multiple second user groups on the basis of the original first user group. Client device A goes online for the second time as the second client device. The second module value obtained according to the conventional module value determination process may be different from the first module value, and the continuity experience of client device A is poor. Therefore, when the offline time of client device A is lower than the first threshold, the first module value can be used as the second module value. The first threshold can be defined by itself, for example, it can be set to 24 hours.

[0119] S2032: Based on the second modulus value, allocate a second target user group to the second client device, where the first target user group is a user group in the first UP device, and the index value of the first target user group is the same as the first modulus value.

[0120] In some embodiments, the index value of the second user group is set by the CP device when multiple second user groups are added. The index value corresponds to the user group one-to-one. The index value of the second user group needs to be set starting from the end of the index value of the first user group, and the index values ​​of the newly added second user groups on the same UP device are continuous.

[0121] For example, there are four UP devices controlled by the CP device, namely UP-1, UP-2, UP-3 and UP-4. There are 12 first user groups in the UP pool, and 12 new second user groups are added. Three second user groups are added on each UP device. The second user groups added on UP-1 are user group 12, user group 13 and user group 14; the second user groups added on UP-2 are user group 15, user group 16 and user group 17; the second user groups added on UP-3 are user group 18, user group 19 and user group 20; the second user groups added on UP-4 are user group 21, user group 22 and user group 23, among which 12 to 23 are the index values ​​of the 12 second user groups.

[0122] In some embodiments, after the CP device allocates the second target user group to the second client device, the user carrying work of the second client device is completed through the second target user group.

[0123] S2033: Encapsulate the first modulus value and the total number of the first user groups included in the M UP devices into a network address acquisition request to obtain a first request message.

[0124] In some embodiments, the second request message is a DHCPv6 message, for example, a DHCPv6 Solicit message, the MAC address of the second client device and the second modulus value are encapsulated in the first option field of the second request message, and the total number of M UP devices including the first user group and the second user group is encapsulated in the second option field of the second request message.

[0125] Exemplarily, the first option field may be a field with option code 151 in a DHCPv6 message specified in a standard; and the second option field may be a field with option code 152 in a DHCPv6 message specified in a standard.

[0126] S2034: Encapsulate the first modulus value and the total number of the first user groups included in the M UP devices into a network address acquisition request to obtain a first request message.

[0127] S204: Receive a second response message sent by the network configuration server, and send the second response message to the second client device through the second UP device.

[0128] The second response message includes the network address allocated by the network configuration server to the second client device.

[0129] In some embodiments, the second response message may be a DHCPv6 Advertise message, which is used to respond to a DHCPSolicit message and provide an IPv6 address and related configuration information to the client device.

[0130] See also Figure 8 , is a flow chart of another address allocation method provided in an embodiment of the present application. Figure 8 As shown, the address allocation method provided in the present application can be implemented by the above-mentioned network configuration server, and specifically includes the following steps S301 to S304.

[0131] S301: Receive a first request message sent by a CP device.

[0132] Among them, the first request message includes the total number of multiple first user groups included in the M UP devices controlled by the CP device, the MAC address of the first client device and the first modulus value, the first modulus value is used to indicate the position of the first target user group in the user groups included in the M UP devices, and the first target user group is the user group assigned by the CP device to the first client device.

[0133] In some embodiments, the first request message may be a DHCPv6 Solicit message, which is used to find an available DHCPv6 server to request configuration information such as a network address, and is sent by the client device to all UP devices in the network in the form of multicast or groupcast.

[0134] S302: Divide the network addresses based on the total number of first user groups included in the M UP devices.

[0135] In some embodiments, the network configuration server maintains an address pool, which contains one or more continuous network addresses, which belong to the private network address space and will not conflict with other devices on the Internet. In response to the first request message, the network configuration server can take out some addresses from the address pool, divide the network address segments based on the total number of first user groups included in the M UP devices, and the number of the multiple network address segments is the same as the total number of first user groups, so that each first user group can correspond to a segment of addresses in the address pool, and the addresses in the address pool corresponding to the first user group are continuous.

[0136] In some embodiments, to form a binding relationship between the first user group and the address segment in the address pool, an address table entry may be established inside the network configuration server, the index value in the table entry is the index value corresponding to the first user group, and the table entry contains one or more address segments.

[0137] S303: Allocate a network address for the first client device from the divided network addresses based on the first modulus value.

[0138] In some embodiments, a network address segment of the plurality of network address segments having an index value identical to the first modulus value is allocated to the first client device.

[0139] Exemplarily, the first user group forms a binding relationship with the address segment in the address pool through an address table entry in the network configuration server, and an address is taken from the network address having the same index value as the first modulus value in the address table entry and allocated to the first client device.

[0140] In some embodiments, in order to prevent address allocation errors caused by errors during message transmission, message verification is required. For example, the above-mentioned address allocation method also includes: performing a modulus operation based on the MAC address of the first client device and the total number of the first user group, and comparing the result of the modulus operation with the first modulus to perform message verification.

[0141] Based on this, the above step S303 can be implemented as follows: when the verification is passed, a network address is allocated to the first client from the divided network addresses based on the first module value.

[0142] S304: Send a first response message to the CP device, where the first response message includes a network address allocated by the network configuration server to the first client device.

[0143] In some embodiments, the first response message may be a DHCP Advertise message, which is used to respond to a DHCP Solicit message, provide an IPv6 address and related configuration information to the first client device, and is sent to the first client device via unicast.

[0144] In some embodiments, after step S304, the method further includes: receiving a network address confirmation request message sent by the CP device, and sending a response confirmation message to the CP device after confirmation.

[0145] Exemplarily, the network address confirmation request may be a DHCPv6 Request message, used to select one of the received single or multiple DHCPv6 Advertise messages for address configuration request; the response confirmation message may be a DHCPv6 Reply message, used to confirm the allocation of the network address when the network address requested for configuration in the received DHCPv6 Request message is available.

[0146] It should be understood that after allocating addresses, the network configuration server may further divide and allocate addresses based on the second request message when the number of user groups increases.

[0147] Therefore, if Fig. 9 As shown, after S304, the embodiment of the present application provides an address allocation method, which also includes the following S305-S308.

[0148] S305: Receive a second request message sent by the CP device.

[0149] The second request message includes the total number of the multiple first user groups and the multiple second user groups included in the M UP devices, the MAC address of the second client device and the second modulus value, and the second modulus value is used to indicate the position of the second target user group in the user groups included in the M UP devices; the second user group is a user group added by the UP device on the basis of the first user group; the second target user group is a user group allocated by the CP device to the second client device;

[0150] S306: Further divide a plurality of network addresses based on the number of the plurality of second user groups.

[0151] In some embodiments, the network configuration server maintains an address pool, which contains one or several continuous network addresses. Since some addresses in the address pool have been allocated to the first user group, the network configuration server can take out some addresses in the address pool that have not been allocated to the first user group, and divide this part of the addresses into multiple network address segments based on the total number of second user groups. The number of the multiple network address segments is the same as the total number of second user groups, so that each second user group can correspond to a segment of addresses in the address pool (that is, each second user group can form a binding relationship with a segment of addresses in the address pool), and the addresses in the address pool corresponding to the second user groups are continuous.

[0152] S307: Allocate a network address for the second client device based on the second modulus value.

[0153] In some embodiments, when the second target user group is any one of the multiple first user groups included in the second UP device, the network address corresponding to the second target user group is determined based on the second module value from the network addresses allocated to the multiple first user groups by the network configuration server and assigned to the second client device.

[0154] In other embodiments, when the second target user group is any one of the multiple second user groups included in the second UP device, the network address corresponding to the second target user group is determined based on the second module value from the network addresses allocated to the multiple second user groups by the network configuration server and assigned to the second client device.

[0155] S308: Send a second response message to the CP device, where the second response message includes a network address allocated by the network configuration server to the second client device.

[0156] In some embodiments, the second response message may be a DHCPv6 Advertise message, which is used to respond to the DHCPv6 Solicit message, provide an IPv6 address and related configuration information to the second client device, and is sent to the first client device via unicast.

[0157] The following is an introduction to the address allocation method of the embodiment of the present application based on a specific embodiment in which a DHCPv6 server is used as a network configuration server and a first client device is used as a client device. The specific implementation process of the method is as follows: Fig.10 As shown, the following steps S1-S16 are included.

[0158] S1. A first client device sends a DHCPv6 Solicit message to a UP device to request configuration information of an IPv6 address. Accordingly, the UP device receives the DHCPv6 Solicit message sent by the first client device.

[0159] S2. The UP device sends a DHCPv6 Solicit message to the CP device. In response, the CP device receives the DHCPv6 Solicit message sent by the UP device.

[0160] S3. The CP device assigns the first target user group of the first UP device to the first client device based on the received DHCPv6 Solicit message, and generates a first request message.

[0161] The first request message includes the total number and the first modulus value of multiple first user groups included in the M UP devices controlled by the CP device.

[0162] In some embodiments, the CP device performs a modulus operation based on the MAC address of the first client device and the total number of the first user groups to obtain a first modulus value, and based on the first modulus value, assigns a first target user group to the first client device, where the first target user group is a user group in the first UP device, and the index value of the first target user group is the same as the first modulus value. The first modulus value and the total number of first user groups included in the M UP devices are then encapsulated in a network address acquisition request to obtain a first request message.

[0163] S4. The CP device sends a DHCPv6 relay forwarding (Relay-Forward) message, that is, a first request message, to the DHCPv6 server. Correspondingly, the DHCPv6 server receives the Relay-Forward message sent by the CP device.

[0164] S5. The DHCPv6 server performs message verification on the received first request message to avoid errors during message transmission. If the message verification fails, the DHCPv6 Relay-Forward message is ignored.

[0165] In some embodiments, a modulus operation is performed based on the MAC address of the first client device and the total number of the first user group, and the result of the modulus operation is compared with the first modulus value to perform message verification. If the message verification fails, the DHCPv6 Relay-Forward message is ignored.

[0166] The above steps S4 and S5 can be regarded as the Relay-Forward authentication stage of the embodiment.

[0167] S6. The DHCPv6 server divides the network addresses based on the total number of the first user groups included in the M UP devices, and allocates a network address to the first client from the divided network addresses based on the first modulus value.

[0168] In some embodiments, the DHCPv6 server takes out some addresses from the address pool, divides the address pool into multiple network address segments based on the total number of first user groups included in the M UP devices, where the number of the multiple network address segments is the same as the total number of first user groups, establishes address table entries based on the multiple network address segments, the index value in the table entry is the index value corresponding to the first user group, and allocates the network address segments in the multiple network address segments with the same index value as the first module value to the first client device.

[0169] S7. The DHCPv6 server sends a DHCPv6 relay reply (Relay-Reply) message, that is, a DHCPv6Advertise message, to the CP device. Correspondingly, the CP device receives the DHCPv6 Relay-Reply message sent by the DHCPv6 server.

[0170] The DHCPv6 Advertise message includes a network address allocated by the DHCPv6 server to the first client device.

[0171] The above steps S6 and S7 can be regarded as the Relay-Reply address stage of the embodiment.

[0172] S8. The CP device sends a DHCPv6 Advertise message to the UP device. Correspondingly, the UP device receives the DHCPv6 Advertise message sent by the CP device.

[0173] S9. The UP device sends a DHCPv6 Advertise message to the first client device. Accordingly, the first client device receives the DHCPv6 Advertise message sent by the UP device.

[0174] S10. The first client device selects one based on the received one or more DHCPv6 Advertise messages to make a request for IPv6 address information to be configured.

[0175] S11. The first client device sends a DHCPv6 Request message to the UP device. Correspondingly, the UP device receives the DHCPv6 Request message sent by the first client device.

[0176] S12: The UP device sends a DHCPv6 Request message to the CP device. Correspondingly, the CP device receives the DHCPv6 Request message sent by the UP device.

[0177] S13. The CP device sends a DHCPv6 Relay-Forward message, that is, a DHCPv6 Request message, to the DHCPv6 server. Correspondingly, the DHCPv6 server receives the DHCPv6 Relay-Forward message sent by the CP device.

[0178] S14. The DHCPv6 server sends a DHCPv6 Relay-Reply message, that is, a DHCPv6 Reply message, to the CP device. Correspondingly, the CP device receives the DHCPv6 Relay-Reply message sent by the DHCPv6 server.

[0179] S15. The CP device sends a DHCPv6 Reply message to the UP device. Correspondingly, the UP device receives the DHCPv6 Reply message sent by the CP device.

[0180] S16. The UP device sends a DHCPv6 Reply message to the first client device. Accordingly, the first client device receives the DHCPv6 Reply message sent by the UP device.

[0181] The address allocation method provided by the present application can carry the total number of the first user group and the MAC address and the first modulus value of the first client device in a message and upload it to the network configuration server, so that the network configuration server can perceive the information of the user plane, and then divide the network address based on the total number of the first user group, and allocate the network address to the first client device based on the first modulus value. In this way, the network configuration server can pre-divide the network address for the first user group of the UP device, so that the first user group of the UP device forms a binding relationship with the address segment in the address pool of the network configuration server. Since the user group identifiers in the same device are continuous, the network addresses allocated to the client devices of different user groups under the UP device based on the binding relationship are also distributed in the continuous address segments, which is conducive to routing aggregation and improves routing efficiency.

[0182] It can be seen that the above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to achieve the above functions, the embodiment of the present application provides a hardware structure and / or software module corresponding to each function. It should be easily appreciated by those skilled in the art that, in combination with the modules and algorithm steps of each example described in the embodiment disclosed herein, the embodiment of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.

[0183] The embodiment of the present application can divide the functional modules of the address allocation device according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. Optionally, the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0184] In some embodiments, the present application further provides an address allocation device, which may include one or more functional modules for implementing the address allocation method of the above method embodiment.

[0185] For example, Fig.11 FIG. 1 is a schematic diagram of the composition of an address allocation device 1100 provided in an embodiment of the present application. Fig.11 As shown, the address allocation device 1100 includes: a processing module 1101 and a communication module 1102 .

[0186] Processing module 1101 is used to send a first request message to the network configuration server through the first target user group of the first UP device in response to receiving a network address acquisition request from the first client device; wherein the first request message includes the total number of first user groups included in the M UP devices, the MAC address of the first client device and the first modulus value, and the first modulus value is used to indicate the position of the first target user group in the user groups included in the M UP devices; the first request message is used to request the network configuration server to divide the network address based on the total number of first user groups included in the M UP devices, and allocate a network address to the first client device based on the first modulus value.

[0187] The communication module 1102 is used to receive a first response message sent by the network configuration server, and send the first response message to the first client device through the first UP device; the first response message includes a network address allocated by the network configuration server to the first client device.

[0188] In some embodiments, the network address acquisition request includes a MAC address of the first client device.

[0189] Processing module 1101 is specifically used to perform a modulus operation based on the MAC address of the first client device and the total number of first user groups included in M ​​UP devices to obtain a first modulus value; based on the first modulus value, assign a first target user group to the first client device, the first target user group is the user group in the first UP device, and the index value of the first target user group is the same as the first modulus value; encapsulate the first modulus value and the total number of first user groups included in the M UP devices in a network address acquisition request to obtain a first request message; and send the first request message to the network configuration server through the first target user group of the first UP device.

[0190] In some other embodiments, the number of first user groups included in each of the M UP devices satisfies the following relationship: the number of first user groups included in each UP device is the same; the number of first user groups included in each UP device is an integer multiple of M-1.

[0191] In some other embodiments, the first user group is divided based on a physical interface on the UP device.

[0192] In other embodiments, the network address is an IPv6 address.

[0193] In some other embodiments, the first request message is a DHCPv6 message, the MAC address and the first modulus value of the first client device are encapsulated in the first option field of the first request message, and the total number of the first user groups included in the M UP devices is encapsulated in the second option field of the first request message.

[0194] In some other embodiments, the user group on the UP device is increased by multiple second user groups based on the original first user group.

[0195] The processing module 1101 is also used to send a second request message to the network configuration server through the second target user group of the second UP device in response to receiving a network address acquisition request from the second client device; wherein the second target user group is any one of the multiple first user groups included in the second UP device, or the second target user group is any one of the multiple second user groups included in the second UP device; the second request message includes the total number of the first user groups and the second user groups included in the M UP devices, the MAC address of the second client device and the second modulus value, and the second modulus value is used to indicate the position of the second target user group in the user groups included in the M UP devices; the second request message is used to request the network configuration server to additionally divide multiple network addresses based on the total number of the first user group and the second user group, and allocate a network address to the second client device based on the second modulus value.

[0196] The communication module 1102 is further configured to receive a second response message sent by the network configuration server, and send the second response message to the second client device through the second UP device; the second response message includes a network address allocated by the network configuration server to the second client device.

[0197] Fig.12 FIG. 1 is a schematic diagram of another address allocation device 1200 provided in an embodiment of the present application. Fig.12 As shown, the address allocation device 1200 includes: a communication module 1201 and an allocation module 1202 .

[0198] The communication module 1201 is used to receive a first request message sent by a CP device, where the first request message includes the total number of multiple first user groups included in the M UP devices controlled by the CP device, the MAC address of the first client device, and a first modulus value, where the first modulus value is used to indicate the position of the first target user group in the user groups included in the M UP devices; the first target user group is a user group assigned by the CP device to the first client device.

[0199] The allocation module 1202 is configured to divide the network addresses based on the total number of the first user groups included in the M UP devices; and allocate a network address to the first client from the divided network addresses based on the first module value.

[0200] The communication module 1201 is further configured to send a first response message to the CP device, where the first response message includes a network address allocated by the network configuration server to the first client device.

[0201] In some embodiments, the allocation module 1201 is also used to perform a modulus operation based on the MAC address of the first client device and the total number of the first user group, and compare the result of the modulus operation with the first modulus to perform message verification; based on the first modulus, a network address is allocated to the first client from the divided network addresses, including: the allocation module 1201 is specifically used to allocate a network address to the first client from the divided network addresses based on the first modulus when the verification is passed.

[0202] In other embodiments, the allocation module 1201 is specifically used to divide the network address segments based on the total number of first user groups included in the M UP devices, and the number of the multiple network address segments is the same as the total number of first user groups; and allocate the network address segments with the same index value as the first module value in the multiple network address segments to the first client device.

[0203] In other embodiments, the communication module 1201 is also used to receive a second request message sent by the CP device, the second request message includes the total number of multiple first user groups and multiple second user groups included in the M UP devices, the MAC address of the second client device and the second modulus value, the second modulus value is used to indicate the position of the second target user group in the user groups included in the M UP devices; the second user group is a user group added by the UP device on the basis of the first user group; the second target user group is the user group assigned to the second client device by the CP device.

[0204] The allocation module 1202 is further configured to divide a plurality of network addresses based on the number of the plurality of second user groups, and allocate a network address to the second client device based on the second module value.

[0205] The communication module 1201 is further configured to send a second response message to the CP device, where the second response message includes a network address allocated by the network configuration server to the second client device.

[0206] In the case of implementing the functions of the above-mentioned integrated modules in the form of hardware, the embodiment of the present invention provides a possible structural diagram of the electronic device involved in the above-mentioned embodiment. Fig.13 As shown, the electronic device 1300 includes: a processor 1302 , a communication interface 1303 , and a bus 1304 . Optionally, the electronic device 1300 may further include a memory 1301 .

[0207] The processor 1302 may be a processor that implements or executes various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of the present application. The processor 1302 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of the present application. The processor 1302 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.

[0208] The communication interface 1303 is used to connect with other devices via a communication network, such as Ethernet, wireless access network, wireless local area network (WLAN), etc.

[0209] The memory 1301 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.

[0210] As a possible implementation, the memory 1301 may exist independently of the processor 1302, and the memory 1301 may be connected to the processor 1302 via a bus 1304 to store instructions or program codes. When the processor 1302 calls and executes the instructions or program codes stored in the memory 1301, the address allocation method provided in the embodiment of the present invention can be implemented.

[0211] In another possible implementation, the memory 1301 may also be integrated with the processor 1302 .

[0212] The bus 1304 may be an extended industry standard architecture (EISA) bus, etc. The bus 1304 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.13 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0213] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the service calling device can be divided into different functional modules to complete all or part of the functions described above.

[0214] The embodiment of the present application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be completed by computer instructions to instruct the relevant hardware, and the program can be stored in the above computer-readable storage medium. When the program is executed, it may include the processes of the above method embodiments. The computer-readable storage medium can be the memory or memory of any of the above embodiments. The above computer-readable storage medium can also be an external storage device of the above service calling device, such as a plug-in hard disk, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. equipped on the above service calling device. Further, the above computer-readable storage medium can also include both the internal storage unit of the above service calling device and an external storage device. The above computer-readable storage medium is used to store the above computer program and other programs and data required by the above service calling device. The above computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.

[0215] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program product is run on a computer, the computer is enabled to execute any one of the address allocation methods provided in the above embodiments.

[0216] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. An address allocation method, characterized in that: The CP device applied to the broadband access system controls M UP devices, each of which includes multiple first user groups; the method includes: In response to receiving a network address acquisition request from a first client device, a first request message is sent to a network configuration server through a first target user group of a first UP device; wherein the first request message includes the total number of the first user groups included in the M UP devices, the MAC address of the first client device, and a first modulus value, and the first modulus value is used to indicate the position of the first target user group in the user groups included in the M UP devices; the first request message is used to request the network configuration server to divide the network address based on the total number of the first user groups included in the M UP devices, and to allocate a network address to the first client device based on the first modulus value; A first response message sent by the network configuration server is received, and the first response message is sent to the first client device through the first UP device; the first response message includes a network address allocated by the network configuration server to the first client device.

2. The method according to claim 1, characterized in that The network address acquisition request includes the MAC address of the first client device; and in response to receiving the network address acquisition request of the first client device, sending a first request message to the network configuration server through the first target user group of the first UP device, including: Performing a modulus operation based on the MAC address of the first client device and the total number of the first user groups included in the M UP devices to obtain a first modulus value; Based on the first modulus value, assigning a first target user group to the first client device, where the first target user group is a user group in the first UP device, and an index value of the first target user group is the same as the first modulus value; Encapsulating the first modulus value and the total number of the first user groups included in the M UP devices in the network address acquisition request to obtain the first request message; The first request message is sent to a network configuration server through the first target user group of the first UP device.

3. The method according to claim 1, characterized in that The number of first user groups included in each of the M UP devices satisfies the following relationship: The number of first user groups included in each of the UP devices is the same; The number of the first user groups included in each of the UP devices is an integer multiple of M-1.

4. The method according to claim 1, characterized in that: The first user group is divided based on a physical interface on the UP device.

5. The method according to claim 1, characterized in that The network address is an IPv6 address.

6. The method according to claim 1, characterized in that The first request message is a DHCPv6 message, the MAC address and the first modulus value of the first client device are encapsulated in a first option field of the first request message, and the total number of the first user groups included in the M UP devices is encapsulated in a second option field of the first request message.

7. The method according to claim 1, characterized in that The user group on the UP device adds multiple second user groups on the basis of the original first user group; the method further includes: In response to receiving a network address acquisition request from a second client device, sending a second request message to a network configuration server through a second target user group of a second UP device; wherein the second request message includes the total number of the first user group and the second user group included in the M UP devices, the MAC address of the second client device and a second modulus value, and the second modulus value is used to indicate the position of the second target user group in the user groups included in the M UP devices; the second request message is used to request the network configuration server to further divide a plurality of network addresses based on the total number of the first user group and the second user group, and to allocate a network address to the second client device based on the second modulus value; A second response message sent by the network configuration server is received, and the second response message is sent to the second client device through the second UP device; the second response message includes a network address allocated by the network configuration server to the second client device.

8. An address allocation method, characterized in that: Applied to a network configuration server, the method comprises: receiving a first request message sent by a CP device, where the first request message includes the total number of multiple first user groups included in the M UP devices controlled by the CP device, a MAC address of a first client device, and a first modulus value, where the first modulus value is used to indicate a position of a first target user group in the user groups included in the M UP devices; the first target user group is a user group assigned by the CP device to the first client device; dividing the network addresses based on the total number of the first user groups included in the M UP devices; Based on the first modulus value, allocating a network address to the first client from the divided network addresses; A first response message is sent to the CP device, where the first response message includes a network address allocated by the network configuration server to the first client device.

9. The method according to claim 8, characterized in that The method further comprises: Performing a modulus operation based on the MAC address of the first client device and the total number of the first user group, and comparing a result of the modulus operation with the first modulus to perform message verification; The allocating a network address to the first client from the divided network addresses based on the first modulus value includes: If the verification is successful, a network address is allocated to the first client from the divided network addresses based on the first module value.

10. The method according to claim 8, characterized in that The dividing the network addresses based on the total number of the first user groups included in the M UP devices includes: Divide a plurality of network address segments based on the total number of the first user groups included in the M UP devices, where the number of the plurality of network address segments is the same as the total number of the first user groups; The allocating a network address to the first client from the divided network addresses based on the first modulus value includes: Allocate a network address segment having an index value identical to the first modulus value among the multiple network address segments to the first client device.

11. The method according to claim 8, characterized in that The method further comprises: Receive a second request message sent by a CP device, where the second request message includes the total number of the first user groups and the second user groups included in the M UP devices, the MAC address of the second client device and the second modulus value, where the second modulus value is used to indicate the position of the second target user group in the user groups included in the M UP devices; the second user group is a user group added by the UP device on the basis of the first user group; and the second target user group is a user group allocated by the CP device to the second client device; Further dividing a plurality of network addresses based on the number of the plurality of second user groups; assigning a network address to the second client device based on the second modulus value; A second response message is sent to the CP device, where the second response message includes a network address allocated by the network configuration server to the second client device.

12. An electronic device, characterized in that: The invention comprises a processor and a memory, wherein the processor is coupled to the memory; the memory is used to store computer instructions, and the computer instructions are loaded and executed by the processor to enable a computer device to implement the address allocation method according to any one of claims 1 to 11.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes computer-executable instructions. When the computer-executable instructions are executed on a computer, the computer is enabled to execute the address allocation method according to any one of claims 1 to 11.

14. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is run on an electronic device, the electronic device is enabled to perform the address allocation method according to any one of claims 1 to 11.