Friday, June 02, 2006

More thoughts on Skype & why you should forward your port

Sarah saw this flyer in our local supermarket this week - if they are pushing VOIP in Sainsburys then it must be close to breaking through as a killer app. The Netgear handset still ain't available, but there seems to be an increasing number of telephone-like gadgets that hook up to you PC - I got a DECT handset working last year but it wasn't easy and to be honest I've not used it much (having to remember speed-dials etc.) - see what I got up to here.
Having said that I do use Skype daily - although the firm I work for has no prohibition on using work 'phones for personal use I feel you should do your best to not squander other folks money and consequently I only use Skype for calls to friends and family.

Anyhow - one of the things I found makes a difference is forwarding the port you particular Skype installation has randomly chosen. The reason for this is that we pretty much all live behind NAT routers and for a peer-to-peer protocol to work you need some users to be supernodes
The Skype system automatically selects certain users with fast CPUs, good broadband connections and no firewall issues to be "supernodes", through which other users may connect. Skype can therefore utilise other users' bandwidth. There are some 20,000 supernodes out of many millions of users logged on.

So if you're communicating with another Skype user and having to traverse two NAT routers (his and yours) the call has to go via a supernode - the two routers have no way of letting each other know what Skype ports are required to be left open. The way to avoid this is to port-forward your Skype port in your router and then there is only one NAT taversal taking place. Now if you run your network DHCP then you may have to set the MAC address of your PC to always get dished the same IP address, but once that's done it's trivial to look up the port being used (in Skype's Option>Connection settings) and then set that as a static UDP route in your Netgear/DLink/whatever box. If you have more than one Skype client then you need to repeat the process for each computer - but since Skype allocated a random UDP port on install (in the range 1024-65535) it is unlikely you'll get two the same on a class-C subnet.
The good thing about this is that once you've done it you'll enjoy better throughput with any other Skype user - they don't need to have even have heard of port forwarding.

No comments: