Protocollo di rete
Da Wikipedia, l'enciclopedia libera.
Nell'ambito delle telecomunicazioni, due o più macchine o host (computer, telefono, stampante, ecc...) possono comunicare tra loro rispettando norme che sono dette protocolli di rete. L'aderenza ai protocolli garantisce che due software in esecuzione su diverse macchine possano comunicare correttamente, anche se sono stati realizzati indipendentemente.
Indice |
[modifica] Servizio con e senza connessione
Quando un client e un server iniziano a comunicare si possono scambiare pacchetti di controllo prima di spedire i dati reali.
Queste procedure dette di handshaking preparano le due componenti alla comunicazione. Tali procedure sono alla base, ad esempio, del TCP.
Tuttavia possono anche esserci servizi che inviano direttamente i dati come nel caso dell'UDP.
La maggior parte delle applicazioni, tuttavia, ha bisogno di inviare i dati in maniera sicura e affidabile per cui l'handshake serve proprio a questo compito. Si comprende come la connessione con TCP, ad esempio, sia più sicura ma anche più lenta perché scambia non solo dati reali, ma anche dati di servizio.
[modifica] I livelli
Ciascun protocollo regola normalmente solo una parte degli aspetti di una comunicazione. I diversi protocolli sono organizzati con un sistema detto "a livelli" : a ciascun livello viene usato uno specifico protocollo.
La divisione in livelli è fatta in modo tale che ciascuno di essi utilizzi i servizi offerti dal livello inferiore, e fornisca servizi più "ricchi" a quello superiore. I diversi livelli in un host comunicano tra loro tramite le interfacce (figura 2). Ogni livello parla solo con quello immediatamente superiore e con quello immediatamente inferiore. I protocolli regolano invece la comunicazione tra due entità dello stesso livello, che serve a fornire servizi al livello superiore.
I vari livelli sono organizzati in pile di protocolli (figura 3). Le pile di protocolli sono un modo flessibile per combinare componenti per realizzare un servizio.
Un esempio reale di una organizzazione a livelli protocollari, classico nelle trattazioni inerenti le reti di calcolatori, è quello del percorso di una valigia in un viaggio aereo partendo dalla casa di origine all'hotel di destinazione. Il primo livello che notiamo è quello della preparazione della valigia: il turista prende i vestiti e ve li ripone per poi chiuderla, come ciò viene fatto è definito dal protocollo del primo livello. Il secondo livello è quello dell'addetta alle valigie all'aeroporto di partenza, il turista le consegna la valigia (passaggio dal primo al secondo livello) e l'addetta attacca alla valigia le informazioni relative al volo e alla destinazione. Qui notiamo l'aspetto fondamentale dell'organizzazione a livelli protocollari, cioè che per l'addetta non è necessario conoscere come i vestiti sono stati riposti nella valigia, altresì non è necessario per il viaggiatore conoscere le operazioni che deve effettuare l'addetta, egli infatti otterrà ciò che vuole (avere i vestiti all'hotel d'arrivo), senza che ciò influisca affatto su come gli altri protocolli debbano lavorare, a patto che lo facciano correttamente.
La struttura serve ad adempiere ad alcuni compiti:
- controllo dell'errore;
- controllo del flusso;
- frammentazione e riassemblaggio;
- multiplexing, in modo che sessioni dello strato più alto possano condividere una singola connessione dello strato più basso;
- instaurazione della connessione.
Tale architettura presenta vantaggi concettuali e strutturali anche se alcuni si sono opposti in maniera decisa in quanto uno strato spesso duplica le funzionalità di un altro strato in maniera ripetitiva.
Ad esempio, il servizio di ADSL viene fornito con diverse modalità, le più comuni sono chiamate PPP over ATM (ovvero il protocollo Point to Point usa i servizi forniti dal protocollo ATM) e PPP over Ethernet.
Il livello più basso (1) è detto "livello fisico" e si occupa di gestire la trasmissione dei segnali attraverso il mezzo di trasporto (cavo, fibra ottica, infrarossi, ecc...). Il livello più elevato è chiamato "livello applicativo" ed è quello che permette all'utente di creare il messaggio da comunicare.
La divisione in livelli è piuttosto rigida a livello di specifica dei protocolli, mentre nell'implementazione spesso diversi livelli vengono implementati insieme in uno stesso modulo software.
Non è detto che due macchine che comunicano usino la stessa pila di protocolli. Ad esempio, se vi connettete ad internet attraverso un modem voi appoggiate il livello di rete IP su una connessione PPP, mentre il server a cui vi collegate probabilmente appoggia la rete IP su una connessione ethernet.
In una rete a pacchetto ciascun livello della "pila protocollare" aggiunge ai pacchetti una intestazione, attraverso una operazione detta imbustamento. Il termine si applica anche ad alcune reti a commutazione di circuito, come SDH, dove l'imbustamento è un circuito dedicato a trasmettere informazioni di controllo.
[modifica] L'ISO
L'International Standard Organization (ISO) nel 1979 ha stabilito il protocollo Open Systems Interconnection (OSI), con l'intenzione di creare uno standard per le telecomunicazioni da usare nelle reti di tutto il mondo. All'atto pratico però, lo standard de facto che viene comunemente usato nella maggior parte delle reti, è il TCP/IP, definito nella RFC 1155. Le differenze fondamentali dei due standard sono semplici: il primo è stato definito a tavolino da un'organizzazione super partes, mentre il secondo è opera di chi costruì materialmente le prime reti, sviluppandolo sul campo. Inoltre, lo standard ISO/OSI assegna un determinato compito ad ogni livello, mentre il TCP/IP è più "elastico" e permette di sviluppare protocolli che svolgono più di un compito-base.
[modifica] Elenco di protocolli di rete secondo ISO/OSI
Nella seguente suddivisione, si segue lo standard ISO/OSI. Tale classificazione ha ormai solo un valore concettuale, ed infatti i protocolli elencati sono usati principalmente in combinazione con la suite TCP/IP.
Bisogna anche osservare che IP, per la sua natura di protocollo di inter-networking, utilizza protocolli che hanno le caratteristiche di un protocollo di rete, come ATM o frame relay, per realizzare la funzione corrispondente al livello di collegamento. Quindi IP, come viaggia su ethernet, può viaggiare su ATM o frame-relay. Proprio per questo, motivo Internet è detta "rete delle reti".
- Livello 1: fisico
- Bluetooth
- DSL Digital Subscriber Line
- RS-232
- Ultra Wide Band (UWB)
- Livello 3: rete
- IP Internet Protocol
- IPX
- ATM
- Frame Relay
- X.25
- Livello 7: applicazione
- protocolli di servizio:
- DHCP Dynamic Host Configuration Protocol
- DNS Domain Name Service
- Finger Servizio unix che fornisce informazioni sugli utenti
- NTP Network Time Protocol
- SNMP Simple Network Management Protocol
- LDAP Lightweight Directory Access Protocol
- protocolli di accesso a terminali remoti
- Telnet
- SSH Secure shell
- protocolli usati per realizzare il servizio di posta elettronica e newsgroup
- protocolli di trasferimento file
- protocolli di servizio:
[modifica] Implementazione
I livelli visti precedentemente sono una suddivisione concettuale, ma la loro implementazione non è uniforme. Infatti il livello fisico e quello di collegamento di solito sono presenti sulla scheda di interfaccia della rete, mentre il livello di rete ha un'implementazione mista hardware-software, e i livelli superiori sono normalmente implementati in software (anche se alcune schede di rete possono prendersi carico di alcune operazioni di competenza di TCP). Il livello di trasporto è normalmente implementato all'interno del sistema operativo in spazio kernel, mentre il livello applicativo è implementato da processi in spazio utente.
Inoltre, osservando un pacchetto (reti) in transito (ad esempio, con uno sniffer), è possibile vedere che il pacchetto inizia con gli header dei livelli più bassi, fino al livello di trasporto. Il carico utile del livello di trasporto è organizzato dal livello applicazioni. Talvolta sono presenti anche dei "trailer", ovvero altre intestazioni di servizio poste in fondo al pacchetto. Questi si trovano in ordine inverso, ovvero si incontrano prima i trailer di livello superiore. Si veda anche imbustamento (reti)
[modifica] Voci correlate
Portale Informatica: accedi alle voci di Wikipedia che parlano di Informatica