Content Adressable Network
CAN, signifiant Content Adressable Network est un réseau de recouvrement de type table de hachage distribuée pour les réseaux pair à pair (P2P), initié en 2001 utilisant une topologie hypercubique.
Il est basé sur des coordonnées spatiales cartésiennes virtuelles : chaque nœud est responsable de sa part d'espace (zone). CAN permet de stocker des données à un point donné de l'espace dans un réseau P2P, de router d'un point de l'espace à un autre (fonctionnalité fournie via la DHT).
Joindre le réseau
Pour participer à une CAN, un nœud à joindre doit:
- Trouver un nœud déjà dans le réseau de recouvrement.
- Identifier une zone qui peut être divisée
- Mettre à jour les tables de routage des nœuds voisins de la zone récemment diviseé.
Pour trouver un nœud déjà dans le réseau de recouvrement, les nœuds d'amorçage peuvent être utilisés pour informer le nœud à joindre des adresses IP des nœuds actuellement dans le réseau de recouvrement.
Après le nœud joignant reçoit une adresse IP d'un nœud déjà dans la boîte, il peut tenter d'identifier une zone pour lui-même. Le nouveau nœud choisit au hasard un point dans l'espace de coordonnées et envoie une requête rejoindre, dirigé vers le point aléatoire, à l'une des adresses IP reçues. Les nœuds déjà dans l'itinéraire de réseau de recouvrement de la demande se joignent à l'appareil approprié via leurs tables de routage zone à IP. Une fois que le nœud de gestion de la zone du point de destination reçoit la demande rejoindre, il peut honorer la demande d'inscription en scindant sa zone en deux, en s'attribuant la première moitié, et en allouant au nouveau nœud la seconde moitié. Si elle ne respecte pas la demande rejoindre, le nouveau nœud continue à sélectionner des points aléatoires dans l'espace de coordonnées et à envoyer des demandes de rejoindre adressées à ces points aléatoires jusqu'à ce qu'elle rejoint le réseau avec succès.
Après la scission de la zone et de l'allocation est complète, les nœuds voisins sont mis à jour avec les coordonnées des deux nouvelles zones et les adresses IP correspondantes. Les tables de routage sont mises à jour et les mises à jour sont propagées à travers le réseau.