WO2022233227A1 - 流量调度方法、***及存储介质 - Google Patents
流量调度方法、***及存储介质 Download PDFInfo
- Publication number
- WO2022233227A1 WO2022233227A1 PCT/CN2022/087240 CN2022087240W WO2022233227A1 WO 2022233227 A1 WO2022233227 A1 WO 2022233227A1 CN 2022087240 W CN2022087240 W CN 2022087240W WO 2022233227 A1 WO2022233227 A1 WO 2022233227A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- path
- scheduling
- service flow
- group
- priority
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000013507 mapping Methods 0.000 claims description 51
- 230000006870 function Effects 0.000 claims description 32
- 230000008859 change Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
Definitions
- the embodiments of the present application relate to the field of mobile communications, and in particular, to a traffic scheduling method, system, and storage medium.
- Edge computing and cloud computing work together to enable the digital transformation of the industry.
- cloud computing focuses on the analysis of non-real-time and long-period data, so that it can play its strengths in the fields of periodic maintenance and business decision support; through edge computing, it focuses on the analysis of real-time and short-period data, which can better support local Real-time intelligent processing and execution of business.
- the integration of computing and network will be closer. Due to the limited computing power of a single node, large-scale computing services often need to be realized through computing networking, the so-called "computing power". network”.
- the computing power network requires a high degree of coordination between the network and computing, embedding computing units and computing capabilities into the network, and improving the utilization of computing resources.
- users access the network through a computing power gateway, and device nodes schedule different applications to appropriate computing nodes for processing according to the needs of application services, taking into account the real-time network and computing resource conditions, to ensure service experience.
- Segment Routing is a source routing protocol, also known as segment routing protocol.
- the data packets specify the path, and encode the service path into an ordered segment list (Segment List) through a specific algorithm and encapsulate it into the header of the data packet to display the identification path, and the nodes on the forwarding path do not have to provide all the flows that may pass through them ( flow) maintains state information, that is, "state in the packet".
- Segment List ordered segment list
- flow state information, that is, "state in the packet”. Because the instruction is encoded in the header of the data packet, after the node in the network receives the data packet, it can match the forwarding table to execute the operation.
- the intermediate nodes of the path only need to forward according to the path specified in the corresponding data packet header.
- segment Routing Traffic Engineering SR-TE
- RSVP-TE Resource Reservation Protocol Traffic Engineering
- SDN Software Defined Network
- the entire traffic scheduling process does not consider the changes in the utilization rate of various resources in the network, nor the load of the nodes forwarding data packets in the network.
- the packets are mapped to SR-TE paths with the same priority within a group of SR-TE paths according to the priority of the packets, but the same problem is that these traffic can only be scheduled through the mapped paths.
- the entire flow scheduling process will not consider the changes in the utilization rate of various resources in the network.
- An embodiment of the present application provides a traffic scheduling method, which is applied to a controller, including: acquiring a utilization rate of preset resources in a network; and determining a pre-created segment routing traffic engineering SR-TE path schedule according to the utilization rate
- the serving node determines a second SR-TE path according to the first SR-TE path, sets the scheduling priority of the second SR-TE path to the highest scheduling priority, and sets the first SR-TE path to the highest scheduling priority.
- the scheduling priority of the TE path is set to the common scheduling priority, and the updated SR-TE path scheduling group is obtained; the updated SR-TE path scheduling group is delivered to the head-end node on the network side, so that the When receiving the service flow that needs to be scheduled, the head-end node guides the first service flow that meets the preset condition to the first SR-TE path, and guides the second service flow that meets the preset condition to the first SR-TE path.
- the first service flow is the service flow that has been directed to the first SR-TE path before the second SR-TE path is created
- the second service flow is the service flow that has been redirected after the second SR-TE path is created.
- the new service flow received by the head-end node.
- An embodiment of the present application further provides a traffic scheduling method, which is applied to a head-end node, and includes: receiving a segment routing traffic engineering SR-TE path scheduling group delivered by a controller, where the SR-TE path scheduling group at least includes An SR-TE path whose scheduling priority is the highest scheduling priority; when receiving a service flow that needs to be scheduled, the service flow that meets the preset conditions is matched; if the SR-TE path scheduling group includes only one scheduling the SR-TE path with the highest scheduling priority, directing the matched service flow to the SR-TE path with the highest scheduling priority, and maintaining the service flow and the SR - the mapping relationship between TE paths; otherwise, according to the matched feature information of the service flow that meets the preset conditions and the scheduling priority corresponding to each SR-TE path in the SR-TE path scheduling group , directing the service flow that meets the preset condition to the matching SR-TE path.
- the embodiment of the present application further provides a traffic scheduling system, including: a controller and a head-end node; the controller acquires the usage rate of preset resources in the network; the controller determines a pre-created resource according to the usage rate The load status of each service node on the first SR-TE path with the highest scheduling priority in the segment routing traffic engineering SR-TE path scheduling group; if according to the load status of each service node, the controller determining that there is an overloaded serving node on the first SR-TE path, determining a second SR-TE path according to the first SR-TE path, and assigning the scheduling priority of the second SR-TE path Set as the highest scheduling priority, set the scheduling priority of the first SR-TE path to the common scheduling priority, and obtain the updated SR-TE path scheduling group; the controller will update the updated The SR-TE path scheduling group is delivered to the head-end node; when the head-end node receives the service flow that needs to be scheduled, the head-end node guides the first service flow that
- Embodiments of the present application further provide a computer-readable storage medium storing a computer program.
- the computer program is executed by the processor, any traffic scheduling method described above is implemented.
- FIG. 1 is a flowchart of a traffic scheduling method applied to a controller provided by an embodiment of the present application
- FIG. 2 is a schematic diagram of packet information encapsulated in the packet header of a service flow that needs to be scheduled by a head-end node according to an SR-TE path scheduling group issued by the controller in the traffic scheduling method applied to the controller provided by the embodiment of the present application;
- FIG. 3 is a schematic diagram of another packet information encapsulated by the head-end node in the packet header of the service flow that needs to be scheduled according to the SR-TE path scheduling group delivered by the controller in the traffic scheduling method applied to the controller provided by the embodiment of the present application ;
- FIG. 4 is a schematic diagram of another packet information encapsulated by the head-end node in the packet header of the service flow that needs to be scheduled according to the SR-TE path scheduling group issued by the controller in the traffic scheduling method applied to the controller provided by the embodiment of the present application;
- FIG. 5 is another flowchart of a traffic scheduling method applied to a controller provided by an embodiment of the present application
- FIG. 6 is a flowchart of a traffic scheduling method applied to a head-end node provided by an embodiment of the present application
- FIG. 7 is another flowchart of a traffic scheduling method applied to a head-end node provided by an embodiment of the present application.
- FIG. 8 is a schematic structural diagram of a traffic scheduling system provided by an embodiment of the present application.
- FIG. 9 is a schematic diagram of an actual network structure for performing traffic scheduling according to the traffic scheduling system diagram shown in FIG. 8 .
- the term “plurality” refers to two or more than two, and other quantifiers are similar.
- the purpose of the embodiments of the present application is to provide a traffic scheduling method, system and storage medium, which aim to perform dynamic traffic scheduling according to dynamically transformed network resources and the load of nodes forwarding data packets in the network, so as to better to improve service quality.
- the usage rate of preset resources in the network is obtained by setting the controller, and then according to The utilization rate determines the load status of each service node on the first SR-TE path with the highest scheduling priority in the pre-created SR-TE path scheduling group, and when there is an overloaded service node on the first SR-TE path, Determine the second SR-TE path according to the first SR-TE path, set the scheduling priority of the second SR-TE path to the highest scheduling priority, and set the scheduling priority of the first SR-TE path to the normal scheduling priority level, so that there are multiple available SR-TE paths in the updated SR-TE path scheduling group, and finally the updated SR-TE path scheduling group is delivered to the head-end node on the network side, and the head-end node is set When receiving the service flow that needs to be scheduled, before creating the second SR-TE
- the new service flow received by the head-end node is directed to the second SR-TE path, and maintains the first service flow and the first SR-TE path, between the second service flow and the second SR-TE path Therefore, the SR-TE path can be selected according to the actual demand, that is, dynamic traffic scheduling can be realized, and the service quality can be better improved.
- FIG. 1 is a flowchart of a traffic scheduling method provided by an embodiment of the present application.
- the method is mainly applied to a controller.
- the controller may be a centralized controller, that is, one controller may control multiple head-end nodes located on the network side.
- the head-end node mentioned in this embodiment specifically refers to the edge device located at the core network layer, that is, the so-called Provider Edge (PE), such as the edge router of the service provider backbone network.
- PE Provider Edge
- the head-end node located on the network side is equivalent to a label edge router (LER, also known as an edge LSR), and is used to connect a customer edge device (Customer Edge, CE) and an operator network backbone router (P router).
- LER label edge router
- CE Customer Edge
- P router operator network backbone router
- the CE router sends the traffic (traffic in the service flow) that the connected user equipment needs to forward to the PE router, and the traffic flows into the user network through the PE router, or flows to the Internet Protocol (IP) Backbone network or Multi-Protocol Label Switching (MPLS) backbone network.
- IP Internet Protocol
- MPLS Multi-Protocol Label Switching
- the CE router mentioned above is connected to one or more PE routers to provide users with commissioned service access.
- the CE router may be an Internet Protocol (Internet Protocol, IP) router, which establishes an adjacency relationship with the connected PE router, and then can forward the traffic that the user needs to forward through the adjacent PE router The router flows into the user network, or flows into the IP/MPLS backbone.
- IP Internet Protocol
- the traffic scheduling method includes the following steps:
- Step 101 Obtain the usage rate of preset resources in the network.
- preset resources that affect the load status of service nodes may be predetermined, and then according to the determined preset resources, the Or the usage rate of the preset resource is collected according to the preset period.
- Step 102 Determine the load status of each service node on the first SR-TE path with the highest scheduling priority in the pre-created segment routing traffic engineering SR-TE path scheduling group according to the usage rate.
- the pre-built SR-TE path scheduling group is composed of multiple SR-TE paths. tunnel; if the SR-TE path is a segment routing traffic engineering policy path (hereinafter referred to as: SR-TE policy), then the pre-built SR-TE path scheduling group is formed by multiple SR-TE policies; if The SR-TE path is a sub-path in the SR-TE tunnel, then the pre-built SR-TE path scheduling group is essentially an SR-TE tunnel; if the SR-TE path is a candidate path (Candidate path) in the SR-TE policy Path), then the pre-built SR-TE path scheduling group is essentially an SR-TE policy; if the SR-TE path is a segment list (Segment List) in a Candidate Path within an SR-TE policy, then the pre-built The essence
- the SR-TE paths included in the SR-TE path scheduling group may also be a combination of the SR-TE tunnel and the SR-TE policy.
- the highest scheduling priority mentioned in this embodiment and the subsequent common scheduling priority are not the same as the priority attributes currently defined for SR-TE paths, although they are all priorities , but the priority attribute currently set for the SR-TE path specifically means that the SR-TE path with the highest priority takes effect and forwards the service flow. That is, if the existing priority attribute is used to configure the priority for the SR-TE trail in the SR-TE trail scheduling group, only one SR-TE trail is available, and other SR-TE trails in the SR-TE trail scheduling group are available. is unavailable.
- all SR-TE paths in the SR-TE path scheduling group can be used, but the SR-TE path with the highest scheduling priority corresponds to the newly received service flow, and the old service flow generally SR-TE path corresponding to common scheduling priority. In some cases, the old service flow may also correspond to the SR-TE path with the highest scheduling priority. For example, the scheduling priority of the SR-TE path to which it was previously mapped has changed.
- a switch flag can be used, for example, set ON to have the highest scheduling priority, and OFF to be the normal scheduling priority.
- Scheduling priority; value ratio can also be used, such as the larger one is the highest scheduling priority or the smaller one is the highest scheduling priority; the timestamp can also be used, such as the newer one is the highest scheduling priority; you can also use the serial number, such as The sequence number is incremented, and the larger one is the highest scheduling priority.
- Step 103 if it is determined according to the load status of each of the serving nodes that there is an overloaded serving node on the first SR-TE path, and a second SR-TE path is determined according to the first SR-TE path.
- TE path set the scheduling priority of the second SR-TE path to the highest scheduling priority, set the scheduling priority of the first SR-TE path to the normal scheduling priority, and obtain the updated SR-TE path scheduling group.
- a new SR-TE path that can meet the same user requirements can be created as the second SR-TE path.
- it may be by selecting an existing SR-TE path from the SR-TE path scheduling group as the second SR-TE path.
- the first SR-TE path is determined according to the first SR-TE path.
- the user requirements corresponding to the first SR-TE path can be obtained, and then a new SR-TE path from the head-end node to the destination node can be created as the second SR according to the same user requirements.
- -TE trail that is, create a new SR-TE trail that can meet the same user requirements as the second SR-TE trail.
- this embodiment provides a specific method for creating a second SR-TE path:
- the newly created second SR-TE path and the first SR-TE path are made to meet the same user requirements.
- the second SR-TE path is not necessarily related to the nodes or links included in the first SR-TE path, and they may happen to have some intersecting nodes or links, or do not intersect at all. .
- the three SR-TE paths are SR-TE paths other than the first SR-TE path in the pre-built SR-TE path scheduling group.
- the third SR-TE path is determined as the second SR-TE path with the highest scheduling priority; otherwise, no processing is performed.
- the triggering conditions can be determined in advance according to the service requirements, and the triggering conditions can be set in The controller is configured locally.
- the head-end node when the head-end node requests path calculation from the controller, it can explicitly inform the controller to determine a new scheduling priority for the SR-TE path scheduling group according to the change rate of the preset resources in the network.
- the second highest-level SR-TE path when the head-end node requests path calculation from the controller, it can explicitly inform the controller to determine a new scheduling priority for the SR-TE path scheduling group according to the change rate of the preset resources in the network. The second highest-level SR-TE path.
- the first SR-TE path in the updated SR-TE path scheduling group no longer has the highest scheduling priority, but becomes the same as the third SR-TE path.
- Step 104 Deliver the updated SR-TE path scheduling group to the head-end node on the network side.
- the controller when the controller delivers the updated SR-TE path scheduling group to the head-end node on the network side, the controller may send the SR-TE path scheduling group in the SR-TE path scheduling group by Delivered to the head-end node respectively, for example, by traversing the SR-TE path scheduling group, and then delivering the traversed SR-TE paths to the head-end node until all SR-TE paths in the SR-TE path scheduling group are delivered to the head-end node.
- the controller when the controller delivers the updated SR-TE path scheduling group to the head-end node on the network side, the controller can also directly deliver the SR-TE path scheduling group as a whole to the head-end node.
- the end node can encapsulate the SR-TE path scheduling group according to the preset format, and then directly deliver the encapsulated SR-TE path scheduling group to the head-end node.
- the head-end node receives the encapsulated SR-TE path scheduling group. After the path scheduling group is formed, it is decapsulated according to the agreed decapsulation method, so as to obtain the SR-TE path scheduling group including at least the first SR-TE path and the second SR-TE path mentioned above.
- the head-end node in order to ensure that the head-end node can know which SR-TE paths belong to the same SR-TE path scheduling group, so as to manage the group as a unit, and then quickly distinguish which SR-TE path scheduling group Which types of user needs and business scenarios can the SR-TE paths in the SR-TE path be adapted to, so as to better provide high-quality services.
- the same path scheduling group identifier may be allocated to each SR-TE path in the SR-TE path scheduling group, so that the head-end node can use the path scheduling group identifier to - TE trails are managed, so that the SR-TE trails in which SR-TE trail scheduling group can be adapted to which types of user requirements and service scenarios can be quickly distinguished in the future, so as to provide high-quality services.
- the controller delivers the updated SR-TE path scheduling group, that is, the SR-TE path scheduling group including at least one first SR-TE path and one second SR-TE path, to the head
- the head end node receives the service flow that needs to be scheduled (which can also be understood as the traffic that needs to be scheduled)
- it can directly according to the preset conditions, such as "all the packets to the destination IP server1-IP”
- Matches the first service flow and the second service flow that meet the preset conditions from the received service flow and guides the first service flow that meets the preset conditions to the above-mentioned first SR-TE path.
- the second service flow that meets the preset conditions is directed to the above-mentioned second SR-TE path, and the mapping relationship between the first service flow and the first SR-TE path is maintained, and the second service flow and the second SR-TE path are maintained. Mapping relationship between TE paths.
- mapping relationship between any SR-TE path maintained by the head-end node and the corresponding service flow follows the following logic:
- the service flow for which the mapping relationship has not yet been generated will be directed to the SR-TE path with the highest scheduling priority in the SR-TE path scheduling group, while the service flow for which the mapping relationship has been generated will continue to be directed to the previous SR -TE path, that is, the current corresponding SR-TE path.
- the scheduling priority of the SR-TE path may be the highest or common.
- the first service flow mentioned above is specifically the service flow that has been directed to the first SR-TE path before the second SR-TE path is created, that is, the service flow for which the mapping relationship has been generated;
- the second service flow The flow is specifically a new service flow received by the head-end node after the second SR-TE path is created, that is, a service flow for which a mapping relationship has not been generated yet.
- the pre-created SR-TE path scheduling group can be applied to various usage scenarios including computing power networks, after the SR-TE path scheduling group is obtained, the current Network topology, and then maintain the SR-TE path scheduling group according to the current network topology.
- the controller may actively determine it periodically, or passively receive the change information of the network topology when the network topology changes, and then determine the current network topology. This embodiment There is no restriction on this.
- the above-mentioned maintenance of the SR-TE path scheduling group may be updating the forwarding information of a certain SR-TE path in the SR-TE path scheduling group, or may be deleting a certain SR-TE path.
- the forwarding information corresponding to the SR-TE path is updated according to the network topology to Make the head-end node forward the service flow according to the updated forwarding information of the SR-TE path.
- the SR-TE path For each SR-TE path in the SR-TE path scheduling group, if there is a service node on the SR-TE path whose service function fails, the SR-TE path is deleted according to the network topology, and the head-end node is notified. Delete the SR-TE path and the mapping relationship between the SR-TE path and the forwarded service flow.
- the scheduling priority of the SR-TE path to be deleted is the highest scheduling priority
- a new SR-TE path that also meets the user's needs is created as the second SR-TE path, or if the new SR-TE path fails Select an appropriate third SR-TE path from the path scheduling group as the second SR-TE path, set the scheduling priority of the second SR-TE path to the highest scheduling priority, and then delete the SR-TE path based on the network topology.
- the operation of the TE path; if the scheduling priority of the SR-TE path to be deleted is not the highest scheduling priority, the operation of deleting the SR-TE path according to the network topology is directly performed.
- the SR-TE path where the service node is located is updated or deleted, thereby realizing the maintenance of the obtained SR-TE path scheduling group. This enables the SR-TE paths in the SR-TE path scheduling group to better provide services.
- SR-TE path scheduling group is the SR-TE policy" and "SR-TE path is an SR-TE tunnel, SR-TE path scheduling group is a group formed by multiple SR-TE tunnels" are For example, in conjunction with Figure 2 to Figure 3, a specific description is given:
- the SR-TE path is a Candidate Path within an SR-TE policy
- the SR-TE path scheduling group is the SR-TE policy.
- draft-ietf-idr-segment-routing-te-policy-11 describes how the controller delivers SR-TE to the head-end node on the network side through the Border Gateway Protocol (Border Gateway Protocol, BGP) channel policy
- BGP Border Gateway Protocol
- an SR-TE policy can contain multiple Candidate Paths, and each Candidate Path may contain multiple Segment Lists to form load sharing.
- BGP Border Gateway Protocol
- the unit is actually the Candidate path, that is, the key value ⁇ Distinguisher, Policy Color, Endpoint> of the SR Policy SAFI NLRI actually represents a Candidate Path.
- ⁇ Policy Color, Endpoint> identifies an SR-TE policy, and Distinguisher identifies a Candidate Path within the SR-TE policy.
- the attribute of Candidate Path is carried in the Tunnel Encaps Attribute.
- the Candidate Path with the highest priority indicated by the priority attribute can take effect. Obviously, this validation logic does not meet the requirements of this embodiment.
- a scheduling field (which can be represented by Scheduling Flag, which occupies 1 bit and is denoted as S-Flag) is added to the Flags field of the Preference Sub-TLV of Candidate Path, which is represented as a switch flag. Whether Candidate Path has the highest scheduling priority or the normal scheduling priority. Referring to Figure 2, when S-Flag is set to 1, it indicates that the Candidate Path has the highest scheduling priority in the SR-TE policy to which it belongs, and if it is set to 0, it indicates that it is a common scheduling priority.
- the controller internally maintains the SR-TE path scheduling group (here, SR-TE policy). Whenever a new SR-TE path (here, Candidate Path) is calculated for the SR-TE path scheduling group, the controller sets The new Candidate Path has the highest scheduling priority, and other Candidate Paths that already exist in the SR-TE policy are set to the common scheduling priority. The controller individually delivers the new Candidate Path to the head-end node, and sets its S-Flag to 1, and can also deliver the entire updated SR-TE path scheduling group to the head-end node.
- SR-TE path scheduling group here, SR-TE policy
- the head-end node After receiving it, the head-end node adds the new Candidate Path to the corresponding SR-TE policy instance saved locally, and sets the scheduling priority of the new Candidate Path to the highest scheduling priority in the SR-TE policy instance. Set the scheduling priority of other Candiate Paths that exist in the SR-TE policy instance to the normal scheduling priority.
- the controller targets an existing SR-TE path (here Candidate here) in the SR-TE path scheduling group (here SR-TE policy). Path) does not change the scheduling priority of the Candidate Path when updating its forwarding information.
- the update of the Candidate Path is delivered to the head-end node, its S-Flag is set according to the scheduling priority of the Candidate Path.
- the head-end node updates the forwarding information of the existing Candidate path in the locally stored SR-TE policy.
- the head-end node since the head-end node does not know whether the update sent by the controller only involves the change of forwarding information or the change of scheduling priority, the head-end node also sets the S-Flag according to the received Candiate Path.
- the scheduling priority of each Candidate path in the group That is, if the S-Flag of the received Candidate Path is 1, the Candidate Path is set to have the highest scheduling priority and all other Candidate Paths in the group are set to have the normal scheduling priority. If the S-Flag is 0, the Candiate path is set to have normal scheduling priority.
- the controller deletes an existing SR-TE trail (here, Candidate) in the SR-TE trail scheduling group (here, SR-TE policy). Path), there are two cases:
- the scheduling priority of other candidate paths in the group will not be changed.
- the candidate path is deleted to the head-end node, its S-Flag is set to 0. After the head-end node receives it, it can delete the Candidate path in the locally saved SR-TE policy.
- the Candiate Path with the highest priority is to be deleted, when the Candiate Path is sent to the head-end node for deletion, its S-Flag can be set to 1 or 0. After the head-end node receives it, it can delete the Candidate path in the locally saved SR-TE policy. Next, the controller should calculate a new Candidate Path for the group again (Note: an existing Candidate Path in the group may be reused) and set it to have the highest scheduling priority, and the new Candidate Path to the head When the end node delivers, its S-Flag is set to 1.
- the head-end node After receiving it, the head-end node adds the new Candidate Path to the corresponding SR-TE policy saved locally (Note: an existing Candidate Path in the group may be reused), and set the new Candidate Path in the SR-TE policy.
- the new Candidate Path has the highest scheduling priority, and other Candidate Paths that already exist in the SR-TE policy are set to the normal scheduling priority.
- the SR-TE trail is an SR-TE tunnel
- the SR-TE trail scheduling group is a group formed by multiple SR-TE tunnels.
- RFC8664 and draft-ietf-pce-segment-routing-ipv6-08 describe how the controller sends the SR-TE tunnel to the head-end node through the Path Computation Element Communication Protocol (PCEP) channel.
- PCEP Path Computation Element Communication Protocol
- RFC8697 defines an association object (ASSOCIATION Object), which can be used to form a group of multiple SR-TE tunnels.
- ASSOCIATION Object an association type
- an association Type is added to the ASSOCIATION Object, which is called "Flow Scheduling Group".
- the value in the Association ID (Association ID) field is managed and set by the controller, indicating the identity of the SR-TE path scheduling group, and the value in the IPv4 Association Source or IPv6 Association Source field is the head end of the SR-TE tunnel node.
- Association ID Association ID
- IPv4 Association Source or IPv6 Association Source field is the head end of the SR-TE tunnel node.
- the capability negotiation information of PCEP needs to be extended.
- a new flag G-Flag is added. Referring to Fig. 3, if the value of G-Flag is 1, it indicates that the advertiser's Path Computation Element (Path Computation Element, PCE) or Path Computation Client (Path Computation Client, PCC) supports maintaining the SR-TE provided in this embodiment Path scheduling group, and select paths from the group for traffic scheduling based on scheduling priority.
- LSP Object is defined in RFC8231, which can be used to identify the keys and attributes of the SR-TE tunnel.
- LSP-EXTENDED-FLAG TLV is defined for LSP Object in draft-ietf-pce-lsp-extended-flags-00, which is used to set richer flag information.
- a new G-Flag is added to the LSP-EXTENDED-FLAG TLV, which is used when the PCC requests the PCE for path calculation. If it is set to 1, the PCE is required to calculate a new path for the SR-TE path scheduling group according to the resource changes in the network. SR-TE trail. If it is set to 0, there is no requirement.
- a new Scheduling Flag is added, which is used when the PCE sends a path to the PCC. If set to 1, it indicates that the SR-TE tunnel has the highest scheduling priority in the SR-TE path scheduling group to which it belongs. If set to 0, it indicates that the SR-TE tunnel has the highest scheduling priority. For common scheduling priorities, see Figure 4 for details.
- draft-ietf-idr-segment-routing-te-policy-11 draft-ietf-idr-segment-routing-te-policy-11
- draft-ietf-idr-segment-routing-te-policy-11 draft-ietf-pce-lsp-extended-flags-00, RFC8664, and draft-ietf-pce-segment-routing-ipv6-08 are equivalent to draft documents related to segment routing, which are not repeated in this embodiment.
- the controller always identifies the service functions provided on some service nodes in the network according to the collected usage rates of each preset resource in the network. ) load is too heavy, and then check whether the SR-TE path with the highest scheduling priority in the SR-TE path scheduling group contains the service nodes of these Service Funcitons, if so, calculate a new SR-TE path scheduling group for the SR-TE path scheduling group
- the SR-TE path that is, the above-mentioned second SR-TE path, so that the head-end node can serve the subsequently received new service flows that meet the preset conditions through the second SR-TE path, that is, new services
- the flow is always matched to the SR-TE path with the highest scheduling priority in the SR-TE path scheduling group, and the old service flow (the first service flow mentioned above) is still guided to the original SR-TE path. In this way, the balance of resource utilization in the network and the load balance of service nodes
- FIG. 5 is a flowchart of a traffic scheduling method provided by an embodiment of the present application.
- the method is mainly applied to a controller.
- the traffic scheduling method involved in this embodiment includes the following steps:
- Step 501 if the SR-TE path scheduling group does not exist locally, create at least one SR-TE path from the head-end node on the network side to the destination node on the network side.
- the controller may create the path according to user requirements and service scenarios.
- the operation of creating an SR-TE path may be created by the controller after receiving a due trigger, or may be created by the controller after receiving a request from the head-end node, which is not covered in this embodiment. make restrictions.
- Step 502 Select one of the at least one SR-TE path as the first SR-TE path, set the scheduling priority of the first SR-TE path to the highest scheduling priority, and set the remaining The scheduling priority of the SR-TE path is set to the normal scheduling priority.
- this SR-TE path is the first SR-TE path, and its scheduling priority is the highest scheduling priority.
- SR-TE path scheduling group If there are multiple SR-TE paths, you can dynamically select an optimal SR-TE path as the first SR-TE path according to the actual situation, such as the current load status of the serving node on each SR-TE path, and set it as the first SR-TE path.
- the highest scheduling priority is set for the determined first SR-TE path, and common scheduling priorities are set for other SR-TE paths remaining in the SR-TE path scheduling group.
- Step 503 Generate the SR-TE path scheduling group according to the first SR-TE path for which the scheduling priority is set and the remaining SR-TE paths.
- the SR-TE path scheduling group mentioned in this embodiment refers to a group that manages SR-TE paths that can be applied to the same user requirements and service scenarios, that is, the same SR-TE path scheduling group Any one of the SR-TE paths is for the same user requirement and service scenario.
- Step 504 Deliver the SR-TE path scheduling group to the head-end node.
- step 104 The manner in which the lower head-end node delivers the SR-TE path scheduling group is substantially the same as step 104 in the method embodiment corresponding to FIG. 1 , and details are not repeated here.
- Step 505 Obtain the usage rate of preset resources in the network.
- Step 506 Determine the load status of each service node on the first SR-TE path with the highest scheduling priority in the pre-created segment routing traffic engineering SR-TE path scheduling group according to the usage rate.
- Step 507 if it is determined according to the load status of each of the serving nodes that there is an overloaded serving node on the first SR-TE path, and a second SR-TE path is determined according to the first SR-TE path.
- TE path set the scheduling priority of the second SR-TE path to the highest scheduling priority, set the scheduling priority of the first SR-TE path to the normal scheduling priority, and obtain the updated SR-TE path scheduling group.
- Step 508 Deliver the updated SR-TE path scheduling group to the head-end node on the network side.
- steps 505 to 508 in this embodiment are substantially the same as steps 101 to 104 in the method embodiment corresponding to FIG. 1 , and details are not repeated here.
- the traffic scheduling method provided by this embodiment not only ensures that the controller that adopts the traffic scheduling method provided by this embodiment for the first time can provide an available SR-TE path for the head-end node, but also ensures that during the process of traffic scheduling, It can dynamically adjust the number of SR-TE paths in the SR-TE path scheduling group and the scheduling priority corresponding to each SR-TE path according to the dynamically changing network resources and service node load conditions, so that the head-end node can dynamically adjust the number of SR-TE paths in the SR-TE path scheduling group
- the SR-TE path in the changed SR-TE path scheduling group provides better services.
- FIG. 6 it is a flowchart of a traffic scheduling method provided by an embodiment of the present application.
- the method is mainly applied to a head-end node.
- the head-end node based on the traffic scheduling method provided in this embodiment needs to cooperate with the above-mentioned controller to implement traffic scheduling. Therefore, the relevant technical details described in the foregoing embodiment of the traffic scheduling method applied to the controller are also applicable in this embodiment.
- the traffic scheduling method involved in this embodiment includes the following steps:
- Step 601 Receive the segment routing traffic engineering SR-TE path scheduling group delivered by the controller.
- the SR-TE path scheduling group includes at least one SR-TE path whose scheduling priority is the highest scheduling priority.
- Step 602 When receiving a service flow that needs to be scheduled, match a service flow that satisfies a preset condition.
- Step 603 Guide the matched service flow to the SR-TE path whose scheduling priority is the highest scheduling priority, and maintain the mapping relationship between the service flow and the SR-TE path.
- the preset condition is "all packets destined for server1-IP"
- configure an enabled policy route that can match packets that meet the above preset conditions on the user-side interface corresponding to the head-end node in advance, so as to
- the user-side interface receives user packets, it matches the received user packets based on the configured enabled policy routing, such as matching the quintuple of user packets, to match user packets that meet preset conditions.
- the head-end node will guide all 10 service flows to the SR-TE path with the highest scheduling priority, and establish flow1 to flow10 and the highest scheduling priority respectively.
- the mapping relationship between the SR-TE paths is monitored during the forwarding of these service flows, and these mapping relationships are maintained according to the monitoring results, such as updating or deleting.
- the maintenance operations performed by the head-end node on the mapping relationship between service flows and SR-TE paths are as follows:
- mapping relationship between the service flow and the SR-TE path is deleted.
- the mapping relationship between the service flow and the SR-TE path is deleted.
- the service flow is guided to the scheduling priority in the SR-TE path scheduling group
- the SR-TE path with the highest scheduling priority is maintained, and the mapping relationship between the service flow and the SR-TE path with the highest scheduling priority in the SR-TE path scheduling group is maintained.
- the head-end node will also receive the SR-TE path scheduling group from the controller. , which contains a new SR-TE path with the highest scheduling priority, or reuses an old SR-TE path with the highest scheduling priority.
- the head-end node receives the update information for a certain SR-TE path issued by the controller, the SR-TE path is updated according to the update information.
- the head-end node when the head-end node performs traffic scheduling by using the SR-TE path generated by the controller according to the dynamically changing network resources and the load situation of the service node, it actively monitors the traffic scheduling process, The usage of a certain SR-TE path and the update information for a certain SR-TE path sent by the controller are received, and the mapping relationship between the service flow and the SR-TE path is dynamically maintained, so that it can be implemented according to actual needs.
- the selection of the SR-TE path realizes dynamic traffic scheduling, thereby better improving the quality of service.
- FIG. 7 it is a flowchart of a traffic scheduling method provided by an embodiment of the present application.
- the method is mainly applied to a head-end node.
- the traffic scheduling method involved in this embodiment includes the following steps:
- Step 701 Receive the segment routing traffic engineering SR-TE path scheduling group delivered by the controller.
- the SR-TE path scheduling group includes at least one SR-TE path whose scheduling priority is the highest scheduling priority.
- Step 702 when receiving a service flow that needs to be scheduled, match a service flow that satisfies a preset condition.
- steps 701 and 701 in this embodiment are substantially the same as steps 601 and 601 in the method embodiment corresponding to FIG. 6 , and details are not repeated here.
- Step 703 Determine whether the SR-TE path scheduling group includes only one SR-TE path whose scheduling priority is the highest scheduling priority.
- step 704 if yes, go to step 704, otherwise go to step 705.
- the SR-TE path in the SR-TE path scheduling group may be determined by number to be determined. That is, when the number of SR-TE paths included in the SR-TE path scheduling group is 1, then only one SR-TE path with the highest scheduling priority is included in the SR-TE path scheduling group. If the number of SR-TE paths is greater than 1, it means that the SR-TE path scheduling group includes not only an SR-TE path with the highest scheduling priority, but also an SR-TE path with a common scheduling priority.
- Step 704 Guide the matched service flow to the SR-TE path whose scheduling priority is the highest scheduling priority, and maintain the mapping relationship between the service flow and the SR-TE path.
- step 704 in this embodiment is substantially the same as step 603 in the method embodiment corresponding to FIG. 6 , and details are not repeated here.
- Step 705 Guide the service flows that meet the preset conditions to the matching SR according to the characteristic information of the service flows that meet the preset conditions and the scheduling priority corresponding to each SR-TE path in the SR-TE path scheduling group. -TE path.
- step 705 when there are at least two SR-TE paths (one with the highest scheduling priority and one with the common scheduling priority) in the SR-TE path scheduling group, the operations mentioned in the above step 705 are specifically:
- the new service flow received after the SR-TE path with the highest scheduling priority at the current moment in the TE path scheduling group is scheduled.
- the head-end node has created corresponding mapping relationship entries for flow1 to flow10.
- the logic based on the mapping relationship will guide them to the first flow1 to flow10.
- the SR-TE path is forwarded, even though the second SR-TE path has the highest scheduling priority in the SR-TE path scheduling group at this time.
- the head-end node continues to receive multiple new service flows that meet the above preset conditions from the user-side interface, such as flow11 to flow20, the head-end node will guide flow11 to flow20 to the second SR-TE path , and generate corresponding mapping relationships for these flows to lead to specific SR-TE paths.
- the head-end node establishes a mapping relationship with the corresponding SR-TE path for each received service flow that satisfies the preset conditions, and dynamically maintains it.
- the scheduling priority set for each SR-TE path realizes that the old service flow is guided to the SR-TE path with the existing mapping relationship, and the new service flow is guided to the SR-TE path with the highest scheduling priority. According to the actual requirements, the rational selection of each SR-TE path in the SR-TE path scheduling group is realized, which makes the traffic scheduling more reasonable and further improves the service quality.
- the figure is a schematic structural diagram of a traffic scheduling system provided by an embodiment of the present application.
- the traffic scheduling system includes a controller 801 and a head-end node 802 .
- the controller 801 is configured to obtain the utilization rate of preset resources in the network, and according to the utilization rate, determine the first SR-TE path with the highest scheduling priority in the pre-created segment routing traffic engineering SR-TE path scheduling group The load status of each service node.
- the controller 801 is further configured to determine that there is an overloaded service node on the first SR-TE path, determine the second SR-TE path according to the first SR-TE path, and Set the scheduling priority of the second SR-TE path to the highest scheduling priority, set the scheduling priority of the first SR-TE path to the normal scheduling priority, obtain the updated SR-TE path scheduling group, and update the The resulting SR-TE path scheduling group is delivered to the head-end node.
- the head-end node 802 is configured to, when receiving the service flow that needs to be scheduled, guide the first service flow that meets the preset condition to the first SR-TE path, and guide the second service flow that meets the preset condition to the second service flow.
- SR-TE path and maintain the mapping relationship between the first service flow and the first SR-TE path, and the second service flow and the second SR-TE path.
- the first service flow is the service flow that has been directed to the first SR-TE path before the second SR-TE path is created
- the second service flow is the service flow after the second SR-TE path is created. , the new service flow received by the head-end node.
- the host (host) of CE1 needs to send service traffic to the server (server) on the remote CE2 side.
- the controller needs to calculate a route from the head-end node PE1 to the destination node in the bearer network.
- the SR-TE policy of PE2, and the corresponding Segment List needs to contain ordered Service Function 1, Service Function 2, Service Function 3 and other three service functions to process the corresponding service functions for the packets.
- both node SF1 and node SF11 provide Service Function 1
- the corresponding Service SIDs are SID-SF1 and SID-SF11 respectively
- both node SF2 and node SF22 provide Service Function 2
- the corresponding Service SIDs are SID-SF2 respectively and SID-SF22
- both node SF3 and node SF33 provide Service Function 3
- the corresponding Service SIDs are SID-SF3 and SID-SF33 respectively.
- the SRv6 SID of the END type of PE2 is SID1-PE2
- the SRv6 VPN SID of the END.DX6 type allocated for CE2 customers is SID100-PE2.
- the Candidate Path obtained by initial calculation is as shown in Figure 9 SR-TE path-1, the corresponding SID List is ⁇ SID-SF1, SID-SF2, SID-SF3, SID1-PE2 ⁇ .
- the data maintained inside the controller is as follows:
- SID List ⁇ SID-SF1, SID-SF2, SID-SF3, SID1-PE2 ⁇
- the controller delivers the above Candidate Path to the head-end node PE1 through BGP, and the S-Flag in the Preference Sub-TLV is set to 1.
- the head-end node PE1 After receiving the information about the SR-TE path scheduling group sent by the controller, the head-end node PE1 performs operations similar to the controller internally to maintain the following data:
- SID List ⁇ SID-SF1, SID-SF2, SID-SF3, SID1-PE2 ⁇
- the head-end node PE1 configures an access control list (Access Control List, ACL) on the link connected to CE1, and guides the service flow that meets the preset conditions to the above-mentioned SR-TE policy.
- ACL Access Control List
- the matching condition is "all packets destined for server1-ip", where server1-ip is the IP address of a certain server1 on the CE2 side.
- the head-end node PE1 uses the ⁇ source IP, destination IP> two-tuple to maintain the mapping relationship table entry of the mapping relationship between the service flow and the SR-TE path.
- PE1 receives the following three traffic flows from CE1:
- host1-ip, host2-ip, and host3-ip are different hosts on the CE1 side, and they all access server1 on the CE2 side. Then PE1 directs these flows to the above SR-TE policy, and selects the Candidate Path with the highest scheduling priority from the SR-TE policy and applies it to these flows.
- the service flow mapping relationship entries maintained by PE1 are as follows:
- these service flows will encapsulate SRv6 SID List ⁇ SID-SF1, SID-SF2, SID-SF3, SID1-PE2, SID100-PE2 ⁇ for transmission in the network, and experience SF1, SF2, SF3 along the way to apply corresponding service functions.
- the SID (SRv6 VPN SID) of the virtual private network based on the IPv6-extended SR solution needs to be inserted at the end of the SID List.
- the controller After the service traffic is transmitted in the network, if the controller perceives that the utilization rate of the corresponding Server Function provided on one or more nodes of SF1, SF2, and SF3 in the network is too high, but the network actually has the same Server Function. other nodes, the controller starts to calculate a new Candidate Path for the above SR-TE policy for the new service flow.
- the calculated new Candidate Path is SR-TE path-2 in FIG. 9
- the corresponding SID List is ⁇ SID-SF11, SID-SF22, SID-SF33, SID1-PE2 ⁇ .
- SID Lis ⁇ SID-SF1, SID-SF2, SID-SF3, SID1-PE2 ⁇
- SID List ⁇ SID-SF11, SID-SF22, SID-SF33, SID1-PE2 ⁇
- the controller delivers the above Candidate Path to the head-end node PE1 through BGP, and the S-Flag in the Preference Sub-TLV is set to 1.
- the head-end node PE1 After receiving the information about the SR-TE path scheduling group sent by the controller, the head-end node PE1 performs operations similar to the controller internally to maintain the following data:
- SID List ⁇ SID-SF1, SID-SF2, SID-SF3, SID1-PE2 ⁇
- SID List ⁇ SID-SF11, SID-SF22, SID-SF33, SID1-PE2 ⁇
- the head-end node PE1 receives the following three traffic from CE1:
- host4-ip, host5-ip, and host6-ip are different hosts on the CE1 side, and they all access server1 on the CE2 side.
- PE1 also directs these flows to the above-mentioned SR-TE policy, and selects the Candidate Path with the highest scheduling priority from the SR-TE policy and applies it to these flows.
- the service flow mapping relationship entries maintained by PE1 become as follows:
- Source IP host6-ip
- Endpoint PE2>: SR-TE path-2.
- these new service flows will encapsulate SRv6 SID List ⁇ SID-SF11, SID-SF22, SID-SF33, SID1-PE2, ID100-PE2 ⁇ for transmission in the network, and apply corresponding services along the way through SF11, SF22, SF33 Function.
- the old service flow will still encapsulate the SRv6 SID List ⁇ SID-SF1, SID-SF2, SID-SF3, SID1-PE2, SID100-PE2 ⁇ for transmission in the network, and go through SF1, SF2, SF3 to apply corresponding service functions along the way.
- the utilization of resources on each node in the network is more balanced.
- Source IP host6-ip
- Endpoint PE2>: SR-TE path-2.
- the mapping relationship table entry is guided to the above SR-TE policy, and the Candidate path with the highest scheduling priority is selected from the SR-TE policy, that is, SR-TE path-2. Therefore, the service flow mapping table entry maintained by PE1 becomes:
- Source IP host6-ip
- Endpoint PE2>: SR-TE path-2.
- the controller always recognizes that the load of the service function (Service Function) provided on some service nodes in the network is too heavy according to the collected usage rate of each preset resource in the network. , and then check whether the SR-TE path with the highest scheduling priority in the SR-TE path scheduling group contains the service nodes of these Service Funcitons, and if so, calculate a new SR-TE path for the SR-TE path scheduling group , that is, the above-mentioned second SR-TE path, so that the head-end node can serve the subsequently received new service flow that meets the preset conditions through the second SR-TE path, that is, the new service flow is always Matches the SR-TE path with the highest scheduling priority in the SR-TE path scheduling group, and the old service flow (the first service flow mentioned above) is still guided to the original SR-TE path. In this way It not only ensures the balance of resources in the network and the load balance of service nodes that provide service functions, but also
- Embodiments of the present application relate to a computer-readable storage medium storing a computer program.
- the computer program is executed by the processor, the traffic scheduling method described in the above method embodiments and applied to the controller or the traffic scheduling method applied to the head-end node is implemented.
- the aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种流量调度方法、***及存储介质。本申请中,控制器通过获取网络中预设资源的使用率,然后根据使用率确定预先创建的SR-TE路径调度组中调度优先级最高的第一SR-TE路径上每一服务节点的负载状态,并在第一SR-TE路径上存在超负载的服务节点时,根据第一SR-TE路径确定第二SR-TE路径,并将第二SR-TE路径的调度优先级设置为最高调度优先级,将第一SR-TE路径的调度优先级设置为普通调度优先级,得到更新后的SR-TE路径调度组,最后将更新后的SR-TE路径调度组下发至网络侧的头端节点,使得头端节点根据动态变化的网络资源以及服务节点的负载情况进行流量调度。
Description
相关申请的交叉引用
本申请基于申请号为“202110492208.X”、申请日为2021年05月06日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此以引入方式并入本申请。
本申请实施例涉及移动通信领域,特别涉及一种流量调度方法、***及存储介质。
随着5G的发展普及,对边缘算力的需求将大幅增长。边缘计算与云计算互相协同,共同使能行业数字化转型。具体的,通过云计算聚焦非实时、长周期数据的分析,从而能够在周期性维护、业务决策支撑等领域发挥特长;通过边缘计算聚焦实时、短周期数据的分析,从而能够更好地支撑本地业务的实时智能化处理与执行。结合未来计算形态云-边-端泛在分布的趋势,计算与网络的融合将会更加紧密,由于单个节点计算能力有限,大型的计算业务往往需要通过计算联网来实现,即所谓的“算力网络”。算力网络需要网络和计算高度协同,将计算单元和计算能力嵌入网络,提高计算资源利用率。在算力网络中,用户通过算力网关接入网络,设备节点根据应用服务的需求,综合考虑实时的网络和计算资源状况,将不同的应用调度到合适的计算节点处理,以保证业务体验。
分段路由(Segment Routing,SR)是一种源路由协议,也称为分段路由协议,由源节点(也称头端节点/头端节点,本文统一称为:头端节点)为网络中的数据包指定路径,并通过特定算法将业务路径编码成一个有序的片段列表(Segment List)封装到数据包首部来显示标识路径,而且转发路径上的节点不必为所有可能经过它们的流(flow)维持状态信息,也就是“状态在数据包里”。因为指令被编码在数据包首部所以网络中的节点收到数据包后,匹配转发表执行操作即可,路径的中间节点只需要根据相应的数据包首部中指定的路径进行转发。基于分段路由的这一特性,目前的分段路由流量工程(Segment Routing Traffic Engineering,SR-TE),相比传统资源预留协议流量工程(Resource Reservation Protocol Traffic Engineering,RSVP-TE)更具优势,能够更好的适用于现有的“算力网络”,如软件定义网络(Software Defined Network,SDN)。
但是目前的SR-TE,在进行流量调度时,一旦确定了优先级最高的路径,那么在整个流量调度过程中,无论网络中的资源发生何种变化,所有的流量都只能通过该路径进行调度,整个流量调度过程根本不会考虑网络中各种资源的使用率的变化情况,也不会考虑网络中转发数据包的节点的负载情况。或者,在进行流量调度时,根据报文的优先级去映射到一组SR-TE路径内具有同样优先级的SR-TE路径,但同样的问题是这些流量都只能通过映射的路径进行调度,整个流量调度过程不会考虑网络中各种资源的使用率的变化情况。
发明内容
本申请的实施例提供了一种流量调度方法,应用于控制器,包括:获取网络中预设资源的使用率;根据所述使用率,确定预先创建的分段路由流量工程SR-TE路径调度组中调度优先级最高的第一SR-TE路径上每一服务节点的负载状态;如果根据每一所述服务节点的所述负载状态,确定所述第一SR-TE路径上存在超负载的所述服务节点,根据所述第一SR-TE路径确定第二SR-TE路径,并将所述第二SR-TE路径的调度优先级设置为最高调度优先级,将所述第一SR-TE路径的调度优先级设置为普通调度优先级,得到更新后的所述SR-TE路径调度组;将更新后的所述SR-TE路径调度组下发至网络侧的头端节点,以使所述头端节点在接收到需要调度的业务流时,将满足预设条件的第一业务流引导到所述第一SR-TE路径,将满足预设条件的第二业务流引导到所述第二SR-TE路径,并维护所述第一业务流和所述第一SR-TE路径,所述第二业务流和所述第二SR-TE路径之间的映射关系;其中,所述第一业务流为创建所述第二SR-TE路径前,已经引导到所述第一SR-TE路径的业务流,所述第二业务流为创建所述第二SR-TE路径后,所述头端节点接收到的新的业务流。
本申请实施例还提供了一种流量调度调度方法,应用于头端节点,包括:接收控制器下发的分段路由流量工程SR-TE路径调度组,所述SR-TE路径调度组至少包括一条调度优先级为最高调度优先级的SR-TE路径;在接收到需要调度的业务流时,匹配出满足预设条件的所述业务流;如果所述SR-TE路径调度组中仅包括一条调度优先级为最高调度优先级的SR-TE路径,将匹配出的所述业务流引导至调度优先级为最高调度优先级的所述SR-TE路径,并维护所述业务流和所述SR-TE路径之间的映射关系;否则,根据匹配出的满足预设条件的所述业务流的特征信息和所述SR-TE路径调度组中每一所述SR-TE路径对应的调度优先级,将满足预设条件的所述业务流引导至匹配的所述SR-TE路径。
本申请实施例还提供了一种流量调度***,包括:控制器和头端节点;所述控制器获取网络中预设资源的使用率;所述控制器根据所述使用率,确定预先创建的分段路由流量工程SR-TE路径调度组中调度优先级最高的第一SR-TE路径上每一服务节点的负载状态;如果根据每一所述服务节点的所述负载状态,所述控制器确定所述第一SR-TE路径上存在超负载的所述服务节点,根据所述第一SR-TE路径确定第二SR-TE路径,并将所述第二SR-TE路径的调度优先级设置为最高调度优先级,将所述第一SR-TE路径的调度优先级设置为普通调度优先级,得到更新后的所述SR-TE路径调度组;所述控制器将更新后的所述SR-TE路径调度组下发至所述头端节点;所述头端节点在接收到需要调度的业务流时,将满足预设条件的第一业务流引导到所述第一SR-TE路径,将满足预设条件的第二业务流引导到所述第二SR-TE路径,并维护所述第一业务流和所述第一SR-TE路径,所述第二业务流和所述第二SR-TE路径之间的映射关系;其中,所述第一业务流为创建所述第二SR-TE路径前,已经引导到所述第一SR-TE路径的业务流,所述第二业务流为创建所述第二SR-TE路径后,所述头端节点接收到的新的业务流。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序。所述计算机程序被处理器执行时实现上述所述的任一流量调度方法。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本申请实施例提供的应用于控制器的流量调度方法的流程图;
图2是本申请实施例提供的应用于控制器的流量调度方法中头端节点根据控制器下发的SR-TE路径调度组对在需要调度的业务流的包头封装的报文信息示意图;
图3是本申请实施例提供的应用于控制器的流量调度方法中头端节点根据控制器下发的SR-TE路径调度组对在需要调度的业务流的包头封装的又一报文信息示意图;
图4本申请实施例提供的应用于控制器的流量调度方法中头端节点根据控制器下发的SR-TE路径调度组对在需要调度的业务流的包头封装的又一报文信息示意图;
图5是本申请实施例提供的应用于控制器的流量调度方法的又一流程图;
图6是本申请实施例提供的应用于头端节点的流量调度方法的流程图;
图7是本申请实施例提供的应用于头端节点的流量调度方法的又一流程图;
图8是本申请实施例提供的流量调度***的结构示意图;
图9是针对图8所示的流量调度***图进行流量调度的实际网络结构示意图。
本申请实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本申请实施例的目的在于提供一种流量调度方法、***及存储介质,旨在根据动态变换的网络资源,以及网络中转发数据包的节点的负载情况,进行动态的流量调度,从而能够更好的提升服务质量。
本申请实施例提出的流量调度方法、***及存储介质,为了保证网络中资源的均衡,以及提供服务功能的服务节点的负载均衡,通过设置控制器获取网络中预设资源的使用率,然后根据使用率确定预先创建的SR-TE路径调度组中调度优先级最高的第一SR-TE路径上每一服务节点的负载状态,并在第一SR-TE路径上存在超负载的服务节点时,根据第一SR-TE路径确定第二SR-TE路径,并将第二SR-TE路径的调度优先级设置为最高调度优先级,将第一SR-TE路径的调度优先级设置为普通调度优先级,进而使得更新后的SR-TE路径调度组中存在多条可用的SR-TE路径,最后将更新后的SR-TE路径调度组下发至网络侧的头端节点,并设置头端节点在接收到需要调度的业务流时,将创建第二SR-TE路径前,将已经引导到第一SR-TE路径的业务流,继续引导到第一SR-TE路径,将创建第二SR-TE路径后,头端节点接收到的新的业务流引导到第二SR-TE路径,并维护第一业务流和第一SR-TE路径,第二业务 流和第二SR-TE路径之间的映射关系,从而能够根据实际需求进行SR-TE路径的选择,即实现动态的流量调度,进而更好的提升了服务质量。
参见图1,图1是本申请实施例提供的流量调度方法的流程图,在本实施例中,该方法主要应用于控制器。
可理解的,在一个例子中,所述控制器可以是集中式控制器,即一个控制器可以控制多个位于网络侧的头端节点。
此外,关于本实施例中所说的头端节点,具体是指位于核心网络层的边缘设备,即通常所说的Provider Edge(PE),如服务提供商骨干网的边缘路由器。
本实施例中,位于网络侧的头端节点,相当于标签边缘路由器(LER,又称边缘LSR),用于连接用户边缘设备(Customer Edge,CE)和运营商网络主干路由器(P路由器)。
在一个例子中,CE路由器将连接的用户设备需要进行转发的流量(业务流中的流量)发送至PE路由器,流量通过PE路由器流入用户网络,或者流到网际互连协议(Internet Protocol,IP)骨干网或多协议标签交互(Multi-Protocol Label Switching,MPLS)骨干网。
此外,值得一提的是,在一个例子中,上述所说的CE路由器通过连接一个或多个PE路由器,为用户提成服务接入。
本实施例中,在一个例子中,CE路由器可以是一台网际互联协议(Internet Protocol,IP)路由器,它与连接的PE路由器建立邻接关系,进而能够将用户需要进行转发的流量通过邻接的PE路由器流入流入用户网络,或者流到IP/MPLS骨干网。
关于上述所说的CE路由器、PE路由器和P路由器的相关工作原理,本领域技术人员可以自行查阅相关资料,本实施例不再赘述。
如图1所示,本实施例提供的流量调度方法,包括以下步骤:
步骤101,获取网络中预设资源的使用率。
本实施例中,当用户的流量通过PE路由器,即本实施例所说的头端节点流入网络时,会导致网络中用于提供服务功能的服务节点上资源的使用率发生变化。因此,为了使得提供服务功能的服务节点负载均衡,从而更好的提供服务,在一个实施例中,可以预先确定影响服务节点负载状态的预设资源,然后根据确定的预设资源,分时段,或者按照预设周期采集预设资源的使用率。
步骤102,根据所述使用率,确定预先创建的分段路由流量工程SR-TE路径调度组中调度优先级最高的第一SR-TE路径上每一服务节点的负载状态。
需要说明的是,在一个例子中,如果SR-TE路径是分段路由流量隧道路径(以下称为:SR-TE tunnel),那么预先构建的SR-TE路径调度组就是由多个SR-TE tunnel形成的;如果SR-TE路径是分段路由流量工程策略路径(以下称为:SR-TE policy),那么预先构建的SR-TE路径调度组就是由多个SR-TE policy形成的;如果SR-TE路径是SR-TE tunnel内的一条子路径,那么预先构建的SR-TE路径调度组实质就是一个SR-TE tunnel;如果SR-TE路径是SR-TE policy内的一条候选路径(Candidate Path),那么预先构建的SR-TE路径调度组实质就是一个SR-TE policy;如果SR-TE路径是一个SR-TE policy内的一条Candidate Path内的片段列表(Segment List),那么预先构建的SR-TE路径调度组实质就是该Candidate Path。
此外,在另一个例子中,SR-TE路径调度组中包括的SR-TE路径,还可以是SR-TE tunnel和SR-TE policy的组合。
此外,需要说明的是,关于本实施例中所说的最高调度优先级,以及后续出现的普通调度优先级,与目前对SR-TE路径定义的优先级属性并不相同,虽然都是优先级,但是目前对SR-TE路径设置的优先级属性,具体是指优先级最高的那条SR-TE路径才能生效,进行业务流的转发。即,如果采用现有的优先级属性为SR-TE路径调度组中的SR-TE路径配置优先级,只有一条SR-TE路径是可用的,SR-TE路径调度组中的其他SR-TE路径是无法使用的。而本实施例中,SR-TE路径调度组中的所有SR-TE路径都可以被使用,只是最高调度优先级的SR-TE路径会对应新接收到的业务流,而旧的业务流一般会对应普通调度优先级的SR-TE路径。某些情况下,旧的业务流也有可能会对应最高调度优先级的SR-TE路径,比如此前它映射到的SR-TE路径的调度优先级发生了变化。
为了区分SR-TE路径调度组中的SR-TE路径究竟是最高调度优先级还是普通调度优先级,在一个实施例中,可以使用开关标志,如设置开为具有最高调度优先级,关为普通调度优先级;还可以使用数值比大小,如大者为最高调度优先级或小者为最高调度优先级;还可以使用时间戳,如新者为最高调度优先级;还可以使用序列号,如序列号递增、大者为最高调度优先级等。
应当理解的是,上述示例仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
步骤103,如果根据每一所述服务节点的所述负载状态,确定所述第一SR-TE路径上存在超负载的所述服务节点,根据所述第一SR-TE路径确定第二SR-TE路径,并将所述第二SR-TE路径的调度优先级设置为最高调度优先级,将所述第一SR-TE路径的调度优先级设置为普通调度优先级,得到更新后的所述SR-TE路径调度组。
关于根据第一SR-TE路径确定第二SR-TE路径的方式,在一个例子中,可以是通过新建一条能够满足相同用户需求的SR-TE路径作为第二SR-TE路径,在另一个例子中,可以是通过从SR-TE路径调度组中挑选一条已有的SR-TE路径作为第二SR-TE路径。
本实施例中,为了保证处于同一SR-TE路径调度组中的SR-TE路径提供的是相同的服务功能,并且头端节点和目的节点是相同的,在根据第一SR-TE路径确定第二SR-TE路径时,具体可以通过获取第一SR-TE路径对应的用户需求,然后根据同样的用户需求新建一条从所述头端节点至所述目的节点的SR-TE路径作为第二SR-TE路径,即新建一条能够满足相同的用户需求的SR-TE路径作为第二SR-TE路径。
为了更好的理解,本实施例给出一种新建第二SR-TE路径的具体方式:
(1)根据所述第一SR-TE路径,确定需要创建的所述第二SR-TE路径的所述头端节点和目的节点,以及待计算路径需要满足的约束条件,如包含有序的Service Function列表,选择具有特定带宽的链路或低时延链路等,此处不再一一列举,本实施例对此不做限制。
(2)计算并创建所述第二SR-TE路径。
使得新创建的第二SR-TE路径与第一SR-TE路径是针对同一用户需求的。
应当理解的是,在具体实现中,第二SR-TE路径与第一SR-TE路径各自所包含的节点或链路没有必然联系,它们可能碰巧有些交叉的节点或链路,或者完全不相交。
此外,在一个例子中,预先创建的SR-TE路径调度组中可能存在多个SR-TE路径,即预先创建的SR-TE路径调度组中除了包括一条最高调度优先级的第一SR-TE路径,可能还包括多条普通调度优先级的SR-TE路径,为了与上述所说的第一SR-TE路径和第二SR-TE路径 区分,以下称为第三SR-TE路径,即第三SR-TE路径是预先构建的SR-TE路径调度组中除第一SR-TE路径之外的SR-TE路径。
相应地,在执行上述步骤(1)、(2)之后,如果新建第二SR-TE路径失败,可以寻找SR-TE路径调度组中是否存在合适的第三SR-TE路径。
本实施例中,如果根据第三SR-TE路径上每一服务节点的负载状态,确定第三SR-TE路径上不存在超负载的服务节点,即每一服务节点的处理能力仍有空余,则将该第三SR-TE路径确定为最高调度优先级的第二SR-TE路径;否则不做处理。
值得一提的是,是否决定根据网络中预设资源的变化率来重新确定调度优先级为最高调度优先级的第二SR-TE路径,可以预先根据业务需求确定触发条件,并将触发条件在控制器本地进行配置。
除此之外,在另一个例子中,头端节点向控制器请求路径计算时可以显式告知控制器去根据网络中预设资源的变化率去为SR-TE路径调度组确定新的调度优先级最高的第二SR-TE路径。
通过上述描述可知,更新后的SR-TE路径调度组中的第一SR-TE路径与第二SR-TE路径相比,调度优先级不再是最高的了,而是成为了与第三SR-TE路径相同的普通调度优先级。
步骤104,将更新后的所述SR-TE路径调度组下发至网络侧的头端节点。
本实施例中,在一个例子中,控制器在将更新得到的SR-TE路径调度组下发至网络侧的头端节点时,可以是通过将SR-TE路径调度组中的SR-TE路径分别下发至头端节点,比如通过对SR-TE路径调度组进行遍历,然后将遍历到的SR-TE路径下发至头端节点,直到SR-TE路径调度组中的所有SR-TE路径都被下发至头端节点为止。
此外,在另一个例子中,控制器在将更新得到的SR-TE路径调度组下发至网络侧的头端节点时,还可以将SR-TE路径调度组作为一个整体,直接下发至头端节点,比如可以按照预设格式对SR-TE路径调度组进行封装,然后将封装后的SR-TE路径调度组直接下发至头端节点,头端节点在接收到封装后的SR-TE路径调度组后,按照约定的解封装方式对其进行解封,从而得到至少包括上述所说的第一SR-TE路径和第二SR-TE路径的SR-TE路径调度组。
此外,在另一个例子中,为了确保头端节点能够知道哪些SR-TE路径是属于同一个SR-TE路径调度组的,从而以组为单位进行管理,进而快速区分哪个SR-TE路径调度组中的SR-TE路径能够适应哪类用户需求和业务场景,以便更好的提供高质量服务。
在执行上述步骤104之前,可以为SR-TE路径调度组中的每一个SR-TE路径分配相同的路径调度组标识,从而使得头端节点能够根据路径调度组标识,对接收到的所述SR-TE路径进行管理,以便后续能够快速区分哪个SR-TE路径调度组中的SR-TE路径能够适应哪类用户需求和业务场景,进而提供高质量服务。
此外,需要说明的是,控制器在将更新后的SR-TE路径调度组,即至少包括一条第一SR-TE路径和一条第二SR-TE路径的SR-TE路径调度组下发至头端节点之后,头端节点便可以在接收到需要调度的业务流(也可以理解为需要调度的流量)时,直接根据预设条件,如“所有至目的IP为server1-IP的报文”,从接收到的业务流中匹配出满足预设条件的业务第一业务流和第二业务流,并将满足预设条件的第一业务流引导至上述所说的第一SR-TE路径,将满足预设条件的第二业务流引导至上述所说的第二SR-TE路径,并维护第一业务流和第一SR-TE路径之间的映射关系,第二业务流和第二SR-TE路径之间的映射关系。
在本实施例中,头端节点维护的任意一条SR-TE路径与对应业务流之间的映射关系,遵循如下逻辑:
对于暂未生成映射关系的业务流,将被引导至SR-TE路径调度组中最高调度优先级的SR-TE路径,而对于已经生成映射关系的业务流,则将继续被引导至此前的SR-TE路径,即当前对应的SR-TE路径,该SR-TE路径的调度优先级可能是最高的,也可能是普通的。
基于这一逻辑,上述所说的第一业务流,具体为创建第二SR-TE路径前,已经引导到第一SR-TE路径的业务流,即已经生成映射关系的业务流;第二业务流,具体为创建第二SR-TE路径后,头端节点接收到的新的业务流,即暂未生成映射关系的业务流。
此外,值得一提的是,为了保证预先创建的SR-TE路径调度组能够适用于包括算力网络在内的多种使用场景,在得到SR-TE路径调度组之后,还可以定期确定当前的网络拓扑结构,然后根据当前的网络拓扑结构,维护SR-TE路径调度组。
关于确定网络拓扑结构的方式,可以是由控制器定期主动确定的,也可以是在网络拓扑结构发生变化时,被动接收到网络拓扑结构的变化信息,进而确定当前的网络拓扑结构,本实施例对此不做限制。
此外,在本实施例中,上述所说的维护SR-TE路径调度组,可以是更新SR-TE路径调度组中的某一条SR-TE路径的转发信息,也可以是删除某一条SR-TE路径。
本实施例中,在更新或删除SR-TE路径调度组中的SR-TE路径后,还需要根据实际情况,重新设置剩余SR-TE路径的调度优先级。
关于上述所说的对SR-TE路径调度组中的SR-TE路径进行更新的操作,在一个例子中,具体实现方式如下:
对于SR-TE路径调度组中的每一SR-TE路径,如果SR-TE路径上的所有服务节点提供的服务功能均未失效,则根据网络拓扑结构更新SR-TE路径对应的转发信息,以使头端节点根据SR-TE路径更新后的转发信息对业务流进行转发。
需要说明的是,由于对SR-TE路径的更新,仅仅是将新的服务功能的转发信息更新到了对应的服务节点,每个服务节点原本提供的服务功能依旧有效,因此通常情况下对SR-TE路径的更新不会改变该SR-TE路径的调度优先级。
相应地,关于上述所说的对SR-TE路径调度组中的SR-TE路径进行删除的操作,在一个例子中,具体实现方式如下:
对于SR-TE路径调度组中的每一SR-TE路径,如果该SR-TE路径上存在提供的服务功能失效的服务节点,则根据网络拓扑结构删除该SR-TE路径,并通知头端节点删除该SR-TE路径以及所述SR-TE路径与转发的业务流之间的映射关系。
此外,对于删除SR-TE路径的操作,为了保证删除SR-TE路径后的SR-TE路径调度组中始终有一条最高调度优先级的SR-TE路径。因此,在删除SR-TE路径时,需要先确定当前要删除的SR-TE路径对应的调度优先级是否为最高调度优先级。
相应地,如果当前要删除的SR-TE路径的调度优先级是最高调度优先级,则新建一条同样满足用户需求的SR-TE路径作为第二SR-TE路径,或者新建失败时从SR-TE路径调度组中选择合适的第三SR-TE路径作为第二SR-TE路径,并将第二SR-TE路径的调度优先级设置为最高调度优先级,然后再执行根据网络拓扑结构删除SR-TE路径的操作;如果当前要删 除的SR-TE路径的调度优先级不是最高调度优先级,则直接执行根据网络拓扑结构删除SR-TE路径的操作。
由此,通过监测SR-TE路径上服务节点提供的服务功能是否全部失效,进而对服务节点所在的SR-TE路径进行更新或删除,从而实现了对得到的SR-TE路径调度组的维护,使得SR-TE路径调度组中的SR-TE路径能够更好的提供服务。
通过上述描述可知,SR-TE路径和SR-TE路径调度组有多种具体形式,为了更好的理解本实施例提供的流量调度方法,以下分别以“SR-TE路径是一个SR-TE policy内的Candidate Path,SR-TE路径调度组是该SR-TE policy”和“SR-TE路径是一个SR-TE tunnel,SR-TE路径调度组是由多个SR-TE tunnel形成的组”为例,结合图2至图3进行具体说明:
方式一:SR-TE路径是一个SR-TE policy内的Candidate Path,SR-TE路径调度组是该SR-TE policy。
本实施例中,在draft-ietf-idr-segment-routing-te-policy-11中描述了控制器如何通过边界网关协议(Border Gateway Protocol,BGP)通道向网络侧头端节点下发SR-TE policy,一个SR-TE policy能包含多条Candidate Path,每条Candidate path内部可能包含多条Segment List形成负荷分担。通过BGP通告SR-TE policy时,实际上以Candidate path为单位,即SR Policy SAFI NLRI的键值<Distinguisher,Policy Color,Endpoint>实际上表示的是一条Candidate Path。<Policy Color,Endpoint>标识了一个SR-TE policy,Distinguisher则标识了该SR-TE policy内的某条Candidate Path。Candidate Path的属性在隧道封装属性(Tunnel Encaps Attribute)中携带。目前,SR-TE policy包括的多条Candidate Path中,优先级属性(由Preference Sub-TLV指定)表示的优先级最高的那条Candidate Path才能生效。显然,这种生效逻辑不符合本实施例的要求。
因此,本实施例将在Candidate Path的Preference Sub-TLV的Flags字段中,新增一个调度字段(可以用Scheduling Flag表示,该字段占1比特,记为S-Flag),作为一种开关标志表示Candidate Path是具有最高调度优先级,还是普通调度优先级。参见图2,当S-Flag设置为1时,则表明该Candidate Path在所属的SR-TE policy内具有最高调度优先级,设置为0,则表明为普通调度优先级。
关于控制器与头端节点设置与处理S-Flag的规则,具体如下:
控制器内部维护SR-TE路径调度组(此处为SR-TE policy),每当为SR-TE路径调度组内计算一条新的SR-TE路径(此处为Candidate Path)时,控制器设置该新的Candidate Path具有最高调度优先级,同时将SR-TE policy中已存在的其它Candiate Path设置为普通调度优先级。控制器将该新的Candidate Path单独下发到头端节点,其S-Flag设置为1,也可以将整个更新后的SR-TE路径调度组下发至头端节点。头端节点收到后,将该新的Candidate Path添加到本地保存的相应SR-TE policy实例中,在SR-TE policy实例中设置该新的Candidate Path的调度优先级为最高调度优先级,同时将SR-TE policy实例中已存在的其它Candiate Path的调度优先级设置为普通调度优先级。
关于更新SR-TE路径调度组中SR-TE路径的情况:控制器针对SR-TE路径调度组(此处为SR-TE policy)内的某条已存在的SR-TE路径(此处为Candidate Path)更新其转发信息时,不改变该Candidate Path的调度优先级,向头端节点下发该Candidate Path的更新时,其 S-Flag根据该Candidate Path的调度优先级而设置。头端节点收到后,更新本地保存的SR-TE policy中已有的Candidate path的转发信息。
本实施例中,由于头端节点不清楚控制器发送给它的更新是仅涉及转发信息的变化还是调度优先级的变化,因此头端节点也会根据收到的Candiate Path的S-Flag去设置组内各Candidate path的调度优先级。即,如果收到的Candidate Path的S-Flag为1,则该Candiate path被设置为具有最高调度优先级且组内所有其它Candidate Path被设置为具有普通的调度优先级,如果收到的Candidate Path的S-Flag为0,则该Candiate path被设置为具有普通调度优先级。
关于删除SR-TE路径调度组中SR-TE路径的情况:控制器删除SR-TE路径调度组(此处为SR-TE policy)内的某条已存在的SR-TE路径(此处为Candidate Path)时,分两种情况:
如果删除的不是具有最高优调度先级的Candiate Path,则不改变组内其它Candidate Path的调度优先级,该Candiate Path向头端节点下发删除时,其S-Flag设置为0。头端节点收到后,在本地保存的SR-TE policy中删除该Candidate path即可。
如果删除的是具有最高优调度先级的Candiate Path,该Candiate Path向头端节点下发删除时,其S-Flag可设置为1也可设置为0。头端节点收到后,在本地保存的SR-TE policy中删除该Candidate path即可。接下来,控制器应再次为组内计算新的Candidate Path(注:可能会复用组内已有的某条Candidate Path)并将它设置为具有最高调度优先级,该新的Candiate Path向头端节点下发时,其S-Flag设置为1。头端节点收到后,将该新的Candidate Path添加到本地保存的相应SR-TE policy中(注:可能会复用组内已有的某条Candidate Path),在SR-TE policy中设置该新的Candidate Path具有最高的调度优先级,同时将SR-TE policy中已存在的其它Candiate Path设置为普通调度优先级。
如前所述,除了采用开关标志去体现SR-TE路径的调度优先级以外,还有许多其它方式,本实施例对此不做限制,关于采用其他方式体现SR-TE路径的调度优先级的具体实现,与上述采用开关标志的类型,此处不再赘述。
方式二:SR-TE路径是一个SR-TE tunnel,SR-TE路径调度组是由多个SR-TE tunnel形成的组。
在RFC8664与draft-ietf-pce-segment-routing-ipv6-08描述了控制器如何通过路径计算单元通信协议(Path Computation Element Communication Protocol,PCEP)通道向头端节点下发SR-TE tunnel。RFC8697定义了关联对象(ASSOCIATION Object),可用于将多个SR-TE tunnel形成一个组,本实施例为ASSOCIATION Object新增一种关联类型(Association Type),称为“流调度组”(Flow Scheduling Group),关联ID(Association ID)字段中的值由控制器管理和设置,表示了SR-TE路径调度组的标识,IPv4 Association Source或IPv6 Association Source字段中的值为SR-TE tunnel的头端节点。当控制器通过PCEP向头端节点下发的多个SR-TE tunnel包含有相同的Association Source和Association ID时,表示这些SR-TE tunnel属于相同的SR-TE路径调度组。
另外,为了支持头端节点显式请求控制器在路径计算时根据网络中的资源变化为SR-TE路径调度组计算新的SR-TE路径,需要扩展PCEP的能力协商信息,在SR-PCE-CAPABILITY Sub-TLV或SRv6-PCE-CAPABILITY sub-TLV的Flags字段中,新增标志G-Flag。参见图3,如果G-Flag的值为1,则表明通告方路径计算单元(Path Computation Element,PCE)或路 径计算客户端(Path Computation Client,PCC)支持维护本实施例中提供的SR-TE路径调度组,并基于调度优先级从组中挑选路径进行流量调度。
以SR-PCE-CAPABILITY Sub-TLV为例,如图3所示。只有当PCC与PCE都在能力通告信息中设置G-Flag为1时,才表明所建立的PCEP会话支持本实施例提供的SR-TE路径调度组。
另外,在RFC8231定义了LSP Object,可用于标识SR-TE tunnel的键值和属性。在draft-ietf-pce-lsp-extended-flags-00为LSP Object定义了LSP-EXTENDED-FLAG TLV,用于设置更丰富的标志信息。本实施例在LSP-EXTENDED-FLAG TLV中新增G-Flag,用于PCC向PCE请求路径计算时,设置为1则要求PCE去根据网络中的资源变化为SR-TE路径调度组计算新的SR-TE路径,设置为0则无要求。
另外,新增Scheduling Flag,用于PCE向PCC下发路径时,设置为1则表明该SR-TE tunnel在所属的SR-TE路径调度组内具有最高的调度优先级,设置为0则表明为普通调度优先级,具体可以参见图4。
此外,值得一提的是,控制器与头端节点设置S-Flag的规则与前述SR-TE policy Candidate Path方式类似,此处不再赘述。
应当理解的是,上述示例仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
此外,关于上述出现的相关英文技术术语,在本领域中并未有具体的解释,在具体实现时,本领域技术人员可以查阅draft-ietf-idr-segment-routing-te-policy-11、draft-ietf-pce-lsp-extended-flags-00、RFC8664、draft-ietf-pce-segment-routing-ipv6-08等于分段路由相关的草案文件,本实施例对此不再赘述。
通过上述描述不难发现,本实施例提供的流量调度方法,控制器总是根据收集到的网络中各预设资源的使用率,识别出网络中某些服务节点上提供的服务功能(Service Function)负荷太重,进而检查SR-TE路径调度组中的最高调度优先级的SR-TE路径中是否包含了这些Service Funciton的服务节点,如果包括,则为该SR-TE路径调度组计算新的SR-TE路径,即上述所说的第二SR-TE路径,以使头端节点能够通过第二SR-TE路径服务于后续接收到的满足预设条件的新的业务流,即新的业务流总是被匹配到SR-TE路径调度组中最高调度优先级的SR-TE路径,而旧的业务流(上述所说的第一业务流)则依旧维持引导至原来的SR-TE路径,通过这种方式既保证了网络中资源利用的均衡,以及提供服务功能的服务节点的负载均衡,又能够根据实际需求进行SR-TE路径的选择,即实现动态的流量调度,进而更好的提升了服务质量。
参见图5,图5是本申请实施例提供的流量调度方法的流程图,在本实施例中,该方法主要应用于控制器。
如图5所示,本实施例涉及的流量调度方法,包括如下步骤:
步骤501,如果本地没有所述SR-TE路径调度组,创建至少一条从网络侧的所述头端节点至网络侧的目的节点的SR-TE路径。
本实施例中,关于SR-TE路径的创建,在一个例子中,可以由控制器根据用户需求和业务场景来创建。
此外,可理解的,创建SR-TE路径的操作,可以是控制器收到应有的触发而主动创建的,也可以是控制器收到头端节点的请求后创建的,本实施例对此不做限制。
步骤502,从至少一条所述SR-TE路径中选取一条作为所述第一SR-TE路径,并将所述第一SR-TE路径的调度优先级设置为最高调度优先级,将剩余的所述SR-TE路径的调度优先级设置为普通调度优先级。
可理解的,如果创建的SR-TE路径只有一条,那么这条SR-TE路径即为第一SR-TE路径,其调度优先级即为最高调度优先级。
如果有多条SR-TE路径,则可以根据实际情况,如每条SR-TE路径上服务节点当前的负载状态来动态选择一条最优的SR-TE路径作为第一SR-TE路径,并为确定的第一SR-TE路径设置最高的调度优先级,为SR-TE路径调度组中剩余的其他SR-TE路径设置普通调度优先级。
步骤503,根据设置好所述调度优先级的所述第一SR-TE路径和剩余的所述SR-TE路径,生成所述SR-TE路径调度组。
本实施例中,本实施例中所说的SR-TE路径调度组,是指管理了能够应用于同一个用户需求和业务场景的SR-TE路径的组,即同一个SR-TE路径调度组中的任意一条SR-TE路径都是针对同一个用户需求和业务场景的。
步骤504,将所述SR-TE路径调度组下发至所述头端节点。
关于下头端节点下发SR-TE路径调度组的方式,与图1对应的方法实施例中的步骤104大致相同,此处不再赘述。
步骤505,获取网络中预设资源的使用率。
步骤506,根据所述使用率,确定预先创建的分段路由流量工程SR-TE路径调度组中调度优先级最高的第一SR-TE路径上每一服务节点的负载状态。
步骤507,如果根据每一所述服务节点的所述负载状态,确定所述第一SR-TE路径上存在超负载的所述服务节点,根据所述第一SR-TE路径确定第二SR-TE路径,并将所述第二SR-TE路径的调度优先级设置为最高调度优先级,将所述第一SR-TE路径的调度优先级设置为普通调度优先级,得到更新后的所述SR-TE路径调度组。
步骤508,将更新后的所述SR-TE路径调度组下发至网络侧的头端节点。
不难发现,本实施例中的步骤505至步骤508与图1对应的方法实施例中的步骤101至步骤104大致相同,在此就不再赘述。
由此,本实施例提供的流量调度方法,保证既保证了首次采用本实施提供的流量调度方法的控制器能够为头端节点提供可用的SR-TE路径,又保证了流量调度的过程中,能够根据动态变化的网络资源和服务节点的负载情况,动态调整SR-TE路径调度组中SR-TE路径的数量,以及每一SR-TE路径对应的调度优先级,使得头端节点能够基于动态变化的SR-TE路径调度组中的SR-TE路径,更好的提供服务。
参见图6,图是本申请实施例提供的流量调度方法的流程图,在本实施例中,该方法主要应用于头端节点。
可理解的,在实际应用中,基于本实施例提供的流量调度方法的头端节点需要与上述控制器相互配合,实现流量调度。故而,上述应用于控制器的流量调度方法实施例中记载的相关技术细节,在本实施例中同样可以适用。
如图6所示,本实施例涉及的流量调度方法,包括如下步骤:
步骤601,接收控制器下发的分段路由流量工程SR-TE路径调度组。
本实施例中,SR-TE路径调度组至少包括一条调度优先级为最高调度优先级的SR-TE路径。
步骤602,在接收到需要调度的业务流时,匹配出满足预设条件的业务流。
步骤603,将匹配出的业务流引导至调度优先级为最高调度优先级的SR-TE路径,并维护业务流和SR-TE路径之间的映射关系。
为了便于理解,以下结合实例进行说明:
假设预设条件为“所有至目的IP为server1-IP的报文”,则预先在头端节点对应的用户侧接口中配置能够匹配满足上述预设条件的报文的使能策略路由,从而在用户侧接口接收用户报文时,基于配置的使能策略路由,对接收到的用户报文进行匹配,如匹配用户报文的五元组,以匹配出满足预设条件的用户报文。
如果匹配出的业务流有10条,如flow1至flow10,那么头端节点会将这10条业务流都引导到最高调度优先级的SR-TE路径,并分别建立flow1至flow10与最高调度优先级的SR-TE路径之间的映射关系,同时在转发这些业务流的过程中进行监测,并根据监测结果对这些映射关系进行维护,如更新或删除。
关于头端节点对业务流和SR-TE路径之间的映射关系进行的维护操作,具体为:
建立业务流与SR-TE路径之间的映射关系,并统计SR-TE路径对应的业务流的流量计数值;
如果在预设时间内,流量计数值未发生变化,则删除业务流与SR-TE路径之间的映射关系。
此外,在另一个例子中,如果头端节点从所述控制器收到了所述SR-TE路径的删除通知,则删除所述业务流与所述SR-TE路径之间的映射关系。
本实施例中,如果在删除某一业务流与SR-TE路径之间的映射关系之后,重新接收到该业务流,则将所述业务流引导至所述SR-TE路径调度组中调度优先级为最高调度优先级的SR-TE路径,并维护所述业务流与所述SR-TE路径调度组中调度优先级为最高调度优先级的SR-TE路径之间的映射关系。
此外,如果被删除的SR-TE路径是SR-TE路径调度组内最优的,即最高调度优先级的SR-TE路径,则头端节点还会从控制器接收到SR-TE路径调度组的更新,其中包含新的SR-TE路径且具有最高调度优先级,或复用某条旧的SR-TE路径且具有最高调度优先级。
此外,在另一个例子中,如果头端节点接收到了控制器下发的对某条SR-TE路径的更新信息,则根据更新信息对该SR-TE路径进行更新。
由此,本实施例提供的流量调度方法,头端节点在使用控制器根据动态变化的网络资源和服务节点的负载情况生成的SR-TE路径进行流量调度时,通过主动监测流量调度过程中,对某一SR-TE路径的使用情况,以及接收控制器下发的针对某一SR-TE路径的更新信息,动态维护业务流与SR-TE路径之间的映射关系,从而能够根据实际需求进行SR-TE路径的选择,即实现动态的流量调度,进而更好的提升了服务质量。
参见图7,图是本申请实施例提供的流量调度方法的流程图,在本实施例中,该方法主要应用于头端节点。
如图7所示,本实施例涉及的流量调度方法,包括如下步骤:
步骤701,接收控制器下发的分段路由流量工程SR-TE路径调度组。
本实施例中,SR-TE路径调度组至少包括一条调度优先级为最高调度优先级的SR-TE路径。
步骤702,在接收到需要调度的业务流时,匹配出满足预设条件的业务流。
不难发现,本实施例中的步骤701和步骤701与图6对应的方法实施例中的步骤601和步骤601大致相同,在此就不再赘述。
步骤703,确定所述SR-TE路径调度组中是否仅包括一条调度优先级为最高调度优先级的SR-TE路径。
具体的说,如果是,则执行步骤704,否则执行步骤705。
此外,在一个例子中,关于确定SR-TE路径调度组中是否仅包括一条调度优先级为最高调度优先级的SR-TE路径的方式,可以通过确定SR-TE路径调度组中SR-TE路径的数量来确定。即在SR-TE路径调度组中包括的SR-TE路径的数量为1时,那么SR-TE路径调度组中仅包括一条最高调度优先级的SR-TE路径,如果SR-TE路径的数量大于1,则说明SR-TE路径调度组中除了包括一条最高调度优先级的SR-TE路径,还包括了普通调度优先级的SR-TE路径。
步骤704,将匹配出的业务流引导至调度优先级为最高调度优先级的SR-TE路径,并维护业务流和SR-TE路径之间的映射关系。
不难发现,本实施例中的步骤704与图6对应的方法实施例中的步骤603大致相同,在此就不再赘述。
步骤705,根据匹配出的满足预设条件的业务流的特征信息和SR-TE路径调度组中每一SR-TE路径对应的调度优先级,将满足预设条件的业务流引导至匹配的SR-TE路径。
本实施例中,在SR-TE路径调度组中存在至少两条SR-TE路径(一条最高调度优先级的,一条普通调度优先级的)时,上述步骤705所说的操作,具体为:
首先,根据匹配出的满足预设条件的业务流的特征信息和SR-TE路径调度组中每一SR-TE路径对应的调度优先级,从满足预设条件的业务流中筛选出确定SR-TE路径调度组中当前时刻调度优先级为最高调度优先级的SR-TE路径后接收到的新的业务流。
然后,将新的业务流引导至当前时刻调度优先级为最高调度优先级的SR-TE路径,将剩余的业务流按照此前维护的业务流和所述SR-TE路径之间的映射关系引导至相应的的SR-TE路径。
比如,如前所述头端节点已经为flow1至flow10创建了相应的映射关系表项,当头端节点从用户侧接口继续接收到flow1~flow10时,基于映射关系的逻辑会将它们引导到第一SR-TE路径进行转发,即使此时SR-TE路径调度组中调度优先级最高的是第二SR-TE路径。假设在此之后,头端节点从用户侧接口继续收到了新的多条满足上述预设条件的业务流,如flow11至flow20,那么头端节点会将flow11至flow20引导至第二SR-TE路径,并为这些flow生成相应的引导到具体SR-TE路径的映射关系。
由此,本实施例提供的流量调度方法,头端节点通过为接收到的满足预设条件的每一业务流建立与对应SR-TE路径之间的映射关系,并动态维护,通过基于控制器为每一SR-TE路径设置的调度优先级,实现了将旧的业务流引导至已经存在映射关系的SR-TE路径,将新的 业务流引导至最高调度优先级的SR-TE路径,从而根据实际需求,实现了对SR-TE路径调度组中每条SR-TE路径的合理选择,使得流量的调度更加合理,进一步提升了服务质量。
此外,应当理解的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
参见图8,图是本申请实施例提供的流量调度***的结构示意图,在本实施例中,该流量调度***包括控制器801和头端节点802。
其中,控制器801用于获取网络中预设资源的使用率,并根据使用率,确定预先创建的分段路由流量工程SR-TE路径调度组中调度优先级最高的第一SR-TE路径上每一服务节点的负载状态。
相应地,如果根据每一服务节点的负载状态,控制器801还用于确定第一SR-TE路径上存在超负载的服务节点,根据第一SR-TE路径确定第二SR-TE路径,并将第二SR-TE路径的调度优先级设置为最高调度优先级,将第一SR-TE路径的调度优先级设置为普通调度优先级,得到更新后的SR-TE路径调度组,并将更新后的SR-TE路径调度组下发至头端节点。
头端节点802则用于在接收到需要调度的业务流时,将满足预设条件的第一业务流引导到第一SR-TE路径,将满足预设条件的第二业务流引导到第二SR-TE路径,并维护第一业务流和第一SR-TE路径,第二业务流和第二SR-TE路径之间的映射关系。
需要说明的是,在本实施例中第一业务流为创建第二SR-TE路径前,已经引导到第一SR-TE路径的业务流,第二业务流为创建第二SR-TE路径后,头端节点接收到的新的业务流。
为了更好的理解控制器和头端节点在进行流量调度过程中的配合,本实施例结合图9进行具体说明:
如图9所示的网络中,CE1的host(主机)需要向远端CE2侧的server(服务器)发送业务流量,根据业务需求,控制器需要在承载网络中计算一条从头端节点PE1至目的节点PE2的SR-TE policy,且相应的Segmeng List中需要包含有序的Service Function 1、Service Function 2、Service Function 3等三种服务功能,为报文做相应的服务功能处理。
假设控制器已经通过某种机制收集到了网络中所有节点上提供的(或代理提供的)Service Function信息,并且还持续的通过某种机制感知到这些Service Function的利用率的变化信息。在实施例中,节点SF1与节点SF11均提供Service Function 1,相应的Service SID分别为SID-SF1和SID-SF11;节点SF2与节点SF22均提供Service Function 2,相应的Service SID分别为SID-SF2和SID-SF22;节点SF3与节点SF33均提供Service Function 3,相应的Service SID分别为SID-SF3和SID-SF33。
另外,假设PE2的END类型的SRv6 SID为SID1-PE2,为CE2客户分配的END.DX6类型的SRv6 VPN SID为SID100-PE2。
针对此用户需求,假设控制器创建的SR-TE policy实例为<Headend=PE1,Color=1000,Endpoint=PE2>,根据网络中各Service Funtion的空闲情况,初始计算得到的Candidate Path为图9中的SR-TE path-1,相应的SID List为{SID-SF1,SID-SF2,SID-SF3,SID1-PE2}。控制器内部维护的数据如下:
SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>
Candidate Path Name:SR-TE path-1
调度优先级:最高
SID List:{SID-SF1,SID-SF2,SID-SF3,SID1-PE2}
控制器通过BGP将上述Candidate Path下发到头端节点PE1,Preference Sub-TLV中的S-Flag设置为1。
头端节点PE1接收到控制器下发的关于SR-TE路径调度组的信息后,在内部做类似控制器的操作,来维护以下数据:
SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>
Candidate Path Name:SR-TE path-1
调度优先级:最高
SID List:{SID-SF1,SID-SF2,SID-SF3,SID1-PE2}
头端节点PE1在连接CE1的链路上配置访问控制列表(Access Control List,ACL),并将满足预设条件的业务流引导到上述SR-TE policy上。本实施例中,假设匹配条件为“所有至目的IP为server1-ip的报文”,其中server1-ip为CE2侧的某个server1的IP地址。假设头端节点PE1采用<源IP,目的IP>两元组来维护业务流与SR-TE路径之间映射关系的映射关系表项。此时,假设PE1从CE1侧收到了以下3条流量:
<源IP=host1-ip,目的IP=server1-ip>
<源IP=host2-ip,目的IP=server1-ip>
<源IP=host3-ip,目的IP=server1-ip>
其中,host1-ip、host2-ip、host3-ip是CE1侧的不同host,它们均访问CE2侧的server1。则PE1将这些流量引导到上述SR-TE policy,并从SR-TE policy中挑选具有最高调度优先级的Candidate Path应用于这些流。此时,PE1维护的业务流映射关系表项如下:
<源IP=host1-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-1。
<源IP=host2-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-1。
<源IP=host3-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-1。
基于此,这些业务流将封装SRv6 SID List{SID-SF1,SID-SF2,SID-SF3,SID1-PE2,SID100-PE2}在网络中传输,沿途经历SF1,SF2,SF3施加相应的服务功能。
应当注意的是,在具体实现时,基于IPv6扩展的SR解决方案的虚拟专用网络的SID(SRv6 VPN SID)需要插在SID List的尾部。
当业务流量在网络中传输后,若控制器感知到网络中SF1、SF2、SF3中的一个或多个节点上提供的相应Server Function利用率太高,而网络中实际上还具有提供同样Server Function的其它节点,则控制器开始为上述SR-TE policy计算新的Candidate Path,用于新的业务流。本实施例中,假设计算得到的新的Candidate Path为图9中的SR-TE path-2,相应的SID List为{SID-SF11,SID-SF22,SID-SF33,SID1-PE2}。控制器内部维护的数据变为如下:
SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>
Candidate Path Name:SR-TE path-1
调度优先级:普通
SID Lis:{SID-SF1,SID-SF2,SID-SF3,SID1-PE2}
Candidate Path Name:SR-TE path-2
调度优先级:最高
SID List:{SID-SF11,SID-SF22,SID-SF33,SID1-PE2}
此外,值得注意的是,控制器在将新的Candidate Path的调度优先级设置为最高的同时,也需要将其它Candidate path的调度优先级降为普通。
相应地,控制器通过BGP将上述Candidate Path下发到头端节点PE1,Preference Sub-TLV中的S-Flag设置为1。
头端节点PE1接收到控制器下发的关于SR-TE路径调度组的信息后,在内部做类似控制器的操作,来维护以下数据:
SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>
Candidate Path Name:SR-TE path-1
调度优先级:普通
SID List:{SID-SF1,SID-SF2,SID-SF3,SID1-PE2}
Candidate Path Name:SR-TE path-2
调度优先级:最高
SID List:{SID-SF11,SID-SF22,SID-SF33,SID1-PE2}
此外,值得注意的是,头端节点PE1发现新的Candidate Path的调度优先级为最高,则自动将其它Candidate path的调度优先级降为普通。
假设在此之后,头端节点PE1又从CE1侧收到了以下3条流量:
<源IP=host4-ip,目的IP=server1-ip>
<源IP=host5-ip,目的IP=server1-ip>
<源IP=host6-ip,目的IP=server1-ip>
其中,host4-ip、host5-ip、host6-ip是CE1侧的不同host,它们均访问CE2侧的server1。则PE1将这些流量也引导到上述SR-TE policy,并从SR-TE policy中挑选具有最高调度优先级的Candidate Path应用于这些流。此时,PE1维护的业务流映射关系表项变为如下:
<源IP=host1-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-1。
<源IP=host2-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:R-TE path-1。
<源IP=host3-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-1。
<源IP=host4-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-2。
<源IP=host5-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-2。
<源IP=host6-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-2。
基于此,这些新的业务流将封装SRv6 SID List{SID-SF11,SID-SF22,SID-SF33,SID1-PE2,ID100-PE2}在网络中传输,沿途经历SF11,SF22,SF33施加相应的服务功能。而旧的业务流仍将封装SRv6 SID List{SID-SF1,SID-SF2,SID-SF3,SID1-PE2,SID100-PE2}在网络中传输,沿途经历SF1,SF2,SF3施加相应的服务功能,从而使得网络中各节点上资源的利用率更均衡。
此外,在另一个例子中,头端节点PE1上创建了上述业务流的映射关系表项以后,开始统计这些业务流的报文计数,假设在一定时间内,不再从CE1侧收到<源IP=host1-ip,目的IP=server1-ip>对应的业务流,则PE1可以老化并删除相应的业务流映射关系表项,以缩减表项规模。即,PE1维护的业务流映射表项变为:
<源IP=host2-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-1。
<源IP=host3-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-1。
<源IP=host4-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-2。
<源IP=host5-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-2。
<源IP=host6-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-2。
本实施例中,如果在此之后,头端节点PE1忽然又从CE1侧收到了<源IP=host1-ip,目的IP=server1-ip>对应的业务流,则重新为该业务流创建相应的映射关系表项,引导到上述SR-TE policy,且从SR-TE policy中挑选调度优先级最高的Candidate path,即SR-TE path-2。因此PE1维护的业务流映射表项变为:
<源IP=host1-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-2。
<源IP=host2-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-1。
<源IP=host3-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-1。
<源IP=host4-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-2。
<源IP=host5-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-2。
<源IP=host6-ip,目的IP=server1-ip>映射到SR-TE policy<Headend=PE1,Color=1000,Endpoint=PE2>的Candidate Path:SR-TE path-2。
应当理解的是,上述示例仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
由此,本实施例提供的流量调度***,控制器总是根据收集到的网络中各预设资源的使用率,识别出网络中某些服务节点上提供的服务功能(Service Function)负荷太重,进而检 查SR-TE路径调度组中的最高调度优先级的SR-TE路径中是否包含了这些Service Funciton的服务节点,如果包括,则为该SR-TE路径调度组计算新的SR-TE路径,即上述所说的第二SR-TE路径,以使头端节点能够通过第二SR-TE路径服务于后续接收到的满足预设条件的新的业务流,即新的业务流总是被匹配到SR-TE路径调度组中最高调度优先级的SR-TE路径,而旧的业务流(上述所说的第一业务流)则依旧维持引导至原来的SR-TE路径,通过这种方式既保证了网络中资源的均衡,以及提供服务功能的服务节点的负载均衡,又能够根据实际需求进行SR-TE路径的选择,即实现动态的流量调度,进而更好的提升了服务质量。
需要说明的是,本申请虽然以SR-TE路径来描述流量调度方法,实际上,所有与SR-TE类似的源路由(Source Routing)表示的路径,都适用于本申请所述的方法。
本申请的实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例所描述的应用于控制器的流量调度方法,或者应用于头端节点的流量调度方法。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (16)
- 一种流量调度方法,应用于控制器,所述流量调度方法包括:获取网络中预设资源的使用率;根据所述使用率,确定预先创建的分段路由流量工程SR-TE路径调度组中调度优先级最高的第一SR-TE路径上每一服务节点的负载状态;如果根据每一所述服务节点的所述负载状态,确定所述第一SR-TE路径上存在超负载的所述服务节点,根据所述第一SR-TE路径确定第二SR-TE路径,并将所述第二SR-TE路径的调度优先级设置为最高调度优先级,将所述第一SR-TE路径的调度优先级设置为普通调度优先级,得到更新后的所述SR-TE路径调度组;将更新后的所述SR-TE路径调度组下发至网络侧的头端节点,以使所述头端节点在接收到需要调度的业务流时,将满足预设条件的第一业务流引导到所述第一SR-TE路径,将满足预设条件的第二业务流引导到所述第二SR-TE路径,并维护所述第一业务流和所述第一SR-TE路径,所述第二业务流和所述第二SR-TE路径之间的映射关系;其中,所述第一业务流为创建所述第二SR-TE路径前,已经引导到所述第一SR-TE路径的业务流,所述第二业务流为创建所述第二SR-TE路径后,所述头端节点接收到的新的业务流。
- 根据权利要求1所述的流量调度方法,其中,在所述获取网络中预设资源的使用率之前,所述方法还包括:如果本地没有所述SR-TE路径调度组,创建至少一条从网络侧的所述头端节点至网络侧的目的节点的SR-TE路径;从至少一条所述SR-TE路径中选取一条作为所述第一SR-TE路径,并将所述第一SR-TE路径的调度优先级设置为最高调度优先级,将剩余的所述SR-TE路径的调度优先级设置为普通调度优先级;根据设置好所述调度优先级的所述第一SR-TE路径和剩余的所述SR-TE路径,生成所述SR-TE路径调度组;将所述SR-TE路径调度组下发至所述头端节点,以使所述头端节点在接收到需要调度的业务流时,将满足预设条件的第一业务流引导到所述第一SR-TE路径,并维护所述第一业务流和所述第一SR-TE路径之间的映射关系。
- 根据权利要求1或2所述的流量调度方法,其中,所述将所述SR-TE路径调度组下发至所述头端节点,包括:对所述SR-TE路径调度组进行遍历,将遍历到的所述SR-TE路径下发至所述头端节点;或者,按照预设格式对所述SRR-TE路径调度组进行封装,将封装后的所述SR-TE路径调度组下发至所述头端节点。
- 根据权利要求3所述的流量调度方法,其中,在所述SR-TE路径调度组下发至所述头端节点之前,所述方法还包括:为所述SR-TE路径调度组中的每一个所述SR-TE路径分配相同的路径调度组标识,以使所述头端节点根据所述路径调度组标识,对接收到的所述SR-TE路径进行管理。
- 根据权利要求1至4中任一项所述的流量调度方法,其中,在得到所述SR-TE路径调度组之后,所述方法还包括:确定当前的网络拓扑结构;根据所述网络拓扑结构,维护所述SR-TE路径调度组。
- 根据权利要求5所述的流量调度方法,其中,所述根据所述网络拓扑结构,维护所述SR-TE路径调度组,包括:对于所述SR-TE路径调度组中的每一所述SR-TE路径,如果所述SR-TE路径上的所有服务节点提供的服务功能均未失效,根据所述网络拓扑结构更新所述SR-TE路径对应的转发信息,以使所述头端节点根据所述SR-TE路径更新后的所述转发信息对业务流进行转发。
- 根据权利要求5所述的流量调度方法,其中,所述根据所述网络拓扑结构,维护所述SR-TE路径调度组,包括:对于所述SR-TE路径调度组中的每一所述SR-TE路径,如果所述SR-TE路径上存在提供的服务功能失效的服务节点,根据所述网络拓扑结构删除所述SR-TE路径,并通知所述头端节点删除所述SR-TE路径以及所述SR-TE路径与转发的业务流之间的映射关系。
- 根据权利要求7所述的流量调度方法,其中,在所述根据所述网络拓扑结构删除所述SR-TE路径之前,所述方法还包括:确定所述SR-TE路径对应的调度优先级是否为最高调度优先级;如果是,则根据所述SR-TE路径确定第二SR-TE路径,将所述第二SR-TE路径的调度优先级设置为最高调度优先级,并执行所述根据所述网络拓扑结构删除所述SR-TE路径的步骤;如果不是,则直接执行所述根据所述网络拓扑结构删除所述SR-TE路径的步骤。
- 根据权利要求1至8中任一项所述的流量调度方法,其中,所述根据所述第一SR-TE路径确定第二SR-TE路径,包括:获取所述第一SR-TE路径对应的用户需求;根据所述用户需求新建一条从所述头端节点至所述目的节点的SR-TE路径作为所述第二SR-TE路径;或者,从所述SR-TE路径调度组中挑选一条已有的SR-TE路径作为所述第二S-TE路径。
- 一种流量调度方法,应用于头端节点,所述流量调度方法包括:接收控制器下发的分段路由流量工程SR-TE路径调度组,所述SR-TE路径调度组至少包括一条调度优先级为最高调度优先级的SR-TE路径;在接收到需要调度的业务流时,匹配出满足预设条件的所述业务流;如果所述SR-TE路径调度组中仅包括一条调度优先级为最高调度优先级的SR-TE路径,将匹配出的所述业务流引导至调度优先级为最高调度优先级的所述SR-TE路径,并维护所述业务流和所述SR-TE路径之间的映射关系;否则,根据匹配出的满足预设条件的所述业务流的特征信息和所述SR-TE路径调度组中每一所述SR-TE路径对应的调度优先级,将满足预设条件的所述业务流引导至匹配的所述SR-TE路径。
- 根据权利要求10所述的流量调度方法,其中,所述根据匹配出的满足预设条件的所述业务流的特征信息和所述SR-TE路径调度组中每一所述SR-TE路径对应的调度优先级,将满足预设条件的所述业务流引导至匹配的所述SR-TE路径,包括:根据匹配出的满足预设条件的所述业务流的特征信息和所述SR-TE路径调度组中每一所述SR-TE路径对应的调度优先级,从满足预设条件的所述业务流中筛选出确定所述SR-TE路径调度组中当前时刻调度优先级为最高调度优先级的SR-TE路径后接收到的新的业务流;将新的所述业务流引导至当前时刻调度优先级为最高调度优先级的SR-TE路径,将剩余的所述业务流按照此前维护的业务流和所述SR-TE路径之间的映射关系引导至相应的SR-TE路径。
- 根据权利要求10或11所述的流量调度方法,其中,所述维护所述业务流和所述SR-TE路径之间的映射关系,包括:建立所述业务流与所述SR-TE路径之间的映射关系,并统计所述SR-TE路径对应的所述业务流的流量计数值;如果在预设时间内,所述流量变数值未发生变化,则删除所述业务流与所述SR-TE路径之间的映射关系。
- 根据权利要求10至12中任一项所述的流量调度方法,其中,所述维护所述业务流和所述SR-TE路径之间的映射关系,包括:如果从所述控制器收到了所述SR-TE路径的删除通知,则删除所述业务流与所述SR-TE路径之间的映射关系。
- 根据权利要求12或13所述的流量调度方法,其中,在所述删除所述业务流和所述SR-TE路径之间的映射关系之后,所述方法还包括:如果重新接收到所述业务流,则将所述业务流引导至所述SR-TE路径调度组中调度优先级为最高调度优先级的SR-TE路径,并维护所述业务流与所述SR-TE路径调度组中调度优先级为最高调度优先级的SR-TE路径之间的映射关系。
- 一种流量调度***,包括:控制器和头端节点;所述控制器获取网络中预设资源的使用率;所述控制器根据所述使用率,确定预先创建的分段路由流量工程SR-TE路径调度组中调度优先级最高的第一SR-TE路径上每一服务节点的负载状态;如果根据每一所述服务节点的所述负载状态,所述控制器确定所述第一SR-TE路径上存在超负载的所述服务节点,根据所述第一SR-TE路径确定第二SR-TE路径,并将所述第二SR-TE路径的调度优先级设置为最高调度优先级,将所述第一SR-TE路径的调度优先级设置为普通调度优先级,得到更新后的所述SR-TE路径调度组;所述控制器将更新后的所述SR-TE路径调度组下发至所述头端节点;所述头端节点在接收到需要调度的业务流时,将满足预设条件的第一业务流引导到所述第一SR-TE路径,将满足预设条件的第二业务流引导到所述第二SR-TE路径,并维护所述第一业务流和所述第一SR-TE路径,所述第二业务流和所述第二SR-TE路径之间的映射关系;其中,所述第一业务流为创建所述第二SR-TE路径前,已经引导到所述第一SR-TE路径的业务流,所述第二业务流为创建所述第二SR-TE路径后,所述头端节点接收到的新的业务流。
- 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的流量调度方法,或者实现权利要求10至14中任一项所述的流量调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/275,319 US20240129246A1 (en) | 2021-05-06 | 2022-04-15 | Traffic scheduling method and system, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110492208.X | 2021-05-06 | ||
CN202110492208.XA CN115314440A (zh) | 2021-05-06 | 2021-05-06 | 流量调度方法、***及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022233227A1 true WO2022233227A1 (zh) | 2022-11-10 |
Family
ID=83853152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/087240 WO2022233227A1 (zh) | 2021-05-06 | 2022-04-15 | 流量调度方法、***及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240129246A1 (zh) |
CN (1) | CN115314440A (zh) |
WO (1) | WO2022233227A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110944357A (zh) * | 2018-09-25 | 2020-03-31 | 中兴通讯股份有限公司 | 一种网络切片的方法及装置 |
US20200322264A1 (en) * | 2019-04-04 | 2020-10-08 | Cisco Technology, Inc. | Systems and methods for steering traffic into sr-te policies |
CN112291147A (zh) * | 2020-10-15 | 2021-01-29 | 北京直真科技股份有限公司 | 一种5g业务动态智能sr隧道应用方法 |
CN112422427A (zh) * | 2020-10-28 | 2021-02-26 | 中盈优创资讯科技有限公司 | 基于分段路由的流量工程实现方法、装置及控制器 |
CN112422430A (zh) * | 2020-11-27 | 2021-02-26 | 迈普通信技术股份有限公司 | QoS队列调度方法、装置、电子设备及存储介质 |
-
2021
- 2021-05-06 CN CN202110492208.XA patent/CN115314440A/zh active Pending
-
2022
- 2022-04-15 WO PCT/CN2022/087240 patent/WO2022233227A1/zh active Application Filing
- 2022-04-15 US US18/275,319 patent/US20240129246A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110944357A (zh) * | 2018-09-25 | 2020-03-31 | 中兴通讯股份有限公司 | 一种网络切片的方法及装置 |
US20200322264A1 (en) * | 2019-04-04 | 2020-10-08 | Cisco Technology, Inc. | Systems and methods for steering traffic into sr-te policies |
CN112291147A (zh) * | 2020-10-15 | 2021-01-29 | 北京直真科技股份有限公司 | 一种5g业务动态智能sr隧道应用方法 |
CN112422427A (zh) * | 2020-10-28 | 2021-02-26 | 中盈优创资讯科技有限公司 | 基于分段路由的流量工程实现方法、装置及控制器 |
CN112422430A (zh) * | 2020-11-27 | 2021-02-26 | 迈普通信技术股份有限公司 | QoS队列调度方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115314440A (zh) | 2022-11-08 |
US20240129246A1 (en) | 2024-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7290732B2 (ja) | データ転送方法及び関連する装置 | |
US7852840B2 (en) | Method and device for creating a tunnel in a label-switched telecommunication network | |
US7636781B2 (en) | System and method for realizing the resource distribution in the communication network | |
JP4476292B2 (ja) | リアルタイムサービスデータ伝送路の選択方法 | |
US7756056B2 (en) | Apparatus and method for managing quality of service in integrated network of heterogeneous mobile network | |
US7701940B2 (en) | Inter-domain point-to-multipoint path computation in a computer network | |
JP4213972B2 (ja) | ネットワークのパス構成のための方法および装置 | |
JP4696131B2 (ja) | サービスバインディングを用いアクセスドメイン上でユニキャストメッセージを介してデータトラフィックを集合する方法およびノード | |
US20040006613A1 (en) | Quality of service (QoS) mechanism in an internet protocol (IP) network | |
US20090028141A1 (en) | Method and device for controlling admission to a guaranteed quality of service in a mpls network | |
WO2014075310A1 (zh) | 分组交换资源分配方法及设备 | |
CN114884873A (zh) | 一种转发路径的确定方法及装置 | |
US20070086340A1 (en) | Method and system for transporting service flow securely in an IP network | |
WO2012007858A1 (en) | Sharing resource reservations among different sessions in rsvp-te | |
WO2015101066A1 (zh) | 建立服务质量预留的方法及节点 | |
Sun | QoS/Policy/Constraint Based Routing | |
WO2014183657A1 (zh) | 一种确定下一跳、发布路由信息的方法和装置 | |
WO2022233227A1 (zh) | 流量调度方法、***及存储介质 | |
WO2006058497A1 (fr) | Procede de distribution de ressources de reseau support | |
US7643492B2 (en) | Network bandwidth reservation method | |
WO2024139547A1 (zh) | 寻路方法、报文传输方法、设备及介质 | |
WO2024140374A1 (zh) | 信息处理方法、设备和存储介质 | |
WO2023279818A1 (zh) | 确定性流的转发方法及装置、存储介质及电子装置 | |
KR100411249B1 (ko) | 다중프로토콜 레이블스위칭 망에서 경계 게이트웨이프로토콜 테이블 정보를 이용한 레이블 할당방법 | |
JP4336324B2 (ja) | 通信方法、プロバイダエッジ装置およびカスタマエッジ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22798568 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 18275319 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 25/03/2024) |