Subnetting
Transcript
Subnetting
Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host – l’indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano delle sottoreti, ciascuna di esse ha bisogno che le venga riservata una coppia di questi indirizzi - essi devono essere numeri validi all’interno dell’intervallo di indirizzi relativo a ciascuna sottorete. Quindi, suddividendo un rete in due sottoreti separate troveremo due indirizzi di rete e due indirizzi di broadcast - con la conseguenza di aumentare il numero degli indirizzi inutilizzabili per le interfacce (host); creando 4 sottoreti gli indirizzi che si perdono diventano otto, e così via. Il limite minimo nelle dimensioni di una sottorete consta di 4 indirizzi IP: •Due indirizzi utilizzabili per le interfacce - uno per il router della rete e uno per l' unico host. •Un indirizzo di rete. •Un indirizzo di broadcast. Perché poi si voglia realizzare una rete tanto piccola è un' altra questione! Con un singolo host tutto il traffico deve dirigersi verso un' altra rete. Inizialmente l' indirizzo IP a disposizione può essere suddiviso in 2n (n rappresenta il numero di bit a disposizione degli host nell' indirizzo, diminuito di uno) indirizzi di sottorete di uguali dimensioni (una sottorete potrà essere poi ulteriormente suddivisa). Si deve cercare di essere pragmatici durante la progettazione - è 1 opportuno stimare il numero minimo di singole sottoreti che sia consistente con i vincoli fisici, di gestione, tecnologici e di sicurezza Calcolare la maschera di sottorete e l’indirizzo di rete 1 La maschera di sottorete è il meccanismo che consente la suddivisione locale di una rete in sottoreti multiple. La maschera di rete, se non vi sono suddivisioni è semplicemente realizzata ponendo a 1 tutti i bit dello spazio di indirizzamento di rete e a 0 tutti i bit destinati alla parte host. Quindi, per le tre classi, avremo le seguenti maschere standard: Classe A (8 bit di rete) : 255.0.0.0 Classe B (16 bit di rete): 255.255.0.0 Classe C (24 bit di rete): 255.255.255.0 Il modo con cui si realizza una sottorete è chiedere in prestito uno o più bit allo spazio degli host e fare in modo che le interfacce interpretino localmente questi bit presi in prestito come parte dei bit relativi allo spazio di rete. Allora, per ottenere due sottoreti chiederemo un bit allo spazio degli host mettendo a 1 il bit appropriato nella maschera di rete. Per un indirizzo di classe C, questa sarà la maschera di rete: 11111111.11111111.11111111.10000000 o 255.255.255.128. Per la rete di classe C del nostro esempio (192.168.1.0), quelle di seguito sono alcune delle soluzioni possibili: 2 Calcolare la maschera di sottorete e l’indirizzo di rete 2 Non vi è nessuna ragione di principio che obblighi a procedere secondo questa tecnica in cui i bit della maschera di rete sono aggiunti a partire dal bit più significativo degli host procedendo verso il meno significativo. Però se non si fa così gli indirizzi che risulteranno saranno molto strani, rendendo a noi umani la vita difficile nel determinare a quale sottorete appartenga un particolare indirizzo, visto che non siamo abili a pensare in numeri binari (i computer invece trattano e tratteranno qualunque schema verrà loro sottoposto senza problemi). Quindi non è teoricamente impossibile avere una netmask del tipo: 11111111. 11111111.11111111.01000000 3 Calcolare la maschera di sottorete e l’indirizzo di rete 3 Una volta decisa la maschera di rete, si deve lavorare sugli indirizzi di rete e di broadcast - e sugli intervalli di indirizzi resisi disponibili a questo punto, per ciascuna sottorete. Ancora, considerando solo una rete di Classe C, elenchiamo soltanto la parte finale dell' indirizzo: Come si può vedere, c' è una sequenza perfettamente definita in questi numeri che li rende piuttosto facili da verificare. La parte spiacevole della realizzazione delle sottoreti è visibile nei termini di una riduzione del numero degli indirizzi disponibili4 per gli host, a mano a mano che si aumenta il numero delle sottoreti. Esempio di esercizio 1 Data la classe C 192.168.0.x (x∈[0, 255]), dividere questa rete in due sottoreti, utilizzando un’appropriata netmask. Calcolare gli indirizzi di broadcast e di rete delle due nuove sottoreti. •192.168.0.0 è l’indirizzo di rete •255.255.255.0 la netmask oppure 11111111. 11111111.11111111.00000000 •192.168.0.255 è l’indirizzo di broadcast Per dividerla in due sottoreti dobbiamo prendere in prestito uno dei bit della parte host. Essendo una classe C, la parte di rete è composta dai primi 3 byte, mentre quella host dal quarto. Dato che le sottoreti devono essere due è sufficiente prendere un bit alla parte host. Quindi la netmask è 11111111. 11111111.11111111.10000000 che nella notazione decimale diventa 255.255.255.128 . Per trovare le rispettive sottoreti è sufficiente sostituire nell’indirizzo di classe C i bit della parte subnet in tutte le loro possibili combinazioni e metterle in and bit a bit con la netmask. In questo caso le reti sono due. 5 Esempio di esercizio 2 192.168.0.1[7 bit qualunque] 192.168.0.0[7 bit qualunque] Dove l’ultimo byte è espresso in bit. 192.168.0.1[7 bit qualunque] and bit a bit 255.255.255.128 = 192.168.0.128 (192.168.0.10000000) Indirizzo della prima Sottorete 192.168.0.0[7 bit qualunque] and bit a bit 255.255.255.128 = 192.168.0.0 (192.168.0.00000000) Indirizzo della seconda Sottorete 6 Esempio di esercizio 2 Il secondo quesito potrebbe essere il medesimo, quali sono gli indirizzi di broadcast? E quanti host sono presenti in ciascuna rete? Gli indirizzi di bradcast sono quelli che mantenendo fissa la parte di rete e sottorete pongono i bit della parte host tutti ad uno. Quindi: 192.168.0.10000000 192.168.0.11111111 (192.168.0.255) 192.168.0.00000000 192.168.0.01111111 (192.168.0.127) 7 Esempio di esercizio 2 Il numero possibile di host per ciascuna sottorete é data dalla parte host -2 (l’indirizzo di rete e l’indirizzo di broadcast). Cioè 2n - 2 dove n è il numero di bit per la parte host. Quindi 27 – 2 = 126 Se invece si vuole calcolare il numero di host persi durante il subnetting si moltiplica 2 * k dove k sono il numero delle sottoreti. 2*2=4 8 ATTENZIONE: Esempio Critico Facciamo l’ipotesi che si voglia suddividere l’indirizzo di classe C 192.168.1.0 in 4 sottoreti (ognuna dele quali disponga di 62 indirizzi liberi per le interfacce). Poi due di queste sottoreti si vuole che siano riaccorpate a costituire un’unica rete più grande, ottenendo così fisicamente tre reti. Si avrà: Nota: la ragione per la quale l' ultima rete ha soltanto 124 indirizzi utili (invece di 126 come ci si sarebbe aspettati) sta nel fatto che essa è una “super rete” composta di due sottoreti. Gli host delle altre due reti interpreteranno 192.168.1.192 come indirizzo di rete della sottorete “non esistente”. E 192.168.1.191 come indirizzo di broadcast della sottorete “non esistente”. Quindi, se si utilizzasse 192.168.1.191 o 192 come indirizzi di host sulla terza rete, le macchine delle sottoreti più piccole non sarebbero in grado di comunicare con queste. Ciò mette in evidenza un aspetto importante della questione: gli indirizzi utilizzabili sono determinati dalla sottorete più piccola in un determinato spazio di indirizzamento. 9 Tabelle di Routing Si assuma che un computer con un sistema Linux agisca come router per questa sottorete. Esso avrà tre interfacce di rete per le LAN e, con ogni probabilità una quarta interfaccia verso Internet (che rappresenterà il suo instradamento predefinito - default route). Facciamo l' ipotesi che la macchina Linux utilizzi il più basso degli indirizzi IP disponibili in ciascuna sottorete per ognuna delle proprie interfacce. La configurazione di rete sarà del tipo seguente: Su ciascuna sottorete, gli host dovrebbero essere configurati con il proprio indirizzo IP e la maschera relativa alla rete cui appartengono. In ciascun host verrà dichiarato come suo gateway/router il PC Linux con l’indirizzo che esso ha nella 10 sottorete in cui si trova l' host stesso. Esercizi Vari 1) Data una LAN con un solo router e data la classe C 192.168.0.x (x ∈ [0, 255]), si vuole partizionare la LAN in sottoreti per avere un numero massimo di host per sottorete pari a 62, utilizzando un’appropriata netmask. a) Calcolare il numero massimo di sottoreti possibili. b) Calcolare gli indirizzi di broadcast e di rete di tutte le nuove sottoreti. Inoltre mostrare gli indirizzi in forma binaria. a) 4 b) si riportano l’ultimo byte degli indirizzi di broadcast e di rete in binario (in decimale) netmask 255.255.255.11000000 / 255.255.255.192 00 è N= .00000000 (.0) B= .00111111 (.63) 01 è N= .01000000 (.64) B= .01111111 (.127) 10 è N= .10000000 (.128) B= .10111111 (.191) 11 è N= .11000000 (.192) B= .11111111 (.255) 11 2) Sono dati tre host A, B e C, rispettivamente di indirizzi IP: IP-A = 130.136.140.18, IP-B = 130.136.180.36, IP-C = 130.136.1.34. a) Supponendo che i tre host abbiano netmask 255.255.128.196, B appartiene alla stessa sottorete di A? e C appartiene alla stessa sottorete di A? b) Quale netmask dovrebbero avere i tre host affinchè A e C appartengano alla stessa sottorete, mentre B non appartiene a quella sottorete? a)NetMask = 255.255.128.196 = - . - . 10000000. 11000100 Net(B)=Net(A) ? IP-A = - . - . 10001100. 00010010 NM = - . - . 10000000. 11000100 Net(A) = - . - . 10000000. 00000000 IP-B = - . - . 10110100. 00100100 NM = - . - . 10000000. 11000100 Net(B) = - . - . 10000000. 00000100 è Net(B) non è uguale a Net(A) è Net(B) Net(A) Net(C)=Net(A) ? IP-C = - . - . 00000001. 00100010 NM = - . - . 10000000. 11000100 Net(C) = - . - . 00000000. 00000000 è Net(C) non è uguale a Net(A) è Net(C) Net(A) b) utilizzare il programma netmask.c ( ./nome-eseguibile terzo12 byte quarto-byte) 3) Date le due sottoreti 137.204.72.0 e 137.204.74.0 con netmask 255.255.255.0 della classe B 137.204.0.0, trovare la netmask che permette di utilizzare le due sottoreti come se fossero un’unica sottorete: a) la netmask deve essere scritta sia in binario sia in decimale. b) scrivere il nuovo indirizzo di rete della sottorete (sia in binario sia in decimale). 137.204.72.0 è -.-.01001000.00000000 137.204.74.0 è -.-.01001010.00000000 l’unico bit diverso è il secondo del secondo byte (a partire da destra) è nella netmask deve essere ammessa questa possibilità per cui a) 11111111.11111111.11111101.00000000 255.255.253.0 b) dato un indirizzo qualunque della sottorete mettendolo in and bit a bit con la netmask, si trova l’indirizzo della rete 137.204.74.2 & 255.255.253.0 137.204.01001010.00000010 & 255.255.11111101.00000000 137.204.01001000.00000000 è 137.204.72.0 13 4) Data la netmask 255.255.253.0, a) trovare quanti e b) quali sono i valori (i range)degli indirizzi che appartengono alla stessa sottorete dell’indirizzo 137.204.72.3. Inoltre trovare c) l’indirizzo di broadcast e di rete della sottorete individuata. la parte host è composta da 9 bit a zero 72.3 253.0 01001000.00000011 & 11111101.00000000 010010[0,1]0.00000011 con X ∈ [0,255] cioè a) 29= 512 b)137.204.72.0 <= indirizzo <= 137.204.72.255 137.204.74.0 <= indirizzo <= 137.204.74.255 c) 01001010.11111111 = 137.204.74.255 01001000.00000000 = 137.204.72.0 14 5) Data la netmask 255.255.252.0, a) trovare quanti e b) quali sono i valori della X per cui gli indirizzi di tipo 137.204.X.0 (dove X∈[0,255]) appartengono alla stessa sottorete dell’indirizzo 137.204.72.3. Inoltre trovare c) l’indirizzo di broadcast e di rete della sottorete individuata. a) 4 b) si riportano l’ultimo byte degli indirizzi di broadcast e di rete in binario (in decimale) netmask 255.255.11111100.00000000 137.204.01001000.00000000 tutti gli indirizzi messi in and bit a bit con la netmask devono appartenere alla stessa sottorete. c) 00 01 10 11 137.204.01001000.0 137.204.01001001.0 137.204.01001010.0 137.204.01001011.0 X= 72 X= 73 X= 74 X= 75 255.255.252.0 ∧ 137.204.X.Y 137.204.72.0 indirizzo di rete dove X è uno qualsiasi dei valori sopra ed Y ∈[0,255] dato l’indirizzo di rete mettere a uno tutti i bit della parte host 137.204.01001000.0 137.204.01001011.11111111 137.204.75.255 indirizzo di broadcast 14 FINE Per ulteriori informazioni consultare il mini-HOWTO di linux: IP Sub-Networking Mini-Howto Potete trovarne una copia sulla pagina web: http://www.cs.unibo.it/~scacciag/ sezione: TEACHING sottosezione: LINUX DOCUMENTATION 16
Documenti analoghi
IP e subnetting - Sito Stek Andaloro
(percorso) che collega la rete ad Internet c’è un dispositivo che
fa il NAT (Network Address Translation), tipicamente il firewall o
il router, che espone la rete verso Internet con un unico
indiri...