CN116962287A - Method, device, electronic equipment and storage medium for scheduling service traffic - Google Patents

Method, device, electronic equipment and storage medium for scheduling service traffic Download PDF

Info

Publication number
CN116962287A
CN116962287A CN202210418741.6A CN202210418741A CN116962287A CN 116962287 A CN116962287 A CN 116962287A CN 202210418741 A CN202210418741 A CN 202210418741A CN 116962287 A CN116962287 A CN 116962287A
Authority
CN
China
Prior art keywords
vrf
group
tunnel
priority
traffic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210418741.6A
Other languages
Chinese (zh)
Inventor
刘国旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210418741.6A priority Critical patent/CN116962287A/en
Publication of CN116962287A publication Critical patent/CN116962287A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/308Route determination based on user's profile, e.g. premium users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a method, a device, equipment and a storage medium for scheduling service traffic, and relates to the technical field of cloud networks. According to the method for dispatching the service flow, a controller loads the service flow into tunnels in the VRF group corresponding to the priority of the service flow in an equivalent multipath routing (ECMP) mode by configuring at least two Virtual Routing Forwarding (VRF) groups with different priorities on a first device and sending a policy routing (PBR) to the first device, namely, ECMP dispatching is carried out on the tunnels in the VRF group corresponding to the priority of the service flow, so that dispatching of the service flow with different priorities is realized, and then transmission requirements of the service flow with different priorities can be met.

Description

Method, device, electronic equipment and storage medium for scheduling service traffic
Technical Field
The present application relates to the field of cloud network technologies, and in particular, to a method, an apparatus, an electronic device, and a storage medium for service traffic scheduling.
Background
In the field of cloud network technology, cloud vendors typically use tunnels (tunnels) to isolate network resources of users. Tunneling is an encapsulation technique that uses one network protocol to transport another, i.e., uses one network transport protocol to encapsulate data packets generated by the other protocol in packets of the network transport protocol and then transport the packets in the network.
Typically, a cloud vendor creates multiple tunnels on a device (gateway or router), each tunnel floor may be carried on the same physical link or different physical links. However, in a real service scenario, the network quality of tunnels carried by different physical links may be different, for example, when the physical links are abnormal, the tunnels may not be interrupted, but the network quality is poor, at this time, all the service traffic may still be loaded into each tunnel, so that the transmission delay or the packet loss rate of different service traffic are different, and the transmission requirements of different service traffic cannot be met.
Disclosure of Invention
The embodiment of the application provides a method, a device, equipment and a storage medium for scheduling service flow, which can meet the transmission requirements of different service flows.
In a first aspect, an embodiment of the present application provides a method for traffic scheduling, where the method is applied to a controller, and includes:
determining a first priority of the traffic flow;
determining at least two Virtual Route Forwarding (VRF) groups of different priorities of a first device, wherein each of said VRF groups comprises at least one tunnel having the same priority as said each VRF group;
determining a policy routing (PBR) of the service flow, wherein the PBR is used for indicating a tunnel for loading the service flow into a VRF group corresponding to the first priority level in an equivalent multipath routing (ECMP) mode;
And sending the PBR to the first equipment.
In a second aspect, an embodiment of the present application provides a method for traffic scheduling, where the method is applied to a first device, and includes:
receiving service traffic;
determining a first priority of the traffic flow;
receiving a policy routing (PBR) of the traffic from a controller, wherein the PBR is used for indicating a tunnel which loads the traffic into a VRF group with a level corresponding to the first priority by means of an equivalent multipath routing (ECMP);
and sending the service flow through tunnels in the VRF group of the level corresponding to the first priority according to the PBR.
In a third aspect, an embodiment of the present application provides a device for scheduling a service flow, including:
a processing unit, configured to determine a first priority of a traffic flow;
the processing unit is further configured to determine at least two virtual route forwarding, VRF, groups of different priorities of the first device, wherein each of the VRF groups includes at least one tunnel having the same priority as each of the VRF groups;
the processing unit is further configured to determine a policy routing PBR for the traffic, where the PBR is configured to instruct loading the traffic into a tunnel in a VRF group at a level corresponding to the first priority by means of an equivalent multipath routing ECMP;
And the sending unit is used for sending the PBR to the first equipment.
In a fourth aspect, an embodiment of the present application provides a device for scheduling a service flow, including:
a receiving unit, configured to receive a traffic flow;
a processing unit, configured to determine a first priority of the traffic flow;
the receiving unit is further configured to receive a policy routing PBR of the traffic from the controller, where the PBR is configured to instruct loading of the traffic into a tunnel in a VRF group of a level corresponding to the first priority by means of an equivalent multipath routing ECMP;
and the sending unit is used for sending the service flow through the tunnel in the VRF group with the level corresponding to the first priority according to the PBR.
In a fifth aspect, the present application provides an electronic device, including:
a processor adapted to implement computer instructions; the method comprises the steps of,
a memory storing computer instructions adapted to be loaded by a processor and to perform the method of the first aspect, or the method of the second aspect, described above.
In a sixth aspect, embodiments of the present application provide a computer readable storage medium storing computer instructions that, when read and executed by a processor of a computer device, cause the computer device to perform the method of the first aspect, or the method of the second aspect, described above.
In a seventh aspect, embodiments of the present application provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from a computer readable storage medium, the processor executes the computer instructions, causing the computer device to perform the method of the first aspect or the method of the second aspect described above.
Through the technical scheme, the controller can configure at least two virtual routing forwarding VRF groups with different priorities on the first device, and send a policy routing PBR to the first device, and instruct to load the service flow into tunnels in the VRF group with the level corresponding to the priority of the service flow in an equivalent multipath routing ECMP mode, namely, schedule the tunnels in the VRF group with the level corresponding to the priority of the service flow by ECMP, thereby realizing the scheduling of the service flow with different priorities and further meeting the transmission requirements of the service flow with different priorities.
Drawings
FIG. 1 is a schematic diagram of a scenario for traffic scheduling;
FIG. 2 is an alternative schematic diagram of a network framework in accordance with an embodiment of the present application;
Fig. 3 is a schematic flow chart of a method for scheduling service traffic according to an embodiment of the present application;
FIG. 4 is an alternative example of traffic scheduling provided by an embodiment of the present application;
FIG. 5 is another alternative example of traffic scheduling provided by an embodiment of the present application;
fig. 6 is a schematic flow chart of another method for scheduling traffic according to an embodiment of the present application;
fig. 7 is a schematic block diagram of an apparatus for traffic scheduling according to an embodiment of the present application;
FIG. 8 is a schematic block diagram of another apparatus for traffic scheduling in accordance with an embodiment of the present application;
fig. 9 is a schematic block diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application.
The scheme provided by the application can relate to cloud technology. Cloud technology (Cloud technology) refers to a hosting technology for integrating hardware, software, network and other series resources in a wide area network or a local area network to realize calculation, storage, processing and sharing of data.
The cloud technology is based on the general names of network technology, information technology, integration technology, management platform technology, application technology and the like applied by the cloud computing business mode, can form a resource pool, and is flexible and convenient as required. Cloud computing technology will become an important support. Background services of technical networking systems require a large amount of computing, storage resources, such as video websites, picture-like websites, and more portals. Along with the high development and application of the internet industry, each article possibly has an own identification mark in the future, the identification mark needs to be transmitted to a background system for logic processing, data of different levels can be processed separately, and various industry data needs strong system rear shield support and can be realized through cloud computing.
Cloud computing (closed computing) refers to the delivery and usage mode of an IT infrastructure, meaning that required resources are obtained in an on-demand, easily scalable manner through a network; generalized cloud computing refers to the delivery and usage patterns of services, meaning that the required services are obtained in an on-demand, easily scalable manner over a network. Such services may be IT, software, internet related, or other services. With the development of the internet, real-time data flow and diversification of connected devices, and the promotion of demands of search services, social networks, mobile commerce, open collaboration and the like, cloud computing is rapidly developed. Unlike the previous parallel distributed computing, the generation of cloud computing will promote the revolutionary transformation of the whole internet mode and enterprise management mode in concept.
Cloud applications may include medical clouds, cloud internet of things, cloud security, cloud calling, private clouds, public clouds, hybrid clouds, cloud gaming, cloud education, cloud conferencing, cloud social, artificial intelligence cloud services, and the like. The network controller may issue data and configuration to the network device to implement different service functions.
Cloud vendors typically use tunnels to isolate network resources of users. Some cloud clients have high requirements on network quality, and hope that the mutual access of network resources is not affected under the condition that part of lines are abnormal. Based on the method, a cloud manufacturer creates a plurality of tunnels on the network equipment, the tunnel bottom layer can be borne on different physical links, and network traffic of users can be uniformly loaded on each tunnel in an ECMP mode. When the bottom physical link is abnormal, the tunnel carried on the physical link is interrupted, and at the moment, the service flow can be interacted through the tunnels carried on other physical links.
As shown in fig. 1, there are two physical links between device a and device B, three internet security protocol (Internet Protocol Security, IPSEC) tunnels are created on virtual route forwarding (Virtual Routing Forwarding, VRF) of device a and device B, respectively, IPSEC1, IPSEC2, and IPSEC3, where IPSEC1 and IPSEC2 are carried on one physical link and IPSEC3 is carried on the other physical link. Here, the three tunnels may be configured with ECMP, so that after the traffic of the user enters the device a, the traffic may be uniformly routed to the three tunnels. When the physical link where the IPSEC3 is located is abnormal, the IPSEC3 is interrupted, and at this time, the traffic of the user may interact through the IPSEC1 and the IPSEC2 carried on the other physical link without abnormality.
However, in a real traffic scenario, when an anomaly occurs in a physical link, the tunnel may not be interrupted, but the network quality is deteriorated, and thus the network quality of tunnels carried by different physical links may be different. At this time, when all the traffic flows are uniformly loaded to each tunnel, the transmission delay or the packet loss rate of different traffic flows will be different.
Some users 'services have a high demand for traffic transmission, such as gaming users' services are very delay sensitive, and it is desirable that the service be in a low delay state, and even if the link is not broken, a high delay is not acceptable for the service. In addition, some users' services have lower transmission requirements on service traffic, for example, for users with limited cost budget, the users want to reduce the cost, and the services are not required to be in a low-delay state all the time, and can endure a certain delay.
In view of this, the embodiment of the application provides a method for scheduling service traffic, which can meet the transmission requirements of different service traffic.
Specifically, at least two VRF groups with different priorities can be configured on the first device, and the network controller can send policy routing (Policy Based Routing, PBR) of the traffic to the first device, instruct the first device to load the traffic to tunnels in the VRF groups with the level corresponding to the priority of the traffic by means of ECMP, so that the traffic with different priorities is scheduled to tunnels in the VRF groups with the corresponding priority, and the transmission requirements of the different traffic are met.
The following describes a scheme provided by an embodiment of the present application with reference to the accompanying drawings.
Fig. 2 is an alternative schematic diagram of a network framework according to an embodiment of the present application.
As shown in fig. 2, at least two VRF groups of different priorities, such as VRF1, VRF2, and VRF3, may be configured on first device 210. For example, VRF1 may be a high priority VRF, VRF2 may be a normal priority VRF, and VRF3 may be a low priority VRF, without limitation. Each VRF group may include at least one tunnel with the same priority as the VRF group, which may be used to transport traffic into each VRF group. The first device 220 may be implemented as a gateway or router, for example.
The controller 210 may send the PBR of the traffic to the first device 220, instruct the first device 220 to load the traffic to the tunnels in the VRF group corresponding to the priority of the traffic by means of ECMP, so as to schedule the traffic of different priorities to the tunnels in the VRF group corresponding to the priority, implement scheduling of the traffic of different priorities, and meet the transmission requirements of the traffic of different priorities.
For example, when traffic is of high priority, the traffic may be evenly loaded into tunnels in the high priority VRF group; when the service flow is of the common priority, the service flow can be uniformly loaded to the tunnel transmission in the VRF group of the common priority; when the traffic is of low priority, the traffic may be evenly loaded into the tunnels in the low priority VRF group.
In some embodiments, the controller 310 may be embodied as a cloud network controller. The controller 210 may be deployed on a server. The server may be one or more. Where the servers are multiple, there are at least two servers for providing different services and/or there are at least two servers for providing the same service, such as in a load balancing manner, as embodiments of the application are not limited in this respect.
The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs (Content Delivery Network, content delivery networks), basic cloud computing services such as big data and artificial intelligent platforms, and the like. Servers may also become nodes of the blockchain.
Fig. 3 is a schematic flowchart of a method 300 for traffic scheduling according to an embodiment of the present application. The method 300 may be applied to the network architecture shown in fig. 1. The controller and the first device may be respectively an electronic device with data processing capability. The controller may be implemented as a cloud network controller, for example, and the first device may be implemented as a gateway or a router, for example, without limitation.
As shown in fig. 3, method 300 may include 310 through 360. Wherein 310 through 330 may apply to the controller, 350 and 370 may apply to the first device, 340 is the interaction of the controller and the first device.
At 310, a first priority of traffic is determined.
Illustratively, a user may configure the priority of traffic flows, e.g., a first priority, through a controller. Accordingly, the controller may obtain the first priority of the traffic configured by the user.
The first priority may be, for example, a high priority, a normal priority, or a low priority, without limitation. In some embodiments, the priority of traffic may be determined based on the traffic demand for latency and/or packet loss rate. For example, for a service that is expected to be in low latency and/or low packet loss rate, such as a game service, the service traffic of the service may be a high priority service traffic; for services which are not required to be in low time delay and/or low packet loss rate all the time, such as mailbox service, the service flow can be the service flow of the common priority, and for services which are required to be in high time delay and/or high packet loss rate all the time, such as data interaction of the terminal of the internet of things in a weak network or passive scene, the service flow can be the service flow of the low priority, and the method is not limited.
It should be understood that in the embodiment of the present application, the delay may be determined to be a high delay, a common delay or a low delay according to a preset threshold, and the packet loss rate may be determined to be a high packet loss rate, a common packet loss rate or a low packet loss rate according to a preset threshold.
At 320, at least two different priority VRF groups for the first device are determined. Wherein each VRF group includes at least one tunnel having the same priority as the VRF group.
Illustratively, the at least two different priority VRF groups may include a high priority VRF group, a normal priority VRF group, and a priority VRF group. Wherein, the high priority VRF group may include at least one tunnel with high priority, the normal priority VRF group may include at least one tunnel with normal priority, and the low priority VRF group may include at least one tunnel with low priority, which is not limited in this application. As an example, the tunnel may comprise an IPSEC tunnel.
For example, the priority of the tunnel may be determined according to the transmission delay and/or the packet loss rate of the tunnel. For example, a high priority tunnel may have a low latency and/or low packet loss rate, a normal priority tunnel may have a normal latency and/or normal packet loss rate, and a low priority tunnel may have a high latency and/or high packet loss rate.
In some embodiments, tunnels may be distributed across each VRF group in an ECMP fashion such that traffic entering each VRF group will be distributed (e.g., evenly distributed) over all tunnels in the VRF group.
Fig. 4 shows a specific example of different priority VRF groups, wherein the at least two different priority VRF groups may include VRF1, VRF2, and VRF3. The VRF1 includes tunnels IPSEC1 and IPSEC2 between the first device 220 and the second device 230, the VRF2 includes tunnels IPSEC3 and IPSEC4 between the first device 220 and the second device 230, and the VRF3 includes tunnels IPSEC5 between the first device 220 and the second device 230.
Wherein the priority of the VRF group is the same as the priority of the tunnels comprised by the VRF group. Illustratively, VRF1 may be a high priority VRF, and respective IPSEC1 and IPSEC2 are high priority tunnels; the VRF2 can be a common priority VRF, and the corresponding IPSEC3 and IPSEC4 are common priority tunnels; VRF3 may be a low priority VRF and the corresponding IPSEC5 is a low priority tunnel.
In some embodiments, the controller may create the above-described at least two different priority VRF groups on the first device. In particular, the controller may send an instruction #1 (one example of a first instruction) to the first device, the instruction #1 being for instructing to create the at least two different priority VRF groups on the first device. The instruction #1 may also initialize the network quality range of the tunnel corresponding to each VRF group, i.e., the packet switching policy.
For example, the packet switching policy may be initialized, i.e. the latency of tunnels in a high priority VRF group is initialized to be lower than 30ms, the latency of tunnels in a low priority VRF group is higher than 100ms, and the latency of tunnels in a normal priority VRF group is between 30ms and 100 ms. That is, after initializing the network quality range of the tunnel corresponding to each VRF group, tunnels with a delay exceeding 100ms are put into a low-priority VRF group (may also be referred to as a high-delay VRF group), tunnels with a delay lower than 30ms are put into a high-priority VRF group (may also be referred to as a low-delay VRF group), and tunnels with a delay in the middle of 30ms to 100ms are put into a normal-priority VRF group (may also be referred to as a normal-delay VRF group).
In some embodiments, the controller may create a tunnel between the first device and the second device. Specifically, the controller may send an instruction #2 (an example of a second instruction) to the first device, the instruction #2 being for instructing to create a tunnel between the first device and the second device. The instruction #2 may also configure by default that the created tunnel belongs to VRF group #1 (one example of a third VRF group). Illustratively, the VRF group #1 may be a normal priority VRF group, or a high priority VRF group, or a low priority VRF group, without limitation.
Optionally, the instruction #2 may also configure network quality analysis (Network Quality Analyzer, NQA) for the tunnel. In this way, the first device or the second device can perform (e.g., continuous) NQA detection on the network quality of the tunnel, to obtain the network quality information of the tunnel (part or all of the tunnels) in the VRF group. The first device or the second device may send the network quality information of the tunnel to the controller.
With continued reference to fig. 4, NQA may be configured on the tunnels (e.g., each tunnel) between the first device and the second device such that the first device or the second device may monitor the network quality status of each tunnel in real-time through NQA and may report the network quality status (e.g., network quality information) to the controller.
The network quality information of the tunnel may include, for example, a transmission delay and/or a packet loss rate of the tunnel, without limitation.
In some embodiments, the controller may obtain first network quality information for a first tunnel in the first VRF group, wherein the first network quality information is obtained by performing network quality analysis NQA for the first tunnel. And when the first network quality information belongs to the network quality range of the tunnel corresponding to the second VRF group, determining to switch the first tunnel from the first VRF group to the second VRF group, wherein the priority of the second VRF group is determined according to the network quality range of the tunnel corresponding to the second VRF group, and the VRF groups with at least two different priorities comprise the first VRF group and the second VRF group.
For example, when the delay of the first tunnel in the normal delay VRF group (one example of the first VRF group, the network quality range is 30-100ms delay) is 10ms (one example of the first network quality information), it is determined to switch the first tunnel from the normal delay VRF group to the low delay VRF group (one example of the second VRF group, the network quality range is less than 30ms delay).
Optionally, the controller may further send an instruction #3 to the first device, where the instruction #3 is configured to instruct to switch the first tunnel from the first VRF group to the second VRF group. Correspondingly, the first device receives the instruction #3, and determines to switch the first tunnel from the first VRF group to the second VRF group according to the instruction #3.
Fig. 5 shows a specific example of packet adjustment by the controller according to NQA. Among other things, the controller 210 may include a grouping policy analysis module 211 and a grouping adjustment module 212. The controller 210 may configure a tunnel between the first device 220 and the second device 230 with, for example, NQA1, NQA2, or NQA3, and the first device may monitor the network quality status of each tunnel in real time through NQA1, NQA2, or NQA3, obtain NQA results (for example, network quality information), and may report the NQA results to the packet policy analysis module 211 of the controller 210. The grouping policy analysis module 211 may analyze the NQA results, such as averaging network quality information over a period of time. Packet adjustment module 212 may determine whether to adjust the VRF packets, e.g., whether to switch packets to tunnels in the VRF group, based on the analysis of NQA results by packet policy analysis module 211. When packet adjustment module 212 determines that packet switching is required for tunnels in the VRF group, an adjustment instruction, such as instruction #3, may be issued to the first device.
Therefore, in the embodiment of the application, the controller can dynamically adjust the tunnel to the corresponding VRF group according to the network quality information of the tunnel reported by the first device, so that the tunnel can be adjusted to the VRF group with the corresponding priority according to the real-time network quality state of the tunnel.
In some embodiments, the controller may further obtain second network quality information for each tunnel in each VRF group, wherein the second network quality information is NQA obtained for each tunnel; the controller determines the network quality average value of tunnels of the VRF groups with at least two different priorities according to the second network quality information; and determining the network quality range of the tunnel corresponding to each VRF group according to the network quality mean value, wherein the priority of each VRF group is determined according to the network quality range of the tunnel corresponding to each VRF group.
For example, the first device may continuously shift network quality information of all tunnels to the controller, and the controller may calculate a network quality average value of all tunnels according to the network quality information of all tunnels, and periodically adjust a network quality range of a tunnel corresponding to each VRF group according to the network quality average value. That is, the controller may adjust the packet switching policy according to the network quality information of all tunnels reported by the first device.
For example, when the network quality (such as the delay) of the tunnel is integrally increased, the delay ranges corresponding to the high-delay VRF group, the normal-delay VRF group and the low-delay VRF group are correspondingly increased, for example, the high-delay VRF group is adjusted to be more than 120ms delay from the original more than 100ms delay, the normal-delay VRF group is adjusted to be 50ms to 120ms middle part delay from the original 30ms to 100ms middle part delay, and the low-delay VRF group is adjusted to be less than 50ms delay from the original less than 30ms delay. In this way, it can help to avoid controllers from dividing all tunnels into high latency VRF groups due to degradation of overall network quality.
For another example, when the network quality (such as the delay) of the tunnel is reduced as a whole, the delay ranges corresponding to the high-delay VRF group, the normal-delay VRF group and the low-delay VRF group are reduced correspondingly, for example, the high-delay VRF group is adjusted from the original delay exceeding 100ms to the delay exceeding 90ms, the normal-delay VRF group is adjusted from the original delay of the middle part of 30ms to 100ms to the delay of the middle part of 20ms to 90ms, and the low-delay VRF group is adjusted from the original delay lower than 30ms to the delay lower than 20 ms. In this way, it can help to avoid controllers from dividing all tunnels into low latency VRF groups due to overall network quality improvement.
With continued reference to fig. 5, the packet policy analysis module 211 may analyze the NQA result, for example, calculate a network quality average of all tunnels based on all tunnel network quality information, and periodically calculate a network quality range of the tunnel corresponding to each VRF group based on the network quality average. The packet adjustment module 212 may determine whether to adjust the VRF packet, for example, whether to perform packet switching on the tunnel in the VRF group, according to the network quality range of the tunnel corresponding to each VRF group calculated by the packet policy analysis module 211 and the network quality information of each tunnel.
Therefore, according to the embodiment of the application, the controller can reasonably divide each tunnel into corresponding VRF groups according to the overall network quality condition of the tunnel by the network quality range of the tunnel corresponding to the VRF group according to the network quality average value of the tunnel, so that the VRF groups can adapt to the real-time change of the overall network environment.
And 330, determining the PBR of the service flow. Wherein the PBR is configured to instruct loading of traffic to the tunnel in the VRF group at the level corresponding to the first priority by means of equal cost multipath routing ECMP.
Illustratively, the PBR may be used to instruct the tunnels that evenly load traffic into the VRF group at the level corresponding to the first priority by way of the equal cost multipath routing ECMP. For example, when the first priority is high priority, the traffic may be evenly loaded into tunnels in the high priority VRF group; when the first priority is the common priority, the service flow can be uniformly loaded to tunnels in VRF groups with the common priority; when the first priority is low priority, the traffic may be evenly loaded into tunnels in the low priority VRF group. The traffic entering each VRF group can be uniformly distributed to all tunnels in the corresponding VRF group.
Therefore, in the embodiment of the application, at least two Virtual Routing Forwarding (VRF) groups with different priorities are configured on the first equipment through the controller, and the policy routing PBR is sent to the first equipment, so that the traffic is indicated to load tunnels in the VRF groups with the levels corresponding to the priorities of the traffic in an equivalent multipath routing (ECMP) mode, namely, the ECMP scheduling is carried out on the tunnels in the VRF groups with the levels corresponding to the priorities of the traffic, thereby realizing the scheduling of the traffic with different priorities and further meeting the transmission requirements of the traffic with various priorities.
For example, for a service with a higher transmission requirement on the service traffic, such as a service of a game class which is very sensitive to time delay, the service traffic of the service can be configured to be of high priority, and then the service traffic of the service can be uniformly loaded into tunnels in a VRF group of high priority, so as to meet the transmission requirement that the service is always in a low-time delay state.
For another example, for a service with a low transmission requirement for a service flow, such as a user with a limited cost budget, the service is not required to be in a low-delay state all the time, and the service flow can be configured to be of low priority, so that the service flow of the service can be uniformly loaded to tunnels in a VRF group of low priority, thereby meeting the low-cost transmission requirement of the service.
340 sending the PBR to the first device.
Specifically, the controller may send the PBR determined in 330 to the first device. Correspondingly, the first device receives the PRB.
And 350, receiving the service flow.
Illustratively, the first device may receive the traffic from the last hop node. The last hop node is, for example, a last hop gateway or router of the first device, and is not limited.
A first priority of the traffic is determined 360.
In some embodiments, after the priority of the service flow is configured by the user, the priority of the service flow, for example, the first priority, may be determined according to the service identifier corresponding to the service packet of the service flow. Wherein, the service identifier has a corresponding relation with the priority of the service flow. Illustratively, the service identification may include at least one of a source IP address, a destination IP address, a protocol type, a source port number, and a destination port number of the service message.
And 360, sending the service flow according to the PBR.
Specifically, the first device may send the traffic through the tunnel in the VRF group of the level corresponding to the first priority according to the PBR received in 340.
For example, when the first priority is high priority, the traffic may be uniformly loaded to tunnels in the high priority VRF group through which the traffic is sent; when the first priority is the ordinary priority, the service flow can be uniformly loaded to the tunnels in the VRF group with the ordinary priority, and the service flow is sent through the tunnels in the VRF group with the ordinary priority; when the first priority is low priority, the traffic may be uniformly loaded to tunnels in the low priority VRF group, and the traffic may be sent through the tunnels in the low priority VRF group. The service flow entering each VRF group can be uniformly distributed to all tunnels in the corresponding VRF group for transmission.
Therefore, in the embodiment of the application, at least two Virtual Routing Forwarding (VRF) groups with different priorities are configured on the first equipment through the controller, and the policy routing PBR is sent to the first equipment, so that the traffic is indicated to load tunnels in the VRF groups with the levels corresponding to the priorities of the traffic in an equivalent multipath routing (ECMP) mode, namely, the ECMP scheduling is carried out on the tunnels in the VRF groups with the levels corresponding to the priorities of the traffic, thereby realizing the scheduling of the traffic with different priorities and further meeting the transmission requirements of the traffic with various priorities.
For example, for a service with a higher transmission requirement on the service traffic, such as a service of a game class which is very sensitive to time delay, the service traffic of the service can be configured to be of high priority, and then the service traffic of the service can be uniformly loaded into tunnels in a VRF group of high priority, so as to meet the transmission requirement that the service is always in a low-time delay state.
For another example, for a service with a low transmission requirement for a service flow, such as a user with a limited cost budget, the service is not required to be in a low-delay state all the time, and the service flow can be configured to be of low priority, so that the service flow of the service can be uniformly loaded to tunnels in a VRF group of low priority, thereby meeting the low-cost transmission requirement of the service.
It should be noted that, in fig. 3 to fig. 5, the controller configures at least two VRF groups with different priorities on the first device, and sends PBR to the first device, which is an example, but embodiments of the present application are not limited thereto. For example, the controller may further configure at least two VRF groups with different priorities on the second device (or other network devices for traffic scheduling), and issue PBR to the second device, so that traffic entering the second device may be allocated to the corresponding VRF group according to the PBR, and traffic of each VRF group is allocated (e.g. uniformly allocated) to all tunnels in the VRF group.
Fig. 6 shows a schematic flow chart of another method 600 for traffic scheduling according to an embodiment of the present application. It should be understood that fig. 6 illustrates steps or operations of a method of traffic scheduling, but these steps or operations are merely examples, and that other operations or variations of the operations in fig. 6 may also be performed by embodiments of the present application. Furthermore, the various steps in fig. 6 may be performed in a different order than presented in fig. 6, and it is possible that not all of the operations in fig. 6 are performed.
In fig. 6, service flows are prioritized according to the sensitivity of the service to the time delay, and VRFs are correspondingly grouped according to the time delay priority.
601, the controller initializes a packet switching policy.
Illustratively, the controller may generate an initial packet switching policy, for example, tunnels with delays exceeding 100ms are placed in a high latency VRF group, tunnels with delays below 30ms are placed in a low latency VRF group, and the 30ms to 100ms delay portions are placed in a normal latency VRF packet.
The controller creates 602 an initialization latency VRF packet on device 1.
603, the controller creates an initialization latency VRF packet on device 2.
Illustratively, the controller may instruct device 1 or device 2 to create an initialization delay VRF packet by sending an instruction, such as instruction #1, to device 1 or device 2.
And 604, creating an initialization tunnel, putting the initialization tunnel into a common delay VRF group, and configuring the PBR.
Specifically, the controller creates an initialization tunnel on the device 1 and puts into the normal latency VRF group. The controller may configure the PBR. Alternatively, the controller may configure a corresponding NQA for each tunnel.
And 605, creating an initialization tunnel, putting the initialization tunnel into a common delay VRF group, and configuring PBR.
Specifically, the controller creates an initialization tunnel on device 2 and puts into the normal latency VRF group. The controller may configure the PBR. Alternatively, the controller may configure a corresponding NQA for each tunnel.
Alternatively, the controller may instruct device 1 or device 2 to create an initialization tunnel by sending an instruction, such as instruction #2, to device 1 or device 2.
At 606, the priority of the traffic is determined.
For example, the user may configure the time delay priority of the service through the controller, and the corresponding controller determines the priority of the service according to the configuration of the user.
607, adjust the PBR to direct traffic to a particular VRF.
Illustratively, the controller may adjust the PBR according to the priority of the traffic and direct the traffic to the VRF of the corresponding level.
608, NQA probing continues between devices.
Illustratively, a continuous NQA probe will be performed on each tunnel between device 1 and device 2. At this time, when network traffic arrives, the traffic allocated to each latency VRF group will be uniform across all tunnels.
The following 609 to 613 are processes in which the controller performs processing according to NQA information reported by the device. In 609 to 613, only the reporting process of the device 1 is taken as an example, and the reporting process of other devices is similar to the device 1, and the description of the device 1 may be referred to.
609, device 1 reports NQA of tunnel 1.
Illustratively, NQA of tunnel 1 may include a latency condition of tunnel 1.
The controller calculates 610 whether the tunnel 1 satisfies the handover condition.
The controller may determine, according to a latency grouping strategy, whether the latency of the tunnel 1 reaches a handover threshold. The switching threshold for a low latency VRF group is, for example, 30ms and for a high latency VRF packet is, for example, 100ms. For example, if the current tunnel 1 is in the normal latency VRF group, but the latency of the current tunnel 1 is 20ms, it is determined that the latency of the tunnel 1 has reached the handover threshold of the low latency VRF packet.
611, if the handover condition is satisfied, modifying the VRF packet to which the tunnel 1 belongs.
Continuing with the example in 610, when tunnel 1 satisfies the handoff condition, the VRF packet to which tunnel 1 belongs is modified to a low latency VRF packet. The controller may issue an instruction to device 1 to switch tunnel 1 to a low latency VRF packet.
Device 1 continuously reports NQA of all tunnels 612.
613, the controller adjusts the packet switching policy
Illustratively, the controller calculates the average value of the time delays of the tunnels on the device 1 in combination with NQA of all tunnels reported by the device 1, and periodically adjusts the packet switching policy according to the average value. For example, when the overall delay of the tunnels on the device 1 increases (i.e., the average value increases), the switching thresholds of the high-delay VRF packets and the low-delay VRF packets are both correspondingly increased, so that the degradation of the overall network quality is prevented, and the controller divides all tunnels on the device 1 into the high-delay VRF packets.
Therefore, in the embodiment of the application, at least two Virtual Routing Forwarding (VRF) groups with different priorities are configured on the first equipment through the controller, and the policy routing PBR is sent to the first equipment, so that the traffic is indicated to load tunnels in the VRF groups with the levels corresponding to the priorities of the traffic in an equivalent multipath routing (ECMP) mode, namely, the ECMP scheduling is carried out on the tunnels in the VRF groups with the levels corresponding to the priorities of the traffic, thereby realizing the scheduling of the traffic with different priorities and further meeting the transmission requirements of the traffic with various priorities.
The specific embodiments of the present application have been described in detail above with reference to the accompanying drawings, but the present application is not limited to the specific details of the above embodiments, and various simple modifications can be made to the technical solution of the present application within the scope of the technical concept of the present application, and all the simple modifications belong to the protection scope of the present application. For example, the specific features described in the above embodiments may be combined in any suitable manner, and in order to avoid unnecessary repetition, various possible combinations are not described further. As another example, any combination of the various embodiments of the present application may be made without departing from the spirit of the present application, which should also be regarded as the disclosure of the present application.
It should be further understood that, in the various method embodiments of the present application, the sequence numbers of the foregoing processes do not mean the order of execution, and the order of execution of the processes should be determined by the functions and internal logic of the processes, and should not constitute any limitation on the implementation process of the embodiments of the present application. It is to be understood that the numbers may be interchanged where appropriate such that the described embodiments of the application may be practiced otherwise than as shown or described.
The method embodiments of the present application are described above in detail with reference to fig. 3 to 6, and the apparatus embodiments of the present application are described below in detail with reference to fig. 7 to 9.
Fig. 7 is a schematic block diagram of an apparatus 700 for traffic scheduling in accordance with an embodiment of the present application. The apparatus 700 for traffic scheduling may be a controller in the method 300 or a controller in the method 600. As shown in fig. 7, the apparatus 700 may include a processing unit 710 and a transmitting unit 720.
A processing unit 710, configured to determine a first priority of the traffic.
The processing unit 710 is further configured to determine at least two virtual route forwarding VRF groups of different priorities of the first device, wherein each of the VRF groups comprises at least one tunnel having the same priority as each of the VRF groups.
The processing unit 710 is further configured to determine a policy routing PBR for the traffic, where the PBR is configured to instruct loading the traffic into tunnels in the VRF group at a level corresponding to the first priority by means of equal cost multi path routing ECMP.
A sending unit 720, configured to send the PBR to the first device.
Optionally, the apparatus 700 may further include a receiving unit, configured to obtain first network quality information of a first tunnel in the first VRF group, where the first network quality information is obtained by performing network quality analysis NQA on the first tunnel.
The processing unit 710 is further configured to determine to switch the first tunnel from the first VRF group to a second VRF group when the first network quality information belongs to a network quality range of a tunnel corresponding to the second VRF group, wherein a priority of the second VRF group is determined according to the network quality range of the tunnel corresponding to the second VRF group, and the at least two VRF groups with different priorities include the first VRF group and the second VRF group.
Optionally, the sending unit 720 is further configured to:
and sending an instruction to the first device, wherein the instruction is used for indicating that the first tunnel is switched from the first VRF group to the second VRF group.
Optionally, the receiving unit is further configured to:
and acquiring second network quality information of each tunnel in each VRF group, wherein the second network quality information is acquired by NQA for each tunnel.
The processing unit 710 is further configured to determine a network quality average of tunnels of the VRF groups of the at least two different priorities according to the second network quality information; and
and determining the network quality range of the tunnel corresponding to each VRF group according to the network quality mean value, wherein the priority of each VRF group is determined according to the network quality range of the tunnel corresponding to each VRF group.
Optionally, the sending unit 720 is further configured to:
and sending a first instruction to the first device, wherein the first instruction is used for instructing the creation of the VRF groups with at least two different priorities on the first device, and initializing the network quality range of the tunnel corresponding to each VRF group.
Optionally, the sending unit 720 is further configured to:
and sending a second instruction to the first device, wherein the second instruction is used for creating a third tunnel between the first device and the second device and configuring the third tunnel to belong to a third VRF group, and the at least two VRF groups with different priorities comprise the third VRF group.
Optionally, the network quality of the tunnel corresponding to the VRF group includes at least one of a transmission delay and a packet loss rate of the tunnel.
It should be understood that apparatus embodiments and method embodiments may correspond with each other and that similar descriptions may refer to the method embodiments. To avoid repetition, no further description is provided here. Specifically, while the apparatus 700 for traffic scheduling in this embodiment may correspond to a controller in the method 300 or 600 for executing the embodiment of the present application, the foregoing and other operations and/or functions of each module in the apparatus 700 are respectively for implementing the corresponding flow of the controller in each method in fig. 3 or 6, and are not further described herein for brevity.
Fig. 8 is a schematic block diagram of an apparatus 800 for traffic scheduling in accordance with an embodiment of the present application. The apparatus 800 for traffic scheduling may be the first device in the method 300, or the device 1 or the device 2 in the method 600. As shown in fig. 8, the apparatus 800 may include a receiving unit 810, a processing unit 820, and a transmitting unit 830.
A receiving unit 810, configured to receive a traffic flow.
A processing unit 820, configured to determine a first priority of the traffic.
The receiving unit 810 is further configured to receive a policy routing PBR for the traffic from the controller, where the PBR is configured to instruct loading of the traffic into tunnels in the VRF group of a level corresponding to the first priority by means of equivalent multipath routing ECMP.
And a sending unit 830, configured to send, according to the PBR, the traffic through a tunnel in the VRF group of the level corresponding to the first priority.
Optionally, the processing unit 820 is further configured to:
performing network quality analysis NQA on a first tunnel in a first VRF group, and acquiring first network quality information of the first tunnel, wherein the at least two VRF groups with different priorities comprise the first VRF group;
the transmitting unit is further configured to: : and sending the first network quality information to the controller.
Optionally, the receiving unit 810 is further configured to:
an instruction is received from the controller to instruct switching of the first tunnel from the first VRF group to a second VRF group, wherein the at least two different priority VRF groups include the second VRF group.
Optionally, the receiving unit 810 is further configured to:
a first instruction is received from the controller, the first instruction being for instructing creation of the at least two different priority VRF groups on the first device and initializing a network quality range for each of the VRF groups corresponding to a tunnel.
Optionally, the receiving unit 810 is further configured to:
and receiving a second instruction from the controller, wherein the second instruction is used for creating a third tunnel on the first device and the second device and configuring the third tunnel to belong to a third VRF group, and the at least two VRF groups with different priorities comprise the third VRF group.
Optionally, the network quality of the tunnel corresponding to the VRF group includes at least one of a transmission delay and a packet loss rate of the tunnel.
It should be understood that apparatus embodiments and method embodiments may correspond with each other and that similar descriptions may refer to the method embodiments. To avoid repetition, no further description is provided here. Specifically, when the apparatus 800 for traffic scheduling in this embodiment may correspond to the first device performing the method 300 of the embodiment of the present application, or the device 1 or the device 2 in the method 600, the foregoing and other operations and/or functions of each module in the apparatus 800 are respectively for implementing the corresponding flow of the first device in each method in fig. 3, or the corresponding flow of the device 1 or the device 2 in the method in fig. 6, which are not described herein for brevity.
The apparatus and system of embodiments of the present application are described above in terms of functional modules in connection with the accompanying drawings. It should be understood that the functional module may be implemented in hardware, or may be implemented by instructions in software, or may be implemented by a combination of hardware and software modules. Specifically, each step of the method embodiment in the embodiment of the present application may be implemented by an integrated logic circuit of hardware in a processor and/or an instruction in a software form, and the steps of the method disclosed in connection with the embodiment of the present application may be directly implemented as a hardware decoding processor or implemented by a combination of hardware and software modules in the decoding processor. Alternatively, the software modules may be located in a well-established storage medium in the art such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, and the like. The storage medium is located in a memory, and the processor reads information in the memory, and in combination with hardware, performs the steps in the above method embodiments.
Fig. 9 is a schematic block diagram of an electronic device 900 provided by an embodiment of the present application.
As shown in fig. 9, the electronic device 900 may include:
a memory 910 and a processor 920, the memory 910 being configured to store a computer program and to transfer the program code to the processor 920. In other words, the processor 920 may call and run a computer program from the memory 910 to implement the method in the embodiment of the present application.
For example, the processor 920 may be configured to execute the steps of each executing entity in the method 300 or the steps of each executing entity in the method 600 according to instructions in the computer program.
In some embodiments of the application, the processor 920 may include, but is not limited to:
a general purpose processor, digital signal processor (Digital Signal Processor, DSP), application specific integrated circuit (Application Specific Integrated Circuit, ASIC), field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, or the like.
In some embodiments of the application, the memory 910 includes, but is not limited to:
volatile memory and/or nonvolatile memory. The nonvolatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable EPROM (EEPROM), or a flash Memory. The volatile memory may be random access memory (Random Access Memory, RAM) which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (Double Data Rate SDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), and Direct memory bus RAM (DR RAM).
In some embodiments of the application, the computer program may be partitioned into one or more modules that are stored in the memory 910 and executed by the processor 920 to perform the methods provided by the present application. The one or more modules may be a series of computer program instruction segments capable of performing the specified functions, which are used to describe the execution of the computer program in the electronic device 800.
Optionally, the electronic device 900 may further include:
a communication interface 930, the communication interface 930 being connectable to the processor 920 or the memory 910.
The processor 920 may control the communication interface 930 to communicate with other devices, and in particular, may send information or data to other devices, or receive information or data sent by other devices. By way of example, communication interface 930 may include a transmitter and a receiver. The communication interface 930 may further include antennas, the number of which may be one or more.
It should be appreciated that the various components in the electronic device 900 are connected by a bus system that includes a power bus, a control bus, and a status signal bus in addition to a data bus.
According to an aspect of the present application, there is provided a communication device comprising a processor and a memory for storing a computer program, the processor being adapted to invoke and run the computer program stored in the memory, such that the encoder performs the method of the above-described method embodiment.
According to an aspect of the present application, there is provided a computer storage medium having stored thereon a computer program which, when executed by a computer, enables the computer to perform the method of the above-described method embodiments. Alternatively, embodiments of the present application also provide a computer program product comprising instructions which, when executed by a computer, cause the computer to perform the method of the method embodiments described above.
According to another aspect of the present application, there is provided a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium and executes the computer instructions to cause the computer device to perform the method of the above-described method embodiments.
In other words, when implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital video disc (digital video disc, DVD)), or a semiconductor medium (e.g., a Solid State Disk (SSD)), or the like.
It should be understood that in embodiments of the present application, "B corresponding to a" means that B is associated with a. In one implementation, B may be determined from a. It should also be understood that determining B from a does not mean determining B from a alone, but may also determine B from a and/or other information.
In the description of the present application, unless otherwise indicated, "at least one" means one or more, and "a plurality" means two or more. In addition, "and/or" describes an association relationship of the association object, and indicates that there may be three relationships, for example, a and/or B may indicate: a alone, a and B together, and B alone, wherein a, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one (one) of a, b, or c may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or plural.
It should be further understood that the description of the first, second, etc. in the embodiments of the present application is for illustration and distinction of descriptive objects, and is not intended to represent any limitation on the number of devices in the embodiments of the present application, nor is it intended to constitute any limitation on the embodiments of the present application.
It should also be appreciated that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the application. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or server that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed or inherent to such process, method, article, or apparatus, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Those of ordinary skill in the art will appreciate that the various illustrative modules and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus, device and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, and for example, the division of the modules is merely a logical function division, and there may be additional divisions when actually implemented, for example, multiple modules or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or modules, which may be in electrical, mechanical, or other forms.
The modules illustrated as separate components may or may not be physically separate, and components shown as modules may or may not be physical modules, i.e., may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. For example, functional modules in various embodiments of the present application may be integrated into one processing module, or each module may exist alone physically, or two or more modules may be integrated into one module.
The foregoing is merely illustrative of the present application, and the present application is not limited thereto, and any person skilled in the art will readily appreciate variations or alternatives within the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (15)

1. A method for traffic scheduling, the method being applied to a controller and comprising:
determining a first priority of the traffic flow;
determining at least two Virtual Route Forwarding (VRF) groups of different priorities of a first device, wherein each of said VRF groups comprises at least one tunnel having the same priority as said each VRF group;
determining a policy routing (PBR) of the service flow, wherein the PBR is used for indicating a tunnel for loading the service flow into a VRF group corresponding to the first priority level in an equivalent multipath routing (ECMP) mode;
and sending the PBR to the first equipment.
2. The method as recited in claim 1, further comprising:
acquiring first network quality information of a first tunnel in a first VRF group, wherein the first network quality information is acquired by performing network quality analysis NQA on the first tunnel;
And when the first network quality information belongs to the network quality range of the tunnel corresponding to the second VRF group, determining to switch the first tunnel from the first VRF group to the second VRF group, wherein the priority of the second VRF group is determined according to the network quality range of the tunnel corresponding to the second VRF group, and the VRF groups with at least two different priorities comprise the first VRF group and the second VRF group.
3. The method according to claim 1 or 2, further comprising:
acquiring second network quality information of each tunnel in each VRF group, wherein the second network quality information is acquired by NQA (network quality acquisition) for each tunnel;
determining network quality average values of tunnels of the VRF groups with at least two different priorities according to the second network quality information;
and determining the network quality range of the tunnel corresponding to each VRF group according to the network quality mean value, wherein the priority of each VRF group is determined according to the network quality range of the tunnel corresponding to each VRF group.
4. A method according to any one of claims 1-3, further comprising:
and sending a first instruction to the first device, wherein the first instruction is used for instructing the creation of the VRF groups with at least two different priorities on the first device, and initializing the network quality range of the tunnel corresponding to each VRF group.
5. The method of any one of claims 1-4, further comprising:
and sending a second instruction to the first device, wherein the second instruction is used for creating a third tunnel between the first device and the second device and configuring the third tunnel to belong to a third VRF group, and the at least two VRF groups with different priorities comprise the third VRF group.
6. The method of any of claims 1-5, wherein the network quality of the VRF group corresponding to the tunnel comprises at least one of a transmission delay and a packet loss rate of the tunnel.
7. A method for traffic scheduling, the method being applied to a first device and comprising:
receiving service traffic;
determining a first priority of the traffic flow;
receiving a policy routing (PBR) of the traffic from a controller, wherein the PBR is used for indicating a tunnel which loads the traffic into a VRF group with a level corresponding to the first priority by means of an equivalent multipath routing (ECMP);
and sending the service flow through tunnels in the VRF group of the level corresponding to the first priority according to the PBR.
8. The method as recited in claim 7, further comprising:
Performing network quality analysis NQA on a first tunnel in a first VRF group, and acquiring first network quality information of the first tunnel, wherein the at least two VRF groups with different priorities comprise the first VRF group;
and sending the first network quality information to the controller.
9. The method according to claim 7 or 8, further comprising:
a first instruction is received from the controller, the first instruction being for instructing creation of the at least two different priority VRF groups on the first device and initializing a network quality range for each of the VRF groups corresponding to a tunnel.
10. The method according to any one of claims 7-9, further comprising:
and receiving a second instruction from the controller, wherein the second instruction is used for creating a third tunnel on the first device and the second device and configuring the third tunnel to belong to a third VRF group, and the at least two VRF groups with different priorities comprise the third VRF group.
11. An apparatus for traffic scheduling, comprising:
a processing unit, configured to determine a first priority of a traffic flow;
the processing unit is further configured to determine at least two virtual route forwarding, VRF, groups of different priorities of the first device, wherein each of the VRF groups includes at least one tunnel having the same priority as each of the VRF groups;
The processing unit is further configured to determine a policy routing PBR for the traffic, where the PBR is configured to instruct loading the traffic into a tunnel in a VRF group at a level corresponding to the first priority by means of an equivalent multipath routing ECMP;
and the sending unit is used for sending the PBR to the first equipment.
12. An apparatus for traffic scheduling, comprising:
a receiving unit, configured to receive a traffic flow;
a processing unit, configured to determine a first priority of the traffic flow;
the receiving unit is further configured to receive a policy routing PBR of the traffic from the controller, where the PBR is configured to instruct loading of the traffic into a tunnel in a VRF group of a level corresponding to the first priority by means of an equivalent multipath routing ECMP;
and the sending unit is used for sending the service flow through the tunnel in the VRF group with the level corresponding to the first priority according to the PBR.
13. An electronic device comprising a processor and a memory, the memory having instructions stored therein, which when executed by the processor, cause the processor to perform the method of any of claims 1-10.
14. A computer readable storage medium comprising instructions which, when run on a computer, cause the computer to perform the method of any of claims 1-10.
15. A computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of any of claims 1-10.
CN202210418741.6A 2022-04-20 2022-04-20 Method, device, electronic equipment and storage medium for scheduling service traffic Pending CN116962287A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210418741.6A CN116962287A (en) 2022-04-20 2022-04-20 Method, device, electronic equipment and storage medium for scheduling service traffic

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210418741.6A CN116962287A (en) 2022-04-20 2022-04-20 Method, device, electronic equipment and storage medium for scheduling service traffic

Publications (1)

Publication Number Publication Date
CN116962287A true CN116962287A (en) 2023-10-27

Family

ID=88444963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210418741.6A Pending CN116962287A (en) 2022-04-20 2022-04-20 Method, device, electronic equipment and storage medium for scheduling service traffic

Country Status (1)

Country Link
CN (1) CN116962287A (en)

Similar Documents

Publication Publication Date Title
CN114073052B (en) Systems, methods, and computer readable media for slice-based routing
US11212181B2 (en) Cloud zone network analytics platform
JP6718966B2 (en) Methods for establishing a roaming connection
US9288162B2 (en) Adaptive infrastructure for distributed virtual switch
CN105610632B (en) Virtual network equipment and related method
EP3222001A1 (en) System and method for modifying a service-specific data plane configuration
US10630508B2 (en) Dynamic customer VLAN identifiers in a telecommunications network
CN112788060B (en) Data packet transmission method and device, storage medium and electronic equipment
Subramanya et al. Intent-based mobile backhauling for 5G networks
CN116232982A (en) Route calculation method and related equipment
US10666545B2 (en) Shaping outgoing traffic of network packets in a network management system
CN106789650B (en) Wide area network acceleration method and device based on IP
CN107508730B (en) SDN network-based data center interconnection method and device
CN116962287A (en) Method, device, electronic equipment and storage medium for scheduling service traffic
Snehi et al. SDN‐Based Cloud Combining Edge Computing for IoT Infrastructure
CN114175583B (en) System resource management in self-healing networks
CN105812274B (en) Service data processing method and related equipment
CN116192721A (en) Path perception method, device and system
CN112671811A (en) Network access method and equipment
Derakhshan et al. Enabling cloud connectivity using SDN and NFV technologies
Li et al. Carrying MTC service in 5G-A network management perspective
Li et al. Leveraging heterogeneous NFV platforms for QoS-aware reconfiguration of vNF service trees
US9942147B2 (en) Method nodes and computer program for enabling of data traffic separation
US11258720B2 (en) Flow-based isolation in a service network implemented over a software-defined network
US20230328590A1 (en) Systems and methods for a pass-through edge data center (p-edc) in a wireless telecommunication network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40099441

Country of ref document: HK