Domanda

Sto cercando informazioni sulle tecniche, algoritmi, ecc su come mantenere l'integrità della rete in una rete dinamica peer-to-peer. Entrambi implementazioni pratiche, documenti accademici e niente altro in questa categoria sono i benvenuti.

Immaginiamo una rete che è unicamente peer-to-peer basato cui ogni nodo è solo la connessione a x altri nodi. Senza avere un grande elenco di tutti i nodi, ogni nodo è responsabile di mantenere una connessione con la rete. I nodi si spengono e vengono su in modo dinamico, il che significa ogni nodo ha bisogno di chiedere che sia vicini (e dei loro vicini?) Per i nuovi nodi per la connessione a, al fine di mantenere il x numero di connessioni.

segmentazione di rete (due metà della rete sono collegati da un solo nodo da ciascuna rete - se uno di tali scendere, la rete si divide in due) e come evitare questo e il routing efficiente (metriche distanza, ecc) sono i miei interessi principali, ma nulla in materia di reti con descrizioni simili sarebbe interessante.

Al momento sto guardando il protocollo DHT Chord in quanto ha una certa somiglianza con quello che sto chiedendo.

È stato utile?

Soluzione

per calcolare varie P2P ad-hoc onnipresenti sono stati sviluppati e che avevano probabilmente soddisfare le vostre esigenze. E 'stato utilizzato ad esempio l'esercito per distribuire piccole capsule ciascuna parlando con i vicini di solito fino a qualche centro di comando. Se non si dispone di un centro, può essere correlato al calcolo distribuito, in ogni caso ecco alcuni link:

Altri suggerimenti

progetto Netsukuku si propone per la creazione di protocolli e implementazione del software per la rete ad-hoc a base larga wifi (s).

Dal loro FAQ : "The Netsukuku progetto si basa sulla semplice idea di sfruttare la grande potenzialità della connettività Wi-Fi, rendendo i PC delle comunità wireless fungere da router e gestire insieme una rete ad hoc, anche più grande di Internet ".

I miei pensieri solo - non è una soluzione completa; non testato, in pratica, ma ancora può toccare su una serie di problemi interessanti e le possibili soluzioni.

tempo standardizzato per il fallimento nodo e ricongiungimento deve essere registrato e gestito. Per raggiungere questo obiettivo la rete non calcola in tempo reale, ma su una base numero di frame di animazione. Avere elaboratori frontali N assegnazione FEP ID e ID lavoro ed animazione rete numero di quadro di lavori in entrata. Ci sono una serie di problemi con real-time che non sono del tutto affrontato con quantizzazione tempo anche; in alcuni casi di eccezione, è un po 'come in materia di contabilità, la pubblicazione di eventi per quando dovrebbero essere considerate come si verificano piuttosto che quando tutti i movimenti di cassa.

Per elevate prestazioni, i pacchetti heartbeat deve contenere anche i dettagli di posti di lavoro che vengono svolte e ha recentemente completato o abbandonati, così come l'inventario di host della rete.

Rete procede per elaborare gli elementi di lavoro e pubblicano i risultati di coetanei o FEP adiacenti. FEP avanti completato i dettagli del processo ai clienti, e in grado di prendere in consegna per FEP fallito come unico stato in un FEP è l'ultimo numero di matricola stampigliato su una richiesta.

Rete deve avere il quorum per continuare. monitor esterno di spostamento connettività e informano i nodi che registrano variazioni di connettività siano essi ora all'interno o all'esterno del quorum.

Quando un elemento di lavoro non è completato da una macchina perché non riesce, o un nuovo nodo viene aggiunto alla rete, un nuovo criterio di allocazione lavoro deve essere stabilito in base al punto di lavoro ID allocare lavoro ai nodi rimanenti, fino alla nuova nodo torna in linea.

Per i casi in cui più nodi svolgono lo stesso lavoro (duplicazione degli sforzi - che è possibile, ma ridotto al minimo, progettando i soliti timeout sensibilmente). I posti di lavoro devono essere rollbackable, e il conflitto risolto utilizzando Catene di Markov

Per rilevare le possibili duplicazioni affidabile posti di lavoro deve auto-rollback in meno tempo di quanto il timeout per la ricezione dei risultati di posti di lavoro che si applica nel corso di una periodo di crisi vale a dire quando i nodi stanno fallendo. Un timeout più breve si applica quando i nodi non stanno fallendo.

Proprio per evitare di reinventare la ruota, date un'occhiata ai vari protocolli di routing. OSPF potrebbe essere un buon punto di partenza, dato lo scenario. Naturalmente ci sono molte, molte variabili che potrebbero rendere non la scelta migliore per voi. Come ad esempio:

  • è possibile mantenere un percorso più breve per i nodi X; se un nodo va giù, i nodi collegati siano informati e possano fare una nuova ricerca SP per trovare uno adatto; è necessario considerare overhead per ping e keep-alive messaggi
  • hai bisogno di instradate connessioni (cioè le ricerche nella rete p2p) o semplicemente mantenere un grande insieme di nodi interconnessi (alla botnet)? Se è così, un approccio misto (un piccolo, tabella hash distribuita per piccoli sottoinsiemi di rete + OSPF / BGP per le frontiere) potrebbe aiutare;
  • così via e così via

Hai guardato Kademlia ? E 'simile a Chord, e versioni di esso sono utilizzati da BitTorrent e eMule. Il carta elenca alcune misure per garantire la rete integrità, anche a fronte di attacco. I due quelli di base sono

  • Mantenere abbastanza coetanei in modo che il fallimento di abbastanza di loro a causare problemi è improbabile
  • Mantenere la lista dei peer noti in ordine di tempo di attività più lunghi. Gli studi hanno dimostrato che la probabilità di un nodo che va in linea entro la prossima ora si abbassa il tempo che è già stato in linea. Questo rende anche difficile per gli attaccanti di inondare la rete con nodi maligni.

Non sono sicuro di quanto di questo si applica a Chord, perché non ho letto tanto su di esso, ma penso che andare con un DHT è una buona idea a meno che non hai bisogno di ricerca sfocata.

Usa Chord. http://en.wikipedia.org/wiki/Chord_(peer-to -peer)

Ho implementato in progetti prima e affronta questi problemi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top