Controlling packet priority based on subscriber status

By dynamically determining and assigning control packet priorities based on the subscriber status of the client device in the network device, the impact of control packet discarding on the client device during network congestion is solved, and more efficient network resource management and stability improvement is achieved.

CN119254838APending Publication Date: 2025-01-03HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311103024.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-07-03
Filing Date
2023-08-30
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

In the event of network congestion, the discarding of control packets may have a serious impact on the client device, and it is difficult for the prior art to dynamically adjust the packet priority according to the subscriber status of the client device to reduce the impact of discarding.

Method used

After receiving the control packet, the network device dynamically determines the priority based on the subscriber status (unknown, initialized, or established) of the client device associated with the control packet, and sets the priority code point, differential service code point, or multi-protocol tag exchange experiment. Bits and other means allocate priority to ensure the transmission of critical control packets.

Benefits of technology

Through dynamic priority allocation, network devices can handle critical control packets more effectively, reduce the impact of discarded services on client devices, avoid destructive disposal, and improve network stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119254838A_ABST
    Figure CN119254838A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to controlling packet priority based on subscriber status. In some implementations, a network device may receive a control packet. The network device may determine a priority corresponding to a subscriber state of the client device associated with the control packet. The network device may assign a priority to the control packet. The network device may send a control packet.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate generally to the field of computers, and more particularly, to controlling packet priority based on subscriber status. Background Art

[0002] Network devices such as routers forward packets from source to destination across the network. When network congestion occurs, network devices can drop packets, which can relieve congestion. The destination does not receive the dropped packets. Summary of the invention

[0003] Some implementations described herein relate to a method. The method may include receiving, by a network device, a control packet. The method may include determining, by the network device, a priority corresponding to a subscriber state of a client device associated with the control packet. The method may include assigning, by the network device, a priority to the control packet. The method may include sending, by the network device, the control packet.

[0004] 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 are used to receive a control packet. The one or more processors are used to determine a priority corresponding to a subscriber state of a client device associated with the control packet. The one or more processors are used to assign a priority to the control packet. The one or more processors are used to send the control packet.

[0005] Some implementations described herein relate to a non-transitory computer-readable medium storing a set of instructions. The set of instructions, when executed by one or more processors of a network device, may cause the network device to receive a control packet. The set of instructions, when executed by one or more processors of the network device, may cause the network device to determine a priority corresponding to a subscriber state of a client device associated with the control packet. The set of instructions, when executed by one or more processors of the network device, may cause the network device to assign a priority to the control packet. The set of instructions, when executed by one or more processors of the network device, may cause the network device to send a control packet.

[0006] One aspect of the present disclosure provides a method, comprising: receiving a control packet by a network device; determining, by the network device, a priority corresponding to a subscriber status of a client device associated with the control packet; assigning, by the network device, the priority to the control packet; and sending, by the network device, the control packet.

[0007] According to one or more embodiments of the present disclosure, determining the priority includes: identifying the priority from multiple priorities, the multiple priorities including at least a first priority corresponding to an unknown subscriber state, a second priority corresponding to an initialized subscriber state, and a third priority corresponding to an established subscriber state.

[0008] According to one or more embodiments of the present disclosure, the first priority is lower than the second priority, and the second priority is lower than the third priority.

[0009] According to one or more embodiments of the present disclosure, sending the control packet includes: sending the control packet to a layer 2 L2 access network.

[0010] According to one or more embodiments of the present disclosure, assigning the priority to the control packet includes: setting one or more priority code point (PCP) bits of the control packet.

[0011] According to one or more embodiments of the present disclosure, the priority is higher than a priority associated with one or more data packets associated with the client device.

[0012] According to one or more embodiments of the present disclosure, the control packet is a Dynamic Host Configuration Protocol DHCP control packet.

[0013] According to one or more embodiments of the present disclosure, the control packet is a Point-to-Point Protocol over Ethernet (PPPoE) control packet.

[0014] Another aspect of the present disclosure provides a network device comprising: one or more memories; and one or more processors, for: receiving a control packet; determining a priority corresponding to a subscriber status of a client device associated with the control packet; assigning the priority to the control packet; and sending the control packet.

[0015] According to one or more embodiments of the present disclosure, in order to send the control packet, the one or more processors are configured to: send the control packet to an Internet Protocol Multi-Protocol Label Switching IP / MPLS network.

[0016] According to one or more embodiments of the present disclosure, in order to assign the priority to the control packet, the one or more processors are configured to: set one or more Differentiated Services Code Point (DSCP) bits of the control packet.

[0017] According to one or more embodiments of the present disclosure, in order to assign the priority to the control packet, the one or more processors are configured to: set one or more Multi-Protocol Label Switching (MPLS) experimental bits of the control packet.

[0018] According to one or more embodiments of the present disclosure, in order to send the control packet, the one or more processors are configured to: send the control packet via a control packet redirection interface CPRi.

[0019] According to one or more embodiments of the present disclosure, in order to send the control packet, the one or more processors are configured to: send the control packet via an N3 interface.

[0020] According to one or more embodiments of the present disclosure, in order to send the control packet, the one or more processors are configured to: send the control packet via an A10 interface.

[0021] According to one or more embodiments of the present disclosure, the control packet is sent via the N4 interface.

[0022] Yet another aspect of the present disclosure provides a non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising: one or more instructions which, when executed by one or more processors of a network device, cause the network device to: receive a control packet; determine a priority corresponding to a subscriber status of a client device associated with the control packet; assign the priority to the control packet; and send the control packet.

[0023] According to one or more embodiments of the present disclosure, the one or more instructions that cause the network device to determine the priority cause the network device to: identify the priority from multiple priorities, the multiple priorities including at least a first priority corresponding to an unknown subscriber state, a second priority corresponding to an initialized subscriber state, and a third priority corresponding to an established subscriber state.

[0024] According to one or more embodiments of the present disclosure, the one or more instructions causing the network device to send the control packet cause the network device to: send the control packet to a layer 2 access network.

[0025] According to one or more embodiments of the present disclosure, the one or more instructions causing the network device to send the control packet cause the network device to: send the control packet to an Internet Protocol Multi-Protocol Label Switching IP / MPLS network. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] Figure 1 is an illustration of an example implementation associated with controlling packet prioritization based on subscriber status.

[0027] Figure 2is an illustration of an example environment associated with controlling packet prioritization based on subscriber status.

[0028] Figure 3 is an illustration of an example environment in which the systems and / or methods described herein may be implemented.

[0029] Figure 4 is an illustration of example components of a device associated with controlling packet prioritization based on subscriber status.

[0030] Figure 5 is an illustration of example components of a device associated with controlling packet prioritization based on subscriber status.

[0031] Figure 6 is a flow diagram of an example process associated with controlling packet prioritization based on subscriber status. DETAILED DESCRIPTION

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

[0033] In a congested network, all control packets may have an equal probability of being dropped. However, dropping some control packets may create more severe problems than dropping other control packets. For example, dropping a control packet associated with a client device in one phase of connection establishment may have a greater impact on that client device than dropping another control packet associated with another client device in another phase of connection establishment. For example, a client device may experience a greater service disruption when one control packet is dropped over another control packet.

[0034] In some examples, dropping the first packet in a Dynamic Host Configuration Protocol (DHCP) or Point-to-Point Protocol over Ethernet (PPPoE) exchange may have less impact than dropping intermediate packets in the DHCP or PPPoE exchange. In some examples, control packets (e.g., renewal packets) associated with a client device in an established state may have a lower impact when dropped than the impact caused by a dropped close (e.g., release) packet. In some examples, dropping a keepalive / hello message (which may be time sensitive) may result in subscriber termination.

[0035] For example, in a congested network, a first user with an established network connection may send a DHCP update control packet, while a second user with an unestablished DHCP network connection may send a discovery control packet. The network may treat the update and discovery control packets as having equal priority, and therefore drop either packet with equal probability. However, if the discovery control packet is dropped, the client device may send a new discovery control packet with relatively little interruption, while dropping the renewal control packet may result in a loss of network connectivity. Therefore, the impact of the discovery control packet being dropped may be less than the impact of the update control packet being dropped.

[0036] Some implementations described herein enable determining the priority of control packets based on a subscriber state associated with a client device that sends or receives the control packets. In some examples, a network device such as a subscriber access device (e.g., an access gateway function (AGF), a broadband network gateway (BNG), etc.) can perform subscriber state-aware packet prioritization on control packets. For example, the network device can dynamically assign a priority to a control packet based on the subscriber state of a client device associated with the control packet.

[0037] As a result, subscriber state can be used as a proxy for the potential impact of dropping a given control packet, which can enable network devices to dynamically prioritize certain control packets over other control packets. Thus, more critical control packets can be treated with a higher priority than less critical control packets. For example, based on the priorities assigned to control packets, a congested network can drop control packets with lower priorities instead of dropping control packets with higher priorities, thereby reducing the overall impact of dropping control packets on client devices. Therefore, prioritizing control packets based on subscriber state may help prevent disruptive control traffic drops. For example, prioritization of control packets can help avoid significant impacts on client devices due to dropped control packets, such as requiring users to reconnect.

[0038] Figure 1 is an illustration of an example implementation 100 associated with controlling packet prioritization based on subscriber status. Figure 1 As shown, the example implementation 100 includes network equipment (e.g., subscriber access equipment, such as AGF, BNG, co-located BNG / AGF, etc.). Figure 2-Figure 5 Describe network devices in more detail.

[0039] As shown in the reference numeral 110, the network device may receive a control packet. The control packet may be any suitable control packet. In some examples, the control packet may be a DHCP control packet. Various DHCP control packets may be exchanged as part of a DHCP process for allocating an Internet Protocol (IP) address to a client device. The DHCP process may involve the transmission of a discovery, offer, request, and acknowledgement (DORA) packet. The client device may broadcast a discovery packet, which may be an initial request for an IP address. The client device may receive an offer packet from a DHCP server, which may include an indication of an IP address provided by the DHCP server for allocation to the client device. The client device may broadcast a request packet, which may request the IP address indicated in the offer packet. The client device may receive an acknowledgement packet from a DHCP server, which may contain configuration information (e.g., lease duration) related to allocating an IP address to the client device.

[0040] After the IP address has been assigned, the client device may send one or more renewal packets to the DHCP server requesting to renew the lease of the IP address assigned to the client device. Additionally or alternatively, the client device may send a release packet to the DHCP server requesting to deallocate the IP address. The DHCP control packet received by the network device may include any of the DORA, renewal, or release packets.

[0041] In some examples, the control packet may be a PPPoE control packet. Various PPPoE control packets may be exchanged to enable the client device to obtain an IP address. The PPPoE control packets may be exchanged during the PPPoE discovery phase and the PPPoE session phase. The PPPoE control packets exchanged during the PPPoE discovery phase may include a PPPoE active discovery initiation (PADI) packet, a PPPoE active discovery provision (PADO) packet, a PPPoE active discovery request (PADR) packet, and a PPPoE active discovery session confirmation (PADS) packet. The client device may broadcast a PADI packet that may request a service. The client device may receive a PADO packet from one or more servers (e.g., one or more access concentrators) that may provide a service, and the PADO packet may contain information about the corresponding server and / or service. The client device may send a PADR packet to one of the one or more servers, which may indicate the service (s) requested from the entity. The client device may receive a PADS packet from the server, which may indicate whether the entity accepts or rejects the PPPoE session.

[0042] The PPPoE session phase may involve a point-to-point protocol (PPP) negotiation, which may involve the client sending a link control protocol (LCP) request packet, the client device receiving an LCP request acknowledgment packet, the client device sending an IP control protocol (IPCP) request packet, and the client device receiving an IPCP request acknowledgment packet. The LCP request and request acknowledgment packets may enable the client device to negotiate a PPP connection. The IPCP request and request acknowledgment packets may enable the client device to obtain an IP address for the PPPoE session.

[0043] Additionally or alternatively, the client device may send a PPPoE keepalive packet to prevent loss of the PPPoE network connection. Additionally or alternatively, the client device may send a PPPoE Active Discovery Termination (PADT) packet, which may terminate the PPPoE session. The PPPoE control packet received by the network device may include any of a PADI, PADO, PADR, PADS, LCP request, LCP request confirmation IPCP request, IPCP request confirmation, keepalive, or PADT packet.

[0044] As shown at reference numeral 120, the network device determines a priority corresponding to a subscriber status of a client device associated with the control packet (e.g., a client device sending or receiving the packet). For example, the network device can determine a type of control packet, such as any of the DHCP or PPPoE control packets discussed above. Based on the type of control packet (which can correspond to a subscriber status of the client device), the network device can determine the priority.

[0045] In some examples, the network device may determine the priority by identifying the priority from a plurality of priorities. The plurality of priorities may include at least a first priority corresponding to an unknown subscriber state, a second priority corresponding to an initialized subscriber state, and a third priority corresponding to an established subscriber state. The unknown subscriber state may be a state in which the client has not attempted to establish a network connection (e.g., a state in which the client device has not attempted to obtain an IP address, such as via DHCP or PPPoE). The initialized subscriber state may be a state in which the client device is establishing a network connection (e.g., a state in which the client device is in the process of obtaining an IP address, such as via DHCP or PPPoE). The established subscriber state may be a state in which the client device has established a network connection (e.g., a state in which the client device has obtained an IP address, such as via DHCP or PPPoE).

[0046] The network device may classify a DHCP discovery packet or a PADI packet as a packet associated with an unknown subscriber state. The network device may classify a DHCP offer packet, a DHCP request packet, a DHCP acknowledgement packet, a PADO packet, a PADR packet, a PADS packet, a PPP negotiation packet, or a keep-alive packet sent before the end of the PPP negotiation as a packet associated with an initialized subscriber state. The network device may classify a DHCP renewal packet, a DHCP release packet, a PADT packet, or a keep-alive packet sent after the end of the PPP negotiation as a packet associated with an established subscriber state.

[0047] Identifying a priority from a plurality of priorities can enable a network device to determine a priority corresponding to a subscriber state. Determining a priority corresponding to a subscriber state can enable control packets to be prioritized according to the subscriber state, which can reduce the impact of dropped control packets on client devices.

[0048] In some examples, the first priority (corresponding to the unknown subscriber state) may be lower than the second priority (corresponding to the initialized subscriber state), and the second priority may be lower than the third priority (corresponding to the established subscriber state). For example, a control packet associated with the first priority (e.g., a DHCP discovery packet or a PADI packet) may have a lower priority than a control packet associated with the second priority (e.g., a DHCP offer packet, a DHCP request packet, a DHCP acknowledgement packet, a PADO packet, a PADR packet, a PADS packet, a PPP negotiation packet, or a keep-alive packet sent before the PPP negotiation ends), and a control packet associated with the second priority may have a lower priority than a control packet associated with the third priority (e.g., a DHCP renewal packet, a DHCP release packet, a PADT packet, or a keep-alive packet sent after the PPP negotiation ends).

[0049] The first priority is lower than the second priority, and the second priority is lower than the third priority, which can help reduce the impact of dropped control packets on the client device. For example, a control packet associated with an unknown subscriber state can be associated with a lowest priority because the control packet may have the lowest impact on the client device if it is dropped. A control packet associated with an initialized subscriber state can be associated with a medium priority because the control packet may have a medium impact on the client device if it is dropped. A control packet associated with an established subscriber state can be associated with a highest priority because the control packet may have the highest impact on the client device if it is dropped.

[0050] As shown at 130, the network device may assign a priority to the control packet. Figure 2Discussed in more detail, the network device may set one or more bits of the control packet. For example, the network device may set one or more bits in the header of the control packet. The bit(s) may indicate a priority assigned to the control packet. Assigning a priority to a control packet may enable the control packet to be processed (e.g., discarded or not discarded) based on the priority.

[0051] In some examples, the priority assigned to the control packet can be higher than the priority associated with one or more data packets associated with the client device. For example, in addition to assigning priorities to the control packets, the network device can also assign one or more priorities to the data packets. In some examples, the network device can assign the same priority to all data packets. Because a discarded data packet may have a smaller impact than any discarded control packets, assigning a higher priority to the control packet than the data packet can help reduce the impact on the client device by causing the data packet to be discarded before the control packet.

[0052] As shown in the reference numeral 140, the network device sends a control packet. Figure 2 Described in more detail, a network device can send a control packet to a network, such as a Layer 2 (L2) access network or an IP Multi-Protocol Label Switching (IP / MPLS) network. Sending the control packet can implement the enforcement of the priority assigned to the control packet. For example, the network can implement the priority assigned to the control packet. For example, a network device (e.g., a router, a switch, etc.) in the network can discard one or more control packets with a lower priority instead of discarding one or more control packets with a higher priority.

[0053] As mentioned above, providing Figure 1 As an example. Other examples may differ from the reference Figure 1 As described. Figure 1 The number and arrangement of devices shown in are provided as examples. Figure 1 There may be more devices, fewer devices, different devices, or differently arranged devices than those shown in FIG. Figure 1 Two or more of the devices shown in may be implemented in a single device, or Figure 1 The single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, Figure 1 A set of devices (eg, one or more devices) shown in FIG. 1 may perform the operations described as being performed by Figure 1 One or more functions performed by another set of devices shown in .

[0054] Figure 2is an illustration of an example environment 200 associated with controlling packet prioritization based on subscriber status. The environment 200 includes a layer 2 (L2) access network (e.g., a wired access network), a BNG user plane (BNG-UP) / AGF user plane (AGF-UP) device, an IP / MPLS network, a user plane function (UPF), and a core network. The environment 200 may also include a fifth generation (5G) control plane, a BNG / AGF control and user plane separation (CUPS) controller, and various servers configured to enable control plane operations (e.g., a Remote Authentication Dial-In User Service (RADIUS) server, a policy server, and a DHCP server).

[0055] Client devices (e.g., subscribers, customer premises equipment (CPE), residential gateways (RG), user equipment (UE), etc.) can be connected to the core network through a wired access network using wired access (e.g., information transmission on physical elements such as optical fiber, coaxial cable, twisted pair cable, etc.). When the client device is connected to the core network using wired access, the client device can send messages over the wired access. The wired access network may include an optical line terminal (OLT) that converts optical fiber signals (on the client device side) into electrical signals (on the BNG-UP / AGF-UP equipment side).

[0056] The BNG / AGF may route traffic to and from broadband remote access devices, such as digital subscriber line access multiplexers (DSLAMs), over an Internet Service Provider (ISP) network, and / or provide services such as marking, policing, and shaping. Environment 200 uses CUPS to separate BNG / AGF functionality into a BNG-UP / AGF-UP device and a BNG / AGF CUPS controller (e.g., a control plane BNG / AGF device). The BNG-UP / AGF-UP device may be a co-located BNG-UP device and AGF-UP device.

[0057] BNG-UP / AGF-UP devices can be Figure 1 For example, a BNG-UP / AGF-UP device may receive a control packet, determine a priority corresponding to a subscriber state of a client device associated with the control packet, assign the priority to the control packet, and transmit the control packet.

[0058] In some examples, the BNG-UP / AGF-UP device may receive a control packet from the L2 access network and send the control packet to the IP / MPLS network. For example, the BNG-UP / AGF-UP device may encapsulate the control packet in a General Packet Radio Service (GPRS) Tunneling Protocol (GTP) User Plane (GTP-U) header before sending the control packet to the IP / MPLS network. The BNG-UP / AGF-UP device may send the control packet sent by the client device to the IP / MPLS network. For example, in the case of a DHCP control packet, the BNG-UP / AGF-UP device may send a discovery packet, an acceptance packet, a renewal packet, a release packet, etc. to the IP / MPLS network.

[0059] The BNG-UP / AGF-UP device may send control packets via a control packet redirection interface (CPRi), an N3 interface, an A10 interface, and the like. The CPRi may transmit control packets between the BNG-UP / AGF-UP device and the BNG / AGF CUPS controller. The N3 interface may transmit control packets (and / or data packets) between the BNG-UP / AGF-UP device (e.g., the AGF portion of the BNG-UP / AGF-UP device) and the UPF. The A10 interface may transmit control packets between the BNG-UP / AGF-UP device (e.g., the BNG portion of the BNG-UP / AGF-UP device, because the AGF portion of the BNG-UP / AGF-UP device may not support the A10 interface) and the core network (e.g., bypassing the UPF). For example, the A10 interface may be a core network connection from the BNG-UP / AGF-UP device (e.g., from the BNG portion of the BNG-UP / AGF-UP device) to the Internet. In the case where a DHCP relay is involved, the BNG-UP / AGF-UP device may send control packets via the A10 interface. Control packets sent through the CPRi or N3 interface may be encapsulated in a GTP-U header. Control packets sent via the A10 interface may be encapsulated in a Generic Routing Encapsulation (GRE) header, an IP Security (IPSec) header, etc.

[0060] In some examples, control packets may be sent via the N4 interface. The N4 interface may transport control packets between the UPF and the session management function (SMF) in the 5G control plane. For example, the UPF may receive a control packet with a priority indicated in the GTP-U header from the BNG-UP / AGF-UP device via the N3 interface, and send a control packet with the same priority indicated in the GTP-U header via the N4 interface.

[0061] The BNG-UP / AGF-UP device can assign priority to the control packet by setting one or more differentiated services code point (DSCP) bits of the control packet or one or more multi-protocol label switching (MPLS) experimental bits of the control packet. The BNG-UP / AGF-UP device can set the DSCP bit or one or more MPLS experimental bits for the control packet sent to the IP / MPLS network (e.g., via CPRi, N3 interface, A10 interface, etc.). For example, the BNG-UP / AGF-UP device can dynamically overwrite the DSCP bit default value (which can be the same for all control packets) with the DSCP bit value corresponding to the subscriber state associated with the control packet. The DSCP bit can be located in the IP header of the GTP encapsulated packet.

[0062] The BNG-UP / AGF-UP device may set the DSCP bit or one or more MPLS experimental bits of the control packet in the outer GTP-U header. For example, the BNG-UP / AGF-UP device may not change the Quality of Service (QoS) flow identifier (QFI) in the GTP header or DSCP of the subscriber packet (e.g., the inner packet encapsulated within the GTP-U header). Therefore, the BNG-UP / AGF-UP device may not affect the inner packet. The BNG-UP / AGF-UP device may encapsulate the inner packet in the GTP-U header and may strip the GTP-U header from the inner packet when exiting IP / MPLS.

[0063] In some examples, the BNG-UP / AGF-UP device may receive a control packet from an IP / MPLS network and send the control packet to the L2 access network. The BNG-UP / AGF-UP device may send the control packet through a V interface or a Y5 interface. For example, the BNG function of the BNG-UP / AGF-UP device may send the control packet through a V interface, and the AGF function of the BNG-UP / AGF-UP device may send the control packet through a Y5 interface. The BNG-UP / AGF-UP device may send the control packet destined for the client device to the L2 access network. For example, in the case of a DHCP control packet, the BNG-UP / AGF-UP device may send a provision packet, an acknowledgment packet, etc. to the L2 access network.

[0064] The BNG-UP / AGF-UP device may assign a priority to a control packet by setting one or more priority code point (PCP) bits (e.g., 802.1P bits) of the control packet. The BNG-UP / AGF-UP device may set the PCP bits of a control packet sent to the L2 access network (e.g., via a V interface, a Y5 interface, etc.).

[0065] Thus, the priority assigned to the control packets can enable the control packets to be prioritized based on the subscriber status, which can improve the overall stability of the environment 200. In some examples, the control packets exchanged between the BNG-UP / AGF-UP device and the BNG / AGF CUPS controller (e.g., on CPRi) can be prioritized. In some examples, the control packets exchanged between the BNG-UP / AGF-UP device and the UPF (e.g., on the N3 interface) can be prioritized. In some examples, the control packets exchanged between the BNG-UP / AGF-UP device and the core network (e.g., on the A10 interface) can be prioritized. In some examples, the control packets exchanged between the UPF and the SMF (e.g., on the N4 interface) can be prioritized. In some examples, the control packets exchanged between the BNG-UP / AGF-UP device and the client device (e.g., on the V interface or the Y5 interface) can be prioritized. In some examples, the control packets can be prioritized based on the type of the control packet (e.g., whether the control packet is a keep-alive packet or a release packet). In some examples, packets exchanged between the BNG-UP / AGF-UP device and the UPF (eg, on the N3 interface) may be prioritized based on whether the packet is a control packet or a data packet.

[0066] Figure 3 is an illustration of an example environment 300 in which the systems and / or methods described herein may be implemented. Figure 3 As shown, environment 300 may include endpoint device 310, a set of network devices 320 (shown as network device 320-1 through network device 320-N), server device 330, and network 340. The devices of environment 300 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.

[0067] Endpoint device 310 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 310 may include a mobile phone (e.g., a smart phone or wireless phone), a user device, a laptop computer, a tablet computer, a desktop computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart watch, smart glasses, a heart rate monitor, a fitness tracker, smart clothing, smart jewelry, a head-mounted display), a network device, or a similar type of device. In some implementations, endpoint device 310 may receive network traffic from and / or provide network traffic to other endpoint devices 310 and / or server device 330 via network 340 (e.g., by using network device 320 as an intermediary to route packets).

[0068] The network device 320 includes one or more devices capable of receiving, processing, storing, routing and / or providing services (e.g., packets or other information or metadata) in the manner described herein. For example, one or more network devices 320 may include a BNG (e.g., a BNG-UP), an AGF (e.g., an AGF-UP), a BNG / AGF (e.g., a BNG-UP / AGF-UP device), etc. Additionally or alternatively, the network device 320 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 320 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 the like. In some implementations, the network device 320 may be a physical device implemented in a housing, such as a chassis. In some implementations, the network device 320 may be a virtual device implemented by one or more computer devices of a cloud computing environment or a data center. In some implementations, the set of network devices 320 may be a set of data center nodes used to route traffic flows through the network 340 .

[0069] Server device 330 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 330 may include a laptop computer, a tablet computer, a desktop computer, a group of server devices, or similar types of devices associated with multicast traffic. In some implementations, server device 330 may receive information from and / or send information (e.g., multicast traffic) to endpoint device 310 via network 340 (e.g., by using network device 320 as an intermediary to route packets).

[0070] The network 340 includes one or more wired and / or wireless networks. For example, the network 340 may include a packet switching network, a cellular network (e.g., a 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-optic-based network, a cloud computing network, etc., and / or a combination of these or other types of networks.

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

[0072] Figure 4 is an illustration of example components of a device 400 associated with controlling packet prioritization based on subscriber status. The device 400 may correspond to Figure 1 The network devices shown, Figure 2 BNG-UP / AGF-UP device, network device 320, etc. shown. In some implementations, Figure 1 The network devices shown, Figure 2 The BNG-UP / AGF-UP device, network device 320 shown may include one or more devices 400 and / or one or more components of a device 400. Figure 4 As shown, device 400 may include a bus 410 , a processor 420 , a memory 430 , an input component 440 , an output component 450 , and / or a communication component 460 .

[0073] The bus 410 may include one or more components that enable wired and / or wireless communications between components of the device 400. The bus 410 may connect components of the device 400 to each other, such as via an operational coupling, a communicative coupling, an electronic coupling, and / or an electrical coupling. Figure 4 Two or more components of a computer system are coupled together. For example, bus 410 may include electrical connections (e.g., wires, traces, and / or conductors) and / or wireless buses. Processor 420 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 another type of processing component. Processor 420 may be implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 420 may include one or more processors that can be programmed to perform one or more operations or processes described elsewhere herein.

[0074] The memory 430 may include volatile and / or non-volatile memory. For example, the memory 430 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 430 may include internal memory (e.g., RAM, ROM, or hard drive) and / or removable memory (e.g., removable via a universal serial bus connection). The memory 430 may be a non-transient computer-readable medium. The memory 430 may store information, one or more instructions, and / or software (e.g., one or more software applications) related to the operation of the device 400. In some implementations, the memory 430 may include one or more memories such as coupled (e.g., communicatively coupled) to one or more processors (e.g., processor 420) via bus 410. The communicatively coupled between the processor 420 and the memory 430 may enable the processor 420 to read and / or process information stored in the memory 430 and / or store information in the memory 430.

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

[0076] Device 400 can perform one or more operations or processes described herein. For example, a non-transient computer-readable medium (e.g., memory 430) can store a set of instructions (e.g., one or more instructions or codes) for execution by processor 420. Processor 420 can execute a set of instructions to perform one or more operations or processes described herein. In some implementations, a set of instructions is executed by one or more processors 420 to enable one or more processors 420 and / or device 400 to perform one or more operations or processes described herein. In some implementations, hard-wired circuits can be used to replace or combine instructions to perform one or more operations or processes described herein. Additionally or alternatively, processor 420 can be configured to perform one or more operations or processes described herein. Therefore, the implementation described herein is not limited to any specific combination of hardware circuits and software.

[0077] Figure 4The number and arrangement of components shown are provided as examples. Figure 4 Device 400 may include additional components, fewer components, different components, or differently arranged components than those shown in . 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.

[0078] Figure 5 is an illustration of example components of an apparatus 500 associated with controlling packet prioritization based on subscriber status. The apparatus 500 may correspond to Figure 1 The network devices shown, Figure 2 The BNG-UP / AGF-UP device and / or network device 320 shown. In some implementations, Figure 1 The network devices shown, Figure 2 The BNG-UP / AGF-UP device and / or network device 320 shown may include one or more devices 500 and / or one or more components of a device 500. Figure 5 As shown, the device 500 may include one or more input components 510-1 to 510-B (B≥1) (hereinafter collectively referred to as input component 510, and individually referred to as input component 510), a switching component 520, one or more output components 530-1 to 530-C (C≥1) (hereinafter collectively referred to as output component 530, and individually referred to as output component 530), and a controller 540.

[0079] The input component 510 may be one or more attachment points for a physical link and may be one or more entry points for incoming traffic such as packets. The input component 510 may process incoming traffic such as by performing data link layer encapsulation or decapsulation. In some implementations, the input component 510 may send and / or receive packets. In some implementations, the input component 510 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 500 may include one or more input components 510.

[0080] The switching component 520 can interconnect the input component 510 with the output component 530. In some implementations, the switching component 520 can be implemented via one or more crossbar switches, via a bus, and / or using a shared memory. The shared memory can be used as a temporary buffer to store packets from the input component 510 before they are ultimately scheduled to be delivered to the output component 530. In some implementations, the switching component 520 can enable the input component 510, the output component 530, and / or the controller 540 to communicate with each other.

[0081] The output component 530 can store packets and can schedule packets for transmission on an output physical link. The output component 530 can support data link layer encapsulation or decapsulation, and / or various higher-level protocols. In some implementations, the output component 530 can send packets and / or receive packets. In some implementations, the output component 530 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, the device 500 may include one or more output components 530. In some implementations, the input component 510 and the output component 530 can be implemented by the same component set (e.g., the input / output component can be a combination of the input component 510 and the output component 530).

[0082] The controller 540 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 application specific integrated circuit (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 540 may include one or more processors that can be programmed to perform a function.

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

[0084] In some implementations, the controller 540 can communicate with other devices, networks, and / or systems connected to the device 500 to exchange information about the network topology. The controller 540 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 510 and / or the output component 530. The input component 510 and / or the output component 530 can use the forwarding table to perform routing lookups for incoming and / or outgoing packets.

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

[0086] 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 540. When executed, the software instructions stored in the memory and / or storage component associated with the controller 540 may cause the controller 540 to perform one or more processes described herein. Additionally or alternatively, hardwired circuitry may be used instead 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.

[0087] Figure 5 The number and arrangement of components shown are provided as examples. Figure 5 Device 500 may include additional components, fewer components, different components, or differently arranged components than those shown in . Additionally or alternatively, a set of components (e.g., one or more components) of device 500 may perform one or more functions described as being performed by another set of components of device 500.

[0088] Figure 6 is a flow chart of an example process 600 associated with controlling packet prioritization based on subscriber status. In some implementations, Figure 6 One or more process blocks of may be performed by a network device (e.g., network device 400 or network device 500). In some implementations, Figure 6 One or more process blocks of are performed by another device or group of devices separate from or including the network device, such as an endpoint device (e.g., endpoint device 310), a network device (e.g., network device 320), and / or a server device (e.g., server device 330). Additionally or alternatively, Figure 6 One or more process blocks may be performed by: one or more components of device 400, such as processor 420, memory 430, input component 440, output component 450 and / or communication component 460, or one or more components of device 500, such as input component 510, switching component 520, output component 530 and / or controller 540.

[0089] like Figure 6As shown, process 600 may include receiving a control packet (block 610). For example, as described above, a network device may receive a control packet.

[0090] like Figure 6 As further shown, process 600 may include determining a priority for a subscriber status corresponding to a client device associated with the control packet (block 620). For example, as described above, the network device may determine a priority for a subscriber status corresponding to a client device associated with the control packet.

[0091] like Figure 6 As further shown, process 600 may include assigning a priority to the control packet (block 630). For example, as described above, the network device may assign a priority to the control packet.

[0092] like Figure 6 As further shown, process 600 may include sending a control packet (block 640). For example, as described above, the network device may send a control packet.

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

[0094] In a first implementation, determining the priority includes identifying a priority from a plurality of priorities including at least a first priority corresponding to an unknown subscriber state, a second priority corresponding to an initialized subscriber state, and a third priority corresponding to an established subscriber state.

[0095] In a second implementation, either alone or in combination with the first implementation, the first priority is lower than the second priority, and the second priority is lower than the third priority.

[0096] In a third implementation, alone or in combination with one or more of the first and second implementations, sending the control packet includes sending the control packet to a L2 access network.

[0097] In a fourth implementation, alone or in combination with one or more of the first to third implementations, assigning a priority to the control packet includes setting one or more PCP bits of the control packet.

[0098] In a fifth implementation, alone or in combination with one or more of the first to fourth implementations, the priority is higher than a priority associated with one or more data packets associated with the client device.

[0099] In a sixth implementation, alone or in combination with one or more of the first to fifth implementations, the control packet is a DHCP control packet.

[0100] In a seventh implementation, alone or in combination with one or more of the first to sixth implementations, the control packet is a PPPoE control packet.

[0101] In an eighth implementation, alone or in combination with one or more of the first to seventh implementations, sending the control packet includes sending the control packet to an IP / MPLS network.

[0102] In a ninth implementation, alone or in combination with one or more of the first to eighth implementations, assigning a priority to the control packet includes setting one or more DSCP bits of the control packet.

[0103] In a tenth implementation, alone or in combination with one or more of the first to ninth implementations, assigning a priority to the control packet includes setting one or more MPLS experimental bits of the control packet.

[0104] In an eleventh implementation, alone or in combination with one or more of the first to tenth implementations, sending the control packet includes sending the control packet via a CPRi.

[0105] In a twelfth implementation, alone or in combination with one or more of the first to eleventh implementations, sending the control packet includes sending the control packet via an N3 interface.

[0106] In a thirteenth implementation, alone or in combination with one or more of the first to twelfth implementations, sending the control packet includes sending the control packet via an A10 interface.

[0107] In a fourteenth implementation, alone or in combination with one or more of the first to thirteenth implementations, control packets are sent via the N4 interface.

[0108] although Figure 6 An example block diagram of process 600 is shown, but in some implementations, process 600 includes Figure 6 600. In some embodiments, the process 600 may include additional blocks, fewer blocks, different blocks, or blocks arranged in a different manner than those depicted in the process 600. Additionally or alternatively, two or more blocks of the process 600 may be executed in parallel.

[0109] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit 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 implementations.

[0110] 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 data, and / or another type of formatted or unformatted data unit capable of being transmitted via a network.

[0111] 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 is not a limitation of the implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code-it should be understood that based on the description herein, the systems and / or methods can be implemented using software and hardware.

[0112] Although specific combinations of features are recorded 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 ways that are not specifically recorded in the claims and / or disclosed in the specification. Although each dependent claim listed below may only directly depend on one claim, the disclosure of various implementations includes each dependent claim in combination with each other claim in the claim set. As used herein, a phrase referring to "at least one" in a list of items refers to any combination of these items, including single members. For 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.

[0113] Unless explicitly described, any element, act, or instruction used herein should not be interpreted as critical or essential. In addition, as used herein, the articles "a" and "an" are intended to include one or more items and can be used interchangeably with "one or more." In addition, as used herein, the article "the" is intended to include one or more items referenced in conjunction with the article "the" and can be used interchangeably with "the one or more." In addition, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, or a combination of related and unrelated items) and can be used interchangeably with "one or more." If only one item is intended, the term "set" is used interchangeably. Figure 1If there are only one item, the phrase "only one" or similar language is used. In addition, as used herein, the terms "having," "having," "containing," and the like are intended to be open-ended terms. In addition, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise. In addition, as used herein, when used in a series, the term "or" is intended to be inclusive and can be used interchangeably with "and / or" unless expressly stated otherwise (e.g., if used in conjunction with "any one" or "only one").

Claims

1. A method comprising: A control packet is received by a network device; determining, by the network device, a priority corresponding to a subscriber state of a client device associated with the control packet; assigning, by the network device, the priority to the control packet; and The control packet is sent by the network device.

2. The method of claim 1 , wherein determining the priority comprises: The priority level is identified from a plurality of priorities including at least a first priority level corresponding to an unknown subscriber state, a second priority level corresponding to an initialized subscriber state, and a third priority level corresponding to an established subscriber state. 3 . The method of claim 2 , wherein the first priority is lower than the second priority, and wherein the second priority is lower than the third priority.

4. The method of claim 1 , wherein sending the control packet comprises: The control packet is sent to a layer 2 L2 access network.

5. The method of claim 1 , wherein assigning the priority to the control packet comprises: One or more priority code point (PCP) bits of the control packet are set.

6. The method of claim 1, wherein the priority is higher than a priority associated with one or more data packets associated with the client device.

7. The method of claim 1, wherein the control packet is a Dynamic Host Configuration Protocol (DHCP) control packet.

8. The method of claim 1, wherein the control packet is a Point-to-Point Protocol over Ethernet (PPPoE) control packet.

9. A network device comprising: one or more memories; as well as One or more processors to: Receive control packets; determining a priority corresponding to a subscriber state of a client device associated with the control packet; assigning the priority level to the control packet; and The control packet is sent.

10. The network device of claim 9, wherein to send the control packet, the one or more processors are configured to: The control packet is sent to an Internet Protocol Multi-Protocol Label Switching IP / MPLS network.

11. The network device of claim 9, wherein to assign the priority to the control packet, the one or more processors are configured to: One or more Differentiated Services Code Point (DSCP) bits of the control packet are set.

12. The network device of claim 9, wherein to assign the priority to the control packet, the one or more processors are configured to: One or more Multi-Protocol Label Switching (MPLS) experimental bits of the control packet are set.

13. The network device of claim 9, wherein to send the control packet, the one or more processors are configured to: Said control packets are sent via a control packet redirection interface CPRi.

14. The network device of claim 9, wherein to send the control packet, the one or more processors are configured to: The control packets are sent via the N3 interface.

15. The network device of claim 9, wherein to send the control packet, the one or more processors are configured to: The control packets are sent via the A10 interface.

16. The network device of claim 9, wherein the control packet is sent via an N4 interface.

17. 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: Receive control packets; determining a priority corresponding to a subscriber state of a client device associated with the control packet; assigning the priority level to the control packet; and The control packet is sent.

18. The non-transitory computer-readable medium of claim 17, wherein the one or more instructions that cause the network device to determine the priority cause the network device to: The priority level is identified from a plurality of priorities including at least a first priority level corresponding to an unknown subscriber state, a second priority level corresponding to an initialized subscriber state, and a third priority level corresponding to an established subscriber state.

19. The non-transitory computer-readable medium of claim 17, wherein the one or more instructions that cause the network device to send the control packet cause the network device to: The control packet is sent to the layer 2 access network.

20. The non-transitory computer-readable medium of claim 17, wherein the one or more instructions that cause the network device to send the control packet cause the network device to: The control packet is sent to an Internet Protocol Multi-Protocol Label Switching IP / MPLS network.