Mapping Internet Protocol (IP) addresses to Ethernet IP subscriber identifiers

By mapping IP addresses to the identifier of the IPoE subscriber, network devices can perform network services on a per IPoE subscriber basis, solving the problem of increasing hardware resources and computing complexity in the prior art, and realizing more efficient network service applications .

CN119449758APending Publication Date: 2025-02-14HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311262879.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-08-07
Filing Date
2023-09-27
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

The prior art is difficult to effectively apply network services on a per-IPoE subscriber basis when processing Ethernet IPoE subscribers, resulting in increased hardware resources and computing complexity.

Method used

By mapping IP addresses to the identifier of the IPoE subscriber, a network device can perform network services on a per-IPOE subscriber basis, rather than on a per-IP address basis. This mapping is generated based on information such as DHCP circuit identifier or remote identifier.

Benefits of technology

This approach reduces the use and computing complexity of hardware resources and improves the efficiency of network services, especially when dealing with large amounts of IP addresses.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119449758A_ABST
    Figure CN119449758A_ABST
Patent Text Reader

Abstract

In some implementations, a network device may receive one or more indications of one or more Internet Protocol (IP) addresses. A network device may determine that one or more IP addresses are associated with an Ethernet IP (IPoE) subscriber. The network device may generate a mapping of the one or more IP addresses to an identifier of the IPoE subscriber based at least in part on a determination that the one or more IP addresses are associated with the IPoE subscriber. The network device may receive a network packet associated with at least one of the one or more IP addresses. The network device may perform a network service associated with the network packet on a per IPoE subscriber basis based at least in part on a mapping of one or more IP addresses to identifiers of the IPoE subscribers.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Internet Protocol over Ethernet (IPoE) enables the delivery of Internet Protocol (IP) payloads through access networks via Ethernet. By encapsulating IP datagrams into Ethernet frames, IPoE can be suitable for multicast delivery to multiple users. Summary of the invention

[0002] Some implementations described herein relate to a method. The method may include receiving, by a network device, one or more indications of one or more IP addresses. The method may include determining, by a network device, that one or more IP addresses are associated with an IPoE subscriber. The method may include generating, by a network device, a mapping of one or more IP addresses to an identifier of an IPoE subscriber based at least in part on determining that one or more IP addresses are associated with an IPoE subscriber. The method may include receiving, by a network device, a network packet associated with at least one of the one or more IP addresses. The method may include performing, by a network device, a network service associated with the network packet based at least in part on a mapping of one or more IP addresses to an identifier of an IPoE subscriber on a per-IPE subscriber basis.

[0003] Some implementations described herein relate to a network device. The network device may include one or more memories and one or more processors. The one or more processors may receive one or more indications of one or more IP addresses. The one or more processors may determine that one or more IP addresses are associated with an IPoE subscriber. The one or more processors may generate a mapping of one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that one or more IP addresses are associated with the IPoE subscriber. The one or more processors may receive a network packet associated with at least one of the one or more IP addresses. The one or more processors may perform a network service associated with the network packet on a per-IPE subscriber basis based at least in part on a mapping of one or more IP addresses to an identifier of the IPoE subscriber.

[0004] Some implementations described herein relate to a non-transitory computer-readable medium storing an instruction set. The instruction set, when executed by one or more processors of a network device, can cause the network device to receive one or more indications of one or more IP addresses. The instruction set, when executed by one or more processors of the network device, can cause the network device to determine that one or more IP addresses are associated with an IPoE subscriber. The instruction set, when executed by one or more processors of the network device, can cause the network device to generate a mapping of one or more IP addresses to an identifier of an IPoE subscriber based at least in part on determining that one or more IP addresses are associated with an IPoE subscriber. The instruction set, when executed by one or more processors of the network device, can cause the network device to receive a network packet associated with at least one of the one or more IP addresses. The instruction set, when executed by one or more processors of the network device, can cause the network device to perform a network service associated with the network packet based on each IPoE subscriber, at least in part on a mapping of one or more IP addresses to an identifier of an IPoE subscriber.

[0005] According to one aspect of the present disclosure, there is provided a method, comprising:

[0006] Receiving, by a network device, one or more indications of one or more Internet Protocol (IP) addresses;

[0007] determining, by the network device, that the one or more IP addresses are associated with an IP over Ethernet IPoE subscriber;

[0008] generating, by the network device, a mapping of the one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that the one or more IP addresses are associated with the IPoE subscriber;

[0009] receiving, by the network device, a network packet associated with at least one of the one or more IP addresses; and

[0010] A network service associated with the network packet is performed by the network device on a per IPoE subscriber basis based at least in part on the mapping of the one or more IP addresses to the identifier of the IPoE subscriber.

[0011] According to an embodiment of the present disclosure, the one or more indications of the one or more IP addresses include a Dynamic Host Configuration Protocol DHCP offer packet.

[0012] According to an embodiment of the present disclosure, the one or more indications of the one or more IP addresses include a Dynamic Host Configuration Protocol DHCP announcement packet.

[0013] According to an embodiment of the present disclosure, the one or more indications of the one or more IP addresses include a Remote Authentication Dial-In User Service (RADIUS) access-accept message.

[0014] According to an embodiment of the present disclosure, the one or more indications of the one or more IP addresses include a network configuration.

[0015] According to an embodiment of the present disclosure, determining that the one or more IP addresses are associated with the IPoE subscriber includes:

[0016] The one or more IP addresses are determined to be associated with the IPoE subscriber based at least in part on one or more of a Dynamic Host Configuration Protocol (DHCP) circuit identifier or a DHCP remote identifier.

[0017] According to an embodiment of the present disclosure, executing the network service includes:

[0018] A firewall policy associated with the IPoE subscriber is applied to the network packet.

[0019] According to an embodiment of the present disclosure, executing the network service includes:

[0020] One or more network statistics associated with the IPoE subscriber are monitored.

[0021] According to an embodiment of the present disclosure, monitoring the one or more network statistics includes:

[0022] A download volume threshold associated with the IPoE subscriber is monitored based at least in part on the network packets.

[0023] According to an embodiment of the present disclosure, monitoring the one or more network statistics includes:

[0024] A download speed threshold associated with the IPoE subscriber is monitored based at least in part on the network packets.

[0025] According to another aspect of the present disclosure, there is provided a network device, comprising:

[0026] one or more memories; and

[0027] One or more processors for:

[0028] receiving one or more indications of one or more Internet Protocol (IP) addresses;

[0029] determining that the one or more IP addresses are associated with an IP over Ethernet (IPoE) subscriber;

[0030] generating a mapping of the one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that the one or more IP addresses are associated with the IPoE subscriber;

[0031] receiving a network packet associated with at least one of the one or more IP addresses; and

[0032] A network service associated with the network packet is performed on a per IPoE subscriber basis based at least in part on the mapping of the one or more IP addresses to the identifier of the IPoE subscriber.

[0033] According to an embodiment of the present disclosure, the one or more IP addresses include an IP version 4 IPv4 address.

[0034] According to an embodiment of the present disclosure, the one or more IP addresses include an IP version 6 IPv6 address.

[0035] According to an embodiment of the present disclosure, the IPv6 address is an IPv6 non-temporary address identity association IA_NA.

[0036] According to an embodiment of the present disclosure, the IPv6 address is an IPv6 prefix delegation identity associated IA_PD address.

[0037] According to an embodiment of the present disclosure, the one or more IP addresses include a framed IP address.

[0038] According to an embodiment of the present disclosure, the one or more IP addresses include a static IP address.

[0039] According to another aspect of the present disclosure, there is provided a non-transitory computer-readable medium storing an instruction set, the instruction set comprising:

[0040] One or more instructions that, when executed by one or more processors of a network device, cause the network device to:

[0041] receiving one or more indications of one or more Internet Protocol (IP) addresses;

[0042] determining that the one or more IP addresses are associated with an IP over Ethernet (IPoE) subscriber;

[0043] generating a mapping of the one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that the one or more IP addresses are associated with the IPoE subscriber;

[0044] receiving a network packet associated with at least one of the one or more IP addresses; and

[0045] A network service associated with the network packet is performed on a per IPoE subscriber basis based at least in part on the mapping of the one or more IP addresses to the identifier of the IPoE subscriber.

[0046] According to an embodiment of the present disclosure, when the one or more instructions are executed by the one or more processors, the network device further causes:

[0047] determining that the one or more IP addresses have become unassociated with the IPoE subscriber; and

[0048] The mapping of the one or more IP addresses to the identifier of the IPoE subscriber is removed based at least in part on determining that the one or more IP addresses have become unassociated with the IPoE subscriber.

[0049] According to an embodiment of the present disclosure, the one or more IP addresses include one or more of an IP version 4 IPv4 address, an IP version 6 IPv6 address, a framed IP address or a static IP address. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Figure 1A-1B is a diagram of an example implementation associated with mapping IP addresses to IPoE subscriber identifiers.

[0051] Figure 2 is a diagram of an example environment in which systems and / or methods described herein may be implemented.

[0052] Figure 3 is a diagram of example components of equipment associated with mapping IP addresses to IPoE subscriber identifiers.

[0053] Figure 4 is a diagram of example components of equipment associated with mapping IP addresses to IPoE subscriber identifiers.

[0054] Figure 5 is a flow diagram of an example process associated with mapping an IP address to an IPoE subscriber identifier. DETAILED DESCRIPTION

[0055] The following detailed description of example implementations refers to the accompanying drawings.The same reference numbers in different drawings may identify the same or similar elements.

[0056] Network processors such as application-specific integrated circuits (ASICs) based on fixed pipelines and semi-flexible pipelines can implement IPoE subscriber access models. For example, these network processors can implement 1:1 or 1:N virtual local area network (VLAN) access models, where the source IP address identifies the IPoE subscriber (e.g., home). In some cases, an IPoE subscriber can use multiple IP addresses for network access. If multiple IP addresses (e.g., IP version 4 (IPv4) and / or IP version 6 (IPv6)) are assigned to a single subscriber, the network processor applies services and collects aggregate statistics of the IPoE subscriber on a per-IP address basis. Each network packet associated with the IP address of the IPoE subscriber complies with the same network rules.

[0057] Since the network processor that processes the network packets processes the network packets on a per-IP address basis, excessive hardware resources on the network processor are occupied. For example, because a single IPoE subscriber is mapped to a single IP address, multiple IP addresses are processed on a large scale as if these IP addresses belong to different subscribers (in the sense that the network processor independently applies network services to the corresponding network packets), although they correspond to the same IPoE subscriber. Therefore, even if the actual number of IPoE subscribers is much smaller than the total number of IP addresses, network packets are processed on a per-IP address basis.

[0058] For example, if each network packet follows the same three firewall policies, then the three firewall policies are enforced for each IP address. Alternatively, if an IPoE subscriber has a download volume threshold or a download speed threshold, then download activity across different IP addresses associated with the IPoE subscriber is aggregated, which increases complexity (e.g., computing resources, bandwidth, etc.). As a result, network services (e.g., firewall policy enforcement, network statistics tracking, etc.) are replicated for each identifier (e.g., source IP address), and the associated hardware resources (e.g., ternary content addressable memory (TCAM), statistics tracking resources, etc.) increase linearly with the number of IP addresses.

[0059] Some implementations described herein enable mapping of IP addresses to IPoE subscribers and applying network services (e.g., firewall policies, network statistics tracking, etc.) on a per-IPoE subscriber basis (e.g., rather than on a per-IP address basis). For example, the IP address mapped to the IPoE subscriber may be an IPv4 address, an IPv6 address, a framed IP address, a static IP address, etc. Based on the mapping, the network device may perform network services on a per-IPoE subscriber basis, such as applying firewall policies, monitoring network statistics, etc.

[0060] As a result, by providing network services on a per-IPoE subscriber basis (e.g., rather than on a per-IP address basis), hardware resource usage can be reduced. For example, a network device can track and enforce fewer firewall policies than a network device would track and enforce using a per-IP address framework. Additionally or alternatively, a network device can track network statistics based on a single IPoE subscriber without explicitly tracking usage on multiple different IP addresses, which can reduce computational complexity.

[0061] Figure 1A-1B is a diagram of an example implementation 100 associated with mapping an Internet Protocol (IP) address to an IPoE subscriber identifier. Figure 1A-1B As shown, the example implementation 100 includes a network device. Figure 2-Figure 4 Describe network devices in more detail.

[0062] The network device may be a subscriber access device (e.g., an access gateway function (AGF), a broadband network gateway (BNG), a BNG user plane (BNG-UP) device, an AGF user plane (AGF-UP) device, a co-located BNG / AGF, a co-located BNG-UP / AGF-UP device, etc.). The network device may route traffic between client devices (e.g., customer premises equipment (CPE), residential gateway (RG), user equipment (UE), etc.) associated with an IPoE subscriber and broadband remote access devices (such as digital subscriber line access multiplexers (DSLAMs)) through an Internet service provider (ISP) network, and / or provide services (such as marking, policing, and shaping). The network device may include one or more network processors, such as fixed pipeline and semi-flexible pipeline-based ASICs, which implement an IPoE subscriber access model (e.g., 1:1 or 1:N VLAN access).

[0063] As indicated by reference numeral 110, the network device may receive one or more indications of one or more IP addresses. In some aspects, the one or more IP addresses may include an IPv4 address, an IPv6 address, a framed IP address, a static IP address, or the like.

[0064] In the case where the one or more IP addresses include an IPv4 address or an IPv6 address, the one or more instructions may include a Dynamic Host Configuration Protocol (DHCP) packet that enables the client device and the DHCP server to communicate with each other. For example, the client device may communicate with the DHCP server to obtain an IP address to be reserved for the client device.

[0065] In the event that the one or more IP addresses include an IPv4 address, the client device and the DHCP server may communicate using DHCP for IPv4 (DHCPv4) to allow the client device to obtain an assigned IP address. The DHCPv4 process may involve the transmission of discovery, offer, request, and acknowledgement (DORA) packets. For example, a DHCP client may send a discovery message to a DHCP server, the discovery message requesting an IP address (e.g., an IP address to be reserved for the client device); the DHCP server may send an offer message to the client device based on the discovery message, the offer message providing the IP address; the client device may send a request message to the DHCP server based on the offer message, the request message requesting an offered IP address (e.g., to be reserved for the client device); and the DHCP server may send an acknowledgement message to the client device based on the request message, the acknowledgement message indicating that the IP address is assigned to the client device.

[0066] In some aspects, one or more indications of one or more IP addresses (e.g., IPv4 addresses) may include a DHCP offer packet. For example, a network device may receive a DHCP offer packet containing an IPv4 address and identify the IPv4 address based on the contents of the DHCP offer packet. The DHCP offer packet may be sent from a DHCP server and destined for a client device. One or more indications of one or more IP addresses including a DHCP offer packet may enable the network device to determine the IPv4 address.

[0067] In the case where one or more IP addresses include an IPv6 address, the IPv6 address may be an IPv6 non-temporary address identity association (IA_NA) (e.g., an IP address with a / 128 prefix), an IPv6 prefix delegation identity association (IA_PD) address (e.g., an IP with any suitable prefix such as / 56). In the case where one or more IP addresses include an IPv6 address, the client device and the DHCP server may communicate using DHCP for IPv6 (DHCPv6) to allow the client device to obtain the assigned IP address. For example, the client device may send a solicitation message to the DHCP server, the solicitation message requesting an IP address (e.g., an IP address to be reserved for the client device); the DHCP server may send a notification message to the client device based on the solicitation message, the notification message providing the IP address; the client device may send a request message to the DHCP server based on the notification message, the request message requesting the provided IP address (e.g., to be reserved for the client device); and the DHCP server may send a reply message to the client device based on the request message, the reply message indicating that the IP address is assigned to the client device.

[0068] In some aspects, one or more indications of one or more IP addresses (e.g., IPv6 addresses) may include a DHCP announcement packet. For example, a network device may receive a DHCP announcement packet containing an IPv6 address and identify the IPv6 address based on the content of the DHCP announcement packet. The DHCP announcement packet may be sent from a DHCP server and is destined for a client device. One or more indications of one or more IP addresses including a DHCP announcement packet may enable the network device to determine the IPv6 address.

[0069] In the case where the one or more IP addresses include a framed IP address (e.g., a framed IPv4 address or a framed IPv6 address), the client device can communicate with a Remote Authentication Dial-In User Service (RADIUS) server that provides user authorization and authentication services. One or more indications of the one or more IP addresses (e.g., the framed IP addresses) can include a RADIUS access-accept message. For example, the client device can send a RADIUS access-request message to the RADIUS server via a network device, and receive a RADIUS access-accept message including the framed IP address from the RADIUS server via the network device. The network device can receive a RADIUS access-accept message including the framed IP address, and identify the framed IP address based on the content of the RADIUS access-accept information. The one or more indications of the one or more IP addresses including the RADIUS access-accept message can enable the network device to determine the framed IP address.

[0070] In some aspects, a network administrator may configure an IP address (e.g., a static IP address) at a network device. Thus, the one or more indications of the one or more IP addresses may include a network configuration (e.g., configured by a network administrator). The one or more indications of the one or more IP addresses including the network configuration may enable the network device to determine the static IP address.

[0071] As shown in the figure mark 120, the network device can determine that one or more IP addresses are associated with the IPoE subscriber. For example, the network device can determine that one or more IP addresses are associated with the IPoE subscriber based at least in part on one or more identifiers in the DHCP circuit identifier or the DHCP remote identifier. For example, in the case where one or more IP addresses include an IPv4 address, the DHCP discovery packet can carry a circuit ID and a remote ID (e.g., DHCP option 82) that identifies the IPoE subscriber. The circuit ID can identify the interface and / or VLAN associated with the IPoE subscriber, and the remote ID can identify the remote host associated with the IPoE subscriber. Determining that one or more IP addresses are associated with the IPoE subscriber based at least in part on one or more identifiers in the DHCP circuit identifier or the DHCP remote identifier can enable the network device to determine that one or more IPv4 addresses are associated with the IPoE subscriber.

[0072] As shown in reference numeral 130, the network device may generate a mapping of one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that the one or more IP addresses are associated with the IPoE subscriber. For example, the network device may map all IPoE subscriber IP addresses to an identifier of the IPoE subscriber. The identifier may be a subscriber resource (e.g., a logical entity) corresponding to the IPoE subscriber.

[0073] refer to Figure 1B As shown in reference numeral 140, the network device may receive a network packet associated with at least one of the one or more IP addresses. For example, the network packet may be sent by a client device or may be destined for a client device. For example, the at least one IP address may be a source IP address or a destination IP address of the client device.

[0074] As shown at reference numeral 150, the network device may perform a network service associated with the network packet on a per IPoE subscriber basis based at least in part on a mapping of one or more IP addresses to an identifier of the IPoE subscriber. In some aspects, the network device may apply a firewall policy associated with the IPoE subscriber to the network packet. For example, the network device may apply a firewall policy on a per IPoE subscriber basis (e.g., rather than on a per IP address basis).

[0075] In some aspects, the network device may monitor one or more network statistics associated with the IPoE subscriber. In some examples, the network device may monitor a download volume threshold associated with the IPoE subscriber based at least in part on the network packet. In some examples, the network device may monitor a download speed threshold associated with the IPoE subscriber based at least in part on the network packet. For example, the network device may monitor one or more network statistics (e.g., download volume threshold, download speed threshold, etc.) on a per-IP subscriber basis (e.g., rather than on a per-IP address basis).

[0076] Executing network services associated with network packets on a per-IPoE subscriber basis based at least in part on a mapping of one or more IP addresses to an identifier of an IPoE subscriber can enable a network device to reduce hardware resource usage (e.g., scaling issues) and / or computational complexity. For example, a network device can perform a network service based on a single IPoE subscriber identifier (e.g., a single resource) stored in the hardware of the network device (e.g., rather than executing a network service on a per-IP address basis for all IP addresses assigned to an IPoE subscriber). As a result, a network device can allocate a single resource (e.g., an IPoE subscriber identifier) ​​regardless of the number of IP addresses assigned to the IPoE subscriber, which can reduce scaling issues (e.g., hardware utilization issues as the number of IP addresses increases). For example, if a dual-stack IPoE subscriber uses at least three IP addresses (e.g., an IPv4 address, an IPv6 IA_NA, and an IPv6 IA_PD address), the techniques described herein can increase the efficiency supported by a fixed pipeline or semi-flexible pipeline-based ASIC by at least three times. The efficiency gain is further increased if the IPoE subscriber uses additional IP addresses (e.g., framed IP addresses, multiple IPv6 addresses, etc.). Therefore, introducing a mapping of one or more IP addresses to an identifier of an IPoE subscriber can reduce the IPoE subscriber scaling problem that exists in per-IP address resource allocation.

[0077] Monitoring one or more network statistics associated with an IPoE subscriber on a per-IPoE subscriber basis can reduce computational complexity. For example, a network device can apply a network service (e.g., IPoE subscriber billing statistics) and collect aggregated state via a single resource (e.g., an identifier of an IPoE subscriber), rather than explicitly tracking and aggregating network statistics of an IPoE subscriber via multiple IP addresses associated with an IPoE subscriber. Monitoring a download volume or speed threshold associated with an IPoE subscriber on a per-IPoE subscriber basis based at least in part on network packets can reduce computational complexity associated with monitoring a download volume or speed threshold. For example, a network device can track download activity across IP addresses using a single resource (e.g., an identifier of an IPoE subscriber).

[0078] In some aspects, the network device may determine that the one or more IP addresses have become unassociated with the IPoE subscriber and remove (e.g., delete, erase, etc.) a mapping of the one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that the one or more IP addresses have become unassociated with the IPoE subscriber. Where the one or more IP addresses include an IPv4 address or an IPv6 address, the network device may determine that the one or more IP addresses have become unassociated with the IPoE subscriber based on a rejected DHCP renewal packet or a DHCP release.

[0079] In DHCP (e.g., DHCPv4 or DHCPv6), a client device may obtain an IP address during a lease period (e.g., the lease period is defined by a lease length). For example, a DHCP server may provide an IP address to a client device for a lease period starting from when the IP address is obtained and lasting for the lease length. Therefore, the client device may communicate with the DHCP server to renew the IP address. For example, the client device may determine that the lease period of the IP address is about to expire, and therefore may communicate with the DHCP server to renew the IP address. Therefore, the client device and the DHCP server may communicate to renew the IP address. For example, the client device may send a renewal message to the DHCP server requesting renewal of the IP address (e.g., to continue to reserve the IP address for the client device); and the DHCP server may update the lease period of the IP address based on the renewal message, and may send a confirmation message to the client device confirming the renewal of the IP address. In some examples, the DHCP server may reject the renewal request. The network device may receive a renewal rejection with the client device as the destination from the DHCP server, and determine that the IP address is no longer associated with the IPoE subscriber based on the renewal rejection.

[0080] In DHCP (e.g., DHCPv4 or DHCPv6), a client device can explicitly release an IP address. For example, a client device can explicitly indicate to a DHCP server that the IP address is no longer used by a client device associated with an IPoE subscriber. A network device can receive a DHCP release from a client device with a DHCP server as a destination, and determine based on the DHCP release that the IP address is no longer associated with the IPoE subscriber.

[0081] In the case where one or more IP addresses include framed IP addresses, the network device can determine that the one or more IP addresses have become unassociated with the IPoE subscriber based on a RADIUS accounting stop message (e.g., a RADIUS accounting stop message can be sent by a client device and destined for a RADIUS server). In the case where one or more IP addresses include static IP addresses, the network device can determine that the one or more IP addresses have become unassociated with the IPoE subscriber based on a change in the network configuration (e.g., a network administrator can remove the IP address from the network configuration). Additionally or alternatively, the network device can determine that the one or more IP addresses have become unassociated with the IPoE subscriber based on a keep-alive mechanism such as bidirectional forwarding detection (BFD), address resolution protocol (ARP), etc. For example, the network device can determine that the IP address is no longer valid based on a keep-alive mechanism.

[0082] Removing the mapping of one or more IP addresses to an identifier of an IPoE subscriber based at least in part on determining that the one or more IP addresses have become unassociated with the IPoE subscriber can enable the network device to reduce resource utilization and / or accurately perform network services. For example, the network can delete the mapping, which can enable the network device to allocate resources associated with the mapping elsewhere (e.g., the network device can reallocate memory that previously stored the mapping). Additionally or alternatively, by removing the mapping, the network device can continue to apply the correct firewall policy for a given IPoE subscriber and / or accurately associate network statistics (e.g., download volume or speed) with the correct IPoE subscriber.

[0083] As mentioned above, Figure 1A-1B are provided as examples. Other examples may be related to Figure 1A-1B Described differently. Figure 1A-1B The number and arrangement of the devices shown are provided as examples. Figure 1A-1B There may be more devices, fewer devices, different devices, or differently arranged devices than shown. Figure 1A-1B Two or more of the devices shown may be implemented in a single device, or Figure 1A-1B The single device shown may be implemented as multiple distributed devices. Additionally or alternatively, Figure 1A-1B A collection of devices (e.g., one or more devices) shown may perform the operations described as being performed by Figure 1A-1B Another set of devices is shown performing one or more functions.

[0084] Figure 2 2 is a diagram of an example environment 200 in which the systems and / or methods described herein may be implemented. Figure 2As shown, environment 200 may include endpoint device 210, a set of network devices 220 (shown as network device 220-1 through network device 220-N), server device 230, and network 240. The devices of environment 200 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.

[0085] Endpoint device 210 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information such as the information described herein. For example, endpoint device 210 may include a mobile phone (e.g., a smart phone or wireless phone), a laptop computer, a tablet computer, a desktop computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart watch, a pair of smart glasses, a heart rate monitor, a fitness tracker, smart clothing, smart jewelry, or a head-mounted display), a network device, or a similar type of device. In some implementations, endpoint device 210 may receive network traffic from other endpoint devices 210 and / or server device 230 and / or may provide network traffic to other endpoint devices 210 and / or server device 230 via network 240 (e.g., by using network device 220 as an intermediary to route packets).

[0086] The network device 220 includes one or more devices that can receive, process, store, route and / or provide services (e.g., packets or other information or metadata) in a manner described herein. For example, the network device 220 may include a router, such as a label switching router (LSR), a label edge router (LER), an ingress router, an egress router, a provider router (e.g., a provider edge router or a provider core router), a virtual router, or another type of router. Additionally or alternatively, the network device 220 may include a gateway, a switch, a firewall, a hub, a bridge, a reverse proxy, a server (e.g., a proxy server, a cloud server, or a data center server), a load balancer, and / or similar devices. In some implementations, the network device 220 may be a physical device implemented in a housing such as a chassis. In some implementations, the network device 220 may be a virtual device implemented by one or more computer devices in a cloud computing environment or a data center. In some implementations, a group of network devices 220 may be a group of data center nodes for routing traffic flows through the network 240.

[0087] Server device 230 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information such as the information described herein. For example, server device 230 may include a laptop computer, a tablet computer, a desktop computer, a group of server devices, or similar types of devices associated with a multicast service. In some implementations, server device 230 may receive information (e.g., a multicast service) from endpoint device 210 and / or transmit information (e.g., a multicast service) to endpoint device 210 via network 240 (e.g., by using network device 220 as an intermediary to route packets).

[0088] The network 240 includes one or more wired and / or wireless networks. For example, the network 240 may include a packet-switched network, a cellular network (e.g., a fifth generation (5G) network, a fourth generation (4G) network such as a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber-based network, a cloud computing network, etc., and / or a combination of these or other types of networks.

[0089] Figure 2 The number and arrangement of devices and networks shown are provided as examples. Figure 2 There may be more devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than shown. Figure 2 Two or more of the devices shown may be implemented in a single device, or Figure 2 The single device shown may be implemented as multiple distributed devices. Additionally or alternatively, one set of devices of environment 200 (eg, one or more devices) may perform one or more functions described as being performed by another set of devices of environment 200.

[0090] Figure 3 is a diagram of example components of a device 300 associated with mapping an IP address to an IPoE subscriber identifier. Device 300 may correspond to network device 220. In some implementations, network device 220 may include one or more devices 300 and / or one or more components of device 300. Figure 3 As shown, device 300 may include a bus 310 , a processor 320 , a memory 330 , an input component 340 , an output component 350 , and / or a communication component 360 .

[0091] The bus 310 may include one or more components that enable wired and / or wireless communication between components of the device 300. ... Figure 3 Two or more components of a computer system may be coupled together, such as via operational coupling, communication coupling, electronic coupling, and / or electrical coupling. For example, bus 310 may include electrical connections (e.g., wires, traces, and / or leads) and / or wireless buses. Processor 320 may include a central processing unit, a graphics processing unit, a microprocessor, a controller, a microcontroller, a digital signal processor, a field programmable gate array, an application specific integrated circuit, and / or other types of processing components. Processor 320 may be implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 320 may include one or more processors that can be programmed to perform one or more operations or processes described elsewhere herein.

[0092] The memory 330 may include volatile and / or non-volatile memory. For example, the memory 330 may include a random access memory (RAM), a read-only memory (ROM), a hard drive, and / or another type of memory (e.g., flash memory, magnetic memory, and / or optical memory). The memory 330 may include an internal memory (e.g., RAM, ROM, or hard drive) and / or a removable memory (e.g., removable via a universal serial bus connection). The memory 330 may be a non-transitory computer-readable medium. The memory 330 may store information, one or more instructions, and / or software (e.g., one or more software applications) related to the operation of the device 300. In some implementations, the memory 330 may include one or more memories such as coupled (e.g., communicatively coupled) to one or more processors (e.g., processor 320) via bus 310. The communicatively coupled between the processor 320 and the memory 330 may enable the processor 320 to read and / or process information stored in the memory 330 and / or store information in the memory 330.

[0093] Input assembly 340 can enable device 300 to receive input, such as user input and / or sensor input. For example, input assembly 340 can include touch screen, keyboard, keypad, mouse, button, microphone, switch, sensor, GPS sensor, GNSS sensor, accelerometer, gyroscope and / or actuator. Output assembly 350 can enable device 300 to provide output such as via display, speaker and / or light emitting diode. Communication assembly 360 can enable device 300 to communicate with other devices via wired connection and / or wireless connection. For example, communication assembly 360 can include receiver, transmitter, transceiver, modem, network interface card and / or antenna.

[0094] Device 300 can perform one or more operations or processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 330) can store an instruction set (e.g., one or more instructions or codes) for execution by processor 320. Processor 320 can execute an instruction set to perform one or more operations or processes described herein. In some implementations, the execution of the instruction set by one or more processors 320 causes one or more processors 320 and / or device 300 to perform one or more operations or processes described herein. In some implementations, hardwired circuitry can be used instead of instructions or in combination with instructions to perform one or more operations or processes described herein. Additionally or alternatively, processor 320 can be configured to perform one or more operations or processes described herein. Therefore, the implementation described herein is not limited to any particular combination of hardware circuitry and software.

[0095] Figure 3 The number and arrangement of components shown are provided as examples. Figure 3 Compared to the illustrated embodiment, device 300 may include more components, fewer components, different components, or differently arranged components. Additionally or alternatively, a set of components (e.g., one or more components) of device 300 may perform one or more functions described as being performed by another set of components of device 300.

[0096] Figure 4 4 is a diagram of example components of a device 400 associated with mapping an IP address to an IPoE subscriber identifier. Device 400 may correspond to network device 220. In some implementations, network device 220 may include one or more devices 400 and / or one or more components of device 400. Figure 4 As shown, the device 400 may include one or more input components 410-1 to 410-B (B≥1) (hereinafter collectively referred to as input component 410, and individually referred to as input component 410), a switching component 420, one or more output components 430-1 to 430-C (C≥1) (hereinafter collectively referred to as output component 430, and individually referred to as output component 430), and a controller 440.

[0097] The input component 410 may be one or more attachment points for a physical link and may be one or more entry points for incoming services such as packets. The input component 410 may process incoming services such as by performing data link layer encapsulation or decapsulation. In some implementations, the input component 410 may transmit and / or receive packets. In some implementations, the input component 410 may include an input line card that includes one or more packet processing components (e.g., in the form of an integrated circuit), such as one or more interface cards (IFCs), a packet forwarding component, a line card controller component, an input port, a processor, a memory, and / or an input queue. In some implementations, the device 400 may include one or more input components 410.

[0098] The switching component 420 can interconnect the input component 410 with the output component 430. In some implementations, the switching component 420 can be implemented via one or more crossbar switches, via a bus, and / or using a shared memory. The shared memory can act as a temporary buffer to store the packet from the input component 410 before it is ultimately scheduled for delivery to the output component 430. In some implementations, the switching component 420 can enable the input component 410, the output component 430, and / or the controller 440 to communicate with each other.

[0099] Output component 430 can store packets and can schedule packets for transmission on an output physical link. Output component 430 can support data link layer encapsulation or decapsulation, and / or various higher-level protocols. In some implementations, output component 430 can transmit packets and / or receive packets. In some implementations, output component 430 may include an output line card, which includes one or more packet processing components (e.g., in the form of an integrated circuit), such as one or more IFCs, packet forwarding components, line card controller components, output ports, processors, memories, and / or output queues. In some implementations, device 400 may include one or more output components 430. In some implementations, input component 410 and output component 430 may be implemented by the same set of components (e.g., and an input / output component may be a combination of input component 410 and output component 430).

[0100] The controller 440 includes a processor in the form of, for example, a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an ASIC, and / or other types of processors. The processor is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, the controller 440 may include one or more processors that can be programmed to perform a function.

[0101] In some implementations, the controller 440 may include RAM, ROM, and / or another type of dynamic or static storage device (eg, flash memory, magnetic memory, optical memory, etc.) that stores information and / or instructions for use by the controller 440 .

[0102] In some implementations, the controller 440 can communicate with other devices, networks, and / or systems connected to the device 400 to exchange information about the network topology. The controller 440 can create a routing table based on the network topology information, can create a forwarding table based on the routing table, and can forward the forwarding table to the input component 410 and / or the output component 430. The input component 410 and / or the output component 430 can use the forwarding table to perform a route lookup for incoming and / or outgoing packets.

[0103] The controller 440 may perform one or more processes described herein. The controller 440 may perform these processes in response to executing software instructions stored by a non-transitory computer readable medium. A computer readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space distributed on multiple physical storage devices.

[0104] The software instructions may be read from another computer-readable medium or from another device via a communication interface into a memory and / or storage component associated with the controller 440. When executed, the software instructions stored in the memory and / or storage component associated with the controller 440 may cause the controller 440 to perform one or more processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Therefore, the implementations described herein are not limited to any specific combination of hardware circuitry and software.

[0105] Figure 4 The number and arrangement of components shown are provided as examples. Figure 4 Compared to the illustrated embodiment, device 400 may include more components, fewer components, different components, or differently arranged components. Additionally or alternatively, a set of components (e.g., one or more components) of device 400 may perform one or more functions described as being performed by another set of components of device 400.

[0106] Figure 5 is a flow chart of an example process 500 associated with mapping an IP address to an IPoE subscriber identifier. In some implementations, Figure 5 One or more process blocks in are performed by a network device (e.g., network device 220). In some implementations, Figure 5One or more process blocks in are performed by another device or group of devices separate from or including a network device such as an endpoint device (e.g., endpoint device 210), a network device (e.g., network device 220), and / or a server device (e.g., server device 230). Additionally or alternatively, Figure 5 One or more process blocks in can be performed by one or more components of device 300 such as processor 320, memory 330, input component 340, output component 350 and / or communication component 360, and / or by one or more components of device 400 such as input component 410, switching component 420, output component 430 and / or controller 440.

[0107] like Figure 5 As shown, process 500 may include receiving one or more indications of one or more IP addresses (block 510). For example, as described above, a network device may receive one or more indications of one or more IP addresses.

[0108] like Figure 5 As further shown, process 500 may include determining that one or more IP addresses are associated with the IPoE subscriber (block 520). For example, as described above, the network device may determine that one or more IP addresses are associated with the IPoE subscriber.

[0109] like Figure 5 As further shown, process 500 may include generating a mapping of one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that the one or more IP addresses are associated with the IPoE subscriber (block 530). For example, as described above, the network device may generate a mapping of one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that the one or more IP addresses are associated with the IPoE subscriber.

[0110] like Figure 5 As further shown, process 500 may include receiving a network packet associated with at least one of the one or more IP addresses (block 540). For example, as described above, a network device may receive a network packet associated with at least one of the one or more IP addresses.

[0111] like Figure 5 As further shown, process 500 may include performing a network service associated with the network packet on a per-IPoE subscriber basis based at least in part on a mapping of one or more IP addresses to an identifier of the IPoE subscriber (block 550). For example, as described above, a network device may perform a network service associated with the network packet on a per-IPoE subscriber basis based at least in part on a mapping of one or more IP addresses to an identifier of the IPoE subscriber.

[0112] Process 500 may include additional implementations, such as any single implementation or any combination of implementations described below and / or described in conjunction with one or more other processes described elsewhere herein.

[0113] In a first implementation, the one or more indications of the one or more IP addresses include a DHCP offer packet.

[0114] In a second implementation, either alone or in combination with the first implementation, the one or more indications of the one or more IP addresses include a DHCP advertise packet.

[0115] In a third implementation, alone or in combination with one or more of the first and second implementations, the one or more indications of the one or more IP addresses include a RADIUS Access-Accept message.

[0116] In a fourth implementation, alone or in combination with one or more of the first to third implementations, the one or more indications of the one or more IP addresses include a network configuration.

[0117] In a fifth implementation, alone or in combination with one or more of the first to fourth implementations, determining that the one or more IP addresses are associated with the IPoE subscriber includes determining that the one or more IP addresses are associated with the IPoE subscriber based at least in part on one or more of a DHCP circuit identifier or a DHCP remote identifier.

[0118] In a sixth implementation, alone or in combination with one or more of the first to fifth implementations, performing the network service includes applying a firewall policy associated with the IPoE subscriber to the network packet.

[0119] In a seventh implementation, alone or in combination with one or more of the first to sixth implementations, performing the network service includes monitoring one or more network statistics associated with the IPoE subscriber.

[0120] In an eighth implementation, alone or in combination with one or more of the first to seventh implementations, monitoring the one or more network statistics includes monitoring a download volume threshold associated with the IPoE subscriber based at least in part on network packets.

[0121] In a ninth implementation, alone or in combination with one or more of the first to eighth implementations, monitoring the one or more network statistics includes monitoring a download speed threshold associated with the IPoE subscriber based at least in part on the network packets.

[0122] In a tenth implementation, either alone or in combination with one or more of the first to ninth implementations, the one or more IP addresses include an IPv4 address.

[0123] In an eleventh implementation, alone or in combination with one or more of the first to tenth implementations, the one or more IP addresses include IPv6 addresses.

[0124] In a twelfth implementation, alone or in combination with one or more of the first to eleventh implementations, the IPv6 address is an IPv6 IA_NA.

[0125] In a thirteenth implementation, alone or in combination with one or more of the first to twelfth implementations, the IPv6 address is an IPv6 IA_PD address.

[0126] In a fourteenth implementation, alone or in combination with one or more of the first to thirteenth implementations, the one or more IP addresses include a framed IP address.

[0127] In a fifteenth implementation, alone or in combination with one or more of the first to fourteenth implementations, the one or more IP addresses include a static IP address.

[0128] In a sixteenth implementation, alone or in combination with one or more of the first to fifteenth implementations, process 500 includes determining that one or more IP addresses have become unassociated with the IPoE subscriber, and removing a mapping of the one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that the one or more IP addresses have become unassociated with the IPoE subscriber.

[0129] although Figure 5 Example blocks of process 500 are shown, but in some implementations, Figure 5 Process 500 may include more blocks, fewer blocks, different blocks, or differently arranged blocks than shown. Additionally or alternatively, two or more blocks of process 500 may be performed in parallel.

[0130] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise forms disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the implementations.

[0131] As used herein, a service or content may include a collection of packets. A packet may refer to a communication structure for transmitting information, such as a protocol data unit (PDU), a service data unit (SDU), a network packet, a datagram, a segment, a message, a block, a frame (e.g., an Ethernet frame), a portion of any of the above, and / or another type of formatted or unformatted data unit capable of being transmitted via a network.

[0132] As used herein, satisfying a threshold may refer to a value being greater than a threshold, greater than or equal to a threshold, less than a threshold, less than or equal to a threshold, equal to a threshold, not equal to a threshold, etc., depending on the context.

[0133] As used herein, the term "component" is intended to be broadly interpreted as hardware, firmware, or a combination of hardware and software. Obviously, the systems and / or methods described herein can be implemented in different forms of hardware, firmware, and / or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software codes-it should be understood that software and hardware can be used to implement the systems and / or methods based on the description herein.

[0134] Although specific combinations of features are described in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features can be combined in a manner that is not specifically described in the claims and / or disclosed in the specification. Although each dependent claim listed below can directly reference only one claim, the disclosure of various implementations includes the combination of each dependent claim with each other claim in the claim set. As used herein, the phrase "at least one" in a list of reference items refers to any combination of these items, including single members. As an example, "at least one of a, b, or c" is intended to cover a, b, c, ab, ac, bc, and abc, as well as any combination with multiple identical items.

[0135] When a "processor" or "one or more processors" (or another device or component, such as a "controller" or "one or more controllers") is described or claimed (either within a single claim or across multiple claims) as performing or being configured to perform multiple operations, the language is intended to broadly encompass a variety of processor architectures and environments. For example, unless otherwise expressly required (e.g., via the use of "first processor" and "second processor" or other language in the claims to distinguish between processors), the language is intended to encompass a single processor that performs or is configured to perform all operations, a group of processors that collectively perform or are configured to perform all operations, a first processor that performs or is configured to perform a first operation and a second processor that performs or is configured to perform a second operation, or any combination of processors that perform or are configured to perform operations. For example, when a claim has the form "one or more processors that: perform X; perform Y; and perform Z," the claim should be interpreted to mean "one or more processors that perform X; one or more (possibly different) processors that perform Y; and one or more (possibly different) processors that perform Z."

[0136] Any element, action or instruction used in this article should not be interpreted as key or necessary, unless explicitly described as such. In addition, as used in this article, the article "one" and "an" are intended to include one or more items, and can be used interchangeably with "one or more". In addition, as used in this article, the article "the" is intended to include one or more items quoted in conjunction with the article "the", and can be used interchangeably with "one or more". In addition, as used in this article, the term "set" is intended to include one or more items (for example, a combination of related items, unrelated items, or related items and unrelated items), and can be used interchangeably with "one or more". If only one item is intended to be used, the phrase "only one" or similar language is used. In addition, as used in this article, the term "having", "including", "comprising" etc. are intended to be open terms. In addition, unless otherwise clearly stated, the phrase "based on" is intended to mean "at least partially based on". In addition, as used in this article, the term "or" is intended to be included when used in a series of forms, and can be used interchangeably with "and / or", unless otherwise clearly stated (for example, if used in combination with "any one" or "only one in ...").

Claims

1. A method comprising: Receiving, by a network device, one or more indications of one or more Internet Protocol (IP) addresses; determining, by the network device, that the one or more IP addresses are associated with an Ethernet IPPoE subscriber; generating, by the network device, a mapping of the one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that the one or more IP addresses are associated with the IPoE subscriber; receiving, by the network device, a network packet associated with at least one of the one or more IP addresses; as well as A network service associated with the network packet is performed by the network device on a per IPoE subscriber basis based at least in part on the mapping of the one or more IP addresses to the identifier of the IPoE subscriber.

2. The method of claim 1, wherein the one or more indications of the one or more IP addresses comprise a Dynamic Host Configuration Protocol (DHCP) offer packet.

3. The method of claim 1, wherein the one or more indications of the one or more IP addresses comprise a Dynamic Host Configuration Protocol (DHCP) advertise packet.

4. The method of claim 1, wherein the one or more indications of the one or more IP addresses comprise a Remote Authentication Dial-In User Service (RADIUS) Access-Accept message.

5. The method of claim 1, wherein the one or more indications of the one or more IP addresses comprise a network configuration.

6. The method of claim 1 , wherein determining that the one or more IP addresses are associated with the IPoE subscriber comprises: The one or more IP addresses are determined to be associated with the IPoE subscriber based at least in part on one or more of a Dynamic Host Configuration Protocol (DHCP) circuit identifier or a DHCP remote identifier.

7. The method of claim 1, wherein executing the network service comprises: A firewall policy associated with the IPoE subscriber is applied to the network packet.

8. The method of claim 1, wherein executing the network service comprises: One or more network statistics associated with the IPoE subscriber are monitored.

9. The method of claim 8, wherein monitoring the one or more network statistics comprises: A download volume threshold associated with the IPoE subscriber is monitored based at least in part on the network packets.

10. The method of claim 8, wherein monitoring the one or more network statistics comprises: A download speed threshold associated with the IPoE subscriber is monitored based at least in part on the network packets.

11. A network device comprising: one or more memories; as well as One or more processors for: receiving one or more indications of one or more Internet Protocol (IP) addresses; determining that the one or more IP addresses are associated with an Ethernet IPPoE subscriber; generating a mapping of the one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that the one or more IP addresses are associated with the IPoE subscriber; receiving a network packet associated with at least one of the one or more IP addresses; as well as A network service associated with the network packet is performed on a per IPoE subscriber basis based at least in part on the mapping of the one or more IP addresses to the identifier of the IPoE subscriber.

12. The network device of claim 11, wherein the one or more IP addresses comprise IP version 4 (IPv4) addresses.

13. The network device of claim 11, wherein the one or more IP addresses comprise an IP version 6 (IPv6) address.

14. The network device according to claim 13, wherein the IPv6 address is an IPv6 non-temporary address identity association (IA_NA).

15. The network device of claim 13, wherein the IPv6 address is an IPv6 Prefix Delegation Identity Association (IA_PD) address.

16. The network device of claim 11, wherein the one or more IP addresses comprise framed IP addresses.

17. The network device of claim 11, wherein the one or more IP addresses comprise static IP addresses.

18. A non-transitory computer readable medium storing a set of instructions, the set of instructions comprising: One or more instructions that, when executed by one or more processors of a network device, cause the network device to: receiving one or more indications of one or more Internet Protocol (IP) addresses; determining that the one or more IP addresses are associated with an Ethernet IPPoE subscriber; generating a mapping of the one or more IP addresses to an identifier of the IPoE subscriber based at least in part on determining that the one or more IP addresses are associated with the IPoE subscriber; receiving a network packet associated with at least one of the one or more IP addresses; as well as A network service associated with the network packet is performed on a per IPoE subscriber basis based at least in part on the mapping of the one or more IP addresses to the identifier of the IPoE subscriber.

19. The non-transitory computer readable medium of claim 18, wherein the one or more instructions, when executed by the one or more processors, further cause the network device to: determining that the one or more IP addresses have become unassociated with the IPoE subscriber; and The mapping of the one or more IP addresses to the identifier of the IPoE subscriber is removed based at least in part on determining that the one or more IP addresses have become unassociated with the IPoE subscriber.

20. The non-transitory computer-readable medium of claim 18, wherein the one or more IP addresses include one or more of an IP version 4 (IPv4) address, an IP version 6 (IPv6) address, a framed IP address, or a static IP address.