The technology behind the Freenet6 services is the gogoSERVER. Freenet6 showcases how this technology can be used to create IPv6 based services. This section will describe how the different services work and how they are connected to the network operator partners.
Freenet6 Tunnel is the classic Freenet6 IPv6 tunneling service that has been offered for several years now. It showcases IPv6 over IPv4 tunneling which is the most common way of deploying IPv6 in and existing IPv4 infrastructure. What it does is to allow a user, which normally would be an broadband customer, to connect to the IPv6 Internet by bridging the IPv4 access.
The diagram shows a high-level view of how the gogoSERVER and gogoCLIENT bridges the IPv4 and the IPv6 worlds. For more information on how to deploy IPv6 in existing IPv4 networks please see Deploying IPv6 using IPv4.
The Freenet6 Tunnel setup is not the typical way IPv6 would be deployed in an existing network as the servers are centralized in the core of the network at a few points instead of being distributed as far out to edge of the IPv6 domain as possible. Freenet6 also differs in the way it offers both anonymous and authenticated access. It is far more likely only one of the options would be used in a commercial deployment.
Freenet6 consists of a set of gogoSERVERs which are the tunnel broker servers. These are connect the a set of back end servers. The backend has a Radius server for the authentication of users from a central database. This allows a user to connect to any server and use automatic redirect to choose the closest server. There is also DNS server which is being dynamically updated by the gogoSERVER with the username of a user that connects in order to provide an easy way to access the computer even if the IPv6 address has changed due to user connecting to a different server. The Radius database doesn't contain the addresses assigned to each users this database is dynamically created in each tunnel server. In addition to Radius and DNS there is a Syslog server for logging events and user activity. As anonymous users don't create any Radius accounting data since they are not authenticated Freenet6 uses the Syslog server to track user activities and provide traceability.
Freenet6 Tunnel uses TSP to establish the tunnels. The client sends a request for a tunnel to the gogoSERVER using TSP, and the response is returned to the client by the server. The TSP message contains a tunnel request, as well as an IPv6 prefix request if the client is a router. The TSP message may also request DNS delegation of the inverse tree (ip6.arpa) related to the prefix request. The TSP response message received by the client contains all the information needed to establish the tunnel, such as the IPv4 and IPv6 tunnel endpoint addresses, and may also contain the additional prefix and DNS delegation. TSP sessions can either be anonymous or authenticated through a user database inside the gogoSERVER.
For more information on TSP please see RFC 5572.
Freenet6 DS-lite (dual-stack lite) is an example of how to run IPv4 in an IPv6 only network. This will be one of the most common ways of providing legacy IPv4 support when IPv4 addresses run out. To learn more about tunneling IPv4 over IPv6 see the deploying IPv4 using IPv6.
Freenet6 DS-lite is similar to the other Freenet6 tunneling services in the way the tunneling works works but it doesn't require a tunnel setup phase as the tunneling is session specific and the actual tunneling is stateless instead the required information is tied to the NAT sessions. DS-lite always require traffic to be NATed. For more information on Dual-stack lite see the latest IETF draft.
Freenet6 DSTM (dual-stack transition method) is another example of how to run IPv4 in an IPv6 only network. It provides IPv4 legacy support when IPv4 addresses are running out. To learn more about tunneling IPv4 over IPv6 see the deploying IPv4 using IPv6.
The setup of Freenet6 DSTM is more or less identical to the Freenet6 Tunnel service with the main difference being tunneling of IPv4 over IPv6 instead of the other way around. It uses TSP for the tunnel setup just a Freenet6 tunnel and the back end servers are the same for both services. The Freenet6 reverse tunnel services only offers private addresses to users which are NATed when accessing the Internet but it could offer a mix of public and private addresses if enough IPv4 addresses were available. Freenet6 reverse tunnel is currently only available at one of the sites, Montreal.
Freenet6 Home Access acts as an add-on to the Freenet6 Tunneling service. It uses the gogoCLIENT and gogoSERVER tunneling function to create a bridge into the home network. In order to access IPv4 devices it adds a translation function that allows access to IPv4 devices using IPv6. This is also how the devices in the home can be addressed from the Internet since they now have unique addresses.
In addition to the bridge into the home Home Access also provides a way to access it using IPv4 on the Internet. This allows non IPv6 users to access devices using IPv6. To read more about Home Access and other ways of using IPv6 for services today see deploying IPv6 services.
Home Access uses the same servers as the other Freenet6 services and is only a feature in the gogoSERVER and gogoCLIENT. It works by registering the users devices in DNS with both an IPv6 and an IPv4 address. This way it can be accessed through a proxy in the gogoSERVER and/or the gogoCLIENT regardless of it being on IPv4 or IPv6. The following two images show the setup of Home Access and the connection from IPv4 to IPv4 using IPv6.