Protocolli di rete - www3
Transcript
Protocolli di rete - www3
Protocolli di rete Vittorio Maniezzo Università di Bologna Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 1/30 Strati di protocolli (Protocol Layers) Le reti sono complesse! Molti elementi: – host – router – link fisici dalle caratteristiche diverse – applicazioni – protocolli – hardware, software Vittorio Maniezzo – Università di Bologna Problema: Come organizzare la struttura della rete? 02 – Protocolli - 2/30 1 Esempio di stratificazione: servizio postale Attività a diverso livello di astrazione Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 3/30 Servizio postale: una prospettiva diversa Strati: ogni strato implementa un servizio – Mediante funzionalità interne – Usando i servizi messi a disposizione dagli strati inferiori Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 4/30 2 Stratificazione del servizio postale Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 5/30 Strati di protocolli • Il modello a strati é una soluzione al problema della complessità dei protocolli di rete • Il modello suggerisce di suddividere i protocolli in strati (layers) ognuno dei quali risolve una parte specifica del problema. • Il protocollo di rete avrà uno o più protocolli specifici per ciascuno strato Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 6/30 3 Perché la stratificazione? I sistemi sono complessi: La stratificazione permette una più facile organizzazione e individuazione delle funzionalità La modularità facilita la manutenzione e la modifica dei sistemi – La modifica dell’implementazione dei servizi resi da uno strato è trasparente (non si modifica l’interfaccia) – Es., cambiare il trasportatore non altera il funzionamento complessivo del servizio postale Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 7/30 Suite di protocolli La comunicazione fra computer di una rete é un problema complesso La complessità richiede una molteplicità di protocolli, ciascuno dei quali é specializzato su una parte del problema Un insieme correlato di protocolli, progettati per essere fra loro compatibili, é detto suite di protocolli Un suite ben progettata risolve il problema di comunicazione senza ridondanze e utilizza al meglio la capacità della rete Permette di rimpiazzare ogni singolo protocollo senza modificare gli altri Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 8/30 4 Il concetto di livello Le reti sono in generale organizzate a livelli, ciascuno costruito sopra il precedente. Fra un tipo di rete ed un altra, possono essere diversi: – il numero di livelli – il contenuto dei livelli – le funzioni dei livelli • Lo scopo di un livello è offrire servizi ai livelli più alti, nascondendo i dettagli sul come tali servizi siano implementati • Il livello n su un host interagisce esplicitamente col livello n su di un altro host. Le regole che governano la interazione sono collettivamente indicate col termine di protocollo di livello n Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 9/30 Protocolli Nome derivato dal greco protokollen, l' indice di una pergamena I diplomatici usano delle regole, dette protocolli, per guidare le interazioni formali Un protocollo di rete é un insieme di regole che specifica il formato e il significato dei messaggi scambiati fra i calcolatori di una rete Il formato é detto anche sintassi Il significato é detto anche semantica Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 10/30 5 Entità di pari livello • Le entità (processi) che interagiscono si chiamano peer entity (entità di pari livello) • Il dialogo fra due peer entity di livello n viene realizzato tramite i servizi offerti dal livello n-1 tramite l’opportuna interfaccia Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 11/30 SW a strati e stack I moduli della fig. precedente sono detti protocol stack o anche solo stack Due vincoli: 1. Il SW di ogni strato dipende solo dai servizi forniti dal SW del livello inferiore 2. Il SW al livello n della ricevitore riceve esattamente lo stesso messaggio inviato dal livello n del trasmettitore. Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 12/30 6 Implementazione del modello a strati Il SW realizzato per un sistema a strati é esso stesso organizzato a strati I moduli SW possono essere visti come: Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 13/30 Trasferimenti dati In realtà non c'è un trasferimento diretto dal livello n di host 1 al livello n di host 2. Ogni livello di host 1 passa al livello sottostante – i dati – informazioni di controllo • Al di sotto del livello 1 c' è il mezzo fisico, attraverso il quale i dati vengono trasferiti da host 1 ad host 2 • Quando arrivano a host 2, i dati vengono passati da ogni livello (a partire dal livello 1) a quello superiore, fino a raggiungere il livello n Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 14/30 7 Interfacce • Fra ogni coppia di livelli adiacenti è definita una interfaccia, che caratterizza: – le operazioni primitive che possono essere richieste al livello sottostante – i servizi che sono offerti dal livello sottostante • I vantaggi di una buona progettazione delle interfacce sono: – minimizzazione delle informazioni da trasferire – possibilità di modificare l' implementazione del livello (ad es., sostituzione di linee cablate con wireless) con un’altra che offra gli stessi servizi Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 15/30 Protocolli - interfacce - servizi Interfaccia di livello n • le operazioni che possono essere richieste al livello n-1 • i servizi che sono offerti al livello n+1 Il livello inferiore è il service provider, quello superiore è il service user I servizi sono disponibili ai SAP (Service Access Point) SAP del livello n (n-SAP) punti di accesso nei quali il livello n+1 può accedere ai servizi del livello n Ogni n-SAP è identificato univocamente da un indirizzo Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 16/30 8 Stratificazione e dati Ogni strato riceve dati dallo strato superiore Aggiunge header e crea nuova unità dati Passa nuova unità dati a strato inferiore $ $ % $ % % $ % % % $ ! ! ! ! "# % $ % % $ % % % $ "# Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 17/30 Architettura di rete • L' insieme dei livelli e dei relativi protocolli è detto architettura di rete. • La specifica dell' architettura deve essere abbastanza dettagliata da consentire la realizzazione di SW e/o HW che, per ogni livello, rispetti il relativo protocollo Un servizio di livello n è formalmente specificato da un insieme di primitive (cioè operazioni) che un' entità di livello n+1 può adoperare per accedere al servizio. Esse indicano al servizio: • l' azione da compiere (l' informazione viaggia da livello n al livello n-1) • cosa riportare di una azione effettuata dalla peer entity di livello n (l' informazione viaggia dal livello n-1 al livello n) Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 18/30 9 Es. primitive • request(): Si chiede al servizio di fare qualcosa • indication(): Si viene avvertiti, dal servizio, di qualche evento • response(): Si vuole rispondere ad un evento • confirm(): La risposta che si attendeva è arrivata Le primitive hanno vari parametri (mittente, destinatario, tipo del servizio richiesto, ecc.), che possono essere usati dalle peer entity per negoziare le caratteristiche della connessione. I dettagli della negoziazione fanno parte del protocollo Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 19/30 La stratificazione di Internet Application (applicazione): supporto per le applicazioni di rete – ftp, smtp, http Transport (trasporto): trasferimento dati end-to-end – tcp, udp ! Network (rete): trasferimento di dati da sorgente a destinazione (host-to-host) ! – ip, routing protocols Link (data link): trasferimento di dati tra elementi di rete adiacenti "# – ppp, ethernet Physical (fisico): bit “sul cavo” Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 20/30 10 Stratificazione: comunicazione logica Ogni strato: • distribuito • “entità” implementano le funzionalità di strato in ogni nodo • Le entità eseguono azioni e scambiano messaggi con le entità di pari livello (peer entities) ! ! "# ! ! "# ! ! "# ! ! ! ! "# "# Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 21/30 Esempio: livello trasporto • Preleva dati da applicazione • Indirizzamento, crea datagramma • Invia il datagramma alla pari entità al lato destinazione • Attendi che il peer confermi il ricevimento ! ! "# ! "# ! ! "# ! ! ! ! "# Vittorio Maniezzo – Università di Bologna ! ! "# 02 – Protocolli - 22/30 11 Esempio: livello fisico ! ! "# ! ! "# ! ! "# ! ! ! ! "# "# Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 23/30 Internet: rete di reti Grossolanamente gerarchica Backbone gestiti da provider nazionali/internazionali (NBPs) – Es. Telecom – Interconnessi mediante punti di accesso privati o pubblici (Network Access Point o NAP) Internet Service Provider regionali – Connessi a NBP Internet Service Provider locali, compagnie ) ) &' ' &( &( &' ( ) ) – Connessi a ISP regionali Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 24/30 12 Il modello ISO a 7 strati La International Organization for Standards (ISO) ha definito uno standard di riferimento a 7 strati (OSI - Open System Interconnection) come guida per il progetto di suite di protocolli Gli strati hanno un nome e un numero, il "layer n" indica l' nesimo layer del modello ISO-OSI Applicazione Presentazione Sessione Trasporto Rete Dati Fisico Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 25/30 Gli strati del modello ISO Molti protocolli moderni non seguono esattamente il modello ISO, che ha soprattutto un interesse storico Comunque i concetti di base e la terminologia relativa sono ancora largamente in uso Layer 7: Applicazione Protocolli specifici ad applicazioni, ad es. HTTP, FTP o SMTP Layer 6: Presentazione Formati comuni per la rappresentazione dei dati Layer 5: Sessione Gestione dele sessioni, es. login su un computer remoto Layer 4: Trasporto Consegna affidabile dei dati fra computer Layer 3: Rete Assegnamento degli indirizzi e consegna dei dati su una rete fisica Layer 2: Data Link Suddivisione dei dati in frame e invio dei frame sull' interfaccia di rete Layer 1: Fisico HW di rete: es. fibra ottica, wireless, ... Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 26/30 13 Principio di stratificazione Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 27/30 Messaggi e stack In trasmissione, ogni strato: 1. Accetta un messaggio in uscita dal livello superiore 2. Aggiunge un header e qualche elaborazione sui dati 3. Passa il messaggio risultante al livello inferiore In ricezione, ogni strato: 1. Riceve un messaggio in ingresso dal livello inferiore 2. Rimuove l' header di quel livello e elabora il messaggio 3. Passa il messaggio risultante allo strato superiore Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 28/30 14 Header Il SW ad ogni livello comunica con quello del livello corrispondente per mezzo delle informazioni memorizzate negli header Ogni strato aggiunge il suo header davanti al messaggio provenente dal livello immediatamente superiore Gli header sono concatenati all' inizio del messaggio, quando il messaggio attraversa la rete Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 29/30 Pacchetti di controllo Gli strati a volte devono comunicare fra loro direttamente, senza scambiarsi dati, es. per: • Acknowledge di dati ricevuti • Richiedere un altro pacchetto Si utilizzano pacchetti di controllo • Generati dallo strato n del trasmettitore • Interpretati dallo strato n del ricevitore • Trasmessi come ogni altro pacchetto dai livelli n-1 e sottostanti Vittorio Maniezzo – Università di Bologna 02 – Protocolli - 30/30 15