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
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
- Un client locale fa una richiesta esterna, viene inviato al router
- Il router salva la porta all’IP interno e invia fuori
- Il server fuori ritorna la risposta alla porta corretta del router
- Il router manda questa risposta al client con l’indirizzo corrispondente a quella porta
Controversie NAT (3) 🟨+
-
Slide
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.).