A service-aware based NFV network routing method and device
Patent Information
- Application Number
- CN202610815521.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-08
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2046-06-08
AI Technical Summary
若在路由优化中将业务流量视为恒定,则在经过膨胀型服务后可能对后续链路带宽占用估计偏低,或在压缩型服务后对后续链路拥塞估计偏高,从而导致路径代价评估失真,难以实现有效的负载均衡
[0025] (1) By introducing and utilizing the intermediate box traffic change rate ratio, the traffic of the business flow at different service stages is dynamically updated, making the link load assessment more realistic and facilitating the selection of paths that better meet the load balancing objectives.
Smart Images

Figure CN122372496B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication network technology, specifically to service-aware routing technology in the environment of Network Functions Virtualization (NFV) and Software-Defined Networking (SDN), and particularly to a service-aware NFV network routing method and apparatus that simultaneously considers the traffic variation effects of network services and service dependencies (total order or partial order). It is used to achieve joint optimization of path selection and service location (intermediate box instance location) under the premise of satisfying the constraints of link bandwidth and intermediate box processing capacity, so as to achieve network load balancing and service performance improvement. Background Technology
[0002] NFV technology deploys network functions such as firewalls, intrusion detection / prevention, VPN proxies, and WAN optimization on general-purpose servers in the form of virtual machines or containers, enabling software-defined and elastic scaling of network functions. In an NFV network, the same type of network function can often be deployed in multiple instances across multiple physical nodes, each instance having limited processing power due to its computational / memory resources. Therefore, when a service flow enters an NFV network, routing not only needs to determine the forwarding path from the source node to the destination node, but also needs to determine which nodes in the network the service flow should access the corresponding network function instance (i.e., the service location). Inappropriate service location or path selection can lead to circuitous paths, increased link congestion, and degraded service performance.
[0003] Existing Service Function Chaining (SFC) or NFV routing / deployment solutions typically focus on optimizing service chain paths and deployments, but they have limitations in some scenarios:
[0004] (1) Ignore the traffic variation effect caused by intermediate box processing. Actual network services may cause traffic to "expand" or "compress". For example, encryption and encapsulation will increase packet overhead, and WAN optimization may compress traffic. If the service traffic is regarded as constant in the routing optimization, the bandwidth occupancy of subsequent links may be underestimated after the expansion service, or the congestion of subsequent links may be overestimated after the compression service, which will lead to the distortion of path cost assessment and make it difficult to achieve effective load balancing.
[0005] (2) The complexity of the dependencies between services is not fully considered. There are usually fixed order constraints or commutative partial order constraints between different network services. For example, there is a sequential relationship between some security services and address translation services. If the dependency constraint is not explicitly expressed and satisfied in the algorithm, it may lead to non-compliant service chain order or failure to execute.
[0006] (3) For the solution of “joint selection of path and service location”, some solutions adopt stepwise greedy selection or splicing of local shortest sub-paths, which may lead to insufficient global optimality. At the same time, the instance reuse and new instance startup strategies when the processing capacity of network intermediate box instances is insufficient are not perfect, which may easily lead to problems such as business flow not being served or network performance being unstable.
[0007] Therefore, there is an urgent need for a service-aware routing method for load balancing in NFV networks that can jointly determine the forwarding path and service location of service flows while considering the effects of changes in intermediate box traffic and service dependencies, and dynamically start new instances when necessary, thereby reducing key indicators such as end-to-end latency, packet loss rate and flow failure rate. Summary of the Invention
[0008] The purpose of this invention is to address the shortcomings of existing technologies by proposing a service-aware NFV network routing method and apparatus. This invention aims to solve the following technical problems: In NFV networks, service flows need to pass through several intermediate boxes sequentially, and different intermediate boxes have different traffic change effects (compression or expansion) on traffic. Simultaneously, there are total-order or partial-order dependencies between services. Given limited link bandwidth and node intermediate box processing capabilities, and the possibility of deploying multiple instances of the same service on multiple nodes, how can the routing path of the service flow and the service location of each service be jointly determined to balance network link load, improve end-to-end performance, and increase the probability of successful routing and service of the service flow?
[0009] The objective of this invention is achieved through the following technical solution: A service-aware NFV network routing method, comprising the following steps:
[0010] S1. Obtain the network topology and network status information of the NFV network, and obtain the flow request information containing the required set of intermediate boxes to be accessed;
[0011] S2. Determine the processing order dependency between the middle box types in the required middle box set and the flow change rate corresponding to each middle box type;
[0012] S3. Under the constraint of satisfying the dependency relationship, the partial order service set corresponding to the required intermediate box set is converted into a total order service set based on the traffic change rate to obtain a total order intermediate box chain.
[0013] S4. Based on the total order intermediate box chain, with the goal of minimizing the sum of link weights, perform an improved Dijkstra shortest path search in stages to calculate the routing path of the flow and the service location of each intermediate box type. The link weights are determined based on the existing load of the link and the superimposed load of the flow on the corresponding link. The improved Dijkstra shortest path search is specifically as follows: In each stage, using the candidate arrival nodes and their cumulative path costs of the previous stage as starting conditions, search for the minimum cumulative path cost to reach the candidate node carrying the intermediate box instance of the current stage, and update the flow rate of the flow on subsequent links based on the flow change rate.
[0014] S5. Generate forwarding control rules based on the routing path and the service locations of each intermediate box type, and issue flow table entries to the network devices on the routing path through the SDN controller, so that the flow can be processed sequentially through the service locations corresponding to the total order intermediate box chain according to the routing path and reach the destination node.
[0015] Furthermore, the network topology information includes at least the NFV server node set and the link set; the network status information includes at least the remaining bandwidth capacity and existing link load of each link, the remaining processing capacity of each middlebox type instance on each node, and the available space resources of each node for launching new middlebox instances; the flow request information includes at least the source node, destination node, ingress traffic rate, and the required middlebox set.
[0016] Furthermore, the dependency relationship is used to constrain the processing order of the required intermediate box set, which is a strict partial order relationship that satisfies non-reflexivity, transitivity, and antisymmetry; the flow change rate is the ratio of the flow rate before and after the processing of the flow by the intermediate box type, which is used to characterize the flow change before and after flowing through the corresponding intermediate box instance; a flow change rate of less than 1 indicates that the intermediate box type is a compression intermediate box, which is used to reduce flow, and a flow change rate of more than 1 indicates that the intermediate box type is an expansion intermediate box, which is used to increase flow.
[0017] Further, step S3 includes: constructing a dependent directed acyclic graph of the required intermediate box set; determining a set of candidate intermediate boxes with no unsatisfied dependencies in the current remaining intermediate box set; selecting the intermediate box with the smallest flow change rate from the candidate intermediate box set and appending it to the end of the total order intermediate box chain, and removing the selected intermediate box and its related dependency edges from the dependent directed acyclic graph; repeating the above process until all intermediate boxes in the required intermediate box set are added to the total order intermediate box chain.
[0018] Further, the iterative execution of the improved Dijkstra's shortest path search in step S4 includes a Total Order Set Routing (TOSR) process: In the first stage, an improved Dijkstra's shortest path search is performed starting from the source node to obtain the minimum cumulative path cost to each instance node of the first intermediate box type in the chain carrying the total order intermediate box; in the second stage... stage, The bearing capacity obtained in the previous stage Each instance node of the intermediate box type serves as a multiple starting point, and its corresponding minimum cumulative path cost is used as the initial distance. An improved Dijkstra's shortest path search is then performed to obtain the distance to the carrier. The minimum cumulative path cost of each instance node of the intermediate box type; after completing the final stage of the total order intermediate box chain, perform an improved Dijkstra shortest path search to obtain the minimum cumulative path cost from the final stage service location to the destination node, and determine the routing path and intermediate box service location combination with the minimum end-to-end link weight sum based on this.
[0019] Further, in step S4, the following constraints are simultaneously satisfied during the shortest path search process: the remaining bandwidth capacity of the selected link is not less than the traffic rate corresponding to the current stage, and the remaining processing capacity of the intermediate box at the selected service location is not less than the traffic rate before processing in the current stage; when there is no existing intermediate box instance that satisfies the remaining processing capacity constraint, a node with available space resources is selected to start a new instance of the intermediate box type, and the starting node is used as the service location of the current stage to participate in subsequent stage iterations; the specific method for selecting the new instance starting node is as follows: starting from the initial candidate node of the current stage, a shortest path search is performed to determine the minimum cost path to the node with available space resources, and the node with available space resources corresponding to the minimum cost path is selected as the new instance starting node.
[0020] Furthermore, the step of issuing flow table entries through the SDN controller includes: when the ingress switching device does not find a flow table entry for the flow, it sends a data packet uploading message to the SDN controller; the SDN controller parses the flow request information based on the data packet uploading message and executes steps S1 to S4 to obtain the routing path and service location; then, it issues a flow table update message to the switching device on the routing path to write the matching field and output port, thereby realizing hop-by-hop forwarding according to the routing path.
[0021] Furthermore, the issued flow table entries also include flow table entries for intermediate box redirection: issuing a first type of flow table entry to the switching device connected to the NFV server to redirect the flow to the NFV server carrying the intermediate box instance; and issuing a second type of flow table entry to the virtual switching device on the NFV server to instruct the flow to be forwarded between the virtual switching device and the intermediate box virtual machine in the order of the total sequence intermediate box chain.
[0022] Furthermore, the SDN controller periodically acquires port statistics information of the switching device to update the existing link load of each link, and updates the link weight based on the updated link load, thereby providing dynamic link weight input for subsequent flow requests to execute step S4.
[0023] On the other hand, the present invention also provides a service-aware NFV network routing device, including a memory and one or more processors, wherein the memory stores executable code, and when the processor executes the executable code, it implements the service-aware NFV network routing method described above.
[0024] Compared with the prior art, the present invention has at least the following beneficial effects:
[0025] (1) By introducing and utilizing the intermediate box traffic change rate ratio, the traffic of the business flow at different service stages is dynamically updated, making the link load assessment more realistic and facilitating the selection of paths that better meet the load balancing objectives.
[0026] (2) By converting the service set with partial order dependency into a total order service chain under dependency constraints, the joint computation of subsequent paths and service locations can be performed efficiently in a deterministic order, reducing the impact of combinatorial explosion on the solution.
[0027] (3) By calculating the shortest path in stages and jointly determining the path and service location, a better end-to-end link weight can be obtained and network congestion can be reduced.
[0028] (4) When the existing instance processing capacity is insufficient, a new instance is dynamically launched in combination with the available space resources of the node to increase the probability of the business flow being successfully served and routed. Attached Figure Description
[0029] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0030] Figure 1This is a flowchart of the service-aware NFV network routing method of the present invention;
[0031] Figure 2 This is a schematic diagram illustrating the scenarios and challenges of NFV network service-aware routing in an embodiment of the present invention; wherein (a) is a scenario of multi-instance deployment of network functions; and (b) is a schematic diagram of traffic changes and service dependencies in the middle box.
[0032] Figure 3 This is a structural diagram of a service-aware NFV network routing device provided by the present invention. Detailed Implementation
[0033] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described below with reference to the accompanying drawings and examples. It should be understood that the specific examples described herein are merely illustrative and not intended to limit the invention. Without conflict, the various embodiments and features described herein can be combined with each other.
[0034] In this embodiment, the NFV network consists of the following components:
[0035] SDN Controller: Features a global topology view and link status view. It receives new flow arrival notifications, performs service-aware route calculations, triggers middlebox instance reuse or new instance startup, and issues flow table entries to switching devices. The SDN controller can be implemented using an OpenFlow-enabled controller, such as a control platform with topology discovery, statistical collection, and flow table issuance capabilities.
[0036] Switching devices: Support flow table matching and forwarding, and can be physical switches or virtual switches. When a flow table miss occurs, the ingress switching device sends the first packet to the SDN controller; the switching devices along the routing path perform hop-by-hop forwarding based on the flow table entries issued by the SDN controller.
[0037] NFV Server: Deployed at network nodes to host middlebox instances. NFV servers can run virtualization platforms (such as virtual machine managers / container runtimes) and virtual switching components (such as virtual switches) to enable traffic import / export and in-chain forwarding within the middlebox. Each middlebox type can be deployed as an independent virtual machine / container, with each instance corresponding to limited processing capacity.
[0038] In this embodiment, the overall flow of a service-aware NFV network routing method provided by the present invention (corresponding to...) Figure 1 The following steps can be followed:
[0039] Step S1: When the ingress switching device detects the arrival of a new service flow, if the local flow table does not match, the first packet of the service flow is sent to the SDN controller. The SDN controller parses the first packet to obtain the flow's four-tuple or identification information, and queries the policy / configuration to obtain the set of intermediate boxes required for the service flow.
[0040] Step S2: The SDN controller acquires or maintains network topology and link status information, and acquires the remaining processing capacity and available space resources of each middlebox instance on each NFV node; at the same time, it determines the dependencies between the required middleboxes and the traffic change rate of each middlebox.
[0041] Step S3: If the required intermediate box set is a partial order relation, convert it to a total order and generate a total order intermediate box chain; if it is a total order relation, directly obtain the total order intermediate box chain.
[0042] Step S4: Under the constraints of the total order intermediate box chain, the SDN controller performs phased iterative shortest path calculation to jointly obtain the routing path and the service location of each intermediate box type; when it is found that there are no existing instances with sufficient processing capacity available in a certain stage, the dynamic instance startup strategy is executed to start new instances on nodes with available space resources and include them in the candidate service locations.
[0043] Step S5: The SDN controller issues flow table entries for the service flow to the switching devices on the routing path; at the same time, for the redirection and in-chain forwarding involving the NFV server, it issues flow table entries for the switching devices connected to the NFV server and flow table entries for the virtual switching components inside the NFV server, so as to realize that the service flow is processed sequentially according to the full-order intermediate box chain and finally reaches the destination node.
[0044] For ease of description, this embodiment provides the definition of core parameters related to the method of the present invention.
[0045] Network Model: Abstracting NFV networks as directed graphs ,in For NFV server node set, This is the set of links between nodes. For any link... u and v represent two different NFV server nodes. This indicates the remaining bandwidth capacity of the link. This indicates the current load on the link.
[0046] Link weight: For any link Define weight function ,in Let this be the load value of the link. The weighting function is a non-decreasing function that satisfies: when hour, ,in This results in a larger load value. By minimizing the path link weight, network congestion can be avoided and load balancing achieved.
[0047] Intermediate box type and processing capacity: [Settings] This is the set of intermediate box types in the network. For any node... Any intermediate box type , Represents a node Upper middle box type The aggregated remaining processing capacity (which can be obtained by summing the remaining capacity of multiple instances). Additionally, Represents a node Space resources that can be used to launch new middlebox instances (e.g., the number of instances that can be launched or the number of available resource units).
[0048] Flow rate of change: for any intermediate box type , This indicates the rate of change of traffic flow for the intermediate box, i.e., the ratio of processed traffic to unprocessed traffic. If the traffic flow enters... The input flow rate before processing is The processed stage output flow rate is: .in Indicates compressed service. This indicates an expandable service. This indicates that the traffic-based service will not be changed.
[0049] Dependency: Define dependency relationships "This is a strict partial order relation, satisfying non-reflexivity, transitivity, and antisymmetry. If..." , indicating the middle box Depends on ,Right now Must precede Processed by the business flow. For ease of expression, it can be defined as follows: ,when If the value is 1, then the value is 0; otherwise, the value is 0.
[0050] Streaming requests: Each business flow It can be represented as a quadruple ,in As the source node, For the destination node, The initial inlet flow rate, This is the set of intermediate box types required for this business flow.
[0051] Optimization objective: To achieve load balancing, preferably minimize the sum of network link weights. For a given set of service flows... The objective can be expressed as:
[0052]
[0053] in For flow In the link The actual carrying traffic on the network (related to traffic changes caused by middlebox processing). When calculating only a single newly arriving traffic flow, it is also possible to minimize the link weight increment after the introduction of the new flow while keeping the load of other flows constant.
[0054] Feasibility constraints: Routing and service locations must meet link bandwidth constraints and intermediate box processing capacity constraints, preferably satisfying: for any link , must meet For any node selected as a service location and services , must meet ,in For flow rate, For the flow to enter the intermediate box type at this service location Flow rate before processing.
[0055] See Figure 2 This example uses a specific routing scenario to illustrate the key impact of traffic change rate and dependency on path selection. Assume the business flow needs to originate from the source node. Transmitted to the destination node And requires service With services .like Figure 2 As shown in (a), if multiple paths are available, the choice of path depends not only on the number of hops but also on the location of the service instance; for example... Figure 2 As shown in (b), different services have different processing effects on traffic, for example, service Service s' is an expanding service (traffic change rate of 2), while service s' is a compressible service (traffic change rate of 0.5).
[0056] In existing technologies that do not consider traffic variations, routing algorithms may tend to select the path with the fewest hops (such as the upper-layer path). However, this invention takes into account service... This will double the traffic, and the service It will halve the traffic if the path passes through first. After passing through (As in the lower-level path), the traffic carried on the intermediate links is significantly reduced (0.5 times instead of 2 times), thereby reducing link load and congestion risk. Meanwhile, Figure 2 It also demonstrates the impact of dependencies, such as when a business flow requires execution to proceed first. Execute again If this is not the case, some physical paths will become infeasible. This invention is based on the above principle, and calculates the globally optimal path and service location by modeling the rate of change of traffic and dependencies.
[0057] Example 1: Total Order Set Routing (TOSR)
[0058] When the business flow requires the set of intermediate boxes When the corresponding dependency is a total order relation, a definite chain of total order intermediate boxes can be obtained: ,in In this scenario, this embodiment provides a phased iterative shortest path calculation method for jointly determining the service location and routing path, hereinafter referred to as the Total Order Set Routing (TOSR) method.
[0059] In this embodiment, TOSR can be performed according to the following steps:
[0060] (1) Stage flow initialization. Suppose that the k-th stage enters the intermediate box. The input flow rate before processing is and initialize When the business flow is completed After processing, the stage output flow will be updated as follows: .
[0061] (2) Determining the set of candidate service nodes. For each stage Construct the intermediate box type And a set of candidate service nodes with sufficient remaining processing capacity. : If the source node itself belongs to If so, the source node can be selected as the first-stage service location, thereby reducing path cost.
[0062] (3) Shortest path calculation in the first stage. Starting with the source node... As a starting point, based on link weight Perform a shortest path search to obtain the path to each Minimum cumulative cost And during the search process, only those satisfying the link bandwidth constraint are extended. The link.
[0063] (4) Multi-source iterative shortest path calculation. For each stage... The multi-source shortest path search method is adopted: based on the candidate service node set from the previous stage. Each node in the process is used as the "starting source," and its initial distance is set to the distance obtained in the previous stage. Under the same link bandwidth constraints Link weight Perform a shortest path search under the given conditions to obtain the path to each of The stage recursion relationship can be represented as:
[0064]
[0065] in For phased traffic From under constraints arrive The minimum path cost.
[0066] (5) Shortest path calculation for the final stage. Complete the first step. After the phase, with Each candidate service node in the dataset serves as the starting point set. Using the initial distance, perform a shortest path search to find the destination node. Minimum cumulative cost Based on this, the end-to-end path and the combination of service locations at each stage are determined.
[0067] Explanation of optimality. Since the shortest path search in each stage is to solve for the minimum cumulative cost to reach the candidate set of the next stage under the given set of starting points and stage flow constraints, and to use this cumulative cost as the initial condition for the next stage to continue the recursion, the stages have additivity and optimal substructure characteristics. Through the above iterative method, the combination of path and service location with the minimum end-to-end link weight can be obtained when the total order service chain order is determined.
[0068] Complexity Explanation: TOSR performs a shortest path search once in each stage. The overall complexity depends on the number of stages. Linear correlation is suitable for online calculation of newly arriving business flows on the controller side.
[0069] Example 2: Partially ordered set processing method.
[0070] When the business flow requires the set of intermediate boxes When only partial order dependencies are satisfied, there are multiple feasible permutations of the service processing order. Direct enumeration would significantly increase the combinatorial complexity. Therefore, this embodiment provides a transformation strategy to convert a partially ordered service set into a total ordered service chain under the condition of satisfying dependency constraints, so as to reuse the TOSR of Embodiment 1 for subsequent joint solution.
[0071] The basic idea of the conversion strategy is: without violating dependencies, sort the boxes by traffic change rate from smallest to largest, and prioritize converting the intermediate boxes with smaller traffic change rates (especially...). Compressed services are prioritized to compress business flows as early as possible, thereby reducing the traffic load and congestion risk of subsequent links.
[0072] The conversion strategy can be implemented as follows:
[0073] (1) Construct a dependent directed acyclic graph (DAG). Based on the dependency relationship " "Construct a graph structure, where nodes represent intermediate box types and edges..." express Depends on .
[0074] (2) Determine the optional set. Determine the set of intermediate boxes with an in-degree of 0. The set The intermediate boxes in the sequence do not have any unmet prerequisite dependencies, and therefore can be used as the next element in the current total order chain.
[0075] (3) Select and add based on the rate of change of flow. (From set) Choose to make The smallest middle box ,satisfy: ,Will Added to the end of the total sequence intermediate box chain, denoted as .
[0076] (4) Update dependencies and iterate. Remove its outgoing edges from the DAG, update the in-degree of the remaining nodes, and return to step (2) until all intermediate boxes have been appended. Output the total order intermediate box chain. .
[0077] (5) Call the total order set route calculation. Take the total order intermediate box chain output in step (4) as the TOSR input, and calculate the combination of route path and service location under the conditions of link bandwidth, node processing capacity and traffic change rate update.
[0078] Optionally, to further improve the performance in the partial order scenario, a look-ahead selection mechanism can be introduced in step (3): when there are multiple candidate intermediate boxes with similar ratios, the selection can be modified by combining the ratio of their subsequent dependent nodes or the distribution of candidate service locations, so as to obtain a better total order chain under the condition of satisfying the dependency constraints; this variation is an optional implementation of the present invention.
[0079] Example 3: Dynamic instance startup strategy.
[0080] In NFV networks, the following situations may occur: the type of intermediate box required by a service flow at a certain stage. Although instances have been deployed in the network, the remaining processing power of all deployed instances is insufficient to handle the incoming traffic at this stage. That is, for any candidate node All To improve the success rate of business flows, this embodiment provides a dynamic instance startup strategy.
[0081] The dynamic instance launch strategy can be combined with TOSR's phased shortest path calculation and executed as follows:
[0082] (1) Insufficient test cases. During the current stage... Candidate service node set If the value is empty, it is determined that there are not enough existing instances.
[0083] (2) Determine the set of startable nodes. Construct a set of nodes with available space resources. : .
[0084] (3) Select the start location and update the candidate set. Using the candidate set from the previous stage of Example 1... Starting set, based on stage flow Link weight Perform a shortest path search to obtain the destinations of each destination. Find the node with the minimum cumulative cost; select the node with the minimum cumulative cost. As an intermediate box Start a new instance node and in Upper Start-up Middle Box Instances, making Updated to no less than The available processing power, while making Reduce the corresponding resource units; then... join in As a candidate service location for this phase.
[0085] (4) Continue with subsequent iterations. After being updated, the execution phase continues according to Example 1. And subsequent shortest path calculation and traffic updates, until the end-to-end path and service location combination is obtained.
[0086] In one possible implementation, the SDN controller can start or wake up the middlebox instance by interacting with the virtualization management component (e.g., by invoking virtual machine / container startup commands via a remote management interface); in another possible implementation, instances can be pre-created and resumed from dormancy when needed to reduce startup latency. Neither of these methods affects the core idea of this invention: "to start new instances based on available space resources when existing instances are insufficient."
[0087] Corresponding to the aforementioned embodiment of a service-aware NFV network routing method, the present invention also provides an embodiment of a service-aware NFV network routing device.
[0088] See Figure 3 The present invention provides a service-aware NFV network routing device, including a memory and one or more processors. The memory stores executable code, and when the processor executes the executable code, it is used to implement a service-aware NFV network routing method in the above embodiment.
[0089] The embodiment of a service-aware NFV network routing device provided by this invention can be applied to any device with data processing capabilities, such as a computer. The device embodiment can be implemented in software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by the processor of any data-processing device loading the corresponding computer program instructions from non-volatile memory into memory for execution. From a hardware perspective, such as... Figure 3 The diagram shown illustrates a hardware structure of any data processing-capable device within which a service-aware NFV network routing device provided by this invention is located, except... Figure 3 In addition to the processor, memory, network interface, and non-volatile memory shown, any data processing device in the embodiment may also include other hardware depending on the actual function of the data processing device, which will not be described in detail here.
[0090] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.
[0091] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of the present invention according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0092] This invention also provides a computer-readable storage medium storing a program thereon, which, when executed by a processor, implements a service-aware NFV network routing method as described in the above embodiments.
[0093] The computer-readable storage medium can be an internal storage unit of any data processing device described in any of the foregoing embodiments, such as a hard disk or memory. The computer-readable storage medium can also be an external storage device of any data processing device, such as a plug-in hard disk, smart media card (SMC), SD card, flash card, etc., equipped on the device. Furthermore, the computer-readable storage medium can include both internal storage units and external storage devices of any data processing device. The computer-readable storage medium is used to store the computer program and other programs and data required by the data processing device, and can also be used to temporarily store data that has been output or will be output.
[0094] The present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the aforementioned service-aware NFV network routing method.
[0095] The present invention has been described in detail above with reference to specific embodiments. It should be understood that those skilled in the art can make various changes or substitutions to the above embodiments without departing from the spirit of the present invention, such as using different link weight functions, different controller implementation methods, different virtualization bearer forms, etc., all of which should fall within the protection scope of the present invention.
Claims
1. A service-aware NFV network routing method, characterized in that, Includes the following steps: S1. Obtain the network topology and network status information of the NFV network, and obtain the flow request information containing the required set of intermediate boxes to be accessed; S2. Determine the dependencies between the processing order of each intermediate box type and the corresponding traffic change rate of each intermediate box type; S3. Based on the traffic change rate, convert the partial order service set corresponding to the required intermediate box set into a full order service set to obtain a full order intermediate box chain. S4. Based on the total order intermediate box chain, an improved Dijkstra shortest path search is iteratively executed in stages to calculate the routing path of the flow and the service location of each intermediate box type, with the goal of minimizing the link weights. The link weights are determined based on the existing load of the link and the superimposed load of the flow on the corresponding link. The improved Dijkstra shortest path search specifically involves: in each stage, using the candidate arrival nodes and their cumulative path costs from the previous stage as starting conditions, searching for the minimum cumulative path cost to reach the candidate nodes carrying the intermediate box instances of the current stage, and updating the flow rate on subsequent links based on the flow change rate. Specifically, this includes a total order set routing (TOSR) processing flow: in the first stage, an improved Dijkstra shortest path search is executed with the source node as the starting point to obtain the minimum cumulative path cost to reach each instance node carrying the first intermediate box type in the total order intermediate box chain; in the second stage... stage, The bearing capacity obtained in the previous stage Each instance node of the intermediate box type is used as a multiple starting point, and its corresponding minimum cumulative path cost is used as the initial distance. An improved Dijkstra's shortest path search is performed to obtain the distance to the carrier. The minimum cumulative path cost of each instance node of the intermediate box type; after completing the final stage of the total order intermediate box chain, perform an improved Dijkstra shortest path search to obtain the minimum cumulative path cost from the final stage service location to the destination node, and determine the routing path and intermediate box service location combination with the minimum end-to-end link weight sum based on this. The remaining bandwidth capacity of the selected link is not less than the traffic rate corresponding to the current stage, and the remaining processing capacity of the intermediate box at the selected service location is not less than the traffic rate before processing in the current stage. When there is no existing intermediate box instance that satisfies the remaining processing capacity constraint, a node with available space resources is selected to start a new instance of the intermediate box type, and the starting node is used as the service location of the current stage to participate in subsequent stage iterations. The specific method for selecting the new instance starting node is as follows: start from the starting candidate node of the current stage and perform a shortest path search to determine the minimum cost path to the node with available space resources, and select the node with available space resources corresponding to the minimum cost path as the new instance starting node. S5. Generate forwarding control rules based on the routing path and the service locations of each intermediate box type, and issue flow table entries to the network devices on the routing path through the SDN controller, so that the flow can be processed sequentially through the service locations corresponding to the total order intermediate box chain according to the routing path and reach the destination node.
2. The method according to claim 1, characterized in that, The network topology information includes at least the set of NFV server nodes and the set of links, and the network status information includes at least the remaining bandwidth capacity and existing link load of each link, the remaining processing capacity of each middlebox type instance on each node, and the available space resources of each node for launching new middlebox instances. The stream request information includes at least the source node, destination node, ingress traffic rate, and the required set of intermediate boxes.
3. The method according to claim 1, characterized in that, The dependency relationship is used to constrain the processing order of the required intermediate box set. It is a strict partial order relationship that satisfies non-reflexivity, transitivity, and antisymmetry. The flow change rate is the ratio of the flow rate before and after the processing of the flow by the intermediate box type. It is used to characterize the flow change before and after passing through the corresponding intermediate box instance. A flow change rate of less than 1 indicates that the intermediate box type is a compression intermediate box, which is used to reduce flow. A flow change rate of more than 1 indicates that the intermediate box type is an expansion intermediate box, which is used to increase flow.
4. The method according to claim 1, characterized in that, Step S3 includes: constructing a dependent directed acyclic graph of the required intermediate box set; determining a set of candidate intermediate boxes with no unsatisfied dependencies in the current remaining intermediate box set; selecting the intermediate box with the smallest flow change rate from the candidate intermediate box set and appending it to the end of the total order intermediate box chain, and removing the selected intermediate box and its related dependency edges from the dependent directed acyclic graph; repeating the above process until all intermediate boxes in the required intermediate box set are added to the total order intermediate box chain.
5. The method according to claim 1, characterized in that, The step of sending flow table entries to network devices on the routing path through the SDN controller includes: when the ingress switching device does not find a flow table entry for the flow, it sends a data packet upload message to the SDN controller; the SDN controller parses the flow request information based on the data packet upload message and executes steps S1 to S4 to obtain the routing path and service location; and then sends a flow table update message to the switching devices on the routing path to write the matching field and output port, thereby realizing hop-by-hop forwarding according to the routing path.
6. The method according to claim 5, characterized in that, The issued flow table entries also include flow table entries for intermediate box redirection: issuing a first type of flow table entry to the switching device connected to the NFV server to redirect the flow to the NFV server carrying the intermediate box instance; and issuing a second type of flow table entry to the virtual switching device on the NFV server to instruct the flow to be forwarded between the virtual switching device and the intermediate box virtual machine in the order of the total sequence intermediate box chain.
7. The method according to claim 5, characterized in that, The SDN controller periodically acquires port statistics information of the switching device to update the existing link load of each link, and updates the link weight based on the updated link load, thereby providing dynamic link weight input for subsequent flow requests to execute step S4.
8. A service-aware NFV network routing device, comprising a memory and one or more processors, wherein the memory stores executable code, characterized in that, When the processor executes the executable code, it implements a service-aware NFV network routing method as described in any one of claims 1-7.
Citation Information
Patent Citations
Shortest path computation method, routing obtaining device, and server
US20220278920A1
SDN-architecture-based routing method for guaranteeing network QOS
WO2025108143A1