I need some help here as I am not familiar with Juniper CoS, and I am not sure if CoS function of Juniper MX router can do the job. What I want to do is, prioritise and allocate bandwidth to different classes of outgoing traffic to an ISP.
My ISP link have a basic 200Mbps subscription and can burst to 400Mbps but with extra cost.
I want to classify all my outgoing traffic to an ISP to 4 different classes, best-effort, assured-forwarding, expedited-forwarding and network-control.
Best-effort and assured-forwarding have low and medium priority respectively, and they can allocate up to 200Mbps if the link usage is not over 200Mbps. , to avoid extra cost.
Only expedited-forwarding and network-control can burst to 400Mbps.
Is that possible to do so on Juniper MX platform? Many thanks to your help and advise in advance.
Greetings, Yes you can, in case you have an iOS background, CoS is the equivalent of QoS, with CoS you can classify your traffic into forwarding classes then map them to a physical queue, then you can prioritize and set the bandwidth percentage to each forwarding class as desired with a scheduler, you can manage out of profile traffic as you want with a shaper ( outbound traffic) or a policier ( inbound traffic) you can add and change the traffic markings with rewrite rules, etc. I will share this guide so you can have some insights as of how you can go about this task and the actual commands you need :
Thanks for your reply. After studying the docs, I still have some questions.
Is that possible for two queues to share a sum of 200Mbps, which other queue can burst up to 400Mbps?
Like, when class best-effort is using 80 Mbps, then class assured-forwarding can use up to 120Mbps. When class best-effort is using 150 Mbps, then class assured-forwarding can use up to 50Mbps. And the other classes can use up to 400Mbps.
Assuming I am getting your second query correctly, let me answer this for you.
Yes, it is possible to share bandwidth between 2 queues. You will have to configure schedulers, attach that to the two queues, and then apply shapers. Assuming traffic is classified and going to BE, AF queue at egress. you need to have schedulers say S1 attached to both queues BE, AF.
Although the above is achievable, in case traffic exceeds 200 Mbps, there cannot be a way in which you can divert the excess traffic to another queue. Both Queues will meet their guaranteed rates first, then will move to the excess region. So, it depends upon per queue queued traffic. In my understanding, there is no feature that can pick up the dropped packets and forward it to another queue.
You can always define priority to the scheduling as per your needs. Please refer the below-