I was surfing a random blog today (Enterprise video conferencing solutions vs Skype), and I came across a claim. I do know that the Skype protocol is a proprietary one, but the author of this blog claims that:
Skype makes use of peer to peer technology in which Skype users become supernodes. This allows Skype to tap on your bandwidth to route other calls, often slowing down your computer.
What I would like to know, from a networking standpoint, is how is this implemented or even possible? First of all, why is there a need to route calls between user nodes? If person X is calling Y, then isn't it a straightforward TCP connection from X to Y nodes? Why does a Z node have to come in between?
Moreover, if this is true, why do most users stick with Skype? Aren't there better opensource technologies available in this arena?