India has one of the most expensive Internet bandwidths the world over, even if Indian ISPs command a significant amount of undersea cabling world wide. But we all know this – how Indian ISPs, by forming some sort of a cartel, and with the connivance of even government Telcos are holding broadband users country wide to ransom.
Why I mention this is because of a number of recent articles that I have read on the incredibly popular VOIP software – Skype. Now I use Skype regularly as an IM – I have a Skypeout account, and I have virtually stopped using Yahoo messenger because of too many people popping up to say “hello” even when my status clearly shows that I am busy.
I had vaguely read about Skype earlier and didn’t bother about finding out how it works. But a recent post on the India-GII list prompted me to read about it. And to say the least, I am shocked.
I have four machines at home – two laptops and two desktops. I have configured the DSL router to forward Skype specific traffic to each of them.
Now Skype operates in two ways – in firewall mode and in “Public IP” mode.
In the former, your computer is behind a firewall, and the NAT is not configured to forward incoming Skype traffic to your computer (A typical scenario in many organizations or homes with a DSL *router* in a default configuration). Because incoming Skype traffic cannot come to your machine directly, your machine keeps a connection alive to a *supernode*. The supernode receives calls on your behalf and sends them down your existing connection. Your outgoing call data also goes through these supernode to the calling party. Obviously, this is not very efficient as compared to a direct connection to the calling party. And therefore the quality of the call is likely to be undesirable (unless of course, you live outside India in US, Europe or East Asia, where the standard broadband connection being so good, you wont notice the difference).
The computers running on “public IP” on the other hand dont need a supernode, as they can receive calls directly from the caller and route them to the correct computer. Users in this category include people on dialup, DSL modems or router bridges, or people behind specially configured firewalls which route an unique pair of public IP/port to machines behind the firewall. The call quality of these computers are comparatively better than the firewalled computers, and people using firewalls (like me) are tempted to put in rules for port forwarding for this very reason.
So it seems that every body should try to be in category two as I just described, right? But no, here is the catch.
Remember, the supernode I told you a short while back? The ones which are used by firewalled machines? What are these supernodes? Are they machines run by the Skype corporation? No, siree.
The machines of the second category (the ones on public IPs) are the supernodes! This is where the peer-to-peer nature of Skype comes in. The clients of skype are the resources of the skype network itself! That is why Skype can support 2 million online clients at any moment of time, with most of them making free calls, and not costing Skype Inc a fortune either.
So how does this affect us? Simple, those on expensive bandwidth capped Internet connections in India, connected to the Net using Dialups or DSL modems, watch out! Even if you are not using Skype at any moment of time, even leaving Skype running in your system tray, can make you the unaware conduit of the conversations of people you dont even know! every conversation which uses you as a supernode will rob your bandwidth – both upload and download. You might even have multiple parallel conversations happening using your computer. And Skype provides you with no options for you to keep a check on this! No bittorrent kind of option to put in a download/upload cap for others.
It is not the security angle I am talking about – Skype uses decent encryption to ensure that you do not eavesdrop on others conversations. I am talking about how Skype can cost you hundreds and thousands of rupees a month if you dont know about this!
And remember, I told you in the beginning that I have four machines at home, with each having a specific firewall rule to help it receive Skype calls directly? I cannot confirm this, but this *might* probably mean that I have four supernodes running on the same Internet connection! Just think of organizations, which use Skype extensively and have put in firewall rules for scores of their employees!
For me the moral of the story is very clear. I am going to start using regular IMs again. And plan my Skype calls. And startup Skype only when I need to call or receive a specific party. And in all other times, shut it down.
The tragedy of using closed source programs. It is a shame that Skype hasn’t done the right things by telling its users how their use of Skype can affect their resources even when they are not using Skype’s service, … or by telling their clients how they might be financially affected by their usage of Skype.