A course I am watching mentions that an essential part of QoS is the use of multiple queues.
How exactly do these multiple queues work? Are they built into the device or is manual configuration required to create them?
Those queues are 'built into the device' (may be hardware or software, depending on design) and usually have some default configuration that can often be changed by configuration.
A main challenge of QoS is to establish some kind of 'fairness' - prioritize a certain class of traffic without choking the rest of the network.
Queues allow for a simple and possibly hardware-based approach. Imagine three classes of traffic - realtime, priority and best effort, and accordingly three queues where packets are added. If you simply serve realtime as long as there are packets in it, it might choke lower-class traffic completely.
Therefore, you run a weighted round-robin scheme on the queues like 4:2:1
- forward (up to) four packets from the realtime queue, (up to) two from the priority queue, one from best effort, and then start over. That way, important traffic is prioritized, but no class can choke any of the others. Given that higher-priority traffic is usually lower volume as well, the traffic shaping impact is most often even negligible on lower-priority traffic.