Method, apparatus, device, system and storage medium for address allocation

CN115225611BActive Publication Date: 2026-09-25HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110414393.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-16
Publication Date
2026-09-25
Estimated Expiration
2041-04-16

AI Technical Summary

Technical Problem

[0004]但是,采用不同的物理接口来区分不同区域的用户端设备,在分配特定区域的地址时需要先确定接口才能确定用户端设备的区域位置信息,使得地址分配的效率不高

Benefits of technology

[0034]应当理解的是,本申请实施例的第三方面至第十方面技术方案及对应的可能的实施方式所取得的有益效果可以参见上述对第一方面至第二方面及其对应的可能的实施方式的技术效果,此处不再赘述。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115225611B_ABST
    Figure CN115225611B_ABST
Patent Text Reader

Abstract

The application provides a method, device, equipment, system and storage medium for address allocation, and belongs to the technical field of communication. The method comprises the following steps: receiving a first dialing request message sent by at least one user plane (UP) device; determining an IP address pool corresponding to a user terminal device according to regional location information of the user terminal device included in the first dialing request message, wherein the IP address pool comprises a sub-address pool corresponding to the at least one UP device; and allocating an IP address in the sub-address pool corresponding to a target UP device in the IP address pool to the user terminal device. According to the method, the regional location information of the user terminal device is directly obtained through the dialing request message, the allocation efficiency of the IP address allocation according to a specific region is improved, for the UP device of the user terminal device accessing different regions through the same interface, the service loads of different regions can be converged and balanced, the utilization rate of the interface is improved, and the utilization rate of the UP device is further improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a method, apparatus, device, system and storage medium for address allocation. Background Technology

[0002] A broadband network gateway (BNG), as a traditional broadband access gateway device, decouples the control plane and forwarding plane based on software-defined networking (SDN) and network function virtualization (NFV) technologies. The control plane can manage multiple forwarding planes and schedule users, traffic, and resources among them. A BNG includes a control plane (CP) device and multiple user plane (UP) devices, with user devices accessing the network through the UP devices.

[0003] In related technologies, multiple UP devices are deployed in a centralized, pooled manner using a broadband network gateway user plane (BNG-UP) architecture, forming a pool. Different physical interfaces are used to distinguish user-end devices in different areas. This allows user-end devices in specific areas to be assigned specific Internet Protocol version 6 (IPv6) address ranges, enabling the location of user-end devices to be traced based on their IPv6 addresses, facilitating network management and maintenance.

[0004] However, using different physical interfaces to distinguish user-end devices in different regions requires determining the interface first to ascertain the user-end device's location information when allocating addresses for a specific region, resulting in low address allocation efficiency. Furthermore, the physical interfaces on the UP device correspond one-to-one with the region, and the physical interfaces of BNG-UP high-mounted centralized pooling deployments typically use high-speed 100 Gigabit Ethernet (GE) interfaces, leading to low interface utilization and consequently reducing the utilization rate of the UP device. Summary of the Invention

[0005] This application provides a method, apparatus, device, system, and storage medium for address allocation to solve the problems provided by related technologies. The technical solution is as follows:

[0006] Firstly, a method for address allocation is provided. Taking a CP device executing the method as an example, the method includes: receiving a first dial-up request message sent by at least one UP device, the first dial-up request message including the regional location information of a user terminal device; the CP device determining an Internet Protocol (IP) address pool corresponding to the user terminal device based on the regional location information of the user terminal device included in the first dial-up request message, the IP address pool including a sub-address pool corresponding to at least one UP device; and the CP device allocating IP addresses from the sub-address pool corresponding to a target UP device in the IP address pool to the user terminal device, the target UP device being the UP device among the at least one UP devices used to respond to the first dial-up request message.

[0007] By directly obtaining the regional location information of the user terminal device through dial-up request messages, and then determining the corresponding IP address pool for the user terminal device based on the regional location information, the allocation efficiency of IP addresses based on specific regions is improved. For UP devices that connect to user terminal devices in different regions through the same interface, the service load in different regions can be aggregated and balanced, improving the utilization of the interface, and thus improving the utilization of the UP device.

[0008] In one possible implementation, determining the Internet Protocol (IP) address pool corresponding to the user terminal device based on the regional location information of the user terminal device included in the first dial-up request message includes: determining the IP address pool corresponding to the user terminal device from the correspondence between regional location information and IP address pools based on the regional location information of the user terminal device included in the first dial-up request message.

[0009] In one possible implementation, allocating the IP address in the sub-address pool corresponding to the target UP device from the IP address pool to the user terminal device includes: determining the sub-address pool corresponding to the target UP device from the IP address pool; and allocating the IP address in the sub-address pool corresponding to the target UP device to the user terminal device.

[0010] Assigning specific addresses to user devices by using the sub-address pool corresponding to the target UP device facilitates network management and maintenance.

[0011] In one possible implementation, before allocating the IP address in the sub-address pool corresponding to the target UP device in the IP address pool to the user terminal device, the method further includes: splitting the IP address pool into multiple sub-address pools; and allocating the multiple sub-address pools to the at least one UP device.

[0012] In one possible implementation, after allocating the plurality of sub-address pools to the at least one UP device, the method further includes: reclaiming any sub-address pool in response to any of the plurality of sub-address pools being in an idle state.

[0013] By dynamically allocating the IP address pool to different UP devices and reclaiming idle sub-address pools, the utilization rate of the IP address pool is increased.

[0014] In one possible implementation, the communication system further includes an access network (AN) device; the regional location information of the user terminal device included in the first dial request message is obtained by adding the AN device.

[0015] In one possible implementation, the first dialing request message includes a tag field or an OPTION82 field, which is used to carry the regional location information of the user terminal device.

[0016] In one possible implementation, the regional location information is a code indicating the location of the user terminal device.

[0017] In one possible implementation, the AN device is a metropolitan area edge router (MER); based on the fact that the MER and the user terminal device belong to the same area, the area location information is the location information of the area where the MER is located; or, based on the fact that the MER and the user terminal device do not belong to the same area, the area location information is the interface information between the MER and the OLT or SW.

[0018] Secondly, a method for address allocation is provided. Taking an access network AN device as an example, the method includes: receiving a second dial-up request message sent by a user terminal device; adding the area location information of the user terminal device to the second dial-up request message to obtain a first dial-up request message; sending the first dial-up request message to at least one UP device, which then sends the first dial-up request message to a CP device, which is used to perform address allocation based on the first dial-up request message.

[0019] In one possible implementation, the first dialing request message includes a tag field or an OPTION82 field, which is used to carry the regional location information of the user terminal device.

[0020] In one possible implementation, the regional location information is a code indicating the location of the user terminal device.

[0021] In one possible implementation, the AN device includes any one of an optical line terminal (OLT), a switch (SW), or a metropolitan area edge router (MER).

[0022] In one possible implementation, the AN device includes a MER; adding the regional location information of the user terminal device to the second dialing request message includes: in response to the MER and the user terminal device belonging to the same region, adding the regional location information of the user terminal device to the second dialing request message based on device granularity, where the device granularity is distinguished by the MER; in response to the MER and the user terminal device not belonging to the same region, adding the regional location information of the user terminal device to the second dialing request message based on interface granularity, where the interface granularity is distinguished by the interface between the MER and the OLT or SW. Using different granularities to distinguish regional locations according to different situations makes this method more flexible.

[0023] Thirdly, an address allocation apparatus is provided for performing the method in the first aspect or any possible implementation thereof. Specifically, the address allocation apparatus includes units for performing the method in the first aspect or any possible implementation thereof.

[0024] Fourthly, an address allocation apparatus is provided for performing the method in the first aspect or any possible implementation thereof. Specifically, the address allocation apparatus includes units for performing the method in the second aspect or any possible implementation thereof.

[0025] Fifthly, an address allocation device is provided, comprising: a memory and a processor, wherein the memory stores at least one instruction, the at least one instruction being loaded and executed by the processor to implement the address allocation method as described above.

[0026] As an exemplary embodiment, the processor may be one or more, and the memory may be one or more.

[0027] As an exemplary embodiment, the memory may be integrated with the processor, or the memory may be disposed separately from the processor.

[0028] In specific implementation, the memory can be a non-transitory memory, such as read-only memory (ROM), which can be integrated with the processor on the same chip or set on different chips. The embodiments of this application do not limit the type of memory or the way the memory and processor are set.

[0029] In a sixth aspect, an address allocation system is provided, the address allocation system including an access network (AN) device, a network connection (CP) device, and a user plane (UP) device; the CP device is used to execute any of the methods described in the first aspect; the AN device is used to execute any of the methods described in the second aspect.

[0030] In a seventh aspect, a computer-readable storage medium is provided, the storage medium storing at least one instruction, the instruction being loaded and executed by a processor to implement the address allocation method as described above.

[0031] Eighthly, a computer program (product) is provided, the computer program (product) comprising: computer program code, which, when executed by a computer, causes the computer to perform the methods described in the preceding aspects.

[0032] In a ninth aspect, a chip is provided, including a processor for retrieving and executing instructions stored in a memory, such that an address allocation device on which the chip is mounted performs the methods of the preceding aspects.

[0033] In a tenth aspect, another chip is provided, comprising: an input interface, an output interface, a processor, and a memory, wherein the input interface, the output interface, the processor, and the memory are connected via an internal connection path, and the processor is used to execute code in the memory, wherein when the code is executed, the processor is used to perform the methods in the foregoing aspects.

[0034] It should be understood that the beneficial effects achieved by the third to tenth aspects of the technical solutions and their corresponding possible implementations in the embodiments of this application can be referred to the above-described technical effects of the first to second aspects and their corresponding possible implementations, and will not be repeated here. Attached Figure Description

[0035] Figure 1 This is a network topology diagram provided in an embodiment of this application;

[0036] Figure 2 This is an interactive schematic diagram of an address allocation method provided in an embodiment of this application;

[0037] Figure 3 This is an interactive schematic diagram of another address allocation method provided in an embodiment of this application;

[0038] Figure 4 This is another network topology diagram provided in an embodiment of this application;

[0039] Figure 5 This is a schematic diagram of the structure of an address allocation device provided in an embodiment of this application;

[0040] Figure 6 This is a schematic diagram of the structure of an address allocation device provided in an embodiment of this application;

[0041] Figure 7 This is a schematic diagram of the structure of an address allocation device provided in an embodiment of this application;

[0042] Figure 8 This is a schematic diagram of the structure of an address allocation device provided in an embodiment of this application;

[0043] Figure 9 This is a schematic diagram of the structure of an address allocation device provided in an embodiment of this application. Detailed Implementation

[0044] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0045] With the decoupling of control and forwarding, and software and hardware, achieved by BNG devices based on SDN / NFV architecture, the Virtual Broadband Network Gateway (vBNG) has emerged. This vBNG includes a Virtual Broadband Network Gateway Control Plane (vBNG-CP) device and a Virtual Broadband Network Gateway User Plane (vBNG-UP) device. The vBNG-CP device can manage multiple vBNG-UP devices, scheduling users, traffic, and resources among them. Compared to a single device, the utilization and reliability of the device are significantly improved.

[0046] In this embodiment, the vBNG-CP device can also be simply referred to as a CP device, and the vBNG-UP device can also be simply referred to as a UP device. There are three interfaces between the vBNG-CP device and the vBNG-UP device:

[0047] PRi: Service Interface. The vBNG-UP device receives user access protocol messages and encapsulates and sends them to the vBNG-CP device for processing through this interface. Mi: Management Interface. The vBNG-CP device uses this interface to send configurations to the vBNG-UP device, and the vBNG-UP device uses this interface to report some operating statuses. SCi: Control Interface. The vBNG-CP device processes user access protocol messages, completes protocol interaction with the user, and after the user comes online, the vBNG-CP device sends user entries to the corresponding vBNG-UP device through this interface.

[0048] BNG-CP devices, as virtual network function (VNF) devices, can run on x86 servers to achieve virtualization. BNG-UP devices exist in two forms: one is a virtual UP device (vUP device), which can run on x86 servers; the other is a physical UP device (pUP device), such as a traditional hardware address allocation device.

[0049] Since the vBNG-CP device can manage many vBNG-UP devices, and users are managed uniformly on the vBNG-CP device, users can be flexibly scheduled among vBNG-UP devices based on the number of user sessions and traffic load.

[0050] like Figure 1 In the network shown, the BNG-UP pool (pool) Figure 1 (Taking UP devices 1, 2, and 3 as examples) can be distributed at the network edge or at a relatively high position in the network. For instance, the CP device can control user devices to access UP device 1 in the BNG-UP pool through a load balancing algorithm, send user entry information to UP device 1, and allocate addresses to user devices using the address allocation method provided in this embodiment. The user devices then access the network through these addresses to forward data packets. Correspondingly, UP device 1 can receive user entry information sent by the CP device, and after receiving data packets sent by user devices forwarded by the AN device, it forwards the data packets according to the received user entry information.

[0051] like Figure 1As shown, the access network (AN) device includes an optical line termination (OLT) and / or a switch (SW). When the AN device includes both an OLT and a SW, the OLT can communicate with both the user terminal device and the SW. For example, the OLT can receive dial-up request messages and data packets sent by the user terminal device and forward the received messages to the SW. Additionally, the OLT can receive information returned by the SW and forward the received information to the user terminal device. The AN device is used for forwarding Layer 2 packets and isolates the user terminal device using a virtual local area network (VLAN) or dual VLAN (802.1Q in 802.1Q, QinQ), with each user having a dedicated VLAN / QinQ. QinQ refers to two VLAN identifiers, such as a service-side VLAN (SVLAN) + a customer-side VLAN (CVLAN). QinQ is also called a stacked VLAN or double VLAN.

[0052] like Figure 1 As shown, the AN device also includes a metro edge router (MER). Multiple MERs establish Layer 2 tunnels for communication. The MERs forward packets sent by user devices to the UP device pool, serving the functions of service connectivity and route convergence. These Layer 2 tunnels can be any of the following: VLAN, Virtual Leased Line (VLL), Virtual Private LAN Service (VPLS), or Virtual Extensible Local Area Network (VxLAN).

[0053] To address this, embodiments of this application provide a method for address allocation. Combined with... Figure 1 For the network topology shown, please refer to [link / reference]. Figure 2 The method provided in this application includes the following steps.

[0054] 201. The AN device receives the second dial-up request message sent by the user terminal device, adds the user terminal device's regional location information to the second dial-up request message, and obtains the first dial-up request message.

[0055] In this context, the user-end device can be a smartphone, desktop computer, laptop, tablet, or other user device directly connected to the AN device. Alternatively, the user-end device can refer to a residential gateway (RGW). When the user-end device is an RGW, the RGW can connect to multiple devices such as smartphones, desktop computers, and laptops, all of which access the RGW. In this case, the RGW can perform Network Address Translation (NAT) for the connected devices. Furthermore, the RGW can communicate with the AN device, using Point-to-Point Protocol over Ethernet (PPPoE), Internet Protocol over Ethernet (IPoE), or Dynamic Host Configuration Protocol (DHCP) dialing to obtain an IP address from the BNG and then access the BNG based on the obtained IP address. Thus, once the RGW is connected to the BNG, devices connected to the RGW can access the BNG through the RGW and thus perform network access.

[0056] This application does not limit the method by which the user terminal device makes a dialing request. For example, the dialing request can be a PPPoE dialing request or a DHCP dialing request. Specifically, when the user terminal device dials using PPPoE, the second dialing request message sent by the user terminal device is a PPPoE active discovery initiation (PADI) message; when dialing using DHCP, the second dialing request message sent by the user terminal device is a DHCP discovery message.

[0057] Next, we will use PPPoE dialing as an example for explanation. When the user terminal device comes online, it sends a PADI message, i.e., the second dialing request message, to the AN device. The AN device receives the PADI message and adds the user terminal device's regional location information to the PADI message, resulting in a PADI message with added regional location information, i.e., the first dialing request message.

[0058] In one possible implementation, after receiving the second dialing request message, the AN device may add the user device's regional location information to the second dialing request message in ways including, but not limited to, adding a tag field or an option 82 field to the second dialing request message, using the tag field or option 82 field to carry the regional location information. That is, the first dialing request message includes a tag field or an option 82 field, which is used to carry the user device's regional location information.

[0059] For example, after receiving the PADI message, the AN device adds the user terminal device's regional location information to the PADI message, including adding a tag field to the PADI message to carry the regional location information. This application embodiment does not limit the content of the regional location information, as long as it indicates the regional location of the user terminal device. For example, the regional location information of the user terminal device includes a code indicating the regional location of the user terminal device.

[0060] Optionally, the AN device may also add other information to the PADI message, such as the identification information of the access line when the user terminal device accesses the network. The identification information of the access line includes the AN device's device identifier and the port information of the port connected to the user terminal device.

[0061] In this embodiment, the AN device includes any one of OLT, SW, or MER. For example, taking an AN device including an OLT, the OLT can add the user terminal equipment's regional location information and access line identification information to the tag field. The access line identification information may include the OLT's device identifier, the port information of the port connected to the user terminal equipment, and the identifier of the Optical Network Unit (ONU) to which the OLT belongs. This tag field is then carried in the PADI message. In this case, the PADI message carries the user terminal equipment's regional location information and access line identification information.

[0062] Optionally, the tag field of the PADI message, carrying the regional location information of the user terminal equipment and the identification information of the access line, is formatted as: 025001 / OLTID / ANI_frame / ANI_slot / ANI_subslot / ANI_port / ONU_ID. Here, 025001 represents the regional location information of the user terminal equipment, OLTID is the device identifier of the OLT, ANI_frame is the frame identifier of the OLT, ANI_slot is the slot identifier of the OLT, ANI_subslot is the subslot identifier of the OLT, ANI_port is the port in the OLT that connects to the user terminal equipment, and ONU_ID is the identifier of the ONU to which the OLT belongs. Optionally, the frame identifier of the OLT can be the OLT chassis number, the slot identifier of the OLT can be the OLT slot number, and the subslot identifier of the OLT can be the OLT subslot number.

[0063] In one possible implementation, this application does not limit the representation of regional location information, as long as it can represent different regional location information. For example, 025001 can be used as a representation of the regional location information of a user terminal device, where 025 represents a city code, such as Nanjing City, and 001 represents a district / county, such as District A. Optionally, the regional location information of the user terminal device can also adopt other representations, such as NJ_GL, where NJ represents a city code, such as Nanjing City, and GL represents a district / county, such as District A.

[0064] In one possible implementation, the AN device includes a MER, which adds the regional location information of the user terminal device to the second dial-up request message. For the MER, due to the different locations of the MER devices, the form in which the MER adds the regional location information includes the following two cases.

[0065] Scenario 1: The MER and the user terminal device belong to the same region.

[0066] In this case, in response to the fact that the MER and the user terminal device belong to the same region, the regional location information of the user terminal device is added to the second dial request message based on the device granularity, which is to distinguish the regional location by the MER.

[0067] In this scenario, the MER and the user terminal device belong to the same region. For example, the user terminal device is located in Area A of Nanjing City, and the MER's region location is also set to Area A of Nanjing City. In this case, the MER only receives second dial-up request packets sent by user terminal devices belonging to Area A of Nanjing City. That is, all user terminal devices in Area A of Nanjing City send their second dial-up request packets to the MER. Therefore, different MER devices can distinguish user terminal devices from different regions, and the MER can add region location information at the device level. For example, since the MER and the user terminal device belong to the same region, the user terminal device's region location information is the information of the MER's region location; for example, the MER's region location information can use the code of the MER's region location.

[0068] Scenario 2: The MER and the user terminal device are not in the same region.

[0069] In this second scenario, in response to the fact that the MER and the user terminal device do not belong to the same region, the regional location information of the user terminal device is added to the second dialing request message based on the interface granularity. This interface granularity is to distinguish the regional location through the interface between the MER and the OLT or SW.

[0070] In scenario two, the MER and the user terminal device do not belong to the same region. For example, the user terminal device is located in Area A of Nanjing City, and the MER is set to the region of Nanjing City. In this case, the MER is set at a higher level, and there is only one MER per city. User terminal devices in all areas of that city will send their second dial-up request messages to this MER. That is, the MER receives second dial-up request messages sent by all user terminal devices belonging to Nanjing City. To further distinguish user terminal devices in different regions, it is necessary to use different interfaces between the MER and the OLT or SW to differentiate between user terminal devices in different regions. In scenario two, the MER includes multiple interfaces with the OLT or SW, each interface corresponding to a different region. Different region locations can be distinguished by differentiating the second dial-up request messages received by different interfaces. In this case, the MER adds region location information based on interface granularity. For example, since the MER and the user terminal device do not belong to the same region, the region location information is the information of the interface between the MER and the OLT or SW. The OLT or SW is the device accessed by the user terminal device.

[0071] 202. The AN device sends the first dial request message to at least one UP device, which then sends the first dial request message to the CP device.

[0072] In one possible implementation, the AN device broadcasts the received first dial request message to at least one UP device. After receiving the first dial request message, the at least one UP device reports the first dial request message to the CP device.

[0073] This application does not limit the connection method between the UP device and AN devices in different regions. Any UP device can be connected to AN devices in different regions using different interfaces or using the same interface. When any UP device is connected to AN devices in different regions using the same interface, the service load of different regions can be balanced, and only one high-speed interface is needed, effectively improving the utilization of the interface and thus improving the utilization of the U device.

[0074] Since the physical interfaces of BNG-UP high-bandwidth centralized pooling deployments generally use 100GE high-speed interfaces, if the UP device and AN devices in different regions use the same interface for connection, there is no need to occupy other high-speed interfaces. The saved interfaces can be used to connect other services, improving the utilization rate of the interfaces and thus improving the utilization rate of the UP device.

[0075] 203. The CP device receives a first dial-up request message sent by at least one UP device. Based on the regional location information of the user terminal device included in the first dial-up request message, the CP device determines the IP address pool corresponding to the user terminal device and allocates the IP address in the sub-address pool corresponding to the target UP device to the user terminal device. The target UP device is the UP device among the at least one UP device that responds to the first dial-up request message.

[0076] In one possible implementation, after receiving a first dial-up request message from at least one UP device, the CP device selects one of the at least one UP devices as the target UP device and responds to the first dial-up request message through that target UP device. This application embodiment does not limit the method for selecting the target UP device; for example, the target UP device can be selected based on a session load balancing algorithm, that is, selecting the UP device with the lightest load among the at least one UP devices as the target UP device. Furthermore, the CP device parses the first dial-up request message to obtain the regional location information of the user terminal device included in the first dial-up request message, and determines the IP address pool corresponding to the user terminal device based on this regional location information.

[0077] In one possible implementation, determining the IP address pool corresponding to the user terminal device based on the regional location information of the user terminal device included in the first dial-up request message includes: determining the IP address pool corresponding to the user terminal device from the correspondence between regional location information and IP address pools based on the regional location information of the user terminal device included in the first dial-up request message. In this way, the IP address pool corresponding to the user terminal device can be determined directly through the regional location information of the user terminal device included in the first dial-up request message, which improves the efficiency of address allocation compared to determining the regional location information of the user terminal device by determining the interface information receiving the first dial-up request message, and then determining the IP address pool corresponding to the user terminal device.

[0078] In one possible implementation, the CP device stores a mapping between regional location information and IP address pools. In this case, after the CP device determines the target UP device based on session load balancing, it can obtain the IP address pool corresponding to the user terminal device from the mapping between regional location information and IP address pools already stored in the CP device. This application does not limit the manner in which the CP device stores the mapping between regional location information and IP address pools.

[0079] Optionally, the correspondence between area location information and IP address pools can be represented as: IPv6 pool 1 nanjing permit area code 025001, IPv6 pool 2 nanjing permit area code 025002, etc. Here, IPv6 pool 1 nanjing is the name of an IP address pool, and the code corresponding to this IP address pool for indicating the area location is 025001. In this embodiment, 025001 can refer to Area A of Nanjing City. Similarly, IPv6 pool 2 nanjing is another IP address pool name, and the code corresponding to this IP address pool for indicating the area location is 025002. In this embodiment, 025002 can refer to Area B of Nanjing City.

[0080] Optionally, the correspondence between area location information and IP address pools can also be stored using fuzzy matching. For example, the correspondence between area location information and IP address pools could be: IPv6 pool 1nanjing permit areacode 025*. Here, IPv6 pool 1nanjing is the name of the IP address pool, and the code corresponding to this IP address pool for indicating area location is 025*. 025* includes all codes starting with 025, which in this embodiment refers to all areas of Nanjing City. Thus, the IP address pool corresponding to all area location codes of Nanjing City is IPv6 pool 1nanjing.

[0081] In one possible implementation, before the CP device assigns the IP address in the sub-address pool corresponding to the target UP device in the IP address pool to the user terminal device, the CP device further includes: splitting the IP address pool into multiple sub-address pools; and assigning the multiple sub-address pools to at least one UP device.

[0082] In one possible implementation, the CP device divides the IP address pool corresponding to each region location information into multiple sub-address pools based on the stored correspondence between region location information and IP address pools. The sub-address pools can be of the same or different sizes, and then dynamically allocate these multiple sub-address pools to each UP device. For example, the BNG includes three UP devices: UP device 1, UP device 2, and UP device 3. The CP device divides the IP address pool corresponding to a certain region location information into three equal sub-address pools: sub-address pool 1, sub-address pool 2, and sub-address pool 3. Optionally, the CP device allocates sub-address pool 1 to UP device 1, sub-address pool 2 to UP device 2, and sub-address pool 3 to UP device 3.

[0083] In one possible implementation, the CP device dynamically allocates the multiple sub-address pools to each UP device by: in response to any sub-address pool being idle, the CP device reclaiming that sub-address pool. For example, since the CP device allocates sub-address pools dynamically, when the CP device detects that sub-address pool 1 allocated to UP device 1 is idle, it reclaims sub-address pool 1 and no longer allocates it to UP device 1. At this time, the reclaimed sub-address pool 1 can be allocated to another UP device that needs an address, such as UP device 2. This improves the utilization rate of the sub-address pools.

[0084] In one possible implementation, allocating the IP address corresponding to the target UP device in the IP address pool to the user terminal device includes: determining a sub-address pool corresponding to the target UP device in the IP address pool; and allocating the IP address in the sub-address pool corresponding to the target UP device to the user terminal device.

[0085] For example, if the CP device distributes the first dial-up request message to the UP device 1 with the lightest load according to session load balancing, and the code for indicating the area location in the first dial-up request message is 025001, then the CP device first determines the IP address pool corresponding to 025001 based on the correspondence between the area location information and the IP address pool. This IP address pool is IPv6 pool 1nanjing. The CP device then determines the sub-address pool 1 corresponding to UP device 1 in IPv6 pool 1nanjing, and then allocates the IP addresses in sub-address pool 1 to the user terminal device. This completes the address allocation, allowing the user terminal device to access the network based on the IP address. Furthermore, the allocated IP address allows the user terminal device to obtain its area location, facilitating network management and maintenance.

[0086] In one possible implementation, after receiving the first dial-up request message, the CP device returns a dial-up response message to the user device through the target UP device. This response message notifies the user device that it is permitted to establish a connection with the CP device. Taking PPPoE dialing as an example, the response message can be a PPPoE active discovery offer (PADO) message. After the user device receives the PADO message, the negotiation of the PPPoE discovery phase between the CP device and the user device is completed. Optionally, after the discovery phase is completed, the session negotiation phase begins. Only after the session negotiation phase is completed can the user device access the network based on the assigned IP address.

[0087] In one possible implementation, the session negotiation phase between the CP device and the user terminal device is based on the Remote Authentication Dial in User Service (RADIUS). For example, the BNG, acting as a RADIUS client, interacts with the RADIUS server to perform user authentication, accounting, and authorization.

[0088] In one possible implementation, the user terminal device sends a Link Control Protocol (LCP) negotiation request to the CP device via the AN device. This LCP negotiation request carries user information, which may include the user terminal device's username and password. Optionally, the CP device retrieves the user information from the LCP negotiation request and sends it along with an authentication request to the RADIUS server. Upon receiving the authentication request, the RADIUS server can authenticate the user terminal device based on the request. If authentication is successful, the RADIUS server can send authorization information, including but not limited to the user terminal device's Quality of Service (QoS) and Access Control List (ACL), along with other authorization information, to the CP device.

[0089] In one possible implementation, after the user terminal device completes session negotiation, the CP device can generate routing information for the user terminal device. Then, the CP device distributes user entries to the target UP devices accessed by the user terminal device. These user entries include, but are not limited to, the IP address assigned to the user terminal device by the CP device, the routing information of the user terminal device, and authorization information such as QoS and ACLs for the user terminal device. Optionally, the target UP device can generate user forwarding table entries based on this user entry information, simultaneously generate user routes, and advertise these user routes to other relevant devices. This allows the target UP device to forward data packets received from the user terminal device based on the user forwarding table entries and user routes.

[0090] Next, for ease of understanding, in Figure 2 Based on the interactive process shown, taking the user terminal device as RGW and the first dial-up request message as a PADI message or DHCP message as an example, the address allocation method is illustrated. The address allocation process is as follows: Figure 3 As shown, the steps include, but are not limited to, the following.

[0091] 301. The user sends a PADI / DHCP discover message to the AN device via RGW.

[0092] 302. The AN device inserts a tag field or OPTION82 into the PADI / DHCP discover message to add the area location information to the tag field or OPTION82.

[0093] 303. The AN device will broadcast a PADI / DHCP discover message with added area location information to both the UP1 and UP2 devices.

[0094] 304. Both UP1 and UP2 devices will send PADI / DHCP discover messages with added regional location information to the CP device.

[0095] 305. After receiving PADI / DHCP discover messages with added area location information from UP1 and UP2, the CP device selects to respond to the PADI / DHCP discover message sent by UP2 based on the session load. At the same time, it extracts the area location information added in the PADI / DHCP discover message, determines the IP address pool corresponding to the area location information, and allocates the IP addresses in the sub-address pool corresponding to UP2 in the IP address pool to the GW, thereby allocating addresses to users.

[0096] 306. The CP device sends a PADO / DHCP offer response message to the UP2 device.

[0097] 307. The UP2 device forwards the PADO / DHCP offer response message to the RGW.

[0098] 308. The RGW and CP devices enter the session negotiation phase to authenticate user information.

[0099] 309. After successful authentication, RGW forwards data traffic to the UP2 device based on the assigned address.

[0100] For ease of understanding, Figure 4 Taking the network topology diagram shown as an example, the address allocation method provided in this application embodiment will be illustrated. Figure 4As shown, the OLT / SW and MER are connected via a Layer 2 network, which is VLAN / QINQ. The OLT receives the user's dial-up request message and inserts a tag field or DHCP OPTION82 into the message, carrying the user's area location information. The OLT / SW then broadcasts the user's dial-up request message to the MER via the Layer 2 network. The MER establishes a Layer 2 tunnel with the UP devices via a spine device. The MER then sends the user's dial-up request message to all UP devices through this tunnel. The UP devices report the user's dial-up request message to the CP device via the PRi service interface. The CP device obtains the user's area location information from the received message, determines the corresponding IP address pool, and selects an IP address from the sub-address pool corresponding to the target UP device to allocate to the user. After the user obtains an IP address and accesses the network, the CP device forwards data packets through the user table entry sent to the target UP device, ultimately sending the data packets to the core router (CR).

[0101] The technical solution provided in this application can obtain the regional location information of the user terminal device through dial-up request messages, and then determine the IP address pool corresponding to the user terminal device based on the regional location information. IP addresses from the sub-address pool corresponding to the target UP are then allocated to the user terminal device, enabling the allocated IP addresses to distinguish users from different regions. Since it eliminates the need to determine the regional location information through the UP device's interface, the allocation efficiency of the address allocation is improved. Furthermore, it is applicable to scenarios where the same interface of the UP device connects to user terminal devices in different regions, allowing for the convergence and balancing of service loads in different regions, improving interface utilization, and consequently, improving the utilization of the UP device.

[0102] See Figure 5 This application provides an address allocation apparatus, which is applied to a CP device and is based on... Figure 5 The following modules are shown. Figure 5 The communication device shown is capable of performing Figure 2 or Figure 3 The illustrated CP device performs all or part of the operations. It should be understood that the device may include more additional modules than those shown, or may omit some of the modules shown; this application embodiment does not impose limitations in this regard. The device includes:

[0103] The receiving module 501 is used to receive a first dialing request message sent by at least one UP device, the first dialing request message including the regional location information of the user terminal device;

[0104] The determining module 502 is used to determine the Internet Protocol IP address pool corresponding to the user terminal device based on the regional location information of the user terminal device included in the first dial-up request message. The IP address pool includes addresses corresponding to at least one UP device.

[0105] The first allocation module 503 is used to allocate the IP address corresponding to the target UP device in the IP address pool to the user terminal device. The target UP device is at least one UP device used to respond to the first dial request message.

[0106] In one possible implementation, the determining module 502 is used to determine the target IP address pool corresponding to the user terminal device from the correspondence between the regional location information and the IP address pool based on the regional location information of the user terminal device included in the first dialing request message.

[0107] In one possible implementation, the determining module 502 is further configured to determine the sub-address pool corresponding to the target UP device in the IP address pool; and allocate the IP address in the sub-address pool to the user terminal device.

[0108] In one possible implementation, see Figure 6 The device also includes:

[0109] Splitting module 504 is used to split the IP address pool into multiple sub-address pools;

[0110] The second allocation module 505 is used to allocate multiple sub-address pools to at least one UP device.

[0111] In one possible implementation, the device further includes:

[0112] The recycling module 506 is used to reclaim any sub-address pool in response to any sub-address pool being in an idle state.

[0113] In one possible implementation, the regional location information of the user terminal device included in the first dial-up request message is obtained by adding it from the access network (AN) device.

[0114] In one possible implementation, the first dialing request message includes a tag field or an OPTION82 field, which is used to carry the regional location information of the user terminal device.

[0115] In one possible implementation, the regional location information is a code indicating the location of the user terminal device.

[0116] In one possible implementation, the AN device is a metropolitan area edge router (MER); based on the fact that the MER and the user terminal device belong to the same area, the area location information is the location information of the area where the MER is located; or, based on the fact that the MER and the user terminal device do not belong to the same area, the area location information is the interface information between the MER and the OLT or SW.

[0117] The technical solution provided in this application can obtain the regional location information of the user terminal device through dial-up request messages, and then determine the IP address pool corresponding to the user terminal device based on the regional location information. IP addresses from the IP address pool corresponding to the user terminal device and the sub-address pool corresponding to the target UP device are then allocated to the user terminal device, enabling the allocated IP addresses to distinguish users from different regions. Since it is not necessary to determine the regional location information through the UP device's interface, the allocation efficiency of the address is improved. Furthermore, it is applicable to scenarios where the same interface of the UP device connects to user terminal devices in different regions, allowing for the convergence and balancing of service loads in different regions, improving interface utilization, and consequently, improving the utilization of the UP device.

[0118] See Figure 7 This application provides an address allocation apparatus, which is applied to an AN device and is based on... Figure 7 The following modules are shown. Figure 7 The communication device shown is capable of performing Figure 2 or Figure 3 The AN device shown performs all or part of the operations. It should be understood that the device may include more additional modules than those shown, or may omit some of the modules shown; this application embodiment does not limit this. The device includes:

[0119] The receiving module 701 is used to receive the second dialing request message sent by the user terminal device;

[0120] Add module 702 to add the regional location information of the user terminal device to the second dial request message to obtain the first dial request message;

[0121] The sending module 703 is used to send the first dialing request message to at least one UP device, and the at least one UP device sends the first dialing request message to the CP device. The CP device is used to perform address allocation based on the first dialing request message.

[0122] In one possible implementation, the AN device includes any one of an optical line terminal (OLT), a switch (SW), or a metropolitan area edge router (MER).

[0123] In one possible implementation, the AN device includes a MER;

[0124] Add module 702 to add the user terminal device's regional location information to the second dial-up request message in response to the MER and the user terminal device belonging to the same region, based on device granularity, where the device granularity is distinguished by the MER; and in response to the MER and the user terminal device not belonging to the same region, add the user terminal device's regional location information to the second dial-up request message in response to the interface granularity, where the interface granularity is distinguished by the interface between the MER and the OLT or SW.

[0125] In one possible implementation, the first dialing request message includes a tag field or an OPTION82 field, which is used to carry the regional location information of the user terminal device.

[0126] In one possible implementation, the regional location information is a code indicating the location of the user terminal device.

[0127] It should be noted that any of the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, in the accompanying drawings provided in this application, the connection relationships between modules indicate that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines. Those skilled in the art can understand and implement this without any creative effort.

[0128] See Figure 8 , Figure 8 A schematic diagram of the structure of an address allocation device 1200 provided in an exemplary embodiment of this application is shown. Figure 8 The address allocation device 1200 shown is used to perform the above. Figure 2 Or the operations involved in the communication method shown in Figure 3. The address allocation device 1200 is, for example, a switch, router, etc.

[0129] like Figure 8 As shown, the address allocation device 1200 includes at least one processor 1201, a memory 1203, and a communication interface 1204, wherein there may be one or more communication interfaces 1204.

[0130] Processor 1201 may be, for example, a general-purpose central processing unit (CPU), a digital signal processor (DSP), a network processor (NP), a graphics processing unit (GPU), a neural-network processing unit (NPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits for implementing the solutions of this application. For example, processor 1201 includes an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A PLD may be, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof. It can implement or execute the various logic blocks, modules, and circuits described in connection with the embodiments of this application. A processor may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.

[0131] Optionally, the address allocation device 1200 also includes a bus. The bus is used to transfer information between the components of the address allocation device 1200. The bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 8 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus. Figure 8 In addition to bus connection, the components of the address allocation device 1200 can also be connected in other ways. This application embodiment does not limit the connection method of each component.

[0132] Memory 1203 may be, for example, read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions; random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions; electrically erasable programmable read-only memory (EEPROM); compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.); magnetic disk storage media or other magnetic storage devices; or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. Memory 1203 may exist independently and be connected to processor 1201 via a bus. Memory 1203 may also be integrated with processor 1201.

[0133] The communication interface 1204 uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), or Wireless Local Area Network (WLAN). The communication interface 1204 can include wired and wireless communication interfaces. Specifically, the communication interface 1204 can be an Ethernet interface, a Fast Ethernet (FE) interface, a Gigabit Ethernet (GE) interface, an Asynchronous Transfer Mode (ATM) interface, a WLAN interface, a cellular network communication interface, or a combination thereof. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. In this embodiment, the communication interface 1204 can be used by the address allocation device 1200 to communicate with other devices.

[0134] In a specific implementation, as one example, the processor 1201 may include one or more CPUs, such as Figure 8 The CPU0 and CPU1 shown are examples of processors. Each of these processors can be a single-core processor or a multi-core processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).

[0135] In a specific implementation, as one example, the address allocation device 1200 may include multiple processors, such as... Figure 8 The processors 1201 and 1202 shown are illustrated. Each of these processors can be a single-core processor or a multi-core processor. Here, "processor" can refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).

[0136] In a specific implementation, as one embodiment, the address allocation device 1200 may further include output devices and input devices. The output device communicates with the processor 1201 and can display information in various ways. For example, the output device may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device communicates with the processor 1201 and can receive user input in various ways. For example, the input device may be a mouse, keyboard, touchscreen device, or sensing device, etc.

[0137] In some embodiments, memory 1203 is used to store program code 1205 for executing the solution of this application, and processor 1201 can execute the program code 1205 stored in memory 1203. That is, address allocation device 1200 can implement the address allocation method provided in the method embodiment through processor 1201 and program code 1205 in memory 1203. Program code 1205 may include one or more software modules. Optionally, processor 1201 itself may also store program code or instructions for executing the solution of this application.

[0138] In specific embodiments, the address allocation device 1200 of this application embodiment may correspond to the CP device, UP device, or AN device in the above-described method embodiments. The processor 1201 in the address allocation device 1200 reads the program code 1205 in the memory 1203 or the program code or instructions stored in the processor 1201 itself, and makes... Figure 8 The address allocation device 1200 shown can perform all or part of the operations performed by a CP device, UP device, or AN device.

[0139] Address allocation device 1200 can also correspond to the above Figures 5-7 Any of the devices shown, Figures 5-7 Each functional module in any of the illustrated devices is implemented in software using the address allocation device 1200. In other words, Figures 5-7 The functional modules included in any of the devices shown are generated by the processor 1201 of the address allocation device 1200 after reading the program code 1205 stored in the memory 1203.

[0140] in, Figure 2 The steps of the address allocation method shown in Figure 3 are completed by the integrated logic circuitry of the hardware or by instructions in the software form of the processor of the address allocation device 1200. The steps of the method disclosed in the embodiments of this application can be directly implemented by the hardware processor, or by a combination of hardware and software modules in the processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. Since the storage medium is located in memory, the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method; to avoid repetition, these will not be described in detail here.

[0141] The steps of the methods or algorithms described in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), hard disk, portable hard disk, optical disk, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can reside in an ASIC.

[0142] Those skilled in the art will recognize that, in one or more of the examples above, the functions described in this application can be implemented using hardware, software, firmware, or any combination thereof. When implemented in software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any medium that facilitates the transfer of a computer program from one place to another. Storage media can be any available medium accessible to a general-purpose or special-purpose computer.

[0143] See Figure 9 , Figure 9This invention provides a schematic diagram of the structure of an address allocation device 2100 according to another exemplary embodiment of the present application. Figure 9 The address allocation device 2100 shown is used to perform the above. Figure 2 The address allocation method shown in Figure 3 may involve all or part of the operations. The address allocation device 2100 is, for example, a switch, a router, etc., and may be implemented using a general bus architecture.

[0144] like Figure 9 As shown, the address allocation device 2100 includes: a main control board 2110 and an interface board 2130.

[0145] The main control board, also known as the main processing unit (MPU) or route processor card, is used to control and manage the various components in the address allocation device 2100, including route calculation, device management, device maintenance, and protocol processing functions. The main control board 2110 includes a central processing unit 2111 and a memory 2112.

[0146] Interface board 2130 is also called a line processing unit (LPU), linecard, or service board. Interface board 2130 provides various service interfaces and implements packet forwarding. Service interfaces include, but are not limited to, Ethernet interfaces, POS (Packet over SONET / SDH) interfaces, etc., with Ethernet interfaces including, for example, Flexible Ethernet Clients (FlexE Clients). Interface board 2130 includes: a central processing unit 2131, a network processor 2132, a forwarding table entry memory 2134, and a physical interface card (PIC) 2133.

[0147] The central processing unit 2131 on the interface board 2130 is used to control and manage the interface board 2130 and communicate with the central processing unit 2111 on the main control board 2110.

[0148] Network processor 2132 is used to implement packet forwarding processing. Network processor 2132 can be in the form of a forwarding chip. The forwarding chip can be a network processor (NP). In some embodiments, the forwarding chip can be implemented using an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). Specifically, network processor 2132 forwards received packets based on the forwarding table stored in forwarding table entry memory 2134. If the destination address of the packet is the address of address allocation device 2100, the packet is sent to the CPU (such as central processing unit 2131) for processing; if the destination address of the packet is not the address of address allocation device 2100, the next hop and outgoing interface corresponding to the destination address are looked up in the forwarding table according to the destination address, and the packet is forwarded to the outgoing interface corresponding to the destination address. Uplink packet processing may include: packet ingress interface processing, forwarding table lookup; downlink packet processing may include: forwarding table lookup, etc. In some embodiments, the central processing unit can also perform the functions of the forwarding chip, such as implementing software forwarding based on a general-purpose CPU, thus eliminating the need for a forwarding chip on the interface board.

[0149] The physical interface card 2133 is used to implement physical layer interfacing functions. Raw traffic enters the interface board 2130 through this card, and processed packets are sent out from the physical interface card 2133. The physical interface card 2133, also called a daughter card, can be installed on the interface board 2130. It is responsible for converting photoelectric signals into packets, performing validity checks on the packets, and forwarding them to the network processor 2132 for processing. In some embodiments, the central processing unit 2131 can also perform the functions of the network processor 2132, such as implementing software forwarding based on a general-purpose CPU, thus eliminating the need for the network processor 2132 in the physical interface card 2133.

[0150] Optionally, the address allocation device 2100 includes multiple interface boards. For example, the address allocation device 2100 also includes an interface board 2140, which includes a central processing unit 2141, a network processor 2142, a forwarding table entry memory 2144, and a physical interface card 2143. The functions and implementation methods of each component in the interface board 2140 are the same as or similar to those of the interface board 2130, and will not be described in detail here.

[0151] Optionally, the address allocation device 2100 also includes a switching fabric board 2120. The switching fabric board 2120 can also be referred to as a switch fabric unit (SFU). When the address allocation device has multiple interface boards, the switching fabric board 2120 is used to complete data exchange between the interface boards. For example, interface boards 2130 and 2140 can communicate through the switching fabric board 2120.

[0152] The main control board 2110 and the interface boards are coupled. For example, the main control board 2110, interface boards 2130 and 2140, and the switching network board 2120 communicate with each other via a system bus connected to the system backplane. In one possible implementation, an inter-process communication (IPC) channel is established between the main control board 2110 and interface boards 2130 and 2140, and communication between the main control board 2110 and interface boards 2130 and 2140 is achieved through the IPC channel.

[0153] Logically, the address allocation device 2100 includes a control plane and a forwarding plane. The control plane includes a main control board 2110 and a central processing unit 2111, while the forwarding plane includes various components that perform forwarding, such as a forwarding table entry memory 2134, a physical interface card 2133, and a network processor 2132. The control plane performs functions such as router operation, generating forwarding tables, processing signaling and protocol messages, and configuring and maintaining the status of the address allocation device. The control plane distributes the generated forwarding tables to the forwarding plane. In the forwarding plane, the network processor 2132 forwards messages received by the physical interface card 2133 based on the forwarding tables distributed by the control plane. The forwarding tables distributed by the control plane can be stored in the forwarding table entry memory 2134. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same address allocation device.

[0154] It's worth noting that there may be one or more main control boards, including a primary and a backup main control board. There may also be one or more interface boards; the stronger the data processing capability of the address allocation device, the more interface boards it provides. Each interface board may also have one or more physical interface cards. There may be no switching network board, or one or more; multiple boards can share the load for redundancy and backup. In a centralized forwarding architecture, the address allocation device may not need a switching network board, as the interface boards handle the entire system's business data processing. In a distributed forwarding architecture, the address allocation device can have at least one switching network board, enabling data exchange between multiple interface boards and providing high-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of a distributed architecture address allocation device are greater than those of a centralized architecture address allocation device. Alternatively, the address allocation device can also be a single board, without a switching network board. The functions of the interface board and the main control board are integrated on this one board. In this case, the central processing unit (CPU) on the interface board and the CPU on the main control board can be combined into a single CPU to execute the combined functions. This type of address allocation device has lower data exchange and processing capabilities (e.g., low-end switches or routers). The specific architecture adopted depends on the specific network deployment scenario, and no restrictions are imposed here.

[0155] In a specific embodiment, the address allocation device 2100 corresponds to the above. Figure 5 The apparatus shown is for address allocation applied to a CP device. In some embodiments, Figure 5 or Figure 6 The receiving module 501 in the address allocation device shown is equivalent to the physical interface card 2133 in the address allocation device 2100, and the determining module 502 and the first allocation module 503 are equivalent to the central processing unit 2111 or the network processor 2132 in the address allocation device 2100.

[0156] In some embodiments, the address allocation device 2100 also corresponds to the above. Figure 7 The apparatus shown is for address allocation applied to AN devices. In some embodiments, Figure 7 The receiving module 701 and the sending module 703 in the address allocation device shown are equivalent to the physical interface card 2133 in the address allocation device 2100, and the adding module 702 is equivalent to the physical interface card 2133 in the address allocation device 2100.

[0157] Based on the above Figure 8 and Figure 9 The address allocation device shown in this application embodiment also provides an address allocation system, which includes a CP device, a UP device, and an AN device. Optionally, the CP device is... Figure 8The address allocation device 1200 shown is or Figure 9 The address allocation device 2100 and AN device shown are... Figure 8 The address allocation device 1200 shown is or Figure 9 The address allocation device 2100 shown is shown.

[0158] The address allocation methods performed by CP devices and AN devices can be found above. Figure 2 The relevant descriptions of the embodiments shown in Figure 3 will not be repeated here.

[0159] This application also provides a communication device, which includes a transceiver, a memory, and a processor. The transceiver, the memory, and the processor communicate with each other via an internal connection path. The memory stores instructions, and the processor executes the instructions stored in the memory to control the transceiver to receive and transmit signals. When the processor executes the instructions stored in the memory, it causes the processor to perform the methods required by the CP device and the AN device.

[0160] It should be understood that the aforementioned processor can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting the Advanced Reduced Instruction Set Computing (RISC) machine (ARM) architecture.

[0161] Furthermore, in an alternative embodiment, the memory described above may include read-only memory and random access memory, and provide instructions and data to the processor. The memory may also include non-volatile random access memory. For example, the memory may also store device type information.

[0162] The memory can be volatile or non-volatile, or may include both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which serves as an external cache. Many forms of RAM are available by way of example, but not limitation. Examples include static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0163] This application also provides a computer-readable storage medium storing at least one instruction, which is loaded and executed by a processor to implement the address allocation method as described above.

[0164] This application also provides a computer program (product) that, when executed by a computer, causes the processor or computer to perform the corresponding steps and / or processes in the above method embodiments.

[0165] This application also provides a chip, including a processor, for calling and executing instructions stored in a memory, causing an address allocation device on which the chip is mounted to perform the address allocation method as described above.

[0166] This application embodiment also provides another chip, including: an input interface, an output interface, a processor, and a memory. The input interface, the output interface, the processor, and the memory are connected through an internal connection path. The processor is used to execute code in the memory. When the code is executed, the processor is used to execute the address allocation method as described above.

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

[0168] Those skilled in the art will recognize that the method steps and modules described in conjunction with the embodiments disclosed herein can be implemented in software, hardware, firmware, or any combination thereof. To clearly illustrate the interchangeability of hardware and software, the steps and components of each embodiment have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0169] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0170] When implemented using software, it can be implemented wholly or partially as a computer program product. This computer program product includes one or more computer program instructions. As an example, the methods of this application embodiment can be described in the context of machine-executable instructions, such as program modules that execute on a device on a real or virtual processor of the target. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc., which perform specific tasks or implement specific abstract data structures. In various embodiments, the functionality of program modules can be combined or divided among the described program modules. The machine-executable instructions for the program modules can execute within a local or distributed device. In a distributed device, the program modules can reside on both local and remote storage media.

[0171] Computer program code used to implement the methods of the embodiments of this application may be written in one or more programming languages. This computer program code may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus, such that when executed by the computer or other programmable data processing apparatus, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a computer, partially on a computer, as a standalone software package, partially on a computer and partially on a remote computer, or entirely on a remote computer or server.

[0172] In the context of the embodiments of this application, computer program code or related data may be carried by any suitable carrier to enable a device, apparatus, or processor to perform the various processes and operations described above. Examples of carriers include signals, computer-readable media, etc.

[0173] Examples of signals may include electrical, optical, radio, sound, or other forms of propagation signals, such as carrier waves, infrared signals, etc.

[0174] A machine-readable medium can be any tangible medium that contains or stores programs for or relating to an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. More detailed examples of machine-readable storage media include electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0175] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and modules described above can be found in the corresponding processes in the foregoing method embodiments, and will not be repeated here.

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

[0177] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of the embodiments of this application, depending on actual needs.

[0178] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.

[0179] If the integrated module is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a server, or an address allocation device, etc.) to execute all or part of the steps of the methods in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0180] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items that have substantially the same function and purpose. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor does it limit the quantity or order of execution. It should also be understood that although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. These terms are merely used to distinguish one element from another. For example, without departing from the various examples described, a first image can be referred to as a second image, and similarly, a second image can be referred to as a first image. Both the first image and the second image can be images, and in some cases, they can be separate and distinct images.

[0181] It should also be understood that, in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0182] In this application, the term "at least one" means one or more, and the term "multiple" means two or more. For example, at least one UP device means one or more UP devices. The terms "system" and "network" are often used interchangeably in this document.

[0183] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing particular examples only and is not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.

[0184] It should also be understood that the term "and / or" as used herein refers to and covers any and all possible combinations of one or more of the associated listed items. The term "and / or" describes an association between related objects, indicating that three relationships can exist; for example, A and / or B can represent: A alone, A and B simultaneously, or B alone. Additionally, the character " / " in this application generally indicates that the preceding and following related objects are in an "or" relationship.

[0185] It should also be understood that the term “comprising” (also referred to as “includes”, “including”, “comprises” and / or “comprising”) as used in this specification specifies the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0186] It should also be understood that the terms “if” and “if” can be interpreted as meaning “when” or “upon”, or “in response to determination” or “in response to detection”. Similarly, depending on the context, the phrases “if determination…” or “if detection [the stated condition or event]” can be interpreted as meaning “when determination…”, or “in response to determination…”, or “when detection [the stated condition or event]” or “in response to detection [the stated condition or event]”.

[0187] It should be understood that determining B based on A does not mean determining B solely based on A; B can also be determined based on A and / or other information.

[0188] It should also be understood that the phrases "an embodiment," "an embodiment," and "a possible implementation" used throughout the specification mean that a specific feature, structure, or characteristic related to an embodiment or implementation is included in at least one embodiment of this application. Therefore, the phrases "in an embodiment," "an embodiment," or "a possible implementation" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.

[0189] The above description is merely an optional embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for address allocation, characterized in that, A control plane (CP) device applied in a communication system, the communication system further including at least one user plane (UP) device, the method comprising: The system receives a first dialing request message sent by the at least one UP device, the first dialing request message including the regional location information of the user terminal device, the regional location information being a code of the regional location where the user terminal device is located; Based on the regional location information of the user terminal device included in the first dial-up request message, the Internet Protocol IP address pool corresponding to the user terminal device is determined, and the IP address pool includes a sub-address pool corresponding to the at least one UP device. The IP address in the sub-address pool corresponding to the target UP device in the IP address pool is allocated to the user terminal device, wherein the target UP device is the UP device among the at least one UP device used to respond to the first dial request message.

2. The method according to claim 1, characterized in that, The step of determining the Internet Protocol (IP) address pool corresponding to the user terminal device based on the regional location information of the user terminal device included in the first dial-up request message includes: Based on the regional location information of the user terminal device included in the first dialing request message, the IP address pool corresponding to the user terminal device is determined from the correspondence between the regional location information and the IP address pool.

3. The method according to claim 1, characterized in that, The step of allocating the IP address from the sub-address pool corresponding to the target UP device in the IP address pool to the user terminal device includes: Determine the sub-address pool corresponding to the target UP device from the IP address pool; The IP address in the sub-address pool corresponding to the target UP device is assigned to the user terminal device.

4. The method according to claim 3, characterized in that, Before allocating the IP address from the sub-address pool corresponding to the target UP device in the IP address pool to the user terminal device, the method further includes: The IP address pool is split into multiple sub-address pools; The plurality of sub-address pools are assigned to the at least one UP device.

5. The method according to claim 4, characterized in that, After allocating the plurality of sub-address pools to the at least one UP device, the method further includes: In response to any of the plurality of sub-address pools being in an idle state, the aforementioned sub-address pool is reclaimed.

6. The method according to any one of claims 1-5, characterized in that, The communication system also includes an access network AN device; The regional location information of the user terminal device included in the first dialing request message is obtained by adding it from the AN device.

7. The method according to any one of claims 1-5, characterized in that, The first dialing request message includes a tag field or an OPTION82 field, which is used to carry the regional location information of the user terminal device.

8. The method according to claim 6, characterized in that, The AN device is a metropolitan area edge router (MER). Since the MER and the user terminal device belong to the same region, the region location information is the information of the region where the MER is located. Alternatively, based on the fact that the MER and the user terminal device do not belong to the same region, the region location information is the information of the interface between the MER and the OLT or SW.

9. A method for address allocation, characterized in that, An access network (AN) device applied in a communication system, the communication system further including a control plane (CP) device and at least one user plane (UP) device, the method comprising: Receive the second dial-up request message sent by the user terminal device; The regional location information of the user terminal device is added to the second dialing request message to obtain the first dialing request message, wherein the regional location information is the code of the regional location of the user terminal device. The first dialing request message is sent to the at least one UP device, which then sends the first dialing request message to the CP device. The CP device is used to allocate addresses based on the first dialing request message.

10. The method according to claim 9, characterized in that, The first dialing request message includes a tag field or an OPTION82 field, which is used to carry the regional location information of the user terminal device.

11. The method according to claim 9 or 10, characterized in that, The AN device includes any one of an optical line terminal (OLT), a switch (SW), or a metropolitan area edge router (MER).

12. The method according to claim 11, characterized in that, The AN device includes MER; Adding the regional location information of the user terminal device to the second dialing request message includes: In response to the fact that the MER and the user terminal device belong to the same region, the regional location information of the user terminal device is added to the second dialing request message based on the device granularity, wherein the device granularity is to distinguish the regional location by the MER; In response to the fact that the MER and the user terminal device do not belong to the same region, the regional location information of the user terminal device is added to the second dialing request message based on the interface granularity. The interface granularity is to distinguish the regional location through the interface between the MER and the OLT or SW.

13. An address allocation device, characterized in that, The device is used in a control plane CP device, and the device includes: The receiving module is configured to receive a first dialing request message sent by at least one user plane UP device, wherein the first dialing request message includes the regional location information of the user terminal device, and the regional location information is a code of the regional location where the user terminal device is located. The determining module is used to determine the Internet Protocol IP address pool corresponding to the user terminal device based on the regional location information of the user terminal device included in the first dialing request message, wherein the IP address pool includes a sub-address pool corresponding to the at least one UP device. The first allocation module is used to allocate the IP address in the sub-address pool corresponding to the target UP device in the IP address pool to the user terminal device, wherein the target UP device is the UP device among the at least one UP device used to respond to the first dial request message.

14. The apparatus according to claim 13, characterized in that, The determining module is used to determine the IP address pool corresponding to the user terminal device from the correspondence between the regional location information and the IP address pool, based on the regional location information of the user terminal device included in the first dialing request message.

15. The apparatus according to claim 13, characterized in that, The determining module is further configured to determine the sub-address pool corresponding to the target UP device in the IP address pool; and allocate the IP addresses in the sub-address pool to the user terminal device.

16. The apparatus according to claim 15, characterized in that, The device further includes: The splitting module is used to split the IP address pool into multiple sub-address pools; The second allocation module is used to allocate the plurality of sub-address pools to the at least one UP device.

17. The apparatus according to claim 16, characterized in that, The device further includes: The recycling module is used to reclaim any sub-address pool in response to it being in an idle state.

18. The apparatus according to any one of claims 13-17, characterized in that, The regional location information of the user terminal device included in the first dialing request message is obtained by adding it from the access network AN device.

19. The apparatus according to any one of claims 13-17, characterized in that, The first dialing request message includes a tag field or an OPTION82 field, which is used to carry the regional location information of the user terminal device.

20. The apparatus according to claim 18, characterized in that, The AN device is a metropolitan area edge router (MER). Since the MER and the user terminal device belong to the same region, the region location information is the information of the region where the MER is located. Alternatively, based on the fact that the MER and the user terminal device do not belong to the same region, the region location information is the information of the interface between the MER and the OLT or SW.

21. An address allocation device, characterized in that, The device is used in an access network AN device, and the device includes: The receiving module is used to receive the second dialing request message sent by the user terminal device; An adding module is used to add the regional location information of the user terminal device to the second dialing request message to obtain a first dialing request message, wherein the regional location information is the code of the regional location of the user terminal device; The sending module is used to send the first dialing request message to at least one user plane UP device, and the at least one UP device sends the first dialing request message to a control plane CP device, wherein the CP device is used to perform address allocation according to the first dialing request message.

22. The apparatus according to claim 21, characterized in that, The first dialing request message includes a tag field or an OPTION82 field, which is used to carry the regional location information of the user terminal device.

23. The apparatus according to claim 21 or 22, characterized in that, The AN device includes any one of an optical line terminal (OLT), a switch (SW), or a metropolitan area edge router (MER).

24. The apparatus according to claim 23, characterized in that, The AN device includes MER; The adding module is used to add the regional location information of the user terminal device to the second dialing request message based on device granularity in response to the fact that the MER and the user terminal device belong to the same region. The device granularity is to distinguish the regional location by the MER. In response to the fact that the MER and the user terminal device do not belong to the same region, the regional location information of the user terminal device is added to the second dialing request message based on the interface granularity. The interface granularity is to distinguish the regional location through the interface between the MER and the OLT or SW.

25. An address allocation system, characterized in that, The address allocation system includes an access network (AN) device, a control plane (CP) device, and a user plane (UP) device. The CP device is used to perform the method according to any one of claims 1-8; The AN device is used to perform the method according to any one of claims 9-12.

26. An address allocation device, characterized in that, The address allocation device includes a memory and a processor, wherein the memory stores at least one program instruction, which is loaded and executed by the processor to enable the address allocation device to implement the address allocation method according to any one of claims 1-12.

27. A computer-readable storage medium, characterized in that, The computer storage medium stores at least one instruction, which is loaded and executed by a processor to enable the computer to implement the address allocation method as described in any one of claims 1-12.

Citation Information

Patent Citations

  • IP (internet protocol) address allocation method and device

    CN104394242A

  • Method and device for accessing gateway

    CN111865621A