Protocolli Comunicazione tra Computer Modello di un Sottosistema
Transcript
Protocolli Comunicazione tra Computer Modello di un Sottosistema
Comunicazione tra Computer I se m estre 02/03 Lo scambio di informazioni tra entità in Protocolli esecuzione su sistemi distinti è detto computer communication L’insieme dei computer interconnessi tramite una rete di comunicazione è detto computer network Lo scambio di dati tra due entità è un’operazione molto complessa che richiede di esaminare numerosi aspetti Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 2 Modello di un Sottosistema di Comunicazione Astrazione di Sottosistema di Comunicazione L’astrazione comunicazione tra applicazioni di un sottosistema di comunicazione è organizzato a strati (livelli) sovrapposti uno strato definisce un'astrazione di una parte del sottosistema di comunicazioni ogni strato è costruito sugli strati inferiori la progettazione di uno strato deve esaminare solo un aspetto del problema ogni strato non dipende dall'implementazione degli altri stati uno strato fornisce servizi comuni a tutte le funzioni dello strato superiore implementa la logica dell’applicazione comunicazione tra calcolatori implementa il servizio di trasmissione affidabile comunicazione tra dispositivi fisici Vantaggi 3 difficile progettare un software che possa gestire tutti gli aspetti della comunicazione 4 consente la trasmissione di dati attraverso una rete di comunicazione Esempio: Trasferimento di File Servizi e Protocolli Uno strato fornisce servizi allo strato superiore nascondendogli i dettagli relativi all'implementazione Lo strato utilizza il modulo di servizi di comunicazione fornisce servizi comuni a tutte le applicazioni Protocollo sia per il trasferimento file che per la posta elettronica, ecc. l’implementazione del modulo di accesso alla rete dipende dalla rete fisica 5 tutti i dettagli legati alla rete sono confinati in questo modulo il modulo di servizi di comunicazione può essere implementato in modo indipendente dalla rete 6 Architettura di Rete sottosistema di comunicazione, con le specifiche dei servizi offerti e dei protocolli utilizzati costituisce l’architettura di rete (o architettura protocollare) comprende solo implementazioni specifiche funzionali e non L’insieme dei protocolli utilizzati dai vari strati di un’architettura è detta suite (gerarchia) 7 insieme di regole utilizzate dalle due entità per scambiarsi informazioni specifica cosa deve essere comunicato, in che modo e quando Architettura di Rete a Strati L’insieme degli strati in cui è diviso il i servizi dello strato inferiore la collaborazione dell’entità dello strato equivalente (peer) del sistema destinatario 8 Modello di Progettazione 9 Esempio di Architettura di Rete 10 Modello Semplificato a Tre Livelli Livello di Accesso alla Rete Livello di accesso alla rete Livello di trasporto Livello delle applicazioni Si occupa di scambio di dati tra computer e rete identificazione di sorgente e destinazione specifica del tipo di servizio richiesto dipende dal tipo di rete fisica utilizzata 11 12 esiste un’implementazione diversa per ogni tipo di rete i livelli superiori sono isolati da tali differenze Livello di Trasporto Livello delle Applicazioni Si occupa di garantire uno scambio affidabile dei dati Si occupa di fornire i servizi associati ad ogni applicazione controllo degli errori controllo della sequenza dei pacchetti richiesta di ritrasmissione controllo del flusso es. e-mail, ftp, http supporta diverse applicazioni ogni applicazione ha i propri servizi Indipendente dalla rete e dall'applicazione 13 14 Interfacce e Servizi Punti di Accesso La comunicazione tra strati adiacenti avviene I servizi di uno strato sono disponibili presso un SAP (service access point) tramite un'interfaccia definisce quali servizi offre lo strato inferiore e quali sono le operazioni corrispondenti lo strato superiore richiede il servizio invocando l'operazione sportello dove è disponibile il servizio in genere implementato come coda di messaggi Ogni SAP ha un indirizzo univoco ogni servizio è implementato da primitive per questioni di efficienza la richiesta del servizio non è necessariamente una chiamata a funzione 15 16 L’utente deve specificare l’indirizzo del SAP per il servizio richiesto esistono diversi livelli di indirizzamento, uno per ogni livello Esempio Implementazione del Servizio Applicazione L’utente invia una IDU(interface date unit) al Punto di accesso al servizio Trasporto SAP Indirizzo di rete Accesso alla Rete Il fornitore preleva una IDU dal SAP ed esegue Applicazione Rete di Telecomunicazione Applicazione la corrispondente primitiva di servizio Trasporto crea uno o più PDU (Protocol Date Unit) e li trasmette al suo pari per trasmettere un PDU richiede un servizio al suo fornitore Accesso alla Rete Trasporto 17 Accesso alla Rete contiene informazioni di controllo e dati 18 Tipi di Servizi Protocol Data Unit Orientati alla connessione Ogni protocollo prevede lo scambio di pacchetti i dati viaggiano in ordine sullo stesso percorso affidabile (dati persi vengono ritrasmessi) (Protocol Data Unit) Una PDU contiene Senza connessione ogni pezzo di dato viaggia per suo conto con o senza riscontro di ricezione intestazione o header (dati di controllo aggiunti dal protocollo) corpo o body (dati utente) coda o tail (dati di controllo aggiunti dal protocollo) Header e tail sono usate dal protocollo per controllare la comunicazione 19 20 Informazioni di Controllo Esempio di comunicazione L’header di una PDU contiene informazioni utilizzate dall’entità del protocollo Esempi indirizzo del sistema e del SAP di destinazione numero di sequenza (per poter riordinare le PDU) codice per la individuazione di errori di trasmissione codice identificativo di servizi particolari (es. priorità) 21 22 Progettazione di un Protocollo Incapsulamento Ogni protocollo deve definire regole per regolare i seguenti aspetti Definisce quali informazioni di controllo vengono aggiunte ai dati e come vengono organizzate all’interno di una PDU • indirizzamento • segmentazione e riassemblaggio • incapsulamento • controllo della connessione • controllo degli errori • controllo del flusso • multiplexing • servizi di trasmissione un protocollo non deve necessariamente gestire 23 tutti gli aspetti 24 indirizzi, controllo protocollo degli errori, controllo del Frammentazione e Riassemblaggio Controllo della connessione Divide un messaggio in blocchi di dimensione Per servizi orientati alla connessione il fissata protocollo deve provvedere a ogni blocco inserito in una PDU Vantaggi controllo errori su ogni blocco utilizzo equo del mezzo trasmissivo in caso di errori ritrasmissione solo di un blocco minori ritardi buffer di dimensione ridotte creare la connessione trasferire i dati chiudere la connessione Svantaggi 25 maggiore elaborazione minor throughput 26 Fasi di una Connessione Controllo degli Errori e del Flusso Nella fase di creazione della connessione le Il controllo degli errori serve ad individuare eventuali alterazioni dei informazioni di controllo entità si accordano su come scambiarsi i dati in casi semplici il ricevente accetta o rifiuta altrimenti viene eseguita una negoziazione All'interno della connessione controlli per corretta sequenza dei blocchi di dati controllo degli errori controllo del flusso 27 o delle implementato in due fasi: individuazione degli errori e ritrasmissione dei dati a volte si usano codici che riescono ad individuare e correggere gli errori Il controllo del flusso è utilizzato dal ricevente per limitare la velocità con cui la sorgente gli invia i dati Nella fase di terminazione le due entità concordano di chiudere la comunicazione dati 28 la sorgente non deve inviare più dati di quanti il ricevente possa ricevere Livelli di Indirizzamento (TCP/IP) Indirizzamento Identificazione univoca di un'entità nella rete esistono diversi livelli di indirizzamento ogni livello ha una propria visibilità Indirizzo fisico (locale ad una rete) livelli di indirizzamento indirizzo MAC Indirizzo di rete (globale sull’interrete) visibilità indirizzo IP (TCP/IP) o Network Service Access Point (OSI) modalità di indirizzamento Indirizzo del processo (locale al sistema) numero di porta (TCP/IP) o Service Access Point (OSI) 29 30 Tipi di indirizzamento Multiplexing Indirizzi assegnati a host o processi Corrispondenza di più connessioni ad un livello con una sola connessione al livello inferiore Unicast multicast broadcast é necessario un meccanismo di disaggregazione Identificatori assegnati alla connessione (circuiti (demultiplexing) virtuali) 31 consente di aggregare i dati e ottimizzare l'efficienza della trasmissione riduce overhead istradamento fissato per la connessione 32 Servizi di trasmissione Priorità precedenza ai messaggi di controllo Quality of service minimo ritardo accettabile minimo throughput accettabile Sicurezza 33 restrizioni di accesso