Interessanti segnalazioni da un articolo di Slashdot sullo sforzo per aiutare le applicazioni peer-to-peer a soffrire di meno la presenza di firewall e NAT (Network Address Translation, un modo per usare lo stesso indirizzo IP pubblico per molti computer).
Chi sta dietro ad un firewall o un NAT ha difficoltà (o è impossibilitato) a comunicare direttamente con altri utenti nelle stesse condizioni, ma è deve utilizzare un proxy o rassegnarsi a comunicare solo con chi ha un indirizzo IP vero (nel caso del NAT) e le cui connessioni provenienti dall’esterno non vengono filtrate da un firewall.
Ad esempio, tutti gli utenti FastWeb sono “dietro” ad un NAT, e per questa ragione molte applicazioni p2p funzionano molto bene tra utenti FastWeb ma meno bene con l’esterno.
Fin dall’inizio si sono cercati modi per aggirare queste limitazioni, sfruttando il meccanismo di funzionamento e le limitazioni dei NAT e dei firewall. L’arrivo delle applicazioni p2p di telefonia Voice over IP tipo Skype ha dato un nuovo impulso alla ricerca in questo campo (esempio di lunga discussione al proposito sulla mailing list p2p-hackers).
La nuova versione di Limewire (4.2) permette in teoria di fare trasferimenti tra due utenti anche se sono entrambi dietro un firewall (dettagli sulle tecniche di “creazione di buchi con UDP” sono disponibili nei sorgenti di Limewire).
Ian Clarke, il creatore di Freenet, sta lavorando invece a Dijjer, una cache peer-to-peer Open Source anch’essa in grado di utilizzare tecniche di “UDP hole punching”per passare attraverso i firewall.
Interessante anche questo post sulla mailing list Decentralization, in cui Brian Behlendorf della Apache Software Foundation parla di persone interessate a sostenere finanziariamente lo sviluppo di un modulo per Apache e modifiche a Mozilla che consentano una gestione completamente trasparente di BitTorrent, sia lato server che lato client.