Internetworking – Subnet e
Supernet
Corso di Reti di Calcolatori
AA 2002/2003
Sommario
• Introduzione
• Sottoreti
• 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
1
0
0
0
0
0
0
0
128
1
1
0
0
0
0
0
0
192
1
1
1
0
0
0
0
0
224
è opportuno
1
1
1
1
0
0
0
0
240
utilizzare bit contigui
1
1
1
1
1
0
0
0
248
1
1
1
1
1
1
0
0
252
1
1
1
1
1
1
1
0
254
1
1
1
1
1
1
1
1
255
Nel creare maschere
di sottorete
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
dest
maschera
30.0.0.0
40.0.0.0
128.1.0.0
192.4.10.0
255.0.0.0
255.0.0.0
255.255.0.0
255.255.255.0
salto
40.0.0.7
Consegna diretta
Consegna diretta
128.1.0.9
• Datagramma in arrivo indirizzato a 192.4.10.3
• Foreach i maski&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
• 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
Prefissi inseriti
001
1
0
0100
0
0101
0
1
011
1010
1
1
1
0
10110
10111
Percorso per 10111
1
0
0
1
0
1
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
Scarica

sottoreti