|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Apr 2005
Messaggi: 296
|
NAT Traversal, come si fa?
Si può fare in modo che due pc, entrambi dietro una NAT, possano comunicare fra loro direttamente? Non importa se tramite TCP o UDP.
E questo senza che tutto il traffico passi per un terzo server. Un server al massimo può essere usato all'inizio per permettere ai client di connettersi fra loro direttamente. Ho provato a fare un test veloce. Ho creato un programmino server, che gira su un PC con IP pubblico, e che riceve un pacchetto UDP. Dopodichè, risponde all'infinito al client che lo ha contattato, e intanto stampa su schermo l'indirizzo e porta esterni del client. Il client, che risiede sul mio pc dietro una NAT, manda un pacchetto al server e poi riceve pacchetti all'infinito e stampa su schermo il contenuto dei pacchetti, semplicemente. Poi, li ho avviati e ho preso nota dell' [IP : porta] esterni del client , che il server stampava su schermo. Infine, ho creato un terzo programmino che gira sempre sullo stesso pc del client, e manda pacchetti al client (conosco i suoi IP : porta esterni). Esito : il client non riceve pacchetti dal terzo programma, ma solo dal server, infatti dopo ho chiuso il server... e il client ha smesso di ricevere pacchetti mentre l'altro programmino glieli mandava.. (l'ip e porta erano corretti, ho provato più volte). Dove sta lo sbaglio?? Forse c'è un firewall sul mio ISP (la Tiscali) che si ricorda che il client ha contattato una certa macchina esterna, e permette le risposte solo da essa e non anche da altre ?? Se qualcuno è riuscito a far comunicare due pc dietro nat, usando un server o meno, può spiegarmi come si fa? thx Ultima modifica di GordonFreeman : 29-07-2008 alle 02:03. |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Apr 2003
Città: Teggiano (SA)
Messaggi: 705
|
Quote:
è un giochetto abbastanza semplice, carica tanto la rete ed in certe occasioni non è conveniente, ma è l'unica soluzione che non richiede un server in mezzo in grado di fare da bridge. dopo che hai letto "Come è possibile?" ti chiederai "Come non c'ho pensato prima?" infine, ti consiglio di leggerti i relativi rfc per nat e nat-t, una volta capito come funziona il sistema è piuttosto semplice capire come andare oltre determinati limiti.
__________________
Le foto degli eventi della provincia di Salerno su ENJOYVALLO.COM (www.enjoyvallo.com) Ultima modifica di Z3R0`c00l : 29-07-2008 alle 19:29. |
|
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Apr 2005
Messaggi: 296
|
Quote:
avresti per caso scritto un programmino che fa lo stesso ma in c/c++? io il perl non lo conosco. secondo te hamachi funziona così? per me fa esattamente quello, non è una loro invenzione quel sistema, mentre nel sito di hamachi la spacciano come tale. e la stessa cosa fa ultravnc penso. |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Apr 2003
Città: Teggiano (SA)
Messaggi: 705
|
Quote:
__________________
Le foto degli eventi della provincia di Salerno su ENJOYVALLO.COM (www.enjoyvallo.com) |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:52.