EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Modello di riferimento OSI AICA © 2005
Sommario Corso IT Administrator: modulo 4 Architetture e protocolli I livelli del modello OSI : Il ruolo del modello di riferimento stratificato Funzionalità specifiche dei livelli OSI Principali compiti dei protocolli Differenze tra un modello teorico(astratto) e una suite di protocolli realmente utilizzati AICA © 2005
Architettura di rete Una rete e’ costituita da componenti hardware (cavi, interfacce, circuiti integrati, processori, RAM,…) componenti software (per la implementazione di algoritmi finalizzati al trasferimento dei dati non realizzabili in hardware). L’architettura di una rete definisce le specifiche con cui si vuole realizzarla AICA © 2005
Architettura strutturata Per ridurre la complessita’ del problema lo si spezza in parti Si definisce l’insieme di compiti che ogni parte deve eseguire Si definiscono i meccanismi con cui le diverse parti interagiscono tra loro Si maschera la implementazione di ciascuna parte alle altre parti AICA © 2005
Struttura a strati AICA © 2005
Lo strato Uno strato e’ definito quando sono definite le sue funzioni Uno strato puo’ occuparsi dello scambio dei dati tra due applicazioni, senza occuparsi di questioni relative al modo in cui i dati debbano viaggiare sulla rete, o alla codifica dei dati Un altro strato puo’ occuparsi di come recapitare i dati attraverso i vari nodi della sottorete, senza occuparsi ne’ del significato dei dati, ne’ del modo in cui vanno codificati i bit sul mezzo trasmissivo Un terzo strato puo’ infine occuparsi della comunicazione tra nodi adiacenti, senza preoccuparsi di quale sia il destinatario finale dei dati, ne’ del significato dei dati stessi AICA © 2005
Lo strato AICA © 2005
Il protocollo Un protocollo e’ un insieme di regole che definiscono la comunicazione tra due (o piu’) entita’ AICA © 2005
Il protocollo Esempio: protocollo per trasferimento di file il client comunica al server “voglio trasferire un file” ed attende la risposta dal server il server risponde “e tu chi sei?” ed attende la comunicazione dal client il client invia lo username il server risponde non sei autorizzato dammi la password nel primo caso il client chiude, nel secondo invia la password il client comunica il nome del file che vuole trasferire il server fornisce il file il client legge il file e lo copia localmente alla fine il server chiude la comunicazione AICA © 2005
Protocol Data Unit Il protocollo definisce quindi le modalita’ con cui due entita’ comunicano Generalmente un protocollo prevede lo scambio di dati e di informazioni di controllo per gestire la comunicazione; ad esempio: informazioni di controllo per negoziare le caratteristiche della comunicazione (la dimensione dei pacchetti, la velocita’, …) informazioni di riscontro (acknowledge) sulla ricezione dei dati Il pacchetto unitario (dati o informazioni di controllo) che si scambiano due strati pari e’ detto PDU Normalmente ci si riferisce alla PDU dello strato X con la sigla X-PDU, o XPDU AICA © 2005
Il servizio Il servizio offerto da uno strato allo strato superiore definisce cosa lo strato superiore puo’ ottenere dallo strato inferiore; ad esempio: servizio di recapito dei dati affidabile o non affidabile servizio orientato alla connessione o connection less lo strato puo’ implementare il controllo di flusso servizi di comunicazione multicast o broadcast AICA © 2005
Il servizio Il servizio e’ sostanzialmente la definizione di un rapporto client-server, dove il client e’ lo strato superiore ed il server e’ lo strato inferiore AICA © 2005
L’interfaccia L’interfaccia tra due strati adiacenti definisce le modalita’ con cui lo strato superiore puo’ usufruire dei servizi offerti allo strato inferiore L’interfaccia e’ specificata dalla definizione di primitive di servizio, che istruiscono lo strato inferiore ad eseguire determinate azioni L’interfaccia definisce anche i parametri che gli strati si scambiano (ad esempio un puntatore alla PDU che lo strato superiore deve inviare o che lo strato inferiore deve recapitare) nel caso di implementazioni software, le primitive di servizio sono di fatto chiamate a funzione, ed i parametri sono gli argomenti delle funzioni AICA © 2005
Definizione della architettura L’architettura della rete si realizza con la definizione di: strati (partizionamento delle funzionalita’) protocolli (come comunicano i processi paritari) interfacce tra gli strati (quali servizi offre uno strato allo strato superiore e come lo strato superiore accede allo strato inferiore) AICA © 2005
Flusso dei dati AICA © 2005
Flusso dei dati (2) Ogni livello organizza la sua comunicazione come se avvenisse direttamente con il processo paritario, secondo il protocollo (flusso virtuale). I dati in realta’ scorrono dal livello superiore al livello inferiore nel nodo che trasmette, ed in senso inverso nel nodo che riceve AICA © 2005
Flusso dei dati (3) Incapsulamento In generale un livello N preleva la PDU del livello N+1, e costruisce la propria PDU: se necessario spezza la PDU dello strato superiore in pezzi aggiunge in testa a ciascun pezzo un header con informazioni di controllo se deve, aggiunge in coda a ciascun pezzo un trailer con informazioni di controllo ciscun pezzo cosi’ formato costituisce una PDU del livello N Il livello N accede quindi ai servizi dello strato N-1 per inviare i dati al processo paritario N sul nodo remoto AICA © 2005
incapsulamento Applicazione Applicazione Presentazione Presentazione Sending process Receiving process Data Applicazione Applicazione AH Data Presentazione Presentazione PH Data Sessione Sessione SH Data Trasporto Trasporto TH Data Rete Rete NH Data Data Link Data Link DH Data DT Fisico Fisico bits AICA © 2005
Servizi orientati alla connessione La comunicazione si sviluppa in tre fasi: attivazione della connessione: in questa fase non ci si scambiano “dati”, ma si eseguono le operazioni necessarie al successivo scambio di dati (si allocano le risorse, ci si accorda sulle modalita’ di comunicazione, eventualmente si rifiuta la connessione, …) trasferimento dati: non e’ necessario che i dati siano indirizzati, in quanto la loro destinazione e’ determinata dall’appartenenza ad una connessione. rilascio della connessione: il rilascio lo si fa in modo che entrambi i lati della connessione siano consapevoli di cio’, e rilascino le risorse L’esempio classico di servizio connection oriented e’ la comunicazione telefonica AICA © 2005
Servizi non orientati alla connessione La comunicazione non prevede una fase iniziale, ne’ una fase finale: i dati vengono inviati alla controparte senza sapere se e’ pronta a riceverli. Ogni blocco di dati deve riportare l’indirizzo del destinatario (e del mittente) Il servizio non orientato alla connessione funziona come il servizio postale AICA © 2005
Qualita’ del servizio Servizio affidabile garantisce che i dati arrivino correttamente a destinazione, nell’ordine giusto il servizio connection less puo’ implementare un servizio affidabile utilizzando riscontri sulla ricezione (esempio: posta raccomandata). Il meccanismo dei riscontri (ed eventuale ritrasmissione dei dati) introduce ritardi nella ricezione dei dati Servizio inaffidabile non si occupa di garantire la riuscita del trasferimento dei dati, o dell’ordinamento degli stessi: qualora fosse necessario, si occuperanno della cosa gli strati superiori. AICA © 2005
Qualita’ del servizio (2) I servizi orientati alla connessione si possono classificare: flusso affidabile di messaggi (servizio affidabile orientato al messaggio: una sequenza di pagine di un libro, fax) flusso affidabile di byte (servizio affidabile orientato al byte: trasferimento file) connessione inaffidabile (servizio non affidabile: telefonia) I servizi non orientati alla connessione si possono classificare: servizio di datagramma inaffidabile (servizio inaffidabile: accesso ad un database) servizio di datagramma affidabile (protocolli di data link layer) AICA © 2005
Modello OSI Nel 1977 l’ISO ha costituito un gruppo che producesse uno standard universale per le architetture di rete Il modello e’ stato pubblicato nel 1983 col nome OSI (Open System Interconnection) Lo scopo e’ quello di definire una architettura (strati, protocolli, interfacce) in modo sufficientemente preciso da consentire implementazioni indipendenti ma interoperanti in realta’ il modello non definisce esattamente i protocolli ed i servizi, ma piu’ in generale quello che ogni strato deve fare; le specifiche di protocolli e servizi sono state definite e pubblicate a parte. AICA © 2005
Livelli del modello OSI AICA © 2005
Livelli OSI: fisico Lo strato fisico si occupa della trasmissione dei bit sul mezzo trasmissivo La sua funzione e’ di fare in modo che un bit 0 sia ricevuto dal livello fisico del nodo remoto come bit 0, e non come 1 Problemi tipici di questo livello sono: la codifica (i valori delle tensioni, la durata dei bit) proprieta’ meccaniche dei connettori specifiche elettriche dei circuiti dell’interfaccia AICA © 2005
Livelli OSI: data link Lo strato di data link si occupa di trasformare una trasmissione di bit grezzi tra nodi adiacenti in una linea di trasmissione priva di errori non riconosciuti Esegue funzioni quali divisione dei dati in frame controllo degli errori conferma della ricezione (acknowledge) controllo del flusso controllo di accesso al mezzo trasmissivo in caso di canali condivisi (substrato MAC: Medium Access Control) AICA © 2005
Livelli OSI: network Lo strato di network si occupa del recapito dei dati tra nodi non necessariamente adiacenti (quindi del funzionamento della sottorete di comunicazione) Funzioni caratteristiche sono: suddivisione dei dati in pacchetti indirizzamento dei nodi della rete recapito a destinazione (su quale canale uscente inoltrare i dati provenienti da un canale), solitamente basandosi su tabelle modalita’ di definizione ed aggiornamento delle tabelle controllo della congestione, dei ritardi, dei tempi di transito AICA © 2005
Livelli OSI: transport Lo strato di trasporto deve prelevare dati dallo strato superiore, eventualmente suddividerli in unita’ piu’ piccole, ed inviarli (tramite lo strato di rete) la nodo remoto occupandosi di controllare che le unita’ arrivino al processo pari del nodo remoto nell’ordine di trasmissione E’ il primo protocollo end-to-end Deve occuparsi del tipo di servizio offerto allo strato superiore (affidabile, non affidabile) OSI specifica solo un servizio connection oriented Affronta diverse problematiche simili a quelle del livello di data link AICA © 2005
Livelli OSI: session Lo strato di sessione si occupa del controllo del dialogo controllo su quale delle due parti abbia diritto di trasmettere supervisione di una connessione lunga con eventuale ripristino della connessione in caso di fallimento del livello sottostante AICA © 2005
Livelli OSI: presentation Il livello di presentazione si occupa essenzialmente di rendere trasparente eventuali rappresentazioni differenti dei dati codifiche differenti dei dati (ASCII/EBCDIC, …) ASCII: American National Standard Code for Information Interchange EBCDIC: Extended Binary Coded Decimal Interchange Code compressione crittografia AICA © 2005
Livelli OSI: application Il livello di applicazione si occupa di definire le specifiche che le applicazioni utente possono utilizzare per accedere alla rete L’ISO ha fornito specifiche su sole tre applicazioni: FTAM (file transfer) X.400 (posta elettronica) X.500 (servizio di directory) AICA © 2005
Schema del modello OSI AICA © 2005
Service Access Point Uno strato puo’ fornire servizio a piu’ entita’ dello strato superiore Per essere identificabili queste entita’ devono avere un indirizzo AICA © 2005
Modello TCP/IP Il modello nasce da un progetto del Dipartimento della Difesa USA per la realizzazione di una rete di trasmissione solida per le necessita’ del DoD (Advanced Research Project Agency) Lo scopo era quello di realizzare una rete di trasmissione dati dotata delle caratteristiche: Solidita’ rispetto a potenziali eventi distruttivi di una parte della rete Possibilita’ di mettere in comunicazione reti differenti sparse sul territorio L’ARPA decise di progettare e sviluppare una rete a commutazione di pacchetto AICA © 2005
Architettura del TCP/IP Il TCP/IP e’ nato come realizzazione di un insieme di pezzi che svolgessero determinate funzioni Questi pezzi sono stati sviluppati talvolta per risolvere problemi circostanziati, senza un disegno architetturale a priori Solo dopo la sua realizzazione si e’ tentato di fornire una descrizione in termini di architettura stratificata, in modo analogo al modello OSI La stratificazione risulta tuttavia meno precisa e meno vincolante rispetto al modello OSI (ad esempio, non e’ rigoroso l’impiego di tutti i livelli) AICA © 2005
Strati del TCP/IP TCP/IP ha una architettura stratificata, come OSI, ma a soli 3 livelli: Application: livello che si occupa di fornire un accesso alla rete alle applicazioni. E’ un livello che equivale ai livelli 5, 6 e 7 di OSI. Transport: livello di trasporto end-to-end, equivalente al livello 4 di OSI Internet: livello di interconnessione di reti, sostanzialmente equivalente nelle funzioni al livello 3 di OSI Sotto al livello internet, non viene specificato nulla se non che deve esistere un modo per recapitare i pacchetti del livello internet; questo talvolta e’ indicato come ulteriore livello, detto di accesso alla rete (host to network) AICA © 2005
Il livello internet Il livello internet si occupa di come recapitare i dati nella sottorete (routing), e di inviarli infine nella rete di destinazione. E’ specificato un protocollo non orientato alla connessione: IP (Internet Protocol) Il protocollo richiede che per ogni computer connesso alla rete sia definito un indirizzo univoco (indirizzo IP) Questo protocollo suddivide i dati in pacchetti e li instrada utilizzando tabelle che fanno corrispondere ad ogni indirizzo IP un canale in uscita Funzione di questo livello e’ anche la costruzione ed il mantenimento dinamico delle tabelle; sono definiti per questa funzione protocolli che possono essere inseriti in questo strato, anche se utilizzano IP come se fosse un sottolivello AICA © 2005
Il livello di trasporto Il modello definisce due protocolli differenti per il trasporto: TCP (Transmission Control Protocol) che realizza un servizio di trasporto end-to-end affidabile orientato alla connessione. Questo protocollo si occupa di tutte le questioni caratteristiche del livello di trasporto di OSI UDP (User Datagram Protocol) che realizza un servizio inaffidabile connection less Le applicazioni accedono a questi protocolli tramite i punti di accesso al servizio, che nel modello si chiamano porte (port) Entrambi i protocolli segmentano i dati del livello di applicazione, aggiungono un header, e passano i segmenti al livello di internet AICA © 2005
Livello di applicazione Originariamente le applicazioni disponibili erano terminale remoto, file transfer e posta elettronica Esistono oggi innumerevoli applicazioni basate su TCP/IP terminale remoto: telnet, rsh, ssh file transfer: ftp, sftp trasferimento pagine di ipertesto: http trasferimento messaggi: smtp, nntp controllo remoto dei nodi della rete: snmp trasporto di interfacce grafiche: X conversione nomi-indirizzi: dns sincronizzazione tra computer: ntp … AICA © 2005
Flusso dei dati in TCP/IP AICA © 2005
Considerazioni sui modelli OSI Il modello OSI e’ stato pensato a lungo, ed architettato con cura, ed e’ stato realizzato con una chiara definizione delle funzionalita’ e dei confini tra le sue componenti Tuttavia la complessita’ e la mancanza di esperienza sul campo hanno reso difficile la implementazione pratica funzionale del protocollo Lo standard e’ arrivato troppo tardi: il mondo aveva gia’ preso un’altra strada AICA © 2005
Confronto tra i modelli Application Telnet FTP SMTP SNMP NFS Presentation XDR Session RPC Transport TCP e UDP Network IP ICMP Protocolli di routing Arp e Rarp Data Link Non Specificati Physical OSI Internet Protocol Suite (TCP/IP) AICA © 2005