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 2e 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