I protocolli di rete: le basi dello scambio di dati elettronico
Forse anche a voi è già capitato di trovarvi di fronte a questo problema: il computer è avviato, il browser aperto, ma al posto dell’homepage compare solo una pagina di errore che informa come non si possa stabilire una connessione ad Internet. Controllando il router e il cavo di rete non si riscontrano impostazioni errate e solo avviando una diagnosi degli errori si scopre quale sia il problema: sul computer manca almeno un protocollo di rete. In alcuni casi basta utilizzare la risoluzione dei problemi di rete automatica e riavviando il sistema l’errore è risolto.
Spesso però il protocollo continua a mancare o il messaggio di errore si ripresenta successivamente. Le possibili cause di questo errore possono essere driver datati, ma anche complicazioni con l’antivirus o il firewall utilizzati. Ma perché i protocolli di rete ricoprono un ruolo così decisivo nello stabilire una connessione ad Internet? Lo si comprende concentrandosi meglio sui diversi tipi di protocolli di rete e le loro funzioni.
- Certificato SSL Wildcard incluso
- Registrazione di dominio sicura
- Indirizzo e-mail professionale da 2 GB
Che cos’è un protocollo di rete?
Per collegare il computer in una rete di computer sembrerebbe che basti connetterli tra di loro tramite un cavo LAN. Senza un aiuto i sistemi di computer non sono però in grado di scambiarsi i pacchetti e non possono neanche stabilire una connessione dati. Hanno questo compito i protocolli di rete che operano nella rete della corrispettiva famiglia di protocolli sul livello di rete (il livello 3 del modello ISO/OSI). Comprendono accordi per lo scambio di dati e regolano così i prerequisiti per il trasporto collegato, i metodi di indirizzamento, l’instradamento (il percorso del pacchetto) e la verifica degli errori. Affinché due computer possano comunicare tra di loro, hanno bisogno degli stessi protocolli di rete. Si accordano così sulle condizioni per la successiva trasmissione che sono premesse al relativo pacchetto come header o inserite come trailer, ovvero:
- Le dimensioni del/dei pacchetto/i
- Il tipo di pacchetto
- Il mittente e il destinatario
- Gli altri protocolli coinvolti
Perché ci sono diversi protocolli di rete?
Non tutte le connessioni dati tra sistemi di computer avvengono secondo lo stesso schema. Di conseguenza c’è differenza se due computer sono connessi tra di loro in una rete casalinga o fanno parte di un’enorme rete di computer su Internet e inviano i dati a più destinatari. Allo stesso modo nella comunicazione sono molto importanti le gerarchie, perciò esistono anche diversi protocolli di rete per le singole forme di comunicazione. Così si presentano i seguenti possibili scenari di utilizzo e caratteristiche distintive:
- Il numero dei partecipanti alla comunicazione: i protocolli di rete si possono distinguere considerando il numero di computer che possono essere coinvolti nella connessione. Se i dati trasmessi, ad esempio, si indirizzano ad un unico destinatario, si parla di una trasmissione Unicast, mentre due computer si scambiano dati tramite una connessione Multicast; l’invio di pacchetti a tutti i partecipanti della rete prende il nome di Broadcasting, un tipo di connessione famoso nelle trasmissioni radio e televisive.
- Il percorso del flusso di dati: la direzione in cui confluisce il flusso di dati è un'altra proprietà che differenzia i protocolli di rete gli uni dagli altri. Così i protocolli supportano con la trasmissione simplex la comunicazione unilaterale, in cui un computer solo funge da mittente e un altro da destinatario. Nella trasmissione half-duplex gli utenti coinvolti nella comunicazione si scambiano a rotazione i pacchetti, nel funzionamento full-duplex i dati possono venire inviati contemporaneamente e in entrambe le direzioni.
- La gerarchia presente nella comunicazione: forme di connessione precise, come il modello client-server, si basano su strutture gerarchiche ben definite. Nel caso citato diversi client iniziano ad esempio la connessione ad un unico server che elabora così le richieste. Il contrario di questa comunicazione asimmetrica, cioè la comunicazione simmetrica, viene anche denominata come connessione peer-to-peer, che collega quindi un computer ad un altro. In questa struttura tutti i computer hanno gli stessi permessi e possono così sia mettere a disposizione che utilizzare i servizi.
- Sincronizzazione della comunicazione: la trasmissione dei dati può inoltre differenziarsi in tal senso: o i singoli bit scambiati tra mittente e destinatario vengono sincronizzati (comunicazione sincrona) o no (trasmissione dei dati asincrona). Maggiori informazioni vengono ricavate considerando la comunicazione a scambio di messaggi.
- Tipo di connessione: in più si possono dividere i protocolli di rete in protocolli orientati alla connessione e senza connessione. I primi presuppongono che la connessione tra mittente e destinatario debba sussistere per l’intera durata della trasmissione e cercano di consentire che i pacchetti arrivino in una successione precisa e che vengano inviati nuovamente nel caso in cui l’invio non riesca, mentre gli ultimi rinunciano all’attivazione e alla disattivazione della connessione, motivo per cui i pacchetti inviati contengono meno informazioni aggiuntive. Tuttavia, possono arrivare al destinatario in una successione arbitraria e non vengono automaticamente rinviati in caso di una trasmissione errata.
Tralasciando l’aspetto tecnico, la varietà dei protocolli di rete deriva anche dal fatto che molti produttori in passato hanno sviluppato dei loro protocolli specifici o uno stack di protocolli per i loro dispositivi.
Quali protocolli di rete ci sono?
Per il livello di rete c’è perciò, come anche per tutti gli altri livelli, una serie di protocolli standardizzati, ma anche proprietari, che si adattano ai diversi settori di applicazione e sono o erano in parte circoscritti a precisi sistemi operativi e dispositivi. Molti di questi protocolli non sono oggigiorno infatti più utilizzati, cosa che è soprattutto riconducibile alla crescente diffusione della famiglia di protocolli Internet. Questo stack con oltre 500 protocolli comprende anche il più importante e il più conosciuto protocollo di rete IP (Internet Protocol), che sta alla base di Internet.
Il protocollo Internet ha il compito di trasportare i pacchetti da un mittente tramite più reti ad un destinatario e per questo sono state stabilite le linee guida per l’indirizzamento e l’instradamento, quindi il percorso dei pacchetti. L’IP non è solo utilizzato per le WAN (Wide Area Network), le uniche reti mondiali che collegano Internet ai vari computer, ma rappresenta anche il protocollo di rete standard per le reti locali. Viene supportato da tutti i produttori e i sistemi operativi, ma prevede anche le competenze necessarie in ambito della configurazione, oltre che l’hardware giusto (router).
La seguente tabella mostra un quadro generale dei protocolli di rete più importanti nel tempo:
Protocollo di rete | Licenza | Piattaforme | Descrizione | Funzioni | Punti deboli |
---|---|---|---|---|---|
IP (Internet Protocol) | Libera (RFC 791 / 2460) | Multipiattaforma | Senza connessione; lunghezza di indirizzo: 128 bit (IPv6) / 32 bit (IPv4) | Instradamento, indirizzamento | Stack di protocolli molto complesso; funzioni di sicurezza non implementate sin dall’inizio (IPv4) |
ARP (Address Resolution Protocol) | Libera (RFC 826) | Multipiattaforma | Componente di unione tra il livello 2 e 3 con propria funzione di caching | Adress Mapping (assegnazione di indirizzi MAC e IP) per IPv4 | Nessuna verifica possibile dell’assegnazione corretta e quindi vi è collegato il rischio di ARP spoofing |
NDP (Neighbor Discovery Protocol) | Libera (RFC 4861) | Multipiattaforma | Componente di unione tra il livello 2 e 3 con propria funzione di caching | Adress Mapping per IPv6; individuazione di indirizzi IP doppi | Protezione contro lo spoofing non integrata di serie (richiede l’estensione SEND) |
ICMP (Internet Control Message Protocol) | Libera (RFC 792) | Multipiattaforma | Componente indipendente di IPv4 | Scambio di informazioni e messaggi di errore | Può essere sfruttato su un dispositivo per attacchi DoS e DDoS |
SNA (Systems Network Architecture) | Proprietaria (IBM) | Dispositivi IBM | Precedente architettura di rete gerarchica con diversi protocolli | Collega i computer e le sue risorse nelle reti SNA | Connessione a reti SNA estranee prima molto complicata; costi elevati in proporzione |
NBF (NetBIOS Frames Protocol) | Proprietaria (Microsoft) | Windows (fino alla versione 2000) | Protocollo precedente per sistemi Windows | Comunicazione con livello di presentazione (NetBIOS) e il livello di collegamento (LLC) | Non supporta il routing; adatto solo a piccole reti fino ad un massimo di 20 computer |
IPX (Internetwork Packet Exchange) | Proprietaria (Novell) | NetWare (sistema operativo di rete non più supportato), Linux, Windows | Protocollo senza connessione, che assomiglia funzionalmente all‘IP; lunghezza di indirizzo: 80 bit (48 bit indirizzo host, 32 bit numero di rete) | Instradamento, indirizzamento | Non adatto a reti più grandi WAN |
DDP (Datagram Delivery Protocol) | proprietaria (Apple) | Dispositivi AppleTalk supportati (fino a Mac OS X 10.6) | Componente dello stack di protocolli non più supportati di AppleTalk; senza connessione; lunghezza dell’indirizzo: header massimo 13 byte e 587 byte di dati utente | Instradamento, indirizzamento | Rischio di AppleTalk spoofing; trasmissione dei dati più debole per via delle dimensioni inferiori dei pacchetti |
OSPF (Open Shortest Path First) | Libera (RFC 2328) | Multipiattaforma | Protocollo di rete che si basa sull’algoritmo Dijkstra e particolarmente adatto alle reti aziendali | Ottimizza l’instradamento per i costi di trasmissione; bilanciamento del carico dinamico | Elevate capacità richieste al processore e necessità di un notevole spazio di archiviazione; configurazione e gestione complessa |
I protocolli di trasferimento sono responsabili del trasporto dei pacchetti
Dopo aver stabilito i protocolli del livello di collegamento come base per la comunicazione, c’è bisogno di altri protocolli, di modo che i pacchetti arrivino alle applicazioni corrispondenti. Nell’ambito del modello ISO/OSI l’inoltro avviene sul livello di trasporto (livello 4). Anche qui ogni stack possiede il suo protocollo. Per la famiglia di protocolli Internet si individuano in particolare:
- TCP (Transmission Control Protocol)
- e UDP (User Datagram Protocol).
Il protocollo TCP, nominato per primo, a partire dal grande successo di Internet si è trasformato come IP in uno standard per le connessioni di rete. Nella maggior parte dei casi si basa sull’IP, perciò si parla anche spesso di reti TCP/IP. Come protocollo orientato alla connessione il TCP prevede una connessione esistente tra i partecipanti della comunicazione per il trasporto dei pacchetti, inoltre garantisce il trasporto stabile dei dati, così che tutti i pacchetti arrivino ai destinatari per intero e nella giusta sequenza. Per realizzarlo, il protocollo aggiunge ai pacchetti informazioni aggiuntive, come un numero di sequenza e una checksum.
Invece, il protocollo UDP fa parte della famiglia dei protocolli Internet per la trasmissione veloce e di pacchetti più piccoli senza connessione. Le connessioni UDP non offrono perciò alcuna sicurezza che un pacchetto arrivi al destinatario, ma in compenso, grazie alla gestione dei dati bassa (informazioni aggiuntive nell’header), risultano molto più veloci per il trasferimento dei dati, dove i più piccoli errori di trasmissione non presentano alcuna difficoltà. Per questo motivo il protocollo UDP (User Datagram Protocol) viene utilizzato per gli streaming audio e video, per le richieste DNS e le connessioni VPN (Virtual Private Network), ma non solo.
Come la famiglia di protocolli Internet, anche altri stack di protocolli dispongono di protocolli di trasmissione specifici, che si basano sui protocolli di rete e sono molto simili a quello TCP. Le reti Novell utilizzano per il traffico dati nel livello di trasporto il protocollo SPX (Sequenced Packet Exchange), mentre nello stack di AppleTalk il trasporto dei pacchetti avviene grazie all’ATP (AppleTalk Transaction Protocol).