back to top

I protocolli (il TCP/IP) – parte 1

6.1 Definizione

La definizione di “Protocollo” tratta dal dizionario della lingua italiana Devoto-Oli recita : “… Il complesso delle norme relative alla redazione dei documenti diplomatici o anche all’applicazione del cerimoniale diplomatico … “.

Abbiamo già accennato, vedi par. 5.1, al fatto che due computer che vogliano comunicare possono farlo solo adottando una lingua comune ma mentre abbiamo utilizzato il termine “standard” per definire la convenzione relativa alla tensione elettrica che una scheda di rete trasmette sul cavo per rappresentare un 1 binario, vista la definizione di cui sopra, è più appropriato parlare di “protocollo” quando si definisce l’insieme di regole che consente di trasferire file da un capo all’altro del mondo (FTP – File Transfer Protocol) o di digitare nella barra degli indirizzi del proprio browser www.mrwcorsi.it e di ricevere in risposta testo e/o immagini e/o suoni (http – Hyper Text Transfer Protocol) senza neppure sapere dove si trovi il computer o i computers che ce li inviano.

E’ facile immaginare che come è avvenuto per Ethernet anche i protocolli cui abbiamo appena accennato (FTP, HTTP, SMTP ecc… ecc… ) hanno subito un processo di standardizzazione cui accenneremo nel seguito ma è probabile che a questo punto vi stiate domandando: come si passa dal bit 0 o 1 rappresentato attraverso un segnale elettrico inviato su un cavo in rame alla navigazione del web?

Trattandosi di una lunga storia credo sia il caso di cominciare dall’inizio.

6.2 C’era una volta

In America nel 1969 un ente denominato Advanced Research Projects Agency (ARPA) fu incaricato di progettare una rete di computer che potesse essere utilizzata dai vertici militari per comunicare anche in caso di guerra nucleare!?!?

Nacque il progetto della rete ARPANet per la quale, visti gli ambiziosi propositi, furono stabiliti i seguenti requisiti:

  1. Indipendenza dall’hardware: doveva poter essere utilizzato sulle macchine di qualsiasi produttore;
  2. Indipendenza dal software: due macchine connesse alla rete dovevano poter comunicare anche se equipaggiate con software completamente diversi;
  3. Capacità di gestire la trasmissione dei dati anche in presenza di alti tassi di errore: resistenza a condizioni quali l’improvvisa indisponibilità di una macchina connessa alla rete o di un intero ramo della rete stessa;
  4. Instradabilità: Capacità di portare a termine la trasmissione dei dati qualunque fosse la destinazione
6.3 Lo standard OSI

Lo sviluppo di un protocollo di comunicazione di rete richiede di dare risposta ad una enorme quantità di domande di cui possiamo fare un piccolissimo esempio:

  • Che tipologia di cavo collega fra loro i computer della rete?
  • In che modo i dati vengono trasmessi lungo il cavo?
  • Come fa ognuno dei computer della rete a sapere quando è il momento di trasmettere i dati?
  • Come fa ognuno dei computer della rete a sapere quanti dati può trasmettere in un dato istante?
  • Come si fa a garantire che due computer con sistemi operativi diversi e diversa rappresentazione dei dati possano comunicare?
  • Il computer che riceve i dati come fa ad essere certo della loro correttezza?
  • Il computer che trasmette i dati come fa ad essere certo che siano giunti a destinazione?
  • … …
Ancora una volta per evitare che ogni produttore trovasse una soluzione incompatibile con quelle dei suoi concorrenti un organismo internazionale, l’International Organization for Standardization (ISO), si occupò di creare un modello cui tutti potessero fare riferimento noto come standard OSI (Open Standards Interconnection) da utilizzare come linea guida nello sviluppo di un protocollo.

Il concetto più importante introdotto dal modello OSI [Fig. 9] è certamente quello della suddivisione del protocollo in strati o “livelli” (7 per la precisione) che tradotto significa:

dividiamo in gruppi/livelli le operazioni che si fanno sui dati, partendo dall’applicazione che richiede il trasferimento del file fino ad arrivare alla scheda che trasmette sul cavo i bit che rappresentano il file in questione, e stabiliamo per ogni livello l’insieme delle regole standard da rispettare in modo che il produttore di quanto si colloca al livello fisico (scheda di rete, apparati di rete e cavi) si preoccuperà solo di aderire allo standard per quello che riguarda la codifica dei dati attraverso segnali elettrici da far viaggiare nei fili, il produttore del sistema operativo avrà cura di adeguare allo standard gli strati software collocati subito sopra il livello fisico, il produttore degli applicativi (es.: client FTP) dovrà limitarsi a rispettare gli standard relativi alla sua fascia del protocollo (Applicazione) ed ogni strato potrà utilizzare i servizi messi a disposizione dagli strati sottostanti senza aver bisogno di conoscere i dettagli della loro realizzazione.

Il risultato finale è uno o più protocolli per ogni strato del modello che lavorando insieme agli strati superiori e sottostanti costituisce quello che si usa definire una “suite” di protocolli che è poi la definizione più corretta per il TCP/IP.

Il modello OSI però è, appunto, solo un modello che in quanto tale da delle indicazioni non rigide e credo che nessun protocollo ad esso ispirato sia costituito esattamente dai suoi 7 livelli cosa che vale anche per il TCP/IP il cui sviluppo, fra l’altro, fu avviato prima della definizione formale del modello OSI e che si basa su una struttura a 4 livelli [Fig. 10] in cui il livello APPLICATION del TCP/IP svolge le funzioni previste dai livelli APPLICATION/PRESENTATION/SESSION del modello OSI.

Proviamo a chiarire con un esempio facendo un parallelo fra l’utilizzo di un browser per visualizzare una pagina del sito www.mrwcorsi.it ed un trasloco (!?) e riferendoci alle figure 9, 10 e 11.

Pubblicitร 
Articolo precedente
Articolo successivo