Skype works in a very interesting way. From what I’ve read (and this is a while ago) it works as follows:
- Skype server maintains a list of all
users and IPs. - Skype user A wants to
speak to user B - Skype user A sends a
network packet to user B’s IP address
and waits for a response. (user B never gets this packet). - Skype user A notifies server of IP/port
combination on which it is waiting
for a response - Server notifies user B
to send a response to user A on the
specified port - A connection is made.
This is probably over simplified but last I checked, this is how it works. (Someone correct me if I’m wrong).
Edit: fixed bullet issue