3 ms·
Do 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
by amackera 16y ago
Do 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/