{"id":1022,"date":"2026-05-01T03:48:59","date_gmt":"2026-05-01T03:48:59","guid":{"rendered":"https:\/\/networkingnotebook.com\/?p=1022"},"modified":"2026-05-01T03:50:47","modified_gmt":"2026-05-01T03:50:47","slug":"qos-scheduling-shaping-policing","status":"publish","type":"post","link":"https:\/\/networkingnotebook.com\/?p=1022","title":{"rendered":"QOS Scheduling\/Shaping\/Policing"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Today I am going to talk about QOS scheduling. Scheduling is a QOS mechanism that determines the order and timing at which packets are taken from queues and sent out over a physical network link. Different types of scheduling are round robin, CBWFQ (Class Based Weighted Fair Queueing), and LLQ (Low Latency Queue.)&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Round Robin-<\/strong> The first type of scheduling mechanism is round robin. Round robin is a scheduling mechanism used in networking to process queues in a circular, sequential order, giving each queue an equal opportunity to be served. Round Robin works by servicing one queue at a time in turn. Round robin can either send a fixed amount of packet or a fixed amount of data from each queue before moving to the next. For example if a round robin is configured to only send 10 packets per queue, if there are 5 different queues from A to E, round robin will send 10 packets from queue A then send 10 packets from queue B, then send 10 packets from queue C and so on.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>CBWFQ- <\/strong>Another type of scheduling mechanism is CBWFQ. CBWFQ is a scheduling mechanism that allows network engineers to create custom traffic classes and assign them a guaranteed minimum amount of bandwidth during congestion. It is important to clarify that this guaranteed amount of bandwidth is only during congestion when there is not sufficient bandwidth to keep up with the incoming packets. Traffic can be divided into classes based on the importance of the company, but typical classes are usually separated into one for video, best effort, or bulk file transfers. During congestion, video traffic may be given a higher minimum amount of bandwidth allowing for it to perform better than traffic with a lower minimum guaranteed bandwidth such as bulk file transfers.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LLQ- <\/strong>LLQ is another scheduling mechanism that is designed to improve the already existing CBWFQ. It improves CBWFQ by adding a strict priority queue for delay sensitive traffic. A strict priority queue designed for real time applications such as Voice over IP that need low latency, low jitter and low packet loss. Traffic placed in a strict priority queue is always serviced before any other queues, allowing it to bypass normal queueing delays. LLQ is often paired with traffic marked with DSCP PHB of EF. For example if there are two queues, one is A and another is B. A can have 100 packets in its queue, while B can have 0 packets in its queue. If at any point 10 packets arrive at queue B, those 10 packets will be serviced immediately. This is very powerful so to make sure that the LLQ is not starving other traffic classes, there is policing to prevent it from consuming all available bandwidth.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Configured Rate- <\/strong>Now that we\u2019ve discussed scheduling, there are two more features that are popular in QOS to control traffic if it is exceeding a configured traffic rate for the interface. The two ways to control them are traffic shaping and traffic policing. A configured rate is assigned by a network engineer and it is the maximum amount of bandwidth an interface can use. If traffic moves too fast and exceeds that configured rate, traffic shaping or policing will take action to remediate the situation.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Traffic Shaping- <\/strong>When traffic exceeds a configured rate, traffic shaping is designed to buffer packets into a queue, delay their transmission, and release them at a steady, gradual, configured rate. Traffic shaping is most commonly assigned on the egress (outbound) side of the interface, and enforces the desired traffic rate set by the network engineer. This is great to prevent two endpoints with different speeds. For example if endpoint A sends data at 1 Gbps and endpoint B can only send data at 500 Mbps, then there would be constant network congestion. Traffic shaping can match endpoint B\u2019s speed, allowing for smooth, consistent traffic flow.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Traffic Policing- <\/strong>When traffic exceeds a configured rate, traffic policing handles it a bit differently. Traffic policing drops or remarks packets if they exceed the configured traffic rate, instead of buffering them like traffic shaping. Traffic policing can be applied on either ingress (inbound) or egress (outbound.) When traffic is being sent faster or received faster than it should be traffic policing will just drop the excess packets. Traffic policing can also remark packets by changing their priority, so instead of dropping packets it can change an EF packet into a DF packet. This allows the packet to continue to traverse the network with a downgraded QOS level instead of being immediately discarded.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Both of these methods are great at controlling the rate at which traffic flows but each has their own flaws. With traffic shaping, the network is more likely to experience latency and jitter. With traffic policing, the network is more likely to experience packet loss.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today I am going to talk about QOS scheduling. Scheduling is a QOS mechanism that determines the order and timing at which packets are taken from queues and sent out over a physical network link. Different types of scheduling are round robin, CBWFQ (Class Based Weighted Fair Queueing), and LLQ (Low Latency Queue.)&nbsp; Round Robin-&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1022","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/posts\/1022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1022"}],"version-history":[{"count":2,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/posts\/1022\/revisions"}],"predecessor-version":[{"id":1024,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=\/wp\/v2\/posts\/1022\/revisions\/1024"}],"wp:attachment":[{"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/networkingnotebook.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}