Indirizzi IP - Dipartimento di Informatica
Transcript
Indirizzi IP - Dipartimento di Informatica
Architettura di TCP/IP I se m estre 02/03 L’architettura di Internet è organizzata intorno Indirizzi IP a tre servizi organizzati gerarchicamente Prof. Vincenzo Auletta Servizi Applicativi [email protected] http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica Servizio di trasporto affidabile TCP Servizio inaffidabile di consegna di pacchetti IP 2 IP: Internet Protocol IP:Internet Protocol È il livello di Network di TCP/IP Il livello Network si occupa di: consente a due entità di protocollo di trasporto, residenti su macchine differenti, di scambiare messaggi in modo trasparente Un protocollo datato ... ... ma non obsoleto 3 FTP, telnet, ... 4 servizi di rete indirizzamento istradamento qualità del servizio dimensione massima dei pacchetti controllo degli errori controllo del flusso Delegati al livello di trasporto TCP IP: Internet Protocol IP: Internet Protocol IP fornisce un servizio non connesso Il protocollo IP provvede a: Ogni datagram (pacchetto IP) è trattato separatamente Pacchetti relativi alla stessa sessione potrebbero seguire percorsi differenti nell’internet inaffidabile La consegna del datagram al destinatario non è garantita al meglio delle possibilità (best try) definire il formato delle unità elementari di dati (datagram) trasferiti su una rete TCP/IP fornire un metodo di indirizzamento universale per l’internet scegliere il percorso che un datagram segue nell’internet per giungere a destinazione definire le regole che servono a implementare il concetto di consegna inaffidabile di datagram Il protocollo non decide mai deliberatamente di eliminare un datagram 5 6 Esempio di Architettura di Rete FTP client Interazioni di IP con altri Protocolli User Proc. FTP server TCP TCP IP IP 7 User Proc. TCP router 802.3 driver User Proc. 802.3 driver UDP User Proc. Application Transport IP 802.5 driver ICMP IP IGMP Network ARP HW Intrfc RARP Link 802.5 driver 8 Indirizzi IP Formato degli Indirizzi IP Un indirizzo IP identifica univocamente un utente Sono ampi 32 bit (4 byte) Si scrivono come 4 numeri decimali separati dal dei servizi di rete L’indirizzo è assegnato all’interfaccia di rete un host può avere più indirizzi IP (multihomed), uno per ogni interfaccia di rete il formato dell’indirizzo è indipendente dal tipo di rete fisica a cui l’host è collegato carattere “.” Ogni numero rappresenta il contenuto di un byte ed è quindi compreso tra 0 e 255 Esempi Gli indirizzi sono assegnati da una autorità unica che ne garantisce l’univocità 9 Fino al 98 una persona si occupava di tutto Attualmente la Internet Corporation for Assigned Names and Numbers (ICANN) si occupa di assegnare gli indirizzi ed i nomi 10 Indirizzi IP Schema di Indirizzamento con le Classi Ogni indirizzo è formato da due parti Meccanismo di indirizzamento originario identificativo di rete identificativo di host Gli indirizzi a due livelli facilitano la politica di Pensato per l’internet degli anni 80 Non ha retto alla enorme diffusione di Internet Prevede 5 classi di indirizzi gestione degli indirizzi e l’istradamento dei datagram sull’internet 11 131.190.0.2 (10000011 10111110 00000000 00000010) 1.1.2.17 (00000001 00000001 00000010 00010001) 200.70.27.33 (11001000 01000110 00011011 00100001) I gateway utilizzano l’identificativo di rete per far arrivare il datagram alla rete fisica del destinatario Il gateway della rete del destinatario utilizza l’identificativo di host per trasferire il datagram al destinatario 12 Le classi differiscono per la lunghezza degli identificativi di rete e di host La lunghezza complessiva è sempre 32 bit La classe di un indirizzo è identificata dai primi 4 bit Formato degli Indirizzi di classe A, BeC 0 1 0 7 8 Formato degli Indirizzi di classe D ed E 0 1 2 3 31 Rete 1 1 1 0 Host 0 1 2 15 16 31 Rete 0 1 2 3 Host 1 1 11 Classe B 0 1 2 3 Rete Reserved for Future Use Host Classe C 14 Classe A Classe B Identificativo di rete Identificativo di rete 7 bit max 128 reti valori compresi tra 0.0.0.0 e 127.255.255.255 24 bit max 16M host 0 1 0 7 8 Rete 14 bit max 16K reti valori compresi tra 128.0.0.0 e 191.255.255.255 Identificativo di host Identificativo di host 15 31 Classe E 31 23 24 1 1 0 13 Multicast Address Classe D Classe A 1 0 31 16 bit max 64K host 0 1 2 31 Host 16 1 0 15 16 Rete 31 Host Classe C Classe D Identificativo di rete destinato per un insieme di host che appartengono 21 bit max 2M reti valori compresi tra 192.0.0.0 e 223.255.255.255 ad un gruppo multicast ...lo vedremo in dettaglio in seguito Identificativo di host valori compresi tra 224.0.0.0 e 239.255.255.255 8 bit max 256 host 0 1 2 3 1 1 0 Rete 0 1 2 3 31 23 24 1 110 Host 17 31 multicast group ID 18 Classe E Assegnazione degli Indirizzi destinato per usi futuri L’autorità centrale assegna gli identificativi di rete valori compresi tra 240.0.0.0 e 255.255.255.255 l’utente fa richiesta per una classe di indirizzi L’amministratore di rete assegna gli identificativi di host 0 1 2 3 1 111 31 la responsabilità sull’univocità degli indirizzi di host è delegata ad un’autorità locale E’ possibile assegnare arbitrariamente indirizzi a riservato per usi futuri host senza richiederli all’ICANN 19 20 ...questi indirizzi non possono essere utilizzati sull’Internet Indirizzi di Rete e Indirizzi di Host Ordine di Trasmissione Un indirizzo IP si può riferire sia ad un singolo host network byte order: che ad un’intera rete l’indirizzo di host 0 è riservato e identifica la rete nel suo complesso utilizzato nelle tabelle di routing Esempio 0-7 8-15 16-23 24-31 Byte ordering per interi binari: 192.41.218.10 identifica l’host 10 della rete di classe C 192.41.218 192.41.218.0 identifica la rete di classe C 192.41.218 21 bit bit bit bit Macchine con Big Endian: o.k. Macchine con Little endian...devono fare la conversione a network byte order 22 IP Routing: Cenni IP Routing: Tavola di Routing Se la destinazione è connessa direttamente all’host Lo strato di IP di un sistema può essere configurato come un host oppure come host+router Lo strato di IP ha una tavola di routing (che usa ogni volta che riceve un datagram) contenente: o su una rete condivisa (e.g. ethernet/token ring): il datagram è mandato direttamente a destinazione Altrimenti l’host manda il datagram ad un router di default che lo spedirà a destinazione è tutto semplice?... Indirizzo IP di destinazione: di rete o completo Indirizzo di next-hop router o di net-id direttamente connessa Flag: specificano il tipo dei due indirizzi precedenti specifiche di quale interfaccia di rete su cui immettere il datagram per la trasmissione /sbin/route (...Unix) – route PRINT (NT) 23 24 Indirizzi Riservati Utilizzo della Tavola di Routing matching con l’indirizzo di host completo tutti 0 manda il pacchetto al next-hop router o all’interf. connessa direttamente (indicati) point-to-point tutti 0 matching con l’indirizzo di rete manda il pacchetto al next-hop router o all’interf. connessa direttamente (indicati) ethernet host rete manda il pacchetto al next-hop router indicato broadcast limitato tutti 1 altrimenti... packet undeliverable 25 host unreachable network unreachable 26 any (in genere 0.0.1) tutti gli host di rete broadcast diretto loopback Indirizzi di Broadcast Indirizzo di Loopback Un indirizzo con tutti i bit dell’ identificativo di host L’indirizzo 127.0.0.1 è riservato per il loopback uguali ad 1 identifica tutti gli host di una rete: net-id broadcast un datagram spedito ad un indirizzo broadcast verrà consegnato a tutti gli host della rete su alcune reti può essere molto costoso Esempio 27 127 host su questa rete tutti gli host della rete tutti 1 default route questo host l’indirizzo identifica lo stesso host che ha spedito il datagram utile per test e debugging consente di gestire la comunicazione tra processi sulla macchina locale allo stesso modo che tra processi remoti lo standard IP vieta di definire indirizzi con 192.41.218.255 identifica tutti gli host della rete 192.41.218.0 identificativi di rete 127 L’indirizzo 255.255.255.255 identifica tutti gli host della rete a cui è collegato il mittente: 28 Reti Logiche e Fisiche: Esempio di classe C Indirizzi Locali Alcuni identificativi di rete sono stati riservati per uso privato 192.41.218.0 Ogni organizzazione è libera di assegnare questi indirizzi ai suoi host I router non istraderanno mai datagram da e verso host con questi indirizzi .254 Router 193.205.162.0 193.205.162.0 .1 .2 30 Esaurimento degli Indirizzi di classe B Debolezze dello Schema di Indirizzamento una rete di 256 host richiede un indirizzo di classe L’indirizzo IP si riferisce alla connessione alla rete B se un host cambia rete deve cambiare indirizzo Problematico gestire utenti mobili Se un host ha più indirizzi il comportamento del protocollo IP dipende dall’indirizzo utilizzato se una rete di classe C supera i 255 host tutti gli indirizzi devono essere riconvertiti a classe B 31 .4 Bridge 10.0.0.0 172.16.0.0 192.168.0.0 29 .254 .3 Indirizzi disponibili .2 .1 Cambia l’identificativo di rete Tutti i router dovrebbero aggiornare le tabelle di routing Nessuno richiede indirizzi di classe C 32 oltre 65000 indirizzi inutilizzati gli indirizzi di classe B sono quasi esauriti Come migliorare l’utilizzo dello spazio degli indirizzi di IP, mantenendo la compatibilità con il vecchio sistema? Assegnare lo stesso identificativo di rete a più reti fisiche...subnetting Subnetting Uso del Subnetting L’indirizzo IP è diviso in una parte pubblica (ex rete) La dimensione dell’identificativo di rete della parte locale non è fissata ed una parte locale (ex host) parte pubblica parte locale parte pubblica rete host 254 sottoreti da 254 host (8 bit net-id + 8 bit host)...-2 6 sottoreti da 8190 host (3 bit net-id + 13 bit host)...-2 il routing nell’internet è fatto sulla parte pubblica 8190 sottoreti da 6 host (13 bit net-id + 3 host)...-2 Compatibile con il vecchio schema Per interpretare correttamente gli indirizzi c'è dimensione ridotta delle tavole sull’Internet 33 • la parte locale è divisa in un identificativo di rete fisica ed un identificativo di host 34 bisogno di distinguere tra identificativo di rete e host Netmask Esempio di Netmask Un amministratore che vuole partizionare una rete in Partizionare la rete di classe B 140.252.0.0 in sottoreti deve definire una netmask 14 subnet da 4094 host maschera di 32 bit bit a 1 in corrispondenza dei campi network e subnetwork bit a 0 in corrispondenza del campo host • Netmask 255.255.240.0 o 140.252.0.0/20 • 11111111 11111111 11110000 00000000 Lo standard ammette tutte le sequenze di 32 bit come maschere nella realtà vengono utilizzate solo maschere costituite da una sequenza di 1 seguita da una sequenza di 0 35 consente la massima flessibilità per la gestione dello spazio degli indirizzi una rete di classe B può essere divisa per esempio in Es. 11111111 11111111 11111000 00000000 (255.255.248.0) 36 • Notazione alternativa • {network, subnet, host} • La sottorete 2 ha indirizzo (140.252, 2, 0) • L’indirizzo di broadcast della sottorete 2 è (140.252, 2, -1) Subnet Classe C: 192.41.218.0/28 NET ID PRIMO HOST ULTIMO NET ID PRIMO HOST ULTIMO .0 .1 .14 .128 .129 .142 Indirizzi di Broadcast per Sottoreti Lo standard stabilisce che con k bit si possono specificare 2k indirizzi di sottoreti .16 .17 .30 .144 .145 .158 .32 .33 .46 .160 .161 .174 .48 .49 .62 .176 .171 .190 .64 .65 .78 .192 .193 .206 .80 .81 .94 .208 .209 .224 .96 .97 .110 .224 .225 .238 .112 .113 .126 .240 .241 .254 37 Ogni sottorete ha un proprio indirizzo di rete ed un indirizzo di broadcast indirizzo di host formato da tutti 0 o tutti 1 E’ possibile associare anche un indirizzo di rete ed un indirizzo di broadcast all’insieme delle sottoreti 38 però non si possono usare gli indirizzi di sottorete 0 e 2k-1 la soluzione dipende dal router i router CISCO vietano l’uso di 0 e 2k-1 come indirizzi di sottorete Indirizzi di Subnet di Lunghezza Variabile Schema di Indirizzamento senza Classi (CIDR) E’ possibile costruire sottoreti con netmask di Agli inizi degli anni 90 ci si è resi conto che gli lunghezza differente indirizzi disponibili si stavano esaurendo Es. dividere una rete di classe C in una sottorete con 126 host e due sottoreti con 62 host più difficile la gestione dell’instradamento ed è sconsigliata la soluzione del subnetting aveva solo rinviato il problema Soluzioni L’utilizzo di netmask di lunghezza differente rende 39 anche la sottorete 0 e la sottorete 2k-1 si possono creare indirizzi ambigui (soprattutto per broadcast) 40 Allargare lo spazio di indirizzamento a 128 bit (IP6) – a larga scadenza Rendere più flessibile l’utilizzo degli indirizzi a 32 bit (indirizzi senza classi CIDR) – a breve scadenza Supernetting Indirizzi CIDR e Bitmask Lo schema CIDR consente di assegnare alla stessa Lo schema CIDR consente di assegnare blocchi di indirizzi di dimensione 2k, per ogni k rete fisica un blocco di indirizzi di rete consecutivi (net, count) count indirizzi di rete a partire da net 41 identifica le reti di classe C 192.41.218.0 e 192.41.219.0 permette di assegnare ad una rete di 256 host due indirizzi di classe C consecutivi invece che un indirizzo di classe B Filosofia di CIDR L’accesso all’internet è gestita dagli ISP ad ogni ISP è assegnato un blocco di indirizzi contigui distinto Ogni ISP subnetta il suo blocco di indirizzi in sottoblocchi contigui da assegnare ai suoi clienti ogni sottoblocco sarà identificato da un prefisso comune ed una bitmask L’istradamento è più facile 43 un router conosce le rotte solo agli host del suo blocco tutto il traffico rimanente è inviato al router del superblocco che lo contiene a netmask) per Esempio: assegnare un blocco di 2048 indirizzi a Consente anche di ridurre le dimensioni delle tavole di routing partire da 128.211.168.0 Esempio: (192.41.218.0, 2) Utilizza una bitmask (equivalente identificare la dimensione dei blocchi Servono 11 bit per identificare ogni host Indirizzo CIDR Æ 128.211.168.0/21 Tutti gli indirizzi di un blocco hanno un prefisso comune identificato dalla bitmask 42 il prefisso è utilizzato nelle tabelle di routing come indirizzo di rete