Patent Description:
Currently, with introduction of broadband network services such as high-speed internet access, video on demand, web TV, and distance education, construction of a broadband access network has become a focus of the industry. In the broadband access network, a broadband network gateway (BNG) is responsible for completing authentication and IP address allocation of a user terminal, and connecting the user terminal to an application service provider (ASP) or a network service provider (NSP) network by using an IP core. To facilitate maintenance of the BNG, a virtual broadband network gateway (vBNG) architecture has been provided. In the vBNG architecture, BNG functions are divided into a control plane function (CPF) and a user plane function (UPF). In addition, the vBNG architecture separates the CPF from a physical BNG (also briefly referred to as CU separation hereinafter) and deploys the CPF in a data center. Correspondingly, the UPF is retained in the physical BNG and is deployed in its original location.

In the foregoing vBNG architecture with CU separation, a vBNG function needs to be implemented through interaction between a CP and a UP. For example, routing control is a basic function of the vBNG, used for data flow forwarding of data services and interacting with a core router over a routing protocol to advertise a route. <NPL>, relates to an architecture and requirements for a control plane and user plane separation of a Disaggregated Broadband Network Gateway. BROADBAND FORUM: "SD-<NUM> R3 <NUM> Fixed Mobile Convergence Study", XP051563214, relates to common interfaces for the Access Network and Core Network, and converged wireline-wireless networks that use the <NUM> core network.

Embodiments of the present disclosure provide a routing control solution, to implement interaction between a CP and a UP on routing control.

The foregoing and other features, advantages, and aspects of embodiments of the present disclosure will become more apparent in conjunction with the accompanying drawings and with reference to the following detailed description. In the accompanying drawings, same or similar reference numerals denote same or similar elements.

Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure may be implemented in various manners and should not be construed as limited to the embodiments described herein. However, these embodiments are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the accompanying drawings and the embodiments of the present disclosure are merely used as an example, but are not intended to limit the protection scope of the present disclosure, the scope of the claim is defined by the appended claims.

As used herein, the term "includes" and variations thereof are open inclusive, that is, "including but not limited to". The term "based on" means "at least partially based on". The term "an embodiment" means "at least one embodiment"; and the term "another embodiment" means "at least one further embodiment". Related definitions of other terms are provided in the description below.

It should be understood that although the terms "first" and "second" and the like may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, a first element may be referred to as a second element, and likewise a second element may be referred to as a first element without departing from the scope of the embodiments. As used herein, the term "and/or" includes any and all combinations of one or more of provided terms.

As used herein, the term "circuit" refers to one or more of the following:.

A definition of the circuit is applicable to all use scenarios of the term in this application (including any one of the claims). In another example, the term "circuit" as used herein also covers implementations of only a hardware circuit or a processor (or a plurality of processors), a part of a hardware circuit or a processor, or accompanying software or firmware thereof. For example, if applicable to a particular claim element, the term "circuit" also covers a baseband integrated circuit, a processor integrated circuit, an OLT, or a similar integrated circuit in another computing device.

As used herein, the term "terminal device" refers to any device having wireless or wired communication capabilities. An example of the terminal device includes, but is limited to, customer-premises equipment (CPE), user equipment (UE), a personal computer, a desktop computer, a mobile phone, a cellular phone, a smartphone, a personal digital assistant (PDA), a portable computer, a tablet computer, a wearable device, and an internet of things (IoT) device, a machine type communication (MTC) device, a vehicle-mounted device for V2X (X means a pedestrian, a vehicle or an infrastructure/network) communication, an image capture device, for example, a digital camera, a gaming device, a music storage and playback device, or an internet device capable of wireless or wired internet access and browsing, and the like.

As used herein, the term "broadband network system" may be a wired broadband network system or a wireless broadband network system. In this specification, the term "IP core" refers to an "IP-based core network" and may also be referred to as a "regional broadband network". The term "broadband access network" may be a wired broadband access network or a wireless broadband access network. The term "broadband access" may be wired broadband access or wireless broadband access. For example, a manner of broadband access may be an asymmetric digital subscriber line (ADSL), a cable modem, a digital subscriber line (DSL), a high-speed digital subscriber line (VDSL), an Ethernet, a fiber-to-the-home (FTTH), a local area network (LAN), and/or a passive optical network (PON), or the like. With rapid development of the broadband network technologies, there are certainly future types of broadband network technologies and systems, and the present invention may be combined with them. It should not be construed as limiting the scope of the present disclosure to the systems described above.

A BNG is used to connect user equipment to a broadband network, and is a key device in the network. Refer to <FIG> is an example of a location of a BNG in a network. <FIG> shows a schematic diagram of an example broadband network system <NUM> in which an embodiment of the present disclosure may be implemented. As shown in <FIG>, the system <NUM> includes terminal devices <NUM>, <NUM>, and <NUM>, a digital subscriber line access multiplexer/optical line terminal (DSLAM/OLT) <NUM>, a broadband access network <NUM>, a BNG <NUM>, and an IP core <NUM>. The broadband access network <NUM> may include an Ethernet aggregation point, a switch, and the like. The IP core <NUM> may be connected to an ASP or NSP network. For example, the IP core <NUM> may be connected to a remote user dial-up authentication service (Radius) server, a dynamic host configuration protocol (DHCP) server, an interactive personality television (IPTV) server, a next-generation network (NGN) server, and the like. It should be understood that quantities of terminal devices, DSLAM/OLTs, broadband access networks, BNGs, and IP cores are not limited to the example shown in <FIG>, but may include any other appropriate quantities. Moreover, the server to which the IP core <NUM> may be connected is not limited to the foregoing example, but the IP core <NUM> may be connected to any appropriate server known in the art or developed in the future. In addition, the system <NUM> may include more additional components not shown or may not include some shown components, which is not limited in this embodiment of the present disclosure. Implementation of the system <NUM> is also not limited to the specific example described above, but may be implemented in any appropriate manner.

For ease of description, the following uses the terminal device <NUM> as an example for description. For example, when the terminal device <NUM> needs to access a network, the terminal device <NUM> may send an access request to the BNG <NUM> by using the DSLAM/OLT <NUM> and the access network <NUM>, and the BNG <NUM> authenticates and allocates an address to the terminal device <NUM> based on the access request. For example, the BNG <NUM> may act as a RADIUS client to interact with a RADIUS server in the IP core <NUM>, to complete authentication of the terminal device <NUM>. Then, the BNG <NUM> may allocate an address to the terminal device <NUM>, and may generate a forwarding table to control data flow forwarding of the terminal device <NUM>. In the broadband network system <NUM>, a downstream flow from the IP core <NUM> to the terminal device <NUM> needs to be controlled by using a route.

The following describes a routing control method with reference to <FIG> shows a schematic diagram of a routing control process <NUM> of a BNG. As shown in <FIG>, a BNG <NUM> may have a capability of a DHCP server, to allocate IP addresses to terminal devices <NUM>, <NUM>, and <NUM>. In addition, the BNG <NUM> can manage route information corresponding to these IP addresses. For example, when a downstream flow from a core router <NUM> or <NUM> of an IP core <NUM> arrives at the BNG <NUM>, the BNG <NUM> may forward the downstream flow to a corresponding aggregation switch <NUM> or <NUM> based on a network segment route associated with a destination address of the downstream flow, and the downstream flow is sent to the corresponding terminal device <NUM>, <NUM>, or <NUM> by using a corresponding DSLAM/OLT <NUM>, <NUM>, or <NUM>.

In addition, the BNG <NUM> is responsible for advertising the managed route information to the IP core <NUM>. In other words, the BNG <NUM> sends the managed route information to the core routers <NUM> and <NUM>. Generally, routes may be classified into a network segment route, a gateway route, a host route, and a frame route. The network segment route needs to be advertised to the IP core <NUM>. The gateway route is used to identify the BNG <NUM> itself. The host route is used to control forwarding traffic to the terminal devices <NUM>, <NUM>, and <NUM>. The frame route may be an IP address of a private-line subscriber, or may be a route of a subnet managed by the private-line subscriber, which both need to be advertised to the IP core <NUM>, and forwarding traffic to the terminal devices <NUM>, <NUM>, and <NUM> needs to be controlled.

As mentioned above, to facilitate maintenance of the BNG, a vBNG architecture with CU separation has been provided. In deployment of the vBNG architecture, three types of interfaces are defined between a CP and a UP. One type is a management interface (Mi), which uses the network configuration protocol Netconf/yang. Another type is a control packet redirection interface (CPRi), which completes forwarding of a protocol packet between a terminal device (for example, a CPE) and a vBNG CP. Another type is a status control interface (SCi), which uses a PFCP defined in 3GPP TS <NUM>. The SCi is used by the UP to report node information to the CP. After completing terminal access, the CP delivers a forwarding control action to the UP for execution, and the UP completes and reports statistics to the CP.

The CP may allocate one or more IP address blocks to the UP. Each address block includes a set of IP addresses. These IP addresses are allocated to a client that is to dial up to the UP. To ensure that other nodes in the IP core learn how to reach these IP addresses, the CP needs to install one or more pieces of route information on the UP and notify the UP to advertise the route information to the IP core.

The embodiments of the present disclosure provide a routing control solution. According to the technical solution provided herein, a message used for routing control is transmitted between the CP and the UP. This completes a routing control function. Specifically, the SCi may be extended (that is, the PFCP protocol is extended), so that a message applicable to the SCi is generated for routing control and the message is communicated between the CP and the UP over the SCi. In this manner, interaction on routing control between the CP and the UP in a communication system architecture with CU separation can be implemented. For ease of understanding, the following describes this in detail with reference to <FIG>.

<FIG> shows a schematic diagram of a communication system <NUM> with CU separation in which an embodiment of the present disclosure may be implemented. The communication system <NUM> includes a CP device <NUM> that executes a CPF and UP devices <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM> that execute a UPF (for ease of description, the UP devices may also be collectively referred to as a UP device <NUM> below). The CP device <NUM> is physically separate from each of the UP devices <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM>. The UP devices <NUM>-<NUM>, <NUM>-<NUM> and <NUM>-<NUM> are also physically separate. For example, the CP device <NUM> may be deployed in a remote data center, and the UP devices <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM> may be deployed locally. One CP device <NUM> may be used to control a plurality of UP devices <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM>. In this manner, CP functions corresponding to the UP devices <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM> may be centralized. This further facilitates maintenance, and reduces maintenance costs. It should be understood that a quantity of CP devices is not limited to one, but may be more. A quantity of UP devices is not limited to the foregoing example, but may be more or fewer.

As shown in <FIG>, the CP device <NUM> may interact with any UP device of the UP devices <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM>, to implement a function of a conventional BNG. For example, the CP device <NUM> may provide functions such as authentication, authorization, and accounting (AAA), access management, session management, address allocation, and service policy control. Each UP device of the UP devices <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM> may implement a forwarding processing function for a managed terminal device. The forwarding processing function may include: sending an access protocol packet to a CP, forwarding, to a terminal device, a control packet sent by the CP to the terminal device, performing a binding check on an uplink data packet of the terminal device (for example, after authentication succeeds, a corresponding binding table is generated on the UP) and forwarding the uplink data packet to an IP core, quality of service (QoS) processing, statistics collection, and the like. It should be understood that the communication system <NUM> is not limited to a BNG function, but may be configured to implement any other appropriate function other than the BNG.

<FIG> shows a schematic diagram of a routing control process <NUM> according to an embodiment of the present disclosure. For ease of description, <FIG> is described below with reference to an example in <FIG>. It should be understood that a process in <FIG> may include other additional processes that are not shown, or may not include some shown processes. The scope of the present disclosure is not limited thereto.

As shown in <FIG>, the CP device <NUM> may establish an association with the UP device <NUM>, that is, step <NUM> in <FIG>. For example, the CP device <NUM> may initiate a handshake with the UP device <NUM>, to establish the association by using an association setup request/response message and a heartbeat request/response message. After establishing the association, the CP device <NUM> may allocate an address to the UP device <NUM> and generate a related route, that is, step <NUM> in <FIG>. In this embodiment of the present disclosure, the CP device <NUM> may allocate a set of one or more addresses to the UP device <NUM>. Corresponding route information is generated for each address in the set. In some embodiments, the route information may be for a network segment route. In some alternative embodiments, the route information may be for a gateway route. In still some alternative embodiments, the route information may be for a host route. In addition, the route information may be for a frame route or another appropriate route.

For the generated route information, the CP device <NUM> generates a route delivery request message (also referred to as a first message hereinafter for ease of description), that is, step <NUM> in <FIG>, so that the first message includes a control indication for the route information. In some embodiments of the present disclosure, the control indication may include an install indication for the route information. In this manner, an installing operation of the route information can be implemented. In some embodiments, the control indication may include a plurality of install indications, where each install indication is for different route information. In alternative or additional embodiments of the present disclosure, the control indication may include a remove indication for the route information. In this manner, a removing operation of the route information can be implemented. In some embodiments, the control indication may include a plurality of remove indications, where each remove indication is for different route information. In some embodiments, the control indication may include an install indication, and may also include a remove indication. In these embodiments, the control indication may further include identification information of the CP device <NUM>. Therefore, the UP device <NUM> may correctly receive the first message from the CP device <NUM> that establishes the association with the UP device <NUM>.

In some embodiments, the route information may include a destination address and a next-hop address. In some additional embodiments, the route information may further include an outbound interface index (Out-If-info). The outbound interface index is used to indicate path information associated with the route information. For example, path information required for forwarding a packet associated with the route information. In some embodiments, the route information may further include a route flag. The route flag may also be referred to as a route-related identifier, and is used to indicate a type of the route information. The type of the route information may include at least one of a network segment route, a gateway route, a host route, and a frame route. The type of the route information is not limited thereto, but may include any appropriate type known in the art or developed in the future.

In some embodiments, the route information may further include a route tag. The route tag may correspond to a route tag in a border gateway protocol (BGP), and is used to indicate an identifier of the route information. The route tag is advertised to a core router. This facilitates the core router to implement route filtering. For example, some forwarding policies may be set based on the route tag, such as specifying and selecting a tag path, and setting a feature forwarding priority.

In some embodiments, the route information may further include a route cost. The route cost is advertised to the core router, so that the core router performs routing when calculating a route. In addition, the route information may further include a network instance. The network instance corresponds to a network instance in the PFCP protocol, and is used to identify a virtual private network (VPN), for example, a layer <NUM> VPN (L3VPN).

In some additional or alternative embodiments, the route information may include indication information used to indicate the UP device to advertise the route information. In this manner, the route information may be advertised to the core router, so that the core router can advertise the route information to another gateway or router. For example, if the indication information is a preset value, it indicates that the UP device needs to advertise the route information. In some alternative embodiments, the indication information may also be implicitly determined by using a route identifier in the route flag. For example, if the route flag indicates that the route information is the network segment route or the frame route, it indicates that the route information needs to be advertised. If the route flag indicates that the route information is the gateway route or the host route, it indicates that the route information does not need to be advertised. The indication information may also be indicated in another manner, which is not limited to the example herein.

In some embodiments, the first message may be a node level message. In an alternative embodiment, the first message may alternatively be a session level message. In some embodiments, the CP device <NUM> may use a same type of message for different types of routes. For example, the node-level message may be used for the network segment route, the gateway route, the host route, and the frame route. The session-level message may also be used. In some alternative embodiments, the CP device <NUM> may use different types of messages for different types of routes. For example, the node-level message may be used for the network segment route and the gateway route. The session-level message may be used for the host route and the frame route. The foregoing is merely an example, and another appropriate message type known in the art or developed in the future may also be used in the embodiments of the present disclosure. In some embodiments of the present disclosure, the route information may be a grouped information element (Grouped IE) in the node-level message or the session-level message.

For ease of understanding, the following provides more detailed description with reference to an example message format. Table <NUM> shows definitions of a message format in the PFCP protocol.

Meanings of fields are shown in Table <NUM>.

In some embodiments, the first message may include message type information (also referred to as first type information hereinafter for ease of description), used to indicate that the first message includes the control indication. In other words, the first type information may indicate that the first message is a route delivery request. In some embodiments, the first type information may be any appropriate message type value. For example, the message type value may be any appropriate decimal value. The following describes an example in which the first message is the node-level message in detail. Table <NUM> shows an example header of a node-level message. For meanings of fields, refer to Table <NUM>. FO, MP, and S fields are all <NUM>. An idle field is required to be set to <NUM> by a sender, and a receiver does not check the field. A sequence number corresponds to a transaction. A message type may be any appropriate value used to indicate the route delivery request. In some embodiments, a message type field of the first message may be any value between <NUM> and <NUM>. For example, as shown in Table <NUM>, the message type field of the first message may be <NUM>. It should be understood that this is merely an example, and a message type value and a name of the first message are not limited thereto, but may be any appropriate value and name.

The IE field in Table <NUM> may be understood as an attribute having a tag-length-value (TLV) encapsulation format. Different IEs may have an embedding relationship. Based on different embedding manners, IEs are classified into a grouped IE and an embedded IE. The embedded IE is an attribute at a smallest unit. One grouped IE may include a plurality of embedded IEs. In this embodiment of the present disclosure, the route information and the control indication for the route information may be included in the IE field. Table <NUM> shows an example of an IE carried in the first message.

Meanings of the item P are shown in Table <NUM>.

It should be understood that implementation of the present disclosure is not limited to the example of Table <NUM>, but may be implemented in any other appropriate manner.

A grouped IE may be embedded in the IE field in Table <NUM>. The following Table <NUM> shows an example of an install route grouped IE.

The following Table <NUM> shows an example of a remove route grouped IE.

It can be learned from Table <NUM> and Table <NUM> that an embedded IE may be embedded in a grouped IE. For example, an IE whose type is if-index in Table <NUM> may be an embedded IE shown in Table <NUM>.

The interface index field may be encoded as a <NUM>-bit unsigned integer. Fields of the type, length, and enterprise ID are two octets in decimal format.

For another example, an IE whose type is next-hop in Table <NUM> or Table <NUM> may also be an embedded IE shown in Table <NUM>.

The fifth octet is a flag field. For example:.

The octets "m to (m + <NUM>)" and "p to (p + <NUM>)" indicate the IPv4 address or the IPv6 address, for example, an IPv4 subnet <NUM>. For another example, an IPv6 prefix <NUM>:<NUM>:<NUM>:<NUM>::<NUM>.

For another example, an IE whose type is route-flag in Table <NUM> may be an embedded IE shown in Table <NUM>.

In the seventh octet, each bit indicates an attribute of a route. For example:.

Only one of Host, GW, and Network is set to <NUM>. Adv may be combined with Host, GW, and Network.

For example, an IE whose type is tag in Table <NUM> may be an embedded IE shown in Table <NUM>.

The tag field may be encoded as a <NUM>-octet unsigned integer.

For example, an IE whose type is cost in Table <NUM> may be an embedded IE shown in Table <NUM>.

The cost field may be encoded as a <NUM>-octet unsigned integer.

An IE whose type is source IP address in Table <NUM> or Table <NUM> may be an embedded IE shown in Table <NUM>.

The octets "m to (m + <NUM>)" and "p to (p + <NUM>)" indicate a value of the IPv4 address or the IPv6 address.

If the mask/prefix length field exists, it should be encoded as an <NUM>-bit binary integer. For example, for an IPv4 subnet <NUM>. <NUM>/<NUM>, an encoded value of the field is <NUM>. For another example, for a /<NUM> IPv6 prefix, an encoded value of the field is <NUM>.

It can be learned that the destination IP address IE in Table <NUM> is constructed by reusing a source source IP address IE, to facilitate an operation. The destination IP address IE in Table <NUM> may also be constructed by extending a new destination IP address IE. In this manner, the destination IP address IE may be distinguished from the source IP address IE.

A structure of the first message is described based on the node-level message. It should be understood that the foregoing is only some examples, and implementation of the foregoing is not limited thereto. In some embodiments, the first message may also be constructed by using the session-level message. Compared with the node-level message, the session-level message has a header part that may only be different from that of the node-level message. Table <NUM> shows an example of a header of a session-level message.

It can be learned that in the implementation of the session-level message, a session endpoint identifier field is added. In addition, in the implementation of the session-level message, configurations of the grouped IE and the embedded IE may be similar to those in implementation of the node-level message.

In some embodiments, the first message may be implemented based on an existing session-level message. For example, the first message may be generated based on a session establishment request message. In some embodiments, the CP device <NUM> may add the host route or the frame route to the session establishment request message, to generate the first message. For example, Table <NUM> shows an example of an IE carried in a session establishment request message. The message may also be implemented to include more additional IEs not shown or not to include some shown IEs therein.

In some other embodiments, the first message may be generated based on a session deletion request message. In some embodiments, the CP device <NUM> may add the host route or the frame route to the session deletion request message, to generate the first message. For example, Table <NUM> shows an example of an IE carried in a session deletion request message. The message may also be implemented to include more additional IEs not shown or not to include some shown IEs therein.

In some other embodiments, the first message may be generated based on a session modification request message. In some embodiments, the CP device <NUM> may add the host route or the frame route to the session modification request message, to generate the first message. For example, Table <NUM> shows an example of an IE carried in a session modification request message. The message may also be implemented to include more additional IEs not shown or not to include some shown IEs therein.

Refer to <FIG>. After generating the first message, the CP device <NUM> sends the first message to the UP device <NUM>, that is, step <NUM> in <FIG>. Because the first message complies with the PFCP protocol, the CP device <NUM> may send the first message to the UP device <NUM> through an SCi interface. This facilitates deployment of a vBNG architecture with CU separation. Correspondingly, the UP device <NUM> may receive the first message. In some embodiments, the UP device <NUM> may determine that the first message includes the first type information, and the UP device <NUM> may further obtain the control indication from the first message. This embodiment of the present disclosure is not limited thereto, and the control indication may also be obtained from the first message in another manner.

After obtaining the control indication, the UP device <NUM> may update the route information based on the control indication, that is, step <NUM> in <FIG>. In some embodiments, the control indication may include an install indication used to indicate to install the route information, and the UP device <NUM> may install the route information based on the control indication. In some additional or alternative embodiments, the control indication may include a remove indication used to indicate to remove the route information, and the UP device <NUM> may remove the route information based on the control indication. In some embodiments of the present disclosure, updating the route information may include an operation of adding the route information. In addition, updating the route information may also include an operation of replacing the route information. For example, the operation of adding the route information may include an operation of installing the route information. The operation of replacing the route information may include an operation of deleting the original route information and adding new route information.

In some alternative embodiments, the UP device <NUM> may determine whether the route information includes the indication information used to indicate to advertise the route information. If the route information includes the indication information, the UP device <NUM> may advertise the route information, for example, to the core router or another network device connected to the UP device. For example, the route information may be advertised to the core router in this manner, and is spread to another gateway or router.

In some alternative embodiments, the UP device <NUM> may generate a route delivery response message (also referred to as a second message hereinafter for ease of description) as a response to the first message. This helps improve accuracy of a routing control operation. In some embodiments, the second message may include a positive response indicating that the first message is successfully received. The second message may also include a negative response indicating that the first message is unsuccessfully received. In some embodiments, the second message may further include identification information of the UP device <NUM>. This helps the CP device <NUM> learn a receiving status of the first message by each UP device <NUM>, to more accurately perform the routing control operation.

In some embodiments, the second message may further include message type information (also referred to as second type information hereinafter for ease of description) that is used to indicate that the second message includes the response, where the second message is a PFCP message. In other words, the second type information may indicate that the second message is a response to the route delivery request. In some embodiments, the second type information may be any appropriate message type value. For example, the message type value may be any appropriate decimal value shown in Table <NUM>. It should be understood that Table <NUM> is merely an example, and a message type value and a name of the second message are not limited thereto, but may be any appropriate value and name.

In some embodiments, the second message may be a node-level message. In an alternative embodiment, the second message may alternatively be a session-level message. In the embodiment in which the first message is the node-level message, the UP device <NUM> may generate the second message as a node-level message. In the embodiment in which the first message is the session-level message, the UP device <NUM> may generate the second message as a session-level message. The foregoing is merely an example, and another appropriate message type known in the art or developed in the future may also be used in this embodiment of the present disclosure.

Implementation of the second message may be similar to that of the first message. Table <NUM> shows an example of an IE carried in the second message.

The IE type in Table <NUM> may also be similarly configured by using the foregoing grouped IE and embedded IE, and details are not described herein again.

After generating the second message, the UP device <NUM> may send the second message to the CP device <NUM>. In some embodiments, if the second message indicates that the UP device <NUM> fails to receive the first message, the CP device <NUM> may resend the first message. This embodiment of the present disclosure is not limited to such an operation. Alternatively, the CP device <NUM> may continue to perform the routing control operation in any other appropriate manner based on the second message. This can improve accuracy of the routing control operation.

The routing control process according to this embodiment of the present disclosure is described herein with reference to <FIG>. In the routing control process in this embodiment of the present disclosure, the route delivery request message is generated, so that interaction on routing control between a CP and a UP in the communication system architecture with CU separation can be implemented, to complete a route delivery operation. In addition, the message is constructed in a manner compatible with an existing protocol, to ensure compatibility with the existing protocol. This facilitates deployment of the vBNG architecture.

Corresponding to the foregoing routing control process, the embodiments of the present disclosure provide a message sending method implemented by a CP device and a message receiving method implemented by a UP device. <FIG> shows a flowchart of a message sending method <NUM> implemented by a CP device according to an embodiment of the present disclosure. The method <NUM> may be implemented by a CP device (for example, the CP device <NUM>) in a communication system with CU separation. For ease of description, <FIG> is described herein with reference to the example of <FIG>. It should be understood that the method in <FIG> may include other additional steps that are not shown, or may not include some shown steps.

As shown in <FIG>, at <NUM>, the CP device <NUM> generates a first message (for example, a route delivery request message). For example, when allocating a network segment to the UP device <NUM>, the CP device <NUM> may generate the first message, to deliver a subnet segment route and a gateway route. For another example, when a frame IP and a frame route of a terminal device are authorized through AAA, after the terminal device successfully accesses, the CP device <NUM> may generate the first message, to deliver a host route and a frame route. This embodiment of the present disclosure is not limited to the foregoing example, and the CP device <NUM> may generate the first message in a timely manner according to a requirement.

In some embodiments, the first message may be a node-level message. In an alternative embodiment, the first message may alternatively be a session-level message. In some embodiments, the CP device <NUM> may use a same type of message for different types of route information. For example, the node-level message may be used for a network segment route, the gateway route, the host route, and the frame route. The session-level message may also be used. In some alternative embodiments, the CP device <NUM> may use different types of messages for different types of route information. For example, the node-level message may be used for the network segment route and the gateway route. The session-level message may be used for the host route and the frame route. The foregoing implementation is merely an example, and another appropriate message type known in the art or developed in the future may also be used in this embodiment of the present disclosure.

In this embodiment of the present disclosure, the first message includes route information associated with the UP device <NUM>, and the first message includes a control indication for the route information. In some embodiments, the control indication may be an IE in the node-level message or the session-level message. In some embodiments, the route information may be a grouped IE in the node-level message or the session-level message.

In some embodiments, the control indication may include an install indication used to indicate to install the route information. This may implement an installing operation of the route information. Additionally or alternatively, the control indication may include a remove indication used to indicate to remove the route information. This may implement a removing operation of the route information. In these embodiments, the control indication may further include identification information of the CP device <NUM>. This may facilitate the UP device <NUM> to correctly receive the first message of the CP device <NUM> associated with the UP device <NUM>.

In some embodiments, the control indication may include a first control indication for first route information and a second control indication for second route information. This may control a plurality of pieces of route information, to enhance convenience of routing control. In some additional or alternative embodiments, the first control indication may include an install indication used to indicate to install the first route information, and the second control indication may include a remove indication used to indicate to remove the second route information. In this manner, different control operations may be performed on a plurality of pieces of route information, to improve flexibility of routing control.

In some embodiments, the route information may include a destination address (for example, the destination IP address in Table <NUM> or Table <NUM>) and a next-hop address (for example, next-hop in Table <NUM> or Table <NUM>). In some additional embodiments, the route information may further include at least one of an outbound interface index (for example, out-if-info in Table <NUM>), a route flag (for example, route flag in Table <NUM>), a route tag (for example, route tag in Table <NUM>), a route cost (for example, route cost in Table <NUM>), and a network instance (for example, the network instance in Table <NUM> or Table <NUM>). In some embodiments, the outbound interface index may be used to indicate path information associated with the route information. In some embodiments, the route flag may be used to indicate a type of the route information. The type of the route information may include the network segment route, the gateway route, the host route, or the frame route. Another type of the route information is also feasible. In some embodiments, the route tag may be used to indicate an identifier of the route information, and corresponds to a route tag in a BGP. In some embodiments, the route cost may be used to indicate a cost of the route associated with the route information. In some embodiments, the network instance may correspond to a network instance in the PFCP protocol and be used to identify a VPN, for example, an L3 VPN.

In some embodiments, the at least one of the outbound interface index, the route flag, the route tag, and the network instance may be an embedded IE in the route information. For other details, refer to the foregoing examples of messages and IEs described in Table <NUM>, Table <NUM>, Table <NUM>, and Table <NUM> to Table <NUM>. This embodiment of the present disclosure is not limited thereto, and the route information may further include other appropriate route information or a combination of route information.

In some additional or alternative embodiments, the route information may include indication information (for example, Adv in Table <NUM>), used to indicate the UP device to advertise the route information. In this way, the route information may be advertised to a core router, so that the core router can advertise the route information to another gateway or router. In some alternative embodiments, the indication information may also be implicitly determined by using a route identifier in the route flag. For example, if the route flag indicates that the route information is the network segment route or the frame route, it indicates that the route information needs to be advertised. If the route flag indicates that the route information is the gateway route or the host route, it indicates that the route information does not need to be advertised. The indication information may also be indicated in another manner, which is not limited to the example herein.

In some embodiments, the first message may further include first type information, used to indicate that the first message includes the control indication. In other words, the first type information may indicate that the first message is the route delivery request. In some embodiments, the first type information may be any appropriate message type value. For example, the message type value may be any appropriate decimal value. Reference may be made herein to the foregoing examples of message types shown in Table <NUM>, Table <NUM>, and Table <NUM>. It should be understood that this is merely an example, and a message type value and a name of the first message are not limited thereto, but may be any appropriate value and name.

Refer to <FIG>, at <NUM>, the CP device <NUM> sends the first message to the UP device <NUM>. In this manner, the UP device <NUM> may update the route information based on the control indication in the first message, to complete a routing control operation. In some embodiments, the CP device <NUM> may further receive a second message from the UP device <NUM>. The second message includes a response of the UP device to the first message. In some embodiments, the second message may further include identification information of the UP device <NUM>, as shown in Table <NUM> described above. This helps the CP device <NUM> learn a receiving status of the first message by each UP device <NUM>, to more accurately perform the routing control operation.

In some embodiments, the second message may further include second type information, used to indicate that the second message includes the response. In other words, the second type information may indicate that the second message is a response to the route delivery request. In some embodiments, the second type information may be any appropriate message type value. For example, the message type value may be any appropriate decimal value shown in Table <NUM>. It should be understood that this is merely an example, and a message type value and a name of the second message are not limited thereto, but may be any appropriate value and name. In some embodiments, the second message may be a node-level message. In an alternative embodiment, the second message may alternatively be a session-level message. In these embodiments, the second message and the first message are of a same message type.

The processing described above in <FIG> corresponds to operations in <NUM> to <NUM> in <FIG>. For other details, refer to related descriptions in <FIG>. According to the routing control method in <FIG>, a route delivery operation in a communication system architecture with CU separation may be completed.

Correspondingly, the embodiments of the present disclosure further provide a routing control method implemented by a UP device. <FIG> shows a flowchart of a routing control method <NUM> implemented by a UP device according to an embodiment of the present disclosure. The method <NUM> may be implemented by a UP device (for example, the UP device <NUM>) in a communication system architecture with CU separation. For ease of description, <FIG> will be described herein with reference to the example of <FIG>. It should be understood that the method in <FIG> may include other additional steps that are not shown, or may not include some shown steps.

As shown in <FIG>, at <NUM>, the UP device <NUM> receives a first message from the CP device <NUM>. The first message includes route information associated with the UP device <NUM>, and the first message includes a control indication for the route information. In some embodiments, the control indication may include an install indication used to indicate to install the route information. In additional or alternative embodiments, the control indication may include a remove indication used to indicate to remove the information. In these embodiments, the control indication may further include identification information of the CP device <NUM>. In this manner, the UP device <NUM> may complete a route updating operation.

In some embodiments, the first message may be a node-level message. Alternatively, the first message may be a session-level message. In some embodiments, the route information may be a grouped IE in the node-level message or the session-level message.

In some embodiments, the route information may include a destination address (for example, destination IP address in Table <NUM> or Table <NUM>) and a next-hop address (for example, next-hop in Table <NUM> or Table <NUM>). In additional or alternative embodiments, the route information may further include at least one of an outbound interface index (for example, out-if-info in Table <NUM>), a route flag (for example, route-flag in Table <NUM>), a route tag (for example, route-tag in Table <NUM>), a route cost (for example, route-cost in Table <NUM>), and a network instance (for example, network instance in Table <NUM> or Table <NUM>).

In some embodiments, the UP device <NUM> may determine that the first message includes first type information, and obtain the control indication from the first message. The control indication may also be obtained in another manner.

After obtaining the control indication, at <NUM>, the UP device <NUM> updates the route information based on the control indication. In embodiments in which the control indication includes an install indication used to indicate to install the route information, the UP device <NUM> may install the route information based on the install indication. In embodiments in which the control indication includes a remove indication used to indicate to remove the route information, the UP device <NUM> may remove the corresponding route information based on the remove indication. It should be noted that the control indication may include both an install indication and a remove indication for different route information. In this manner, the UP device <NUM> may complete the route updating operation.

In some additional or alternative embodiments, the UP device <NUM> may further determine whether the route information includes indication information, and when determining that the route information includes the indication information, advertise the route information to a core router. In this manner, the route information is advertised, so that the core router can learn route information to an address managed by the UP device <NUM>. Further, the core router may advertise the route to another gateway or router.

In some additional or alternative embodiments, the UP device <NUM> may further generate a second message (for example, a route delivery response message), where the second message includes a response to the first message. The UP device <NUM> may send the second message to the CP device <NUM>, to more accurately complete the routing control operation. For example, the response may be a positive response indicating that the first message is successfully received. For another example, the response may be a negative response indicating that the first message is unsuccessfully received. In some embodiments, the second message may further include identification information of the UP device <NUM>. In this manner, the CP device <NUM> may learn a receiving status of the first message by the UP device <NUM>.

In some embodiments, the second message may further include second type information, used to indicate that the second message includes the response. In this manner, the CP device <NUM> can correctly receive the first message. In some embodiments, the second message may be a node-level message, or may be a session-level message. In the embodiment in which the first message is the node-level message, the UP device <NUM> may generate the second message as the node-level message. In the embodiment in which the first message is the session-level message, the UP device <NUM> may generate the second message as the session-level message. The foregoing is merely an example, and another appropriate message type known in the art or developed in the future may also be used in this embodiment of the present disclosure.

The processing described above in <FIG> corresponds to operations in <NUM> to <NUM> in <FIG>. For other details, refer to related descriptions in <FIG>. According to the routing control method in <FIG>, a route updating operation in the communication system architecture with CU separation may be completed.

In conclusion, according to the solutions in this embodiment of the present disclosure, a PFCP message used for a route delivery operation is extended, so that interaction on routing control between a CP and a UP in the communication system architecture with CU separation can be implemented. In addition, compatibility with an existing protocol can be implemented, and this facilitates deployment of a communication system architecture with CU separation.

Corresponding to the foregoing methods, the embodiments of the present disclosure further provide message sending and receiving apparatuses and devices, which are described below with reference to <FIG>. <FIG> shows a schematic block diagram of a message sending apparatus <NUM> according to the embodiments of the present disclosure shown in <FIG>. The apparatus <NUM> may be implemented by a CP device (for example, the CP device <NUM> in <FIG>) in a communication system architecture with CU separation. For ease of description, <FIG> is described below with reference to an example in <FIG>. The apparatus <NUM> may be a part of the CP device <NUM>, or may be the CP device <NUM> itself. It should be understood that the apparatus <NUM> may include more additional components than the shown components, or may not include some components shown in the apparatus <NUM>. This is not limited in this embodiment of the present disclosure.

As shown in <FIG>, the apparatus <NUM> may include a first message generation unit <NUM> and a first message sending unit <NUM>. The first message generation unit <NUM> may be configured to generate a first message, where the first message includes route information and a control indication for the route information, and the route information is associated with the UP device <NUM>. The first message generation unit <NUM> may perform step <NUM> shown in <FIG> or step <NUM> shown in <FIG>. The first message sending unit <NUM> may be configured to send the first message to the UP device <NUM>, so that the UP device <NUM> updates the route information based on the control indication. In some embodiments, the first message is a PFCP message. The first message sending unit <NUM> may perform step <NUM> shown in <FIG> or step <NUM> shown in <FIG>.

In some embodiments, the route information may be a grouped IE in a node-level message or a session-level message. In some embodiments, the control indication may include at least one of an install indication and a remove indication. The install indication is used to indicate to install the route information, and the remove indication is used to indicate to remove the route information.

In some embodiments, the route information may include a destination address and a next-hop address. In some additional or alternative embodiments, the route information may further include at least one of the following: an outbound interface index, a route flag, a route tag, a route cost, and a network instance. The outbound interface index is used to indicate path information associated with the route information. The route flag is used to indicate a type of the route information. The type of the route information may include at least one of a network segment route, a gateway route, a host route, and a frame route. In some embodiments, the route tag may be used to indicate an identifier of the route information, and corresponds to a route tag in a BGP. The route cost is used to indicate a cost of a route associated with the route information. The network instance corresponds to a network instance in the PFCP protocol, and is used to identify a VPN, for example, an L3 VPN. In some embodiments, the at least one of the outbound interface index, the route flag, the route tag, and the network instance may be an embedded IE in the route information.

In some additional or alternative embodiments, the route information may include indication information, used to indicate the UP device <NUM> to advertise the route information. In some additional or alternative embodiments, the first message may further include first type information, used to indicate that the first message includes the control indication.

In some embodiments, the route information may include first route information and second route information, and the control indication may include a first control indication for the first route information and a second control indication for the second route information. In some additional or alternative embodiments, the first control indication may be used to indicate to install or remove the first route information, and the second control indication may be used to indicate to install or remove the second route information.

In some embodiments, the apparatus <NUM> may further include a second message receiving unit (not shown). The second message receiving unit may be configured to receive a second message from the UP device <NUM>, where the second message includes a response of the UP device <NUM> to the first message. In some embodiments, the second message may be a node-level message or a session-level message. In some additional or alternative embodiments, the second message further includes identification information of the UP device <NUM>. In some additional or alternative embodiments, the second message may further include second type information, where the second type information indicates that the second message includes the response. In some embodiments, the session-level message may include one of a session establishment request message, a session deletion request message, and a session modification request message.

<FIG> shows a schematic block diagram of a message receiving apparatus <NUM> according to the embodiments of the present disclosure shown in <FIG>. The apparatus <NUM> may be implemented by a UP device (for example, any UP device <NUM> in the UP devices <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM> in <FIG>) in a communication system architecture with CU separation. For ease of description, <FIG> is described below with reference to an example in <FIG>. The apparatus <NUM> may be a part of the UP device <NUM>, or may be the UP device <NUM> itself. It should be understood that the apparatus <NUM> may include more additional components than the shown components, or may not include some components shown in the apparatus <NUM>. This is not limited in this embodiment of the present disclosure.

As shown in <FIG>, the apparatus <NUM> may include a first message receiving unit <NUM> and an updating unit <NUM>. The first message receiving unit <NUM> may be configured to receive a first message from the CP device <NUM>. The first message includes route information and a control indication for the route information, and the route information is associated with the UP device <NUM>. The first message receiving unit <NUM> may perform step <NUM> shown in <FIG> or step <NUM> shown in <FIG>. The updating unit <NUM> may be configured to update the route information based on the control indication. In some embodiments, the first message is a PFCP message. The updating unit <NUM> may perform step <NUM> shown in <FIG> or step <NUM> shown in <FIG>.

In some embodiments, the first message receiving unit <NUM> may include an obtaining unit (not shown), configured to obtain the control indication from the first message.

In some embodiments, the updating unit <NUM> may include: an installation unit (not shown), configured to install the route information when it is determined that the control indication includes an install indication used to indicate to install the route information; and a removing unit (not shown), configured to remove the route information if it is determined that the control indication includes a remove indication used to indicate to remove the route information.

In some additional embodiments, the apparatus <NUM> may further include an advertising unit (not shown), configured to advertise the route information to a core router based on indication information.

In some additional embodiments, the apparatus <NUM> may further include: a second message generation unit (not shown), configured to generate a second message, where the second message includes a response to the first message; and a second message sending unit (not shown), configured to send a second message to the CP device <NUM>. In some embodiments, the second message may further include second type information, where the second type information indicates that the second message includes the response.

<FIG> is a simplified block diagram of a device <NUM> applicable to implementing an embodiment of the present disclosure. The device <NUM> may be provided to implement an electronic device, for example, any one of the CP device <NUM> and the UP device <NUM> shown in <FIG>. As shown in <FIG>, the device <NUM> includes one or more processors <NUM>, one or more memories <NUM> coupled to the processor <NUM>, and one or more communication modules <NUM> coupled to the processor <NUM>.

The communication module <NUM> is used for bidirectional communication. The communication module <NUM> has a communication interface to facilitate communication. The communication interface may represent any interface necessary to communicate with another network element.

The processor <NUM> may be any type of processor applicable to a local technology network, and may include, by way of example and not limitation, one or more of the following: a general-purpose computer, a dedicated computer, a microprocessor, a digital signal processor, and a processor based on a multi-core processor architecture. The device <NUM> may have a plurality of processors, for example, application-specific integrated circuit chips that follow a clock synchronized with a main processor in time.

The non-volatile memory includes, by way of example and not limitation, a read-only memory (ROM) <NUM>, an electrically programmable read-only memory (EPROM), a flash memory, a hard disk, a compact disc (CD), a digital video disc (DVD), and another magnetic and/or optical storage apparatus. The volatile memory includes, by way of example and not limitation, a random access memory (RAM) <NUM> and another volatile memory that does not maintain stored information while powered-off.

A computer program <NUM> includes computer-executable instructions executed by an associated processor <NUM>. The processor <NUM> may perform any appropriate action and processing by loading the program <NUM> into the RAM <NUM>.

This embodiment of the present disclosure may be implemented by using the program <NUM>, so that the device <NUM> performs the processing of the present disclosure as discussed in <FIG>.

In a specific embodiment, the processor in the network device <NUM> is configured to: generate a first message, where the first message includes route information and a control indication for the route information, and the route information is associated with the UP device; and send the first message to the UP device through the communication interface, so that the UP device updates the route information based on the control indication, where the first message is a packet forwarding control protocol PFCP message. For a detailed processing process of the processor, refer to detailed description of the processes <NUM> and <NUM> in the embodiment shown in <FIG> and the processes <NUM> and <NUM> in the embodiment shown in <FIG>.

In a specific embodiment, the processor in the network device <NUM> is configured to: receive a first message from the CP device through the communication interface, where the first message includes route information and a control indication for the route information, and the route information is associated with the UP device; and update the route information based on the control indication, where the first message is a packet forwarding control protocol PFCP message. For a detailed processing process of the processor, refer to detailed description of the processes <NUM> and <NUM> in the embodiment shown in <FIG> and the processes <NUM> and <NUM> in the embodiment shown in <FIG>.

The device <NUM> may correspond to the message sending apparatus <NUM> or the message receiving apparatus <NUM>, and each functional module in the apparatus <NUM> or the apparatus <NUM> is implemented by using software of the device <NUM>. In other words, a functional module included in the apparatus <NUM> or the apparatus <NUM> is generated after the processor <NUM> of the device <NUM> reads program code stored in the memory <NUM>. This embodiment of the present disclosure may further be implemented by hardware or by a combination of software and hardware.

In some embodiments, the program <NUM> may be tangibly contained in a computer-readable medium, and the computer-readable medium may be included in the device <NUM> (for example, in the memory <NUM>) or another storage device that may be accessed by the device <NUM>. The program <NUM> may be loaded from the computer-readable medium to the RAM <NUM> for execution. The computer-readable medium may include any type of tangible non-volatile memory, for example, a ROM, an EPROM, a flash memory, a hard disk, a CD, a DVD, and the like.

Generally, various example embodiments of the present disclosure may be implemented by hardware or a dedicated circuit, software, logic, or any combination thereof. Some aspects may be implemented in hardware, while another aspect may be implemented in firmware or software that may be executed by a controller, a microprocessor, or another computing device. When aspects of the embodiments of the present disclosure are illustrated or described as block diagrams, flowcharts, or represented by using some other graphical representation, it will be understood that the blocks, apparatuses, systems, techniques, or methods described herein may be implemented as non-limiting examples in hardware, software, firmware, dedicated circuits or logic, general-purpose hardware or controllers, or other computing devices, or some combinations thereof. A hardware device that may be used to implement the embodiments of the present disclosure includes, by way of example and not limitation, a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), an application-specific standard product (ASSP), a system-on-a-chip (SOC), a complex programmable logic device (CPLD), and the like.

For example, the embodiments of the present disclosure may be described in context of machine-executable instructions, and the machine-executable instructions are, for example, program modules executed in a device included in a target real or virtual processor. Generally, the program modules include routines, programs, libraries, objects, classes, components, data structures, and the like that perform specific tasks or implement specific abstract data structures. In various embodiments, functions of the program modules may be combined or divided between the described program modules. The machine-executable instructions used for the program modules may be executed within a local or distributed device. In a distributed device, the program module may be located in both local and remote storage media.

Computer program code for implementing the methods of the present disclosure may be compiled in one or more programming languages. The computer program code may be provided for a processor of a general-purpose computer, a dedicated computer, or another programmable data processing apparatus, so that when the program code is executed by the computer or the another programmable data processing apparatus, functions/operations specified in the flowcharts and/or block diagrams are performed. The program code may be executed entirely on a computer, partly on a computer, as a separate software package, partly on a computer and partly on a remote computer, or entirely on a remote computer or server.

In context of the present disclosure, the computer program code or related data may be carried by any appropriate carrier to enable a device, apparatus, or processor to perform various processes and operations described above. An example of the carrier includes a signal, a computer-readable medium, and the like.

An example of the signal may include an electrical, optical, radio, sound, or other forms of propagating signal, for example, a carrier wave, an infrared signal, and the like.

A machine-readable medium may be any tangible medium containing or storing a program used for or relating to an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any appropriate combination thereof. More detailed examples of the machine-readable storage media include an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical storage device, a magnetic storage device, or any appropriate combination thereof.

Claim 1:
A message sending method, wherein the method is applied to a control plane, CP, device in a virtual broadband network gateway, vBNG, architecture in which a CP and a user plane, UP, are separated, the vBNG architecture further comprises a UP device, and the method comprises:
generating (<NUM>), by the CP device, a first message, wherein the first message comprises route information and a control indication for the route information, and the route information is associated with the UP device, the first message comprises a route flag indicating a type of the route information, and the type of the route information comprises at least one of the following: a network segment route, a gateway route, a host route, or a frame route; and
sending (<NUM>), by the CP device, the first message to the UP device, to cause the UP device to update the route information based on the control indication, wherein
the first message is a packet forwarding control protocol, PFCP, message.