Sei sulla pagina 1di 8

? ?

Problema della connessione ad Internet

* Il problema principale che nasce quando cerchiamo


di connettere reti locali alla rete pubblica (Internet)
che gli host locali devono avere indirizzi IP registrati
ed unici per poter essere raggiungibili dallesterno.

* Infatti se cos non fosse i router sulle dorsali di


Internet non saprebbero come indirizzare lhost
allinterno della rete locale e fargli pervenire i
pacchetti.

Problema della connessione ad Internet

Inside Network Outside Network

Gateway
192.168.10.2
Internet
192.168.10.254 209.235.168.3

192.168.10.3

? ?1
? ?

Condivisione dellaccesso (modem sharing)

* Gli indirizzi della rete locale (192.168.10.xxx) non


sono visibili dallesterno. La macchina che fa da
Gateway ha due interfacce di rete, una sulla rete
locale e una sulla rete pubblica.

* La machina gateway pu essere connessa alla rete


pubblica attraverso un collegamento via modem,
ISDN o ADSL. In tal caso lindirizzo pubblico sar
assegnato dallInternet provider.

* Vogliamo quindi condividere un unico accesso ad


Internet (con un unico modem o adattatore) per
connettere lintera LAN.

NAT

* Uno dei modi possibili per risolvere il problema


quello di utilizzare sul Gateway unapplicazione che
implementi NAT (Network Address Translator - RFC
1631)

* Il principio alla base di NAT quello di riassegnare gli


indirizzi IP e le porte delle connessioni TCP e UDP.

* Chiameremo lindirizzo IP globale su Internet


indirizzo pubblico, lindirizzo di un host sulla LAN
indirizzo privato

? ?2
? ?

NAT - Principio di funzionamento

* Quando un host sulla rete privata manda un


pacchetto sulla rete pubblica attraverso la macchina
che implementa NAT (deve essere selezionata come
default gateway!), NAT scrive in una tabella lindirizzo
privato di quellhost ma sostituisce lindirizzo
pubblico nel pacchetto prima di spedirlo sulla rete
pubblica.

* Quando arriva il pacchetto di risposta dalla rete


pubblica, NAT riscrive nel pacchetto lindirizzo
privato prima di mandare il pacchetto di risposta
allhost.

NAT - Esempio
Rete Privata Rete Pubblica

SA NAT SA
192.168.10.2 209.235.168.3
192.168.10.2
Internet

192.168.10.3
SA = Source Address
Tabella NAT

Inside Local Inside Global 151.100.37.12:80


IP Address & port IP Address & port
SERVER HTTP

192.168.10.2:1024 209.235.168.3:55001
192.168.10.3:1723 209.235.168.3:55002

? ?3
? ?

NAT - Esempio

* Richiesta di accesso ad un server pubblico http


(151.100.37.12) da una worksation (192.168.10.2) sulla
rete privata.

* La workstation invia il primo pacchetto al gateway


NAT (che il suo default gateway).

* Quando Nat riceve il primo pacchetto sostituisce


lindirizzo privato della sorgente con lunico
indirizzo pubblico assegnato alla rete (209.235.168.3).
Sostituisce la porta TCP sorgente (1024) con unaltra
disponibile (55001) e scrive le corrispondenze nella
tabella.

NAT - Esempio

* Attenzione: NAT non fa nulla sullindirizzo di


destinazione e sulla porta di destinazione dei
pacchetti.

* Quando riceve i pacchetti di risposta del server http,


NAT dal numero di porta TCP di destinazione (55001)
in grado attraverso la sua tabella di risalire alla
macchina sulla rete locale destinatario della risposta
del server http (192.168.10.2). Ripristina la porta e
lindirizzo corretti.

* Se nel frattempo unaltra richiesta stata fatta da


unaltra macchina (192.168.10.3), i pacchetti a lei
diretti vengono distinti perch le viene assegnato un
altro numero di porta (55002)

? ?4
? ?

NAT - Esempio

* Pacchetto generato da 192.168.10.


Indirizzo IP source Porta TCP source Indirizzo IP destination Porta TCP destination

192.168.10.2 1024 151.100.37.12 80

* Pacchetto inviato da NAT (e ricevuto dal server http)

Indirizzo IP source Porta TCP source Indirizzo IP destination Porta TCP destination

209.235.168.3 55001 151.100.37.12 80

NAT - Esempio

* Pacchetto inviato dal server HTTP


Indirizzo IP source Porta TCP source Indirizzo IP destination Porta TCP destination

151.100.37.12 80 209.235.168.3 55001

* Pacchetto restituito da Nat allhost

Indirizzo IP source Porta TCP source Indirizzo IP destination Porta TCP destination

151.100.37.12 80 192.168.10.2 1024

? ?5
? ?

W inroute

* Un software semplice da configurare che implementa


NAT winroute della Tiny Software
(www.winroute.com).

* Contiene un server dhcp e un dns forwarder


integrati: permette quindi di configurare lintera rete
in maniera semplice e affidabile.

* Contiene un proxy server facilmente configurabile.

Proxy server

* Lo scopo principale di un proxy server quello di far


risparmiare banda sulla connessione internet. Se gli
utenti accedono ad internet tramite una connessione
al server proxy, questo pu memorizzare i vari
oggetti richiesti (pagine html, immagini,etc) nella sua
cache.

* Se le pagine e le immagini vengono richieste di


nuovo (dallo stesso o da un altro utente) il server
proxy fornir loggetto richiesto prendendolo dalla
sua cache invece che da Internet. Trasferire dalla rete
locale molto pi veloce che trasferire da internet di
nuovo.

? ?6
? ?

Proxy server

* Daltra parte, per, gli oggetti conservati in una cache


invecchiano. Bisogna quindi regolare il TTL (Time
to Live) degli oggetti in una cache per evitare di avere
informazioni datate (il giornale di ieri!).

* Il proxy server risponder su una determinata porta


(es: 8080, 3128) e dovr essere configurato
esplicitamente sul browser (client) che lo utilizza.

Port Mapping

* Con Winroute (e con molti altri software) possibile


definire uno schema di port mapping statico per
poter accedere dallesterno (Internet) a server che
girano sulla rete locale.

* NAT, infatti, come descritto fino ad ora, non permette


laccesso (da Internet) a server sulla rete interna: non
possibile indirizzare una workstation in particolare
perch lindirizzo pubblico uno solo!

* Soltanto la workstation che fa da gateway pu essere


indirizzata esplicitamente dallesterno

? ?7
? ?

Port mapping

* Tuttavia possibile stabilire particolari associazioni


tra indirizzi e porte che permettono di utilizzare
server nascosti da NAT (o da altre tecniche di
condivisione dellaccesso).

* Esempio: con lo schema di rete visto prima si vuole


accedere dallesterno (da internet) ad un server ftp
che ascolta sulla porta 21 della workstation.
192.168.10.2

* Si sceglie una porta libera sul gateway (es: 21 stessa)


e si associa:
ip 209.235.168.3 porta 21 -> ip 192.168.10.2 porta 21

Port mapping

* Il software che realizza il port mapping inoltrer tutte


le richieste che gli giungono sulla porta 21 (su cui si
mette prontamente in ascolto) sulla macchina su cui
gira il server ftp (192.168.10.2) sulla porta indicata nel
mapping.

* Ovviamente il software client dovr inviare le sue


richieste alla macchina che fa da gateway
(209.235.168.3) sulla porta giusta, cio dovr
conoscerla!

* Se allinterno della rete privata girano pi server


ftp, bisogner mapparli su porte diverse di
209.235.168.3 (ad es: la 21 e la 23).

? ?8