5 ms·
Absolutely. We designed a P2P file system a few years ago and actually gleaned a good number of tricks from Skype for dealing with NATs and constructing your ne
by terryjsmith 16y ago
Absolutely. We designed a P2P file system a few years ago and actually gleaned a good number of tricks from Skype for dealing with NATs and constructing your network in general. Dropbox (and many others I'm sure) have all said the same thing: you need to design your system to function in the most hostile conditions you can think of; for Skype this seems especially devastating because so many components are beyond their control.
- amackera 16y agoDo you know of any resources where I could learn about Skype's network structure? I'm very interested in distributed systems, especially ones with the scope of Skype's network.
- terryjsmith 16y agoSure, so there were a lot of them that we compiled, here are the ones and topics I remember. Protocol: we used a custom psuedo-TCP protocol built on UDP based on libjingle from Google (used in Google Talk): http://code.google.com/apis/talk/libjingle/file_share.html http://code.google.com/apis/talk/libjingle/file_share.html. Libjingle's filesharing itself was a decent resource for learning some P2P stuff as well. NATing and routing: we used Skype's UDP hole punching: http://www.h-online.com/security/features/How-Skype-Co-get-round-firewalls-747314.html http://www.h-online.com/security/features/How-Skype-Co-get-r.... Skype configures each install to be a supernode by default and then disables it based on certain criteria (low speeds, behind a NAT/firewall, etc.). Discovery of other network nodes is an entire subject unto itself and a lot of other network discovery protocols are well documented; our system used a central server to track up-time statistically and map clients to one another based on finding a good fit. Happy to answer any questions here or at my e-mail address in profile.
- brown9-2 16y agoFound this paper posted on reddit for this topic: "An Experimental Study of the Skype Peer-to-Peer VoIP System" http://saikat.guha.cc/pub/iptps06-skype/ http://saikat.guha.cc/pub/iptps06-skype/
- christoph 16y agoThe problem (I believe) is that SkyPE made their own infrastructure so complicated and encrypted that when problems happen it makes it so much harder to deal with. The upside is that they still have the best network around for what they do. When MSN fails like this these days, nobody mentions it, because they're not using MSN, they're using SkyPe.