Reti di Calcolatori II Prof. Stefano Leonardi http://www.dis.uniroma1.it/~leon/didattica/reti2/ Ricevimento: Venerdì, ore 11-13, Via Salaria 113, II piano, stanza 227 Prof. Luca Becchetti http://www.dis.uniroma1.it/~becchett Ing. Andrea Vitaletti http://www.dis.uniroma1.it/~vitale 4: Network Layer
Programma preliminare I 1. Indirizzamento IP: A classi CIDR – Classless Inter Domain Routing 2. Reti Private VPN NAT 3. Instradamento tra Sistemi autonomi BGP Il Grafo di Internet - Relazioni tra Autonomous Systems 4. IP Multicast 4: Network Layer
Programma preliminare II L’accesso a ISP: BOOTP DHCP 6. Mobile IP 7. Gestione della rete – SNMP 8. Protocollo ICMP 9. IPv6 10. Esercitazioni di Laboratorio con Netkit: Simulazione e gestione di reti ad interconnessione Ing. Andrea Vitaletti 4: Network Layer
Testo di riferimento Douglas Comer Internetworking with TCP/IP Quarta Edizione Volume I Addison Wesley, 2000 Versione Inglese consigliata e Materiale didattico a disposizione sul Sito web del corso 4: Network Layer
Indirizzamento a classi Indirizzamento senza classi L’Indirizzamento IP Indirizzamento a classi Indirizzamento senza classi 4: Network Layer
Indirizzamento IP (v4) Indirizzo unico di 32 bit per ciascuna interfaccia presente nella rete Un host puo’ avere interfacce multiple Alcuni indirizzi possono essere assegnati piu’ volte --> VPN, NAT (piu’ avanti) Interfaccia --> scheda di rete Formato degli indirizzi A classi (classful) --> proposta originale Senza classi (classless) --> permette di risparmiare indirizzi 4: Network Layer
Indirizzamento IP Interfaccia: punto di connessione tra un host (o un router) e un link fisico I router di solito hanno interfacce multiple Gli host possono avere interfacce multiple Gli indirizzi IP sono associati alle interfacce, non agli host o ai router 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 223.1.3.1 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 4: Network Layer
Indirizzamento IP Indirizzo IP : 223.1.1.0/24 Indirizzo IP : Parte che identifica la rete (bit più sign.) Parte che identifica l’host (bit meno sign.) Cos’è una rete ? Insieme delle interfacce i cui ind. IP hanno la stessa parte che identifica la rete Possono raggiungersi reciprocamente senza l’ausilio di un router 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.1 223.1.3.2 Rete che consiste di 3 reti IP (primi 24 bit identificano la rete IP) 4: Network Layer
Indirizzamento IP Come trovare le reti? Staccare ciascuna interfaccia dall’host o router cui appartiene Creare “isole” (ciascuna isola è una rete IP) 223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.9.2 223.1.7.0 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.3.2 223.1.3.1 223.1.3.27 Sistema interconnesso di 6 reti IP 223.1.2.6 223.1.2.1 223.1.2.2 4: Network Layer
Indirizzi IP - formato classful Classe 1.0.0.0 a 127.255.255.255 A rete host B 128.0.0.0 a 191.255.255.255 10 rete host 192.0.0.0 a 223.255.255.255 C 110 rete host 224.0.0.0 a 239.255.255.255 D 1110 Indirizzo multicast 240.0.0.0 a 247.255.255.255 E 11110 Riservato 32 bit 4: Network Layer
Convenzioni per il broadcast Broadcast verso la rete cui l’interfaccia appartiene Tutti i bit a 1 (prefisso di rete + host) Broadcast verso gli host di un’altra rete Prefisso di rete valido Bit della parte host dell’indirizzo a 1 Non standard: bit della parte host a 0 Un broadcast IP si traduce (se possibile) in un broadcast Hw sulla rete di destinazione 4: Network Layer
Vantaggi dell’indirizzamento a classi Indirizzo della rete e dell’host (interfaccia) identificati senza ulteriori informazioni Es.: primi 3 bit 110 --> indirizzo di classe C Non servono informazioni aggiuntive 110 host Rete 4: Network Layer
Svantaggi dell’indirizzamento a classi Problema: potenziale spreco di indirizzi Esempio: Rete con 2000 host Occorre richiedere una rete di classe B -> circa 63000 indirizzi inutilizzati Soluzione (RFC 1519): Classless Interdomain Routing Piu’ avanti 4: Network Layer
Assegnazione di indirizzi IP Tutti gli host sulla stessa rete hanno lo stesso prefisso di rete Prefissi assegnati da un’autorita’ centrale Richiesti dall’ISP o istituzione ecc. Ogni host (interfaccia) su una rete ha un suffisso distinto Assegnato localmente L’amministratore di rete garantisce l’unicita’ 4: Network Layer
Alcune questioni aperte Multicast Trasferimento 1 --> molti Molte proposte ma ancora nessuno standard diffuso Discusso piu’ avanti Host multi-homed Es.: utenti mobili Piu’ indirizzi possibili 4: Network Layer
Problema principale Notevole spreco di indirizzi soprattutto in classe B Assegnazione dello stesso prefisso di rete a più reti fisiche: Ridefinire le politiche di instradamento Ridefinire le politiche di assegnazione degli indirizzi agli Host 4: Network Layer
Soluzioni Router trasparenti ARP proxy Indirizzamento di sottorete Reti anonime punto-punto Indirizzamento senza classi (CIDR - Classless Inter-Domain Routing) --> Reti odierne 4: Network Layer
Router trasparenti Rete locale H1 H1, H2 E H3 “credono” di essere connessi direttamente alla WAN La rete locale non ha un proprio prefisso IP R H2 WAN H3 R demultipla i datagrammi da e per la rete locale R suddivide gli indirizzi IP in porzioni che interpreta separatamente Si impone a volte una struttura particolare dell’indirizzo per favorire la multiplazione 4: Network Layer
Esempio: ARPANET Indirizzo di rete in forma 10.p.u.i Rete locale 10.2.1.37 PSN 37 10.2.2.37 ARPANET 10.0.0.0 10.2.3.37 Indirizzo di rete in forma 10.p.u.i p-->port, i--> PSN, x non interpretato Nota: 10.2.5.37 e 10.2.10.37 --> stesso host 4: Network Layer
Vantaggi/svantaggi Vantaggi Svantaggi Necessari meno indirizzi di rete Possibile bilanciamento del carico collegando la rete fisica attraverso più routers Svantaggi Non funziona con reti di classe C I router trasparenti possono non offrire tutti i servizi standard (ICMP, SNMP….) 4: Network Layer
ARP proxy (promiscuo, hack) Permette di definire piu’ reti locali Rete principale nota all’esterno Reti locali aggiunte successivamente nascoste Router speciale che: Funziona da switch tra le diverse reti locali Funziona da router da/verso l’esterno 4: Network Layer
ARP proxy - cont. Dgram IP1-->IP4 principale nascosta IP1 IP4 R IP2 IP5 IP3 IP6 Dgram IP1-->IP4 R cattura richiesta ARP bcast di H1 e restituisce proprio MAC address Datagrammi da IP1 a IP4 sono spediti a R che li inoltra a IP4 4: Network Layer
Vantaggi/svantaggi Vantaggi Svantaggi Le tabelle degli altri router non vanno cambiate Es.: quando si aggiunge la rete contenente IP4 i router diversi da R devono solo sapere che i pacchetti per IP4 vanno inviati a R Svantaggi L’instradamento non e’ completamente automatico Gli amministratori di rete devono aggiornare manualmente le tabelle di routing Spoofing: una macchina finge di essere un’altra per intercettare i pacchetti Non puo’ essere usato in assenza di ARP 4: Network Layer
Indirizzamento di sottorete Tecnica standardizzata Spesso usata su reti di classe B Idea Router (R) responsabile dell’instradamento da/verso l’esterno R conosce la suddivisione della rete in sottoreti L’esterno “vede” un’unica rete, accessibile da R 4: Network Layer
Esempio Le reti 128.10.1.0 e 128.10.2.0 non sono visibili all’esterno Rete 128.10.1.0 128.10.1.1 128.10.1.2 Internet R Rete 128.10.2.0 128.10.2.1 128.10.2.2 Traffico verso 128.10.0.0 Le reti 128.10.1.0 e 128.10.2.0 non sono visibili all’esterno R interpreta gli indirizzi di dest. dei datagrammi provenienti dall’esterno 4: Network Layer
Suddivisione indirizzo (classe B) Prefisso di rete Indirizzo host Suddivisione dell’indirizzo vista dall’esterno Rete locale host Prefisso di rete Suddivisione dell’indirizzo vista dal R La suddivisione puo’ non essere per ottetti Possibilita’ di indirizzamento gerarchico 4: Network Layer
Esempio R2 deve sapere quanti bit individuano il prefisso della rete 3 Resto di Internet R1 Rete 1 R2 R3 Rete 3 Rete 2 R2 deve sapere quanti bit individuano il prefisso della rete 3 Il resto di Internet ignora l’esistenza di R2 e R3 4: Network Layer
Sottoreti di lunghezza fissata La stessa maschera è usata per tutte le reti: Vantaggi: Uniformità Facilità di gestione Svantaggi Numero di reti fissato per l’intera organizzazione Massimo numero di hosts per rete fisica fissato. 4: Network Layer
Sottoreti di lunghezza variabile L’amministratore sceglie la dimensione di ogni rete fisica Una maschera è assegnata ad ogni rete specifica Vantaggi: Flessibilità di unire reti grandi e piccole Uso completo dello spazio degli indirizzi Svantaggi Difficoltà di assegnazione ed amministrazione Possibile ambiguità nell’indirizzamento Diversi instradamenti 4: Network Layer
Esempiodi uso dello spazio di indirizzamento Possibile assegnamento che usa il 92.9% degli indirizzi 11 reti di 2046 hosts 24 reti di 254 hosts 256 reti di 126 hosts 4: Network Layer
Tabelle di routing Le tabelle di routing devono essere modificate Generica entry: (M, D, H) Significato dei campi D --> indirizzo rete di destinazione H --> indirizzp prox. router lungo il percorso verso Dest M --> maschera: campo di 32 bit che consente di delimitare il prefisso di rete 4: Network Layer
Tabelle di routing - cont. ………. 255.255.0.0 151.100.0.0 220.190.16.22 255.255.255.0 220.190.16.0 220.190.15.1 ………… I I+1 Esempio: Risolvere indirizzo 220.190.16.3 Prova entry I: AND bit a bit con 255.255.0.0 da’ 220.190.0.0 ≠ 151.100.0.0 Prova entry I+1: AND bit a bit con 255.255.255.0 da’ 220.190.16.0 --> prox. salto e’ 220.190.15.1 4: Network Layer
Algoritmo di instradamento T:tabella di routing, I: indirizzo da risolvere for (i=0; i<|T|; i++) { if ((I && Mi)==Di) { <Next hop> = Hi; break; } /* Nessuna corrispondenza in T */ Errore; 4: Network Layer
Maschere di sottorete Sono consentite maschere arbitrarie Soluzione solitamente scelta (non e’ una scelta obbligata): Numero costante di bit della parte locale per individuare la sottorete Allocazione contigua Esempio: data la rete 151.100.0.0, gli 8 bit piu’ significativi della parte locale per la sottorete e gli 8 bit meno significativi per l’host In questo caso la maschera di sottorete sarebbe 255.255.255.0 4: Network Layer
Esempio Usa i 16 bit inferiori di 128.10.0.0 per definire le sottoreti: Crea 7 sottoreti: Subnet 1 254 hosts Subnet mask: 24 bits Subnet da 2 a 7 62 hosts ognuna Subnet mask di 26 bits 4: Network Layer
Esempio Subnet 1 (254 hosts) mask: 11111111 11111111 11111111 0000000 prefix: 10000000 00001010 00000001 0000000 Subnet 2 (62 hosts) mask: 11111111 11111111 11111111 11000000 prefix: 10000000 00001010 00000000 10000000 Subnet 3 (62 hosts) prefix: 10000000 00001010 00000000 11000000 4: Network Layer
Esempio Subnet 4 (up to 62 hosts) mask: 11111111 11111111 11111111 11000000 prefix: 10000000 00001010 00000001 00000000 Subnet 5 (up to 62 hosts) prefix: 10000000 00001010 00000001 01000000 Subnet 6 (up to 62 hosts) prefix: 10000000 00001010 00000001 10000000 4: Network Layer
Esempio Subnet 7 (62 hosts) mask: 11111111 11111111 11111111 11000000 prefix: 10000000 00001010 00000001 11000000 4: Network Layer
Ambiguità degli Indirizzi Indirizzo dell’host 63 sulla subnet 1 è mask: 11111111 11111111 11111111 00000000 prefix: 10000000 00001010 00000001 00000000 host: 10000000 00001010 00000001 00111111 broadcast diretto su subnet 4 è mask: 11111111 11111111 11111111 11000000 bcast: 10000000 00001010 00000001 00111111 4: Network Layer
Ambiguità degli Indirizzi cont. Broadcast diretto su subnet 1 è mask: 11111111 11111111 11111111 00000000 prefix: 10000000 00001010 00000001 00000000 bcast: 10000000 00001010 00000001 11111111 Broadcast diretto su subnet 7 è mask: 11111111 11111111 11111111 11000000 prefix: 10000000 00001010 00000001 11000000 4: Network Layer
Reti anonime punto-punto Reti in serie non-numerate Vi sono solo due endpoints Non è necessario assegnare un prefisso di rete Si usa l’IP remoto per indicare il next hop nella tabella di Routing 4: Network Layer
Esempio 4: Network Layer
Classless Inter Domain Routing CIDR 4: Network Layer
Indirizzamento senza classi Detto anche di super-rete (super-netting) Motivazioni: Pochi indirizzi di classe A e B disponibili Molti indirizzi di classe C disponibili, ma piccola frazione assegnata Obiettivo: assegnare soprattutto indirizzi di classe C Soluzione: CIDR (Classless Inter-Domain Routing) 4: Network Layer
crescita di Internet Il numero delle reti raddoppia ogni nove mesi (crescita esponenziale) spazio degli indirizi già assegnato [fonte: RFC 1917 feb ‘96]: classe A: 41% classe B: 62% classe C: 28% complessivo: 41% più della metà delle reti in classe B ha meno di 50 host La scarsità degli indirizzi ha l’effetto di ingigantire le tabelle di instradamento. Infatti, poiché l’offerta di indirizzi della classe B diminuisce, la richiesta di indirizzi della classe C aumenta e le reti indipendenti si moltiplicano 4: Network Layer
Indirizzamento senza classi Problema: una rete di classe C corrisponde a 256 indirizzi IP Molte organizzazioni hanno bisogno di piu’ indirizzi Soluzione: assegnare ad una stessa organizzazione blocchi contigui di indirizzi in classe C Esempio: l’organizzazione X riceve i tre blocchi contigui 220.123.16.x, 220.123.17.x e 220.123.18.x 768 indirizzi disponibili Richiederebbe numerosi instradamenti diversi per raggiunger una rete 4: Network Layer
Indirizzamento senza classi Come rappresentare il blocco di indirizzi assegnati? Informazioni necessarie: indirizzo + basso del blocco e No. Blocchi In pratica: CIDR non prevede che gli indirizzi di rete debbano necessariamente essere di classe C CIDR usa le seguenti informazioni: Valore a 32 bit dell’indirizzo piu’ basso del blocco Maschera a 32 che funziona come una maschera di sottorete standard 4: Network Layer
Differenze rispetto a indizzamento con sottorete L’indirizzamento CIDR prevede che la maschera usi bit contigui CIDR richiede che ogni blocco di indirizzi sia una potenza di 2 Esempio: 11111111 11111111 00011000 01000000 e’ una maschera di sottorete valida ma non e’ una maschera CIDR consentita 4: Network Layer
Notazione CIDR Prefisso della rete + No. bit per il prefisso Esempio: per un blocco di indirizzi da 220.16.128.0 a 220.16.255.255: 220.16.128.0/17 11111111.11111111.10000000.00000000 4: Network Layer
Esempio Un ISP riceve il blocco di indirizzi 210.20.128.0/17 L’ISP crea (ad esempio) 128 reti da 256 indirizzi IP ciascuna: 210.20.128.0/24 210.20.129.0/24 ………… La maschera di rete che corrisponde al blocco principale e’ 255.255.128.0 Ciascuno dei sotto-blocchi ha maschera 255.255.255.0 4: Network Layer
Instradamento con CIDR Indirizzi con classi sono auto-identificanti Indirizzamento senza classi: occorre separare il prefisso di rete dall’indirizzo dell’host Esempio: arriva Dgram con IP destinazione 150.122.19.30 Qual e’ il prefisso di rete? Non e’ possibile stabilirlo a priori se si usa la convenzione CIDR Le reti sono allocate in modo da rendere più probabile l’aggregazione delle tabelle di instradamento 4: Network Layer
Instradamento con CIDR - cont. La tabella di routing ha la forma: (Mask, Dest. network, Next hop) Si tentano le entry in ordine decrescente di lunghezza delle maschere Quelle con la maschera piu’ lunga prima L’AND della destinazione e della Mask deve restituire l’indirizzo di base. Esempio: indirizzo 150.122.19.30 La tabella contiene 2 entry, corrispondenti alle destinazioni 150.122.19.0/24 e 150.122.128.0/17 L’entry giusta e’ la prima, corrispondente al prefisso comune piu’ lungo (longest prefix matching) 4: Network Layer
Esempio di aggregazione 4: Network Layer
Esempio di Instradamento 4: Network Layer
Riassunto vincoli di aggregazione 4: Network Layer
Allocazione accorta degli indirizzi ip 4: Network Layer
Allocazione accorta degli indirizzi ip Si allocano alla stessa organizzazione reti possibilmente contigue Se l’organizzazione afferisce ad internet tramite un solo collegamento, sarà possibile aggregare da quel punto in poi molte linee delle tabelle di instradamento esempio: se un’organizzazione ha necessità di 2000 indirizzi ip, le vengono allocati 2048 indirizzi (8 reti in classe C contigue) se un’organizzazione ha necessità di 8000 indirizzi ip, le vengono allocati 8192 indirizzi (32 reti in classe C contigue) 4: Network Layer
Esempio di allocazione CIDR 4: Network Layer
Esempio di allocazione CIDR (cont) 4: Network Layer
Implementazione Tradizionali Tabelle usano funzioni Hash che forniscono il prossimo hop corrispondente af ogni destinazione Soluzione elementare in CIDR: ricerca iterativa sulle maschere in ordine di lunghezza decrescente Per CIDR si usano invece strutture di ricerca ad albero binario Ogni percorso dalla radice ad una foglia corrisponde ad un possibile prefisso In pratica, la ricerca del prefisso comune piu’ lungo avviene in memoria principale 4: Network Layer
Esempio Tabella (solo destinazioni indicate): Indirizzo a 32 bit Pref. univoco 00110101000000000000000000000000 001 01000110000000000000000000000000 0100 01010110000000000000000000000000 0101 01100001000000000000000000000000 011 10101010111100000000000000000000 1010 10110000000000100000000000000000 10110 10111011000010100000000000000000 10111 4: Network Layer
Esempio - cont. Ricerca dell’indirizzo 01010010.x.y.z 1 1 1 1 1 1 1 1 Ricerca dell’indirizzo 01010010.x.y.z Ogni foglia corrisponde a una destinazione della tabella di routing 4: Network Layer
Implementazione Le foglie dell’albero contengono sia un indirizzo di destinazione che una maschera Una volta giunti ad una foglia dell’albero si verifica che l’AND tra indirizzo e Maschera sia esattamente la rete di destinazione Gli alberi binari di ricerca aiutano nel determinare quale entry sono possibili 4: Network Layer
Prefissi di Rete Il procdimento e’ corretto se nessun prefisso di rete ha un altro prefisso di rete come prefisso Tutti le entry sono foglie dell’albero In realtà le tabelle spesso contengono informazioni promiscue sull’instradamento sia verso le reti che verso le sottoreti. Occorre quindi determinare il prefisso piu’ lungo che corrisponde con l’indirizzo che si desidere risolvere. Si possono quindi avere entry della tabella anche ai nodi interni dell’albero 4: Network Layer
Esercizio Considerate un’allocazione di blocchi di classe C tale che che l’indirizzo di base è un multiplo del numero di indirizzi da allocare e tutti gli indirizzi del blocco non sono allocati. Verificare che nessun indirizzo base e’ un prefisso di un altro indirizzo base. 4: Network Layer
Esercizio 1 su aggregazione CIDR Si consideri un router che ha la seguente tabella di instradamento: Indirizzo Netmask Linea 193.204.162.0 255.255.255.0 Interfaccia 1 193.204.163.0 255.255.255.0 Interfaccia 2 193.204.164.0 255.255.255.0 Interfaccia 2 193.204.165.0 255.255.255.0 Interfaccia 2 193.204.166.0 255.255.255.0 Interfaccia 2 193.204.167.0 255.255.255.0 Interfaccia 2 193.204.168.0 255.255.255.0 Interfaccia 2 si mostri come tale tabella potrebbe essere compressa se il router adottasse lo standard CIDR 4: Network Layer
Soluzione 4: Network Layer
Esercizio 2 su aggregazione CIDR Si consideri un router che ha la seguente tabella di instradamento già parzialmente aggregata: Indirizzo Netmask Linea 194.38.40.0 255.255.255.0 Interfaccia 1 194.38.41.0 255.255.255.0 Interfaccia 1 194.38.42.0 255.255.254.0 Interfaccia 1 194.38.44.0 255.255.252.0 Interfaccia 1 194.38.48.0 255.255.254.0 Interfaccia 1 194.38.50.0 255.255.255.0 Interfaccia 1 194.38.51.0 255.255.255.0 Interfaccia 1 si mostri come tale tabella potrebbe essere ulteriormente compressa in accordo con lo standard CIDR 4: Network Layer
Soluzione 4: Network Layer
Esercizio 3 su aggregazione CIDR Si comprima con CIDR la seguente tabella di instradamento: Indirizzo Netmask Linea 140.38.0.0 255.255.0.0 Interfaccia 1 140.39.0.0 255.255.0.0 Interfaccia 1 140.40.0.0 255.255.0.0 Interfaccia 1 140.41.0.0 255.255.0.0 Interfaccia 1 140.42.0.0 255.255.0.0 Interfaccia 1 140.43.0.0 255.255.0.0 Interfaccia 1 140.44.0.0 255.255.0.0 Interfaccia 1 140.45.0.0 255.255.0.0 Interfaccia 1 140.46.0.0 255.255.0.0 Interfaccia 2 140.47.0.0 255.255.0.0 Interfaccia 1 140.48.0.0 255.255.0.0 Interfaccia 1 4: Network Layer
Soluzione 4: Network Layer
Soluzione 4: Network Layer