La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 15.

Presentazioni simili


Presentazione sul tema: "Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 15."— Transcript della presentazione:

1 Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 15

2 Reti di CalcolatoriAndrea Frosini2 Nel modello di riferimento: Application Transport Network Data Link Fisico

3 Reti di CalcolatoriAndrea Frosini3 Indirizzi IP Ciascun host in Internet è identificato da un indirizzo IP costituito da: lindirizzo della rete (network address) in cui è lhost lindirizzo dellhost (host address) allinterno della rete di cui fa parte I router in Internet hanno un indirizzo IP per ciascuna interfaccia di rete: ad esempio, un router che collega due LAN possiede due indirizzi IP (uno per ciascuna scheda di rete) Un indirizzo IP è lidentificatore di una interfaccia di rete, non di un calcolatore Gli indirizzi IP sono globali ed assegnati, al giorno doggi, da varie organizzazioni coordinate da una autorità internazionale chiamata ICANN (Internet Corporation for Assigned Names and Numbers). Il braccio operativo di ICANN è chiamato IANA (Internet Assigned Numbers Authority)

4 Reti di CalcolatoriAndrea Frosini4 Ciascun indirizzo IP è costituito da 32 bit (4 byte) In genere sono rappresentati con la dotted decimal notation: quattro numeri decimali che rappresentano il valore dei quattro byte dellindirizzo Ad esempio, lindirizzo (in binario) 10100000 01010000 00011011 00000001 è rappresentato come 160.80.27.1 Dotted Decimal Notation

5 Reti di CalcolatoriAndrea Frosini5 Schema del formato degli indirizzi IP

6 Reti di CalcolatoriAndrea Frosini6 Classe A da 1.0.0.0 a 126.255.255.255: contiene gli indirizzi di 126 reti con circa 16 milioni di host in ciascuna rete Classe B da 128.0.0.0 a 191.255.255.255: contiene gli indirizzi di 16382 reti con circa 65500 host in ciascuna rete Classe C da 192.0.0.0 a 223.255.255.255: contiene gli indirizzi di circa 2 milioni di reti con 254 host in ciascuna rete Classe D da 224.0.0.0 a 239.255.255.255: contiene gli indirizzi multicast che permettono di inviare un pacchetto a diversi host contemporaneamente Classe E da 240.0.0.0 a 255.255.255.255: indirizzi riservati per future estensioni Formato degli indirizzi IP

7 Reti di CalcolatoriAndrea Frosini7 Un indirizzo IP in cui lhost address è composto da tutti 0 fa riferimento allintera rete indicata dal network address Ad esempio, lindirizzo 160.80.0.0 è lindirizzo della rete 160.80. Un indirizzo IP in cui lhost address è composto da tutti 1 è un indirizzo di broadcast per tutti gli host nella rete indicata dal network address Ad esempio, un pacchetto con indirizzo 160.80.255.255 è destinato a tutti gli host nella rete 160.80. Lindirizzo 255.255.255.255 è il limited broadcast: il pacchetto è destinato a tutti gli host nella rete locale a cui appartiene lhost sorgente Indirizzi IP speciali I

8 Reti di CalcolatoriAndrea Frosini8 Lindirizzo 0.0.0.0 significa questo host: può essere usato solo durante linizializzazione di un host e mai come indirizzo destinazione Un indirizzo IP avente network address nullo e host address non nullo indica un host sulla stessa rete a cui appartiene lhost sorgente: può essere usato solo durante linizializzazione di un host Gli indirizzi 127.xxx.yyy.zzz sono riservati per il loopback: i pacchetti non vengono inviati ad una interfaccia di rete, ma gestiti come se fossero pacchetti entranti nellhost sorgente Indirizzi IP speciali II

9 Reti di CalcolatoriAndrea Frosini9 Limitazioni del formato degli indirizzi IP I principali difetti degli indirizzi IP sono strutturali: la rete a cui appartiene lhost è codificata nellindirizzo: un host non può cambiare di posizione su Internet e mantenere lo stesso indirizzo IP (portatili, computer palmari,...) lindirizzo IP è lidentificatore di una scheda di rete, non di un host: se un calcolatore ha più di una interfaccia di rete non esiste un identificatore univoco la suddivisione in classi degli indirizzi IP è troppo rigida: ad esempio, cosa succede se una organizzazione a cui è stato dato un indirizzo di classe A ha bisogno di più di un network address? Oppure se in una rete di classe C vengono installati più di 254 calcolatori?

10 Reti di CalcolatoriAndrea Frosini10 IP routing tradizionale La procedura di routing (instradamento) dei pacchetti IP è molto semplice, in quanto nellindirizzo IP di un pacchetto è codificato il numero della rete alla quale appartiene lhost destinazione Ogni router possiede una tabella di routing aggiornata staticamente (nel caso delle reti più piccole) o dinamicamente La tabella di routing in genere determina i percorsi verso intere reti, non verso singoli host. Infatti da ciascun indirizzo IP è sempre possibile determinare la classe (A, B, C) e ricavare quindi il numero della rete La tabella di routing può però contenere, se necessario, informazioni su come raggiungere gli host appartenenti alle reti collegate direttamente al router

11 Reti di CalcolatoriAndrea Frosini11 La tabella di routing contiene: per ciascuna rete broadcast collegata direttamente al router, un singolo record con lindicazione dellinterfaccia di rete (NIC) verso la rete per ciascun host collegato al router ma non facente parte di una rete broadcast, un record con lindicazione dellinterfaccia di rete (NIC) da utilizzare per raggiungerlo un numero variabile di record per reti non collegate direttamente al router, insieme con lindicazione di un router adiacente a cui i pacchetti devono essere inviati un record per un router adiacente di default, a cui inviare i pacchetti destinati a reti sconosciute La tabella di routing tradizionale

12 Reti di CalcolatoriAndrea Frosini12 La rigida divisione in classi degli indirizzi IP è un grosso problema. Ad esempio, gli indirizzi di classe B (reti di media dimensione) sono esauriti da tempo Una delle soluzioni consiste in una estensione del protocollo tradizionale: il subnet addressing (od anche subnetting) Lindirizzo IP non viene più suddiviso in network address e host address, ma in: internet part: corrisponde al vecchio network address, ed è la porzione dellindirizzo che viene interpretata dai router allesterno della propria internetwork locale local part: è suddivisa nel numero di una rete allinterno della internetwork locale, ed in un numero di host nella rete Subnet addressing

13 Reti di CalcolatoriAndrea Frosini13 Allinterno di ciascuna internetwork locale è necessario adottare un unico formato per la local part dellindirizzo IP A tale scopo si utilizza una maschera di subnet (subnet mask) E un numero di 32 bit, in cui: i bit 1 indicano i bit che codificano i numeri di network i bit 0 indicano i bit che codificano il numero di host La maschera si codifica in genere con la dotted decimal notation Maschera della subnet

14 Reti di CalcolatoriAndrea Frosini14 Se in una internetwork si utilizza la maschera 255.255.255.0, lindirizzo IP 160.80.27.1 rappresenta: 255.255.255.0 1111111111111111 11111111 00000000 160.80.27.1 1010000001010000 00011011 00000001 160.80: indirizzo di rete di classe B 27: indirizzo della rete nella internetwork locale 1: indirizzo dellhost nella rete Si potrebbero avere perciò 256 subnet nella internetwork locale, e 254 host in ciascuna subnet Se la maschera fosse invece 255.255.252.0, lindirizzo della subnet sarebbe 24 e lindirizzo dellhost sarebbe 769; si avrebbero al massimo 64 subnet e 1022 host in ciascuna subnet Esempio di subnetting

15 Reti di CalcolatoriAndrea Frosini15 Il subnet addressing complica la procedura di routing dei pacchetti Ogni record della tabella di routing ha 3 campi principali: un network address una maschera di subnet lindirizzo IP di un router (raggiungibile con un hop) La tabella contiene sempre un record per ciascuna rete connessa direttamente al router, ed un record per il router di default La tabella può anche contenere record per reti non direttamente connesse al router Routing con subnetting I

16 Reti di CalcolatoriAndrea Frosini16 Per ricavare lindirizzo del router a cui va inviato un pacchetto destinato allhost con indirizzo IP D: per ciascun record della tabella di routing con maschera di subnet M, indirizzo di rete N e indirizzo di router R: – calcola lAND logico (bit a bit) tra D e M – se il risultato è uguale a N, invia il pacchetto a R (o direttamente allhost se è in una rete connessa direttamente al router) – se il risultato non è uguale a N, continua con il prossimo record della tabella I record della tabella sono analizzati cominciando da quelli con le maschere più lunghe (maggior numero di bit 1) Il record per il router di default è sempre analizzato per ultimo Routing con subnetting II

17 Reti di CalcolatoriAndrea Frosini17 Esempio di routing con subnetting

18 Reti di CalcolatoriAndrea Frosini18 Poiché gli indirizzi IP scarseggiano, molte aziende usano un singolo indirizzo IP per tutti i calcolatori della internetwork interna per mezzo di un meccanismo chiamato Network Address Translation (NAT), od anche IP Masquerading Funziona soltanto con pacchetti IP che trasportano pacchetti di livello Transport appartenenti al protocollo TCP oppure al protocollo UDP Infatti, sfrutta i numeri di porta propri dei protocolli TCP e UDP, che sono memorizzati in opportuni campi dei pacchetti di livello Transport A tutti i calcolatori della internetwork interna viene assegnato un diverso indirizzo IP in una delle seguenti tre zone: 10.0.0.0:8, 172.16.0.0:12, e 192.168.0.0:16 (questi indirizzi sono riservati per il NAT) Tutta la internetwork è collegata ad Internet tramite un unico router che opera anche come dispositivo NAT; linterfaccia di rete verso Internet è identificata dallindirizzo IP ufficiale dellazienda Network Address Translation

19 Reti di CalcolatoriAndrea Frosini19 Per ogni pacchetto IP in uscita dallinternetwork, il dispositivo NAT: Sostituisce lindirizzo IP del mittente con lindirizzo IP ufficiale Sovrascrive il numero di porta mittente nel pacchetto Transport con un identificatore del calcolatore mittente Memorizza in una tabella lindirizzo IP interno, il numero di porta mittente originario, e lidentificatore del calcolatore Inoltra il pacchetto Per ogni pacchetto IP in entrata sullinternetwork, il dispositivo NAT compie loperazione inversa: Legge lidentificatore memorizzato come numero di porta destinatario nel pacchetto Transport, e determina lindirizzo IP interno ed il numero di porta originale Sostituisce il numero di porta destinatario nel pacchetto Transport, e sostituisce lindirizzo IP destinatario nel pacchetto IP Inoltra il pacchetto sulla internetwork Inoltro dei pacchetti con NAT

20 Reti di CalcolatoriAndrea Frosini20 Altri protocolli del livello Network di IPS Oltre al protocollo IP, che è utilizzato per la trasmissione dei datagram, il livello Network di IPS definisce diversi altri protocolli, tra cui: Internet Control Message Protocol Address Resolution Protocol Reverse Address Resolution Protocol, Bootstrap Protocol e Dynamic Host Configuration Protocol Open Shortest Path First Border Gateway Protocol

21 Reti di CalcolatoriAndrea Frosini21 Il protocollo ICMP (Internet Control Message Protocol) è utilizzato per lo scambio di messaggi tra i router IP; questi messaggi sono incapsulati in normali pacchetti IP RFC 792 e larchivio on-line di IANA definisce vari tipi di messaggi ICMP, tra cui: DESTINATION UNREACHABLE (destinazione non raggiungibile): impossibile localizzare un host destinazione, oppure non esiste un percorso valido TIME EXCEEDED (tempo scaduto): un pacchetto è stato scartato perché il suo TTL è stato azzerato PARAMETER PROBLEM (parametro non valido): un campo dellheader di un pacchetto contiene un valore illegale REDIRECT: un router ritiene che un pacchetto sia stato inviato a lui per errore ECHO e ECHO REPLY: utilizzati per controllare se un router od un host sono raggiungibili; ad ogni request si risponde con un reply TIMESTAMP e TIMESTAMP REPLY: come ECHO e ECHO REPLY, ma la replica contiene alcuni timestamp che consentono la misurazione del tempo di trasmissione Internet Control Message Protocol

22 Reti di CalcolatoriAndrea Frosini22 A livello Data Link, la destinazione dei frame è individuata dallindirizzo hardware delle schede di rete A livello Network la destinazione è individuata da un indirizzo IP E necessario avere un meccanismo che permetta di collegare questi indirizzi tra loro Il protocollo ARP (Address Resolution Protocol) del livello Network: serve per derivare dallindirizzo IP dellhost di destinazione lindirizzo hardware della sua scheda di rete utilizza i servizi del livello Data Link per spedire un pacchetto ARP E definito dallRFC 826 Il protocollo RARP (Reverse ARP) consente, al contrario, di derivare lindirizzo hardware di un host dal suo indirizzo IP Il protocollo ARP I

23 Reti di CalcolatoriAndrea Frosini23 Se un host A vuole conoscere lindirizzo hardware associato allindirizzo IP di B: A invia un pacchetto ARP con lindirizzo IP di B incapsulato in un frame broadcast solo B risponde al frame broadcast, indirizzando un pacchetto ARP ad A contenente lindirizzo hardware associato al proprio indirizzo IP A inserisce temporaneamente lindirizzo hardware in una tabella (cache ARP), in modo da non ripetere loperazione nel prossimo futuro Ottimizzazioni: il pacchetto ARP di A contiene lindirizzo hardware e lindirizzo IP di A, in modo da evitare una ulteriore richiesta ARP da parte di B tutti i calcolatori che ricevono frame broadcast con pacchetti ARP, estraggono le informazioni contenute e le memorizzano nella cache ARP Il protocollo ARP II

24 Reti di CalcolatoriAndrea Frosini24 Si supponga che un router R1 riceva un pacchetto IP originato da un host A e destinato ad un host B remoto. Allora: R1 determina (consultando la tabella di routing) lindirizzo IP di un router R2 al quale deve essere inoltrato il pacchetto IP; determina anche linterfaccia di rete N che permette di raggiungere R2 R1 consulta la cache ARP cercando il record relativo allindirizzo IP di R2; se tale record non esiste, invia un pacchetto di richiesta ARP con un frame broadcast sullinterfaccia di rete N dopo aver determinato lindirizzo hardware (Data Link) di R2, R1 incapsula il pacchetto IP in un frame con destinazione R2, e lo trasmette sullinterfaccia N R2 riceve il pacchetto IP, e ripete lintero processo Nota bene: gli indirizzi IP di R1 e R2 non sono scritti nel pacchetto IP da inoltrare! Inoltro dei pacchetti IP da parte di router su rete broadcast

25 Reti di CalcolatoriAndrea Frosini25 Il protocollo DHCP (Dynamic Host Configuration Protocol, definito in RFC 1541, 2131 e 2132) fornisce parametri di configurazione agli host Internet. Consta di due parti: un protocollo per comunicare tali parametri dal server DHCP agli host ed un sistema di allocazione degli indirizzi di rete. Un server DHCP ha a disposizione un gruppo di indirizzi IP che possono essere assegnati liberamente ai client che ne fanno richiesta: E possibile assegnare ad un determinato client (indirizzo hardware) uno specifico indirizzo IP E possibile anche assegnare ad ogni client che ne fa richiesta un indirizzo IP scelto liberamente in un gruppo di indirizzi a disposizione del server Gli indirizzi IP possono essere dati in prestito (leasing): lassegnazione di un indirizzo IP ha un tempo limite, dopo il quale lindirizzo viene considerato nuovamente libero ed assegnabile, a meno che il client prima della scadenza non rinnovi la richiesta Per i più curiosi: http://cdc.roma2.infn.it/supporto/dhcp.htmlhttp://cdc.roma2.infn.it/supporto/dhcp.html Il protocollo DHCP

26 Reti di CalcolatoriAndrea Frosini26 In Internet ogni AS è gestito da una singola autorità, che può scegliere liberamente lalgoritmo di routing da adottare allinterno dellAS Il routing allinterno di ciascun AS è gestito da un algoritmo interior gateway protocol (o IGP); ad esempio: – RIP (Routing Information Protocol), di tipo distance vector (oggi quasi scomparso) – OSPF (Open Shortest Path First), di tipo link state Il routing tra gli AS è gestito da un algoritmo exterior gateway protocol (o EGP) – EGP era anche il nome del primo algoritmo utilizzato in Internet, oggi abbandonato – BGP (Border Gateway Protocol), essenzialmente di tipo distance vector Protocolli di routing per Internet

27 Reti di CalcolatoriAndrea Frosini27 Limitazioni del protocollo IP La versione attuale del protocollo IP (numero 4) è oramai superata tecnologicamente: lo spazio di indirizzi IP è praticamente esaurito Internet è ormai più commerciale che accademica, quindi serve più sicurezza portatili, cellulari (WAP) e computer palmari spingono verso un modello in cui gli host si muovono dinamicamente nello spazio in futuro ogni televisore potrebbe essere un nodo Internet che offre programmi interattivi (video on demand)

28 Reti di CalcolatoriAndrea Frosini28 Per superare le limitazioni del protocollo IP versione 4, la IETF ha cominciato a lavorare nel 1990 alla nuova versione del protocollo IP (numero 6) La nuova versione (RFC 2460–2466) è chiamata IPv6 (in precedenza, il tentativo di definire un nuovo protocollo era conosciuto come IP Next Generation, IPng) Idealmente, il nuovo protocollo: supporta miliardi di host, anche assegnando gli indirizzi in modo inefficiente riduce la dimensione delle tabelle di routing semplifica il protocollo per aumentare la velocità dei router fornisce maggiore sicurezza tramite meccanismi di autenticazione e crittografia prende in considerazione il tipo di servizio del traffico, particolarmente il traffico real-time Internet Protocol version 6 I

29 Reti di CalcolatoriAndrea Frosini29 migliora il supporto per la trasmissione di tipo multicast permette ad un host di muoversi senza cambiare il proprio indirizzo il protocollo è aperto: può evolversi in futuro restando compatibile con le precedenti versioni coesiste pacificamente con la versione 4 del protocollo IP Anche se non tutti questi obiettivi sono stati completamente raggiunti, IPv6 rappresenta una decisiva evoluzione rispetto a IPv4 Internet Protocol version 6 II

30 Reti di CalcolatoriAndrea Frosini30 Formato del pacchetto IPv6

31 Reti di CalcolatoriAndrea Frosini31 Version (4 bit): numero di versione del protocollo IP (ossia 6) Traffic class (8 bit): distingue pacchetti aventi diversi requisiti di trasmissione in tempo reale Flow label (20 bit): utilizzato quando vogliamo predeterminate caratteristiche di qualità del servizio Payload length (16 bit): lunghezza del pacchetto escludendo i primi 40 byte della testata Next header (8 bit): indica quale sub-header opzionale segue questa testata, oppure il protocollo di livello Transport al quale appartengono i dati che seguono questo header Hop limit (8 bit): un contatore TTL decrementato ad ogni hop; quando si azzera il pacchetto viene scartato Source address (128 bit): lindirizzo IPv6 dellhost sorgente Destination address (128 bit): lindirizzo IPv6 dellhost destinazione Lheader IPv6

32 Reti di CalcolatoriAndrea Frosini32 Facoltativamente, un pacchetto IP può contenere uno o più extension header tra i seguenti: Hop per hop: informazioni varie per i router (supporto per jumbogrammi) Destination: informazioni aggiuntive relative alla destinazione (attualmente non utilizzata) Routing: lista di router da utilizzare (simile allopzione loose source routing di IPv4) Fragment: gestione dei frammenti del datagramma (contiene identificatore di datagramma, posizione del frammento nel datagramma originale e bit che indica se il frammento è seguito da altri frammenti) Autenticazione: verifica dellidentità del trasmittente Carico utile cifrato: informazioni relative al contenuto cifrato Extension header

33 Reti di CalcolatoriAndrea Frosini33 Indirizzi IPv6 I Nei 16 byte dellindirizzo IPv6 si possono codificare 2 128 = 340 282 366 920 938 463 463 374 607 431 768 211 456 identificatori diversi, ossia 700 000 miliardi di miliardi per metro quadro di superficie del globo. Speriamo che siano sufficienti! I bit iniziali di un indirizzo IPv6 indicano lutilizzo dellindirizzo stesso; le sequenze di bit iniziali fino ad oggi assegnate sono: 0000 0000 Riservato (contiene gli indirizzi IPv4 compatibili) 0000 001 Riservato per assegnazioni NSAP (protocolli ISO) 0000 010 Riservato per assegnazioni IPX (protocolli Novell) 001 Indirizzi unicast e aggregabili (classi A, B e C di IPv4) 1111 1110 10 Indirizzi da usare su una linea locale 1111 1110 11 Indirizzi da usare in un sito locale 1111 1111 Indirizzi di tipo multicast (classe D di IPv4)

34 Reti di CalcolatoriAndrea Frosini34 Indirizzi IPv6 II La rappresentazione degli indirizzi IPv6 è costituita da parole di 16 bit in esadecimale separate da : : 47CD:0000:0000:0000:0022:1234:A456:0124 Un indirizzo con un gran numero di zeri contigui può essere scritto in modo compatto omettendo i campi che valgono zero: 47CD::0022:1234:A456:0124 Un indirizzo IPv6 avente i primi 96 bit nulli rappresenta un indirizzo IPv4 ::A050:5001 equivale a ::160.80.80.1 Alcuni indirizzi IPv6 codificano indirizzi IPv4 assegnati alla stessa interfaccia di rete: ::FFFF:A050:5001 codifica 160.80.80.1

35 Reti di CalcolatoriAndrea Frosini35 Confronto tra i pacchetti IPv6 e IPv4 Il campo Protocol in IPv4 è stato inserito come caso particolare di Next header in IPv6 Il campo Options in IPv4 è stato sostituito da header aggiuntivi dopo lheader principale; lheader seguente è indicato da Next header Niente campi relativi alla frammentazione: ogni host e router IPv6 deve funzionare con pacchetti di almeno 1280 byte; se un router non riesce a inviare un pacchetto troppo lungo invia un messaggio derrore allhost sorgente, che frammenterà il pacchetto utilizzando un header aggiuntivo E scomparso il campo Checksum: per motivi di efficienza i router non effettuano alcun controllo derrore sulla testata (il controllo è comunque svolto dai livelli superiori) Usando un extension header, è possibile creare pacchetti di dimensione enorme (jumbogrammi, cioè datagrammi di dimensione superiore a 65535 byte); sono utili per linee ad altissima velocità tra supercalcolatori

36 Reti di CalcolatoriAndrea Frosini36 Transizione da IPv4 a IPv6 La transizione da IPv4 a IPv6 sarà graduale: isole IPv6 di dimensione sempre maggiore si fonderanno insieme, fino a coprire lintera Internet Come trasportare pacchetti IPv6 in reti che ancora utilizzano IPv4? tunneling: il pacchetto IPv6 è incapsulato in un pacchetto IPv4, che è inviato per mezzo del tunnel ad un router od ad un host in grado di funzionare sia con IPv4 che con IPv6 dual stack operation: tutti i nodi IPv6 possono eseguire sia IPv6 che IPv4, a seconda del campo Version allinterno dei pacchetti


Scaricare ppt "Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 15."

Presentazioni simili


Annunci Google