Providing QoS appropriate to each application requires sorting packets by application. Routers support QoS facilities such as DiffServ to specify packet priorities through the network, but DiffServ is only useful if packets are sorted accurately. Most routers sort only by matching the port number in a packet to well-known port numbers. But this technique is not adequate.
For example, the file-sharing protocols used for network-choking music downloads cannot be detected by port number or even by examining the first few bytes of the packet. Recent protocols use dynamic port numbers and encode in HTTP to masquerade as legitimate Web traffic. QoS appliances look deep into the packet to detect these protocols. They employ tactics such as completely blocking these protocols, dropping them to low priority, or blocking uploads while permitting downloads.
QoS appliances use a variety of techniques to control the three parameters that impact VoIP call quality: delay, jitter and packet loss.
Delay consists of the time consumed by the codec plus the time for a packet to travel though the network. It becomes noticeable when it exceeds approximately 150milliseconds. Each router along the network path adds some delay, so if a packet begins its travels with a long delay as it enters the WAN, total delay is likely to be excessive.
Delay is controlled in QoS appliances through various techniques. TCP rate shaping is used to manage TCP receive window updates to slow down applications such as file transfers which can consume excessive network resources.
However, reducing FTP traffic does not eliminate the possibility that a voice packet will enter the queue just as a long FTP packet begins transmission. Some QoS appliances can manage the maximum packet size parameter in network server operating systems to prevent excessive delay due to a voice packet backed up behind a very long packet. Controlling packet size at the source is more efficient than simply fragmenting long packets since fragmentation requires reassembly by a downstream router.
Voice packets are emitted by the sender at time intervals determined by the type of codec in use. They should arrive at the receiver at the same intervals. Jitter is a measure of the difference between desired and actual arrival intervals. QoS appliances recognize the type of codec in use by the size of the packets and the spacing observed on the network. They use this information to manage each call individually to ensure each receives sufficient resource.
Voice calls can tolerate up to approximately 5% packet loss without apparent loss of quality. Most packet loss results from bursts of packets overfilling router buffers. QoS appliances reduce packet loss by limiting applications to specified fractions of available bandwidth.
VoIP call managers refuse to initiate a call if there isn't sufficient network capacity. The problem is that call managers are located on the LAN and have no visibility into traffic load on the WAN. Management software provided with some QoS appliances polls appliances at each site to create an overall view of network traffic. These management applications then feed back information to call managers to enable the call initiation decision to be made with accurate information.
The precise controls in QoS appliances also enable monitoring and controlling unwanted network traffic such as spam spewed from a virus-infected PC. They can be valuable additions to your network when your company's voice calls depend on it.
David B. Jacobs has more than twenty years of networking industry experience. He has managed leading-edge software development projects and consulted to Fortune 500 companies as well as software start-ups.
This was first published in October 2005