differenza tra NAT e PAT

Tutto ciò che ha a che fare con le reti

Moderatore: Federico.Lagni

Rispondi
francota2
Cisco fan
Messaggi: 33
Iscritto il: gio 21 feb , 2013 4:08 pm

CIao a tutti
Ho un problema a comprendere la sottilie differenza tra il NAT e il PAT.
MI sembrano la stessa cosa, o meglio direi che tutto viene fatto dal NAT, perchè è lui che traduce un IP privato in quello pubblico del router, mentra la porta rimane invariata.
Quindi quando interviene il PAT, che cosa realmente fa?? :shock:

Spero che dopo un vostro intervento mi si illumini questa differenza

Franco
lorbellu
Network Emperor
Messaggi: 313
Iscritto il: gio 25 ott , 2007 6:14 pm

Ciao,

Come dice le sigle, il NAT é Network Address Translation mentre il PAT é Port Address Translation.
Chiaramente il PAT é l'evoluzione del NAT in quanto ti permette di mascherare (i.e. "nattare") molti più indirizzi dietro ad un singolo indirizzo.
Nel NAT infatti (sia lo static che il dynamic NAT) c'è sempre una trasposizione 1:1 di IP inside con IP outside, tipicamente questo si usa per "ribaltare" tutto lo stack IP da un IP privato interno ad un pubblico interno.

Ovviamente il limite maggiore è proprio che essendo il NAT una corrispondenza UNIVOCA, non è possibile far corrispondere più IP inside con un singolo IP outside, quindi sei hai una LAN con più IP inside di quanti sono gli IP outside ovviamente il NAT non riesce a garantire a tutti il servizio di address traslation.

L'esempio tipico è il router di casa in cui a fronte di un (1) solo IP pubblico (associato all'interfaccia WAN) si deve mascherare un'intera LAN interna in cui sono presenti più hosts e tutti devono navigare.
In questo caso il NAT non é realmente utilizzabile in quanto potrebbe garantire la navigazione a solo un host per volta, si adopera quindi il PAT in cui il router tiene traccia delle varie sessioni TCP UDP trasponendo l'IP inside con uno stesso IP outside ma con porte differenti, é infatti piuttosto improbabile che la source port TCP di due hosts differenti sia uguale.

Questo vale ovviamente anche in senso contrario, l'utilizzo del PAT infatti permette il risparmio di IP address pubblici, basta pubblicare i servizi di host inside diversi con porte pubbliche diverse. Ad esempio, volendo trasporre su un IP outside 88.88.88.121 il servizio SSH (tcp porta 22) di due apparati diversi aventi IP inside 10.10.10.1 e 10.10.10.2.
Praticamente per il .1 è possibile operare il port forwarding diretto sulla porta TCP 22, mentre per l'altro (o viceversa ovviamente) sarà necessario utilizzare una nuova una porta pubblica diversa (ad es TCP 2222) che viene quindi forwardata sulla TCP 22 dell'IP 10.10.10.2.

Saluti
Lorbellu
francota2
Cisco fan
Messaggi: 33
Iscritto il: gio 21 feb , 2013 4:08 pm

Ora ho capito perchè sul libro dicono che erroneamente si parla sempre di NAT, uno si occupa degli IP l'altro delle porte come appunto si intende dal loro nome.
Non so perchè ma dal libro non si comprendeva questa forte distinzione, forse perchè in inglese... :?

Grazie cmq
Franco
lorbellu
Network Emperor
Messaggi: 313
Iscritto il: gio 25 ott , 2007 6:14 pm

Giusto per essere chiari, il PAT é sempre un tipo di NAT. Il NAT esiste per fornire il servizio di traslazione di un IP in un altro.
E' nato per ovviare il problema delle reti in overlap (due reti diverse con la stessa subnet interconnesse tra loro), prima che per ovviare i problemi di scarsità degli IP pubblici.

Con il termine NAT si distinguono (almeno quelle che conosco io) tre tecniche di traslazione degli indirizzi:
  • Static NAT - Traslazione 1:1 di uno specifico IP in un diverso specifico IP
  • Dynamic NAT - Traslazione 1:1 di un NON specifico IP in un NON specifico IP differente, "pescato" da un pool di indirizzi disponibili
  • PAT - Traslazione n:1 di più IP in uno o più diversi IP "pescati" da un pool , effettuando un'associazione a livello sessione (TCP/UDP) e non a livello network (IP)
Spero di esserti stato di aiuto.

Saluti
Lorbellu
Rispondi