-1
Comunicazioni Multimediali II
-2
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
-3
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
-4
Applicazioni Aziendali (multimediali e via web)
-5
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
-6
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
-7
Applicativo WEB esempio
-8
Applicativo WEB
-9
Applicativo WEB
-10
Applicativo WEB
-11
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
-12
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)
-13
Web Story
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)
HTTP
serv
er
Wid
e ar
ea n
etw
ork
(In
tern
et)
File html
File server
Browser
-14
Web Story
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
HTTP
serv
er
Wid
e ar
ea n
etw
ork
(In
tern
et)
Pro
gra
mm
a C
GI
Browser database
-15
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
-16
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)
-17
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
-18
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
-19
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
-20
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)
-21
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)
-22
Application Server
Alcuni servizi offerti replicazione e “clustering” per:
• bilanciamento del carico• alta affidabilità (“failover”)
gestione trasparente delle sessioni sicurezza servizi Web (“Web services”)
-23
connection to resource mgmt layer
presentation layer
resource management layer
application logic layer
application server
Http server
wid
e a
rea n
etw
ork
(In
tern
et)
HTTPbrowse
r
Application Server
-24
RAID storage (NAS or SAN)
Robotic tape library
Application servers
Database servers
Archive server
Web server(s)Hub
Hub
Hub
User
UserIntranet Internet
Enterprise Architecture
Tipica struttura eBusiness
-25
Architettura Three Tier
Database Server
Application Server
Web Server
-26
Three Tier Web
HTTPRequest
HTTP Response
Client Web Browser
Internet / Intranet
Web Server(presentation)
App Server(business logic)
Database(resource)
These servers may be independent or may run on the same machine
Result Set
SQLQuery
HTTP Request /RPC Call
HTTP Response /RPC Return
-27
FC switch 1 FC switch 2
Raid HW
OS OS OS OS
Fiber Channel
GigabitEthernet
Databaseserver 1
Databaseserver 2
Applicationserver 1
Applicationserver 2
Ridondanza - Clustering
-28
Tipica struttura eBusiness
InternetRouter / Proxy
• Firewall /Security
Web Server
Firewall Cluster
Application Server
Database Server
Database
Protected area
Data flow
-29
Disaster Recovery Data Center
Managementstation
SAN
LAN LAN
Application Server
Database Server
-30
Tipologie di rete aziendale
-31
Reti aziendali
Quattro tipologie:
Rete non protetta Rete privata Rete ibrida Rete VPN
-32
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
-33
Rete non Protetta
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
Internet
Sottorete 1Sottorete 2
R1 R2
-34
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
-35
Rete privata
In questo caso la rete è completamente inaccessibile dall’esterno
Linea dedicata
Rete privata
-36
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
-37
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
-38
Rete ibrida
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
Internet
Linea privata dedicata
Sottorete 1Sottorete 2
R1 R2
-39
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)
-40
Rete VPN
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)
Internet
TUNNEL CRITTOGRAFATOSottorete 1
Sottorete 2
R1 R2
-41
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
-42
VPN - Esempio
Pacchetto D1 da Host1 a Host2 D1 cifrato da R1 D2 D2 giunge a R2 e viene decifrato D1 D1 è consegnato a Host2
Internet
Sottorete 1
R1 R2
Host1
Host2
Sottorete 2
Cifratura Decifratura
D1
D2 D2 D1
-43
Tabella di routing di R1
La entry di default indica che il pacchetto è inviato a Internet senza cifratura e tunneling
Internet
R1
Rete192.5.48.0
R2R4
Rete128.10.2.0
R3
128.10.2.0 R2
192.5.48.0 Tunnel verso R3
default Router di ISP
Destinazione Next hop
-44
VPN Due tipologie
Client-to-LAN LAN-to-LAN
Tre categorie Remote Access VPN Intranet VPN Extranet VPN
LAN-to-LAN
Client-to LAN
-45
VPN LAN-to-LAN:
VPN Tunnel
VPN ServerComputer
Remote NetworkRemote Network
InternetInternet
Local NetworkLocal Network
VPN ServerComputer
Connecting Remote Networks to a Local Network
-46
VPN Client-to-LAN:
VPN Tunnel
VPN ServerComputer
Remote UserRemote User
InternetInternet
Corporate NetworkCorporate Network
Connecting Remote Users to a Corporate Network
-47
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”
-48
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)
-49
Tre Categorie di VPN
RemoteOffice
MainOffice
WAN VPN
POP
HomeOffice
POP
MobileWorker
Remote Access VPNRemote Access VPN
Secure, scalable, Secure, scalable, encrypted tunnels encrypted tunnels across a public across a public network, client network, client softwaresoftware
Remote Access VPNRemote Access VPN
Secure, scalable, Secure, scalable, encrypted tunnels encrypted tunnels across a public across a public network, client network, client softwaresoftwareBusiness
Partner
Extranet VPNExtranet VPN
Extends WANs to Extends WANs to business business partnerspartners
Extranet VPNExtranet VPN
Extends WANs to Extends WANs to business business partnerspartners
Intranet VPNIntranet VPN
Low cost, tunneled Low cost, tunneled connections with connections with rich VPN services, rich VPN services, like IPSec like IPSec encryption and encryption and QoS to ensure QoS to ensure reliable throughputreliable throughput
Intranet VPNIntranet VPN
Low cost, tunneled Low cost, tunneled connections with connections with rich VPN services, rich VPN services, like IPSec like IPSec encryption and encryption and QoS to ensure QoS to ensure reliable throughputreliable throughput
-50
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 post-routing)
-51
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
-52
Tunneling IP
-53
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
-54
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
-55
Crittografia (Cifratura)
-56
Crittografia
Encrypted IP Packet
-57
Tipi di chiave (KEY)Key type Description
Symmetric
La stessa chiave è usata per cifrare e decifrare i datiProtegge i dati dall’intercettazione
Asymmetric
Consiste in una chiave pubblica e una privataLa chiave privata è protetta e confidenziale, la chiave pubblica è liberamente distribuibileSe viene usata la chiave privata per cifrare dei dati, gli stessi possono essere decifrati esclusivamente con la corrispondente chiave pubblica, e vice versa
-58
Symmetric (Private Key) Encryption
Original DataOriginal Data Cipher TextCipher Text Original DataOriginal Data
Symmetric encryption: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
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
-59
Asymmetric (Public Key) Encryption
-60
Public Key Encryption
Encrypted Message is Sent Over NetworkEncrypted Message is Sent Over Network
2222
3A783A78Alice Encrypts Message with Bob’s Public Key.
Alice Encrypts Message with Bob’s Public Key.
1111DataData
3A783A78
Bob Decrypts Message with Bob’s Private Key.Bob Decrypts Message with Bob’s Private Key.
3333
Data
-61
Public Key Authentication
Message is Sent Over NetworkMessage is Sent Over Network
2222
~*~*~*~~*~*~*~Alice Signs Message with Her Private Key.Alice Signs Message with Her Private Key.
1111
~*~*~*~
~*~*~*~~*~*~*~
Bob Validates Message is From Alice with Alice’s Public Key.Bob Validates Message is From Alice with Alice’s Public Key.
3333
-62
Cifratura del pacchetto IP
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
Parte dati di D1H1
Cifratura
D1 cifratoH2
D2
-63
Metodi di Cifratura
Livello 2: apparecchiature dedicate PPTP
Livello 3: cifratura dei pacchetti IP: SKIP, IPSEC
Livello 4: cifratura della connessione TCP SSL, SSH
-64
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)
-65
IPSec Security Headers
Encapsulating security payload (ESP) Authentication header (AH)
>> IP datagram security <<
-66
ESP Header
IP Packet Protected by ESP
-67
ESPTransport Mode
Tunnel Mode
Il pacchetto è cifrato a livello di Trasporto
Il pacchetto è cifrato a livello IP
-68
AH Header
IP Packet Protected by AH
-69
AHTransport Mode
Tunnel Mode
Il pacchetto è cifrato a livello di Trasporto
Il pacchetto è cifrato a livello IP
-70
Tunnel IPSEC
-71
Indirizzi IP privati
-72
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
-73
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
-74
Terminologia
Stub domain: 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.
Public/Global/External network: idirizzi ottenuti da IANA
Private/Local network: indirizzi non ottenuti da IANA
-75
Le due sottoreti della VPN usano blocchi di indirizzi privati
R1 ed R2 hanno bisogno di due indirizzi globalmente validi per il tunneling
VPN con indirizzi privati
Internet
R2 R3
Internet
10.1.0.0/16
10.2.0.0/16
10.2.0.110.1.0.1223.190.16.1 220.128.3.2
-76
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
-77
Network Address Translation (NAT)
-78
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
-79
NAT
Gateway
10.0.0.1
10.0.0.2 10.0.0.3 10.0.0.4
Host A
BMRCServer
24.1.70.210
128.32.32.68
Private Network
Public Internet
-80
NAT statico
Associazione statica tra un indirizzo globale e uno privato
Usato quando un dispositivo deve essere accessibile dall’esterno
-81
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.
-82
NAT dinamico/1 indirizzo globale
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?
Internet
R
Internet
10.1.0.2
10.1.0.1 223.190.16.1
Router NAT
D1
D2
-83
Percorso inverso
• Uscire dallo spazio di indirizzamento privato non è un problema• Il problema è il percorso inverso
-84
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
-85
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
-86
Tabella NAT semplice
10.1.0.2 comunica con 225.12.3.28 10.1.0.3 comunica con 225.12.3.25
Internet
RInternet
10.1.0.2
Router NAT
225.12.3.25
225.12.3.2810.1.0.3
225.12.3.28 10.1.0.2
225.12.3.25 10.1.0.3
Provenienza Dest. host
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
-87
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
-88
NAT multi-indirizzo (K=2)
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
Internet
RInternet
10.1.0.2Router NAT
225.12.3.25
225.12.3.2810.1.0.3
10.1.0.4
10.1.0.1 223.190.16.1223.190.16.2
225.12.3.28 10.1.0.2
225.12.3.28 10.1.0.4
Provenienza Dest. host
Tabella di traduzione di R
IP global dest.
223.190.16.1
223.190.16.2
225.12.3.25 223.190.16.1 10.1.0.3
-89
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)
-90
Mappatura delle porte
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
Internet
RInternet
10.1.0.5Router NAT
128.10.19.2010.1.0.1
10.1.0.3
10.1.0.6
223.190.16.110.1.0.2
-91
Tabella NAT/PAT
Tabella NAT Le prime due righe corrispondono alla figura precedente Manca colonna protocollo di trasporto (TCP in tutti i
casi)
Indirizzo privato
Porta privata
Indirizzo esterno Porta esterna
Porta NAT
10.1.0.5 21023 128.10.19.20 80 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
-92
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)
-93
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
-94
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
-95
TCP Protocol Diagram
Client Server
SYN, ACK
Packet 0:50
ACK 0:50
FIN
FIN, ACK
Source IP Address
Destination IP Address
Checksum
Sequence Number
Dest Port NumberSource Port Number
TCP Header
. . . . .
. . . . .
IP Header
. . . . .
ACK
SYN
SYN flag indicates a new TCP connection
-96
TCP con NAT
ServerInternet
10.0.0.3 24.1.70.210128.32.32.68
NATGateway
PROTOSADDRDADDRSPORTDPORTFLAGSCKSUM
TCP24.1.70.210128.32.32.684096080SYN0x2436
2
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.
10.0.0.1
PROTOSADDRDADDRSPORTDPORTFLAGSCKSUM
TCP128.32.32.68 24.1.70.2108040960SYN, ACK0x8041
3
3. Server responds to SYN packet with a SYN,ACK packet. The packet is sent to the NAT gateway’s IP address.
Client Server IPAddr Port IPAddr Port NATPort 10.0.0.3 1049 128.32.32.68 80 40960 . . . .. . . . .. . .
NAT Translation Table
PROTOSADDRDADDRSPORTDPORTFLAGSCKSUM
TCP10.0.0.3128.32.32.68104980SYN0x1636
1
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.
PROTOSADDRDADDRSPORTDPORTFLAGSCKSUM
TCP128.32.32.68 10.0.0.3801049SYN, ACK0x7841
4
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.
-97
Interazione tra dispositivi NAT
R1
10.1.0.5Router NAT
10.1.0.1
10.1.0.3
10.1.0.6
192.168.1.1
192.168.1.3
Internet
Router NAT
R2
Due dispositivi NAT semplice
223.190.16.1 223.190.16.10
192.168.1.2
10.1.0.2
Rete 1Rete 2NAT semplice
-98
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
Non vi è modo di distinguere due comunicazioni tra host di Rete 1 e Host di Rete 2e quindi di comunicazione tra le 2 reti
192.168.1.1 10.1.0.??
192.168.1.1 10.1.0.??
Provenienza Internal Dest. host
Tabella di traduzione di R
-99
NAT multi-indirizzo
R1
10.1.0.5Router NAT
10.1.0.1
10.1.0.3
10.1.0.6
223.190.16.1223.190.16.2223.190.16.3
10.1.0.2
Rete 1
Internet
R2
223.190.16.10223.190.16.11223.190.16.12
-100
Tabelle di NAT multi-indirizzo
223.190.16.10 10.1.0.2
223.190.16.10 10.1.0.4
Provenienza Dest. host
Tabella di traduzione di R1
IP global dest.
223.190.16.1
223.190.16.2
223.190.16.10 223.190.16.3 10.1.0.3
223.190.16.1 192.168.1.1
223.190.16.2 192.168.1.2
Provenienza Dest. host
Tabella di traduzione di R2
IP global dest.
223.190.16.3 192.168.1.1
223.190.16.10
223.190.16.10
223.190.16.10
•Sono Possibili tutte le comunicazioni da host su Rete 1 ad Host su Rete 2
-101
Server Load Balancing con NAT
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à
Server
Server
Server
Server
NAT
Gateway
(Virtual
Server)
Private
Intranet
Public
Internet
-102
Reti Load Balancing con NAT
NATGateway
Le connessioni dalla rete privata sono indirizzate selettivamente (split) a 2 diversi Service Providers
Bilanciamento di carico a livello di connessione
Private
Intranet
Service Provider 1
Service Provider 2
Network X