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)
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.
Strange, I have it installed on my linux machine... and it doesn't have a windows registry... guess I dont have the capability of storing a buddy list.
~/.sig: No such file or directory
What is the deal with supernodes, isn't there a peer to peer protocol that doesn't revolve around supernodes?
Because this type of tiered network is what works and scales well to thousands and millions of clients. The original Gnutella protocol was designed not to use "supernodes" or a tiered network structure and it was a miserable failure. The bandwidth and large latency required for all of the clients to communicate with each other (especially ones using 56K modems) easily overcame the usefulness of the network. The current Gnutella protocol now uses a tiered (layered) network where clients can become supernodes and this version actually works with tens to hundreds of thousands of people connected.
When creating a large, scalable network this type of protocol is what has been proven to work.
--
Join the Pyramid - Free Mini Mac
infested with jello like fishes no melotron wishes
There are other solutions which'll do essentially what you want. One option is to have connections rotate round-robin style, rather than by bandwidth. That way, if you can go by 5 paths, each path gets 1/5th of the traffic, making it much harder for evesdroppers.
A second option is to use kernel or userland IPSec, so that all connections are secure. IPSec is pretty solid and it is doubtful anyone would be able to break into such traffic.
Supernodes are just a load-balancing mechanism. Not a very good one, because it's a two-state system, but it works. Networks have developed routing and QoS protocols to handle exactly the kind of information P2P is approximating with the supernode scheme. It would seem to make much more sense to use mechanisms people have worked on for much longer to get right.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
FYI, if you want to look at the "registry" info for Skype on Linux, it's in $HOME/.Skype/shared.xml.
If you run Skype on Linux or Mac OS X, it is reduced to using high ports anyway, so it's easy to block. An example iptables command line would be
(Caveat: Check your local servers, use passive FTP, modify this if you actually want to use P2P, etc.)