Internetworking – Subnet e Supernet Corso di Reti di Calcolatori AA 2002/2003
Sommario Introduzione Sottoreti Super- reti Masking Routing con sottoreti Super- reti Classless addressing Strutture dati
Limiti Indirizzamento IP Indirizzo 32 bit: prefisso + suffisso A ogni rete fisica è corrisponde ind. IP rete unico Ogni host di una rete ha il prefisso IP di rete della rete fisica a cui appartiene Crescita esponenziale reti Overhead nella gestione degli indirizzi Dimensioni tabelle routing Esaurimento indirizzi (classe B)
Possibili Soluzioni Evitare di assegnare nuovi indirizzi di rete, se possibile Utilizzare stesso prefisso IP per più reti fisiche
Possibili Soluzioni Invece di classe B, utilizzo classe C Conseguenze Procedure Routing devono essere modificate Tutte macchine connesse alla rete modificata devono aderire alle convenzioni
Sottoreti Caso di utilizzo dello stesso prefisso ip per più reti Prefisso di rete ip resta lo stesso Suddivido host-ids in 2 parti Sottorete Host sottorete
Assegnazione Sottoreti Host id Network id Subnet adr Host adr L’indirizzo di classe B 156.111 può essere suddiviso nel seguente modo: Considero i primi 8 bit dell’host id per identificare una sottorete Ottengo 254 sottoreti (0 e 255 sono riservati): 156.111.1.0 156.111.254.0 Ciascuna sottorete può indirizzare 254 host con i rimanenti 8 bit dell’host id
Sottoreti Esempio con indirizzo di classe B 156.111.0.0 8 bit = id di sottorete 2^8 = 256 spazio ind. - 2 indirizzi ris = 254 subnet Es: 156.111.1.X – 156.111.254.X 8 bit = per id host sottoreti Maschera: subnet_mask = 255.255.255.0 1111 1111 1111 1111 1111 1111 0000 0000 Regola: i bit corrispondenti alla parte di rete e sottorete sono settati a 1 AND tra indirizzo IP e mask restituisce indirizzo IP di rete
Maschere di sottorete 128 64 32 16 8 4 2 1 192 224 240 248 252 254 255 Nel creare maschere di sottorete è opportuno utilizzare bit contigui
Esempi di maschere di sottorete di indirizzi di classe B 255.255.0.0 (0000 0000 0000 0000) 0 sottoreti con 65534 host 255.255.192.0 (1100 0000 0000 0000) 2 sottoreti con 16382 host 255.255.252.0 (1111 1100 0000 0000) 62 sottoreti con 1022 host 255.255.255.252 (1111 1111 1111 1100) 16382 sottoreti con 2 host
Esempi di maschere di sottorete di indirizzi di classe C 255.255.255.0 (0000 0000) 0 sottoreti con 254 host 255.255.255.192 (1100 0000) 2 sottoreti con 62 host 255.255.255.224 (1110 0000) 6 sottoreti con 30 host 255.255.255.240 (1111 0000) 14 sottoreti con 14 host
Come interpretare indirizzi di subnet Indirizzo IP I = 130.122.34.3 Maschera di sottorete M=255.255.255.192 I & M = 130.122.34.0 = N indirizzo della rete Ultimi 8 bit: 3 = 0000 0011, 192 = 1100 0000; Dopo l’and gli ultimi 8 bit sono: 0000 0000 I corrisponde a host 3 nella rete 130.122.34.0 Not M = 0.0.0.63 = NM (ultimi 8 bit: 0011 1111) I & NM = 0000 0011 = 3
Come interpretare indirizzi di subnet Indirizzo IP I = 130.122.34.132 Maschera di sottorete M=255.255.255.192 I & M = 130.122.34.128 indirizzo della rete 132 = 1000 0100, 192 = 1100 0000 Dopo l’and gli ultimi 8 bit sono: 1000 0000 = 128 I corrisponde a host 4 nella rete 130.122.34.128 Not M = 0.0.0.63 = NM (ultimi 8 bit: 0011 1111) I & NM = 0000 0100 = 4
Vantaggi Sottoreti Aumenta il controllo sullo spazio indirizzabile E’ più facile allocare lo spazio degli indirizzi Migliori prestazioni rete Nascondono ai router remoti la presenza di più reti locali
Esempio vantaggi con Sottoreti 156.111.1.1 156.111.1.2 156.111.254.254 156.111.0.0 Rete di classe B... Più di 60000 host possono comunicare direttamente Come gestirli? E quali performance ottengo? 156.111.1.1 156.111.1.2 156.111.2.1 Meglio utilizzare le sottoreti 156.111.4.1 156.111.4.2 R 156.111.3.1
Funzionamento Router con sottoreti Routing gerarchico Router remoti Utilizzano network prefix Local site Utilizza maschera di sottorete
Routing con Sottoreti Estrai IP address Id dal datagram Se prefisso di Id coincide con una rete direttamente connessa Invia datagram a dest. Altrimenti Per ogni entry nella tabella Calcola N = Id & mask Se N è presente allora Invia a next-hop specificato Se no-match allora errore di routing
Esempio Datagramma in arrivo indirizzato a 192.4.10.3 dest maschera salto 30.0.0.0 255.0.0.0 40.0.0.7 Consegna diretta 40.0.0.0 255.0.0.0 Consegna diretta 128.1.0.0 255.255.0.0 128.1.0.9 192.4.10.0 255.255.255.0 Datagramma in arrivo indirizzato a 192.4.10.3 Foreach i maski&192.4.10.3 192.0.0.0 30.0.0.0 192.0.0.0 40.0.0.0 192.4.0.0 128.1.0.0 192.4.10.0 192.4.10.0 passo a 128.1.0.9
Supernet Indirizzamento senza classi Complementare rispetto subnet Indirizzo assegnato a una organizzazione copre + prefissi di classe Motivazioni Classe B si sta esaurendo Classe C + numerosa
Supernet Considero azienda di medie dimensioni Alternativa I 255 host di una classe C sono troppo pochi Preferisce classe B con subnetting Alternativa Assegno n classi C contigue Se n = 256 simulo indirizzo classe B
Routing nelle Supernet 256 ind. classe C vs 1 ind. classe B Esplosione tabelle routing Classless Inter-Domain Routing (CIDR) Collassa l’informazione in unico blocco (network address, count) ... (192.5.48.0, 3) 192.5.48.0 - 192.5.49.0 - 192.5.49.0 Tabelle contengono info solo su ISP
CIDR Utilizzo maschera Impongo blocchi di dim. potenza di 2 Richiede di specificare 2 valori Indirizzo più basso del blocco Maschera a 32 bit Indirizzo/ #bit1 nella maschera 128.211.168.0/21
Strutture dati e algoritmi per classless lookup Velocità è essenziale Individuare next-hop Modificare tabella Indirizzo CIDR non è self-identifying Classfull address Hashing
Strutture dati e algoritmi per classless lookup RICERCA PER LUNGHEZZA DI MASCHERA Parto da 32 bit settati a 1 e decremento Scelgo il massimo prefisso che trova riscontro nella tabella Inefficiente Worst case 32 iterazioni (caso default)
Strutture dati e algoritmi per classless lookup BINARY TRIE Utilizzo struttura gerarchica Valore dei bit successivi stabilisce percorso da seguire E’ necessario calcolare un insieme di prefissi unici per costruire l’albero Effettuo ricerca nella struttura Mi fermo su una foglia o se non proseguo
Esempio di Binary trie 1 1 1 1 1 1 1 1 Percorso per 10111 Prefissi inseriti 001 0100 0101 011 1010 10110 10111 1 1 1 1 1 1 1 1 Percorso per 10111
Strutture dati e algoritmi per classless lookup BINARY TRIE - continua Ciascuna foglia contiene Indirizzo a 32 bit A Maschera che copre la porzione di rete M D & M = A ? Se no, scarico il datagramma In realtà trovo candidati potenziali
Strutture dati e algoritmi per classless lookup BINARY TRIE - continua Unicità prefissi? Estendo la struttura Ogni nodo interno contiene ind e mask Scelgo il percorso + lungo (+ specifico)
Strutture dati e algoritmi per classless lookup BINARY TRIE - continua Ottimizzazioni Patricia tree Info aggiuntiva in ogni nodo Salto lunghi prefissi comuni Level Compressed trie Elimina livelli dell’albero che possono essere saltati