Alla scoperta dell’indirizzo IP

Gli indirizzi IP versione 4, cioè quelli attualmente ancora in uso, sono composti da una sequenza di 32 bit convenzionalmente suddivisi in quattro gruppetti di 8 bit e rappresentati in modo decimale separati da un punto. Questo tipo di rappresentazione è definito come: “notazione decimale puntata”.

Per esempio:

00000001.00000010.00000011.00000100

corrisponde al codice seguente.

1.2.3.4

Indirizzo di rete e indirizzo dell’host

All’interno di un indirizzo IP si distinguono due parti: l’indirizzo di rete e l’indirizzo del computer host particolare. Il meccanismo è simile a quello del numero telefonico, in cui la prima parte del numero, il prefisso, definisce la zona, ovvero il distretto telefonico, mentre il resto identifica l’apparecchio telefonico specifico di quella zona. In pratica, quando viene richiesto un indirizzo IP, si ottiene un indirizzo di rete in funzione della quantità di computer host che si devono connettere. In questo indirizzo, una certa quantità di bit nella parte finale sono azzerati, e questo significa che quella parte finale può essere utilizzata per gli indirizzi specifici dei computer host. Per esempio, l’indirizzo di rete potrebbe essere:

00000001.00000010.00000011.00000000

e in tal caso, si potrebbero utilizzare gli ultimi 8 bit per gli indirizzi dei vari computer host.

Indirizzo di rete e indirizzo broadcast

L’indirizzo di rete, non può identificare un host, quindi nell’esempio, l’indirizzo

00000001.00000010.00000011.00000000

non può essere usato per identificare anche un computer host. Inoltre, un indirizzo in cui i bit finali lasciati per identificare gli host siano tutti ad uno,

00000001.00000010.00000011.11111111

identifica un indirizzo broadcast, cioè un indirizzo per la trasmissione a tutti gli host di quella rete. Di conseguenza, un indirizzo broadcast non può essere utilizzato per identificare un computer host.

Sottoreti

Naturalmente, i bit che seguono l’indirizzo di rete possono anche essere utilizzati per suddividere la rete in sottoreti. Nel caso di prima, si potrebbero per esempio voler creare due sottoreti utilizzando i primi due bit che seguono l’indirizzo di rete originario:

xxxxxxxx.xxxxxxxx.xxxxxxxx.00000000

Indirizzo di rete.

xxxxxxxx.xxxxxxxx.xxxxxxxx.01000000

Indirizzo della prima sottorete.

xxxxxxxx.xxxxxxxx.xxxxxxxx.10000000

Indirizzo della seconda sottorete.

xxxxxxxx.xxxxxxxx.xxxxxxxx.11111111

Indirizzo broadcast.

In questo esempio, per ogni sottorete, resterebbero 6 bit a disposizione per identificare i computer host: da 000001 a 111110.

Maschera di rete o netmask

Il meccanismo utilizzato per distinguere la parte dell’indirizzo che identifica la rete è quello della maschera di rete o netmask. La maschera di rete è un indirizzo che viene abbinato all’indirizzo da analizzare con l’operatore booleano “AND”, per filtrare la parte di bit che interessano. Una maschera di rete che consenta di classificare i primi 24 bit come indirizzo di rete sarà:

11111111.11111111.11111111.00000000

Cosa che coincide al ben più noto codice seguente.

255.255.255.0

Utilizzando l’esempio visto in precedenza, abbinando questa maschera di rete si ottiene l’indirizzo di rete:

00000001.00000010.00000011.00000100 host (1.2.3.4)

11111111.11111111.11111111.00000000 netmask (255.255.255.0)

00000001.00000010.00000011.00000000 indirizzo di rete (1.2.3.0).

Classi di indirizzi

Gli indirizzi IP sono stati classificati in cinque gruppi, a partire dalla lettera A fino alla lettera F.

Classe A

Gli indirizzi di classe A hanno il primo bit a zero, utilizzano i sette bit successivi per identificare l’indirizzo di rete e lasciano i restanti 24 bit per identificare gli host.

0rrrrrrr.hhhhhhhh.hhhhhhhh.hhhhhhhh

All’interno di questa classe si possono usare indirizzi che vanno da:

00000001.xxxxxxxx.xxxxxxxx.xxxxxxxx

a

01111110.xxxxxxxx.xxxxxxxx.xxxxxxxx.

In pratica, appartengono a questa classe gli indirizzi compresi tra 1.xxx.xxx.xxx e 126.xxx.xxx.xxx.

Classe B

Gli indirizzi di classe B hanno il primo bit a uno ed il secondo a zero, utilizzano i 14 bit successivi per identificare l’indirizzo di rete e lasciano i restanti 16 bit per identificare gli host.

10rrrrrr.rrrrrrrr.hhhhhhhh.hhhhhhhh

All’interno di questa classe si possono usare indirizzi che vanno da:

10000000.00000001.xxxxxxxx.xxxxxxxx

a

01111111.11111110.xxxxxxxx.xxxxxxxx.

In pratica, appartengono a questa classe gli indirizzi compresi tra 128.1.xxx.xxx e 191.254.xxx.xxx.

Classe C

Gli indirizzi di classe C hanno i primi due bit a uno ed il terzo a zero, utilizzano i 21 bit successivi per identificare l’indirizzo di rete e lasciano i restanti 8 bit per identificare gli host.

110rrrrr.rrrrrrrr.rrrrrrrr.hhhhhhhh

All’interno di questa classe si possono usare indirizzi che vanno da:

11000000.00000000.00000000.xxxxxxxx

a

11011111.11111111.11111110.xxxxxxxx.

In pratica, appartengono a questa classe gli indirizzi compresi tra 192.0.1.xxx e 223.255.254.xxx.

Classe D

Gli indirizzi di classe D hanno i primi tre bit a uno ed il quarto a zero. Si tratta di una classe destinata ad usi speciali.

1110____.________.________.________

Classe E

Gli indirizzi di classe E hanno i primi quattro bit a uno ed il quinto a zero. Si tratta di una classe destinata ad usi speciali.

11110___.________.________.________

Indirizzi broadcast in generale

Un indirizzo broadcast si distingue per avere la parte finale (più o meno lunga) di bit a uno.

Un indirizzo broadcast identifica tutte le reti, sottoreti e host di quel segmento.

Per esempio, l’indirizzo:

00000001.00000010.11111111.11111111

rappresenta simultaneamente tutti gli indirizzi che iniziano con 00000001.00000010.

Indirizzo relativo alla rete locale

L’indirizzo che si ottiene abbinando l’indirizzo di un host e la sua maschera di rete invertita con l’operatore “AND” è l’indirizzo dell’host relativo alla propria rete. Esempio:

00000001.00000010.00000011.00000100 Host (1.2.3.4)

00000000.00000000.00000000.11111111 netmask invertita (0.0.0.255)

00000000.00000000.00000000.00000100 indirizzo relativo (0.0.0.4).

Indirizzo di loopback – 127.0.0.1

Dalla classe A è stato escluso l’indirizzo 127.0.0.1 per destinarlo al così detto loopback. All’interno di ogni computer, questo indirizzo corrisponde a se stesso. Serve per non disturbare la rete quando un programma (che usa la rete) deve fare riferimento allo stesso computer locale.

Indirizzi riservati per le reti private

Se non si ha la necessità di rendere accessibili i computer della propria rete locale alla rete globale Internet, si possono utilizzare alcuni gruppi di indirizzi che sono stati riservati a questo scopo e che non corrispondono a nessun host raggiungibile attraverso Internet.

Nella classe A è stato riservato l’intervallo da

00001010.00000000.00000000.00000000 = 10.0.0.0

a

00001010.11111111.11111111.11111111 = 10.255.255.255.

Nella classe B è stato riservato l’intervallo da

10101100.00010000.00000000.00000000 = 172.16.0.0

a

10101100.00010000.11111111.11111111 = 172.16.255.255.

Nella classe C è stato riservato l’intervallo da

11000000.10101000.00000000.00000000 = 192.168.0.0

a

11000000.10101000.11111111.11111111 = 192.168.255.255.

Sottoreti e routing

Quando si scompone la propria rete locale in sottoreti, di solito lo si fa per non intasarla. Infatti è probabile che si possano raggruppare i computer in base alle attività che essi condividono. Le sottoreti possono essere immaginate come raggruppamenti di computer separati che di tanto in tanto hanno la necessità di accedere a computer situati al di fuori del loro gruppo. Per collegare due sottoreti occorre un computer con due schede di rete, ogniuno connesso con una delle due reti, configurato in modo da lasciare passare i pacchetti destinati all’altra rete. Questo computer si chiama gateway e in pratica svolge l’attività di routing, ovvero di instradamento dei pacchetti.

DNS – Domain Name System

La gestione diretta degli indirizzi IP è piuttosto faticosa dal punto di vista umano. Per questo motivo si preferisce associare un nome agli indirizzi numerici. Il sistema attualmente utilizzato è il DNS, ovvero il sistema dei nomi di dominio. Gli indirizzi della rete Internet sono organizzati ad albero in domini, sottodomini (altri sottodomini…), fino ad arrivare ad identificare il computer host desiderato.

dominio root
 |
 |-com...              (dominio com)
 |-edu...              (dominio edu)
 |-org...              (dominio org)
 |-net...              (dominio net)
 |-it                  (dominio it)
 |  |-beta             (dominio beta.it)
 |  |  |-alfa          (dominio alfa.beta.it)
 |  |  |  |-dani       (host dani.alfa.beta.it)
 :  :  :  :

Non esiste una regola per stabilire quante debbano essere le suddivisioni.

DNS server

In un sistema di nomi di dominio (DNS), il problema più grande è quello di organizzare i così detti name server o DNS server. Si tratta di computer che si occupano di risolvere, ovvero trasformare, gli indirizzi mnemonici dei nomi di dominio in indirizzi numerici IP. A livello di dominio root, si trovano alcuni server che si occupano di fornire gli indirizzi per raggiungere i domini successivi, cioè comeduorgnetit, … A livello di questi domini ci saranno alcuni server (ogni dominio ha i suoi) che si occupano di fornire gli indirizzi per raggiungere i domini inferiori, e così via, fino a raggiungere il computer host finale. Di conseguenza, un name server a livello inferiore, per poter ottenere l’indirizzo di un host che si trova in un dominio al di fuori della sua portata, deve interpellare il name server precedente che risponderà immediatamente se sarà in grado, oppure interrogherà a sua volta il name server superiore. Per determinare l’indirizzo IP di un computer host si rischia di disturbare una quantità di name server. Per ridurre questo traffico di richieste, ogni name server è in grado di conservare automaticamente una certa quantità di indirizzi che sono stati richiesti nell’ultimo periodo.

In pratica, per poter utilizzare la notazione degli indirizzi suddivisa in domini, è necessario che il computer locale sul quale si opera possa accedere al suo name server più vicino. In una rete locale privata, i cui computer non siano quindi raggiungibili dalla rete Internet, non è necessario predisporre un name server. È sufficiente il file /etc/hosts ( hosts) compilato correttamente con gli indirizzi associati ai nomi completi dei vari host.

Indirizzi degli utenti

Gli utenti sono identificati utilizzando il loro nome di login seguito dal simbolo @ (a commerciale o chiocciolina) che significa at, presso, seguito dall’indirizzo del computer host presso cui l’utente risiede. L’indirizzo dell’hostpuò essere espresso sia secondo lo stile dei nomi di dominio, sia nella sua sua forma numerica puntata.

[email protected]

[email protected]

Aldo Russo

Pubblicato da Aldo Russo

Esperto/Consulente informatico