Come si connette un nodo P2P puro ad altri nodi

5

Sto lavorando alla mia prima app P2P utilizzando core C # e gRPC e trovo difficile comprendere i concetti di come i nodi si trovano l'un l'altro e creare una tabella di routing.

Per il mio design mi piacerebbe avere solo nodi e nessun server listener / directory / discovery.

Avrò una lista di alcuni "nodi noti" che possono iniziare la catena di ricerca e connessione ai peer ma non riescono a capire un flusso di lavoro per questo.

Domande:

1) Come sono assegnati gli ID a ciascun nodo?

2) Come funziona la scoperta tra pari?

- Known node is running and is the only node on the network.
- New node connects to known node and requests full peer list?
- Connect to each peer on the list?

3) Poiché ogni nodo è un client e un server, ci devono essere 2 connessioni tra ogni nodo?

    
posta user3953989 06.06.2018 - 15:15
fonte

1 risposta

3

Devi conoscere qualcuno per entrare nel club.

Quando scarichi il software p2p, ha una lista di peer stabili noti. Finché uno di questi è attivo, ti darà l'ultimo elenco di colleghi. A meno che tu possa sempre avviare la tua rete p2p distribuendo una stringa di connessione ai tuoi amici.

C'è un sacco di complessità che puoi aggiungere a questo per bilanciare il carico e così via, ma questo è essenzialmente il modo in cui i pari trovano i compagni. Il software jump lo avvia e dopo è il passaparola.

Bene, a meno che tu non vada in giro con la scansione delle porte. Ma è un po 'scortese.

    
risposta data 06.06.2018 - 15:43
fonte

Leggi altre domande sui tag