How does Skype get through Firewalls and NAT Routers?

SuperNodes

Common Topics

If, like some of our readers, you are either confused about how the new Skype Voice over IP system gets past firewalls and NAT routers, or you are skeptical about it, it's worth noting the answer that Niklas Zennstrom, one of the key architects of both Kazaa and Skype gave us on the subject.

Readers were concerned that the peer to peer networking guru had found a way to creep in the back door, managing to open a port from outside and wanting re-assurance that he hadn't. We asked him how does Skype manage to route the call to the appropriate PC without special configuration being done on the router, and a Skype software router in place on the LAN to process the incoming data and route it to the relevant PC?

His answer was, "Without being too technical, each Skype client is always connected to a SuperNode (any Skype client can become a SuperNode, the SuperNode is acting as a hub). SuperNodes are always on routable open IP addresses. When a call is set up the established TCP connection with the SuperNode is used to signal that a call is coming. Dependent on the firewall status of the client the data stream is set up either as UDP (if firewall allows) or in worse case as outgoing TCP which is almost always allowed. If both clients are only allowed to do outgoing TCP calls are routed through another peer."

In other words you get to know there is a call for you and you make the outgoing connection to a known supernode to meet the call. Neat.

Skype yesterday went past 1 million downloads from the half a million when we first wrote about it two weeks ago. From when we first began writing this story until it was finished, a further 2,000 downloads occurred. Faultline would have downloaded it, but we still use Windows 98, and can't get it yet.