PROTOCOLLI TCP/IP


5.1 Indirizzi IP

5.2 DNS

5.3 Protocolli per la risoluzione degli indirizzi


5.  Protocolli TCP/IP

      

       Va sotto il nome di TCP/IP  (Transmission Control Protocol/Internet Protocol) un insieme di circa 100 protocolli che consentono di dar vita ad internet, la rete delle reti.

       L’obiettivo di internet è quello di assicurare la comunicazione di dati digitali dalla postazione di una rete locale alla postazione di un’altra rete, anche tecnologicamente diversa dalla prima, attraverso collegamenti che danno vita ad una particolarissima e sconfinata rete geografica. Vi sono, pertanto, particolari dispositivi di rete, di nome gateway, che hanno appunto il compito di stabilire il percorso che devono compiere i dati nel transitare da una rete locale all’altra.

       La tecnica di trasmissione utilizzata da internet è a commutazione di pacchetto con servizio a datagramma (vedi paragrafo 3.3).

       Il file da trasmettere viene suddiviso in frammenti ognuno dei quali prende il nome di pacchetto. Ogni pacchetto è autonomo poiché contiene tutte le informazioni necessarie: indirizzo IP del mittente e del destinatario, numero di sequenza, tipo di applicazione, ecc.     Ogni pacchetto, per raggiungere la destinazione, prende un percorso autonomo che può essere diverso da quello attraversato da altri pacchetti.     

       Anche l’ordine di arrivo può essere differente per cui il protocollo TCP/IP del destinatario deve poter mettere “nella giusta sequenza” i pacchetti pervenuti.

       Al TCP/IP appartengono, separatamente, anche il protocollo TCP e il protocollo IP.

       Il TCP/IP è organizzato a livelli; in ciascuno di questi vengono svolti compiti specifici correlati a quelli dei livelli adiacenti attraverso interfacce.

       I livelli del TCP/IP sono 4 e corrispondono in parte a quelli del modello ISO/OSI.

 

 

Tabella 14

ISO/OSI

 

TCP/IP

 

Applicazione

 

Applicazione

 

Presentazione

 

HTTP, FTP, SMTP, TELNET

Sessione

 

 

Trasporto

 

Trasporto

TCP, UDP

Rete

 

Rete

IP, ICMP, ARP, RARP

Linea

 

Linea + Fisico

IEEE 802, EIA232, X21, ISDN, ecc.

Fisico

 

 

       Il quarto livello, il più alto, è quello nel quale gira la specifica applicazione (TELNET, FTP, SMTP, HTTP, ecc.).

       Il terzo livello, corrispondente al quarto livello del modello OSI (trasporto), è utilizzato dal protocollo TCP che ha il compito di garantire che i pacchetti giungano a destinazione e che vengano opportunamente e ulteriormente suddivisi per consentire il passaggio su particolari rami della rete.

       Il secondo livello, corrispondente al livello di rete del modello OSI, è utilizzato dal protocollo IP che ha il compito di  instradare le informazioni al ricevitore.

       Il primo livello, corrispondente ai primi due livelli del modello OSI, è relativo alle interfacce fisiche che consentono il reale trasferimento dei segnali elettrici.

       In fig. 36 si mostrano i livelli o strati dei protocolli TCP/IP.

 

strato 4

strato 3

strato 2

 

strato 1

 
FTP

TELNET

SMTP

RCP

SNMP

ecc.

TCP

UDP

Protocolli dei gateway

IP  e  ICMP

ARP, RARP

IEEE802, Ethernet, DDCMP, LAPB/D/M/X, SDLC, ecc.

IEEE802, Ethernet, EIA-232, X.21, X.21bis, V.24, V.28, ISDN, ecc.

 

Fig.36. - Stack dei protocolli TCP/IP.

5.1. Indirizzi IP

       Le reti collegate ad internet attraverso i protocolli TCP/IP utilizzano un indirizzo a 32 bit (oltre 4 miliardi di configurazioni numeriche), secondo lo standard RFC 791 (Request For Comments) http://www.faqs.org/rfcs/rfc791.html per individuare un computer e la rete nella quale è inserito il computer. Il formato di tale indirizzo è:

 

Indirizzo IP = Indirizzo di rete + Indirizzo di host

 

       L’indirizzo è rappresentato da 4 byte ognuno dei quali espresso in forma decimale da 0 a 255 e separato dagli altri con un punto.

       Ad esempio, un tipico indirizzo IP è: 195.32.115.9.

       Sono consentiti quattro tipi di formati di indirizzo IP indicati con classe A, classe B, classe C e classe D.  

       È  previsto un ulteriore formato per usi futuri indicato con classe E.

       Si escludono quegli indirizzi IP che hanno indirizzo di rete costituito da tutti 0 e da tutti 1 e, analogamente, si escludono quelli con indirizzo di host costituito da tutti 0 e da tutti 1. Quando l’indirizzo di host è costituito da tutti 0 l’indirizzo IP esprime l’indirizzo di rete. Quando l’indirizzo di host è costituito da tutti 1 si ha il broadcast a tutti i PC della rete.

       L’ente che ha il compito di assegnare gli indirizzi di rete è il NIC (Network Information Center). La rete provvede ad assegnare a ciascun suo host la parte rimanente dell’indirizzo.

       Si mostra, in tabella 15, il formato degli indirizzi IP in funzione della classe di appartenenza.

 

Tabella 15

Classe

bit iniziali

indirizzo

rete (in bit)

indirizzo

host (in bit)

reti

 individuabili

host disponibili

A

0

7

24

128

16.777.216

B

10

14

16

16.384

65.536

C

110

21

8

2.097.152

254

D

1110

Indirizzo Multicast a 28 bit  (268.435.456 indirizzi)

E

11110

Riservato per usi futuri a 27 bit (134.217.728 indirizzi)

 

Classe A

       È il formato di indirizzo per reti aventi un numero elevatissimo di host. Le reti disponibili sono 126 (da 1 a 126; i numeri 0 e 127 sono riservati). Il campo per individuare un host è di 24 bit corrispondente ad un numero massimo superiore a 16 milioni. Il primo numero dell’indirizzo IP va da 1 a 126 ed individua la rete; i restanti 3 numeri (24 bit) individuano l’host all’interno della rete. Gli host individuati da tutti 0 e da tutti 1 non sono utilizzabili.

       L’intervallo dei valori consentiti va da 1.0.0.1 a 126.255.255.254.

 

      

Si riportano alcune società che hanno indirizzi IP in classe A:

Hewlett Packard (15.0.0.0), Apple Computer (17.0.0.0), Stanford University (36.0.0.0), Posta Americana (56.0.0.0).

 

Classe B

       Gli indirizzi di classe B sono utilizzati dalle reti di dimensioni intermedie. Le reti individuabili sono oltre 16000 (14 bit) e il numero massimo di host di ciascuna rete è superiore a 64000 (16 bit). I primi due numeri dell’indirizzo IP vanno da 128.1 a 191.254 ed individuano la rete (al solito si escludono il primo e l’ultimo indirizzo cioè 128.0 e 191.255); i restanti due numeri individuano l’host all’interno della rete. Gli host individuati da tutti 0 e da tutti 1 non sono utilizzabili.

       L’intervallo dei valori consentiti va da 128.1.0.1 a 191.254.255.254.

 

 

Classe C

       Gli indirizzi di classe C sono utilizzati da reti molto piccole. Le reti individuabili sono oltre due milioni (21 bit) ed il numero massimo di host di ciascuna rete è di 254 ( si escludono 0 e 255). I primi tre numeri dell’indirizzo IP vanno da 192.0.1 a 223.255.254 ed individuano la rete; l’ultimo numero, da 1 a 254, individua l’host all’interno della rete.

       L’intervallo dei valori consentiti va da 192.0.1.1 a 223.255.254.254.

 

Classe D

       Gli indirizzi di classe D sono utilizzati dagli host che costituiscono un gruppo di Multicast. Poiché i primi 4 bit dell’indirizzo IP valgono 1110, l’intervallo dei valori consentiti va da 224.0.0.0 fino a 239.255.255.255. L’indirizzo 224.0.0.0 non è consentito da internet e l’indirizzo 224.0.0.1 individua un gruppo di tutti host che partecipano ad una operazione di multicast IP internet.

 

 


Esempio

         Individuare il tipo di rete, l’indirizzo di rete e di host per il seguente indirizzo IP:

 

                                                            195.32.115.9                                                  (1)

 

Risoluzione

         L’indirizzo IP assegnato corrisponde al seguente numero binario a 32 bit:

11000011 00100000 01110011 00001001

 

L’indirizzo di rete si ottiene dalla (1) eliminando i bit che individuano la classe (110 per la classe C) e gli ultimi 8 bit che rappresentano l’indirizzo di host.

 

 00011 00100000 011100112 = 20491510 .

 

L’indirizzo interno dell’host è:           000010012 = 910 .

 

 

5.1.1. Indirizzi IP privati

       Una rete locale può utilizzare il protocollo TCP/IP per lo scambio dei dati tra gli elementi della LAN. In tal caso ciascun nodo deve possedere un indirizzo IP che può essere fisso oppure assegnato dinamicamente come, ad esempio, viene attribuito dal servizio DHCP, se attivato, del sistema operativo di rete Windows Server.

       Esistono particolari intervalli di indirizzi IP destinati ai nodi delle reti locali e non accessibili da internet. Ciò consente una certa protezione dei dati che circolano all’interno della LAN lontano da occhi indiscreti.

       Nella seguente tabella 16 si forniscono gli intervalli di indirizzi privati utilizzabili dalle postazioni LAN. Essi possono essere di classe A, di classe B e di classe C. La scelta che l’amministratore di rete dovrà compiere è funzione della dimensione della rete locale.

 

Tabella 16. – Indirizzi IP privati utilizzabili nelle reti LAN

 

Classe

Intervallo di indirizzi

A

10.0.0.0         – 10.255.255.255

B

172.16.0.0     – 172.31.255.255

C

192.168.0.0   – 192.168.255.255

 

       In genere si preferiscono gli indirizzi di classe C poiché quasi tutte le reti locali sono costituite da meno di 254 nodi. In particolare si sceglie la rete con indirizzo 192.168.0.0.

       Il computer server normalmente ha indirizzo 192.168.0.1 e nella rete si possono individuare fino a 254 nodi. Quello con indirizzo IP più alto è 192.168.0.254.

       Un altro indirizzo IP particolare è 127.0.0.1 che individua il computer locale, la macchina, cioè, su cui si sta lavorando. Tale indirizzo è particolarmente utile quando si vuole testare la funzionalità di un’applicazione in rete residente sulla propria macchina senza doversi spostare su un’altra macchina della rete. Ad esempio nel PC sul quale si sta lavorando è installato ed attivato un web server. Tale PC è in rete locale con indirizzo 192.168.0.1. Supponiamo che il nome del PC sia “PCserver”.

       Per visualizzare la home page senza dover eseguire la prova da un altro PC della rete è sufficiente digitare, all’interno del proprio browser: http://127.0.0.1 .

       Questo comando è equivalente ai seguenti altri comandi:

http://localhost , http://192.168.0.1 , http://PCserver .

        

5.1.2. Sottoreti

       Una rete locale fisica può suddividersi in una o più sottoreti locali logiche. Per far questo si utilizza una particolare maschera costituita da 32 bit, suddivisa in 4 numeri separati da punti, come l’indirizzo IP, nota come subnet mask (maschera di sottorete).

       I computer con stessa subnet mask appartengono alla stessa sottorete.

       La subnet mask individua la sottorete. Il computer con subnet mask 255.255.255.0 ed indirizzo IP 192.168.0.5 appartiene alla rete di classe C 192.168.0.0. Qualsiasi computer i cui primi tre numeri dell’indirizzo IP sono pari a 192.168.0 appartiene alla rete. Per individuare una sottorete si utilizzano due o più bit da sottrarre all’indirizzo di host. Nella subnet mask devono essere posti ad uno i bit omologhi ai seguenti campi:

bit iniziali, indirizzo di rete, indirizzo di sottorete.

       In pratica l’indirizzo IP di un nodo della rete è costituito da 4 campi:

 

bit iniziali

indirizzo

di rete

indirizzo

di sottorete

indirizzo

di host

 

       Volendo realizzare due o più sottoreti della rete locale in classe C 192.168.0.0, il quarto numero della subnet mask dovrà essere diverso da 0.

      

Esempio 1

         Ponendo a 1 i primi due bit del quarto numero della subnet mask, si individuano 4 sottoreti (4 combinazioni degli omologhi bit degli indirizzi IP dei computer della rete: 00, 01, 10, 11).

Subnet mask: 255.255.255.19210 =        11111111.11111111.11111111.110000002

Indirizzo della rete fisica: 192.168.0.0

Sottorete 0: da 192.168.0.0 a  192.168.0.63

Sottorete 1: da 192.168.0.64 a 192.168.0.127

Sottorete 2: da 192.168.0.128 a 192.168.0.191

Sottorete 3: da 192.168.0.192 a 192.168.0.255

         Le sottoreti 0 e 3 non sono utilizzabili. Ogni sottorete dispone di 64 indirizzi IP di cui solo 62 sono utilizzabili (si escludono il primo e l’ultimo di valore 0 e 63, come al solito). Infatti, potendo gestire 6 bit di indirizzo di host si possono individuare un massimo di 26=64 host da cui sottrarre il primo e l’ultimo (64-2=62).

 

Esempio 2

         Ponendo a 1 i primi 3 bit del quarto numero della subnet mask, posso individuare 8 sottoreti di cui solo 6 utilizzabili (le sottoreti 0 e 7 non sono utilizzabili cioè la prima e l’ultima della lista).

         La subnet mask vale: 255.255.255.224 e le sottoreti sono:

Sottorete 0: 192.168.0.0 - 192.168.0.31

Sottorete 1: 192.168.0.32 - 192.168.0.63

Sottorete 2: 192.168.0.64 - 192.168.0.95

Sottorete 3: 192.168.0.96 - 192.168.0.127

Sottorete 4: 192.168.0.128 - 192.168.0.159

Sottorete 5: 192.168.0.160 - 192.168.0.191

Sottorete 6: 192.168.0.192 - 192.168.0.223

Sottorete 7: 192.168.0.224 - 192.168.0.255

         Ogni sottorete dispone di 32 indirizzi IP di cui solo 30 sono utilizzabili (si escludono il primo e l’ultimo). Infatti, potendo gestire 5 bit di indirizzo di host si possono individuare un massimo di 25=32 host da cui sottrarre il primo e l’ultimo (32-2=30).

 

       Si mostra in fig. 37 una rete fisica suddivisa in 2 sottoreti logiche. Il quarto numero della subnet mask di ciascun PC vale 192 che, in binario, corrisponde a 1100000. Si possono individuare 4 sottoreti, come nell’esempio 1. Alla sottorete 1 appartengono i PC con indirizzi di host 100 e 101; alla sottorete 2 appartengono i rimanenti 3 PC con indirizzi di host 130, 131 e 132.

Fig.37. – Rete fisica suddivisa in due sottoreti logiche.

 

5.2. DNS

       Poiché non è facile ricordare a memoria l’indirizzo IP numerico del server al quale ci si desidera collegare, si è pensato di utilizzare un indirizzo mnemonico da porre in corrispondenza biunivoca con l’indirizzo numerico IP attraverso una tabella.

       L’insieme degli indirizzi mnemonici è denominato DNS (Domain Name System).

       La scelta dell’indirizzo mnemonico non è del tutto arbitraria perché deve seguire una logica che consente, seppur in minima misura, di riconoscere la natura del sito: università (edu), militare (mil), governativo (gov), commerciale (com), italiano (it), inglese (uk), svizzero (ch), francese (fr), europeo (eu), ecc. e il tipo di protocollo: ftp, www, mail, news, ecc. I vari nomi che compongono l’indirizzo sono separati tra loro da un punto. La documentazione è disponibile nella RFC 1034 ( http://www.faqs.org/rfcs/rfc1034.html).

 

       Ad esempio, i seguenti DNS individuano, rispettivamente:

http://www.tiscali.it     un server Wide World Web italiano di nome tiscali.

http://www.sony.com  un server Wide World Web commerciale di nome sony.

ftp://ftp.libero.it/pub/   la sottodirectory pub del server ftp italiano di nome libero.

       I prefissi http (HyperText Transfer Protocol) ed ftp (File Transfer Protocol) individuano il tipo di applicazione da utilizzare.

       Il protocollo per la gestione del DNS funziona nel seguente modo:

       Il coordinamento di questo complesso sistema è stato affidato ad un organismo internazionale di nome ICANN (Internet Corporation for Assigned Names and Numbers) http://www.icann.org che, a sua, volta, ha affidato il coordinamento nelle singole nazioni ad organismi nazionali. In Italia tale organismo è l’Istituto di Informatica e Telematica del CNR di Pisa che si avvale del sito con indirizzo: http://www.nic.it/RA  (RA=Registration Authority).

 

 5.3. Protocolli per la risoluzione degli indirizzi  

       Il protocollo ARP (Address Resolution Protocol, RFC 826, reperibile sul sito http://www.faqs.org/rfcs/rfc826.html ) consente di determinare l’indirizzo univoco di scheda di rete (MAC address) a partire dall’indirizzo IP del destinatario del pacchetto. Il protocollo funziona nel seguente modo: viene inviata a tutti i nodi della rete LAN una richiesta del tipo “a chi appartiene questo indirizzo IP?”; risponde solo il nodo che ha tale indirizzo fornendo anche il MAC address (fig.38).

 

 

Fig.38. - Protocollo ARP: richiesta e risposta.

 

       Vi sono alcune stazioni di lavoro senza disco fisso che non conoscono il proprio indirizzo IP. Per ottenere l’indirizzo IP la stazione invia a tutti il proprio MAC address e solo il server RARP (Reverse Address Resolution Protocol) è in grado di trasmettere l’indirizzo IP conoscendo quello fisico. Il server RARP, quindi, esegue l’operazione inversa rispetto al protocollo ARP. In fig.39 si mostra la metodologia per risalire al proprio indirizzo IP.

 

Fig.39. -  Metodo per ottenere il proprio indirizzo IP.


5.1 Indirizzi IP

5.2 DNS

5.3 Protocolli per la risoluzione degli indirizzi


a cura del prof. Giuseppe Spalierno, docente di Elettronica - ultima versione febbraio 2005