CUPS BNG-based packet forwarding system, method, and non-transitory computer-readable storage medium
Through centralized CPF and standard protocols, the complex subscriber session management problem in traditional BNG systems is solved, efficient subscriber session mobility and load balancing are achieved, and the system is scalable and protocol compliance is maintained.
Patent Information
- Application Number
- CN202211441473.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-11-18
- Filing Date
- 2022-11-17
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2042-11-17
AI Technical Summary
In traditional broadband network gateways, BNG systems separated from the control and user plane are difficult to efficiently manage broadcast control services, and complex logic is required to integrate with external entities to achieve mobile and load balancing of subscriber sessions.
The centralized control plane function CPF is adopted to move sessions between multiple user plane functions through a standard protocol-based method. The EVPN VPLS and IGP/EGP protocols are used to intelligently manage subscriber sessions and select the designated broadcast forwarder DBF, which simplifies interaction with the access network and avoids the dependence of external load balancers.
It realizes efficient management of broadcast control services in a highly scalable environment, simplifies the movement and load balancing of subscriber sessions, maintains standard compliance of protocols, and reduces system complexity.
Smart Images

Figure CN116137582B_ABST
Abstract
Description
Technical Field
[0001] One or more example embodiments relate to distributed packet forwarding systems, methods, and / or non-transitory computer-readable storage media. Background Art
[0002] A broadband network gateway (BNG) is the access point through which network subscribers connect to a broadband network. Control and user plane separation in a broadband network gateway (CUPSBNG) is an example of a decomposed BNG. CUPS BNG, defined in Broadband Forum (BBF) Technical Report TR-459, is also known as a decomposed BNG. Summary of the Invention
[0003] The scope of protection sought for the various exemplary embodiments is defined by the independent claims. Exemplary embodiments and / or features described in this specification that do not fall within the scope of the independent claims, if any, are to be construed as examples useful for understanding the various embodiments.
[0004] Conventionally, a subscriber session is established on the user plane function (UPF) on which the broadcast request arrives. However, according to one or more example embodiments, the control plane function (CPF) can anchor the subscriber session on any UPF, regardless of the UPF through which the broadcast session request arrives.
[0005] One or more example embodiments provide a mechanism for controlling broadcast control traffic arriving from, for example, a virtual private local area network (LAN) service (VPLS) interconnected with multiple UPFs, toward a centralized CPF in a control and user plane separation border network gateway (CUPS BNG). To this end, one or more example embodiments provide broadcast inclusion, wherein the CPF can select a UPF as a designated broadcast forwarder (DBF) for sending broadcast control traffic toward the CPF.
[0006] One or more example embodiments relate to moving sessions between UPFs (packet forwarding systems) in a highly scalable environment without having to rely on external load balancers or additional logic that requires the control plane to integrate with external entities (e.g., entities external to the distributed packet forwarding system). One or more example embodiments may rely on standards-based protocols between nodes in the network. These standard protocols can be utilized by the distributed packet forwarding system in an intelligent manner.
[0007] One or more example embodiments are described with respect to the CUPS BNG and standards-based protocols Ethernet Virtual Private Network (EVPN) VPLS on the access side of the subscriber's network and Interior Routing Protocol (IGP) / Exterior Routing Protocol (EGP) Internet Protocol (IP) routing protocols on the "Internet" side. The CUPS BNG interacts with both in an intelligent manner while preserving the standards compliance of these protocols when interacting with external nodes.
[0008] One or more example embodiments do not require complex logic to interact with network elements in the access network to coordinate the movement of subscriber sessions between UPFs. Instead, standard protocols are relied upon.
[0009] At least one example embodiment provides a network element having a control plane function configured to communicate with a plurality of user plane functions. The network element includes at least one processor and at least one memory including computer program code. The at least one memory and the computer program code are configured to, with the at least one processor, cause the network element to: designate a first user plane function among the plurality of user plane functions as a designated broadcast forwarder, receive broadcast control traffic from the designated forwarder, and receive broadcast control traffic forwarded from (e.g., only) the first user plane function among the plurality of user plane functions.
[0010] At least one example embodiment provides a network element having a control plane function configured to communicate with a plurality of user plane functions. The network element includes means for designating a first user plane function among the plurality of user plane functions as a designated broadcast forwarder from which to receive broadcast control traffic, and means for receiving broadcast control traffic forwarded from (e.g., only) the first user plane function among the plurality of user plane functions.
[0011] At least one example embodiment provides a method of operating a network element having a control plane function configured to communicate with multiple user plane functions, the method comprising: designating a first user plane function among the multiple user plane functions as a designated broadcast forwarder, receiving a broadcast control service from the designated broadcast forwarder; and receiving a broadcast control service forwarded from (e.g., only) the first user plane function among the multiple user plane functions.
[0012] At least one example embodiment provides a non-transitory computer-readable medium storing computer-readable instructions that, when executed at a network element having a control plane function configured to communicate with multiple user plane functions, causes the network element to perform a method comprising: designating a first user plane function among the multiple user plane functions as a designated broadcast forwarder, receiving broadcast control services from the designated broadcast forwarder; and receiving broadcast control services forwarded from (e.g., only) the first user plane function among the multiple user plane functions.
[0013] According to one or more example embodiments, the broadcast control traffic may include at least one of a broadcast session request or a broadcast session initiation packet.
[0014] Broadcast control traffic may be received at each of the plurality of user plane functions.
[0015] Multiple user plane functions may be implemented at multiple server line cards at one or more network nodes.
[0016] The at least one memory and the computer program code may be configured to, with the at least one processor, cause the network element to designate the first user plane function by enabling a control protocol redirection interface between the first user plane function and a control plane function at the first user plane function.
[0017] The at least one memory and the computer program code may be configured to, with the at least one processor, cause the network element to disable a control protocol redirection interface at each of the plurality of user plane functions other than the first user plane function.
[0018] At least one memory and computer program code may be configured to, together with at least one processor, cause the network element to: detect a failure at a first user plane function; designate a second user plane function among a plurality of user plane functions as a designated broadcast forwarder in response to detecting the failure at the first user plane function; and receive subsequent broadcast control traffic forwarded from (e.g., only) the second user plane function among the plurality of user plane functions.
[0019] The control plane function may maintain a bidirectional forwarding detection session with each of the plurality of user plane functions.
[0020] At least one example embodiment provides a network element having a control plane function configured to communicate with a plurality of user plane functions. The network element includes at least one processor and at least one memory including computer program code. The at least one memory and the computer program code are configured to, with the at least one processor, cause the network element to establish a subscriber session on a first user plane function among the plurality of user plane functions in response to a request to establish a subscriber session, the subscriber session being established on the first user plane function among the plurality of user plane functions regardless of whether the request to establish the subscriber session was received at the control plane function via the first user plane function among the plurality of user plane functions.
[0021] At least one example embodiment provides a network element comprising: a control plane function configured to communicate with a plurality of user plane functions, the control plane function comprising: means for establishing a subscriber session at a first user plane function of the plurality of user plane functions in response to a request to establish a subscriber session, the subscriber session being established at the first user plane function of the plurality of user plane functions regardless of whether the request to establish the subscriber session is received at the control plane function via the first user plane function of the plurality of user plane functions.
[0022] At least one example embodiment provides a method of operating a network element having a control plane function configured to communicate with a plurality of user plane functions, the method comprising: establishing a subscriber session at a first user plane function among the plurality of user plane functions in response to a request to establish a subscriber session, establishing the subscriber session at the first user plane function among the plurality of user plane functions regardless of whether the request to establish the subscriber session was received at the control plane function via the first user plane function among the plurality of user plane functions.
[0023] At least one example embodiment provides a non-transitory computer-readable medium storing computer-readable instructions that, when executed at a network element having a control plane function configured to communicate with a plurality of user plane functions, cause the network element to perform a method comprising: establishing a subscriber session on a first user plane function among the plurality of user plane functions in response to a request to establish a subscriber session, establishing the subscriber session on the first user plane function among the plurality of user plane functions regardless of whether the request to establish the subscriber session is received at the control plane function via the first user plane function among the plurality of user plane functions.
[0024] At least one example embodiment provides a network element having a control plane function configured to communicate with at least a first user plane function and a second user plane function. The network element includes at least one processor and at least one memory including computer program code. The at least one memory and the computer program code are configured to, together with the at least one processor, cause the network element to: establish a first fate sharing group including a plurality of first subscriber sessions at the first user plane function, the first fate sharing group being associated with a first MAC address and a first subscriber IP subnet; establish the first fate sharing group at the second user plane function; and activate the first fate sharing group at (e.g., only) the first user plane function among the first and second user plane functions.
[0025] At least one example embodiment provides a network element having a control plane function, the control plane function being configured to communicate with at least a first user plane function and a second user plane function, the network element comprising: means for establishing, at the first user plane function, a first fate sharing group comprising a plurality of first subscriber sessions, the first fate sharing group being associated with a first MAC address and a first subscriber IP subnet; means for establishing the first fate sharing group at the second user plane function; and means for activating the first fate sharing group at (e.g., only) the first user plane function among the first user plane function and the second user plane function.
[0026] At least one example embodiment provides a method for operating a network element having a control plane function configured to communicate with at least a first user plane function and a second user plane function, the method comprising: establishing a first fate sharing group comprising a plurality of first subscriber sessions at the first user plane function, the first fate sharing group being associated with a first MAC address and a first subscriber IP subnet; establishing the first fate sharing group at the second user plane function; and activating the first fate sharing group at (e.g., only) the first user plane function among the first user plane function and the second user plane function.
[0027] At least one other example embodiment provides a non-transitory computer-readable medium storing computer-readable instructions that, when executed at a network element having a control plane function configured to communicate with at least a first user plane function and a second user plane function, causes the network element to perform a method comprising: establishing a first fate sharing group comprising a plurality of first subscriber sessions at the first user plane function, the first fate sharing group being associated with a first MAC address and a first subscriber IP subnet; establishing the first fate sharing group at the second user plane function; and activating the first fate sharing group at (e.g., only) the first user plane function among the first user plane function and the second user plane function.
[0028] At least one example embodiment provides a network element having a user plane function between a first network and a second network. The network element includes at least one processor and at least one memory including computer program code. The at least one memory and the computer program code are configured to, together with the at least one processor, cause the network element to: configure a first fate sharing group including a plurality of first subscriber sessions, the first fate sharing group being associated with a first MAC address and a first subscriber IP subnet; configure a second fate sharing group including a plurality of second subscriber sessions, the second fate sharing group being associated with a second MAC address and a second subscriber IP subnet, and the second fate sharing group being configured and active on another user plane function; activate the first fate sharing group at the user plane function; and deactivate the second fate sharing group at the user plane function.
[0029] At least one example embodiment provides a network element having a user plane function between a first network and a second network, the network element comprising: means for configuring a first fate sharing group comprising a plurality of first subscriber sessions, the first fate sharing group being associated with a first MAC address and a first subscriber IP subnet; means for configuring a second fate sharing group comprising a plurality of second subscriber sessions, the second fate sharing group being associated with a second MAC address and a second subscriber IP subnet, and the second fate sharing group being configured and active on another user plane function; means for activating the first fate sharing group at the user plane function; and means for deactivating the second fate sharing group at the user plane function.
[0030] At least one example embodiment provides a method of operating a network element having a user plane function between a first network and a second network, the method comprising: configuring a first fate sharing group including a plurality of first subscriber sessions, the first fate sharing group being associated with a first MAC address and a first subscriber IP subnet; configuring a second fate sharing group including a plurality of second subscriber sessions, the second fate sharing group being associated with a second MAC address and a second subscriber IP subnet, and the second fate sharing group being configured and active on another user plane function; activating the first fate sharing group at the user plane function; and deactivating the second fate sharing group at the user plane function.
[0031] At least one other example embodiment provides a non-transitory computer-readable medium storing computer-readable instructions that, when executed at a network element having a user plane function between a first network and a second network, cause the network element to perform a method comprising: configuring a first fate sharing group including a plurality of first subscriber sessions, the first fate sharing group being associated with a first MAC address and a first subscriber IP subnet; configuring a second fate sharing group including a plurality of second subscriber sessions, the second fate sharing group being associated with a second MAC address and a second subscriber IP subnet, and the second fate sharing group being configured and active on another user plane function; activating the first fate sharing group at the user plane function; and deactivating the second fate sharing group at the user plane function.
[0032] According to one or more example embodiments, the first network may be an access network, and the at least one memory and the computer program code may be configured to, with the at least one processor, cause the network element to activate a first fate sharing group by: maintaining forwarding state for a plurality of first subscriber sessions; advertising a first MAC address into the access network; and advertising the first subscriber IP subnet into the second network.
[0033] The at least one memory and the computer program code may be configured to, with the at least one processor, cause the network element to deactivate the second fate sharing group by maintaining forwarding state for the plurality of second subscriber sessions.
[0034] The at least one memory and the computer program code may be configured to, with the at least one processor, cause the network element to: advertise the second MAC address into the access network with a lower metric relative to advertising the first MAC address into the access network; and advertise the second subscriber IP subnet into the second network with a lower metric relative to advertising the first subscriber IP subnet into the second network.
[0035] The at least one memory and the computer program code may be configured to, with the at least one processor, cause the network element to activate a second fate sharing group on the user plane function.
[0036] The at least one memory and the computer program code may be configured to, with the at least one processor, cause the network element to activate the second fate sharing group by advertising the second MAC address into the access network and advertising the second subscriber IP subnet into the second network.
[0037] The at least one memory and the computer program code may be configured to, with the at least one processor, cause the network element to deactivate the second fate sharing group by maintaining forwarding state for the plurality of second subscriber sessions without advertising the second MAC address into the access network or without advertising the second subscriber IP subnet into the second network.
[0038] At least one other example embodiment provides a network element having user plane functionality with control and user plane separation in a broadband network gateway between a first network entity and a second network entity. The network element includes at least one processor and at least one memory including computer program code. The at least one memory and the computer program code are configured to, with the at least one processor, cause the network element to: determine whether a MAC address received from the first network entity is present at the second network entity, the first network entity being one of a subscriber management module or a border gateway protocol entity, and the second network entity being the other of the subscriber management module or the border gateway protocol entity, and in response to determining that the MAC address is present at the second network entity, update a forwarding database for the user plane functionality.
[0039] According to one or more example embodiments, at least one memory and computer program code may be configured to, with at least one processor, cause a network element to query a second network entity to determine whether a MAC address exists at the second network entity.
[0040] The at least one memory and the computer program code may be configured to, with the at least one processor, cause the network element to update the forwarding database by adding the MAC address.
[0041] The forwarding database may be configured to store MAC addresses corresponding only to subscriber sessions established at the user plane function. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Example embodiments will become more fully understood from the detailed description given below and the accompanying drawings, in which like elements are represented by like reference numerals, which are given by way of illustration only and thus do not limit the present disclosure.
[0043] Figure 1 A Control and User Plane Separation Border Network Gateway (CUPS BNG) system implementing a method for controlling broadcast requests according to example embodiments is illustrated.
[0044] Figure 2 Illustrated is a portion of a network including a CUPS BNG implementing a method for traffic steering of a UPF towards a subscriber session according to an example embodiment.
[0045] Figure 3Ais a flowchart illustrating a method according to an example embodiment.
[0046] Figure 3B is a flowchart illustrating another method according to an example embodiment.
[0047] Figure 4 Illustrated are example embodiments of a network node that may implement a user plane function (UPF) and / or a control plane function (CPF).
[0048] Figure 5 is a flowchart illustrating another method according to an example embodiment.
[0049] It should be noted that these figures are intended to illustrate the general characteristics of methods, structures, and / or materials utilized in certain example embodiments and to supplement the written description provided below. However, these figures are not drawn to scale and may not precisely reflect the precise structure or implementation characteristics of any given embodiment, and should not be interpreted as defining or limiting the range of properties or values encompassed by example embodiments. The use of similar or identical reference numerals in the various figures is intended to indicate the presence of similar or identical elements or features. DETAILED DESCRIPTION
[0050] Various example embodiments will now be described more fully with reference to the accompanying drawings, in which some example embodiments are shown.
[0051] Detailed illustrative embodiments are disclosed herein. However, the specific structural and functional details disclosed herein are representative only for the purpose of describing the exemplary embodiments. However, the exemplary embodiments may be embodied in many alternative forms and should not be construed as being limited to the embodiments set forth herein.
[0052] It should be understood that there is no intention to limit the exemplary embodiments to the specific forms disclosed. On the contrary, the exemplary embodiments will cover all modifications, equivalents and substitutes that fall within the scope of this disclosure. Throughout the description of the drawings, the same numbers refer to the same elements.
[0053] Although one or more example embodiments may be described from the perspective of functions or network elements such as network nodes or broadband network gateways (BNGs), line cards, servers, etc., it should be understood that one or more example embodiments discussed herein may be performed by one or more processors (or processing circuits) at an applicable device, apparatus, or system. For example, according to one or more example embodiments, at least one memory may include or store computer program code, and the at least one memory and the computer program code may be configured to, together with at least one processor, cause the network element to perform the operations discussed herein.
[0054] As discussed herein, the term "mechanism," in addition to its plain and ordinary meaning, may also refer to an applicable method, apparatus, and / or non-transitory computer-readable storage medium.
[0055] As discussed herein, the terms "one or more" and "at least one" can be used interchangeably.
[0056] It would be logical that several example embodiments could be used in combination.
[0057] A general packet forwarding system can be roughly abstracted into three components: the user plane (or user plane function (UPF)), the control plane (or control plane function (CPF)), and the management plane (or management plane function (MPF)).
[0058] The CPF is responsible for maintaining the subscriber session state and providing information to the UPF.
[0059] The UPF is responsible for moving packets from ingress to egress through the system and independently interacts with other nodes in the network through various routing protocols, such as Ethernet Virtual Private Network (EVPN), Border Gateway Protocol (BGP), Interior Gateway Protocol (IGP), etc. For example, the UPF is responsible for setting up the forwarding structure required to forward subscriber traffic based on information from the CPF.
[0060] The MPF is concerned with providing external access to the system and providing information about the operational status of the system.
[0061] In an integrated packet forwarding system, at least the UPF and CPF are integrated into the same physical system in the network, represented as a single node (with self-contained hardware and software). Such a packet forwarding system can manage its resources with self-contained logic. For example, if the system is maintaining session state for which it is also forwarding packets, then logic within the system can be used to distribute sessions across line cards without external assistance (e.g., via a load balancer). The logic behind resource utilization resides and is executed in the CPF of the system itself.
[0062] In a distributed packet forwarding system, the CPF for session management is extracted from the packet forwarding nodes themselves and placed in a centralized and remote (e.g., cloud) location, where the CPF maintains the state of multiple UPFs, each of which can be a separate physical system (e.g., a separate line card and / or network node) that pushes packets through the network.
[0063] As briefly mentioned above, the control and user plane separation in the broadband network gateway (CUPS BNG) is an example of a decomposed BNG within a distributed packet forwarding system. The CUPS BNG can be located between the access network side and the Internet of Things of the network. On the access network side, subscribers (e.g., via customer premises equipment (CPE)) can communicate with the CUPS BNG via access nodes.
[0064] In the CUPS BNG, subscriber-related control plane functions are extracted to the centralized CPF. However, as similarly mentioned above, other non-subscriber management control functions (e.g., routing protocols, EVPN services, etc.) remain at the UPF. Management plane functions are also retained at the UPF. In the CUPS BNG, the session management interface between the CPF and UPF is based on the Packet Forwarding Control Protocol (PFCP) defined in 3GPP document 29.244.
[0065] The BNG or CUPS BNG in a distributed packet forwarding system acts as the intelligent component in the network that controls access to subscribers. Therefore, the BNG must be aware of each subscriber being served. To this end, each subscriber is set up as a stateful session (referred to herein as a subscriber session) in the BNG (e.g., in the UPF), typically based on the Dynamic Host Configuration Protocol (DHCP) or Point-to-Point Protocol over Ethernet (PPPoE). This session awareness ensures that the BNG provides the subscriber with various CPF functions (e.g., authentication, billing, policy identification, etc.) as well as data plane functions (DPF), such as security (e.g., anti-spoofing, etc.), quality of service (QoS), and / or various forwarding statistics. Once a subscriber session is established between the subscriber and the BNG at the CPF level, the subscriber can communicate with the outside world (e.g., the Internet) via the data path through the UPF.
[0066] To avoid any proprietary interfaces between access nodes in the access network connected to the CUPS BNG, standards-based technologies such as EVPN Virtual Private Local Area Network (LAN) Service (VPLS) (or EVPN Multipoint or ELAN) can be deployed in the access network. The CUPS BNG (e.g., via the UPF) can directly connect to the EVPN VPLS-based access network.
[0067] On the access network side, each UPF advertises appropriate routes (MAC addresses) to the access network so that traffic from a subscriber (eg, via a CPE) is routed to the UPF on which the corresponding subscriber session is established.
[0068] On the "Internet" side, the IP address of the subscriber session is announced only from the UPF hosting the subscriber session so that the return traffic toward the subscriber session in the downstream direction (from the Internet to the subscriber) flows through the same UPF as the upstream traffic from the subscriber toward the UPF. For example, this symmetrical traffic flow can help ensure QoS guarantees for traffic on the UPF to simplify billing, troubleshooting, management functions and / or provide a basis for potential value-added services.
[0069] With EVPN VPLS in the access network, subscribers can virtually connect to any UPF in the VPLS without rewiring the access network. This is achieved through various tunneling technologies supported in EVPN and defined by the IETF. Traffic from subscribers is directed (or routed) to the appropriate UPF via the UPF advertising local routes to the access node. These routes are based on MAC addresses in the VPLS environment.
[0070] The MAC address advertised from the UPF to the access node represents the MAC address of the default IP gateway for an Internet Protocol over Ethernet (IPoE) subscriber or a Point-to-Point Protocol (PPP) Termination and Aggregation (PTA) endpoint for a PPPoE subscriber. Typically, subscribers sharing a default IP gateway or PTA endpoint belong to the same IP subnet. In this way, the IP addresses assigned to these subscribers are from the same IP subnet.
[0071] A UPF can support multiple default IP gateways (also referred to as IP default gateways) or PPPoE endpoints, each with a unique MAC address or a shared MAC address (i.e., multiple subnets, each with their own default IP gateway, can share a MAC address). Thus, subscribers associated with a given UPF can be grouped into smaller units, each with a unique MAC address, which can then be moved between UPFs for various purposes, such as load balancing of subscriber sessions across UPFs or grouping of services with different forwarding characteristics (e.g., latency, delivery guarantees, etc.).
[0072] The CPF distributes or assigns subscriber sessions between UPFs during session instantiation time. To assign a subscriber session, the CPF uses logic to select a UPF from among multiple UPFs. The logic can be based on session load, required service characteristics (such as latency, bandwidth, etc.). Once a subscriber session is pinned to a given UPF, the CPF can move the subscriber session to another UPF during the lifecycle of the subscriber session for the same or substantially the same reasons as when the subscriber session was first established (e.g., load rebalancing). Since subscriber sessions may be located relatively arbitrarily among UPFs, coordination with access nodes in the access network may be required to ensure that traffic originating from the subscriber is attracted to the UPF on which the corresponding subscriber session is established.
[0073] The access node does not need to be directly aware of this mapping to avoid any proprietary coordination. Instead, the access node relays MAC address advertisements based on standard protocols (e.g., EVPN) and is unaware of where the subscriber is assigned. To this end, according to one or more example embodiments, the access node can forward traffic based on the destination MAC address, which is the MAC address of the default IP gateway.
[0074] One or more example embodiments also provide methods, apparatus, and / or non-transitory computer-readable storage media for controlling the location of UPFs used for subscriber sessions based on, for example, session load balancing across UPFs or selecting a UPF with certain service forwarding characteristics (e.g., latency, bandwidth, etc.).
[0075] Traditionally, broadcast messages in a VPLS environment are propagated to all attachment points that are not in the same split horizon group. In the context of a CUPS BNG, broadcast messages destined for and processed by the CPF arrive from each UPF that receives the broadcast message. Examples of such broadcast messages include broadcast session requests or session initiation packets (DHCPv4 DORA, PPPoE PADx, DHCPv6 solicit / advertise / request / reply, etc.).
[0076] According to one or more example embodiments, the CPF designates a UPF from among multiple UPFs as a designated broadcast forwarder (DBF) (or DBF UPF) by enabling a control plane redirection interface (CPRi) at only one DBF UPF. All other UPFs maintain the configured CPri with the CPF, but their status remains disabled until the UPF is promoted to a DBF by the CPF. This will be discussed below with respect to Figure 1 and Figure 5 Further discussion.
[0077] According to one or more example embodiments, the CPF may establish a subscriber session on any UPF in the EVPN VPLS regardless of (or independent of) the UPF on which the session establishment request (such as a broadcast session request (e.g., DHCP Discover, PPPoE PADI, etc.) arrives. The CPF may use any suitable algorithm based on given criteria to select the UPF on which to establish (or move) the subscriber session. For example, the CPF may select the least utilized UPF during the subscriber session establishment phase to improve (e.g., optimize) the subscriber session distribution on the UPFs. This will be discussed later with respect to Figure 1 Discuss in more detail.
[0078] In the CUPS BNG, the CPF can group subscriber sessions together to aggregate IP routes on the "Internet" side. On the access network side, the subscriber management module on the UPF informs the EVPN VPLS of the MAC address required for it to reach this group of subscriber sessions. The EVPN VPLS then advertises the MAC address to the access network, ensuring that the access network knows the path to the correct UPF for the subscriber session. When the CPF moves a subscriber session between UPFs (e.g., in a controlled manner), the subscriber management module republishes the MAC address into the EVPN VPLS to establish a new path to the new UPF.
[0079] One or more example embodiments provide a mechanism for advertising a destination MAC address for a subscriber session group from a UPF so that traffic for the session is attracted to the UPF on which the subscriber session group is established. If the subscriber session group is relocated to another UPF, the same MAC address can be re-advertised from the new UPF.
[0080] In more detail, for example, the CPF can group subscriber sessions on each UPF together into a fate sharing group (FSG). In an FSG, all subscriber sessions share a common default gateway IP / MAC address for the IPoE subscriber group, a common aggregation endpoint and MAC address for the PPPoE subscriber group, and one or more common IP subnets under which subscribers are grouped. Therefore, the IP addresses assigned to subscribers under the same FSG belong to the same subnet(s). On the network side, this helps to achieve improved routing aggregation for each FSG on the network side. As discussed herein, subscriber IP subnet(s) (or IP subnet sets) and default IP gateway(s) (or default IP gateway sets) for IPoE subscribers or PTA endpoints and associated MAC addresses (or multiple) for PPPoE subscribers) (referred to as FSG MACs) can be referred to as an FSG duo.
[0081] Because an FSG is bound to one or more subscriber IP subnets, the subscriber IP subnet(s) are advertised to the network via routing protocols. In this way, downstream traffic is attracted to the UPF hosting the active FSG for the subscriber group. For more granular control over subscribers, an FSG can be associated with a single subnet, which may accommodate a smaller number of sessions.
[0082] According to one or more example embodiments, an FSG with the same FSG duo may be configured on multiple UPFs, but need not be activated. However, only one UPF serves a subscriber that shares the FSG duo. Therefore, an FSG with the same FSG duo may be activated on only one UPF among the UPFs between the CPF and the subscriber. This helps ensure symmetric traffic flow (uplink and downlink through the same UPF) for the subscriber, which is important (e.g., critical) for consistent and simplified billing and QoS. As discussed herein, an active FSG refers to an FSG that actively serves subscribers of the FSG at the UPF, while a standby (or inactive) FSG refers to an FSG that is configured at the UPF but is not actively served by the UPF.
[0083] According to one or more example embodiments, for an active FSG with a given FSG duo at a UPF, the UPF (i) maintains forwarding state for subscriber sessions in the FSG at the UPF; (ii) advertises the FSG MAC address into the access network toward access nodes (to attract subscriber traffic to the appropriate UPF for the FSG, which terminates the subscriber session); and (iii) advertises the subscriber IP subnet to the Internet side of the network (to attract traffic from the Internet to the subscriber at the correct UPF). The UPF advertises the FSG MAC address toward the access node via EVPN BGP. The FSG MAC address announcement via EVPN BGP is triggered at the UPF by subscriber management (e.g., Gratuitous Address Resolution Protocol (GARP) or by subscriber management directly populating a static MAC group into the VPLS MAC table). In the GARP example, subscriber management can dynamically notify EVPN of the MAC addresses that need to be announced via GARP. In this example, subscriber management sends a GARP message, which is picked up by EVPN, and EVPN announces the MAC address within GARP via BGP. In this example, routes may be advertised only on the active (and not the standby) UPF / FSG.
[0084] In a static MAC group, subscriber management statically programs MAC routes into the EVPN. In this case, both the active and standby UPFs may advertise MAC and subscriber routes, although the standby UPF may advertise routes at a higher cost (e.g., lower priority). In this example, the routes are UPF / FSG-aware, which is provided by subscriber management.
[0085] Two UPFs may simultaneously advertise the same route into the network, albeit with different associated costs. In this case, the UPF with an active FSG may advertise the route at a lower cost (e.g., higher priority) than the UPF with the corresponding FSG in an inactive (standby) state. This assumes that the routing processes in the UPFs are aware of the FSG activity in order to adjust the costs of routes associated with the FSG. The approach of two UPFs advertising the same route with different metrics may mitigate (e.g., minimize) service disruption and / or improve routing stability during transient conditions when sessions move between UPFs.
[0086] UPFs with standby FSGs can maintain forwarding state for subscriber sessions, but may not advertise the FSG MAC address into the access network nor the subscriber IP subnet to the Internet side of the network, or they may advertise the FSG MAC address but at a higher cost (lower priority) than the active UPF.
[0087] By using active and standby FSGs across UPFs, subscriber sessions (and FSGs) can be moved between UPFs to, for example, rebalance traffic. The smaller size of subscriber IP subnets attached to FSGs can allow for more granular rebalancing of traffic.
[0088] According to one or more example embodiments, multiple FSGs can be active on a given UPF as long as the FSG MAC address of each FSG is unique. For example, a view of the UPFs and FSGs is maintained in the CPF, and in a load balancing use case, the CPF determines on which UPF the FSG should be activated. FSGs can be used in various resiliency scenarios, and in such cases, the UPF can provide feedback to the CPF on where to move the FSG.
[0089] Rebalancing of subscriber sessions (e.g., by moving FSGs) can be triggered in a controlled manner (e.g., based on thresholds or operator-driven). At this point, the CPF can deactivate the FSG duo on the more loaded UPF and activate the same FSG duo on the newly selected, less loaded UPF.
[0090] Sharing the FSG MAC address between FSGs but activating it only on a single device may be important for directing traffic in VPLS. Thus, the solution is independent of the session type (IPoE or PPPoE) or deployment type (subscriber per VLAN, service per VLAN, or flat network). This example embodiment will be discussed below with respect to Figure 2 Further discussion.
[0091] According to one or more example embodiments, by moving subscriber sessions across UPFs, external entities specifically designed for load balancing can be omitted. This can alleviate the need for additional intelligence in the network, combined with a load balancing device or controller that directs subscriber sessions in the access network to the appropriate UPF through some additional mechanism (e.g., via NETCONF configuration, etc.). Instead, one or more example embodiments rely on native EVPN mechanisms that are intelligently leveraged by CUPS, and control is entirely contained within the CUPS BNG system.
[0092] The ability to control session location, both initially and after a subscriber session is established, can provide network operators with opportunities to better utilize network resources or adhere to service level agreements (SLAs).
[0093] Although only one UPF is activated for a subscriber session (e.g., the UPF serving the subscriber session), the MAC address of the default IP gateway is shared among candidate UPFs on which the same subscriber session may be active (or established). Thus, the serving UPF is "active" while the other UPFs are "inactive" or "standby." Although some examples are discussed with respect to completely suppressing advertisements from standby UPFs, the standby UPFs may completely suppress advertisements of routes in the network or advertise routes with one or more less preferred (lower) metrics. Example metrics include a (e.g., higher) cost associated with a given path.
[0094] If routes on the standby UPF are advertised with a lower metric, the routing protocol advertising those routes should be aware of the FSG state (active / standby). Subscriber management can build this awareness into the routes by associating them with a "route label" that represents the FSG state. Routing policies can then assign metrics / costs to routes based on the route label.
[0095] On the "Internet" side, advertisements of IP routes in the IP network are bound to the UPF for establishing subscriber sessions, which requires interaction between an IP router (e.g., a Border Gateway Protocol (BGP) routing service, sometimes referred to herein as BGP) and a subscriber management (SM) module. One or more example embodiments provide a mechanism for communication between the subscriber management module and the IP router, wherein only IP routes for locally established sessions are advertised.
[0096] One or more example embodiments also provide a mechanism for controlling the insertion of MAC addresses into the forwarding fabric in a more optimal manner that may allow for higher subscriber scaling in a CUPS BNG.
[0097] The expanded CUPS BNG system may require local learning of MAC addresses for subscriber sessions at the UPF. In an EVPN VPLS environment, the MAC addresses of all nodes participating in communications within the VPLS are learned via BGP. Each UPF maintains the MAC addresses of all subscribers in its BGP database. However, installing all of these MAC addresses in the local data plane (e.g., in the forwarding database (FDB)) may increase (e.g., significantly increase) the potential for resource exhaustion in the local data plane, as the CUPS BNG potentially supports tens of millions of subscribers and MAC addresses. This is true across vendors. To reduce the potential for such resource exhaustion, one or more example embodiments provide a mechanism for installing only MAC addresses for subscriber sessions locally instantiated on the UPF in the local data plane. MAC addresses for subscriber sessions anchored in other UPFs are not installed locally in the data plane. This local subscriber awareness in EVPN VPLS is provided through direct interaction between the subscriber management module (also referred to as subscriber management or subscriber management component or entity), EVPN components, and BGP within the UPF. Furthermore, the mechanism according to the example embodiment is self-contained within CUPS BGP and does not depend on the access node to color the routes during advertisement, so that only the colored routes are imported into the data plane on the UPF via the routing policy. This will be discussed later with respect to Figure 3A and Figure 3B Have more discussion.
[0098] Figure 1 FIGURE 1 illustrates a CUPS BNG system implementing a method for controlling broadcast requests according to an example embodiment. In addition to the discussion set forth below, it should be understood that Figure 1 The components and / or elements (eg, subscribers, access nodes, UPFs, CPFs, etc.) shown in FIG may include and / or implement the functionality discussed above. Therefore, for the sake of brevity, some details discussed above will not be repeated below.
[0099] See also Figure 1 , CUPS B NG includes a plurality of UPFs 106-1 and 106-2 communicating with a plurality of access nodes (ANs) 104-1, 104-2, and 104-3, which serve a plurality of subscribers 102-1, 102-2, 102-3, 102-4, ... 102-N. Each UPF 106-1 and 106-2 may be implemented as one or more line cards at a network node, a broadband network gateway (BNG), etc. Each of the UPFs 106-1 and 106-2 may include a subscriber module (SM), a BGP module (e.g., including a BGP database), and an EVPN module. Although for simplicity, the following description is provided in detail. Figure 1Only two UPFs and three access nodes are shown in FIG, but example embodiments should not be limited to this example. Instead, any number of UPFs and access nodes may be included in the CUPS BNG system.
[0100] UPFs 106-1 and 106-2 communicate bidirectionally with CPF 108 over a session management control interface (e.g., based on the Packet Forwarding Control Protocol (PFCP)) and a Control Plane Redirection Interface (CPRi) based on the General Packet Radio Service (GPRS) Tunneling Protocol (GTP-u). As discussed herein, the portion of the network including subscribers and access nodes may be referred to as the "access side" or "access network side," while the network side including the Internet may be referred to as the "Internet side."
[0101] The CPF 108 is a centralized CPF located at, for example, a cloud network node or other remote location, which is a physical entity separate from the locations of the UPFs 106 - 1 and 106 - 2 .
[0102] According to at least this example embodiment, the CPF 108 selects one UPF from among the UPFs 106-1 and 106-2 as the DBF UPF by, for example, enabling a default CPRi between the UPF and the CPF 108 and disabling a default CPRi between the other UPF and the CPF 108. In one example, the CPF 108 may select the UPF 106-2 as the DBF UPF, enable a default CPRi (active CPRi) between the UPF 106-2 and the CPF 108, and disable a default CPri (standby CPri) between the UPF 106-1 and the CPF 108.
[0103] By designating UPF 106-2 as a DBF UPF, as data traffic to and from subscribers traverses UPFs 106-2 and 106-1 via the data path, subscriber control traffic (e.g., such as subscriber session control packets, broadcast session initiation packets, etc.) is diverted and forwarded only from UPF 106-2 to CPF 108. By designating UPF 106-2 as a DBF UPF, broadcast traffic sent toward CPF 108 can be limited to a single copy.
[0104] When the state of the default CPri at UPF 106-1 is disabled, UPF 106-1 maintains the configured default CPri with CPF 108 to enable faster failover in response to detecting a failure of UPF 106-2. In one example, in response to the failure of UPF 106-2, CPF 108 may enable the default CPri at UPF 106-1 and disable the state of the default CPri at UPF 106-2, thereby designating UPF 106-1 as a DBF UPF.
[0105] Figure 5 is a flow chart illustrating a method of controlling a broadcast control service in a CUPS BNG according to an example embodiment. For example purposes, Figure 5 The method shown in the above example and Figure 1 However, it should be understood that example embodiments are not limited to this example.
[0106] See also Figure 5 At step S702, CPF 108 designates UPF 106-2 as the DBF UPF by activating the default CPRi (active CPRi) between UPF 106-2 and CPF 108 (active CPRi). Furthermore, at step S702, CPF 108 disables the default CPRi (standby CPRi) of UPF 106-1. Once designated, subscriber control (or broadcast) traffic flows only from UPF 106-2 (between UPFs 106-1 and 106-2) to CPF 108.
[0107] At step S704, CPF 108 detects a fault at UPF 106-2. In one example, the connection between the access node and the UPF may fail. In another example, the entire UPF may fail (crash). The fault detection mechanism of the CPF may vary. For example, the CPF may use the Bidirectional Fault Detection (BFD) protocol to detect connection problems between two remote nodes (such as the CPF and the UPF). In another example, BFD may run between the UPF and the access node. In this example, when the UPF detects that the network path is interrupted (the access node is inaccessible), the UPF may send a health report to the CPF. The CPF may then decide to switch the session based on the health report.
[0108] Although discussed herein with respect to a failure at step S702, example embodiments should not be limited to this example. Rather, the designation of a DBF may be moved from one UPF to another as needed by a network operator, for example, to rebalance traffic across UPFs.
[0109] In response to detecting the failure of UPF 106-2, CPF 108 designates UPF 106-1 as a DBF UPF by enabling the CPRi between UPF 106-1 and CPF 108 at step S706. Furthermore, CPF 108 may disable the CPRi at UPF 106-2 at step S706. Once designated, subscriber control (or broadcast) traffic begins to flow only through the newly designated UPF 106-1 (DBF UPF) to CPF 108.
[0110] use Figure 1 and Figure 5 In the example embodiment shown in , although a broadcast session request (or other broadcast control service) from a subscriber may arrive at one or more of the multiple UPFs in communication with the CPF, only one copy of the broadcast session request is forwarded to the CPF through the UPF (designated as the DBF UPF).
[0111] Furthermore, although only a single UPF is designated as a DBF, each UPF has a Bidirectional Forwarding Detection (BFD) session to the CPF (e.g., via CPri) so that in the event of a failure of the UPF designated as the DBF, an alternative UPF can be selected more quickly and designated as the DBF UPF.
[0112] Figure 2 FIGURE 1 illustrates a portion of a network including a CUPS BNG implementing a method for traffic steering to a subscriber session hosting UPF according to an example embodiment. Figure 1 Likewise, in addition to the discussion set forth below, it should be understood that Figure 2 The components and / or elements (eg, subscribers, access nodes, UPFs, CPFs, etc.) shown in FIG may include and / or implement the functionality discussed above. Therefore, for the sake of brevity, some details discussed above will not be repeated below.
[0113] exist Figure 2 In the example embodiment shown in , MAC and IP subnet advertisements are bound to FSG activity on a specific UPF.
[0114] See also Figure 2In this example embodiment, an active FSG and a standby (or inactive) FSG are configured at each of UPFs 406-1 and 406-2. More specifically, for example, an active first FSG 406-10 (FSG1) and a standby second FSG 406-20 (FSG2) are configured at UPF 406-1, and an active second FSG 406-22 (FSG2) and a standby first FSG 406-12 (FSG1) are configured at UPF 406-2. The active first FSG 406-10 and the standby first FSG 406-12 share the same first FSG duo (e.g., MAC address MAC-1 and IP subnet IP-1), while the active second FSG 406-22 and the standby second FSG 406-20 share the same second FSG duo (e.g., MAC address MAC-2 and IP subnet IP-2). The first FSG duo and the second FSG duo are different.
[0115] exist Figure 2 In the example embodiment shown in FIG, UPF 406-1 maintains forwarding state for subscriber sessions in active first FSG 406-10 and standby second FSG 406-20. In addition, UPF 406-1 advertises the MAC address MAC-1 of the first FSG duo to the access network side and the IP subnet IP-1 of the first FSG duo to the Internet side, but does not advertise the MAC address MAC-2 of the second FSG duo to the access network side nor the IP subnet IP-2 of the second FSG duo to the Internet side.
[0116] UPF 406-2 maintains forwarding state for subscriber sessions in the active second FSG 406-22 and the standby first FSG 406-12. Furthermore, UPF 406-2 advertises the MAC address MAC-2 of the second FSG duo on the access network side and the IP subnet IP-2 of the second FSG duo to the Internet side, but does not advertise the MAC address MAC-1 of the first FSG duo to the access network side nor the IP subnet IP-1 of the first FSG duo to the Internet side.
[0117] By advertising MAC address MAC-1 only from UPF 406-1 among UPFs 406-1 and 406-2, uplink subscriber traffic from subscribers associated with subscriber sessions in FSG 406-10 can be passed through access nodes 104-1-104-M, aggregated (Agg), and directed to UPF 406-1. Similarly, by advertising MAC address MAC-2 only from UPF 406-2 among UPFs 406-1 and 406-2, uplink subscriber traffic from subscribers associated with subscriber sessions in FSG 406-22 can be passed through access nodes 104-1-104-M, aggregated, and directed to UPF 406-2.
[0118] As discussed above, the CPF 108 can activate / deactivate FSG duos (and FSGs) to direct traffic between UPFs as needed to achieve, for example, load balancing. The CPF can move an FSG from one UPF to another by deactivating an FSG duo (or FSG) at one UPF and activating the same FSG duo (or FSG) at another UPF. For example, Figure 2 In the example shown in , if CPF 108 determines that UPF 406-1 is overloaded, CPF 108 may deactivate the first FSG duo at UPF 406-1 and activate the first FSG duo at UPF 406-2, thereby moving the FSG associated with the first FSG duo from UPF 406-1 to UPF 406-2. Once the first FSG duo is activated at UPF 406-2, UPF 406-2 begins advertising the MAC address MAC-1 of the first FSG duo to the access network side and the IP subnet IP-1 of the first FSG duo to the Internet side. In addition, in response to being deactivated, UPF 406-1 no longer advertises the MAC address MAC-1 of the first FSG duo to the access network side and no longer advertises the IP subnet IP-1 of the first FSG duo to the Internet side of the network.
[0119] Example embodiments are discussed herein with respect to no longer advertising routes or MAC addresses in response to deactivating an FSG or FSG duo at a UPF. However, example embodiments should not be limited to these examples. Rather, in response to deactivating an FSG or FSG duo at a UPF, the UPF may advertise the FSG duo at a less favorable cost(s) (e.g., higher cost / lower priority) than on a UPF with an active FSG or FSG duo. In this regard, the active FSG / FSG duo / UPF may be referred to as a primary FSG / FSG duo / UPF, and the inactive (or standby) FSG / FSG duo / UPF may be referred to as a secondary FSG / FSG duo / UPF.
[0120] As noted above, one or more example embodiments also provide mechanisms (e.g., methods, apparatus, and / or non-transitory computer-readable storage media) for controlling MAC address insertion into the forwarding structure in a more optimal manner that can allow for higher subscriber scaling in CUPS BNG.
[0121] Figure 3A and Figure 3B is a flow chart illustrating a method for controlling the insertion of a MAC address into a forwarding structure at a UPF according to an example embodiment. In more detail, Figure 3A is a flow chart illustrating a method of updating a local data plane at a UPF based on a MAC address from a subscriber management module (or entity or component), and Figure 3B is a flow chart illustrating a method of updating a local data plane at a UPF based on MAC addresses from BGP (or a BGP database).
[0122] For example purposes, Figure 3A and Figure 3B The example embodiments shown in FIG. Figure 1 The CUPS BNG system shown in FIG and particularly discussed with respect to UPF 106-1. In this regard, Figure 3A and Figure 3B The example embodiment shown in will be discussed as being performed by the EVPN at UPF 106-1. However, it should be understood that Figure 3A and Figure 3B The example embodiment shown in can be described as being performed by UPF 106-1.
[0123] In some instances, Figure 3A and Figure 3BThe example embodiments shown in the description will be discussed with respect to a single MAC address. However, it should be understood that the example embodiments should not be limited to these examples. Rather, the example embodiments may be applicable to other distributed forwarding systems and / or one or more MAC addresses and / or MAC address groups.
[0124] See also Figure 3A At step S502A, the EVPN at UPF 106-1 receives a MAC address for a locally established subscriber session from a subscriber management module in UPF 106-1. In one example, for example, in response to a request to add a subscriber session at the UPF, the subscriber management module may submit a call to add the MAC address to the local data plane at UPF 106-1.
[0125] At step S504A, EVPN determines whether the MAC address exists in BGP at UPF 106-1 (or in a BGP database). In one example, EVPN queries the BGP database to determine whether the same MAC address has been learned (exists) in the BNG.
[0126] If the received MAC address does not exist in the BGP database, then at step S508, the routing process ends and the local data plane (eg, forwarding database) is not updated based on the MAC address.
[0127] Returning to step S504A, if the received MAC address exists in the BGP database, then at step S506A, the local data plane is updated based on the received MAC address. In one example, a forwarding database (e.g., at the EVPN) is updated based on the received MAC address. If the MAC address submitted by the subscriber management module is part of a call to add a MAC address to the forwarding database, the EVPN adds the MAC address to the forwarding database.
[0128] according to Figure 3A In the example embodiment shown in , EVPN can install a MAC address in the local data plane only if the MAC address (or addresses) received from the subscriber management module is also known at BGP (learned from a remote peer such as a BGP router).
[0129] Now see Figure 3B At step S502B, the EVPN at UPF 106-1 receives or obtains the MAC address from the BGP at UPF 106-1. In one example, BGP may learn the MAC address from the BGP router and submit the learned MAC address to the EVPN as part of a call to add the MAC address to the local data plane at UPF 106-1.
[0130] At step S504B, the EVPN determines whether the MAC address from the BGP is also known at the subscriber management module at the UPF 106-1 (e.g., a subscriber session associated with the MAC address is established locally). In one example, the EVPN at the UPF 106-1 queries the subscriber management module (e.g., a database at the subscriber management module) to determine whether the same MAC address is already known (exists) in the subscriber management module.
[0131] If the received MAC address is not already known at the subscriber management module, then at step S508B the routing process ends and the forwarding database is not updated based on the received MAC address.
[0132] Returning to step S504B, if the received MAC address is known at the subscriber management module, then at step S506B, the local data plane is updated based on the received MAC address. In one example, the forwarding database at the EVPN is updated based on the received MAC address. If the MAC address is part of a call from BGP to add the MAC address to the local data plane, then the EVPN adds the MAC address to the forwarding database.
[0133] according to Figure 3B In the example embodiment shown in , the local data plane at UPF 106-1 is updated based on the BGP learned MAC address (or addresses) only if the MAC address (or addresses) are also known at the subscriber management module.
[0134] According to one or more example embodiments, only local MAC addresses are installed in the forwarding database (FDB). All MAC addresses are learned via BGP, but are only installed locally if the MAC address is also present in subscriber management (learned by subscriber management via DHCP, PPPoE, etc.). Traffic sent back to the subscriber is not sent to all access nodes until the MAC address is reconciled (learned by both subscriber management and BGP) (because the MAC address is not installed in the forwarding plane). This typically occurs during a relatively short interval in which the MAC address is learned via BGP, not subscriber management, or vice versa. This originates at the access node, where when the access node receives the first packet from the subscriber, it learns the subscriber's MAC address and propagates the MAC address to the UPF via BGP, making the MAC address known to BGP in the PF. Because subscriber management learns via different means (e.g., DHCP, PPPoE, etc.), subscriber management does learn the subscriber's MAC address from the same packet that triggers BGP at the access node, but using a different path. For example, BGP may be faster than subscriber management or vice versa, and there may be some discrepancy during a relatively short period of time during session initiation time. When both BGP and SM know about the subscriber, EVPN populates the FDB as this indicates that the subscriber is local to the UPF.
[0135] pass Figure 3A and Figure 3B The example embodiment shown in , can achieve higher subscriber expansion per CUPS BNG.
[0136] Discussion on determining whether to add the MAC address to the local data plane at the UPF Figure 3A and Figure 3B To remove a MAC address from the local data plane, the subscriber management module and / or BGP may directly remove the MAC address without utilizing the above-mentioned Figure 3A and / or Figure 3B The process discussed.
[0137] Although example embodiments may be discussed herein with respect to EVPN VPLS, it should be understood that EVPN VPLS may also be referred to as EVPN Multipoint or EVPN ELAN, and these terms may be used interchangeably. Thus, example embodiments should not be limited to only EVPN VPLS.
[0138] Figure 4 An example embodiment of a network node that can implement a UPF and / or a CPF is shown. Figure 4 The structure shown in may also represent other network elements, such as AN, CPE, etc.
[0139] As shown in the figure, the network node includes: a memory 540; a processor 520 connected to the memory 540; and various communication interfaces 560 connected to the processor 520. The various interfaces 560 may constitute transceivers for transmitting / receiving data from / to other network elements (e.g., network nodes, routers, nodes, servers, BNGs, etc.). As will be appreciated, depending on the implementation of the network node, the network node may include more than Figure 4 However, for purposes of disclosing the illustrative example embodiments, it is not necessary to show all of these generally conventional components. For example, the discussion will be with respect to processor 520. Figure 4 However, it should be understood that Figure 4 The network nodes shown in FIG. 5 may include one or more processors or other processing circuits, such as one or more application-specific integrated circuits (ASICs).
[0140] The memory 540 may be a computer-readable storage medium, which typically includes a random access memory (RAM), a read-only memory (ROM), and / or a permanent mass storage device such as a disk drive. The memory 540 also stores an operating system and any other routines / modules / applications for providing the functionality (including UPF, CPF, MPF, etc.) of the network node to be executed by the processor 520. These software components may also be loaded into the memory 540 from a separate computer-readable storage medium using a drive mechanism (not shown). Such a separate computer-readable storage medium may include a disk, a tape, a DVD / CD-ROM drive, a memory card, or other similar computer-readable storage medium (not shown). In some example embodiments, the software components may be loaded into the memory 540 via one of the various interfaces 560 rather than via a computer-readable storage medium.
[0141] The processor 520 or other processing circuitry may be configured to execute the instructions of a computer program by performing systematic arithmetic, logical, and input / output operations. The instructions may be provided to the processor 520 by the memory 540.
[0142] The various communication interfaces 560 may be wired and may include components that interface the processor 520 with other input / output components. As will be appreciated, the various interfaces 560 and programs stored in the memory 540 to illustrate the specialized functionality of the network node will vary depending on the implementation of the network node.
[0143] Interface 560 may also include one or more user input devices (eg, keyboard, keypad, mouse, etc.) and user output devices (eg, display, speakers, etc.).
[0144] Although the terms first, second, etc. can be used to describe various elements in this article, these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. For example, without departing from the scope of this disclosure, the first element can be referred to as the second element, and similarly, the second element can be referred to as the first element. As used herein, the term "and / or" includes any and all combinations of one or more listed associated items.
[0145] When an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element, or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements. Other words used to describe the relationship between elements should be interpreted in a similar manner (e.g., “between” versus “directly between,” “adjacent” versus “directly adjacent,” etc.).
[0146] The terms used herein are for the purpose of describing specific embodiments only and are not intended to be limiting. As used herein, unless the context clearly indicates otherwise, the singular forms "a", "an", and "the" are intended to include the plural forms as well. It will be further understood that the terms "comprises" and / or "comprising" when used herein specify the presence of the features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0147] It should also be noted that in some alternative implementations, the functions / acts noted may occur out of the order shown in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending on the functionality / acts involved.
[0148] In the following description, specific details are provided to provide a thorough understanding of the example embodiments. However, one skilled in the art will appreciate that the example embodiments can be practiced without these specific details. For example, systems may be shown as block diagrams to avoid obscuring the example embodiments with unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail to avoid obscuring the example embodiments.
[0149] As discussed herein, the illustrative embodiments will be described with reference to acts and symbolic representations of operations (e.g., in the form of flowcharts, flow diagrams, data flow diagrams, structure diagrams, block diagrams, etc.), which may be implemented as program modules or functional processes, including routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types, and may be implemented using existing hardware, such as at existing network nodes, BNGs, servers, ANs, CPEs, routers, or other network elements and / or hardware. Such existing hardware may be processing or control circuitry such as, but not limited to, one or more processors, one or more central processing units (CPUs), one or more controllers, one or more arithmetic logic units (ALUs), one or more digital signal processors (DSPs), one or more microcomputers, one or more field programmable gate arrays (FPGAs), one or more systems on a chip (SoCs), one or more programmable logic units (PLUs), one or more microprocessors, one or more application specific integrated circuits (ASICs), or any other device capable of responding to and executing instructions in a defined manner.
[0150] Although a flowchart may describe operations as a sequential process, many of the operations may be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the operations may be rearranged. A process may terminate when its operations are completed, but may also have additional steps not included in the diagram. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. When a process corresponds to a function, its termination may correspond to the function returning to the calling function or the main function.
[0151] As disclosed herein, the terms "storage media," "computer-readable storage media," or "non-transitory computer-readable storage media" may refer to one or more devices for storing data, including read-only memory (ROM), random-access memory (RAM), magnetic RAM, core memory, magnetic disk storage media, optical storage media, flash memory devices, and / or other tangible machine-readable media for storing information. The term "computer-readable medium" may include, but is not limited to, portable or fixed storage devices, optical storage devices, and various other media capable of storing, containing, or carrying instruction(s) and / or data.
[0152] In addition, the example embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments for performing the necessary tasks may be stored in a machine or computer readable medium (such as a computer readable storage medium). When implemented in software, one or more processors will perform the necessary tasks. For example, as mentioned above, according to one or more example embodiments, at least one memory may include or store computer program code, and the at least one memory and computer program code may be configured to, together with at least one processor, cause a network element or network device to perform the necessary tasks. In addition, the processor, memory, and example algorithms encoded as computer program code serve as means for providing or causing the execution of the operations discussed herein.
[0153] A code segment of a computer program code can represent any combination of a procedure, function, subroutine, program, routine, subroutine, module, software package, class, or instruction, data structure, or program statement. A code segment can be coupled to another code segment or hardware circuit by passing and / or receiving information, data, independent variables, parameters, or memory contents. Information, independent variables, parameters, data, etc. can be passed, forwarded, or transmitted via any suitable technology, including memory sharing, message passing, token passing, network transmission, etc.
[0154] As used herein, the terms "including" and / or "having" are defined as including (i.e., open language). As used herein, the term "coupled" is defined as connected, but not necessarily directly and not necessarily mechanically. Terms derived from the word "indicating" (e.g., "indicates" and "indication") are intended to cover all various technologies that can be used to transmit or reference the indicated object / information. Some (but not all) examples of technologies that can be used to transmit or reference the indicated object / information include conveying the indicated object / information, conveying an identifier of the indicated object / information, conveying information used to generate the indicated object / information, conveying some parts or subdivisions of the indicated object / information, conveying some derivatives of the indicated object / information, and conveying some symbols representing the indicated object / information.
[0155] According to example embodiments, a network node, BNG, server, AN, CPE, router, or other network element may be (or include) hardware, firmware, hardware executing software, or any combination thereof. Such hardware may include processing or control circuitry such as, but not limited to, one or more processors, one or more CPUs, one or more controllers, one or more ALUs, one or more DSPs, one or more microcomputers, one or more FPGAs, one or more SoCs, one or more PLUs, one or more microprocessors, one or more ASICs, or any other device capable of responding to and executing instructions in a defined manner.
[0156] The benefits, other advantages, and solutions to problems have been described above with respect to specific embodiments of the present invention. However, the benefits, advantages, solutions to problems, and any elements that may render or contribute to such benefits, advantages, or solutions more apparent should not be construed as a key, required, or essential feature or element of any or all the claims.
Claims
1. A network element having a control plane function configured to communicate with a plurality of user plane functions, the network element comprising means for: designating, by the control plane function, a first user plane function among the plurality of user plane functions as a designated broadcast forwarder to receive broadcast control traffic from the designated broadcast forwarder, and The broadcast control traffic forwarded from the first user plane function among the plurality of user plane functions is received by the control plane function.
2. The network element of claim 1 , wherein the broadcast control service comprises: At least one of a broadcast session request or a broadcast session initiation packet.
3. The network element of claim 1, wherein the broadcast control traffic is received at each user plane function of the plurality of user plane functions. 4 . The network element of claim 1 , wherein the plurality of user plane functions are implemented at a plurality of line cards at one or more network nodes.
5. The network element of claim 1 , wherein the device comprises: The network element is caused to designate the first user plane function by enabling a control protocol redirection interface between the first user plane function and the control plane function at the first user plane function.
6. The network element of claim 5, wherein the device comprises: The network element is caused to disable the control protocol redirection interface at each user plane function of the plurality of user plane functions except the first user plane function.
7. The network element according to any one of claims 1 to 6, wherein the device comprises: Make the network element: detecting a failure at said first user plane function, responsive to detecting a failure at the first user plane function, designating a second user plane function among the plurality of user plane functions as the designated broadcast forwarder, and receiving subsequent broadcast control traffic forwarded from the second user plane function among the plurality of user plane functions.
8. The network element of claim 1 , wherein the device comprises: The network element is caused to establish the subscriber session at a first user plane function of the plurality of user plane functions in response to a request to establish the subscriber session, establishing the subscriber session at the first user plane function of the plurality of user plane functions, regardless of whether the request to establish the subscriber session is received at the control plane function via the first user plane function of the plurality of user plane functions.
9. The network element of claim 1 , wherein the device comprises: establishing, at the first user plane function, a first fate sharing group comprising a plurality of first subscriber sessions, the first fate sharing group being associated with a first MAC address and a first subscriber IP subnet, establishing said first fate sharing group at a second user plane function, The first fate sharing group is activated at the first user plane function among the first user plane function and the second user plane function.
10. The network element of claim 1, wherein the device comprises: configuring a first fate sharing group including a plurality of first subscriber sessions, the first fate sharing group being associated with a first MAC address and a first subscriber IP subnet, configuring a second fate sharing group including a plurality of second subscriber sessions, the second fate sharing group being associated with a second MAC address and a second subscriber IP subnet, and the second fate sharing group being configured and active on another user plane function, activating the first fate sharing group at the user plane function, and The second fate sharing group is deactivated at the user plane function. The network element according to claim 10 , wherein The first network is an access network, and The device comprises: The network element is enabled to activate the first fate sharing group by: maintaining forwarding state for the plurality of first subscriber sessions, advertising the first MAC address to the access network, and The first subscriber IP subnet is advertised into a second network.
12. The network element of claim 11, wherein the means comprises: The network element is caused to deactivate the second fate sharing group by maintaining forwarding state for the plurality of second subscriber sessions.
13. The network element of claim 12, wherein the means comprises: Make the network element: advertising the second MAC address into the access network, the second MAC address being advertised with a lower metric relative to advertising the first MAC address into the access network, and The second subscriber IP subnet is advertised into the second network, the second subscriber IP subnet being advertised with a lower metric relative to advertising the first subscriber IP subnet into the second network.
14. A method for a network element having a control plane function configured to communicate with a plurality of user plane functions, the method comprising: designating, by the control plane function, a first user plane function among the plurality of user plane functions as a designated broadcast forwarder to receive broadcast control traffic from the designated broadcast forwarder, and The broadcast control traffic forwarded from the first user plane function among the plurality of user plane functions is received by the control plane function.
15. A computer-readable storage medium having computer program code stored thereon, the computer program code being configured to cause a network element having a control plane function configured to communicate with a plurality of user plane functions to at least perform: designating, by the control plane function, a first user plane function among the plurality of user plane functions as a designated broadcast forwarder to receive broadcast control traffic from the designated broadcast forwarder, and The broadcast control traffic forwarded from the first user plane function among the plurality of user plane functions is received by the control plane function.
Citation Information
Patent Citations
Methods and Apparatuses for Avoiding Paging Storm During ARP Broadcast for Ethernet Type PDU
US20200186490A1
Providing multicast / broadcast services in 5g networks
US20210168569A1