Hack59.Improve Service Quality


Hack 59. Improve Service Quality

Supporting several Skype users on the same outgoing Internet connection may require implementation of bandwidth rationing (per user) using Quality of Service (QoS) to maintain good call quality.

Works with: all versions of Skype.

The Internet is a shared resource, even for a single user. Web browsing, file downloads, streaming audio, and Skype calls are all vying for use of the data pipe. When several machines share the same Internet connection, this conflict over how bandwidth is shared among the competing users can be exacerbated. Certain activities, such as file downloads, are not bandwidth or latency critical in the sense that a slow file download is still a file download! In contrast, for VoIP applications such as Skype, being squeezed for bandwidth and latency by other applications might result in poor call quality.

Clearly, some way to prioritize Internet traffic is needed so that VoIP data packets get precedence over all other types of data packet. This is the goal of Quality of Service (QoS), which seeksin advanceto guarantee a certain level of service in terms of bandwidth and latency, plus other secondary characteristics, such as error rates. In this hack, I'll focus only on QoS for bandwidth and latency. Improving bandwidth and latency for Skype VoIP traffic will always improve voice-call quality.

What makes QoS difficult in the case of Skype is that it doesn't use any fixed port numbers for outgoing traffic. QoS normally works by binding the port numbers used by an application to a QoS feature built into the router, which then takes care of prioritizing traffic for those fixed ports. However, for the outgoing part of a call, Skype uses available ports above and including 1024; that is, it randomly selects the User Datagram Protocol (UDP) and/or Transmission Control Protocol (TCP) ports it needs between and including port numbers 1024 and 65535. QoS typically needs fixed ports to operate, so traditional QoS doesn't work for Skype.

However, it is possible to set up a "QoS-like" service for Skype by selectively rationing bandwidth.

For a single user, one way of setting up a QoS-like service is to use a bandwidth-shaping tool such as NetLimiter (http://www.NetLimiter.com/). Using such a tool, you can divvy up your available bandwidth among the applications running on your computer that require Internet bandwidth. Specifically, you can make sure there's always enough bandwidth left over for Skype to work, and work well in terms of call quality.

Let's look at a concrete example. Figure 5-24 shows the available Internet bandwidth for a machine. Let's play it safe, and say that there's 1,400 Kbps of available bandwidth, both uplink and downlink. If we reserve, say, 250 Kbps for Skype, that means we can allocate the remaining 1,150 Kbps of bandwidth among the remaining applications running on the machine that require Internet access. Using a tool such as NetLimiter, you can do this very easily. With the limits shown in Figure 5-25, no matter what else is being done on the machine, there should always be enough bandwidth left over for Skype to work well.

Figure 5-24. Available bandwidth (as measured by http://www.auditmypc.com/)


Figure 5-25. Using NetLimiter to ration bandwidth


For multiple machines and users that share an Internet connection, you can put a similar method of budgeting and bandwidth rationing in place by using nothing more than simple arithmetic and by running NetLimiter on each machine. That way, no matter what any machine is doing in terms of accessing the Internet, no Skype call will be squeezed out, so to speak, and good call quality can be maintained for all users.

5.9.1. Hacking the Hack

Measuring, budgeting, and enforcing bandwidth limits with a tool such as NetLimiter can become tedious and can be a less-than-optimal way to manage your overall bandwidth when more than a handful of machines are involved. Fortunately, network devices are coming onto the market (see Figure 5-26) that effectively implement QoS in hardware by prioritizing Internet traffic based on monitoring data packet characteristics, rather than using fixed port numbers.

Figure 5-26. Broadband Booster from Hawking Technology (http://www.hawkingtech.com/)


Such devices sit between your router and your broadband Internet connection and divide Internet traffic into streams of packets having different characteristics. Then, they give priority to those packets whose delivery is time sensitive, such as the VoIP packets Skype uses. Best of all, these devices are Plug and Play (PnP), requiring little or no user configuration.

Hawking Technology claims its HBB1 Broadband Booster provides improvements of up to 400%, in terms of uplink throughput, for certain types of applications that use the Internet. The HBB1 improves upstream traffic only, and does not differentiate between different machines or applications, so you can't fine-tune Internet traffic prioritization as you can with tools such as NetLimiter. It is worth reminding the reader that most asymmetric broadband Internet connections have substantially less uplink bandwidth than downlink bandwidth, so the HBB1's focus on upstream traffic improvement makes sense. These units do work (see http://www.tomsnetworking.com/Reviews-210-ProdID-HBB1.php for a real-world review) and are an inexpensive method for implementing QoS for a group of Skype users that share a Digital Subscriber Line (DSL) or cable broadband connection.




Skype Hacks
Skype Hacks: Tips & Tools for Cheap, Fun, Innovative Phone Service
ISBN: 0596101899
EAN: 2147483647
Year: 2005
Pages: 168

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net