Traffic forwarding method and device, communication equipment, storage medium and program product
By generating and pre-selecting candidate SFC paths for forwarding plane UP, the problem of surged control plane path computational load in metropolitan area network cloud deployment is solved, achieving efficient traffic forwarding and service continuity.
Patent Information
- Application Number
- CN202511615629.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-06
- Publication Date
- 2026-02-27
AI Technical Summary
In the cloud deployment of metropolitan area networks, the control plane of traditional technologies needs to complete policy acquisition and path calculation in a short period of time, which leads to a surge in load, extended switching time, and affects service continuity and user experience.
When a user is detected to have traffic to forward, the system obtains the user's subscribed value-added services, generates candidate SFC paths corresponding to each forwarding plane UP, and selects the target SFC path based on the availability of the preferred UP, ensuring that traffic forwarding is quickly switched to the backup UP when the preferred UP is unavailable.
It improves the efficiency of determining the target SFC path and traffic forwarding, thereby enhancing service continuity and user experience.
Smart Images

Figure CN121585602A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of communication, and in particular to a traffic forwarding method and device, a communication device, a storage medium and a program product. BACKGROUND
[0002] In the cloud deployment of a metropolitan area network, a virtual broadband network gateway (vBNG) with separation of control and forwarding is a core architecture. A control plane (CP) is responsible for user access management and policy decision, and a forwarding plane (UP) includes a physical UP (pUP) deployed by special hardware pooling and a virtual UP (vUP) deployed by cloud virtualization, and is responsible for traffic access and forwarding. The two are connected through a control unit (CU) channel to realize the interaction of control information.
[0003] User value-added services are usually implemented through a service function chain (SFC), which requires traffic to pass through each value-added service network element in a predetermined order. However, the traditional technology control plane needs to complete policy acquisition and path calculation in a short time, which leads to an increase in load and an increase in switching delay, affecting service continuity and user experience, and needs to be solved urgently. SUMMARY
[0004] Therefore, it is necessary to provide a traffic forwarding method, device, communication device, storage medium and program product to improve the generation efficiency of the target SFC path and thus improve the traffic forwarding efficiency.
[0005] In a first aspect, the present application provides a traffic forwarding method applied to a CP, comprising:
[0006] In a case where it is detected that a user has traffic to be forwarded, each value-added service subscribed by the user is acquired.
[0007] According to the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and each UP corresponding to the CP, a candidate SFC path corresponding to each UP is generated.
[0008] According to the availability of the preferred UP corresponding to the user, a target SFC path is selected from each candidate SFC path. The target SFC path is used to forward the traffic to be forwarded.
[0009] In one of the embodiments, according to the availability of the preferred UP corresponding to the user, a target SFC path is selected from each candidate SFC path, comprising:
[0010] In a case where the user's preferred UP is available, the preferred UP is selected as the target UP, and a candidate SFC path corresponding to the target UP is selected as the target SFC path.
[0011] In a case where the user's preferred UP is unavailable, a target UP is selected from each backup UP corresponding to the CP, and a candidate SFC path corresponding to the target UP is selected as the target SFC path; wherein the backup UP is each UP corresponding to the CP, except for the user's preferred UP.
[0012] In one embodiment, selecting the target UP from each backup UP corresponding to the CP comprises:
[0013] Determining the size relationship between the forwarding delay of each backup UP and the preset delay threshold.
[0014] Selecting the target UP from each backup UP whose forwarding delay does not exceed the preset delay threshold.
[0015] In one embodiment, selecting the target UP from each backup UP whose forwarding delay does not exceed the preset delay threshold comprises:
[0016] Selecting, as the target UP, the backup UP with the lowest current load rate among each backup UP whose forwarding delay does not exceed the preset delay threshold.
[0017] In one embodiment, generating the candidate SFC path corresponding to each UP according to the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and each forwarding plane UP corresponding to the CP comprises:
[0018] Generating a basic SFC path corresponding to the to-be-forwarded traffic according to the service nodes corresponding to each value-added service and the connection relationship between different service nodes;
[0019] For any UP, connecting the UP as an ingress node with the first service node of the basic SFC path to generate a candidate SFC path corresponding to the UP.
[0020] In one embodiment, after selecting the target SFC path from each candidate SFC path, the method further comprises:
[0021] Sending the target SFC path to the target UP and instructing the target UP to forward the to-be-forwarded traffic based on the target SFC path.
[0022] In a second aspect, the present application also provides a traffic forwarding device, comprising:
[0023] A service acquisition module configured to acquire each value-added service subscribed by a user in a case where it is detected that the user has to-be-forwarded traffic.
[0024] a path generation module, configured to generate a candidate SFC path corresponding to each UP according to the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and each forwarding face UP corresponding to the CP;
[0025] a path selection module, configured to select a target SFC path from the candidate SFC paths according to the availability of the first-preferred UP corresponding to the user; the target SFC path is used to forward the to-be-forwarded traffic.
[0026] In a third aspect, the present application further provides a computer device, comprising a memory and a processor, the memory stores a computer program, and the processor implements the following steps when executing the computer program:
[0027] in the case where it is detected that the user has to-be-forwarded traffic, obtaining each value-added service subscribed by the user;
[0028] generating a candidate SFC path corresponding to each UP according to the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and each forwarding face UP corresponding to the CP;
[0029] selecting a target SFC path from the candidate SFC paths according to the availability of the first-preferred UP corresponding to the user; the target SFC path is used to forward the to-be-forwarded traffic.
[0030] In a fourth aspect, the present application further provides a computer readable storage medium, which stores a computer program, and the computer program implements the following steps when executed by a processor:
[0031] in the case where it is detected that the user has to-be-forwarded traffic, obtaining each value-added service subscribed by the user;
[0032] generating a candidate SFC path corresponding to each UP according to the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and each forwarding face UP corresponding to the CP;
[0033] selecting a target SFC path from the candidate SFC paths according to the availability of the first-preferred UP corresponding to the user; the target SFC path is used to forward the to-be-forwarded traffic.
[0034] In a fifth aspect, the present application further provides a computer program product, comprising a computer program, and the computer program implements the following steps when executed by a processor:
[0035] in the case where it is detected that the user has to-be-forwarded traffic, obtaining each value-added service subscribed by the user;
[0036] generate the candidate SFC paths corresponding to each UP according to the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and each forwarding plane UP corresponding to the CP;
[0037] select a target SFC path from the candidate SFC paths according to the availability of the first-preferred UP corresponding to the user; the target SFC path is used to forward the to-be-forwarded traffic.
[0038] The traffic forwarding method, device, communication device, storage medium, and program product described above, in the case where it is detected that the user has to-be-forwarded traffic, each value-added service subscribed by the user is acquired; the candidate SFC paths corresponding to each UP are generated according to the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and each forwarding plane UP corresponding to the CP; a target SFC path is selected from the candidate SFC paths according to the availability of the first-preferred UP corresponding to the user; the target SFC path is used to forward the to-be-forwarded traffic. In this process, because the candidate SFC paths corresponding to the UPs are generated in advance, in the case where the first-preferred UP corresponding to the user is unavailable, a target SFC path can be quickly selected from the candidate SFC paths to transfer the to-be-forwarded traffic to the UP corresponding to the target SFC path and perform traffic forwarding, improving the determination efficiency of the target SFC path and the traffic forwarding efficiency, thereby improving service continuity and user experience. BRIEF DESCRIPTION OF DRAWINGS
[0039] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the description of the embodiments of the present application or the related art will be briefly introduced. Obviously, the drawings in the following description only some embodiments of the present application, and for those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.
[0040] Figure 1 The application environment diagram of the traffic forwarding method in one embodiment;
[0041] Figure 2 The flowchart of the traffic forwarding method in one embodiment;
[0042] Figure 3 The flowchart of the target SFC path selection step in one embodiment;
[0043] Figure 4 The flowchart of the candidate SFC path generation step in one embodiment;
[0044] Figure 5 The flowchart of the traffic forwarding method in another embodiment;
[0045] Figure 6This is a structural block diagram of a traffic forwarding device in one embodiment;
[0046] Figure 7 This is an internal structure diagram of a communication device in one embodiment. Detailed Implementation
[0047] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0048] To facilitate understanding, a brief introduction to the communication terms used in this application is provided:
[0049] vBNG: A network access control layer virtualization solution based on the ETSI NFV reference architecture, combined with SDN technology, and based on BNG functionality.
[0050] Control separation vBNG: Deploy the CP and UP functions of vBNG separately.
[0051] CP: Responsible for functions such as user access control, user management, address management, and UP management. It typically includes CP control virtual machines (responsible for system monitoring, resource management, alarm management, etc.), service management virtual machines (responsible for user access control, user management, address management, UP management, etc.), and load-sharing virtual machines (responsible for communication between CP and UP, message distribution, etc.).
[0052] UP: Responsible for functions such as traffic forwarding and routing management. Depending on the physical form of the device, vBNG-UP is divided into pUP and vUP. The UP referred to in this application is pUP.
[0053] SFC: is a technology for providing SF in an orderly manner. It enables messages to pass through service devices sequentially along a specified path by adding service chain path information to the original message.
[0054] SRv6 SFC (SRv6 Service Chain): is a technology that guides packets through application layer service devices sequentially along a specified path by adding SRv6 path information to the original packets.
[0055] SC (Service Classifier): The starting point of SFC. It identifies and classifies messages according to rules, determines whether the message can enter the SFC domain, encapsulates the message in SFC, and imports it into the corresponding business function path.
[0056] SF (Service Function): Devices that provide value-added service functions, including firewalls, load balancers, etc.
[0057] SFF (Service Function Forwarder, service function forwarder): a SF unit, forwarding a data stream to the SF unit according to SFC header information, and transferring the data stream from the SF unit to the next hop SFF.
[0058] The traffic forwarding method provided by the embodiments of the present application can be applied to an application environment as shown in Figure 1 The CP 102 communicates with each UP in the UP pool through a network (UP1 104 is taken as an example for illustration in the figure, and UP1 104 is the preferred UP of the user), and the CP 102 also communicates with an (Authentication, Authorization, Accounting, AAA) authentication, authorization and accounting server. Specifically, the CP 102 acquires each value-added service subscribed by a user when detecting that the user has traffic to be forwarded; the CP 102 generates a candidate SFC path corresponding to each UP according to a service node corresponding to each value-added service, a connection relationship between different service nodes, and each forwarding face UP corresponding to the CP; the CP 102 selects a target SFC path from each candidate SFC path according to an available condition of the preferred UP corresponding to the user; and the target SFC path is used to forward the traffic to be forwarded.
[0059] In an exemplary embodiment, as shown in Figure 2 A traffic forwarding method is provided, which is taken as an example for illustration in the CP in Figure 1 The method comprises the following steps:
[0060] S210, acquiring each value-added service subscribed by a user when detecting that the user has traffic to be forwarded.
[0061] The traffic to be forwarded is a user traffic packet.
[0062] In an optional implementation, the CP acquires each value-added service subscribed by a user from an AAA server when detecting that the user has traffic to be forwarded. Exemplarily, a user value-added service management module can be deployed in the CP, which is used to manage the user and each value-added service corresponding to the user, and SF topology information corresponding to each value-added service, i.e., a connection relationship between different service nodes.
[0063] Exemplarily, when the user is online, a user online message arrives at any UP in the UP pool, and the UP carries the user online message with user identity credentials to the corresponding CP. The CP extracts the user identity credentials in the user online message and interacts with the AAA server to complete user identity authentication and obtain each value-added service subscribed by the user. The user identity credentials can include user information such as user account and password.
[0064] S220, generating a candidate SFC path corresponding to each UP according to the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and each forwarding plane UP corresponding to the CP.
[0065] It can be understood that, while the CP obtains each value-added service subscribed by the user, the SF topology information corresponding to each value-added service, that is, the connection relationship between different service nodes, can also be obtained.
[0066] Exemplarily, for any UP, the CP can generate a candidate SFC path corresponding to the UP according to the identification information of the UP and the service nodes corresponding to each value-added service. Taking UP1 as an example, the candidate SFC path corresponding to UP1 can be UP1-SF1-SF2-SF3.
[0067] S230, selecting a target SFC path from the candidate SFC paths according to the availability of the preferred UP corresponding to the user.
[0068] The target SFC path is used to forward the to-be-forwarded traffic. The target SFC path includes a complete SFC forwarding path.
[0069] In an optional implementation, the preferred forwarding plane UP can be understood as the UP connected when the user is online. The preferred UP corresponding to the user is not fixed. For example, when the user is online, the user will be connected with any UP in the UP pool, and the UP connected with the user is taken as the preferred UP corresponding to the user.
[0070] In another optional implementation, the preferred UP is not necessarily the UP connected when the user is online. Exemplarily, when the user is online, the user will be connected with any UP in the UP pool, and the UP carries the user online message to the CP. The CP selects any UP in the UP backup pool as the preferred UP corresponding to the user based on a hash algorithm according to the user Media Access Control Address (MAC).
[0071] It should be noted that the user does not communicate with the CP. After the user is online, the UP connected with the user sends a user online prompt to the CP in response to the user online instruction. Therefore, the CP can obtain the user identity to obtain each value-added service subscribed by the corresponding user.
[0072] In an optional implementation, the CP can send a test signal to the preferred UP, and determine that the preferred UP is available if the CP receives signal reception information fed back by the preferred UP, and determine that the preferred UP is unavailable if the CP does not receive the signal reception information fed back by the preferred UP within a first preset time length.
[0073] The first preset time length can be determined based on artificial experience and a large number of tests, and the present application does not make any limitation in this regard.
[0074] In another optional implementation, the CP can first take the candidate SFC path corresponding to the preferred UP as the preferred SFC path, and send the preferred SFC path to the preferred UP. If the sending is completed within a second preset time length, the CP determines that the preferred UP is available, and takes the preferred SFC path as the target SFC path. If the sending is not completed within the second preset time length, the CP determines that the preferred UP is unavailable, and performs the step of selecting the target SFC path from the candidate SFC paths.
[0075] The second preset time length can be determined based on artificial experience and a large number of tests, and the present application does not make any limitation in this regard.
[0076] In the above traffic forwarding method, when it is detected that the user has traffic to be forwarded, the user-subscribed value-added services are acquired. The candidate SFC paths corresponding to each UP are generated according to the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and the forwarding faces UP corresponding to the CP. The target SFC path is selected from the candidate SFC paths according to the availability of the preferred UP corresponding to the user. The target SFC path is used to forward the traffic to be forwarded. In this process, since the candidate SFC paths corresponding to the UP are generated in advance, the target SFC path can be quickly selected from the candidate SFC paths in the case where the preferred UP corresponding to the user is unavailable, so as to transfer the traffic to be forwarded to the UP corresponding to the target SFC path and perform traffic forwarding, thereby improving the determination efficiency of the target SFC path and the traffic forwarding efficiency, and thus improving the service continuity and user experience.
[0077] Further, the target SFC path is sent to the target UP, and the target UP is instructed to forward the traffic to be forwarded based on the target SFC path.
[0078] The target UP is the UP used to forward the traffic to be forwarded. In the case where the preferred UP corresponding to the user is available, the target UP is the preferred UP. In the case where the preferred UP corresponding to the user is unavailable, the target UP is selected from other UPs in the UP pool.
[0079] Specifically, in a case where the target UP is a preferred UP corresponding to the user, the CP can send the target SFC path to the preferred UP, and instruct the preferred UP to forward the to-be-forwarded traffic based on the target SFC path.
[0080] In a case where the target UP is not a preferred UP corresponding to the user, the CP can acquire the to-be-forwarded traffic of the user, and send the target SFC path and the to-be-forwarded traffic to the target UP, and instruct the target UP to forward the to-be-forwarded traffic based on the target SFC path. Alternatively, the CP instructs a preferred CP corresponding to the user to transfer the to-be-forwarded traffic to the target UP, so that the target UP forwards the to-be-forwarded traffic based on the target SFC path.
[0081] In an optional embodiment, the target UP can encapsulate the to-be-forwarded traffic according to the target SFC path, so as to guide the to-be-forwarded traffic to flow through each SF according to the target SFC path.
[0082] In the above embodiments, the target SFC path is sent to the target UP, so that the to-be-forwarded traffic is efficiently forwarded based on the cooperation of the CP and the target UP.
[0083] On the basis of the technical solutions in the above embodiments, the present application further provides an optional embodiment. In the optional embodiment, the process of selecting the target SFC path from the candidate SFC paths according to the availability of the preferred UP corresponding to the user is refined.
[0084] Referring to the target SFC path selection step shown in Figure 3 The target SFC path selection step includes:
[0085] S310, determining whether the preferred UP corresponding to the user is available.
[0086] The process of determining whether the preferred UP corresponding to the user is available has been described in the above embodiments, and will not be repeated here.
[0087] S320, in a case where the preferred UP corresponding to the user is available, taking the preferred UP as the target UP, and taking the candidate SFC path corresponding to the target UP as the target SFC path.
[0088] S330, in a case where the preferred UP corresponding to the user is not available, selecting the target UP from each standby UP corresponding to the CP, and taking the candidate SFC path corresponding to the target UP as the target SFC path.
[0089] The standby UP is each UP corresponding to the CP, except for the preferred UP corresponding to the user.
[0090] In an optional embodiment, a size relationship between a forwarding delay of each candidate SFC path corresponding to each backup UP and a preset delay threshold can be determined; and a target UP can be selected from each backup UP whose forwarding delay does not exceed the preset delay threshold.
[0091] The preset delay threshold can be determined based on artificial experience or a large number of experiments, and the present application does not make any limitation on this.
[0092] Specifically, in the present embodiment, the forwarding delays between each SF in each candidate SFC path corresponding to each backup UP and the preferred UP can be determined, and each forwarding delay is compared with the preset delay threshold; the backup UP whose forwarding delay exceeds the preset delay threshold is removed, and a target UP is selected from the remaining backup UPs.
[0093] Exemplarily, any backup UP in the remaining backup UPs can be selected as the target UP; or the current load rates of each remaining backup UP can be determined, and the backup UP with the lowest current load rate among each backup UP whose forwarding delay does not exceed the preset delay threshold can be selected as the target UP.
[0094] In the above embodiments, the selection method of the target SFC path is given. Since the candidate SFC paths corresponding to each UP are determined in advance, the target SFC path can be quickly selected from each candidate SFC path regardless of whether the preferred UP is available for the user, and the target SFC path does not need to be determined again in the process of traffic forwarding, which improves the determination efficiency of the target SFC path, thereby improving the service continuity and user experience.
[0095] On the basis of the technical solutions of the above embodiments, the present application further provides an optional embodiment. In the optional embodiment, the process of generating each candidate SFC path corresponding to each UP based on the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and each forwarding plane UP corresponding to the CP is refined.
[0096] Referring to the candidate SFC path generation step shown in Figure 4 includes:
[0097] S410, generating a basic SFC path corresponding to the to-be-forwarded traffic according to the service nodes corresponding to each value-added service and the connection relationship between different service nodes.
[0098] The basic SFC path is a forwarding path containing only the tail section of the path of SFF and SF, and does not include the head node UP of the path.
[0099] Exemplarily, the CP can generate a basic SFC path, for example, SF1-SF2-SF3, according to the service nodes corresponding to each value-added service and the connection relationship between different service nodes.
[0100] It can be understood that the subscribed value-added services of the user can be changed with the subscription operation of the user, and when the subscribed value-added services of the user are changed, the value-added service policy corresponding to the user on the AAA server also changes accordingly. In this case, the AAA server actively issues the updated value-added service policy to the CP, so that the CP determines the candidate SFC path corresponding to each UP based on the updated value-added services.
[0101] S420, for any UP, connecting the UP as an entry node with the first service node of the basic SFC path to generate the candidate SFC path corresponding to the UP.
[0102] Exemplarily, taking UP1 and the first service node SF1 of the basic SFC path as an example, UP1 can be connected with SF1 to generate the candidate SFC path corresponding to UP1, that is, UP1-SF1-SF2-SF3.
[0103] It should be noted that for the backup UP, when multiple equivalent SFs of the same type service exist (that is, different SFs corresponding to the same value-added service, and any selected SF can be selected), the selected SF and the order in the candidate SFC path corresponding to the backup UP can be consistent with the candidate SFC path corresponding to the preferred UP, and the only difference is the head node, so as to guarantee the continuity of the user value-added service.
[0104] In the above embodiments, the specific process of generating the candidate SFC path corresponding to each UP is given. The basic SFC path containing only the SFF and the SF tail section is generated first, and then each UP is connected as an entry node with the first service node of the basic SFC path to generate the corresponding candidate SFC path corresponding to the UP, which can improve the generation efficiency of the candidate SFC path.
[0105] Further, in an optional implementation, the basic SFC path and the user identifier corresponding to the user can be saved in the user value-added service management module of the CP, which is convenient for subsequent use. For example, when the subscribed value-added services of the user do not change, the basic SFC path corresponding to the user can be directly extracted from the service value-added service management module, without the need to perform the step of generating the basic SFC path, further improving the generation efficiency of the candidate SFC path.
[0106] On the basis of the technical solutions of the above embodiments, the present application also provides an optional embodiment. In the optional embodiment, the traffic forwarding method provided by the present application is introduced in detail.
[0107] Referring to the traffic forwarding method shown in Figure 5 , the traffic forwarding method comprises:
[0108] S501, the CP acquires each value-added service subscribed by the user in response to a user online message sent by any UP;
[0109] S502, the CP generates a basic SFC path corresponding to the to-be-forwarded traffic according to the service nodes corresponding to each value-added service and the connection relationship between different service nodes;
[0110] S503, the CP generates a candidate SFC path corresponding to any UP by taking the UP as an ingress node and connecting the first service node of the basic SFC path;
[0111] S504, the CP determines whether the preferred UP corresponding to the user is available, and if yes, performs S505, and if not, performs S506;
[0112] S505, the CP takes the preferred UP as a target UP and takes the candidate SFC path corresponding to the target UP as a target SFC path;
[0113] S506, the CP determines the size relationship between the forwarding delay of each candidate SFC path corresponding to the backup UP and a preset delay threshold;
[0114] S507, the CP takes the backup UP with the lowest current load rate among the backup UPs whose forwarding delay does not exceed the preset delay threshold as a target UP;
[0115] S508, the CP takes the candidate SFC path corresponding to the target UP as a target SFC path;
[0116] Among the UPs corresponding to the CP, the backup UP is other than the preferred UP corresponding to the user;
[0117] S509, the CP sends the target SFC path to the target UP;
[0118] S510, the target UP identifies the to-be-forwarded traffic and encapsulates the to-be-forwarded traffic according to the target SFC path;
[0119] S511, the target UP forwards the to-be-forwarded traffic based on the target SFC path.
[0120] It should be understood that although each step in the flowchart involved in each embodiment as described above is shown in sequence according to the arrow, these steps are not necessarily executed in the order indicated by the arrow. Unless explicitly stated herein, there is no strict order limitation for the execution of these steps, and these steps can be executed in other orders. Moreover, at least part of the steps in the flowchart involved in each embodiment as described above can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but can be alternately executed with at least part of other steps or steps or stages in other steps. It can be understood that the steps in different embodiments can be freely combined as needed, and various non-contradictory schemes formed by the combination are within the scope of protection of the present application.
[0121] Based on the same inventive concept, the embodiments of the present application also provide a flow forwarding device for implementing the flow forwarding method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more flow forwarding device embodiments provided below can refer to the limitations of the flow forwarding method in the above text, and will not be repeated here.
[0122] In one exemplary embodiment, as shown in Figure 6 a flow forwarding device is provided, comprising: a service acquisition module 610, a path generation module 620, and a path selection module 630, wherein:
[0123] The service acquisition module 610 is configured to acquire each value-added service subscribed by the user when it is detected that the user has traffic to be forwarded.
[0124] The path generation module 620 is configured to generate a candidate SFC path corresponding to each UP according to the business nodes corresponding to each value-added service, the connection relationship between different business nodes, and each forwarding face UP corresponding to the CP.
[0125] The path selection module 630 is configured to select a target SFC path from each candidate SFC path according to the availability of the preferred UP corresponding to the user; the target SFC path is used to forward the traffic to be forwarded.
[0126] In an embodiment, the path selection module 630 includes a preferred selection unit configured to select the preferred UP as the target UP and the candidate SFC path corresponding to the target UP as the target SFC path when the user's preferred UP is available; and an alternative selection unit configured to select the target UP from the alternative UPs corresponding to the CP and the candidate SFC path corresponding to the target UP as the target SFC path when the user's preferred UP is unavailable, wherein the alternative UP is one of the UPs corresponding to the CP other than the user's preferred UP.
[0127] In an embodiment, the alternative selection unit includes a relationship determination subunit configured to determine the size relationship between the forwarding delay of the candidate SFC path corresponding to each alternative UP and the preset delay threshold; and an alternative selection subunit configured to select the target UP from the alternative UPs whose forwarding delay does not exceed the preset delay threshold.
[0128] In an embodiment, the alternative selection subunit is specifically configured to select, as the target UP, the alternative UP with the lowest current load rate from the alternative UPs whose forwarding delay does not exceed the preset delay threshold.
[0129] In an embodiment, the path generation module 620 includes a basic generation unit configured to generate the basic SFC path corresponding to the to-be-transferred traffic according to the service nodes corresponding to each value-added service and the connection relationship between different service nodes; and a candidate generation unit configured to generate, for any UP, the candidate SFC path corresponding to the UP by connecting the UP as an entry node with the first service node of the basic SFC path.
[0130] In an embodiment, the traffic forwarding apparatus further includes a traffic forwarding module configured to send the target SFC path to the target UP and instruct the target UP to forward the to-be-transferred traffic based on the target SFC path.
[0131] Each of the above modules of the traffic forwarding apparatus can be implemented in whole or in part by software, hardware, and a combination thereof. Each of the above modules can be embedded in or independent of a processor in the computer device in a hardware form, or stored in a memory in the computer device in a software form, so as to be called and executed by the processor to perform the operations corresponding to each of the above modules.
[0132] In an embodiment, a communication device, which can be a server, is provided, and an internal structure diagram of the communication device can be as shown in Figure 7The communication device includes a processor, a memory, a network interface and a transceiver connected through a system bus. The processor of the communication device is configured to provide computing and control capabilities. The memory of the communication device includes a non-volatile storage medium and an internal memory. The transceiver of the communication device is configured to perform the operation of receiving or sending data under the control of the processor. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operating system and the computer program in the non-volatile storage medium to run. The database of the communication device is configured to store relevant data in the traffic forwarding process. The network interface of the communication device is configured to communicate with external terminals through network connection. The computer program is executed by the processor to implement a traffic forwarding method.
[0133] Those skilled in the art can understand that, Figure 7 The structure shown in the figure is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the communication device to which the scheme of the present application is applied. The specific communication device can include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.
[0134] In one exemplary embodiment, a computer device is provided, including a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the following steps:
[0135] In the case where it is detected that the user exists for the to-be-forwarded traffic, the user-subscribed value-added services are acquired;
[0136] According to the business nodes corresponding to the value-added services, the connection relationship between different business nodes, and the forwarding faces UPs corresponding to the CP, candidate SFC paths corresponding to each UP are generated;
[0137] According to the availability of the preferred UP corresponding to the user, a target SFC path is selected from the candidate SFC paths; the target SFC path is used to forward the to-be-forwarded traffic.
[0138] In one embodiment, the processor executing the computer program further implements the following steps:
[0139] In the case where the preferred UP corresponding to the user is available, the preferred UP is used as the target UP, and the candidate SFC path corresponding to the target UP is used as the target SFC path;
[0140] In the case where the preferred UP corresponding to the user is not available, a target UP is selected from the backup UPs corresponding to the CP, and the candidate SFC path corresponding to the target UP is used as the target SFC path; wherein the backup UP is other than the preferred UP corresponding to the user among the UPs corresponding to the CP.
[0141] In one embodiment, the processor, when executing the computer program, also implements the following steps:
[0142] Determine the size relationship between the forwarding delay of each candidate SFC path corresponding to the standby UP and the preset delay threshold.
[0143] From each standby UP whose forwarding delay does not exceed the preset delay threshold, select a target UP.
[0144] In one embodiment, the processor, when executing the computer program, also implements the following steps:
[0145] Among each standby UP whose forwarding delay does not exceed the preset delay threshold, the standby UP with the lowest current load rate is selected as the target UP.
[0146] In one embodiment, the processor, when executing the computer program, also implements the following steps:
[0147] According to the service nodes corresponding to each value-added service and the connection relationship between different service nodes, generate a basic SFC path corresponding to the to-be-forwarded traffic;
[0148] For any UP, connect the UP as an entry node with the first service node of the basic SFC path to generate a candidate SFC path corresponding to the UP.
[0149] In one embodiment, the processor, when executing the computer program, also implements the following steps:
[0150] Send the target SFC path to the target UP and instruct the target UP to forward the to-be-forwarded traffic based on the target SFC path.
[0151] In one embodiment, a computer readable storage medium is provided, which stores a computer program. The computer program is executed by a processor to implement the following steps:
[0152] When it is detected that the user has to-be-forwarded traffic, obtain each value-added service subscribed by the user;
[0153] According to the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and each forwarding plane UP corresponding to the CP, generate a candidate SFC path corresponding to each UP;
[0154] According to the availability of the user's preferred UP, select a target SFC path from each candidate SFC path; the target SFC path is used to forward the to-be-forwarded traffic.
[0155] In one embodiment, the computer program is executed by the processor to also implement the following steps:
[0156] In a case where the user's preferred UP is available, the preferred UP is taken as the target UP, and a candidate SFC path corresponding to the target UP is taken as the target SFC path.
[0157] In a case where the user's preferred UP is unavailable, a target UP is selected from each backup UP corresponding to the CP, and a candidate SFC path corresponding to the target UP is taken as the target SFC path; wherein the backup UP is each UP corresponding to the CP except the user's preferred UP.
[0158] In an embodiment, the computer program, when executed by the processor, further implements the following steps:
[0159] Determining the size relationship between the forwarding delay of each backup UP corresponding to the candidate SFC path and the preset delay threshold.
[0160] Selecting the target UP from each backup UP whose forwarding delay does not exceed the preset delay threshold.
[0161] In an embodiment, the computer program, when executed by the processor, further implements the following steps:
[0162] Taking the backup UP whose current load rate is the lowest among each backup UP whose forwarding delay does not exceed the preset delay threshold, as the target UP.
[0163] In an embodiment, the computer program, when executed by the processor, further implements the following steps:
[0164] Generating a basic SFC path corresponding to the to-be-forwarded traffic according to the service nodes corresponding to each value-added service and the connection relationship between different service nodes.
[0165] For any UP, connecting the UP as an entry node with the first service node of the basic SFC path to generate a candidate SFC path corresponding to the UP.
[0166] In an embodiment, the computer program, when executed by the processor, further implements the following steps:
[0167] Sending the target SFC path to the target UP and instructing the target UP to forward the to-be-forwarded traffic based on the target SFC path.
[0168] In an embodiment, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the following steps:
[0169] In a case where it is detected that the user has to-be-forwarded traffic, obtaining each value-added service subscribed by the user.
[0170] generate the candidate SFC paths corresponding to each UP according to the service nodes corresponding to each value-added service, the connection relationship between different service nodes, and each forwarding plane UP corresponding to the CP;
[0171] select a target SFC path from the candidate SFC paths according to the availability of the preferred UP corresponding to the user; the target SFC path is used to forward the to-be-forwarded traffic.
[0172] In one embodiment, the computer program is further implemented when executed by the processor to perform the following steps:
[0173] In the case that the preferred UP corresponding to the user is available, the preferred UP is used as the target UP, and the candidate SFC path corresponding to the target UP is used as the target SFC path.
[0174] In the case that the preferred UP corresponding to the user is not available, a target UP is selected from each backup UP corresponding to the CP, and the candidate SFC path corresponding to the target UP is used as the target SFC path; the backup UP is each UP corresponding to the CP, except the preferred UP corresponding to the user.
[0175] In one embodiment, the computer program is further implemented when executed by the processor to perform the following steps:
[0176] determine the size relationship between the forwarding delay of each backup UP and the preset delay threshold;
[0177] select the target UP from each backup UP whose forwarding delay does not exceed the preset delay threshold.
[0178] In one embodiment, the computer program is further implemented when executed by the processor to perform the following steps:
[0179] select, as the target UP, the backup UP whose current load rate is the lowest among each backup UP whose forwarding delay does not exceed the preset delay threshold.
[0180] In one embodiment, the computer program is further implemented when executed by the processor to perform the following steps:
[0181] generate a basic SFC path corresponding to the to-be-forwarded traffic according to the service nodes corresponding to each value-added service and the connection relationship between different service nodes;
[0182] For any UP, connect the UP as an entry node with the first service node of the basic SFC path to generate a candidate SFC path corresponding to the UP.
[0183] In one embodiment, the computer program is further implemented when executed by the processor to perform the following steps:
[0184] The target SFC path is sent to the target UP, and the target UP is instructed to forward the to-be-forwarded traffic based on the target SFC path.
[0185] It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant regulations.
[0186] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer readable storage medium. When the computer program is executed, it can include the processes of the above-mentioned embodiments of each method. In the embodiments provided in the present application, any reference to memory, database or other medium can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (Read-Only Memory, ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive random access memory (Resistive Random Access Memory, ReRAM), magnetoresistive random access memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric memory (Ferroelectric Random Access Memory, FRAM), phase change memory (Phase Change Memory, PCM), graphene memory, etc. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, etc. As an illustration but not limitation, RAM can be in various forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (Artificial Intelligence, AI) processor, etc., without being limited thereto.
[0187] Any technical features in the above embodiments can be combined, and for the sake of brevity, not all possible combinations are described above, however, any combination of these technical features is deemed to be within the scope of the present application.
[0188] The above embodiments only express several implementation manners of the present application, and the description is relatively specific and detailed, but it should not be understood as a limitation on the patent scope of the present application. It should be pointed out that, for ordinary skilled persons in the art, several modifications and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.
Claims
1. A traffic forwarding method applied to the control plane (CP), characterized in that, The method includes: If a user is detected to have traffic to be forwarded, retrieve the value-added services subscribed to by the user. Based on the business nodes corresponding to each value-added service, the connection relationships between different business nodes, and each forwarding plane UP corresponding to the CP, candidate SFC paths corresponding to each UP are generated. Based on the availability of the user's preferred UP, a target SFC path is selected from each of the candidate SFC paths; the target SFC path is used to forward the traffic to be forwarded.
2. The method according to claim 1, characterized in that, The step of selecting a target SFC path from the candidate SFC paths based on the availability of the user's preferred UP includes: If the user's preferred UP is available, the preferred UP is taken as the target UP, and the candidate SFC path corresponding to the target UP is taken as the target SFC path; If the user's preferred UP is unavailable, a target UP is selected from the backup UPs corresponding to the CP, and the candidate SFC path corresponding to the target UP is used as the target SFC path; wherein, the backup UPs are the other UPs besides the user's preferred UP among the UPs corresponding to the CP.
3. The method according to claim 2, characterized in that, The step of selecting a target UP from the backup UPs corresponding to the CP includes: Determine the relationship between the forwarding delay of the candidate SFC path corresponding to each of the backup UPs and the preset delay threshold; The target UP is selected from all standby UPs whose forwarding latency does not exceed the preset latency threshold.
4. The method according to claim 3, characterized in that, Selecting the target UP from all standby UPs whose forwarding latency does not exceed the preset latency threshold includes: Among all standby UPs whose forwarding latency does not exceed the preset latency threshold, the standby UP with the lowest current load rate is selected as the target UP.
5. The method according to any one of claims 1-4, characterized in that, The step of generating candidate SFC paths for each UP based on the service nodes corresponding to each value-added service, the connection relationships between different service nodes, and each forwarding plane UP corresponding to the CP includes: Based on the business nodes corresponding to each of the value-added services and the connection relationships between different business nodes, the basic SFC path corresponding to the traffic to be forwarded is generated. For any UP, the UP is used as the entry node and connected to the first service node of the basic SFC path to generate a candidate SFC path corresponding to the UP.
6. The method according to any one of claims 1-4, characterized in that, After selecting the target SFC path from each of the candidate SFC paths, the method further includes: The target SFC path is sent to the target UP, and the target UP is instructed to forward the traffic to be forwarded based on the target SFC path.
7. A traffic forwarding device, configured in a CP, characterized in that, The device includes: The service acquisition module is used to acquire the value-added services subscribed by the user when it is detected that there is traffic to be forwarded by the user. The path generation module is used to generate candidate SFC paths for each UP based on the business nodes corresponding to each value-added service, the connection relationships between different business nodes, and each forwarding plane UP corresponding to the CP. The path selection module is used to select a target SFC path from the candidate SFC paths based on the availability of the user's preferred UP; the target SFC path is used to forward the traffic to be forwarded.
8. A communication device, comprising a memory, a transceiver, and a processor, wherein the memory stores a computer program, characterized in that, The transceiver is used to receive or send data under the control of the processor, wherein the processor, when executing the computer program, implements the steps of the method according to any one of claims 1-6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.