dopo lungo tempo di ragionamento ho deciso di implementare l'algoritmo di routing,
il routing rappresenta senza dubbio uno dei grandi scogli per questo tipo di programmi
infatti il passaggio da un peer ad un altro rende le comunicazioni lente ed instabili
i programmi di peer to peer anonimo sono caratterizzati dalla creazione di un traffico involontario
per far raggiungere una porzione di un file da un uploader al downloader, il problema e
come si fa' a creare un routing
l'idea che mi e' venuta e' di mettere le richieste che venivano fatte in una collection
dove vene inserita una parola chiave ,l'ip virtuale di chi richiede e di quello che riceve
ed ogni nodo intermendio inserisce nella collection anche gli indirizzo ip reale
da cui ha ricevuto la richiesta in modo da rispedirglielo quando viene ricevuta la risposta
es.la ricerca di un file
invio il comando "cerca file" a tutti gli ip che ho nella lista, in un sistema friend to friend gli ip rispondevano e basta, ora lo riinviano a loro volta a tutti gli ip della loro lista, escludendo l'ip da cui lo hanno ricevuto prima si cerca nella collection se quella ricerca e' gia' passata per loro, perche' gira e rigira i messaggi potrebbro ripassare, se nella collection non c'e' viene inserita aggiungendo l'ip da cui la hanno ricevuta e l'ip virtuale del downloader.......quando ogni peer restituisce il risultato della ricerca, lo spedisce al peer che glielo aveva richiesto chi riceve il risultato della ricerca controlla se il virtual ip corrispnde al suo, se si mette a video i risulatati della ricerca, se no cerca nella collection se quella richiesta e' presente,
viene spedita all'ip che la aveva richiesta....facendo cosi' arriva a destinazione ovviemente quando io memorizzo l'ip di chi mi ha inoltrato la richiesta io non so' se sia
lui il vero richiedente o se a sua volta la abbia ricevuta da altri......
|