Indirizzamento

Spread the love

Indirizzamento (Addressing)

Gli indirizzi IP, che identficano univocamente ogni host su internet, consentono la consegna dei dati all’host corretto. Fondamentalmente in una rete locale (tutti i computer collegati alla stessa sottorete) ciò che è sufficiente è una tabella di routing per ogni dispositivo connesso alla sottorete; quando un dispositivo vuole inviare qualcosa ad un altro è sufficiente che ne conosca l’indirizzo IP leggendolo dalla sua tabella di host.

Un po’ più complicato è invece spedire il pacchetto ad un host che non è sulla stessa sottorete. In questo caso occorrono uno o più dispositivi che scambiano i dati tra sottoreti e questi dispositivi vengono chiamati gateway o più spesso router.

in questo primo livello supponiamo che non esistano i nomi di dominio e che le macchine utilizzino direttamente gli indirizzi per chiamarsi tra loro.

Smistamento (routing)

I gateway (o router) consegnano i dati alla rete corretta. Per eseguire questa operazione al router è sufficiente estrarre il segmento rete dall’indirizzo IP di destinazione .

Multiplexing

Il protocollo e il numero di porta consegnano i dati al software corretto all’interno dell’host. Per questo compito si estrae il segmento host dall’indirizzo IP di destinazione.

Classi di sottoreti

Le sottoreti vengono classificate in base al numero di sottoreti che contengono e in base al numero di host ammessi in una sottorete. All’epoca della progettazione di TCP/IP uno spazio di indirizzamento di 32 bit era considerato enrome e si è deciso di suddividerlo in due parti: una parte network e una parte host. In sostanza si partiziona la parola di 32 bit in due pezzi, e la lunghezza relativa costituisce le classi che vediamo in dettaglio.

Rete di classe A

0XXXXXXX.YYYYYYYY.YYYYYYYY.YYYYYYYY

in una rete di classe A i primi 8 bit (X, anzi i primi 7, il MSB è 0) identificano la rete e i rimanenti 24 (Y) identificano un host all’interno della rete.

Questi indirizzi hanno il primo bit (MSB) a 0. Quindi in questo modo posso distinguere 2^7 – 1 = 127 reti diverse all’interno di ciascuna delle quali posso enumerare 2^24 = 33554432 host (sarebbe 32 x 2^20 host)

Reti di classe B

10XXXXXX.XXXXXXXX.YYYYYYYY.YYYYYYYY

in una rete di classe B ho i primi due bit a 10, poi ne dedico 6+8 14 (X) per enumerare le reti e i rimanenti 16 (Y) per enumerare gli host all’interno di ognuna di queste.

In questo caso posso distinguere 2^14 = 16384 reti distinte ognuna delle quali può contare 2^16 = 65536 host.

Reti di classe C

110XXXXX.XXXXXXXX.XXXXXXXX.YYYYYYYY

in una rete di classe C ho i primi tre bit a 110, i successivi 5+16=21 bit a identificare una tra 2 x 2^20 = 2097152 reti e gli ultimi 8 bit ad identificare 256 host

Reti di classe D

111XXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX

Questo tipo di indirizzamento in realtà non si riferisce ad una rete, ma viene usato per inviare messaggi a più reti diverse sulle quali però si sa che girano gli stessi protocolli.

Se scriviamo gli indirizzi in decimale, possiamo distinguere la classe di una rete guardando il primo ottetto

  • (A) 0XXXXXXX può al massimo valere 011111111 = 127, quindi gli indirizzi che iniziano con <= 127 si riferiscono a reti di classe A
  • (B) 10XXXXXX può andare da 1000000 = 128 a 10111111 = 128+63 = 191
  • (C) 110XXXXX può andare da 1100000 = 128+64 = 192 a 11011111 = 192+31 = 223
  • (D) 111XXXXX può andare da 192+32 = 224 a 256. Si tratta di indirizzi riservati.

Esiste anche una classe E che è riservata. La tabella riassuntiva di quanto abbiamo detto è la seguente:

ClasseIntervallo di indirizziMSBsNetHostFunzione
A0.0.0.0 ->
127.255.255.255
0724Unicast
B128.0.0.0 ->
191.255.255.255
101416Unicast
C192.0.0.0 ->
223.255.255.255
110218Unicast
D224.0.0.0 ->
239.255.255.255
1110Multicast
E240.0.0.0 ->
255.255.255.255
1111Multicast

Le convenzioni sono riassunte in questa tabella

Intervallo di indirizziFunzioneClasse
0.0.0.0Rete non utiizzata; comunemente rappresenta il defaultA
10.0.0.0 -> 10.255.255.255Riservato per uso privato (RFC 1918)A
127.0.0.0 -> 127.255.255.255Riservato per indirizzi localhost/loopbackA
172.16.0.0 -> 172.31.255,255Riservato per uso privato (RFC 1918)B
192,168.0.0 -> 192.168.255.255Riservato per uso privato (RFC 1918)C
255.255.255.255BroadcastE