Swappa : Uni / Note sul CIDR
Creative Commons License

Torna alla pagina di Sistemi per l'elaborazione delle informazioni


 :: Note sul CIDR ::

Lezione extra dovuta al fatto che il CIDR rimane misterioso

Indice

  1. Che cosa diavolo è???
  2. La notazione
  3. A che serve
  4. Come usarlo

Che cosa diavolo è???

CIDR sta per Classless Inter-Domain Routing, ovvero il sistema di instradamento senza classi che usiamo con VLSM. È il nome della teoria sottostante.

La notazione

La notazione CIDR è quella ormai famosa del tipo: 180.23.45.0/24. In pratica, si appone come suffisso una / e un numero, il quale indica il numero di bit che dovranno fare da maschera a quell'indirizzo IP.

Nel caso di 180.23.45.0/24, vuol dire che i primi 24 bit, cioè i primi 24 / 8 = 3 ottetti rappresenteranno un identificativo di rete. Applico la mia bella maschera di 24 bit, e scopro subito se un host appartiene alla mia rete oppure no. La lezione precedente ne parla in modo esaustivo.

A che serve

Abbiamo già stabilito che le classi non sono affatto un bene. Non si possono attribuire solo delle classi, quando vendo degli indirizzi, per via del fatto che ci sono aziende che hanno molto meno di 255 computer, il minimo per godersi un classe C, etc. etc. Quindi si cerca di evitare di usare le classi nell'assegnazione degli indirizzi.

Il sistema usato è quello delle maschere di lunghezza variabile. In base a questa, riesco a creare delle sottoreti a partire da altri indirizzi.

A che servono le maschere? Servono innanzitutto a me come host per stabilire se il destinatario del mio pacchetto sta nella mia stessa rete, oppure no. Ma servono anche ai rauter per decidere DOVE inoltrare i pacchetti. Infatti, abbiamo detto subito che la brillante idea era quella di far sì che ogni indirizzo IP non solo determinasse un singolo host, ma stabilisse da solo l'instradamento verso quell'host. Ebbene, come abbiamo già detto questo sistema si è rivelato inadatto al numero di host connessi alla Internet globale dei tempi moderni.

Per questo, è preferibile non assegnare intere classi, ma più comodamente gruppi di indirizzi. Qui entra in gioco la nostra VLSM.

Come usarlo

Prendiamo questo indirizzo: 190.40.56.64/26. L'ultimo ottetto è 01000000. Il /26 mi dice che devo considerare anche i primi due bit del quarto ottetto. I primi due bit del quarto ottetto sono 01. Quindi, io so che TUTTI gli host che cominciano con 01 al quarto ottetto sono miei amici.

Niente di nuovo. Ma quello che va aggiunto è che questo sistema viene usato dai rauter per assegnare blocchi di indirizzi contigui. Prendiamo per esempio un'azienda che vuole un po' di computer, diciamo un po' più di un classe C ma meno di un classe B. Io provider gli assegno allora un paio di classe C: uno è 190.45.2.0, e l'altro è 190.45.3.0. Ovviamente gli host vanno da 0 a 255, ok?

Il router che sta dal provider, quando vede arrivare questi due indirizzi, deve avere 2 regole di routing: entrambe mi dicono che gli indirizzi puntati da 190.45.3.x e 190.45.2.x devono essere inoltrati alla RaimonDigital. Ma posso fare una furbata: prendo 2 piccioni con una fava con una maschera intelligente.

Cambo la regola di routing del provider e la faccio diventare così: 190.45.2.0/23. Che vuol dire? Semplice. Scrivo giù il mio indirizzo, e del 3° ottetto prendo 7 bit. Il terzo ottetto è 2, che si scrive 00000010. Se prendo i primi 7 bit, escludo l'ultimo. Ora, se ci fate caso, per scrivere 190.45.3.x, il terzo ottetto dovrebbe essere 00000011, ok? Quindi, con un CIDR solo piazzato intelligentemente, posso coprire 512 indirizzi con un colpo solo! Capito dove sta il trucco?

In questo modo posso vendere blocchi di indirizzi che esulano dalla solita divisione in classi, e lo posso fare usando il VLSM anche a livello di router.

Il nostro esempio è piccolo e banale, ma i router devono spesso gestire tabelle gigantesche, e sistemi del genere fanno risparmiare un bel po' di roba.

L'ultima cosa che occorre notare è che qui il trucco funziona, ma non avrebbe potuto funzionare se il mio cliente avesse avuto le reti 190.45.1.0 e 190.45.2.0. Perché? Guardiamo ancora il 3° ottetto. Nel caso di 190.45.1.0, sarebbe 00000001. Nel caso di 190.45.2.0 sarebbe invece 00000010. Come vedete, se usassi come regola di routing 190.45.1.0/24 escluderei del tutto la rete 190.45.2.0; se usassi 190.45.1.0/23, sarebbe la stessa cosa, perché prendo solo l'ultimo bit del 3° ottetto, e questo è già fisso ad 1. Se uso 190.45.1.0/22, idem, perchè gli ultimi due bit del 3° ottetto sono 01 e non posso cambiarli perché fanno parte del net id. Capite quindi che gli indirizzi devono essere in qualche modo compatibili per essere aggregati con un'unica notazione CIDR.


Torna alla pagina di Sistemi per l'elaborazione delle informazioni

(Printable View of http://www.swappa.it/wiki/Uni/SEDI-CIDR)