Gateway
Gateway is the service for connecting to Waxnet. It handles the initial Hole Punching required to connect
Client
The gateway client allows a node to connect to the network. A Gateway request identifies a service or application and provides the necessary connection.
The client also includes a hole-puncher. That way if Alice want to talk to Bob and they are both already connected to Carol, instead of using a Gateway server, they can use Carol to initiate the connection.
Server
A Gateway server has a fixed IP and a public key (used just for this). A server is also associated with some services. A server will hole-punch a connection to another peer with in a service that provide the next level of access required.
For instance, Alice wants to connect to Speakeasy. Speakeasy doesn't actually provide a Gateway service, instead it relies on Cherry Ripe. So Alice contacts a Cherry Ripe Gateway server and requests a connection to each of her channels. For each channel, the Gateway server facilitates some number of introductions (~3). From there, Alice can contact those peers over Cherry Ripe and join the channel, which will facilitate connections to the other peers.