NAT Network address translation

Introduzione

Col il NAT possiamo avere tutto lo spazio degli IP di cui abbiamo bisogno, che però non sono esposti. All’esterno vengono esposte solamente l’IP del NAT.

  • Schema classico NAT

    image/universita/ex-notion/Network Address Translation/Untitled

Quindi in breve

All’esterno è esposto solamente l’indirizzo del router, il router, a seconda della porta giusta, dà in risposta al computer giusto, quindi all’interno della nostra rete conosciamo tutti gli indirizzi IP giusti.

Addr translation table 🟩

Sembra che ad ogni richiesta ci sia una table di transizione all’interno del router che matcha porta → indirizzo locale corretto!.

Esempio funzionamento 🟩

  • Slide

    image/universita/ex-notion/Network Address Translation/Untitled 1
  1. Un client locale fa una richiesta esterna, viene inviato al router
  2. Il router salva la porta all’IP interno e invia fuori
  3. Il server fuori ritorna la risposta alla porta corretta del router
  4. Il router manda questa risposta al client con l’indirizzo corrispondente a quella porta

Controversie NAT (3) 🟨+

  • Slide

    image/universita/ex-notion/Network Address Translation/Untitled 2

il router dovrebbero lavorare solamente sul livello 3 (IP), qui sta andando anche livello trasporto, per capire come mandare (infatti ha bisogno di un socket spiegato in Socket (!!!) 🟩), dato che ha bisogno anche del livello di porta).

L’obiettivo di avere più indirizzi Ip non dovrebbe essere risolto con questa sorta di hack, dovrebbe essere risolto con IPv6 utilizzare il NAT sembra una specie di Hack.

Inoltre tutte le richieste devono passare da questo router e manipolate per poter accedere alla rete dietro il NAT, non abbiamo il pretesto per parlare di end-to-end. (il prof. parla di lato porcherie (dietro il nat) e il lato bello che è il fuori, e il router sembra quasi l’ambiente di cambio vestiti, in modo che tutti si possano comprendere, lol).

Una cosa molto brutta è fare NAT di NAT. Dall’altra parte i NAT sembrano un modo per isolare computer di cui non mi fido (che conoscono un falso IP proprio che non è raggiungibile esternamente.).