Question

Je cherche des informations sur les techniques, les algorithmes, etc. sur la façon de maintenir l'intégrité du réseau dans un réseau peer-to-peer dynamique. Les deux implémentations pratiques, des documents universitaires et toute autre chose dans cette catégorie sont les bienvenus.

Imaginons un réseau qui est uniquement basé peer-to-peer dans lequel chaque noeud est connect uniquement x d'autres noeuds. Sans avoir une grande liste de tous les noeuds, chaque noeud est responsable du maintien d'une connexion avec le réseau. Les nœuds vont vers le bas et viennent dynamiquement, ce qui signifie chaque nœud doit demander à ses voisins (et leurs voisins?) Pour de nouveaux nœuds pour se connecter à, afin de maintenir la x nombre de connexions.

segmentation du réseau (deux moitiés du réseau ne sont reliés par un nœud de chaque réseau - si l'un de ceux qui vont vers le bas, le réseau se divise en deux) et comment éviter cela et un routage efficace (les métriques de distance, etc.) sont mes intérêts principaux, mais tout ce qui concerne les réseaux avec des descriptions similaires seraient intéressantes.

Je suis actuellement au protocole d'accords de DHT car il a une certaine ressemblance avec ce que je demande.

Était-ce utile?

La solution

Pour l'informatique ubiquitaire différents réseaux P2P ad hoc ont été mis au point et il serait sans doute répondre à vos besoins. Il a été utilisé par exemple dans l'armée de déployer des petites capsules chacun parler à ses voisins jusqu'à généralement un centre de commandement. Si vous ne disposez pas d'un centre, il peut être lié à l'informatique distribuée, de toute façon, voici quelques liens:

Autres conseils

projet Netsukuku vise à la création de protocoles et la mise en œuvre de logiciels pour les grands réseaux ad-hoc basé wifi (s).

De leur FAQ : "Le Netsukuku projet est basé sur l'idée très simple d'exploiter la grande potentialité de la connectivité Wi-Fi, ce qui rend les ordinateurs des communautés sans fil agissent comme des routeurs et gérer ensemble un réseau ad-hoc encore plus grand que l'Internet. "

Mes pensées - et non pas une solution complète; pas testé dans la pratique, mais peut encore toucher un certain nombre de problèmes intéressants et des solutions possibles.

Temps normalisé pour défaillance d'un noeud et Rejoignant doit être enregistré et géré. Pour ce faire, le réseau ne calcule pas sur une base en temps réel, mais sur une base de numéro d'image d'animation. Les transformateurs ont N front-end assignant ID et ID FEE travail et le numéro de cadre animation de réseau pour les travaux entrants. Il y a un certain nombre de questions en temps réel qui ne sont pas tout à fait avec adresse quantifiant même temps; dans certains cas d'exception, est un peu comme dans la comptabilité, l'affichage des événements au moment où ils devraient être considérés comme survenant plutôt que lorsque les espèces se déplace.

Pour la haute performance, les paquets de rythme cardiaque doivent également contenir des détails des travaux à exécuter et récemment achevés ou abandonnés, ainsi que l'inventaire des hôtes dans le réseau.

Réseau procède à traiter les éléments de travail et de publier leurs résultats à leurs pairs ou FEPs adjacents. FEPS détails emploi aux clients avant complété, et peut prendre en charge pour FEPs échoué comme seul état dans un FEE est le dernier numéro de série gravé sur une demande.

Réseau doit avoir le quorum pour continuer. moniteurs externes suivre la connectivité et informer les noeuds qui subissent des changements en matière de connectivité si elles sont maintenant à l'intérieur ou à l'extérieur du quorum.

Lorsqu'un élément de travail n'est pas complétée par une machine, car elle échoue, ou un nouveau nœud rejoint le réseau, une nouvelle politique d'allocation de travail doit être établie en fonction sur le point de travail ID d'affecter le travail aux nœuds restants, jusqu'à ce que le nouveau noeud revient en ligne.

Pour les cas où plusieurs nœuds effectuent le même travail (duplication des efforts - ce qui est possible, mais minimisé par la conception des délais d'attente habituels judicieusement). Les emplois doivent être rollbackable, et le conflit résolu en utilisant chaînes de Markov

Pour détecter les duplications possibles de manière fiable emplois doit auto-rollback en moins de temps que le délai d'attente pour recevoir les résultats d'emploi qui s'applique au cours d'une période de crise -à-dire lorsque les nœuds sont défaillants. Un délai plus court applique lorsque les nœuds ne sont pas défaillants.

Juste pour éviter de réinventer la roue, jetez un oeil sur les différents protocoles de routage. OSPF pourrait être un bon point de départ, compte tenu de votre scénario. Bien sûr, il y a beaucoup, beaucoup de variables qui pourraient rendre pas le meilleur choix pour vous. Tels que:

  • vous pouvez garder un plus court chemin vers des noeuds X; si un nœud est défaillant, les noeuds connectés sont informés et peuvent faire une nouvelle recherche de SP pour trouver un convenable; vous devez considérer les frais généraux pour les messages ping et keep-alive
  • vous devez instradate connexions (à savoir des recherches dans le réseau p2p) ou simplement de maintenir un grand nombre de noeuds interconnectés (un botnet la)? Dans ce cas, une approche mixte (une petite table de hachage distribuée pour les petits sous-ensembles du réseau + OSPF / BGP des frontières) pourrait aider;
  • ainsi de suite et ainsi de suite

Avez-vous regardé Kademlia ? Il est similaire à Chord, et leurs versions sont utilisées par BitTorrent et eMule. papier énumère quelques mesures pour assurer le réseau l'intégrité, même face à l'attaque. Les deux sont ceux de base

  • Maintenir pairs assez pour que l'échec de assez pour causer des problèmes est peu probable
  • Maintenir la liste des pairs connus afin de temps de fonctionnement plus longue. Des études ont montré que la probabilité d'un nœud mise hors ligne dans l'heure qui devient plus faible plus il a déjà été en ligne. Cela rend également difficile pour les attaquants d'inonder le réseau avec des noeuds malveillants.

Je ne sais pas à quel point cela s'applique à Chord, parce que je l'ai pas lu autant à ce sujet, mais je pense aller avec une DHT est une bonne idée, sauf si vous avez besoin d'une recherche floue.

Utilisation d'accords. http://en.wikipedia.org/wiki/Chord_(peer-to -peer)

Je l'ai mis en œuvre dans des projets avant et il répond à ces problèmes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top