GLI INDIRIZZI IP e i DNS Come probabilmente già sapete o intuite, l'indirizzo IP non è altro che un identificativo che ci permette di puntare una singola macchina (PC o altro) all'interno di una rete. L'indirizzo IPv4 è composto da quattro numeri con valori compresi tra 0 e 255. Per comprendere il perché di questo range di valori è utile sapere che l'indirizzo IPv4 come lo leggiamo noi è solo una "traduzione" di quello che legge la macchina: in realtà l'indirizzo è formato da quattro gruppi di 8 bit ciascuno, per un totale di 32 bit. Ognuno di questi gruppi può dunque assumere valori da 00000000 fino a 11111111, il che tradotto da binario a decimale è: Il protocollo IP, come detto, è alla base del funzionamento di Internet. Infatti anche quando nel vostro browser andate a inserire l'indirizzo www.google.it il vostro PC non saprebbe da quale server recuperare la pagina web desiderata se non avesse impostato i server DNS. I server DNS (Domain Name Resolver) sono dei computer il cui compito è tradurre un indirizzo internet in un indirizzo IP attraverso un database che hanno memorizzato al loro interno. Quindi quando scrivete www.google.it nella finestra del browser e premete invio il vostro computer innanzitutto fa una richiesta a questi server per avere una traduzione e (se questi server hanno nel loro database il sito) riceve in risposta un indirizzo IP, nel nostro caso 62.149.140.205. E' questo in realtà il "vero" nome della macchina a cui state chiedendo le pagine di questo sito e se nella barra degli indirizzi scriveste l'indirizzo IP anziché il nome del sito il risultato sarebbe lo stesso (notate che in questo caso non è vero in quanto il server che mi ospita è condiviso con altri siti...).
Telecom Italia 151.99.0.100, 151.99.125.2, 151.99.125.3 Fastweb 83.103.25.250, 62.101.93.101 Wind/Infostrada 193.70.152.15, 192.70.152.25 Tiscali 213.205.32.70, 213.205.36.70 Vodafone 91.80.35.134, 91.80.35.166 Ovviamente i server DNS vanno impostati inserendo direttamente i loro indirizzi IP. Ogni provider fornisce i propri server DNS, nella tabella qui sopra potete trovarne alcuni per i maggiori provider italiani. In reti di dimensioni molto grandi non è raro trovare dei server interni alla LAN dedicati a essere server DNS. La SUBNET MASK Quando andiamo ad assegnare un indirizzo IP a un computer ci vengono richiesti anche almeno altri due parametri: la subnet mask e il gateway. La subnet mask è formata da quattro gruppi da 8 bit ognuno, esattamente come lindirizzo IP, e permette di identificare quali sono le altre macchine che compongono la nostra rete locale e quali invece ne sono esterne. Si dice cioè che nell'indirizzo IP separa la parte Network (identificativo della rete) dalla parte Host (identificativo della singola macchina). Un esempio è forse il metodo più semplice per spiegare come funziona la subnet mask:
In questo caso il nostro PC ha un indirizzo IP di 192.168.1.1 e una classica subnet mask di 255.255.255.0. In termini "umani" questa dicitura è facilmente leggibile come "tutti i pc con indirizzo che inizia per 192.168.1.x fanno parte della tua stessa rete". Per il PC questo significa confrontare il proprio indirizzo con i bit della subnet, in modo che fino a dove i bit della subnet sono uguali a 1 significa che i bit di un'altra macchina devono corrispondere esattamente per far parte della stessa rete. Infatti la subnet mask deve avere tutti i bit a 1 e tutti i bit a 0 raggruppati, non può cioè avere bit 1 e 0 alternati tra loro. Dunque ogni gruppo della subnet mask può assumere solo valori che seguono le potenze di due: 255, 254, 252, 248, 240, ecc (anche se nell'ultimo ottetto un valore di 254 non ha senso). Un'altra modalità di esprimere la subnet mask è con una barra seguita dal numero di 1 che la compongono: una subnet /8 significa 255.0.0.0, una subnet /24 è la nostra classica 255.255.255.0. Per ottenere qual'è il massimo numero di PC che una rete può contenere è sufficiente sapere quanti bit a 0 contiene la nostra subnet mask: in una subnet /24 avremo otto bit a 0, che possono cioè variare nell'indirizzo IP, e otto bit consentono 256 diverse combinazioni tra loro. Una subnet /29 (255.255.255.248) ci lascia invece con tre bit che possono variare, dunque otto combinazioni. In realtà il numero di PC configurabili in una rete corrisponde al numero di combinazioni lasciate libere dalla subnet meno due. Infatti il primo valore utile della rete viene interpretato come il nome stesso di quella rete. Quindi nell'esempio del nostro PC 192.168.1.1 con subnet /24 l'indirizzo 192.168.1.0 equivale a indicare alla macchina "la rete con nome 192.168.1.0" e non potrà essere utilizzato come indirizzo di un singolo PC. Allo stesso modo l'ultimo indirizzo utile rappresenta l'indirizzo di broadcast, cioè un indirizzo a cui ci si rivolge quando si vuole inviare un pacchetto in contemporanea a tutti i PC che compongono la rete (nel nostro caso l'indirizzo di broadcast sarebbe 192.168.1.255). Fate attenzione al fatto che non sempre l'indirizzo di broadcast e il nome della rete sono quelli che finiscono per 255 o 0: in una rete 192.168.1.0 /29 avremo il nome della rete 192.168.1.0 e broadcast 192.168.1.7. La rete seguente sarà la 192.168.1.8 con broadcast 192.168.1.15 e così via per le reti
successive. In termini del PC l'identificativo della rete corrisponde ad avere la parte host dell'ip tutta a 0, mentre il broadcast è la parte host dell'ip tutta a 1. Il GATEWAY La subnet mask fa sì che il nostro PC possa comunicare direttamente solo con i PC che compongono la propria rete. Il gateway (cancello in inglese) è invece la macchina facente parte della nostra LAN che sta sul confine con il mondo esterno e ci permette di raggiungere i computer al di fuori di essa. Il gateway è normalmente, nelle piccole reti, un router o modem/router che ci collega alla rete telefonica e dunque a Internet. Quando il nostro PC deve collegarsi a un server su Internet non può farlo direttamente, in quanto il server avrà un indirizzo IP al di fuori della rete LAN. Il nostro PC dovrà dunque rivolgere la sua richiesta al gateway, il quale farà da intermediario portando a termine la richiesta lui stesso e inoltrando la risposta pervenuta al nostro PC. Gli standard prevedono tre "numerazioni" riservate alle reti locali, che non sono quindi riconosciute nel mondo Internet. 10.0.0.0 /8
172.16.0.0 /12 192.168.0.0 /16 Ognuna di queste può comunque essere spezzettata in sottoreti più piccole, effettuando quello che in gergo è chiamato subnetting. In una grossa azienda che utilizza la rete 10.0.0.0 /8 è possibile ad esempio dividere le reti tra vari reparti in modo che ognuno utilizzi una sottorete, 10.1.0.0 /16 per il laboratorio, 10.2.0.0 /16 per la gestione personale e così via. DHCP e NAT Finora abbiamo visto come sia possibile impostare per ogni macchina nella nostra rete indirizzo IP, subnet mask, gateway e DNS. Esiste però un servizio attivabile normalmente sui router che consente di assegnare automaticamente questi parametri a tutti i PC della rete che ne facciano richiesta: è il servizio DHCP. Il DHCP può essere fornito da un router o da un computer che diventano perciò "server DHCP": è importante che sulla stessa rete sia presente solamente un server DHCP e nel caso abbiamo delle macchine con indirizzo IP fisso (impostato manualmente) è bene che il range di indirizzi assegnabili dal server DHCP non comprenda questi IP fissi. Con un server DHCP in rete è possibile collegare un PC o un'altra macchina impostati per ottenere l'indirizzo IP in automatico: questo PC invierà in broadcast una richiesta sulla rete per scoprire se è presente un server DHCP e per richiedere un indirizzo. Il server verificherà quali sono gli indirizzi non ancora occupati e risponderà al PC comunicandogli oltre all'indirizzo anche i valori di subnet mask, gateway e gli indirizzi dei server DNS. Questa assegnazione ha solitamente carattere temporaneo (di default è 24 ore), dopodiché l'assegnazione andrà aggiornata oppure il server DHCP considererà libero l'indirizzo e utilizzabile per un altro PC.
Un altro importante servizio fornito dai gateway (quindi essenzialmente dai router) è il servizio NAT. Come abbiamo visto gli indirizzi delle reti LAN non sono utilizzabili in Internet; sappiamo però che un PC nella nostra rete deve necessariamente utilizzare come intermediario il gateway, che per forza di cose deve avere un'interfaccia sulla rete locale e un'interfaccia su rete WAN. Il NAT (Network Address Translation) è l'operazione che permette al gateway di fare da intermediario quando il nostro PC fa una richiesta verso un server Internet. In sostanza la richiesta inviata con mittente l'indirizzo IP del nostro PC viene presa in carico dal gateway; questi prima di inoltrarla verso il server Internet cambia l'indirizzo del mittente con il proprio indirizzo lato WAN. In tal modo il server Internet risponderà alla richiesta inviandola all'indirizzo IP del gateway, il quale la inoltrerà di nuovo verso il nostro PC completando il compito. Se il nostro contratto di collegamento a Internet prevede degli IP pubblici aggiuntivi che possono essere assegnati ai singoli PC nella nostra rete LAN, il servizio NAT in questo caso può essere disattivato. Infatti, avendo il nostro PC un indirizzo riconosciuto in Internet, potrà effettuare la richiesta
al server direttamente con il proprio indirizzo, utilizzando il router solo come punto di passaggio per uscire dalla LAN.