prof.
Nunzio Brugaletta |
EsNET |
Il protocollo IP si pone al livello 3 del modello ISO/OSI: a questo livello una rete è un insieme di host identificati da un indirizzo composto da 32 bit, tradizionalmente divisi in 4 ottetti divisi da punti (notazione decimale puntata), nella versione IPv4 attualmente in uso. A causa della notevole espansione di Internet, lo spazio di indirizzi utilizzabili si sta velocemente esaurendo, ed è in corso una conversione degli indirizzi alla versione IPv6 (indirizzi a 128 bit) che consentirà l'utilizzo di un più ampio margine di indirizzi.
IP riceve dal protocollo di livello superiore un pacchetto di dati, a questo aggiunge una propria intestazione, variabile, di lunghezza minima di 20 byte. Il pacchetto IP si comporta come un vagone che riceve, al suo interno, il carico da consegnare che, a sua volta, viene caricato nel vagone di livello inferiore.
Nell'intestazione sono contenuti campi che conservano informazioni diverse:
Lunghezza totale pacchetto.
TTL (Time To Live) tempo di vita del pacchetto. Un numero che indica per quanto tempo un pacchetto potrà rimanere in rete alla ricerca della destinazione; trascorso tale tempo, se ancora non ha potuto raggiungere la destinazione, per evitare di intasare la rete, il pacchetto è eliminato. In realtà TTL è espresso in termini di numero di hop: numero di salti fra un router e l'altro che il pacchetto, al massimo, potrà fare. Il numero viene decrementato ad ogni salto.
Indirizzi IP del sorgente e del destinatario.
Nell'indirizzo IPv4 sono contenute informazioni che riguardano l'indirizzo della rete, cui l'host appartiene, e l'indirizzo dell'host stesso. A seconda di quali convenzioni vengono utilizzate per distinguere l'indirizzo della rete dall'indirizzo dell'host, gli indirizzi IP vengono suddivisi in classi dalla A alla E. Comunemente sono utilizzati gli indirizzi delle prime tre classi:
Classe A. Gli indirizzi cominciano con il primo bit della parte rete (il primo byte) 0, i restanti 3 byte individuano l'host. In definitiva gli indirizzi di questa classe vanno da 1.0.0.0 a 127.255.255.255
Classe B. Per l'identificazione della LAN sono riservati due byte; i rimanenti due identificano l'host. Un indirizzo di questa classe comincia con 10 nel primo byte e gli indirizzi vanno da 128.0.0.0 a 191.255.255.255
Classe C. I primi tre byte per l'indirizzo della LAN, l'ultimo per l'host. Gli indirizzi cominciano con 110 e vanno da 192.0.0.0 a 223.255.255.255. In ragione della scarsità di indirizzi disponibili, si tende ad utilizzare, anche in Internet, indirizzi di tale tipo per ottenere il maggior numero di sottoreti possibili.
Il meccanismo per distinguere la parte rete dalla parte host dell'indirizzo è quello della maschera di rete (netmask): un indirizzo che viene abbinato, con l'operatore booleano AND, all'indirizzo da esaminare, per isolare le singole parti. Per esempio la maschera di rete 255.255.255.0 applicata ad un indirizzo di classe C, mostra l'indirizzo della rete: infatti se per esempio si ha l'indirizzo 192.168.1.12, effettuando un AND con la maschera suddetta, si ottiene come risultato 192.168.1.0 (i bit dell'ultimo byte sono azzerati dall'AND con valori 0, gli altri restano così come sono perché, per ognuno, viene effettuato un AND con 1). L'operatore AND applicato all'indirizzo e alla maschera invertita (0.0.0.255) fornisce invece l'indirizzo relativo dell'host.
Gli indirizzi delle classi D ed E non sono sostanzialmente utilizzati perché riservati per usi futuri o particolari.
Alcuni indirizzi appartenenti a varie classi sono riservati per usi speciali:
0.0.0.0 default route: il cammino predefinito per l'instradamento dei pacchetti.
127.0.0.1 indirizzo di loopback: l'indirizzo usato, in ogni nodo, per fare riferimento a sé stesso.
Gli indirizzi da 10.0.0.0 a 10.255.255.255 (classe A), da 172.16.0.0 a 172.31.255.255 (classe B), da 192.168.0.0 a 192.168.255.255 (classe C) sono riservati per le reti locali. Non è possibile accedere dall'esterno (Internet) ad indirizzi del genere.
A parte gli indirizzi riservati, in Internet, per poter permettere la comunicazione fra i vari host è necessario individuarli in maniera univoca. L'ente internazionale ICANN (Internet Corporation for Assigned Names and Numbers), e le sue diramazioni nazionali, hanno il compito di attribuire gli indirizzi in modo che siano univoci.
Il pacchetto generato da IP viene passato, per poter essere avviato a destinazione, al livello inferiore. Ethernet non conosce però gli indirizzi IP ma gli indirizzi MAC delle schede: è necessario avere la possibilità di associare ad un indirizzo IP il MAC di una scheda. Per trovare l'indirizzo viene utilizzato il protocollo ARP (Address Resolution Protocol): chi vuole trasmettere manda un pacchetto broadcast (a tutti i nodi della rete) per conoscere a quale indirizzo fisico corrisponde un determinato IP; il nodo con quell'indirizzo risponde con il proprio MAC. A questo punto la macchina, che ha inoltrato la richiesta, conosce l'indirizzo del destinatario e può costruire il suo pacchetto di dati contenete il pacchetto IP. Per poter rendere più efficiente la comunicazione, la corrispondenza fra IP e MAC viene tenuta, per un certo tempo, in una cache.
http://ennebi.solira.org |
ennebi@solira.org |