Service quality scheduling method and device and computer readable storage medium
By associating VPN packets to designated egress queues in the PE device and scheduling them according to preset policies, the problem that VPN traffic may be "starved" by other VPN traffic is solved and each VPN can obtain the designated bandwidth at the same time. effect.
Patent Information
- Application Number
- CN202310915573.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-21
- Publication Date
- 2025-01-21
AI Technical Summary
In the upward direction of the data communication network, existing quality of service (QoS) scheduling schemes may cause traffic from one virtual private network (VPN) to "starve to death" by traffic from other VPNs, that is, it is impossible to obtain reasonable WAN interface bandwidth.
In the PE equipment at the edge of the service provider's network, packets from the VPN are associated with designated egress queues, and packets are scheduled according to the preset quality of service scheduling policy under the constraints of the WAN interface bandwidth allocated to the VPN. Each VPN or VPN set is allocated a specified amount of WAN interface bandwidth.
Ensure that each VPN or VPN set has a certain amount of WAN interface bandwidth at the same time to prevent VPN traffic from being "starved" by traffic from other VPNs.
Smart Images

Figure CN119342004A_ABST
Abstract
Description
Technical Field
[0001] This document relates to the field of data communication technology, and in particular to a service quality scheduling method, device and computer-readable storage medium. Background Art
[0002] In the upstream direction of the data communication network, the service provider network edge (PE) device (usually a PE router) aggregates traffic from different virtual private networks (VPNs) and forwards the traffic to the WAN through the WAN interface of the PE device. When the WAN is congested, traffic from different VPNs will compete for the limited WAN bandwidth at the WAN interface of the PE device. For example, Figure 1 As shown in the figure, the access bandwidth of VPN1 and VPN2 and the WAN interface bandwidth of router R1 are both 1G. If VPN1 and VPN2 both send 1G traffic to router R1, the 2G traffic from VPN1 and VPN2 will compete for the 1G bandwidth on the WAN interface of router R1, and the traffic exceeding the 1G bandwidth will be discarded.
[0003] The existing Quality of Service (QoS) scheduling scheme is mainly based on traffic priority, which first ensures the scheduling of high-priority traffic, and then implements queue scheduling strategy for low-priority traffic. This scheduling scheme may cause the traffic of a VPN to be "starved" by the traffic of other VPNs. Figure 1 For example, if the traffic from VPN1 and the traffic from VPN2 have the same priority, VPN2 keeps sending 1G traffic and VPN1 subsequently sends 300M traffic, the following scenario will occur: VPN2 traffic keeps occupying the router's WAN interface bandwidth, and VPN1 traffic keeps being discarded on the router's WAN interface, causing VPN1 users to "starve to death" because they cannot get reasonable WAN interface bandwidth.
[0004] Therefore, it is urgent to propose a new quality of service scheduling scheme to avoid the problem that the traffic of one VPN may be "starved" by the traffic of other VPNs. Summary of the invention
[0005] The embodiments of this specification provide a quality of service scheduling method, device, and computer-readable storage medium, which are used to solve the problem that the traffic of a VPN may be "starved to death" by the traffic of other VPNs.
[0006] To solve the above technical problems, the embodiments of this specification are implemented as follows:
[0007] In a first aspect, a method for scheduling quality of service is provided, which is applied to a PE device at a service provider network edge. The method comprises:
[0008] Associating the message from the VPN to a first target queue, wherein the first target queue is one of a plurality of egress queues corresponding to the designated WAN interface of the PE device;
[0009] Under the constraint of the WAN interface bandwidth allocated to the VPN, the messages in the multiple egress queues are scheduled according to a preset service quality scheduling strategy, wherein each VPN and / or each VPN set connected to the PE device is respectively allocated a specified amount of WAN interface bandwidth.
[0010] In a second aspect, a service quality scheduling device is provided, which is applied to a service provider network edge PE device, and the device includes:
[0011] A first associating module, configured to associate a message from the VPN with a first target queue, wherein the first target queue is one of a plurality of egress queues corresponding to a designated WAN interface of the PE device;
[0012] The first scheduling module is used to schedule the messages in the multiple egress queues according to a preset service quality scheduling strategy under the constraint of the wide area network interface bandwidth allocated to the VPN, wherein each VPN and / or each VPN set connected to the PE device is respectively allocated a specified amount of wide area network interface bandwidth.
[0013] According to a third aspect, an electronic device is provided, including:
[0014] processor;
[0015] a memory for storing instructions executable by the processor;
[0016] The processor is configured to execute the instructions to implement the method as described in the first aspect.
[0017] According to a fourth aspect, a computer-readable storage medium is provided. When instructions in the storage medium are executed by a processor of an electronic device, the electronic device can execute the method described in the first aspect.
[0018] In the embodiment of the present specification, since each VPN and / or each VPN set connected to the PE device is respectively allocated a specified amount of WAN interface bandwidth, after the message from the VPN is associated with one of the multiple egress queues corresponding to the specified WAN interface of the PE device, the message in the multiple egress queues is scheduled according to the preset service quality scheduling strategy under the constraint of the WAN interface bandwidth allocated to the VPN. This can ensure that each VPN or VPN set has a certain amount of WAN interface bandwidth at the same time, so it can avoid the phenomenon that the traffic of one VPN may be "starved to death" by the traffic of other VPNs. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0020] Figure 1 It is a schematic diagram of the principle of a service quality scheduling solution in the related technology.
[0021] Figure 2 It is a flowchart of a service quality scheduling method provided in an embodiment of this specification.
[0022] Figure 3 It is a schematic diagram of the principle of a service quality scheduling method provided in an embodiment of this specification.
[0023] Figure 4 It is a flowchart of a service quality scheduling method provided by another embodiment of this specification.
[0024] Figure 5 is a schematic diagram of the structure of an electronic device according to an embodiment of the present specification;
[0025] Figure 6 It is a structural diagram of a service quality scheduling device provided in an embodiment of this specification.
[0026] Figure 7 It is a structural diagram of a service quality scheduling device provided by another embodiment of this specification. DETAILED DESCRIPTION
[0027] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in one or more embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this document.
[0028] The terms "first", "second", etc. in this specification and claims are used to distinguish similar objects, and are not used to describe a particular order or precedence. It should be understood that the terms used in this way are interchangeable where appropriate, so that the embodiments of this specification can be implemented in an order other than those illustrated or described herein. In addition, "and / or" in this specification and claims means at least one of the connected objects, and the character " / " generally means that the objects associated with each other are in an "or" relationship.
[0029] In order to solve the problem that the traffic of a virtual private network (VPN) may be "starved" by the traffic of other VPNs in the existing Quality of Service (QoS) scheduling scheme, the embodiment of this specification proposes a quality of service scheduling method, which can be executed by a service provider network edge (ProviderEdge, PE) device. The following is a detailed description with reference to the accompanying drawings.
[0030] like Figure 2 As shown, a quality of service scheduling method provided in an embodiment of this specification can be applied to a PE device. The method may include:
[0031] Step 201: Associating a message from a VPN to a first target queue, wherein the first target queue is one of a plurality of egress queues corresponding to a designated WAN interface of the PE device.
[0032] A PE device is usually equipped with multiple outbound interfaces, namely, multiple WAN interfaces. The designated WAN interface of a PE device is any one of the multiple WAN interfaces of the PE device.
[0033] A WAN interface of a PE device is equipped with multiple egress queues, which include at least one (usually 1-2) high-priority queue (priority queue) and the others are ordinary low-priority queues (ordinary queues). Taking the PE device as a PE router as an example, a corresponding WAN interface is usually equipped with 8 egress queues (8 QOS queues), which include 1 priority queue and 7 ordinary queues, expressed as: 1p7q. When scheduling traffic based on the quality of service, the traffic that needs to be protected enters the high-priority queue and gets the opportunity for priority forwarding, and other traffic enters the 7 ordinary queues according to the strategy.
[0034] As a specific implementation, associating a message with a target queue may include:
[0035] Classify the messages according to the preset information of the messages;
[0036] Determine the priority of the message according to the type of the message;
[0037] Determine the target queue according to the priority of the message;
[0038] The message is associated with the target queue.
[0039] Accordingly, associating the message from the VPN with the first target queue may include:
[0040] Classify the message from the VPN according to the preset information of the message;
[0041] Determine the priority of the message according to the type of the message;
[0042] Determine a first target queue according to the priority of the message;
[0043] The message is associated with the first target queue.
[0044] The preset information may include but is not limited to at least one of IPP (IP Precedence), Differentiated Services Code Point (DSCP) and a quintuple.
[0045] The process of associating a message to the corresponding egress queue (target queue) is the process of classifying, marking, prioritizing and coloring the traffic. The traffic is classified and prioritized according to the preset information to ensure that critical business and low-latency traffic enters the priority queue and other traffic enters the ordinary queue.
[0046] As an example, for a designated WAN interface with 8 egress queues (numbered 0-7) and a queue structure of 1p7q, the packets can be classified according to the IPP field or DSCP field of the IP packets. For example, for Internet Protocol version 4 (IPv4) packets, IPv4 packets with IPP=0 can be determined as priority forwarding class traffic, corresponding to the priority queue No. 0 associated with the designated WAN interface; IPv4 packets with IPP=1 can be determined as ordinary forwarding class 1, corresponding to the No. 1 queue associated with the designated WAN interface; IPv4 traffic with IPP=2 can be determined as ordinary forwarding class 2, corresponding to the No. 2 queue associated with the designated WAN interface, and so on.
[0047] For IPv6 packets, there are similar IPP and DSCP fields. However, DSCP has 64 values (0-63), and packets with different DSCP values can have the same forwarding priority and enter the same egress queue. For example, the forwarding priority corresponding to packets with DSCP=0-7 can be determined as 0, and associated with priority queue 0; the forwarding priority corresponding to packets with DSCP=8-15 can be determined as 1, and associated with ordinary queue 1, and so on.
[0048] As another example, the messages can be classified according to the five-tuple of the message (source address, source port, destination address, destination port number and protocol number). Each type of message corresponds to a forwarding priority and is ultimately mapped to the eight egress queues of the specified WAN interface.
[0049] It should be noted that in the embodiments of this specification, the different classification and marking methods for traffic are compatible with any existing or future QOS traffic classification and marking implementation methods, and are not limited to the classification and marking methods based on IPP, DSCP or quintuple described above.
[0050] Step 202, under the constraint of the WAN interface bandwidth allocated to the VPN, schedule the messages in the multiple egress queues according to a preset service quality scheduling strategy, wherein each VPN and / or each VPN set connected to the PE device is respectively allocated a specified amount of WAN interface bandwidth.
[0051] Optionally, before step 202, the specified amount of WAN interface bandwidth may be allocated to the VPN according to a preset policy. The preset policy may be used to allocate a certain amount of WAN interface bandwidth to each VPN and / or each VPN set received into the PE device. The preset policy may be implemented in many ways, two of which are described below.
[0052] In a first implementation, the size of the uplink traffic of the VPN may be estimated first; and the designated amount of WAN interface bandwidth may be allocated to the VPN according to the size of the uplink traffic of the VPN.
[0053] In a second implementation, the number of VPNs connected to the PE device may be determined; the allocation ratio of the WAN interface bandwidth may be set according to the number of VPNs; and the designated rated WAN interface bandwidth may be allocated to the VPN according to the allocation ratio.
[0054] Of course, the size of the uplink traffic of the VPN and the number of VPNs of the PE device may also be comprehensively considered, and then the specified rated WAN interface bandwidth may be allocated to the VPN in proportion.
[0055] Optionally, allocating the specified amount of WAN interface bandwidth to the VPN according to a preset policy may include: specifying a minimum guaranteed bandwidth for the VPN, and allocating a WAN interface bandwidth greater than or equal to the minimum guaranteed bandwidth to the VPN according to the preset policy; or, specifying a minimum guaranteed bandwidth and a maximum usable bandwidth for the VPN, and allocating a WAN interface bandwidth greater than or equal to the minimum guaranteed bandwidth and less than or equal to the maximum usable bandwidth to the VPN according to the preset policy.
[0056] The minimum guaranteed bandwidth is the minimum WAN interface bandwidth that needs to be allocated to the VPN, or the lower limit of the WAN interface bandwidth allocated to the VPN; the maximum usable bandwidth can be the upper limit of the WAN interface bandwidth allocated to the VPN. The minimum guaranteed bandwidth is the bandwidth that needs to be specified, and the maximum usable bandwidth can be specified or not.
[0057] In a specific implementation, the amount of WAN interface bandwidth allocated to the VPN (the specified amount) is greater than or equal to the minimum guaranteed bandwidth. Alternatively, the amount of WAN interface bandwidth allocated to the VPN (the specified amount) is greater than or equal to the minimum guaranteed bandwidth and less than or equal to the maximum available bandwidth.
[0058] like Figure 3 As shown in the figure, assuming that PE router R1 supports 100 VPNs, each VPN has a VPN-ID (1-100), and the following bandwidth allocation is made to VPNs on the 1G wide WAN interface of PE router R1: 50M WAN interface bandwidth is allocated to VPN1; 150M WAN interface bandwidth is allocated to VPN2-VPN10, that is, 9 VPNs share 150M bandwidth; 600M WAN interface bandwidth is allocated to VPN11-VPN100, that is, 90 VPNs share 600M bandwidth; the remaining 200M WAN interface bandwidth is reserved for other non-VPN users.
[0059] After allocating the bandwidth, the messages in the multiple egress queues may be scheduled according to a preset quality of service scheduling policy under the constraint of the wide area network interface bandwidth allocated to the VPN.
[0060] The preset service quality scheduling strategy may include but is not limited to at least one of the following:
[0061] Priority Queueing (PQ)
[0062] Weighted fair queuing (CBWFQ)
[0063] Class-based weighted fair queuing (CBWFQ).
[0064] For example, each VPN or VPN set can obtain a fixed minimum bandwidth guarantee (minimum guaranteed bandwidth), and support p2q8 within the minimum guaranteed bandwidth (such as Figure 3 The egress queues of p1q7 or p1q8 can implement various traditional scheduling strategies such as PQ (priority queue) + WFQ (weighted fair queue), which prioritizes the transmission of low-latency and high-priority services, and the remaining bandwidth is then allocated and scheduled by ordinary queues according to the policy. Among them, PQ queue scheduling ensures that high-priority traffic such as video and voice, network control messages, etc. are sent first within the limited bandwidth; the traffic in other low-priority queues complies with various scheduling strategies such as WFQ.
[0065] Optionally, scheduling the messages in the multiple egress queues according to a preset quality of service scheduling policy under the constraint of the wide area network interface bandwidth allocated to the VPN includes:
[0066] When the message traffic from the VPN does not exceed a preset bandwidth threshold or a wide area network interface bandwidth allocated to the VPN, scheduling the messages in the multiple egress queues according to a preset quality of service scheduling policy;
[0067] In the case where the message traffic from the VPN exceeds a preset bandwidth threshold or the bandwidth of the WAN interface allocated to the VPN, when the messages in the multiple egress queues are scheduled according to the preset service quality scheduling policy, the messages that exceed the preset bandwidth threshold or the bandwidth of the WAN interface allocated to the VPN will be discarded, such as packet loss according to policies such as CBWRED; or, if there is surplus physical bandwidth of the designated WAN interface, the messages in the multiple egress queues will continue to be scheduled according to the preset service quality scheduling policy.
[0068] Figure 2The illustrated embodiment provides a method for scheduling quality of service. Since each VPN and / or each VPN set connected to a PE device is respectively allocated a specified amount of WAN interface bandwidth, after associating a message from a VPN to one of the multiple egress queues corresponding to the specified WAN interface of the PE device, the messages in the multiple egress queues are scheduled according to a preset quality of service scheduling strategy under the constraint of the WAN interface bandwidth allocated to the VPN. This can ensure that each VPN or VPN set has a certain amount of WAN interface bandwidth at the same time, thus avoiding the phenomenon that the traffic of one VPN may be "starved to death" by the traffic of other VPNs.
[0069] like Figure 4 As shown, in another embodiment, a quality of service scheduling method provided in this specification can be applied to a PE device, and the method may include:
[0070] Step 200, start.
[0071] Step 203, receiving a message and determining whether the message comes from a VPN; if so, executing step 201, otherwise executing step 204.
[0072] As a PE device, the VPN interface (physical interface or logical interface) connected to the CE (Customer Edge) usually has a corresponding VPN mark. If a message enters the PE device from an interface (physical or logical interface) without a VPN mark, the message is determined to be ordinary non-VPN traffic. Otherwise, the message is determined to be VPN traffic and marked with VPN-id. In other words, whether the received message comes from VPN can be determined based on whether the message contains a VPN mark.
[0073] Step 201: Associating a message from a VPN to a first target queue, wherein the first target queue is one of a plurality of egress queues corresponding to a designated WAN interface of the PE device.
[0074] A PE device is usually equipped with multiple outbound interfaces, namely, multiple WAN interfaces. The designated WAN interface of a PE device is any one of the multiple WAN interfaces of the PE device.
[0075] A WAN interface of a PE device is configured with multiple egress queues, which include at least one (usually 1-2) high-priority queue (priority queue) and the others are common low-priority queues (common queues).
[0076] As a specific implementation, associating a message with a target queue may include:
[0077] Classify the messages according to the preset information of the messages;
[0078] Determine the priority of the message according to the type of the message;
[0079] Determine the target queue according to the priority of the message;
[0080] The message is associated with the target queue.
[0081] Accordingly, associating the message from the VPN with the first target queue may include:
[0082] Classify the message from the VPN according to the preset information of the message;
[0083] Determine the priority of the message according to the type of the message;
[0084] Determine a first target queue according to the priority of the message;
[0085] The message is associated with the first target queue.
[0086] The preset information may include but is not limited to at least one of IPP (IP Precedence), Differentiated Services Code Point (DSCP) and a quintuple.
[0087] The process of associating a message to the corresponding egress queue (target queue) is the process of classifying, marking, prioritizing and coloring the traffic. The traffic is classified and prioritized according to the preset information to ensure that critical business and low-latency traffic enters the priority queue and other traffic enters the ordinary queue.
[0088] Step 202, under the constraint of the WAN interface bandwidth allocated to the VPN, schedule the messages in the multiple egress queues according to a preset service quality scheduling strategy, wherein each VPN and / or each VPN set connected to the PE device is respectively allocated a specified amount of WAN interface bandwidth.
[0089] Optionally, before step 202, the specified amount of WAN interface bandwidth may be allocated to the VPN according to a preset policy. The preset policy may be used to allocate a certain amount of WAN interface bandwidth to each VPN and / or each VPN set received into the PE device. The preset policy may be implemented in many ways, two of which are described below.
[0090] In a first implementation, the size of the uplink traffic of the VPN may be estimated first; and the designated amount of WAN interface bandwidth may be allocated to the VPN according to the size of the uplink traffic of the VPN.
[0091] In a second implementation, the number of VPNs connected to the PE device may be determined; the allocation ratio of the WAN interface bandwidth may be set according to the number of VPNs; and the designated rated WAN interface bandwidth may be allocated to the VPN according to the allocation ratio.
[0092] Of course, the size of the uplink traffic of the VPN and the number of VPNs of the PE device may also be comprehensively considered, and then the specified rated WAN interface bandwidth may be allocated to the VPN in proportion.
[0093] Optionally, allocating the specified amount of WAN interface bandwidth to the VPN according to a preset policy may include: specifying a minimum guaranteed bandwidth for the VPN, and allocating a WAN interface bandwidth greater than or equal to the minimum guaranteed bandwidth to the VPN according to the preset policy; or, specifying a minimum guaranteed bandwidth and a maximum usable bandwidth for the VPN, and allocating a WAN interface bandwidth greater than or equal to the minimum guaranteed bandwidth and less than or equal to the maximum usable bandwidth to the VPN according to the preset policy.
[0094] The minimum guaranteed bandwidth is the minimum WAN interface bandwidth that needs to be allocated to the VPN, or the lower limit of the WAN interface bandwidth allocated to the VPN; the maximum usable bandwidth can be the upper limit of the WAN interface bandwidth allocated to the VPN. The minimum guaranteed bandwidth is the bandwidth that needs to be specified, and the maximum usable bandwidth can be specified or not.
[0095] In a specific implementation, the amount of WAN interface bandwidth allocated to the VPN (the specified amount) is greater than or equal to the minimum guaranteed bandwidth. Alternatively, the amount of WAN interface bandwidth allocated to the VPN (the specified amount) is greater than or equal to the minimum guaranteed bandwidth and less than or equal to the maximum available bandwidth.
[0096] After allocating the bandwidth, the messages in the multiple egress queues may be scheduled according to a preset quality of service scheduling policy under the constraint of the wide area network interface bandwidth allocated to the VPN.
[0097] The preset service quality scheduling strategy may include but is not limited to at least one of the following:
[0098] Priority Queueing (PQ)
[0099] Weighted fair queuing (CBWFQ)
[0100] Class-based weighted fair queuing (CBWFQ).
[0101] For example, each VPN or VPN set can obtain a fixed minimum bandwidth guarantee (minimum guaranteed bandwidth), and support P2Q8 within the minimum guaranteed bandwidth (such as Figure 3 The egress queues of P1Q7 or P1Q8 can implement various traditional scheduling strategies such as PQ (priority queue) + WFQ (weighted fair queue), which prioritizes the transmission of low-latency and high-priority services, and the remaining bandwidth is then allocated and scheduled by ordinary queues according to the policy. Among them, PQ queue scheduling ensures that high-priority traffic such as video and voice, network control messages, etc. are sent first within the limited bandwidth; the traffic in other low-priority queues complies with various scheduling strategies such as WFQ.
[0102] Optionally, scheduling the messages in the multiple egress queues according to a preset quality of service scheduling policy under the constraint of the wide area network interface bandwidth allocated to the VPN includes:
[0103] When the message traffic from the VPN does not exceed a preset bandwidth threshold or a wide area network interface bandwidth allocated to the VPN, scheduling the messages in the multiple egress queues according to a preset quality of service scheduling policy;
[0104] In the case where the message traffic from the VPN exceeds a preset bandwidth threshold or the bandwidth of the WAN interface allocated to the VPN, when the messages in the multiple egress queues are scheduled according to the preset service quality scheduling policy, the messages that exceed the preset bandwidth threshold or the bandwidth of the WAN interface allocated to the VPN will be discarded, such as packet loss according to policies such as CBWRED; or, if there is surplus physical bandwidth of the designated WAN interface, the messages in the multiple egress queues will continue to be scheduled according to the preset service quality scheduling policy.
[0105] Step 204: for a message from a non-VPN, associate the message with a second target queue, wherein the second target queue is one of the multiple egress queues.
[0106] As mentioned above, associating a message with a target queue may include:
[0107] Classify the messages according to the preset information of the messages;
[0108] Determine the priority of the message according to the type of the message;
[0109] Determine the target queue according to the priority of the message;
[0110] The message is associated with the target queue.
[0111] Then, for a message from a non-VPN, associating the message with the second target queue may include:
[0112] Classifying the message from the non-VPN according to the preset information of the message;
[0113] Determine the priority of the message according to the type of the message;
[0114] Determine a second target queue according to the priority of the message;
[0115] The message is associated with the second target queue.
[0116] The preset information may include but is not limited to at least one of IPP (IP Precedence), Differentiated Services Code Point (DSCP) and a quintuple.
[0117] The process of associating a message to the corresponding egress queue is the process of classifying, marking, prioritizing and coloring the traffic. The traffic is classified and prioritized according to the preset information to ensure that critical business and low-latency traffic enters the priority queue and other traffic enters the ordinary queue.
[0118] As an example, for a designated WAN interface with 8 egress queues (numbered 0-7) and a queue structure of 1p7q, the packets can be classified according to the IPP field or DSCP field of the IP packets. For example, for Internet Protocol version 4 (IPv4) packets, IPv4 packets with IPP=0 can be determined as priority forwarding class traffic, corresponding to the priority queue associated with the designated WAN interface, that is, queue 0; IPv4 packets with IPP=1 can be determined as ordinary forwarding class 1, corresponding to queue 1 of the designated WAN interface; IPv4 traffic with IPP=2 can be determined as ordinary forwarding class 2, corresponding to queue 2 of the designated WAN interface, and so on.
[0119] For IPv6 packets, there are similar IPP and DSCP fields. However, DSCP has 64 values (0-63), and packets with different DSCP values can have the same forwarding priority and enter the same egress queue. For example, the forwarding priority corresponding to packets with DSCP=0-7 can be determined as 0, and associated with priority queue 1; the forwarding priority corresponding to packets with DSCP=8-15 can be determined as 1, and associated with ordinary queue 1, and so on.
[0120] As another example, the messages can be classified according to the five-tuple of the message (source address, source port, destination address, destination port number and protocol number). Each type of message corresponds to a forwarding priority and is ultimately mapped to the eight egress queues of the specified WAN interface.
[0121] It should be noted that in the embodiments of this specification, different traffic classification and marking methods are compatible with existing or future QOS traffic classification and marking implementation methods, and are not limited to the classification and marking methods based on IPP, DSCP or quintuple described above.
[0122] It should also be noted that the classification method for packets from VPN is similar to the classification method for packets from non-VPN, and the two can refer to each other.
[0123] Step 205: Schedule the messages in the multiple egress queues according to the preset service quality scheduling policy under the constraint of the remaining WAN interface bandwidth, wherein the remaining WAN interface bandwidth is the bandwidth of the WAN interface bandwidth of the designated WAN interface excluding the WAN interface bandwidth allocated to the VPN.
[0124] The preset service quality scheduling strategy may include but is not limited to at least one of the following:
[0125] Priority Queueing (PQ)
[0126] Weighted fair queuing (CBWFQ)
[0127] Class-based weighted fair queuing (CBWFQ).
[0128] For example, for non-VPN traffic, it can be scheduled according to the PQ+CBWFQ scheduling policy and the queue message discarding policy when congestion occurs, under the constraint of the remaining WAN interface bandwidth. Specifically, the messages in the priority queue are sent first, and then the ordinary messages are sent (such as the other 7 queues are fair, each sending a message). When the non-VPN traffic exceeds the remaining WAN interface bandwidth or the specified bandwidth threshold, the messages in the queue are discarded first according to policies such as CBWRED.
[0129] Figure 4 The illustrated embodiment provides a quality of service scheduling method, which not only schedules the messages in the multiple egress queues according to a preset quality of service scheduling strategy under the constraint of the WAN interface bandwidth allocated to the VPN, thereby ensuring that each VPN or VPN set has a certain amount of WAN interface bandwidth at the same time, thereby avoiding the phenomenon that the traffic of one VPN may be "starved to death" by the traffic of other VPNs, but also can schedule non-VPN traffic under the constraint of the remaining WAN interface bandwidth, thereby avoiding the non-VPN traffic being "starved to death".
[0130] The quality of service scheduling method provided in the embodiments of this specification can be applied to various quality of service scheduling scenarios, one of which is introduced below - IPv6.
[0131] With the widespread application of SRv6 (Segment Routing IPv6, segment routing based on IPv6 forwarding plane) technology, the LDP6 protocol has been shelved in the forward-to-air separation mode. The traditional deployment method of associating RSVP-TE tunnels with VPNs to ensure VPN bandwidth is no longer sufficient. SRv6's guarantee of bandwidth is increasingly dependent on the controller's collection of traffic and calculation of the best route, and then controls the QoS policy of the distributed device to ensure VPN users' demand for service QoS. As the first node for traffic to enter the wide area network, the PE router will implement a service quality scheduling method (a service quality scheduling method provided in the embodiments of this specification) that is subject to the bandwidth constraints allocated to the VPN, which will become a basic function of the PE router, and its application prospects are worth looking forward to.
[0132] When SRv6 is widely used, IPv4 networks are gradually withdrawn from operator networks, and the traditional RSVP-TE tunnels that guarantee VPN QoS are abandoned, VPN-based QoS scheduling strategies will be widely used to guarantee the QoS of VPN users. In other words, the quality of service scheduling method provided in the embodiments of this specification has a good application prospect.
[0133] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0134] Figure 5 This is a schematic diagram of the structure of an electronic device according to an embodiment of this specification. Figure 5 At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and a memory. The memory may include a memory, such as a high-speed random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage. Of course, the electronic device may also include hardware required for other services.
[0135] The processor, network interface and memory can be interconnected through an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 5 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0136] The memory is used to store the program. Specifically, the program may include a program code, and the program code includes a computer operation instruction. The memory may include a memory and a non-volatile memory, and provides instructions and data to the processor.
[0137] The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it, forming a service quality scheduling device at the logical level. The processor executes the program stored in the memory and is specifically used to perform the following operations:
[0138] Associating the message from the VPN to a first target queue, wherein the first target queue is one of a plurality of egress queues corresponding to the designated WAN interface of the PE device;
[0139] Under the constraint of the WAN interface bandwidth allocated to the VPN, the messages in the multiple egress queues are scheduled according to a preset service quality scheduling strategy, wherein each VPN and / or each VPN set connected to the PE device is respectively allocated a specified amount of WAN interface bandwidth.
[0140] The above is as in this manual Figure 5The method performed by the quality of service scheduling device disclosed in the illustrated embodiment can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor or an instruction in software form. The above processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of this specification can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of this specification can be directly embodied as a hardware decoding processor for execution, or a combination of hardware and software modules in the decoding processor for execution. The software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0141] The electronic device may also perform Figure 2 or Figure 4 Method and service quality scheduling device are implemented in Figure 2 or Figure 4 The functions in the illustrated embodiments will not be described in detail in this specification.
[0142] Of course, in addition to software implementation, the electronic device of this specification does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc., that is to say, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0143] The embodiment of the present specification also provides a computer-readable storage medium, which stores one or more programs, wherein the one or more programs include instructions, which, when executed by a portable electronic device including a plurality of application programs, enable the portable electronic device to execute Figure 2 or Figure 4 The method of the embodiment shown is specifically used to perform the following operations:
[0144] Associating the message from the VPN to a first target queue, wherein the first target queue is one of a plurality of egress queues corresponding to the designated WAN interface of the PE device;
[0145] Under the constraint of the WAN interface bandwidth allocated to the VPN, the messages in the multiple egress queues are scheduled according to a preset service quality scheduling strategy, wherein each VPN and / or each VPN set connected to the PE device is respectively allocated a specified amount of WAN interface bandwidth.
[0146] Figure 6 This is a schematic diagram of the structure of a service quality scheduling device 600 according to an embodiment of this specification. Figure 6 In a software implementation, the quality of service scheduling device 600 may include: a first association module 601 and a first scheduling module 602.
[0147] The first associating module 601 is used to associate the message from the VPN with the first target queue, wherein the first target queue is one of the multiple egress queues corresponding to the designated WAN interface of the PE device.
[0148] A PE device is usually equipped with multiple outbound interfaces, namely, multiple WAN interfaces. The designated WAN interface of a PE device is any one of the multiple WAN interfaces of the PE device.
[0149] A WAN interface of a PE device is configured with multiple egress queues, which include at least one (usually 1-2) high-priority queue (priority queue) and the others are common low-priority queues (common queues).
[0150] As a specific implementation, the first association module 601 may be specifically used for:
[0151] Classify the message from the VPN according to the preset information of the message;
[0152] Determine the priority of the message according to the type of the message;
[0153] Determine a first target queue according to the priority of the message;
[0154] The message is associated with the first target queue.
[0155] The preset information may include but is not limited to at least one of IPP (IP Precedence), Differentiated Services Code Point (DSCP) and a quintuple.
[0156] The first scheduling module 602 is used to schedule the messages in the multiple egress queues according to a preset service quality scheduling strategy under the constraint of the wide area network interface bandwidth allocated to the VPN, wherein each VPN and / or each VPN set connected to the PE device is respectively allocated a specified amount of wide area network interface bandwidth.
[0157] Optionally, the device 600 may also include: a bandwidth allocation module, which is used to allocate the specified amount of WAN interface bandwidth to the VPN according to the preset policy before scheduling the messages in the multiple egress queues according to the preset service quality scheduling policy. Through the preset policy, a certain amount of WAN interface bandwidth can be allocated to each VPN and / or each VPN set received into the PE device. There are many ways to implement this preset policy, and two of them are introduced below.
[0158] In a first implementation, the size of the uplink traffic of the VPN may be estimated first; and the designated amount of WAN interface bandwidth may be allocated to the VPN according to the size of the uplink traffic of the VPN.
[0159] In a second implementation, the number of VPNs connected to the PE device may be determined; the allocation ratio of the WAN interface bandwidth may be set according to the number of VPNs; and the designated rated WAN interface bandwidth may be allocated to the VPN according to the allocation ratio.
[0160] Of course, the size of the uplink traffic of the VPN and the number of VPNs of the PE device may also be comprehensively considered, and then the specified rated WAN interface bandwidth may be allocated to the VPN in proportion.
[0161] Optionally, the bandwidth allocation module can be specifically used to: specify a minimum guaranteed bandwidth for the VPN, and allocate a wide area network interface bandwidth greater than or equal to the minimum guaranteed bandwidth to the VPN according to a preset policy; or, specify a minimum guaranteed bandwidth and a maximum usable bandwidth for the VPN, and allocate a wide area network interface bandwidth greater than or equal to the minimum guaranteed bandwidth and less than or equal to the maximum usable bandwidth to the VPN according to a preset policy.
[0162] The minimum guaranteed bandwidth is the minimum WAN interface bandwidth that needs to be allocated to the VPN, or the lower limit of the WAN interface bandwidth allocated to the VPN; the maximum usable bandwidth can be the upper limit of the WAN interface bandwidth allocated to the VPN. The minimum guaranteed bandwidth is the bandwidth that needs to be specified, and the maximum usable bandwidth can be specified or not.
[0163] After the bandwidth is allocated, the first scheduling module 602 can schedule the messages in the multiple egress queues according to a preset quality of service scheduling policy under the constraint of the wide area network interface bandwidth allocated to the VPN.
[0164] The preset service quality scheduling strategy may include but is not limited to at least one of the following:
[0165] Priority Queueing (PQ)
[0166] Weighted fair queuing (CBWFQ)
[0167] Class-based weighted fair queuing (CBWFQ).
[0168] Optionally, the first scheduling module 602 may be specifically configured to:
[0169] When the message traffic from the VPN does not exceed a preset bandwidth threshold or a wide area network interface bandwidth allocated to the VPN, scheduling the messages in the multiple egress queues according to a preset quality of service scheduling policy;
[0170] In the case where the message traffic from the VPN exceeds a preset bandwidth threshold or the bandwidth of the WAN interface allocated to the VPN, when the messages in the multiple egress queues are scheduled according to the preset service quality scheduling policy, the messages that exceed the preset bandwidth threshold or the bandwidth of the WAN interface allocated to the VPN will be discarded, such as packet loss according to policies such as CBWRED; or, if there is surplus physical bandwidth of the designated WAN interface, the messages in the multiple egress queues will continue to be scheduled according to the preset service quality scheduling policy.
[0171] Figure 6 The illustrated embodiment provides a quality of service scheduling device 600, because each VPN and / or each VPN set connected to the PE device is respectively allocated a specified amount of WAN interface bandwidth, after the message from the VPN is associated with one of the multiple egress queues corresponding to the specified WAN interface of the PE device, the message in the multiple egress queues is scheduled according to the preset quality of service scheduling strategy under the constraint of the WAN interface bandwidth allocated to the VPN. This can ensure that each VPN or VPN set has a certain amount of WAN interface bandwidth at the same time, so it can avoid the phenomenon that the traffic of one VPN may be "starved to death" by the traffic of other VPNs.
[0172] Figure 7 This is a schematic diagram of the structure of a service quality scheduling device 600 according to another embodiment of the present specification. Figure 6In a software implementation, the service quality scheduling device 600 may include: a judgment module 603, a first association module 601, a first scheduling module 602, a second association module 604, and a second scheduling module 605.
[0173] The judgment module 603 is used to receive a message and judge whether the message comes from a VPN; if so, the first association module 601 is triggered, otherwise, the second association module 604 is triggered.
[0174] The first associating module 601 is used to associate the message from the VPN with the first target queue, wherein the first target queue is one of the multiple egress queues corresponding to the designated WAN interface of the PE device.
[0175] As an example, the first association module 601 may be used to:
[0176] Classify the message from the VPN according to the preset information of the message;
[0177] Determine the priority of the message according to the type of the message;
[0178] Determine a first target queue according to the priority of the message;
[0179] The message is associated with the first target queue.
[0180] The preset information may include but is not limited to at least one of IPP (IP Precedence), Differentiated Services Code Point (DSCP) and a quintuple.
[0181] The first scheduling module 602 is used to schedule the messages in the multiple egress queues according to a preset service quality scheduling strategy under the constraint of the wide area network interface bandwidth allocated to the VPN, wherein each VPN and / or each VPN set connected to the PE device is respectively allocated a specified amount of wide area network interface bandwidth.
[0182] Optionally, the device 600 may further include: a bandwidth allocation module, configured to allocate the specified amount of WAN interface bandwidth to the VPN according to a preset policy before scheduling the messages in the multiple egress queues according to a preset quality of service scheduling policy.
[0183] Optionally, the first scheduling module 602 may be specifically configured to:
[0184] When the message traffic from the VPN does not exceed a preset bandwidth threshold or a wide area network interface bandwidth allocated to the VPN, scheduling the messages in the multiple egress queues according to a preset quality of service scheduling policy;
[0185] In the case where the message traffic from the VPN exceeds a preset bandwidth threshold or the bandwidth of the WAN interface allocated to the VPN, when the messages in the multiple egress queues are scheduled according to the preset service quality scheduling policy, the messages that exceed the preset bandwidth threshold or the bandwidth of the WAN interface allocated to the VPN will be discarded, such as packet loss according to policies such as CBWRED; or, if there is surplus physical bandwidth of the designated WAN interface, the messages in the multiple egress queues will continue to be scheduled according to the preset service quality scheduling policy.
[0186] The second associating module 604 is configured to associate a message from a non-VPN with a second target queue, wherein the second target queue is one of the multiple egress queues.
[0187] Specifically, the second association module 604 may be used to:
[0188] Classifying the message from the non-VPN according to the preset information of the message;
[0189] Determine the priority of the message according to the type of the message;
[0190] Determine a second target queue according to the priority of the message;
[0191] The message is associated with the second target queue.
[0192] The preset information may include but is not limited to at least one of IPP (IP Precedence), Differentiated Services Code Point (DSCP) and a quintuple.
[0193] The second scheduling module 605 is used to schedule the messages in the multiple egress queues according to the preset service quality scheduling policy under the constraint of the remaining WAN interface bandwidth, wherein the remaining WAN interface bandwidth is the bandwidth of the WAN interface bandwidth of the designated WAN interface excluding the WAN interface bandwidth allocated to the VPN.
[0194] The preset service quality scheduling strategy may include but is not limited to at least one of the following:
[0195] Priority Queueing (PQ)
[0196] Weighted fair queuing (CBWFQ)
[0197] Class-based weighted fair queuing (CBWFQ).
[0198] Figure 7 The illustrated embodiment provides a quality of service scheduling device 600, which not only schedules the messages in the multiple egress queues according to a preset quality of service scheduling strategy under the constraint of the WAN interface bandwidth allocated to the VPN, thereby ensuring that each VPN or VPN set has a certain amount of WAN interface bandwidth at the same time, thereby avoiding the phenomenon that the traffic of one VPN may be "starved to death" by the traffic of other VPNs, but also can schedule non-VPN traffic under the constraint of the remaining WAN interface bandwidth, thereby avoiding the non-VPN traffic being "starved to death".
[0199] The service quality scheduling device 600 provided in the embodiment of this specification can also execute Figure 2 or Figure 4 method, and implement the service quality scheduling method in Figure 2 or Figure 4 The functions of the illustrated embodiments will not be described in detail in the embodiments of this specification.
[0200] In short, the above description is only a preferred embodiment of this specification and is not intended to limit the protection scope of this specification. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this specification shall be included in the protection scope of this specification.
[0201] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0202] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0203] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0204] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
Claims
1. A quality of service scheduling method, applied to a service provider network edge PE device, the method comprising: Associating the message from the VPN to a first target queue, wherein the first target queue is one of a plurality of egress queues corresponding to the designated WAN interface of the PE device; Under the constraint of the WAN interface bandwidth allocated to the VPN, the messages in the multiple egress queues are scheduled according to a preset service quality scheduling strategy, wherein each VPN and / or each VPN set connected to the PE device is respectively allocated a specified amount of WAN interface bandwidth.
2. The method according to claim 1, before scheduling the packets in the plurality of egress queues according to a preset quality of service scheduling policy under the constraint of the wide area network interface bandwidth allocated to the VPN, the method further comprises: The specified amount of wide area network interface bandwidth is allocated to the VPN according to a preset policy.
3. The method according to claim 2, wherein allocating the specified rated WAN interface bandwidth to the VPN according to a preset policy comprises: estimating the size of the upstream traffic of the VPN; The designated amount of WAN interface bandwidth is allocated to the VPN according to the size of the uplink traffic of the VPN.
4. The method according to claim 2, wherein allocating the specified rated WAN interface bandwidth to the VPN according to a preset policy comprises: Determine the number of VPNs connected to the PE device; Setting the allocation ratio of the WAN interface bandwidth according to the number of VPNs; The specified rated wide area network interface bandwidth is allocated to the VPN according to the allocation ratio.
5. The method according to any one of claims 2 to 4, wherein allocating the specified amount of WAN interface bandwidth to the VPN according to a preset policy comprises: Specifying a minimum guaranteed bandwidth for the VPN, and allocating a wide area network interface bandwidth greater than or equal to the minimum guaranteed bandwidth to the VPN according to a preset policy; or, A minimum guaranteed bandwidth and a maximum usable bandwidth are specified for the VPN, and a wide area network interface bandwidth greater than or equal to the minimum guaranteed bandwidth and less than or equal to the maximum usable bandwidth is allocated to the VPN according to a preset policy.
6. The method according to any one of claims 1 to 4, wherein the step of scheduling the packets in the plurality of egress queues according to a preset quality of service scheduling policy under the constraint of the wide area network interface bandwidth allocated to the VPN comprises: When the message traffic from the VPN does not exceed a preset bandwidth threshold or a wide area network interface bandwidth allocated to the VPN, scheduling the messages in the multiple egress queues according to a preset quality of service scheduling policy; In the case where the message traffic from the VPN exceeds a preset bandwidth threshold or the bandwidth of the wide area network interface allocated to the VPN, when the messages in the multiple egress queues are scheduled according to the preset quality of service scheduling policy, the messages exceeding the preset bandwidth threshold or the bandwidth of the wide area network interface allocated to the VPN are discarded, or if there is surplus physical bandwidth of the designated wide area network interface, the messages in the multiple egress queues continue to be scheduled according to the preset quality of service scheduling policy.
7. The method according to claim 1, before associating the message from the VPN to the first target queue, the method further comprises: Receive a message and determine whether the message comes from a VPN; For the message from the VPN, the step of associating the message from the VPN with the first target queue is performed.
8. The method according to claim 6, further comprising: For a message from a non-VPN, associating the message with a second target queue, wherein the second target queue is one of the multiple egress queues; Under the constraint of the remaining WAN interface bandwidth, the packets in the multiple egress queues are scheduled according to the preset service quality scheduling policy, wherein the remaining WAN interface bandwidth is the bandwidth of the WAN interface bandwidth of the designated WAN interface excluding the WAN interface bandwidth allocated to the VPN.
9. The method according to any one of claims 1-4, 7-8, wherein: Associate a message with the target queue, including: Classify the messages according to the preset information of the messages; Determine the priority of the message according to the type of the message; Determine the target queue according to the priority of the message; The message is associated with the target queue.
10. The method according to claim 9, wherein: The preset information includes at least one of an IPP, a differentiated services code point DSCP and a quintuple.
11. The method according to any one of claims 1-4, 7-8, wherein the preset quality of service scheduling strategy comprises at least one of the following: Priority queue PQ; Weighted Fair Queuing WFQ; Class-Based Weighted Fair Queuing (CBWFQ).
12. An electronic device comprising: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the method according to any one of claims 1 to 11.
13. A computer-readable storage medium, when instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the method according to any one of claims 1 to 11.
Citation Information
Cited By
Financial transaction-oriented multi-link intelligent routing method and system
CN122027547A