Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Le reti di computer: gestire le porte del router con PAT e NAT (2/3)
Scritto da Ciro Fiorillo il 11-12-2009 ore 12:11
Parallel Studio XE
La NAT basa il suo funzionamento, come dice il termine, sulla traduzione degli indirizzi di rete: nel router, in cui è abilitata la NAT, viene creata una tabella, detta appunto NAT Table, che memorizza per ogni richiesta in uscita dalla rete LAN un set di porte, scelto in maniera casuale, e uno (o l'unico) degli indirizzi IP pubblici forniti dall'ISP.

In questo modo, ad esempio, un pacchetto in uscita dal nostro PC 192.168.0.12 verso l'indirizzo 1.2.3.4 sulla porta 80, verrà analizzato dal router, che provvederà a inserire un'apposita voce nella NAT table, memorizzando tale richiesta; il router si occuperà quindi di modificare l'indirizzo IP della richiesta, sostituendo all'indirizzo 192.168.0.12 il proprio indirizzo IP esterno, ossia 87.12.13.14, e attribuendo una diversa porta origine, ad esempio la porta 2048.

Quando il router riceverà un pacchetto dall'host 1.2.3.4, verificherà se nella NAT table è presente la corrispondente voce relativa a una richiesta effettuata verso tale host: saprà così di dover indirizzare il pacchetto ricevuto all'host 192.168.0.12, che aveva originariamente effettuato la richiesta; se non viene trovata alcuna corrispondenza nella NAT table, il pacchetto viene scartato.

La tecnica appena vista è detta NAT dinamico o IP masquerading, ed è un caso particolare di Source NAT, ovvero di sostituzione dell'indirizzo IP sorgente; altri nomi utilizzati per tale tecnica sono Port Address Translation (PAT) e IP Overloading, in quanto oltre alla traduzione dell'indirizzo, viene effettuato anche un cambiamento della porta utilizzata ; ciò avviene perché, altrimenti, un solo host della rete per volta potrebbe effettuare richieste.

In questo esempio, però, non abbiamo ottenuto lo scopo che ci eravamo prefissi, ovvero di far sì che i client esterni alla nostra rete locale 192.168.0.0/16 possano collegarsi al programma eMule, in esecuzione sul laptop all'indirizzo 192.168.0.12, in quanto come specificato, la tecnica utilizzata consente di effettuare una comunicazione dall'interno della rete LAN all'esterno, ma non viceversa.

Per ottenere il nostro scopo, occorre definire una Static NAT: in pratica occorre popolare la NAT table vista in precedenza, fornendo al router le indicazioni sulla destinazione, alla quale inoltrare i pacchetti in arrivo sull'interfaccia WAN a una determinata porta. Nel nostro caso, occorre indirizzare tutti i pacchetti TCP in arrivo sulla porta 4662, dell'interfaccia WAN del router, alla porta TCP 4662 del laptop all'indirizzo IP 192.168.0.12, e tutti i pacchetti UDP in arrivo sulla porta 4672 del router alla corrispondente porta UDP 4672 del laptop; in questo modo, i client eMule remoti potranno inoltrare le richieste al nostro router, che le girerà in maniera trasparente al client eMule in esecuzione sul nostro laptop.
Precedente: Le prospettive professionali legate al mondo dei computer
Successiva: Novità Visual C++ in Visual Studio 2010
Copyright Programmazione.it™ 1999-2014. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.186 secondi.