An Analysis of the Skype Protocol
zib writes "Ever felt a need to peek under the hood of your Skype client? This paper (PDF) explains all the details. Among other issues, it focuses on the NAT capabilities of Skype and audio compression."
← Back to Stories (view on slashdot.org)
What is the deal with supernodes, isn't there a peer to peer protocol that doesn't revolve around supernodes? I don't like the idea of somebody setting up a high-bandwidth machine and routing enough packets to get the entire phone call I'm making and then in their spare time decrypting my phone call.
We need a a VoIP method that uses bit torrent and duplicates what you are saying many times, which wastes bandwidth but makes up for the slowness factor. And even still, we need a bit torrent less reliant on supernodes... could a VoIP network function on a P2P network meant to work without supernodes?
Somebody know more details about what the difficulties are in making a P2P network without supernodes? (Assuming there are lots of people on the network).
Privacy issues?
Do you really want to be running Skype or let it onto your network? At my university Skype has been banned. Here is the reasoning:
Skype Peer to Peer Telephony software is now also prohibited. Skype is a
free application that facilitates free telephone calls through the use of
an internet connection.
Calls made using the system are directed through 'Supernodes', which can be
ordinary PC's with Skype installed. Machines on fast and well connected
Internet feeds like the $Network are likely to automatically become
'Supernodes' and forward a considerable amount of traffic.
This allows Skype to route other peoples Voice over IP calls using your
machine and the university internet connection. This is in breach of the
Acceptable Use Policy and could potentially put the university's network
and core business at risk.
Finally, the Skype End User License Agreement (EULA) grants Skype permission
to install and use 3rd party software on computers running Skype. This could
include an array of spyware and adware that is likely to threaten the
privacy of anyone installing this software.
Beep beep.
The program can automatically elevate itself to a Supernode and start chewing bandwidth. Not only that, but it alerts your friendly University system administrator that you may be "sharing copyrighted materials with Kazaa" and you have them frowning at them (and randomly shutting off your port because they believe you have been "hacked") Just use a different free Internet Telephony application.
Proprietary or not, it works and its easy to use. Skype does a lot of things differently than SIP. 256 bit AES encryption is strong enough to protect your data well into the near future.
It uses very little bandwidth and those Universities who are banning the software are just kneejerking to a new technology, just showing how far from the academic mission of research and experimentation most colleges have gone. Even more telling is how most Colleges charge exorbitant fees for local and long distance phone calls from student dorm phones. Why would they want to allow a technology onto their network that will mean less money going into their pockets.
As to the bandwidth issues, I think they greatly exaggerate the bandwidth use of a Skype supernode in order to justify their kneejerk reaction to any new technology on their network that does not come with a 3 year agreement with Dell and Microsoft.
However, what most VoIP solutions seem to lack is the idea that you can install them and 'phone' an IP address. You still need a number, it still traverses over POTS for the most part, and it usually costs. Skype just works over existing networks, and whilst I'm no fan of locking people into one solution Skype does actually work.
How many people can read hex if only you and dead people can read hex?
As to the bandwidth costing money. Traditional VOIP does not use very much bandwidth and neither does Skype. It uses less than the client of a multiplayer game. What VOIP does require though is fast, consistent delivery of packets. I have a suspicion that one of the issues that College network administrators are concerned about is that VOIP will expose how inefficient and poorly managed many .edu networks are mostly by virtue of the fact that the higher ups in the .edu tech departments are always people who wouldn't know a router from a plunger and they mostly just hand down ridiculous memos full of meaningless buzzwords from the Microsoft and Dell sales pitches. My dept was ordered to manually install 5000 copies of mcaffee personal edition, patch the windows machines on every student computer and then manually trace thousands of unlabeled switch ports in order to make sure no one who had not had mcaffee installed yet had their port turned on. All noted down on scrap paper and hopefully sent to the people who were in command of the switch blades who would hopefully turn on the right ports.
I had to explain to angry parents and students why their 30k a year private university was taking 2-3 weeks after classes started to turn on internet connections. It took about 35 of us (about 28 of them outsourced) 3 weeks just to get the students who really cared about getting online turned on.
Total cost about $600,000. Now why couldn't we have bought a few antivirus appliances to put in the dorms and some routers or firewalls to break up the big broadcasts domains being used to spread the viruses in the first place? Why couldn't we just install a remote administration client on student machines so we could run antivirus and patches automatically?
They all run at least SIP. But with them, there is very little reason to try to work on a peer to peer connection since 95% of their traffic is going to terminate over the PSTN, not to another IP phone.
But, even with that, there is a feature in SIP called "REINVITE" in which two SIP endpoints can renegotiate their media stream paths to send their audio directly to each other and only send call progress messages to the original server (for billing purposes, mainly). Reinvite really only works well if both endpoints are not behind NAT, though and there is an issue with compatibility between vendors.
I "discovered" Skype, discovered that it was Linux friendly, and tested it sufficiently to find that it was quite adequate to meet my minimal requirements. So, I asked our technical guru to install it in the office where all the machines also use linux and have a look. I work from home, and since we spend a lot of time on the phone I figured we had the potential to save some money.
He muttered that he'd get around to it sometime, so next time I was in the office I installed it myself, and using the USB VOIP handset he had bought about a year ago for this precise purpose we had a little testing session and found it very useable (we also found out that with our wireless lan my laptop could become the most expensive portable phone ever).
So, next day, at home, I go to call him up and find his skype username offline. I mail him and ask him to log back on, to which he replies that he's not going to, he's experimenting with a SIP based solution, and since that's the protocol Skype must use anyway (no amount of arguement to the contrary got through) he could set up an improved solution.
We experimented for a week with an asterix server and KPhone. It sucked. He bought winmodems to get us external phone access on the system, faffed about for a while, and guess what, many months on, we're still using the phone network and running up the bills.
Now, I'm not arguing that an open source self-managed SIP solution is not the superior option, it almost certainly is. But Skype JUST WORKS.
Oh, yeah, does anyone know the correct pronounciation of Skype? It reads in my head as SKIPE, but a friend of mine insists it's correctly pronounced SKIPPY.
"The dew has clearly fallen with a particularly sickening thud this morning"
I would like to see an Skype Asterix extension.0 skype
http://voip-info.org/tiki-index.php?page=bounty%2
That would be the real killer POTs killer app.
Can any reverse engineering pro give a hand ?
So what is the difference between BitWise (http://www.bitwisechat.com/) and Skype, apart from the fact that BW is a direct-connect chat/voice application and Skype has the potential to node your comp? Does it have the same problems? Is it lame that with BitWise you have to open a port or two?