Protocolli di Rete | |||||||||||||||||||||||||||||||||||||
Protocolli di reteI protocolli sono un insieme di regole utilizzate dalle due macchine per scambiarsi informazioni e specifica cosa deve essere comunicato, in che modo e quando. Se le due macchine sono remote, si parla di protocollo di rete. Una caratteristica comune dei protocolli di rete è il loro essere strutturati in livelli sovrapposti. Il livello superiore esegue richieste al livello sottostante e i livelli uguali su macchine diverse conversano tramite lo stesso protocollo. Uno dei vantaggi dei protocolli di rete è la progettazione di uno strato che deve esaminare solo alcuni aspetti del problema. Ogni strato non dipende dall'implementazione degli altri strati. Ogni strato fornisce servizi comuni a tutte le funzioni dello strato superiore. 1.1 Modello OSIIl modello OSI è uno standard per le reti di calcolatori che stabilisce per l'architettura logica di rete una struttura composta da una pila di protocolli di comunicazione di rete suddivisa in 7 livelli, i quali insieme eseguono le funzionalità di rete. I livelli del modello OSI sono i seguenti:
1.2 TCP/IPI due protocolli TCP e IP furono concepiti da Bob Kahn e Vinton Cerf nel 1974, lo scopo era permettere l'interconnessione delle reti di calcolatori allora esistenti, come quella militare ARPANET, SATNET e altre network tecnologicamente diverse e indipendenti. Rappresenta in un certo modo l'insieme delle regole di comunicazione su internet e si basa sulla nozione d'indirizzamento IP, cioè il fatto di fornire un indirizzo IP ad ogni terminale di rete per poter inviare dei pacchetti di dati. Il modello TCP/IP, ispirato al modello OSI, riprende l'approccio modulare, ma ne contiene solo quattro:
Il livello Accesso di rete è il primo livello della pila TCP/IP,rappresenta i mezzi per realizzare una trasmissione di dati attraverso una rete. Il livello di accesso di rete contiene tutte le specifiche riguardo la trasmissione di dati su una rete fisica. Si incarica delle seguenti nozioni:
Il livello internet è il livello più importante dato che è quello che definisce i pacchetti di dati, e che gestisce le nozioni d'indirizzamento IP. Esso permette l'invio dei pacchetti di dati verso dei terminali remoti. Comprende 5 protocolli, i più importanti sono i protocolli IP, ARP e ICMP. Il livello trasporto permette a delle applicazioni che girano su terminali remoti di comunicare. Contiene due protocolli che permettono alle due applicazioni di scambiare dei dati indipendentemente dai livelli inferiori. Questi protocolli sono: -TCP: Tcp fornisce un livello di trasporto affidabile e orientato alla connessione. Per affidabile s'intende che prima di inviare i dati il server esegue l'handshaking, cioè chiede al client se è pronto a riceverli. Per orientato alla connessione s'intende la numerazione dei pacchetti in modo che il client li riceva in modo ordinato. Viene utilizzato per la sua sicurezza. -UDP: Udp fornisce un servizio di trasporto datagram-oriented (non affidabile) e non orientato alla connessione. I pacchetti quindi vengono inviati senza chiedere al client se è pronto e inviandoli in modo disordinato. Viene utilizzato per la sua velocità. Il livello applicazione contiene le applicazioni di rete che permettono di comunicare grazie ai livelli inferiori. I software di questo livello comunicano quindi grazie a TCP o UDP. Le applicazioni di questo livello sono di differenti tipi, ma la maggior parte sono dei servizi di rete, cioè delle applicazioni fornite all'utente per assicurare l'interfaccia con il sistema operativo. 1.2 APPLICAZIONI DI RETELe applicazioni di rete sono composto da diversi elementi , in esecuzione su macchine differenti, che operano in modo indipendente e che possono scambiare informazioni. Le applicazioni sono processi comunicanti e distribuiti. La comunicazione avviene utilizzando i servizi offerti dal sottosistema di comunicazione. La cooperazione può essere implementata secondo vari modelli. Il modello più diffuso è quello client/server. |
Gruppi | |||||
Applicazione - Alessandro Angelone - Mattia Vinante - Patrick Coviello - Daniel Amadori |
Documentazione - Daniele Balzamà - Matteo Forti - Lorenzo Monorchio - Giovanni Pani - Dyllan Ruales - Nicole De Min - Usama Chaudhry |
Sviluppo Web - Mateo Myftaraj - Fabio Travagli - Nicola Imperiale - Andrea Pigozzo |
LaTeX - Michele Candioli - Patrick Coviello - Michael Barba - Marco Filippi |
Traduzione - Samuele Aldi - Emil Kob - Luca Viola - Stanislav Nacu |
Project Leader - Simone Tagliapietra Coordinatori - Prof. Iaccarino - Prof. Minichiello |