PDA

View Full Version : [GUIDA] Gli indirizzi IP, le classi ed il Subnetting.


traste
24-10-2006, 11:01
Una piccola guida con materiale recuperato in rete che puo' chiarire alcuni concetti, spero sia di vostro gradimento :D

Indirizzi IP, classi e Subnetting

L'indirizzamento IP permette di identificare ogni host all'interno di una rete TCP/IP. Grazie all'utilizzo delle classi di indirizzi ed al subnetting è possibile organizzare e gestire in modo più efficiente il proprio network.

Un indirizzo IP, chiamato anche indirizzo logico, rappresenta un identificativo software per le interfacce di rete, esso viene utilizzato in combinazione con l'indirizzo fisico (MAC), il quale consente di determinare in modo univoco ogni interfaccia di un dispositivo di rete. Un IP Address è un numero di 32 bit suddiviso in quattro gruppi da 8 bit ciascuno, la forma con la quale viene solitamente rappresentato è detta decimale puntata (Dotted Decimal).

Essendo ogni numero rappresentato da 8 bit, può assumere un range di valori da 0 a 255. Utilizzando 32 bit per indirizzo è possibile avere 4.294.967.296 combinazioni di indirizzi differenti. In realtà esistono alcuni indirizzi particolari, di conseguenza non tutti i valori sono disponibili al fine di identificare un host nella rete.

Un esempio di Ip Address:

Rete Rete Rete Host
192 168 5 2 Rappresentazione decimale
11000000 10101000 00000101 00000010 Rappresentazione binaria

Questo è un esempio di indirizzo (Classe C) in cui 192.168.5 identifica la rete di appartenenza dell'host 2.
INDIRIZZI SPECIALI: NETWORK, BROADCAST E LOOPBACK

Esistono alcuni particolari indirizzi di rete che non possono essere assegnati per l'identificazione di un host, tra questi abbiamo: network, broadcast e loopback:

• Network: quando i bit dell'ottetto che rappresenta l'host hanno tutti valore 0, l'indirizzo è detto di rete o Network Address: 192.168.5.0 oppure in binario 11000000.10101000.00000101.00000000;

• 0.0.0.0: quando tutti i bit hanno valore zero, identificano "questo host";

• Broadcast: quando i bit del numero che rappresenta l'host hanno tutti valore 1, l'indirizzo è detto di broadcast o broadcast address, e rappresenta tutti gli host di quella rete. Inviare un pacchetto all'indirizzo 192.168.5.255 o in forma binaria 11000000.10101000.00000101.11111111 equivale a mandare un pacchetto a tutti gli host della rete 192.168.5;

• Broadcast di rete: abbiamo questo tipo di indirizzo quando tutti i bit, sia della parte relativa all'host sia della parte relativa alla rete hanno valore 1. Inviare un pacchetto a 255.255.255.255 o in binario 11111111.11111111.11111111.11111111 significa inoltrarlo verso tutti gli host della rete corrente;

• Loopback: è utilizzato per funzioni di test del protocollo TCP/IP, non genera traffico di rete e corrisponde all'indirizzo 127.0.0.1;

CLASSI DI INDIRIZZI

Per permettere una migliore organizzazione della rete, gli indirizzi disponibili sono stati suddivisi in classi in base alle dimensioni del network da gestire. In questo modo si verrando utilizzate le classi più adatte ad alla dimensioni della rete, con conseguente minore spreco di ip address. Sono disponibili cinque classi di indirizzi IP, di cui solo le prime tre possono essere utilizzate per assegnare indirizzi agli host.

• Indirizzi di classe A
Il valore del primo ottetto è compreso tra 1 e 126 (I primi otto bit di questo indirizzo saranno: 0*******).
E' rappresentata da indirizzi di tipo: Rete.Host.Host.Host ovvero 8 bit per la identificare la rete (di cui il primo fisso) e 24 per identificare gli host. Permette di ottenere 126 reti formate da 16.774.214 host ciascuna.
• Indirizzi di classe B
Il valore del primo ottetto è compreso tra 128 e 191 (I primi otto bit di questo indirizzo saranno: 10******).
E' rappresentata da indirizzi di tipo: Rete.Rete.Host.Host ovvero 16 bit per la identificare la rete(di cui i primi due fissi) e 16 per identificare gli host. E' possibile ottenere 16.384 reti formate da 65.534 host ciascuna.
• Indirizzi di classe C
Il valore del primo ottetto è compreso tra 192 e 223 (I primi otto bit di questo indirizzo saranno: 110*****).
E' rappresentata da indirizzi di tipo: Rete.Rete.Rete.Host ovvero 24 bit per la identificare la rete (di cui i primi tre fissi) e 8 per identificare gli host. E' possibile ottenere 2.097.152 reti con 254 host ciascuna.
• Indirizzi di classe D
Il valore del primo ottetto è compreso tra 224 e 239 (I primi otto bit di questo indirizzo saranno: 1110****).
Sono indirizzi di rete riservati ai gruppi multicast e non assegnabili ai singoli host.
• Indirizzi di classe E
Il valore del primo ottetto è compreso tra 240 e 255 (I primi otto bit di questo indirizzo saranno: 1111****).
Sono indirizzi riservati per usi futuri.

LE SUBNET MASK

Per il corretto funzionamento di una rete, ogni host deve poter distiguere quale parte dell'indirizzo identifica l'host e quale la rete. Questo può avvenire grazie all'ausilio delle subnet mask (Maschere di sottorete). Per quanto riguarda le classi A B C standard, cioè non ulteriormente suddivise, esistono delle subnet di default:

• Classe A: Rete.Host.Host.Host ha come subnet 255.0.0.0
• Classe B: Rete.Rete.Host.Host ha come subnet 255.255.0.0
• Classe C: Rete.Rete.Rete.Host ha come subnet 255.255.255.0

Il processo di messa in AND

Per determinare se il destinatario dei propri pacchetti si trova sulla propria sottorete ogni host utilizza la propria maschera di sottorete durante un processo chiamato di messa in AND (ANDing process). Questo processo consiste nel confrontare il risultato dell'operazione di AND (matematica booleana) bit a bit tra il proprio indirizzo e la propria maschera subnet mask con quello tra l'indirizzo del destinatario e la propria subnet mask.

Avendo un Host A con IP 192.168.0.5 con subnet 255.255.255.0 che vuole inviare dei pacchetti ad un Host B 192.168.0.25 con subnet 255.255.255.0, esso deve determinare se B è sulla stessa sua sottorete:

192 168 0 5 Host A
11000000 10101000 00000000 00000101 Ip address Host A
11111111 11111111 11111111 00000000 Subnet mask Host A

11000000 10101000 00000000 00000000 Risultato operazione AND bit a bit

192 168 0 25 Host B
11000000 10101000 00000000 00001101 Ip address Host A
11111111 11111111 11111111 00000000 Subnet mask Host A

11000000 10101000 00000000 00000000 Risultato operazione AND bit a bit

Il risultato è identico, quindi, i due host possono inviarsi direttamente i pacchetti in quanto sulla stessa sottorete.
Qualora il processo di AND avesse evidenziato valori diversi, i due host non avrebbero potuto comunicare direttamente, ma sarebbe stato necessario un router tra di essi.

NOTAZIONI

Esistono due principali notazioni attraverso le quali è possibile indicare un indirizzo IP:

• Indicando espressamente la subnet mask:
o 49.22.5.3 255.0.0.0 - Classe A;
o 172.16.20.5 255.255.0.0 - Classe B;
o 192.168.15.4 255.255.255.0 - Classe C;

• Indicando i bit che compongono la subnet mask:
o 49.22.5.3/8 - Classe A;
o 172.16.20.5/16 - Classe B;
o 192.168.15.4/24 - Classe C;

SUBNETTING

L'utilizzo della classe di rete corrispondente alle dimensioni che più si avvicinano a quella che si vuole gestire a volte non è sufficiente. Può essere necessario, dover suddividere la rete in ulteriori sottoreti. Per fare questo è possibile utilizzare la tecnica del subnetting.

Il subnetting di una rete comporta diversi vantaggi:

• Minor spreco di indirizzi: in quanto è possibile scegliere il numero di host che faranno parte della sottorete
• Riduzione del traffico di rete: in quanto si riduce il dominio di broadcast (broadcast domain)
• Miglioramento delle performance della rete: in conseguenza della riduzione del traffico

Il subnetting consiste nell'utilizzare alcuni bit "presi in prestito" (borrowed) dalla parte host dell'indirizzo di rete. E' possibile procedere alla suddivisione della rete in sottoreti più piccole tramite lo schema seguente:
• Determinare il numero di sottoreti necessarie.
E' necessario tenere presente che il numero di subnet che si possono creare è dato da 2^x-2 dove x è rappresentato dai bit presi in prestito dalla parte host dell'indirizzo ai quali naturalmente bisogna levare l'indirizzo di broadcast quello di rete non assegnabili.
Esempio: prendendo in prestito 4 bit, sarà possibile creare 14 sottoreti

• Determinare il numero di host per ogni sottorete.
Questo valore è dato da 2^y-2 dove y è il numero di bit rimasti per la rappresentazione degli host.
Esempio: se i bit rimanenti sono 6 si potranno avere sottoreti formate da 62 host l'una

• Determinare le subnet valide.
Questo valore è dato da 256-z, dove 256 dove z rappresenta il valore della subnetmask.
Esempio: con una subnetmask di valore 224 avremmo avuto 256-224=32. Questo valore è il valore della prima subnet valida ed è anche la base per le successive, la cui progressione sarà: 32, 64, 96, 128, 160, 192

• Determinare gli host validi.
Sono rappresentati da tutti i valori compresi tra le subnet create togliendo gli indirizzi di broadcast e network

• Determinare degli indirizzi di broadcast e network delle subnet.
Sono gli indirizzi in cui rispettivamente i bit della parte host sono settati a 1(broadcast) e a 0(network)

ESEMPIO SUBNETTING DI UNA RETE DI CLASSE C

Esaminiamo il caso di una rete con IP 192.168.5.0 che da suddividere in due sottoreti.

• Deteriminare il numero di sottoreti necessarie.
Volendo creare 2 sottoreti è necessario utilizzare 2 bit dalla parte host in quanto 2^2-2 = 2. Avremmo quindi una subnetmask di questo tipo 255.255.255.192. E' possibile notare che in binario 192 equivale a 11000000, i primi due bit vengono utilizzati per le subnet ed i restanti 6 per gli host

• Determinare il numero di host per ogni sottorete.
I bit rimasti per gli host sono 6 quindi, abbiamo 2^6-2=62 indirizzi di host validi per sottorete

• Determinare le subnet valide.
Le subnet che si andranno a creare sono due con base data da 256-192=64. Questo significa che la progressione delle subnet valide sarà 64 e 128 ovvero 192.168.5.64 e 192.168.5.128.

• Determinare gli host validi.
Gli host validi sono rappresentati dai valori compresi tra le subnet esclusi gli indirizzi di broadcast e di network. Avremo quindi gli indirizzi da 192.168.5.65 a 192.168.5.126 per la prima subnet e 192.168.5.129 a 192.168.5.190 per la seconda

• Determinare gli indirizzi di broadcast e network delle subnet.
Gli indirizzi di rete (bit della parte host settati a zero) saranno 192.168.5.64 per la prima subnet e 192.168.5.128 per la seconda, mentre gli indirizzi di broadcast (bit parte host settati a 1) saranno rispettivamente 192.168.5.127 e 192.168.5.191.

Tabella di riepilogo

Rete di partenza: 192.168.5.0 255.255.255.0 suddivisa in due sottoreti tramite la subnet 255.255.255.192:

Subnet 1 192 168 5 64 In binario 11000000 10101000 00000101 01000000
Primo indirizzo valido 192 168 5 65 In binario 11000000 10101000 00000101 01000001
Ultimo indirizzo valido 192 168 5 126 In binario 11000000 10101000 00000101 01111110
Broadcast 192 168 5 127 In binario 11000000 10101000 00000101 01111111

Subnet 2 192 168 5 128 In binario 11000000 10101000 00000101 10000000
Primo indirizzo valido 192 168 5 129 In binario 11000000 10101000 00000101 10000001
Ultimo indirizzo valido 192 168 5 190 In binario 11000000 10101000 00000101 10111110
Broadcast 192 168 5 191 In binario 11000000 10101000 00000101 10111111

Questo procedimento è lo stesso da applicare anche per il subnetting delle classi A e B, con la differenza di poter creare un maggior numero di subnet.

INDIRIZZI IP PRIVATI

Alcune classi di indirizzi, definite nella RFC 1918, vengono chiamati privati e sono utilizzati per le reti locali non connesse ad internet:

• Da 10.0.0.0 a 10.255.255.255
• Da 172.16.0.0 a 172.31.255.255
• Da 192.168.0.0 a 192.168.255.255

Questi indirizzi non possono essere utilizzati in Internet, e sono riservati per utilizzi in reti interne. Qualora però un host all'interno di un lan si connetta ad internet il suo indirizzo verrà riscritto tramite NAT (Network Address Traslation) da un router od una macchina che fa da gateway verso Internet.

Sholn
24-10-2006, 11:26
Cita le fonti se fai copia e incolla! :D

traste
24-10-2006, 11:31
Cita le fonti se fai copia e incolla! :D

E chi se le ricorda piu'... :rolleyes: del resto la rete e' piena di queste guide (una la copia dell'altra :D ) ed anche questa non fa' differenza, ho solo corretto qualche errore (probabile battitura) e reimpaginato meglio le info.

Il resto e' li' dalla notte dei tempi della rete :D :D :D