Tecnologie

Dettaglio dell'articolo:

sabato 27 settembre 2008

UDP hole punching

Con "UDP hole punching" si intende una tecnica che consente di stabilire connessioni UDP bidirezionali tra computer appartenenti a reti private connesse tramite Internet utilizzando NAT.

Ogni host dietro un dispositivo NAT contatta un terzo server noto accessibile per mezzo di un indirizzo pubblico e poi, una volta che il dispositivo NAT ha stabilito una sessione UDP con tale host, può passare alla comunicazione diretta sperando che il dispositivo NAT mantenga le informazioni di stato, nonostante il fatto che i pacchetti provengono da host differenti.

UDP hole punching non funziona con le Symmetric NAT (note anche come NAT bi-direzionale ), che tendono ad essere utilizzate all'interno di grandi reti aziendali. Con Symmetric NAT, essendo l'indirizzo IP del server noto diverso da quello del punto finale, la mappatura NAT che il server noto vede è diversa dalla mappatura che l'endpoint avrebbe utilizzato per inviare pacchetti attraverso il client.

Seguendo un approccio un po' più elaborato entrambi gli host iniziano ad inviare pacchetti gli uni agli altri, effettuando diversi tentativi. Su un " Restricted Cone NAT" , il primo pacchetto proveniente dali altri host sarà bloccato. Dopo che la periferica NAT avrà memorizzato un record conseguente all'invio di un pacchetto destinato alle altre macchine, essa consentirà che ogni pacchetto proveniente da questi indirizzi IP e con lo stesso numero di porta passi attraverso.

La tecnica è ampiamente utilizzata nel software P2P e telefonia VoIP. Si tratta di uno dei metodi utilizzati da Skype per aggirare i firewall e dispositivi NAT. Può anche essere utilizzato per stabilire connessioni  VPN (utilizzando, ad esempio, OpenVPN , strongSwan ).

La stessa tecnica è talvolta utilizzata con connessioni TCP, anche se con molto meno successo.

Algoritmo

Siano A e B i due host, ciascuno nella propria rete privata; N1 e N2 sono i due dispositivi NAT; S è un server pubblico con un indirizzo IP pubblico e raggiungibile.

  1. A e B iniziano una conversazione UDP con S; i dispositivi NAT N1 e N2 creano traduzioni UDP e assegnano numeri di porta temporanei per la comunicazione esterna.
  2. S comunica i rispettivi numeri di porta agli host A e B
  3. A e B contattano  i rispettivi dispositivi NAT direttamente sulle porte tradotte; il NAT utilizza le porte precedentemente create per inviare i pacchetti di A e B

Commenti:

La porta sorgente sarà adesso un numero di porta sul server (notare che la maggior parte dei server non consentiranno di usare numeri di porta sotto 1024 per questo scopo). Assignment writing service

Inviato da: alicebrant il: 2018-08-16 13:18:01.011313

I can set up my new idea from this post. It gives in depth information. Thanks for this valuable information for all,.. Protein Food Source

Inviato da: Protein Food Source il: 2018-09-13 16:04:36.328042

Nice blog and absolutely outstanding. You can do something much better but i still say this perfect.Keep trying for the best. Hummus

Inviato da: Hummus il: 2018-09-13 09:48:13.382832

It's late finding this act. At least, it's a thing to be familiar with that there are such events exist. I agree with your Blog and I will be back to inspect it more in the future so please keep up your act. Weight Loss Herbs

Inviato da: Weight Loss Herbs il: 2018-09-13 15:45:39.879876 I read that Post and got it fine and informative. Please share more like that... Kombucha

Inviato da: Kombucha il: 2018-09-16 09:33:43.228952 his info. I just want to let you know that I just check out your site and I find it very interesting and informative. I can't wait to read lots of your post idol net worth

Inviato da: idol net worth il: 2018-08-03 04:13:22.825391 Well my concepts about the algorithm were never clear I needed to have a proper basic idea that how to make things in a right track wish to see some more of these concept clearing posts which could help me do well in exams I have to write my essay in exams as well need some proper writing help as well.

Inviato da: tony Bell il: 2018-08-17 13:32:01.898481 Truly, this article is really one of the very best in the history of articles. I am a antique ’Article’ collector and I sometimes read some new articles if I find them interesting. And I found this one pretty fascinating and it should go into my collection. Very good work! Coffee

Inviato da: Coffee il: 2018-09-16 09:54:28.854587 wow... what a great blog, this writter who wrote this article it's realy a great blogger, this article so inspiring me to be a better person Zinc Food Source

Inviato da: Zinc Food Source il: 2018-09-13 15:59:34.87598 Well Thanks For Posting Such An Outstanding Idea. I Like This Blog & I Like The Topic And Thinking Of Making It Right.

Inviato da: Programming Homework Experts Help il: 2018-10-08 08:51:59.999524 La stessa tecnica è talvolta utilizzata con connessioni TCP, anche se con molto meno successo. Gioca a madalin stunt cars 2 gratuitamente su PC.

Inviato da: Jeannette Cannon il: 2018-05-28 16:12:02.457126 You completely match our expectation and the variety of our information. Health Benefits

Inviato da: Health Benefits il: 2018-09-15 13:19:26.052175 I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well. In fact your creative writing abilities has inspired me to start my own Blog Engine blog now. Really the blogging is spreading its wings rapidly. Your write up is a fine example of it. Egg York

Inviato da: Egg York il: 2018-09-13 16:18:04.637872

Scrivi un commento:

Archivio