Pianificazione di reti IP (subnetting) Avendo una rete complessa possiamo dividerla in sottoreti logiche, collegandole con dei router. Questa operazione di segmentazione prende il nome di subnetting, ed è realizzata sacrificando alcun bit che le classi A, B, C dedicano agli host, utilizzandoli per definire un indirizzo di sottorete. ID NET ID HOST ID NET ID SUBNET ID HOST In fase di progettazione è necessario definire quanti bit assegnare al campo Id Subnet. Oltre a questo è necessario definire una ulteriore stringa di 32 bit detta subnet mask che di default ha questi valori: classe A 255.0.0.0 11111111.00000000.00000000.00000000 255.0.0.0/8 classe B 255.255.0.0 11111111.11111111.00000000.00000000 255.255.0.0/16 classe C 255.255.255.0 11111111.11111111.11111111.00000000 255.255.255/24 Con questa tabella possiamo subito capire di quale sottorete abbiamo a che fare, per esempio: 255.128.0.0/9 È una sottorete di classe A 255.255.224.0/19 È una sottorete di classe B 255.255.255.192/26 È una sottorete di classe C Si noti che la subnet mask ha tutti ad 1 i bit dedicati alla rete. Oltre a ciò è necessario mettere ad uno anche i bit del campo host che sono stati dedicati alla sottorete. Per esempio: servono 4 sottoreti in classe C. Per fare questo ho a disposizione solo gli 8 bit del campo host. Quindi il numero di bit necessari sono = =3 bit, (2 sarebbero sufficienti ) ne restano cinque per il campo host, quindi 128 64 32 16 8 4 2 1 pesi 1 1 1 0 0 0 0 0 224 Campo id-subnet per avere le sottoreti classe ID NET IDSUBNET HOST classe C 255.255.255 224 11100000 XXXXX SUBNET MASK classe C 255.255.255.224 11111111.111111111.11111111.11100000 Il subnetting e le subnet mask hanno lo scopo di ottimizzare il traffico evitando che pacchetti inviati da un host all altro, residenti nella stessa rete, escano dalla rete e rientrino nella stessa per giungere a destinazione. Per far ciò bisogna eseguire l ANDing process, una operazione And Bitwise con un confronto. Al router arriva un pacchetto che contiene IPmittente e IPdestinatario, ma anche la porta del ruoter ha un indirizzo IP con la Subnet Mask relativa alla rete alla quale la sua porta è collegata. Esegue
due operazioni And tra subnet mask e IPmittente, e con l IPdestinatario, confronta i risultati, se sono uguali il destinatario appartiene alla stessa subnet (comunicazione diretta), se sono diversi ovviamente non sono nella stessa subnet e quindi il router provvederà ad inoltrarlo. La subnet mask ha il compito di estrarre l indirizzo di rete. Esempio:subnetmask del router 255.255.255.224 gli arriva un pacchetto avente come: mittente 11111100.11111111.11111111.11110000 destinatario 11111100.11111111.11111111.11100011 Come si può osservare mittente e destinatario appartengono alla stessa rete (colore verde) e alla stessa sottorete (colore rosso), comunicazione diretta. Questa osservazione è possibile visualmente cosa che un dispositivo digitale non può fare, ma un programma si. Quindi faccio prima la And bitwise e poi il confronto dei due risultati ottenuti ed in base ad esso il router decide cosa fare. Altro esempio: mittente Destinatario 11111100111111111111111111100111 11111100111111111111111111100111 And And 11111111111111111111111111100000 11111111111111111111111111100000 = = 11111100111111111111111111100000 11111100111111111111111111100000 Dal confronto si vede che mittente e destinatario appartengono alla stessa rete e alla stessa subnet 111111001111111111111111 ID-NET 111 id subnet Destinatario 11111100111111111111111111000111 Stessa rete ma subnet diverse Destinatario 11111100111001111111111111000111 Id net diverso, appartengono a reti diverse Esercizio: si vuole pianificare l indirizzamento di una rete progettata per essere suddivisa in almeno 25 sottoreti, aventi ciascuna almeno 80 host. Indipendentemente da quale indirizzo pubblico è stato acquistato, si opta per un indirizzo di classe B. Primi bit 6+8=14 bit per id-net 16-2=14 bit per id-host fissi 10 10000000.00000000.00000000.00000000 00000000.00000000 128. 0.0.0 10111111.11111111.11111111.11111111 11111111.11111111 191.255.255.255 0.0 questo host e 255.255
broadcast La RFC 1918 definisce per la classe IP B i seguenti indirizzi privati Da 172.16.0.0. a 172.31.255.255 Definisco la mia rete privata con questo indirizzo di rete: 172.20.0.0. Pertanto si ha: Indirizzo di rete 172.20.0.0 Indirizzo di broadcast per la rete 172.20.255.255 Subnetmask di default 255.255.0.0 Per le 25 subnet utilizziamo una parte dei 14 bit del campo Id-Host. (14 e non 16, perché due sono riservati: 0.0 e 255.255). Dalla formula si ricavano i bit necessari: bit 2 5-2=30 possibili combinazioni diverse,quindi con 5 bit abbiamo 30 sottoreti, a noi ne servono 25, pertanto siamo a posto. (-2 perché 2 indirizzi sono riservati) Sono necessari i 5 bit più significativi del campo id-host, messi tutti a 1. La maschera di sottorete 11111000.00000000 248.255 La sub net mask 255.255.248.255 Per gli host restano 8+3=11 bit per 2 11-2=2046 indirizzi di host per ogni subnet. Per effettuare il piano degli indirizzamenti bisogna completare la seguente tabella: n.sottoreti Id-rete Id-sottorete Range indirizzo host Indirizzo broadcast 4 ottetto 1 172.20. 000001 000 8 172.20.8.1 172.20.15.254 172.20.15.255 2 172.20 000010 000 16 172.20.16.1 172.20.23.254 172.20.23.255 24 172.20 000011 000 24 172.20.24.1 172.20.31.254 25 172.20 32 172.20.32.1 172.20.39.254
Nelle sottoreti non isolate almeno un indirizzo deve essere assegnato al Default Gateway che è il dispositivo (router) verso cui istradare il traffico diretto al di fuori della sottorete, generalmente gli viene assegnato l indirizzo precedente a quello di broadcast. n.sottoreti indirizzo default GATEWAY 1 172.20.15.254 2 172.20.23.254 24 172.20.31.254 25 172.20.39.254 n. Indirizzo subnet( 3 ottetto) Indirizzo subnet completo Range indirizzi host Indirizzo di broadcast (4 ottetto) Indirizzo GATEWAY 1 0 0 0 0 1 000 8 172.16.8.0 172.16.8.1---172.16.15.254 172.16.15.255 172.16.15.254 2 0 0 0 1 0 000 16 172.16.16.0 172.16.16.1 172.216.23.254 172.16.23.255 172.216.23.254 3 0 0 0 1 1 000 24 172.16.24.0 172.16.24.1---172.16.31.254 172.16.31.255 172.16.31.254 4 0 0 1 0 0 000 32 172.16.32.0 5 0 0 1 0 1 000 40 172.16.40.0 6 0 0 1 1 0 000 48 172.16.48.0 7 0 0 1 1 1 000 56 172.16.56.0 8 0 1 0 0 0 000 64 172.16.64.0 9 0 1 0 0 1 000 72 172.16.72.0 10 0 1 0 1 0 000 80 172.16.80.0 11 0 1 0 1 1 000 88 172.16.88.0 12 0 1 1 0 0 000 96 172.16. 13 0 1 1 0 1 000 104 172.16. 14 0 1 1 1 0 000 112 172.16. 15 0 1 1 1 1 000 120 172.16. 16 1 0 0 0 0 000 128 172.16. 17 1 0 0 0 1 000 136 172.16. 18 1 0 0 1 0 000 144 172.16. 19 1 0 0 1 1 000 152 172.16. 20 1 0 1 0 0 000 160 172.16. L assegnazione degli indirizzi prende il nome di piano di indirizzamento e viene fatto dall amministratore di rete. Gli host che appartengono alla stessa sottorete comunicano direttamente (direct delivery cioè consegna diretta) mentre per poter comunicare con altre sottoreti oppure LAN è necessario utilizzare un gateway (indirect delivery) al quale viene assegnato l inririzzo immediatamente precedente a quello di broadcast. Può capitare che un numero decimale nasconda una parte di subnet e una parte di host.. Scegliere le maschere di sottorete è un arte che oggi è superflua con la diffusione del protocollo DHCP (dinamic host configuration protocol) che permette di assegnare dinamicamente la configurazione necessaria ai dispositivi di una rete. Una rete deve essere facilmente scalabile, aumentare o diminuire di scala, in funzione delle necessità e disponibilità, e per ciò non basta dislocare hub, switch, ruoter in modo opportuna ma bisogna pianificare gli indirizzi IP, e quindi le subnet mask. Salvo esigenze particolari la sub net mask è la stessa per tutte le subnet della rete. Se si vuole progettare subnet con
un numero massimo di host diverso, per evitare sprechi di indirizzo, si possono utilizzare subnet mask distinte a lunghezza variabile (VLSM) La VLSM (variable lenght subnet mask) consente di progettare subnet a loro volta suddivise in ulteriori subnet, ma questa tecnica è stata soppiantata dalla CIDR (classes inter domain routing). Reti IP private RFC 1918 La IANA ha riservato 3 blocchi di indirizzi IP a reti private, che non sono connesse a internet. Quando un datagramma raggiunge un router presente nella rete, non viene instradato fuori dalla rete e quindi non viene inoltrato ad altri router. Gli host con indirizzi privati non sono raggiungibili, tranne da quelli che appartengono alla stessa rete privata. Per ogni classe si hanno 3 blocchi: classe A Da 10.0.0.0 A 10.255.255.255 Classe B Da 172.16.0.0 A 172.31.255.255 16 reti contigue Classe C Da 192.168.0.0 A 192.168.255.255 255 reti di classe C contigue. Usabile come se fosse di classe B avendo gli ultimi due ottetti a 0 Gli host con indirizzi privati si possono connettere a internet mediante un server proxy o mediente un ruoter NAT (network address translation). Si ricorre ad un indirizzo privato perché gli ohst non possono essere raggiunti da un possibile attacco esterno (maggiore sicurezza) e poi consentono di scegliere liberamente la tecnica di attribuzione degli accessi
Esempio. Una azienda ha tre sedi, ciascuna dotata di una Lan interna, lan1 con 50 host, lan 2 con 30 host, lan 3 con 20 host. Sono connesse tra loro con 3 switch connessi a maglia completa, si chiede di progettare una rete in classe C a cui viene assegnato l indirizzo 192.100.96.0 Per formare le sottoreti è necessario utilizzare 2 bit degli otto riservati agli host della classe C. Abbiamo quindi la seguente subnetmask: 255.255.255.11000000 cioè 255.255.255.192. Per gli host restano 6 bit per un totale di 2 6 =64 host 3 riservati, del tutto sufficienti perché al massimo sono richiesti 50 host per la Lan1. Per le 4 sottoreti si hanno i seguenti indirizzi: IDnet+subnet subnet broadcast Broadcast gatway completo Lan1 192.100.96.0/26 00000000 00111111=63 192.100.96.63/26 192.100.96.62/26 Lan2 192.100.96.64/26 01000000 01111111=127 192.100.96.127/26 192.100.96.126/26 Lan3 192.100.96.128/26 10000000 10111111=191 192.100.96.191/26 192.100.96.190/26 Lan4 192.100.96.192/26 11000000 11111111=255 192.100.96.255/26 SONO GLI SWITCH da a Lan1 192.100.96.1/26 192.100.96.61/26 Lan2 192.100.96.65/26 192.100.96.125/26 Lan3 192.100.96.129/26 192.100.96.189/26 Lan4 192.100.96.193/26 192.100.96.254/26