Idée : maintien de plusieurs adresses par nœud pour faciliter l'établissement et la continuité des connexions entre nœuds #1
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Sur le canal de Garage, on discutait de peer discovery & membership.
Lesterpig et Kaiyou ont notamment soulevé des questions d'UX pour bootstrap un cluster Garage :
Kaiyou :
Lesterpig :
Ça m'a remis en tête la RFC 5245: Interactive Connectivity Establishment (ICE), qui parle de STUN/TURN, NAT-traversal et autres aspects importants de WebRTC.
Dans le cadre de Garage, on est pas intéressés par la totalité d'ICE, parce qu'on impose la contrainte suivante : « Chaque paire de nœud doit pouvoir communiquer ». Autrement dit, une machine derrière un NAT casse-pieds n'a pas le droit de participer à un cluster Garage.
Néanmoins, ICE a une approche que je trouve pertinente pour gérer la dynamicité des adresses (e.g. IPv4 publiques changeantes) :
Ainsi, dans le cadre de la gestion de membership, chaque nœud apprend et maintient plusieurs adresses permettant de le joindre. Lors du bootstrap d'un nouveau nœud N, ce dernier n'a besoin de connaître qu'une seule adresse valide d'un nœud du cluster, qui lui fournit le registre des membres. Quand il veut démarrer une connexion avec le nœud M, le nouveau nœud N essaye plusieurs adresses, et établira la connexion avec la meilleure adresse (la plus locale).
Dans le cadre du membership, si un nœud change d'adresse (DNS par exemple), il restera sans doute adressable via une autre de ses adresses.
En résumé : « plusieurs adresses par nœud et pas de suppositions sur la plus fiable », plus un mécanisme de sélection quand deux nœuds initient une connexion pour la première fois.
Une façon simple et souple de faciliter le bootstrap, d'éviter les indisponibilités quand le réseau change, et de préférer l'utilisation du réseau local quand deux nœuds sont dans le même.
Idée : maintient de plusieurs adresses par nœud pour faciliter l'établissement et la continuité des connexions entre nœudsto Idée : maintien de plusieurs adresses par nœud pour faciliter l'établissement et la continuité des connexions entre nœuds