PROTOCOLLI sotto l’aspetto della portabilità 2

Protocolli di comunicazione

Un protocollo di comunicazione è un insieme di regole che vengono stabilite per instaurare una comunicazione corretta. Ad esempio due persone di differenti madrelingue potrebbero mettersi d’accordo nell’utilizzo della lingua italiana per comunicare. Dunque  un protocollo prevede la definizione dei linguaggi costituiti dai messaggi scambiati. Messaggi che devono potersi interpretare correttamente. Attenersi ai protocolli garantisce che due software in esecuzione su diverse macchine possano comunicare efficacemente.

Portabilità di protocolli

Anche se sono stati realizzati indipendentemente, cioè interoperabili. È evidente l’importanza della standardizzazione dei protocolli di rete. L’implementazione informatica dei protocolli di rete definisce, all’interno dell’architettura di rete, il cosiddetto software di rete. Esso è presente usualmente all’interno del sistema operativo ed elaborato dalla scheda di rete. Si considerino dunque le questioni seguenti:

1.Dipendenza dall’hardware

Molti protocolli contengono quantità binarie, come interi e numeri in virgola mobile. Questi protocolli sono in genere non trasportabili, visto che macchine diverse utilizzano metodi diversi di allineamenti di bit e byte per rappresentare tali quantità. Poi non tutte le macchine utilizzano lo stesso numero di bit per la loro rappresentazione. Infatti ci sono macchine che hanno interi di 16 bit, altre interi di 32 bit. Le dipendenze dall’hardware nei protocolli provocano quasi sempre problemi seri, visto che rendono impossibile la comunicazione tra macchine eterogenee mediante il protocollo. Ad esempio se una macchina A invia un intero nel formato suo proprio ed esso viene ricevuto da una macchina B, che ha un diverso formato di byte, la macchina B riceverà il formato sbagliato.

2. Compatibilità verso l’alto

I programmi sono modificati correggendo gli errori logici, aggiungendo qualche caratteristica e riscrivendo parti di codice. Quando il codice è modificato, spesso anche il protocollo viene cambiato. Se il protocollo contiene delle strutture a queste vengono aggiunti nuovi campi. E se sono aggiunti al protocollo nuovi comandi o opzioni , il programma che si interfaccia col protocollo deve essere aggiornato per poter interpretare anche le nuove caratteristiche. Quando il programma è distribuito ad alcuni utenti e il suo utilizzo comincia a diffondersi, ci si dovrà preoccupare delle vecchie versioni del programma all’altra estremità della connessione e dei vecchi file creati usando la vecchia versione del programma.

Struttura dei protocolli

  • Una struttura è un insieme di relazioni tra elementi di vario tipo (materiali, immateriali, filosofici, ideali, concettuali, procedurali e anche umani), imposte seguendo una logica, che producono un sistema funzionante e funzionale. Nel momento in cui ad un semplice insieme di elementi si dà una struttura, questo diventa un sistema. Una struttura permette il trasferimento di un carico da una parte ad un’altra.

Campo

  • Il campo è la rappresentazione di un dato su un supporto elaborabile. Nello specifico nei supporti elaborativi il dato può essere visto come una sequenza di caratteri alfanumerici, valori numerici o caratteri speciali espressi nella forma originale o codificata. Esempi di campo sono la data di pubblicazione di un libro oppure il cognome di uno studente.)

Documentazione

Un protocollo si può definire in due modi uno è mediante il “codice”. L’altro è di creare un documento che definisca esattamente di cosa è formato e in cosa consiste il protocollo.
Se si permette che il protocollo sia definito dal codice sorgono seri problemi. Essi si manifestano quando il protocollo viene trasportato su nuove macchine o vengono apportate modifiche.

Un testo, un documento scritto, consente, non solo di fornire un’architettura aperta, informando su cosa deve fare una nuova implementazione per conformarsi al protocollo. Ma aiuta l’autore a trovare le incoerenze le incongruenze e scoprire le dipendenze del protocollo stesso. Uno svantaggio del documento è che potrebbe essere non univoco. Per cui un’altra implementazione potrebbe conformarsi al documento e però non essere in grado di comunicare con la prima implementazione.

È necessario un compromesso tra prestazioni e trasportabilità. Il protocollo non deve risultare troppo pesante per le risorse del sistema.