How to Reduce VPN Packet Loss with QoS and Traffic Shaping


Packet loss is a significant issue when using Virtual Private Networks (VPNs), as it can result in slow speeds, high latency, and poor user experience. To mitigate these issues, Quality of Service (QoS) and traffic shaping techniques can be utilized to prioritize and control traffic, ensuring that VPN packets are transmitted efficiently with minimal loss. In this article, we will explore how to reduce VPN packet loss using QoS and traffic shaping, with a focus on configuration and code examples.

What is QoS and Traffic Shaping?

Quality of Service (QoS) refers to the management of network resources to ensure that the most critical data traffic, such as VPN packets, receives priority over less important traffic. Traffic shaping, on the other hand, is the process of controlling the flow of data over the network to optimize performance and avoid congestion. Both techniques can work together to reduce VPN packet loss by ensuring that VPN traffic is given the necessary bandwidth and low-latency paths.

Setting Up QoS for VPN Traffic

Implementing QoS on your router or firewall can help ensure that VPN traffic is prioritized over other types of traffic. Below is an example of how to configure QoS on a router using the CLI (Command Line Interface) for a Cisco router.


! Define the VPN traffic class
class-map match-any VPN-Class
 match protocol ipsec
 match protocol udp
 match protocol gre

! Define the QoS policy
policy-map VPN-QoS
 class VPN-Class
  priority percent 70
 class class-default
  fair-queue

! Apply the QoS policy to the interface
interface GigabitEthernet0/1
 service-policy output VPN-QoS

In this configuration, we first define a class for VPN traffic using the class-map command, specifying protocols such as IPSec, UDP, and GRE. The policy-map command is then used to assign a 70% priority to VPN traffic, ensuring that it gets sufficient bandwidth. Finally, we apply this policy to the outgoing interface with the service-policy command.

Traffic Shaping for VPN Optimization

Traffic shaping ensures that the data flow is controlled, which is particularly important for VPN connections where bandwidth may be limited. Here is an example of traffic shaping configuration on a Cisco router that uses VPN traffic shaping.


! Define the VPN traffic class
class-map match-any VPN-Class
 match protocol ipsec
 match protocol udp
 match protocol gre

! Define the traffic shaping policy
policy-map VPN-Traffic-Shaping
 class VPN-Class
  shape average 1024000 102400
 class class-default
  fair-queue

! Apply the traffic shaping policy to the interface
interface GigabitEthernet0/1
 service-policy output VPN-Traffic-Shaping

In this configuration, the shape average command is used to define an average bandwidth of 1 Mbps for VPN traffic with a maximum burst of 100 KB. This helps to smooth out traffic spikes and prevent congestion, reducing packet loss. The fair-queue command ensures that other traffic is managed appropriately without affecting the VPN traffic too much.

Advanced QoS and Traffic Shaping Configuration

For more advanced control, you can combine both QoS and traffic shaping to manage the VPN and non-VPN traffic more effectively. Below is an example that configures both techniques in tandem, giving VPN traffic the highest priority and shaping other less critical traffic.


! Define VPN traffic class
class-map match-any VPN-Class
 match protocol ipsec
 match protocol udp
 match protocol gre

! Define non-VPN traffic class
class-map match-any Non-VPN-Class
 match protocol http
 match protocol https
 match protocol ftp

! Define the QoS policy
policy-map Combined-QoS
 class VPN-Class
  priority percent 80
 class Non-VPN-Class
  bandwidth percent 10
 class class-default
  fair-queue

! Define the traffic shaping policy
policy-map Combined-Traffic-Shaping
 class VPN-Class
  shape average 1024000 512000
 class Non-VPN-Class
  shape average 512000 256000
 class class-default
  fair-queue

! Apply the QoS and traffic shaping policies
interface GigabitEthernet0/1
 service-policy output Combined-QoS
 service-policy output Combined-Traffic-Shaping

In this advanced configuration, we have two distinct traffic classes: one for VPN traffic and one for non-VPN traffic. The QoS policy prioritizes VPN traffic with 80% of the bandwidth, while the non-VPN traffic gets 10%. Traffic shaping is applied to both classes to control bandwidth usage and prevent congestion. This setup ensures that VPN traffic always gets the bandwidth it needs, while non-critical traffic is managed to avoid packet loss.

Monitoring and Adjusting QoS and Traffic Shaping

Once the QoS and traffic shaping policies are applied, it’s important to monitor the network performance and adjust the settings as needed. Using tools such as SNMP or network monitoring software can help you track VPN packet loss, latency, and overall network utilization.


! Show the QoS policy statistics
show policy-map interface GigabitEthernet0/1
! Show the traffic shaping statistics
show shape interface GigabitEthernet0/1

The show policy-map command will display the status of the applied QoS policy, including traffic statistics for each class. The show shape command will provide information on the traffic shaping configuration and how it is affecting the network. Based on this data, you may need to fine-tune the bandwidth allocation and traffic shaping parameters to optimize VPN performance and reduce packet loss.

We earn commissions using affiliate links.


14 Privacy Tools You Should Have

Learn how to stay safe online in this free 34-page eBook.


Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top