Comunicazioni Multimediali II
-1
Comunicazioni Multimediali
 Lo scopo delle Comunicazioni Multimediali è quello di fornire servizi
di telecomunicazione che integrano diversi flussi informativi:





dati
testo
voce e audio
immagini fisse ed in movimento
Video
 Applicazioni
 Mediche (remote diagnostics), educative (distance learning), editoriali (virtual
library), bancarie, amministrative
Paradigma: fruizione remota di applicativi multimediali
-2
Programma (Prima parte)
 Applicazioni Aziendali (Multimediali e Web)
 Tipologie e requisiti di Rete Aziendale
 Reti VPN
 IP tunneling e crittografia
 Indirizzi IP privati e NAT/PAT
 Firewall (es. IPCOP)
 Reti WAN MPLS
-3
Applicazioni Aziendali
(multimediali e via web)
-4
Tipologie di applicativi e servizi
 Applicativi di informazione
 per la fornitura su richiesta di informazioni strutturate e classificate
(gestione personale, anagrafiche, tipologia prodotti, etc.)
 accesso a pagine dinamiche (form) e interrogazioni a basi di dati
 Applicativi di comunicazione
 per interagire con il pubblico ovvero gruppi di individui
 basati su e-mail, liste di discussione, chat, form per inserimento
richieste, ..
 Applicativi transazionali
 per acquistare prodotti o servizi on line o per trasmettere dati
Generalmente basate:
o su applicazioni client-server o su WEB
-5
Classificazioni di applicativi/servizi on line
 Business to Consumer B2C
 varianti: G2C (Government to Citizen)
 servizi operativi per clienti
 Business to Business B2B
 varianti: G2G (Government to Government)
 servizi operativi tra aziende
-6
Applicativo WEB esempio
-7
Applicativo WEB
-8
Applicativo WEB
-9
Applicativo WEB
-10
Applicazioni WEB
 Il web offre enormi potenzialità per lo sviluppo di
sistemi informativi
 Tuttavia ci sono alcuni limiti
 Il protocollo HTTP è privo di stato
 E' necessario produrre le risposte dinamicamente
 Prime soluzioni (inefficaci e inefficienti)
 CGI: permette ad un server HTTP di interagire con
applicazioni
 Cookie: permette di gestire lo stato
 Soluzione attuale (efficiente ed efficace)
 Application server: una piattaforma complessa per lo
sviluppo di veri e propri sistemi informativi su web
-11
Web Story
 Inizialmente
 Server Web: obiettivo fornire contenuti “statici”
 Documenti in formato HTML
 Problemi
 Come offrire contenuti “dinamici” ?
Ad esempio, pagine costruite dinamicamente a
partire da dati memorizzati in un database
 Come offrire costruire veri e propri sistemi
informativi su web? Non solo pubblicazione di dati,
ma anche operazioni (es. bonifico bancario)
-12
Web Story
HTTP server
Browser
Wide area network (Internet)
 Inizialmente: contenuti statici
 Il Server web offre solo contenuti statici (file)
 Le richiesta HTTP dei browser fanno riferimento a
file memorizzati nel file system (dell'host sul quale
risiede il server Web)
File server
File html
-13
Web Story
Programma CGI
HTTP server
Browser
Wide area network (Internet)
 Problemi: come offrire contenuti dinamici
 Il Server web per rispondere ad una richiesta HTTP attiva
una applicazione che "crea" la risposta (un documento
HTML)
 Una prima soluzione: Common Gateway Interface (CGI). Un
meccanismo che permette ad un server Web di interfacciarsi
con una applicazione esterna e per es. ad un database
database
-14
Web Story
 Costruire sistemi informativi su Web
 Il problema principale è la gestione dello stato
(es. Autenticazione o più in generale
"conversazioni")
 Il protocollo HTTP è privo di stato
 Ogni richiesta non ha memoria delle precedenti
 Per realizzare operazioni complesse serve un
meccanismo per mantenere traccia dello stato
della sessione tra una richiesta e l’altra
-15
Mantenere lo stato delle sessioni
 Cookies
 originariamente introdotti da Netscape
 meccanismo per tenere traccia dello stato della
sessione in applicazioni Web
 standardizzati successivamente
 IETF RFC 2109 – HTTP State
 Attenzione
 il loro uso è controverso (privacy)
-16
Cookies
 Idea fondamentale
 Utilizzare le intestazioni HTTP per "nascondere"
informazioni che vengono scambiate tra client e
server
 Vengono introdotte due nuove intestazioni
 Set-Cookie
 nelle risposte del server per inviare un cookie
 Cookie
 nelle richieste del client per restituire i cookie
-17
Gestione della sessione
 Il segreto sta nel fatto che abbiamo una
informazione "nascosta"
 scambiata tra il server e il client
 il client si impegna a ritornare questa informazione
al server ad ogni richiesta
 il server usa questa informazione per ricostruire ai
propri fini la storia delle interazioni con il client
-18
CGI + Cookie: applicazioni
 In linea di massima CGI e cookie permettono
di realizzare applicazioni complesse
 Ma questa tecnologia è rudimentale, in
particolare è inefficace
 Applicazioni difficili da mantenere, non
scalabili
-19
Application Server
 Per superare questi problemi (efficienza ed
efficacia) sono stati sviluppati gli Application
server
 Application server:
 Fornisce servizi per lo sviluppo di applicazioni
Web complesse
 Offre un'infrastruttura per la programmazione
(librerie) di applicazioni Web complesse
 Lavora congiuntamente al server HTTP
(oppure include un server HTTP)
-20
Application Server
 Infrastruttura di programmazione minima
offerta:
 decodifica delle richieste del client (es: decodifica
di valori sottomessi con una form)
 gestione del ciclo di vita delle applicazioni
 gestione delle sessioni
 gestione di informazioni condivise (dataBase)
 supporto alla produzione della risposta HTTP (se
si usa http esterno)
-21
Application Server
 Alcuni servizi offerti
 replicazione e “clustering” per:
• bilanciamento del carico
• alta affidabilità (“failover”)
 gestione trasparente delle sessioni
 sicurezza
 servizi Web (“Web services”)
-22
Application Server
HTTP
Http
server
application logic layer
connection to resource mgmt
layer
resource management layer
wide area network (Internet)
presentation layer
browser
-23
Tipica struttura eBusiness
Enterprise Architecture
Intranet
User
Internet
User
Web
server(s)
Application
servers
Archive
server
Database
servers
RAID storage
(NAS or SAN)
Robotic tape
library
-24
Architettura Three Tier
Database
Server
Web
Server
Application
Server
-25
Three Tier Web
HTTP
Request
HTTP
Response
Client Web
Browser
Internet /
Intranet
HTTP Request /
RPC Call
HTTP
Response /
RPC Return
SQL
Query
Result Set
Web Server
App Server
(presentation) (business logic)
Database
(resource)
These servers may be independent
or may run on the same machine
-26
Ridondanza - Clustering
Database
server 1
OS
Database
server 2
OS
Application
server 1
OS
FC switch 1
Application
server 2
OS
FC switch 2
Fiber Channel
GigabitEthernet
Raid HW
-27
Tipica struttura eBusiness
Internet
Router / Proxy
• Firewall /Security
Web Server
Firewall Cluster
Protected area
Application Server
Data flow
Database Server
Database
-28
Disaster Recovery
LAN
Data Center
LAN
Database Server
Application Server
Management
station
SAN
-29
Tipologie di rete aziendale
-30
Reti aziendali
 Quattro tipologie:




Rete non protetta
Rete privata
Rete ibrida
Rete VPN
-31
Rete Sicura
 Una RETE INFORMATICA si può definire
sicura quando:
 Consente l’accesso a sistemi, servizi e risorse
solo a persone autorizzate
 Protegge la sicurezza e la privacy delle
transazioni da e verso Internet
-32
Rete non Protetta
Sottorete 1
Sottorete 2
R1
Internet
R2
 La Sottorete 1 può comunicare con la Sottorete 2 in modo
non protetto usando Internet
 L’accesso a Internet avviene attraverso i router R1 e R2
 Tutti gli host delle 2 sottoreti devono avere indirizzi IP globali
-33
Rete privata
 Rete (server, host router) inaccessibile al
traffico di altre reti
 Implementazione tipica: affitto di linee tra i
nodi della rete privata
 Vantaggi potenziali
 Riuso degli indirizzi
 Riservatezza e protezione
-34
Rete privata
Linea dedicata
Rete privata
 In questo caso la rete è completamente
inaccessibile dall’esterno
-35
Rete privata: vantaggi
 Per “l’impresa”:
- sicurezza
- flessibilità nella gestione dell’indirizzamento:
 ampia disponibilità di indirizzi
 gestione privata dell’univocità
 Per la comunità:
 risparmio di indirizzi
Svantaggio: non fruibilità all’esterno
-36
Rete ibrida
 Linee dedicate connettono i diversi gruppi di
nodi che formano la rete privata
 Alcuni o tutti i gruppi sono connessi al resto di
Internet  indirizzi IP pubblici (globali)
 Possibilità di riservatezza e protezione con
collegamento verso l’esterno:
 Traffico privato su linee dedicate
 Traffico da/verso il resto di Internet su linee
condivise
-37
Rete ibrida
Sottorete 1
Sottorete 2
Internet
R1
R2
Linea privata dedicata
 La Sottorete 1 può comunicare con la Sottorete 2 in modo
riservato usando la linea dedicata
 L’accesso a Internet avviene attraverso i router R1 e R2
 Gli host che accedono all’esterno usano indirizzi IP globali
-38
Rete virtuale privata (VPN)
 Cerca di limitare gli svantaggi delle soluzioni
precedenti:
-Reti non protette  l’uso di Internet per la connessione
tra sottoreti non offre riservatezza e protezione
-Reti completamente private o ibride sono costose 
affitto o installazione linee dedicate
 Rete virtuale privata (VPN)
 Non usa linee dedicate
 Traffico da/verso nodi della rete privata autenticato, criptato
e incapsulato (tunneling)
-39
Rete VPN
Sottorete 1
TUNNEL CRITTOGRAFATO
R1
Internet
Sottorete 2
R2
 La Sottorete 1 può comunicare con la Sottorete 2 in modo riservato
usando il tunnel sicuro su Internet
 L’accesso a Internet avviene attraverso i router R1 e R2
 R1 ed R2 devono avere indirizzi IP globali
 Le 2 sottoreti usano indirizzi IP privati (per facilità di riuso)
-40
Tecniche per il VPN
 Tunneling
 pacchetti incapsulati in pacchetti IP standard come parte dati
 Crittografia (cifratura)
 pacchetti cifrati alla sorgente e decifrati a destinazione
 Autenticazione
 Solo gli utenti autorizzati accedono alla rete
 Unica parte visibile: intestazione del pacchetto esterno
 Incapsulamento o tunneling: la parte dati contiene il pacchetto
originario cifrato
 Indirizzi IP sorgente e destinazione originali cifrati
-41
VPN - Esempio
Sottorete 2
Sottorete 1
D2
D2
Internet
D1
Host1
R1
R2
Cifratura
Decifratura
D1
Host2
 Pacchetto D1 da Host1 a Host2
 D1 cifrato da R1  D2
 D2 giunge a R2 e viene decifrato  D1
 D1 è consegnato a Host2
-42
Tabella di routing di R1
R1
R3
Internet
R4
R2
Rete
128.10.2.0
Destinazione
Next hop
128.10.2.0
R2
192.5.48.0
Tunnel verso R3
default
Router di ISP
Rete
192.5.48.0
 La entry di default indica che il pacchetto è inviato a
Internet senza cifratura e tunneling
-43
VPN

Due tipologie



Client-to-LAN
LAN-to-LAN
Tre categorie



Remote Access VPN
Intranet VPN
Extranet VPN
Client-to LAN
LAN-to-LAN
-44
VPN LAN-to-LAN:
Local Network
VPN Server
Computer
Internet
VPN Tunnel
VPN Server
Computer
Remote Network
Connecting Remote Networks to a
Local Network
-45
VPN Client-to-LAN:
Corporate Network
VPN Server
Computer
Internet
VPN Tunnel
Remote User
Connecting Remote Users to a Corporate Network
-46
VPN a confronto: LAN-to-LAN
 Prevede l’utilizzo di apparati/server che
gestiscono la comunicazione VPN e fanno da
gateway tra le due reti
 La crittografia è applicata solo nelle
comunicazioni tra i gateway (tunnel-endpoint)
 Si usa soprattutto crittografia simmetrica
(Symmetric Encryption) di tipo “Shared-Key”
-47
VPN a confronto: Client-to-LAN
 E’ una tipica connessione uno (gateway/Access
Point) a molti (Client)
 La crittografia è applicata alle comunicazioni tra il
gateway ed N client
 La crittografia sietrica (di tipo “Shared-Key”) non è
adeguata (distribuzione della chiave in N posti!)
 Si usano perciò soprattutto tecniche di crittografia
asimmetrica (Asymmetric Encryption)
-48
Tre Categorie di VPN
Intranet VPN
Low cost, tunneled
connections with
rich VPN services,
like IPSec
encryption and
QoS to ensure
reliable throughput
Home
Office
Main
Office
POP
Remote
Office
WAN VPN
POP
Remote Access VPN
Secure, scalable,
encrypted tunnels
across a public
network, client
software
Extranet VPN
Extends WANs to
business
partners
Business
Partner
Mobile
Worker
-49
Principali problemi delle VPN
 Quality of service
 L’incapsulamento (tunneling) puo’ nascondere dei
markers per la gestione della QoS
 Sicurezza
 Indirizzamento e raggiungibilità
 Visibilità esterna di servizi interni alla rete
 Gestione di reti con indirizzi privati: se si vuole
collegare insieme 2 reti con lo stesso spazio di
indirizzamento bisogna usare un NAT translator
(che agisca facendo un pre-routing e un postrouting)
-50
Tecnologie di VPN
 PPTP- point-to-point tunneling protocol
 L2F- layer-2 forwarding
 L2TP- layer-2 tunneling protocol
 IPSec- IP security protocol
 GRE- generic routing encapsulation
 MPLS- multiprotocol label switching
-51
Tunneling IP
-52
Tunneling IP
 Tecnica per l’attraversamento di una rete IP
da parte di traffico non IP o IP con
caratteristiche particolari.
 Strumento principale: incapsulamento
pacchetti non IP all’interno di un pacchetto IP
-53
Perchè il Tunneling IP
 Sicurezza
- Tunneling + cifratura permettono di ottenere
collegamenti sicuri su reti pubbliche (VPN)
 Collegamento di router con capacità non
disponibili nel resto della rete
- Es. Multicast
 Attraversamento di segmenti IP da parte di
pacchetti di protocolli diversi
- Es. IPv6
 Mobile IP
-54
Crittografia (Cifratura)
-55
Crittografia
Encrypted IP Packet
-56
Tipi di chiave (KEY)
Key type
Description
La stessa chiave è usata per cifrare e decifrare i
dati
Protegge i dati dall’intercettazione
Symmetric
Asymmetric
Consiste in una chiave pubblica e una privata
La chiave privata è protetta e confidenziale, la
chiave pubblica è liberamente distribuibile
Se viene usata la chiave privata per cifrare dei
dati, gli stessi possono essere decifrati
esclusivamente con la corrispondente chiave
pubblica, e vice versa
-57
Symmetric (Private Key) Encryption
Original Data
Cipher Text
Original Data
Symmetric encryption:
Usa la stessa chiave per cifrare e decifrare
E’ spesso referenziata come bulk encryption
E’ intrinsicamente vulnerabile per il concetto di
“Shared secret”: la chiave è condivisa
-58
Asymmetric (Public Key) Encryption
-59
Public Key Encryption
2
Data
1 Alice Encrypts
Message with Bob’s
Public Key.
Encrypted Message is
Sent Over Network
3A78
Data
3A78
3 Bob Decrypts Message
with Bob’s Private Key.
-60
Public Key Authentication
2
~*~*~*~
1 Alice Signs Message
with Her Private Key.
Message is Sent Over
Network
~*~*~*~
~*~*~*~
3 Bob Validates Message is From
Alice with Alice’s Public Key.
-61
Cifratura del pacchetto IP
H1
Parte dati di D1
Cifratura
H2
D1 cifrato
D2
 H2 non è cifrato
 Indirizzi IP in H2 sono quelli di degli end-point (router
o firewall che cifrano l’informazione) sorgente e
destinazione (R1 ed R2) rispettivamente
 Indirizzi di Host1 e Host2 contenuti in H1 e perciò
cifrati
-62
Metodi di Cifratura
 Livello 2:
 apparecchiature dedicate
 PPTP
 Livello 3:
 cifratura dei pacchetti IP:
 SKIP, IPSEC
 Livello 4:
 cifratura della connessione TCP
 SSL, SSH
-63
IPSEC
 Prevede:
 due tipologie di security header: AH (Autentication Header) e
ESP (Encapsulation Security Payload) con alcune
funzionalità (es. autenticazione) ridondanti
 due tipologie di sistemi: hosts e gateway
 due modalità di “incapsulamento”: transport e tunnel
 È trasparente alle applicazioni
 Richiede una modifica dello stack TCP/IP
 Permette l’associazione delle chiavi a sistemi o utenti
 Separa la cifratura del traffico dal meccanismo di
gestione delle chiavi (IKE)
-64
IPSec Security Headers
 Encapsulating security payload (ESP)
 Authentication header (AH)
>> IP datagram security <<
-65
ESP Header
IP Packet Protected by ESP
-66
ESP
Transport Mode
Il pacchetto è cifrato
a livello di Trasporto
Tunnel Mode
Il pacchetto è cifrato
a livello IP
-67
AH Header
IP Packet Protected by AH
-68
AH
Transport Mode
Il pacchetto è cifrato
a livello di Trasporto
Tunnel Mode
Il pacchetto è cifrato
a livello IP
-69
Tunnel IPSEC
-70
Indirizzi IP privati
-71
Indirizzi privati
 Alcuni blocchi di indirizzi sono riservati all’uso
su inter-reti private non direttamente
connesse a Internet
 Gli stessi indirizzi privati possono essere
riusati da più organizzazioni
 Indirizzi non instradabili
 Un pacchetto destinato a un indirizzo privato viene
riconosciuto da un router di Internet
-72
Indirizzi privati
 Blocchi di indirizzi privati
 10.0.0.0/8
 172.16.0.0/12
 192.168.0.0/16
 Più sottoreti di Internet possono usare questi
blocchi di indirizzi, purchè non siano
accessibili dall’esterno
 Una VPN generalmente usa indirizzi privati
per i nodi interni
-73
Terminologia
Una rete interna stub domain può
essere per esempio una LAN aziendale che
utilizza indirizzi IP privati, validi solo all'interno
della rete locale. All'occorrenza gli host con
indirizzo IP privato possono comunicare con
Internet attraverso router con funzionalità
NAT e PAT.
 Stub domain:
 Public/Global/External network: idirizzi ottenuti da
IANA
 Private/Local network: indirizzi non ottenuti da IANA
-74
VPN con indirizzi privati
223.190.16.1
10.1.0.1
220.128.3.2
R2
10.2.0.1
R3
Internet
Internet
10.1.0.0/16
10.2.0.0/16
 Le due sottoreti della VPN usano blocchi di indirizzi
privati
 R1 ed R2 hanno bisogno di due indirizzi globalmente
validi per il tunneling
-75
Indirizzi privati: vantaggi/svantaggi
 Servono meno indirizzi globali
 Problema: gli host delle sottoreti locali non
hanno accesso a Internet
 Per avere accesso a Internet serve un indirizzo IP
globale
 Soluzione
 NAT: Network Address Translation - traduzione
degli indirizzi di rete
-76
Network Address Translation (NAT)
-77
NAT - Network Address Translation
 Associazione (mappatura) di indirizzi pubblici a
indirizzi privati
 Requisiti
- Singola connessione a Internet
- Almeno un indirizzo IP valido
 Proposto per la prima volta nel 1994 in risposta alla
penuria di indirizzi IP: ad ogni istante, soltanto un
sottoinsieme dei nodi della rete interna comunica
verso l’esterno
 Il NAT è ormai usato con molte finalità
- Realizzazione di reti non visibili all’esterno
- Sicurezza
-78
NAT
128.32.32.68
BMRC
Server
24.1.70.210
Public Internet
Gateway
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
Host A
Private Network
-79
NAT statico
 Associazione statica tra un indirizzo globale e
uno privato
 Usato quando un dispositivo deve essere
accessibile dall’esterno
-80
NAT dinamico
 Associazione dinamica tra un indirizzo globale e uno privato
 Il NAT ha a disposizione un pool di indirizzi globali
 Allo stesso indirizzo privato possono essere associati
indirizzi pubblici diversi nel tempo
 Scadenza binding determinata da timer
 Accessibilità di host interno solo se ha iniziato per primo la
comunicazione.
-81
NAT dinamico/1 indirizzo globale
10.1.0.1
223.190.16.1
R
D2
Internet
Internet
D1
10.1.0.2
Router NAT
Traduzione per i pacchetti da/verso 10.1.0.2
 IP sorgente di D1: 10.1.0.2  223.190.16.1
 IP destinazione di D2: 223.190.16.1  10.1.0.2
 Come fa R a capire che D2 è diretto a 10.1.0.2?
-82
Percorso inverso
• Uscire dallo spazio di indirizzamento privato non è un
problema
• Il problema è il percorso inverso
-83
Problemi implementativi
 Tutti i pacchetti in arrivo ad R da Internet hanno lo
stesso indirizzo di destinazione (es.: 223.190.16.1)
 Come distinguere la destinazione all’interno della rete
locale?
 D2 è la risposta a D1, quindi la destinazione reale di
D2 è 10.1.0.2
 Soluzione: si creano tabelle di traduzione NAT
-Esistono diversi casi (le tabelle di traduzione
cambiano nei seguenti casi):
 NAT semplice
 NAT multi-indirizzo
 NAT con mappatura delle porte (PAT) o NAT Masquerade
-84
NAT semplice
 Tutti i pacchetti in arrivo al router NAT hanno lo
stesso IP di destinazione (un solo IP pubblico
disponibile)
 Le tabelle di traduzione NAT si basano sulla
seguente assunzione:
 Se l’host interno H invia un pacchetto all’host di Internet A
allora i pacchetti provenienti da A sono diretti a H
 Funziona se al più 1 host interno vuole inviare
pacchetti allo stesso host globale  al massimo 1
macchina locale può accedere a una stessa
macchina su Internet
-85
Tabella NAT semplice
10.1.0.3
225.12.3.28
R
Internet
Internet
Router NAT
10.1.0.2
Provenienza
Dest. host
225.12.3.25
225.12.3.28
10.1.0.2
 10.1.0.2 comunica con 225.12.3.28
225.12.3.25
10.1.0.3
 10.1.0.3 comunica con 225.12.3.25
Tabella di traduzione di R
la prima volta che R riceve un pacchetto da 10.1.0.2 per 225.12.3.28
crea l’entry (225.12.3.28, 10.1.0.2 ) nella tabella NAT
Non permette l’inizio della comunicazione da parte di un Host esterno
-86
NAT multi-indirizzo
 L’interfaccia esterna del router NAT ha più
indirizzi globali associati
 Gli indirizzi globali sono assegnati a rotazione
come indirizzi sorgente dei pacchetti uscenti
 K indirizzi globali permettono fino a K
connessioni di host interni con la stessa
macchina su Internet
-87
NAT multi-indirizzo (K=2)
10.1.0.3
223.190.16.1
223.190.16.2
10.1.0.1
10.1.0.4
R
225.12.3.28
Internet
Internet
Router NAT
10.1.0.2
225.12.3.25
Provenienza IP global dest.
Dest. host
225.12.3.28
223.190.16.1
10.1.0.2
225.12.3.28
223.190.16.2
10.1.0.4
225.12.3.25
223.190.16.1
10.1.0.3
 10.1.0.2 e 10.1.0.4
comunicano con
225.12.3.28
 10.1.0.3 comunica
con 225.12.3.25
Tabella di traduzione di R
-88
NAT semplice con mappatura delle
porte (PAT o NAT Masquerade)
 Il router NAT individua le destinazioni
(interne) dei pacchetti provenienti da Internet
anche in base al protocollo di trasporto (TCP
o UDP) e alle relative porte (SAP e DAP)
 Usa quindi anche i numeri di porta
 Necessità di estendere le entry della tabella
di traduzione NAT con nuovi campi (fields)
-89
Mappatura delle porte
10.1.0.1
10.1.0.3
10.1.0.2
223.190.16.1
R
10.1.0.5
128.10.19.20
Internet
Internet
Router NAT
10.1.0.6
 10.1.0.1 e 10.1.0.5 hanno ciascuno una connessione
HTTP verso 128.10.19.20
 Gli altri host hanno connessioni TCP verso altre
macchine non mostrate in figura
-90
Tabella NAT/PAT
Indirizzo
privato
10.1.0.5
Porta
privata
21023
Indirizzo esterno
128.10.19.20
Porta
esterna
80
Porta
NAT
14003
10.1.0.1
386
128.10.19.20
80
14010
10.1.0.6
26600
207.200.75.12
21
14012
10.1.0.3
1274
128.210.1.5
80
14007
 Tabella NAT
 Le prime due righe corrispondono alla figura precedente
 Manca colonna protocollo di trasporto (TCP in tutti i casi)
-91
Tabella NAT/PAT
 Il router NAT mantiene un numero di porta NAT
distinto per ciascuna connessione
 Due host locali potrebbero scegliere lo stesso
numero di porta privata
 La macchina 128.10.19.20 individua le due
connessioni corrispondenti alle prime due righe
della tabella precedente così:
(223.190.16.1, 14003, 128.10.19.20, 80)
(223.190.16.1, 14010, 128.10.19.20, 80)
-92
Discussione su NAT
 Il NAT interagisce con i protocolli di strati
superiori (TCP-UDP-ICMP)
 Il NAT deve:
 Modificare gli header IP
 Modificare i numeri di porta TCP e UDP
 Ricalcolare i checksum (perchè gli header
cambiano)
 Gestire esplicitamente messaggi ICMP (es. ping)
 Traduzione di numeri di porta per es. in sessioni
FTP
-93
Discussione su NAT
 NAT altera il principio di comunicazione End-
to-End Principle perchè modifica i pacchetti.
 La sostituzione degli indirizzi IP/porte implica
il ricalcolo del checksum
 Viene usata la tabella di traduzione NAT per
risalire a sorgente e destinatario
-94
TCP Protocol Diagram
SYN flag indicates a
new TCP connection
Client
Server
IP Header
SYN
SYN, ACK
ACK
.....
Checksum
Source IP Address
Destination IP Address
.....
Packet 0:50
ACK 0:50
FIN
FIN, ACK
TCP Header
Source Port Number Dest Port Number
Sequence Number
.....
-95
TCP con NAT
PROTO
SADDR
DADDR
SPORT
DPORT
FLAGS
CKSUM
TCP
10.0.0.3
128.32.32.68
1049
80
SYN
0x1636
1. Host tries to connect
to web server at
128.32.32.68. It sends
out a SYN packet using
its internal IP address,
10.0.0.3.
NAT
Gateway
PROTO
SADDR
DADDR
SPORT
DPORT
FLAGS
CKSUM
TCP
128.32.32.68
10.0.0.3
80
1049
SYN, ACK
0x7841
TCP
24.1.70.210
128.32.32.68
40960
80
SYN
0x2436
2. NAT gateway sees SYN flag set,
adds new entry to its translation
table. It then rewrites the packet
using gateway’s external IP address,
24.1.70.210. Updates the packet
checksum.
2
1
10.0.0.3
PROTO
SADDR
DADDR
SPORT
DPORT
FLAGS
CKSUM
Internet
3
4 10.0.0.1 24.1.70.210
NAT Translation Table
Client
IPAddr
Port
10.0.0.3
1049
. . .
..
4. NAT gateway looks in its
translation table, finds a match
for the source and destination
addresses and ports, and
rewrites the packet using the
internal IP address.
Server
IPAddr
Port
128.32.32.68 80
. . .
..
NATPort
40960
. .
PROTO
SADDR
DADDR
SPORT
DPORT
FLAGS
CKSUM
Server
128.32.32.68
TCP
128.32.32.68
24.1.70.210
80
40960
SYN, ACK
0x8041
3. Server responds to SYN
packet with a SYN,ACK packet.
The packet is sent to the NAT
gateway’s IP address.
-96
Interazione tra dispositivi NAT
Due dispositivi NAT semplice
10.1.0.1
10.1.0.3
223.190.16.1
10.1.0.2
R1
10.1.0.5
192.168.1.1
223.190.16.10
R2
Internet
Router NAT
192.168.1.2
Router NAT
10.1.0.6
Rete 1
NAT semplice
192.168.1.3
Rete 2
-97
Tabelle NAT semplice
 R1 sostituisce il suo indirizzo 223.190.16.1 ai pacchetti diretti
verso l’esterno.
 R2 sostituisce il suo indirizzo 223.192.16.10 ai pacchetti
diretti verso l’esterno.
 I pacchetti hanno come indirizzi sorgente e destinazione R1
ed R2
Provenienza Internal Dest. host
192.168.1.1
10.1.0.??
192.168.1.1
10.1.0.??
Tabella di traduzione di R
 Non vi è modo di distinguere due comunicazioni tra host di
Rete 1 e Host di Rete 2e quindi di comunicazione tra le 2
reti
-98
NAT multi-indirizzo
223.190.16.1
223.190.16.2
223.190.16.3
10.1.0.1
10.1.0.3
10.1.0.2
R1
10.1.0.5
223.190.16.10
223.190.16.11
223.190.16.12
R2
Internet
Router NAT
10.1.0.6
Rete 1
-99
Tabelle di NAT multi-indirizzo
Provenienza IP global dest.
Dest. host
223.190.16.10
223.190.16.1
10.1.0.2
223.190.16.10
223.190.16.2
10.1.0.4
223.190.16.10
223.190.16.3
10.1.0.3
Tabella di traduzione di R1
Provenienza IP global dest.
Dest. host
223.190.16.1
223.190.16.10
192.168.1.1
223.190.16.2
223.190.16.10
192.168.1.2
223.190.16.3 223.190.16.10
192.168.1.1
Tabella di traduzione di R2
•Sono Possibili tutte le comunicazioni da host su Rete 1 ad Host su Rete 2
-100
Server Load Balancing con NAT
Public
Internet
Server
Server
Private
Intranet
Server
Server
 Un solo indirizzo IP per il server WEB
 NAT fa il redirect delle richieste su più server interni
distribuendo il carico (workload balancing 
clustering)
 Offre il vantaggio di alta affidabilità
-101
Reti Load Balancing con NAT
Service Provider 1
Private
Intranet
NAT
Gateway
Network X
Service Provider 2
 Le connessioni dalla rete privata sono
indirizzate selettivamente (split) a 2 diversi
Service Providers
 Bilanciamento di carico a livello di connessione
-102
Scarica

commul2-prima parte