QoS is a generic name for a set of competing algorithms which attempt to enable network administrators to treat different types of network traffic with different levels of priority.
Queuing
One method of implementing QoS is to utilize some sort of advanced queueing algorithm.
Simple networks process traffic with a FIFO (First In - First Out) queue. Packets which are received first are processed first.
QoS comes into play when the network admin wants to treat some packets differently than others. For example: e-mail packets can be delayed for several minutes with no one noticing, while
VoIP packets cannot be delayed for more than a tenth of a second before users notice a problem.
In a true FIFO system, all packets are stored in one queue. An advancement over FIFO queuing is Fair Queuing (FQ). In an FQ system, each type of packet is stored in a it's own queue. FQ isn't terribly useful, but a variation of it is. That variation is Weighted Fair Queuing (WFQ). In a WFQ system, each queue can be given a different priority level. That is where QoS really begins.
Improvements to WFQ include Class Based Weighted Fair Queuing (CB-WFQ), where each type of traffic is assigned to a class and each class is given it's own queue. CB-WFQ allows for easier queue management.
Hierarchical Weighted Fair Queuing (HWFQ) is another improvement to simple WFQ. In HWFQ, the network device monitors the worst-case packet delay for each queue and adjusts to queue priorities automatically.
Random Early Detection
Random Early Detection (RED) is a an algorithm which simply drops packets if too many are being received. This causes the devices which are sending the packets to notice a problem and reduce their transmissions.
An improvement to RED is Weighted Random Early Detection (WRED). WRED is RED which utilizes the IP headers priority value to determine which packets to drop.
Traffic Shaping and Rate Limiting
Another method of implementing QoS is traffic shaping. In traffic shaping, traffic from each source is monitored for bandwidth utilization. When traffic from a specific source is too high, packets from that source are then queued (delayed).
Rate Limiting is an improvement on traffic shaping. With Rate Limiting, the packets are not simply queued, the packets can also have their IP priority levels altered or they can be dropped altogether.
Did this help to answer your question? This is actually far better than the current FAQ answer, so I will move this post into the FAQ.
