DI RECENTE ACCOMAZZI...
CERCA
» Ricerca avanzata
MAILING LIST

Se vuoi iscriverti alla mailing list di Luca Accomazzi inserisci qui la tua mail:

Vuoi ricevere i messaggi immediatamente (50 invii / giorno) o in differita e in gruppo
(due invii / giorno)?

» Vuoi saperne di più?

A domanda rispondo - sezione Internet

Maschera di sottorete

Il mio calcolatore si trova in una rete mista, e fino a settimana scorsa condividevo i files. Mi bastava inserire il mio IP e la maschera di sottorete (rispettivamente 10.0.0.107 e 255.255.255.0; siamo dietro un
proxy) lasciando vuoto il campo del router. Ora ho cambiato sistema operativi e in quello nuovo non posso lasciare bianco il campo del router: al limite mi imposta lui 0.0.0.0; in questo modo però mi viene detto che il
roiute non appartiene alla stessa sottorete e che potrei "non vedere" le altre macchine condivise... ed infatti è così: sono isolato :(

Se riesco a far funzionare tutto faccio pure bella figura con l'amministratore di rete :)

PS: qualcuno mi fa notare che la maschera di sottorete potrebbe essere sbagliata.

Per questa risposta sono debitore a "Nero" <nero@mclink.it>, che l'ha inviata originalmente alla mia mailing list e ha cortesemente acconsentito alla sua ripubblicazione qui.

Gli indirizzi IP si dividono in varie classi d'utilizzo in base al numero degli host configurabili, normalmente si usa per le reti interne un indirizzo di classe C che permette di assegnare fino a 256 computer mentre una rete di classe A indirizza fino a 16.777.200 computer...

Ogni interfaccia su net deve avere un unico indirizzo Internet (chiamato indirizzo IP); questi indirizzi sono numeri a 32 bit. Invece di usare una numerazione piatta* (1,2,3,4, ecc.) sono strutturati in un modo diverso, chiamato *dotted-decimal*.
I 32 bit sono scritti come 4 numeri decimali, uno per ogni byte dell'indirizzo (4 byte da 8 bit corrispondono a 32 bit).

Gli indirizzi possibili si dividono in 5 classi:

Classe A |0| 7 bit di netid | 24 bit di hostid |
Classe B |1|0| 14 bit di netid | 16 bit di hostid |
Classe C |1|1|0| 21 bit di netid | 8 bit di hostid |
Classe D |1|1|1|0| 28 bit ID gruppi multicast |
Classe E |1|1|1|1|0| 27 bit riservati ad usi futuri |


Classe Range

A 0.0.0.0 - 127.255.255.255
B 128.0.0.0 - 191.255.255.255
C 192.0.0.0 - 223.255.255.255
D 224.0.0.0 - 239.255.255.255
E 240.0.0.0 - 247.255.255.255

All'interno di queste classi ci sono degli indirizzi che non troverai mai sul net perche' riservati agli usi *interni*, come l'indirizzo che stai usando tu, il classico 192.168.x.x in classe C, il 127.0.0.0 che si riferisce all'interfaccia di loopback (cioe' indica il proprio computer) e cosi' via...

Il *potrebbe* in un network non si dovrebbe mai usare... anche perche' la maschera di sottorete stravolge completamente il modo di lettura di un IP.

1) gli indirizzi di classe A e B possono indirizzare rispettivamente *(2 alla 24esima)-2* e *(2 alla 16esima)-2* host (classe A=16.777.198 host e B=65534 host);

2) gli indirizzi di classe C hanno *(2 all'8ava)-2* host (254 host) e di tale classe si possono usare *(2 alla 21esima)-2* network (2.097.148 network).

Dato che e' moooolto raro (ed improponibile) usare un network che ha collegati direttamente fino a piu' di 16 milioni o fino a piu' di 65 mila host (io direi che un network con piu' di 1000-2000 macchine e' gia' *fragile*, figuriamoci uno con 50-60 mila ;-)) in genere si usano indirizzi di classe C ma, visto il tasso di crescita di Internet ed il fatto che gli indirizzi di classe C stanno finendo.... si spezzettano le reti piu' grandi in sottoreti.

In attesa della prossima implementazione di IP, che aumentera' lo spazio indirizzabile, molti network usano indirizzi di classe A o B e poi dividono il network in sotto reti usando il subnetting.


Oggi e' richiesto a tutti gli host di supportare gli indirizzi di subnet (RFC 950): invece di considerare un indirizzo IP composto solo da network ID ed host ID la parte host ID e' divisa in subnet ID ed host ID.

E' compito dell'amministratore del sistema decidere se segmentare il network e quanti bit usare per il subnet ID e quanti per l'host ID.

Se prendiamo ad esempio un indirizzo di classe B possiamo dividere i 16 bit di host ID in 8 bit di subnet ID ed 8 bit di host ID che ci permetteranno di avere 254 subnet con 254 host per subnet.

In genere si preferisce usare il *naturale* limite di 8 bit come subnet ID in una classe B, cio' rende facile determinare il subnet ID con i numeri *dotted-decimal* ma non e' obbligatorio seguire questa ripartizione.

Il subnetting e' raramente usato con indirizzi di classe A (ma la maggior parte sono subnettati) perche' ci sono solo pochissimi network disponibili (126).

La segmentazione nasconde i dettagli dell'organizzazione interna del network ai router esterni ed offre il vantaggio di ridurre la grandezza delle tabelle di routing (ad esempio se usiamo una classe B con 30 subnet invece di 30 classi C).

Prendiamo una classe B con indirizzo 140.252.x.x: per raggiungere qualsiasi host che ha indirizzo IP che inizia con 140.252 i router esterni devono conoscere solo il percorso fino all'indirizzo 140.252.1.1 (router di ingresso sulla nostra rete). Questo significa che e' necessaria solo un record nella tabella di routing invece di 30 record (esempio precedente); e' ovvio che non e' trasparente per i router e/o gateway interni che devono conoscere il giusto percorso.


Per sapere quanti bit sono allocati come subnet ID e quanti come host ID si usa una *subnet mask*. Questa maschera e' un valore a 32 bit che usa bit posti ad 1 per il network ID ed il subnet ID e bit posti a zero per l'host ID.


Classe B con 8 bit di subnet ID ed 8 bit di host ID
(subnet mask 255.255.255.0)
_________________________________________________________________
| 16 bit di net ID | 8 bit di | 8 bit di |
| | subnet ID | host ID |
------------------------------------------------------------------
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0


Classe B con 10 bit di subnet ID ed 6 bit di host ID
(subnet mask 255.255.255.192)
_________________________________________________________________

| 16 bit di net ID | 10 bit di | 6 bit di |
| | subnet ID | host ID |
------------------------------------------------------------------
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0

Usando il proprio indirizzo IP in congiunzione con la *subnet mask
un host puo' determinare se un datagram IP e' destinato:
1) ad un host nel suo subnet
2) ad un host su un differente subnet del proprio network
3) ad un host su di un network differente

Detto questo la tua subnet mask deve dartela l'amministratore, ma da quello che dici... non sa amministrare 8-)