Hamachi est un système VPN propriétaire à gestion centralisée, composé du cluster de serveurs géré par le vendeur du système et du logiciel client, qui est installé sur les appareils des utilisateurs finaux.Le logiciel client ajoute une interface réseau virtuelle à un ordinateur, et il est utilisé pour intercepter le trafic VPN sortant ainsi que pour injecter le trafic VPN entrant. Le trafic sortant envoyé par le système d’exploitation à cette interface est transmis au logiciel client, qui le crypte et l’authentifie, puis l’envoie au pair VPN de destination via une connexion UDP spécialement initiée. Hamachi gère actuellement le tunnelage du trafic IP, y compris les diffusions et les multidiffusions. La version Windows reconnaît et tunnelise également le trafic IPX.
Chaque client établit et maintient une connexion de contrôle au cluster de serveurs. Lorsque la connexion est établie, le client passe par une séquence de connexion, suivie du processus de découverte et de la synchronisation des états. L’étape de connexion authentifie le client auprès du serveur et vice versa. La découverte est utilisée pour déterminer la topologie de la connexion Internet du client, en particulier pour détecter la présence de dispositifs NAT et de pare-feu sur sa route vers Internet. L’étape de synchronisation permet de synchroniser la vue d’un client sur ses réseaux privés avec les autres membres de ces réseaux.
Lorsqu’un membre d’un réseau se met en ligne ou hors ligne, le serveur indique aux autres pairs du réseau d’établir ou de déchirer des tunnels vers le premier. Lors de l’établissement des tunnels entre les pairs, Hamachi utilise une technique de traversée NAT assistée par le serveur, similaire au hole punching UDP. Des informations détaillées sur son fonctionnement n’ont pas été rendues publiques. Ce processus ne fonctionne pas sur certaines combinaisons de dispositifs NAT, ce qui oblige l’utilisateur à configurer explicitement un transfert de port. En outre, les séries 1.0 de logiciels clients sont capables de relayer le trafic via des « serveurs relais » maintenus par les fournisseurs.
En cas de perte inattendue de la connexion au serveur, le client conserve tous ses tunnels et commence à vérifier activement leur état. Lorsque le serveur perd inopinément la connexion du client, il en informe les pairs du client et attend d’eux qu’ils commencent également à vérifier la vivacité. Cela permet aux tunnels Hamachi de résister à des problèmes de réseau transitoires sur la route entre le client et le serveur, ainsi qu’à de courtes périodes d’indisponibilité complète du serveur.Certains clients Hamachi obtiennent également la fermeture d’un port sur d’autres clients, ce qui ne peut être réparé par la redirection de port.
Hamachi est fréquemment utilisé pour les jeux et l’administration à distance. Le fournisseur offre un service de base gratuit, et des fonctionnalités supplémentaires payantes.
En février 2007, un blocage au niveau de l’IP a été imposé par les serveurs Hamachi sur certaines parties de l’espace Internet vietnamien en raison de « l’ampleur de l’abus du système provenant des adresses bloquées ». L’entreprise travaille à une solution moins intrusive pour résoudre le problème.