I think all of us have experienced congestion management in our lives.
You get to the airport and you want to check in, there's a queue or a line, so you have to wait before
your bags can be processed.
You get to security at the airport and you have to wait in a queue or a line you're driving on the highway
or motorway and lanes have been closed.
It results in congestion, which results in a queuing mechanism being used to filter the traffic.
So queuing mechanisms manage congestion.
Different queuing mechanisms can be used in the US.
As an example, you have TSA PreCheck, so that helps you get through security quicker.
If you've got a first class airplane ticket, you're going to be processed quicker or better at check
in than if you've got an economy class ticket.
An ambulance will take priority on a motorway or a highway when there's congestion versus a standard
car.
So different queuing mechanisms can be used to determine how traffic is processed.
With round robin queuing mechanisms, all traffic is treated the same way.
That means that everyone is treated the same way but results in delay for real time traffic.
You could also implement a strict queuing mechanism where high priority traffic is always processed
first.
The advantage of that is voice packets will be transmitted first.
But if there's a lot of voice traffic or high priority traffic, it could result in starvation of less
important traffic.
If you're constantly sending a lot of voice and video, your FTP traffic may never be transmitted because
you are always transmitting video and voice first in a strict priority queuing mechanism.
So with congestion management, we have queuing or buffering which determines the ordering of packets
in the output buffers.
In other words, it determines how traffic leaves a router interface or leaves a switch interface.
You do have ingress queues, but for now we'll just concentrate on egress queuing mechanisms.
Queuing is only required when there's congestion.
If you're driving on the highway or motorway late at night and there are six lanes and there are only
a few cars, there's no need to have a queuing mechanism.
So queuing is used when there's congestion, hence the term congestion management when queues fill up,
packets are reordered so that high priority packets are sent out of a router interface first rather
than lower priority packets.
So again, when this congestion, you may have high priority packets and low priority packets arriving.
A queuing mechanism is used to determine which packets should be processed first and then they are scheduled
for transmission out of the interface of a router.
So when packets arrive they are put into classes and will be processed on how important they are or
based on the queuing algorithm used.
More important packets will be transmitted first before less important traffic as an example.
So they'll be scheduled for sending out of the interface of the router before less important packets.
So queuing is the logic of ordering packets in output buffers.
Scheduling is a process of deciding which packets should be sent out next.
Scheduling occurs regardless of whether there's congestion on the link.
Queuing is only activated when congestion occurs, when queues fill up, packets are reordered so that
high priority packets can be sent out before lower priority packets.