La Rete Internet e il protocollo IP a ete te et ep otoco o
Transcript
La Rete Internet e il protocollo IP a ete te et ep otoco o
TCP/IP Sommario z Introduzione ad Internet z L’architettura TCP/IP z Il protocollo IP La a Rete ete Internet te et e il protocollo p otoco o IP z Routing IP z Cenni C i su IP IPv6 6 2 TCP/IP Internet: statistiche (2001) z 5.6 Milioni Domini Internet z 56 Milioni di Host Introduzione t odu o e ad Internet te et z 246 “IP countries” z 201 Milioni di utenti z 75% del traffico su Internet è WWW z 3 Milioni di siti Web z 8000 ISPs nel mondo (4700+ negli U.S.A.) 4 TCP/IP Utenti Internet: proiezioni TCP/IP Internet Hosts (x1000) 1989 1989--2006 1000000 900000 800000 700000 600000 500000 400000 300000 200000 100000 hosts 0 20 005 20 003 20 001 19 999 19 997 19 995 19 993 19 991 19 989 Source: Nua Internet Surveys 5 6 TCP/IP Internet: storia TCP/IP ARPANET: il primo nodo z Le origini g di Internet si p possono far risalire al p progetto g DARPA (Defense Advanced Research Project Agency) del DOD Americano (inizi anni 70') z Necessità di interconnettere reti dei centri militari, universitari e di ricerca: definizione della rete ARPANET z 1973 viene i commissionato i i t all'Università ll'U i ità di St Stanford f d il progetto tt di una suite di protocolli standard che garantissero connettività a livello di rete z Verso la fine degli anni ’70, tale sforzo portò al completamento dell’Internet Protocol Suite, di cui i due protocolli più noti sono il TCP e l’IP ¾ comunemente si fa riferimento ad essa con la sigla TCP/IP z RFC 791 791, “INTERNET PROTOCOL”, PROTOCOL” Sept. S t 1981 7 8 TCP/IP ARPANET: quattro nodi! TCP/IP ARPANET: inizia a crescere 9 10 TCP/IP TCP/IP ARPANET: 1980 Internet: storia (cont (cont.)) z 1990: ARPANET cessa le sue attività z 1990: Barners-Lee (CERN) definisce il WWW z 1993: Andreessen (NCSA (NCSA, Illinois) sviluppa il primo WWW browser z Evoluzione: ¾ applicazioni e servizi principali: • e-mail, ftp, telnet, news → www, e-mail, streaming, peer-to-peer ¾ velocità l ità ti tipica i d delle ll portanti: t ti • 64 kbit/s → 2÷100 Mbit/s z Nuove problematiche: ¾ Qualità del servizio, multimedia, reti mobili 11 12 TCP/IP Motivazioni del successo TCP/IP “Mbone" Internet communications backbone z Sovvenzioni statali ($ 200 milioni nel periodo ‘86-’95) z Assenza di vincoli architetturali forti: non richiede che tutti i sistemi siano basati sulla stessa architettura protocollare ¾ interconnessione di reti eterogenee z Modalità di trasferimento nello strato di rete senza connessione ¾ flessibilità rispetto p a tecnologie g di (sotto)rete ( ) anche molto diverse tra loro z Semplicità dei protocolli (inclusi quelli di gestione e controllo) z Disponibilità p immediata e g gratuita del software,, della documentazione tecnica e degli standards (anche nei primissimi stadi di sviluppo) z Protocolli implementati in software z Protocolli integrati nel sistema operativo UNIX z Vasta disponibilità (spesso gratuita) di applicazioni (modello client/server li t/ e peer-to-peer) t ) 13 14 TCP/IP TCP/IP Organi Regolatori IETF z ISOC (Internet SOCiety): Organo politico di rappresentanza di Internet z L’organo g di standardizzazione p più importante p p per Internet dal punto di vista tecnico è l’IETF (Internet Engineering Task Force) z IAB (Internet Architecture Board): Commissione di supervisione complessiva degli aspetti tecnici di Internet ¾ definisce i protocolli riguardanti la rete Internet ¾ gli standard prodotti vengono denominati RFC (Request For Comments) e numerati in ordine crescente ¾ http:// www.ietf.org/ z IETF (Internet Engineering Task Force): Comunità che specifica I protocolli di Internet ed emette documenti ad essa relativi. È diviso in Aree e Working Groups (WGs) z IESG (Internet Engineering Steering Group): Organo di supervisione dell’IETF, costituito prevalentemente da IETF Area chairs z Processo di standardizzazione dell’IETF: ¾ ¾ ¾ ¾ z IANA (Internet Assigned Number Authority): Autorità che disciplina l’uso l uso di tutti i numeri, valori, costanti, well-known ports usati in Internet z InterNIC (Internet Network Information Centre): Ente che assegna gli indirizzi IP ed i nomi di dominio Poche regole (“Just Enough”), flessibili, dinamiche e pragmatiche Processo aperto P t a tutti t tti i contributi t ib ti Nessuna votazione, bensì consenso Prototipi disponibili prima (non dopo) la standardizzazione z Riassunti nel motto dell’IETF: ¾ “Rough consensus and running code!” D id D. David D Clark, Cl k MIT MIT, in i speech h to t IETF Plenary, Pl ~1994. 1994 15 16 TCP/IP TCP/IP Struttura di rete St tt Struttura di rete t z Internet consiste di un insieme di reti interconnesse che possono essere considerate come un'unica entità Internet z Le reti sono collegate da apparati (nodi) di commutazione detti router, che hanno come funzione primaria quella di instradare i dati sulla base dell'indirizzo della rete destinataria Router Sotto-Reti Sotto Reti z L La modalità d lità di ttrasferimento f i t nello ll strato t t di rete t è senza connessione (CL) z La struttura di rete è non gerarchica z I protocolli TCP/IP trattano tutte le sotto-reti in modo uguale; esempi di sotto-reti sotto reti possono essere: ¾ ¾ ¾ ¾ ¾ Host una rete in area locale (e.g. Ethernet) una rete in area metropolitana (e.g. anello SDH) una rete t geografica fi (e.g. ( la l rete t PSTN/ISDN) una connessione punto-punto dedicata ... 17 strutturata in sottoreti 18 TCP/IP TCP/IP Struttura di rete (cont (cont.)) Hosts and Routers: esempio z I nodi fondamentali all’interno di q questa struttura sono g gli hosts e i routers APPLICATION TCP z Gli hosts: HOST ¾ sorgente e destinazione di informazione, (spesso hanno una sola interfaccia di rete e un indirizzo IP) ¾ PC,, workstation,, palmari, p , telefoni cellulari o qualsiasi q altro apparecchio che abbia bisogno di comunicare con altri nodi UDP IP address IP 191.133.5.98 IF 1 physical address subnet 191.133.0.0/16 191 133 0 0/16 IP addresses z I routers: ¾ in genere hanno due o più interfaccie di rete con corrispondenti indirizzi IP ¾ inoltrano le unità informative IP da una rete ad un’altra ((funzione di forwarding) ¾ possono essere delle macchine dedicate (la maggior parte dei p (e.g. ( g Linux)) router commerciali)) o con un OS aperto ROUTER subnet 191.133.0.0/16 191 133 0 0/16 19 subnet 123.45.0.0/16 subnet b t 112.4.234.0/24 IP 191.133.5.7 IF 1 (ATM) 123.45.6.93 IF 2 (Ethernet) 112.4.234.9 IF 3 (FDDI) physical addresses 20 TCP/IP TCP/IP Struttura di rete (cont (cont.)) Tipi di reti sottostanti IP z Lo strato di rete (IP) non fornisce alcuna garanzia sulla qualità di servizio (grado di integrità informativa, ritardo di trasferimento, grado di trasparenza temporale, etc.) z punto punto-punto punto ¾ le interfacce possono essere “unnumbered” ¾ e.g.: linee dedicate o dial-up (PPP, SLIP) ¾ Il compito p di rendere la qualità q di servizio adeguata g alle esigenze g degli utenti è demandato agli strati superiori residenti negli hosts z multiaccesso lti con possibilità ibilità di b broadcast d t ¾ più host possono comunicare direttamente senza passare per router intermedi ¾ possibilità di broadcast ¾ e.g. : LAN z I suoi protocolli ¾ sono logicamente situati al di sopra di qualsivoglia altro protocollo di rete (eventualmente duplicandone le funzioni) ¾ sono in grado di operare su diverse piattaforme hardware utilizzando qualsiasi sistema operativo (UNIX, (UNIX Mac OS OS, MS MS-DOS DOS, Windows, Linux, etc.) z multiaccesso senza possibilità di broadcast (Non Broadcast M lti l A Multiple Access)) ¾ più host possono comunicare direttamente senza passare per router intermedi ¾ non c c’è è possibilità di broadcast ¾ e.g. : X.25, Frame Relay, ATM 21 22 TCP/IP Architettura TCP/IP F Application F L’architettura a c tettu a TCP/IP C / T Transport t (TCP, (TCP UDP) F Internetwork (IP) Strati di sottorete F I protocolli applicativi definiscono modalità e formati per lo scambio di messaggi per le specifiche applicazioni (e g http (e.g. http, ftp ftp, smtp smtp, etc) TCP gestisce flussi di dati orientati alla connessione, suddividendo i flussi in datagrammi, invindoli tramite IP e riassemblando i flussi in ricezione, persi ritrasmettendo dati p IP: responsabile dell’invio di pacchetti dati (datagrammi) senza connessioni durature interfaccia comune ai collegamenti tra i vari nodi (per esempio, Ethernet, modem, etc) 24 TCP/IP TCP/IP Architettura TCP/IP: Esempi Architettura TCP/IP z Pila dei protocolli Internet Application Application Application Transport Transport Transport Internetwork Internetwork Internetwork Medium Access Control (MAC) Telnet FTP SMTP HTTP ... DNS SNMP TFTP ... TCP PPP UDP ATM IP Fisico Fisico Ethernet Fisico LAN PSTN ATM X.25 ATM ... TCP/IP permette l’esistenza di più pile di protocolli alternative tra loro ed ottimizzate per determinate applicazioni. 25 26 Esempi di possibili pile sono: - Telnet / TCP / IP / Ethernet. - FTP / TCP / IP / Ethernet. - SNMP / UDP / IP / FDDI. TCP/IP TCP/IP Architettura TCP/IP A hit tt Architettura protocollare t ll z Il percorso software di un messaggio che attraversa più reti interconnesse tramite un'architettura Internet può essere schematizzato come segue: Applicazione Applicazione Host A Host B TCP/UDP TCP/UDP application application IP IP IP t transport t R t Router R t Router t transport t Interfaccia di rete ((1)) Interfaccia Interfaccia di rete (1) di rete (2) Interfaccia di rete ((2)) IP IP IP IP Router Host network t k interface nett nett int. int. nett nett int. int. network t k interface Host z I router implementano i protocolli IP, ICMP e i protocolli di routing rete 1 rete 2 rete 3 z I router implementano i protocolli IP, ICMP e i protocolli di routing 27 28 TCP/IP Router TCP/IP Architettura TCP/IP: esempio di imbustamento z Apparati pp di rete p per interconnessione sottoreti con diversa tecnologia di trasporto. dati z Un router riceve un pacchetto da un’interfaccia, controlla l’indirizzo di destinazione e, tramite la tabella di instradamento (tabella di routing), decide su quale interfaccia inoltrare il pacchetto, a meno che la destinazione non sia il router stesso. analogo il caso di UDP tcp z Un router esegue l’operazione di instradamento a livello 3 del modello di riferimento OSI. ipip Header Data Link TCP Dati IP TCP Dati Header Data Link ippipp Header Data Link tcp app dati tcpp app pp Trailer Data Link dati Data Link Frame 29 30 TCP/IP TCP/IP Dati Trailer Data Link dati Architettura TCP/IP: esempio con UDP Dati IP app IP datagram Architettura TCP/IP Dati dati TCP segment z I router sono invisibili all’utente, che vede Internet come fosse un’unica rete, ed indirizza direttamente l’elaboratore di destinazione. C’è da notare, invece, che il software di instradamento (IP) è necessario su ogni macchina collegata ad Internet, te et, s sia a essa u un p piccolo cco o PC C ((host) ost) su u una a LAN,, ssia a essa u un grosso router di transito. TCP app TCP Dati IP TCP Dati IP TCP Dati Dati Trailer Data Link Header Data Link Network UDP Dati IP UDP Dati IP UDP Dati Dati Trailer Data Link Header Data Link UDP Dati IP UDP Dati IP UDP Dati Trailer Data Link Network 31 32 TCP/IP Architettura TCP/IP: protocollo IP A hit tt Architettura TCP/IP 5-7 4 3c 3b 3a 2 1 z IP è un p protocollo di strato di rete;; le sue p principali p funzioni sono Protocolli Strati OSI ¾ l’indirizzamento ¾ l’instradamento ¾ la frammentazione e l’aggregazione delle unità informative Applicazioni TELNET SMTP FTP HTTP POP News TALK etc. TCP TCP/IP RIP OSPF SNMP DNS z Tratta ciascun pacchetto come un messaggio indipendente da tutti gli altri; non esistono pertanto, a questo strato, i concetti di connessione e di circuito logico: il protocollo IP è senza connessione i UDP IP ICMP ARP/RARP X.25 liv. 3, SNA, DECnet, ATM+AAL, PPP, LLC, etc X.25 liv. 2, 802.2, Ethernet, WiFi, etc. Strato fisico Tutti gli strati inferiori a IP, da 3a compreso in giù, sono considerati come ”Strato di accesso alla rete" e sono trattati indifferentemente 33 34 TCP/IP TCP/IP Architettura TCP/IP: ICMP ICMP, SMTP SMTP, ARP Architettura A hit tt TCP/IP: TCP/IP protocollo t ll IP z Il servizio è inaffidabile e basato sul p paradigma g del “best effort” ((la rete cerca di “fare del suo meglio”) z ICMP (Internet Control Message Protocol) è un protocollo senza connessione ed è utilizzato per z Il servizio è definito inaffidabile perché la consegna di un’unità i f informativa ti non è garantita. tit Q Queste t possono essere perse, duplicate d li t o consegnate fuori sequenza ¾ risolvere eventuali situazioni anomale p On-Off)) ¾ controllare il trasferimento ((controllo di flusso di tipo ¾ comunicare alle sorgenti eventuali problemi (ad es. di indirizzamento) z Il p protocollo TCP offre un servizio affidabile orientato alla connessione 1) 2) 3) 4) 5) z SNMP (Simple Network Management Protocol) è il protocollo di gestione di rete trasferisce un flusso informativo continuo e bi-direzionale può sopperire a problemi di perdita, duplicazione e consegna fuori sequenza q dei dati attua anche un controllo di flusso che consente di adeguare il volume dei dati trasferito alle capacità di ricezione e di emissione a questo scopo viene utilizzato un meccanismo a finestra variabile fornisce un meccanismo per indirizzare le singole applicazioni z I protocolli ARP e RARP (Address Resolution Protocol, Protocol Reverse Address Resolution Protocol) sono di supporto per determinare l'indirizzo fisico locale corrispondente ad un indirizzo Internet, (ARP) o viceversa (ARP), i (RARP) z Il protocollo UDP offre un servizio senza connessione 1) 2) aggiunge i la l funzione f i di controllo t ll di errore (senza ( recupero)) fornisce un meccanismo per indirizzare le singole applicazioni 35 36 TCP/IP Corrispondenza OSIOSI-TCP/IP TCP/IP Corrispondenza OSIOSI-TCP/IP OSI Application HTTP, FTP, SMTP, POP, Telnet, etc. Transport TCP/UDP Internet IP z standard de jure z standard de facto z sviluppato dalla ISO (International Standards Organization) z inizialmente sviluppato nel mondo accademico con sovvenzioni governative, spesso basato su contributi "volontari" z distinzione tra servizi, servizi interfacce e protocolli z modello nato p prima dei p protocolli ¾ molto generale ¾ teoricamente molto completo e ben fatto ¾ scarsa corrispondenza con le reali necessità Link 7 Layers OSI model 4 Layers TCP/IP model INTERNET z concetti un po’ vaghi z modello che cerca di g giustificare protocolli preesistenti ¾ molto specifico ¾ teo teoricamente ca e te ¾ stretta corrispondenza tra definizione funzionale degli strati e protocolli 37 38 TCP/IP TCP/IP Architettura TCP/IP: Caratteristiche Architettura TCP/IP: Caratteristiche (cont (cont.)) z L’insieme di p protocolli TCP/IP z Le p prestazioni da estremo a estremo ((velocità di trasmissione delle informazioni, grado di trasparenza temporale e di integrità informativa) sono quindi fortemente legate alle caratteristiche delle sotto-reti attraversate ¾ riesce a inter-connettere tutti i tipi di sotto-rete in quanto assume che le funzionalità degli strati sottostanti costituiscano solo una piattaforma per p p il trasferimento fisico ¾ realizza tutte le funzioni tipiche per il trasporto dell’informazione: controllo di errore, indirizzamento, instradamento, frammentazione e aggregazione delle unità informative, inoltro in rete z La modalità di trasferimento, nello strato IP, è senza connessione ⇒ nessuna garanzia di qualità del servizio z Se alcune o tutte queste funzioni non erano state svolte da una particolare sotto-rete, TCP/IP le realizza; se erano g p già state volte le duplica, realizzandole nuovamente z Il compito di rendere la qualità di servizio adeguata alle esigenze degli g utenti è demandato (p (per q quanto p possibile)) agli g strati superiori residenti negli hosts z Ciò conduce ad eventuali duplicazioni di funzioni ma consente di non imporre alcun vincolo sulla tecnologia e sui protocolli delle sotto-reti di trasporto che interconnette (X.25, Frame Relay, ATM,, LAN,, MAN,, rete telefonica etc.)) z Il trasferimento delle unità informative può richiedere una frammentazione delle stesse laddove le dimensioni delle unità informative gestite dalle sotto-reti non coincidano con le dimensioni d e s o massime ass e consentite co se t te 39 40 TCP/IP Punti a favore di Internet TCP/IP Limiti attuali di Internet z Esiste e cresce: z Limiti di p portata ((commutazione “software”)) ¾ 40 milioni di utenti su 5 milioni di hosts su 50000 sotto-reti interconnesse in 86 paesi; il numero di utenti raddoppia ogni anni e il numero di servers WWW raddoppia ogni 2 mesi (Ottobre 1995) z Assenza di garanzia sulla Qualità di Servizio (IPv6 introduce il concetto di flussi) (RSVP, Diff-Serv) z IP è senza connessione: z Altre problematiche: ¾ deve “solo” inoltrare i datagrammi, non effettua controllo di errore e di q opera p facilmente sopra p diverse tipologie p g di sotto-rete)) flusso ((e quindi ¾ non deve mantenere informazioni sullo stato delle connessioni (robustezza ai guasti) ¾ semplicità del codice (in una rete con connessione, circa il 90% del codice serve a trattare condizioni di errore) ¾ scalabilità (IP “gira” facilmente attorno a sistemi guasti) ¾ facilità di riconfigurazione e di aggiunta/eliminazione di hosts e sotto-reti (soft local states vs. hard global states) ¾ disponibilità di applicazioni (client/server) (gratuite) ¾ Esaurimento dello spazio degli indirizzi, assenza di gerarchie di i di i i ((superato indirizzi t d da IP IPv6: 6 iindirizzi di i i di 128 bits bit contro t i 32 di IPv4 IP 4 -> > 665*10^21 per metro quadro del pianeta) (auto-configurazione) ¾ Confidenzialità e autenticazione (superato da IPv6 o con protocolli d estremo a estremo)) da 41 42 TCP/IP Internet Protocol (IP) z “IP is i the h workhorse kh protocoll off the h TCP/IP protocoll suite” i ” (W. R. Stevens) z Il protocollo IP (RFC 791, 791 919, 919 922 922, 950 950, 1349) Internet te et Protocol otoco ((IP)) ¾ è un protocollo di strato di rete (secondo il modello OSI) ¾ opera con modalità di trasferimento connectionless (senza connessione), ovvero a datagramma • Il termine connectionless significa che il protocollo IP non pacchetti inoltrati; mantiene alcuna informazione di stato circa i p ciascun pacchetto è trattato independentemente da tutti gli altri • questo significa anche che i datagrammi IP possono essere g fuori sequenza q consegnati ¾ è di tipo NON affidabile e non fornisce alcuna garanzia sulla QoS (servizio “best effort”) • Il termine inaffidabile significa che non ci sono garanzie che un pacchetto IP giunga a destinazione 44 TCP/IP TCP/IP Internet Protocol (IP) I t Internet t Protocol P t l (IP) z Il protocollo IP in trasmissione z Il protocollo IP esegue le seguenti funzioni: ¾ ¾ ¾ ¾ ¾ definisce l’unità base per il trasferimento dei dati (datagramma) • la lunghezza massima di un datagramma è di 65536 ottetti ¾ definisce lo schema di indirizzamento ¾ definisce le modalità di instradamento dei datagrammi ¾ esegue, se necessario, la frammentazione e il ri-assemblaggio delle unità dati incapsula in datagrammi i dati provenienti dallo strato di trasporto predispone ll'opportuna opportuna intestazione (indirizzi src e dst,…) dst ) applica algoritmo di routing invia i dati verso l'opportuna interfaccia di rete z in ricezione ¾ ¾ ¾ ¾ verifica la validità dei datagrammi in arrivo esamina l'intestazione g da rilanciare verifica se sono datagrammi se sono dati locali, consegna il contenuto del datagramma all’opportuno protocollo di livello superiore 45 46 TCP/IP TCP/IP Header IP F Frammentazione t i Bytes 0 4 Vers 8 HLEN 12 Max 65536 bytes Time To Live 20 Service Type Identification 20 y bytes 16 24 31 Total Length Flags Protocol 28 Fragment Offset Header Checksum Source IP Address Destination IP Address Max Options Padding 40 bytes Il campo identificatore serve all’host ricevente per designare in modo univoco ciascun frammento di un datagramma provenienteData dall’indirizzo di origine. campo lunghezza lat contiene lunghezza totale IP. campo i bit che se ilper datagramma IlIlIlcampo protocollo t versione ti tipo lllflag lunghezza IPidi hcontiene utilizza tili servizio idtotale identifica dell’intestazione di ttre itifi ll’i (TOS) campi tspecifica lla tversione i determinano può nell’intestazione i òll’i i essere dit IP ti utilizzato i iin tili uso: 4 bit t quasi controllare iimpostati perdel t identificare id i ttutti tlldatagramma tti titifi a ipuò protocolli lla unframmentazione ftessere valore le l l varie lli IP contengono iche htSi sezioni t iindica i idi i misura in bytedell’intestazione euna comprende la lunghezza dell’intestazione e dei dati.inrisorsa IP . . .essere . il. campo . disporre . essere . impostato frammentato: inperché caso affermativo, uno dei bit può modo taleeildi da QoS questo e la illunghezza riassemblaggio previste campo in internet. dei alcuni datagrammi. nodi Indei questo di datagrammi. rete Questi campo possono sono possono La non lunghezza identificatore, è misurata della richiesti ilsottrae inritardo parole flag più di campo lunghezza dell’intestazione campo lunghezza totale, per calcolare determinare se frammento è l’ultimo del datagramma. transito, recente scostamento 32 bit; solitamente, del la portata, protocollo. delil frammento. la un’intestazione precedenza edal senza l’affidabilità. opzioni di qualità del servizio (QoS)le è Data dati dati. lunghezza massima perspecifica è di Ildimensioni campo scostamento del La frammento unpossibile valore che la 5 posizione costituita dadel 20campo byte, byte quindi il valore del contiene campo della lunghezza èun di datagramma norma 5. 65.535 byte relativa del frammento nel datagramma originale; il valore si misura in unità di otto byte 47 z Ogni rete fisica ha un valore massimo di lunghezza della propria unità informativa ¾ Maximum Transmission Unit - MTU z La frammentazione di un datagramma IP è necessaria se il valore della MTU nella sottorete fisica è inferiore alla lunghezza d ld del datagramma t z La frammentazione è effettuata dal router/host prima del rilancio nella sottorete z La ricomposizione del datagramma originale è effettuata dall’host dall host di destinazione 48 TCP/IP TCP/IP Frammentazione Frammentazione Esempio: lunghezza del datagramma originale = 1200 m1 MTU=1500 Data IP Header IP 1 MTU=1500 m2 Identification = xxx, DF = 0, MF=0, Fragment Offset =0 1 MTU=1500 MTU=500 Header IP Data IP 1 2 3 Identification = xxx, DF = 0, MF=1, Fragment Offset =0 Header IP 2 3 2 3 MTU=9000 Data IP Identification = xxx, xxx DF = 0, 0 MF=1, MF=1 Fragment Offset = m1 Header IP MTU=1500 MTU=1000 Data IP questo router frammenta il datagramma Identification = xxx, DF = 0, MF=0, Fragment Offset =m2 I frammenti f ti vengono ricomposti i ti a destinazione finale 49 50 TCP/IP Schema di indirizzamento z Internet consente ad ogni nodo connesso alla rete di comunicare con ogni altro nodo di Internet z Al tal fine è necessario un metodo globale di identificazione e i di i indirizzamento t di ttutti tti i nodi di (h (hostt e router) t ) Indirizzamento d a e to IP ¾ lo schema di indirizzamento è indipendente da quello utilizzato dalle singole sottoreti sottostanti, che in genere possono essere diverse tra loro (Ethernet, X.25, rete telefonica etc.) 52 TCP/IP Schema di indirizzamento Schema di indirizzamento z Un indirizzo IP (IP Address) ha una lunghezza di 32 bits z Un indirizzo IP identifica p prima la rete a cui un host è connesso e poi l’host all’interno di quella rete z Identifica un nodo e non uno specifico utente; l’identificazione di un utente all’interno di un host è affidata ai protocolli di strato superiore (TCP o UDP) z L’indirizzo di un host deve essere coerente con quello della rete in cui si trova z l’identificativo del IP-SAP è dato alla coppia indirizzo_IP + protocol_id ¾ Se un host si muove da una rete, il suo indirizzo deve essere cambiato z se un nodo è connesso a più di una rete avrà un indirizzo IP per ogni rete (interfaccia di rete); ciò si verifica nei: z In origine (1981, RFC 1166) era formato da due parti ¾ routers ¾ multi-homed lti h d hosts h t • Net_Id: identificativo di sotto-rete • Host_Id: identificativo di host all’interno della sotto-rete z Gli indirizzi devono essere unici in tutta la rete (è possibili attribuire indirizzi arbitrari ad una sub-rete TCP/IP solo se q questa non è connessa con altre reti) IP_Address = Net_Id + Host_Id z La divisione tra Net_Id e Host_Id non è fissa z Lo schema di indirizzamento IP è stato progettato per consentire un efficiente ffi i t instradamento i t d t ¾ era però stato pensato per una rete con dimensioni decisamente inferiori alle attuali gruppi pp z Gli indirizzi IP erano stati suddivisi in g ¾ classi di indirizzi 53 54 TCP/IP TCP/IP Indirizzi IP: esempi z Esempio di indirizzo di classe A: 7 bit 0 S h Schema di iindirizzamento di i t 15.10.10.90 24 bit netid z Notazione numerica, “dotted” e “mnemonica”: hostid Net ID z Esempio di indirizzo di classe B: 14 bit 1 0 TCP/IP netid Host ID Notazione Numerica 130.20.18.62 16 bit hostid Notazione Dotted Net ID 21 bit 1 1 0 netid www.unipr.it 195.31.235.10 8 bit hostid 160. 78. 48. 141 Host ID Notazione Mnemonica z Esempio p di indirizzo di classe C: 10100000 01001110 00110000 10001101 Net ID z Un opportuno protocollo applicativo (DNS) provvede a tradurre un indirizzo numerico in mnemonico e viceversa Host ID 55 56 TCP/IP Esaurimento degli indirizzi IP z Il p progressivo g esaurimento degli g indirizzi IP unitamente alla rapida p crescita delle dimensioni delle tabelle di routing ha spinto l’IETF (Internet Engineering Task Force) ad intraprendere delle azioni preventive z Tali misure preventive possono essere raggruppate nelle seguenti categorie: ¾ ¾ ¾ ¾ Indirizzi d p privati at Assegnazione razionale degli indirizzi IP Classless InterDomain Routing (CIDR) I di i i privati Indirizzi i ti e Network N t k Add Address T Translation l ti (NAT) IP versione 6 (IPv6) 57 TCP/IP Indirizzi privati TCP/IP Indirizzi privati z The Internet Assigned g Numbers Authority y ((IANA)) has reserved the following three blocks of the IP address space for private internets [RFC 1918]: z Ogni g rete p può utilizzare al suo interni q qualsiasi indirizzo appartenente a questi insiemi z I router della rete che usa indirizzi privati non propagheranno all’esterno informazioni di instradamento relativi agli host interni 10.0.0.0 - 10.255.255.255 (10/8 prefix) z Un host con un indirizzo privato non ha la possibilità di connettersi tt i ad d Internet I t t direttamente, di tt t ma ha h bisogno bi di un “Application Level Gateway (Proxy)” 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix) z In p pre-CIDR notation: ¾ The first block is a single class A network number, ¾ the second block is a set of 16 contiguous class B network numbers, numbers ¾ the third block is a set of 256 contiguous class C network numbers. 59 60 TCP/IP I t d Instradamento t IP Routing out g IP Host A Host B application application transport Router IP network interface Router transport IP IP IP net net int. int. net net int. int. network interface rete 1 rete 2 rete 3 62 TCP/IP Router TCP/IP Architettura di un Router z I router hanno il compito p di instradare i p pacchetti IP attraverso la rete A l goritmo di calcolo del la tabella di st ada e to instradamento ¾ permettono di far comunicare host che non sono connessi direttamente alla stessa sottorete sottorete, facendo transitare i datagrammi IP da una sottorete ad un’altra • ricevono i datagrammi IP da un’interfaccia di ingresso e li inoltrano su una opportuna interfaccia di uscita Tabella di instradamento Processo di forw arding z Si distinguono di ti d daglili H Hostt perchè: hè ¾ Inoltrano i datagrammi IP diretti ad altri nodi Interfaccia 1 z In genere: ¾ hanno più di un un’interfaccia interfaccia (e in genere un indirizzo IP per ogni interfaccia) ¾ utilizzano “protocolli di routing” Sottorete 1 63 Interfaccia 2 Sottorete 2 64 TCP/IP TCP/IP Instradamento (1/3) z dato un datagramma g IP in uscita da un nodo ((host o router), ) si possono distinguere due casi di instradamento: z Le interfacce sono legate g al tipo p e q quindi alla tecnologia g delle sottoreti alle quali il ruoter è interconnesso; da un punto di vista protocollare, ciò significa che per ogni interfaccia il router deve implementare i primi due livelli, livelli quello fisico e quello data-link del modello OSI, relativi alla particolare sottorete. A livello 3, l’operazione svolta dal router è quella di instradamento, cioè d id decidere su quale l interfaccia i t f i inoltrare i lt un pacchetto. h tt Questa Q t decisione viene presa in base all’indirizzo IP di destinazione consultando la tabella di instradamento ((tabella di routing). g) ¾ instradamento diretto: • ll’host host destinazione è nella stessa sottorete dove si trova il nodo che sta instradando il datagramma IP ¾ instradamento indiretto: • l’host destinazione non si trova in nessuna delle sottoreti a cui è connesso il nodo che sta instradando il pacchetto • il datagramma viene consegnato ad un next hop router che avrà il compito di far proseguire il datagramma verso l’host destinazione • il datagramma passa da un nodo ad un altro finché raggiunge un nodo (router) connesso alla stessa sotterete in cui si trova l’host di destinazione • a questo punto il datagramma viene instradato direttamente al ((host)) destinatario (instradamento ( diretto)) z La tabella di instradamento può essere scritta manualmente dal gestore del router oppure è il router stesso che la calcola dinamicamente attraverso un algoritmo, detto di routing, che, scambiando messaggi con altri router attraverso le proprie interfacce, te acce, app apprende e de la a topo topologia og a de della a rete ete e dec decide de co come e effettuare l’instradamento. 65 66 TCP/IP TCP/IP Instradamento (2/3) Instradamento (3/3) z La decisione riguardo quale “next-hop node” utilizzare per instradare il datagramma viene presa in base ad una tabella di instradamento (routing table) z La routing table di un nodo (host o router) specifica solo un passo lungo il cammino verso l’host di destinazione H t A (192.1.3.4 Host 192 1 3 4) application transport ¾ Un host/router non conosce il cammino completo, ma solo il passo successivo verso la destinazione H t B (192.2.14.6 Host 192 2 14 6) dest addr = 192.2.14.6 z La RT contiene le coppie (dest , next-hop) application Router Router (inoltro indiretto) (inoltro diretto) IP IP network interface N.i. 1 IP IP N.i. 2 N.i. 2 ¾ dest : indirizzo della rete di destinazione ¾ next-hop : indirizzo del prossimo router verso la rete di destinazione transport z I nodi devono conoscere l’indirizzo del next-hop router network interface 3 N.i.3 rete 1 rete 2 rete 3 192.1.3.0 192.23.11.0 192.2.14.0 67 z Nota: nel caso di instradamento diretto l’indirizzo di destinazione apparterrà ad una delle sottoreti a cui il nodo è direttamente connesso 68 TCP/IP Tabelle di instradamento (2/4) Tabelle di instradamento z L’informazione comunemente contenuta in ogni g riga g di una tabella di instradamento è: ¾ ¾ ¾ ¾ ¾ TCP/IP z In base alle modalità con cui vengono create/aggiornate le tabelle di instradamento nei router si distinguono due tipi di instradamento (routing): Dest net address: rete di destinazione Subnet Mask: porzione dell’indirizzo dell indirizzo IP indicante il prefisso di rete Next Hop: IP address del router successivo verso la destinazione Interface: identificatore della porta fisica dove trovare il next hop Metric: peso assegnato al cammino z routing statico ¾ le tabelle vengono create/aggiornate staticamente e non sono funzione dello stato della rete ¾ le tabelle vengono create/aggiornate dal gestore • il gestore ha un totale controllo dei flussi di traffico • deve intervenire manualmente per riconfigurare la rete ¾ utilizzato ad es es. • nella parte non magliata di reti IP • negli host, che in genere vengono configurati in base alle seguenti informazioni: indirizzo IP IP, net mask mask, default “gateway” gateway z La coppia dest_net_addr + subnet_mask ¾ serve per identificare la possibile sottorete/host di destinazione z La coppia next_hop + interface ¾ serve per determinare d t i univocamente i t dove d instradare i t d il datagramma z routing dinamico ¾ Le tabelle vengono calcolate con appositi algoritmi (di routing) e aggiornate periodicamente al variare dello stato della rete attraverso opportuni protocolli di routing 69 70 TCP/IP Le ultime parole famose 32 bits should be enough g address Cenni a IPv6 Ce 6 space for Internet (Vinton Cerf, 1977) 72 TCP/IP TCP/IP Perchè IPv6 Indirizzi IP: quanti? z Esaurimento dello spazio p di indirizzamento IPv4 z Solo Calcolatori ¾ la crescita e’ probabilmente quella degli ultimi anni z Esplosione delle tabelle di instradamento sui router z Altri apparati pero’ potranno avere un indirizzo Internet: z Servizi NUOVI e/o piu piu` EFFICIENTI ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ Soluzione di networking “plug&play” Qualità del Servizio Sicurezza Mobilità Multicast telefoni cellulari agende elettroniche carte di credito elettrodomestici casalinghi apparati elettromedicali dispositivi elettrici in genere 73 74 TCP/IP TCP/IP Header di IPv6 bit 0 4 8 Version Class (8 bit) Payload Length Header IPv6/IPv4 16 z Semplificazioni: 31 ¾ l’header IPv6 ha lunghezza fissa (40 byte) • le opzioni non sono più trasportate all’interno dell’header IP – questa funzione viene svolta dagli extension header di IPv6 ¾ è stato rimosso il campo IP Header Length (IHL) • non più necessario in quanto l’header IPv6 ha lunghezza fissa ¾ è stato rimosso il campo Header Checksum • quasi tutti i protocolli di livello data link comprendono già il calcolo e la verifica di un checksum ¾ non esiste più la procedura di segmentazione hop-by-hop • di conseguenza sono stati t ti rimossi i i i campii Identification, Id tifi ti Fl Flags e Fragment Offset ¾ è stato rimosso il campo Type Of Service (TOS) Flow Label Next Header Hop Limit Source Address Destination Address z Nuovi campi: 75 • Flow Label e Class i 76 i i li à diff i TCP/IP TCP/IP Indirizzamento IPv6 Sintassi degli indirizzi IPv6 z La novità p principale p degli g indirizzi IPv6 è costituita dalla loro dimensione: 128 bit z Per rappresentare pp formalmente g gli indirizzi IPv6 si è scelto di suddividerli in 8 blocchi di 16 bit ciascuno z Con 128 bit si hanno a disposizione: z I blocchi sono separati mediante il carattere “:” e vengono rappresentati in notazione esadecimale z Un esempio di indirizzo IPv6 è: ¾ 3FFE:1001:7654:3220:FEDC:BA98:789A:32AC z Esistono delle semplificazioni: 655 570 973 348 866 943 898 599 655.570.973.348.866.943.898.599 ¾ sii possono omettere tt gli li zerii iniziali i i i li • 3ffe:1001:1:100:a00:20ff:fe83:5531 ¾ si possono sostituire gruppi di zeri con “::” • 3ffe:1001:1::1 indirizzi/m2 Superificie della terra: 511.263.971.197.990 mq 77 78