Il modo migliore per implementare una rete peer to peer locale

0

Il mio obiettivo: scrivere un programma in cui due computer sulla stessa LAN si vedono e possono parlare direttamente tra loro senza server o account. Ogni cliente deve essere strong come ogni altro cliente e mantenere la propria lista di quali clienti sono online. (Ho intenzione di utilizzare l'hostname computer con hash con gli indirizzi IP per mantenere le voci univoche).

Il mio design: voglio ottenere ogni client un elenco di ogni altro client attualmente sulla LAN. Ciò significa che i messaggi di trasmissione periodici a tutti i client sulla rete e i periodi di timeout per i client in modo che l'elenco venga tagliato dei client offline.

Il mio problema: che richiede un pedaggio sulla rete, per trasmettere a tutti i clienti. Se ci sono 2 programmi client su una rete con 300 computer, si tratta di 298 computer che non hanno alcun utilizzo per i pacchetti che stanno ricevendo. Inoltre non so quale porta usare. Inoltre, la trasmissione in rete è obsoleta in IPV6 e non voglio strutturare questa parte del codice in un modo obsoleto.

La mia ricerca: Potrei usare IP Multicasting per inviare segnali solo ai clienti interessati (quelli che eseguono il mio programma). Inviare regolarmente segnali ogni 60 secondi non dovrebbe essere troppo dispendioso se non si passa a programmi non interessati.

Il multicast specifico per l'origine è una cattiva scelta per me perché nessuna fonte può essere stabilita in anticipo. Avrei bisogno di eseguire il multicasting Sparse o Dense.

Voglio solo confermare che sono sulla buona strada, che usare Multicasting è il miglior protocollo possibile per mantenere i miei clienti sulla stessa pagina.

Ecco un'ultima avvertenza. Diciamo che tutti i client cablati si trovano su una LAN che contiene un router wifi, in modo tale che il router wifi esegua un servizio di instradamento DHCP e packet solo per client abilitati alla rete wifi. Quale tecnica sarebbe più ragionevole multicastare attraverso un gap di rete come questo (e non fino a Internet globale)?

    
posta Aviator45003 14.11.2014 - 08:41
fonte

1 risposta

2

Sei sulla strada giusta con multicast per un sistema peer-to-peer senza un broker centrale. I sistemi molto costosi utilizzati nei servizi finanziari per la messaggistica a bassa latenza fanno esattamente quello per implementare la risoluzione degli argomenti e facoltativamente la messaggistica stessa.

Tuttavia, prendilo da me, una volta uscito dallo scenario VLAN singolo e devi attraversare firewall e router, il multicast diventa molto fragile. Non è che questi dispositivi non supportino il multicast molto bene - lo fanno. Né è che l'IGMP sia un protocollo mal concepito - non lo è. È che la conoscenza di come impostare percorsi multicast e di mantenerli sembra essere il dominio dei soli ingegneri di rete più esperti.

    
risposta data 14.11.2014 - 10:05
fonte

Leggi altre domande sui tag