ISO-OSI D.E.I.S. Università di Bologna IC3N 2000 N. 1 Esperienze di reti di calcolatori Collegamenti di centri di calcolo, con al centro Mainframes o Hosts, a terminali remoti (primi anni 70) Reti di Host (tardi anni 70) Proposte dei grandi costruttori di calcolatori: SNA (IBM), DecNet (Digital),.. Proposte in ambito ITU: Sistema di segnalazione a canale comune SS#7, rete Teletex Rete Arpanet Interconnessione di reti (anni 80) Protocollo TCP/IP Internet (anni 90) N. 2 1
Sistemi chiusi Tutte le reti di calcolatori della prima generazione nascono e si evolvono come sistemi chiusi: nel mondo dell'informatica: tutti i componenti della rete devono essere dello stesso costruttore (captivity), nel mondo delle Telecomunicazioni: una rete specializzata per ogni servizio. Questo crea incompatibilità e disordine, ponendo ostacoli alla comunicazione a vari livelli: a causa della diversità delle reti gli apparati non riescono ad interpretare i segnali degli altri, anche se i calcolatori riescono a connettersi non riescono a colloquiare perché parlano linguaggi diversi, i programmi applicativi non riescono ad operare in ambiente distribuito. N. 3 Sistemi aperti Obiettivo: Realizzare una rete di calcolatori in cui qualunque terminale comunica con qualunque fornitore di servizi mediante qualunque rete. Per realizzare un sistema aperto è necessario stabilire delle regole comuni per lo scambio delle informazioni: sono necessari degli standard Tutte le soluzione proposte hanno in comune un architettura a strati N. 4 2
Modello euristico di architettura a strati (1) Un Professore servendosi del servizio postale contatta un Editore in Giappone per chiedere informazioni sul suo materiale didattico e decide di ordinare alcuni articoli. Tutta la trattativa può essere vista come una comunicazione (scambio di lettere e materiale) fra Professore ed Editore durante la quale ognuno fa il suo mestiere (problemi di Applicazione). Le lettere ed i libri debbono avere una forma comprensibile: a questo fine possono intervenire delle Segretarie (problemi di Presentazione). Il movimento delle merci fa nascere questioni amministrative: ordini, fatture, ricevute. Anche per questo si possono usare impiegati appositi (problemi di Sessione). Occorre scegliere il servizio postale a cui affidare il trasporto del materiale, inoltre le lettere ed i pacchi vanno preparati in modo conforme alle regole di questo servizio (problemi di Trasporto). N. 5 Modello euristico (2) La posta viene consegnata ad un servizio pubblico. In primo luogo un ufficio smistamento, la instrada verso la sua destinazione (problemi di Rete). La posta in generale deve percorrere diverse tratte. Viene pertanto messa in contenitori (sacchi ad es.) che vengono confezionati e controllati tratta per tratta da appositi incaricati (problemi di Controllo di linea). Alcuni addetti (facchini) posizionano fisicamente i sacchi sui mezzi di trasporto (problemi Fisici) Infine un mezzo di trasporto (treno, aereo, nave) porta materialmente a destinazione il materiale (mezzo fisico). Si possono evidenziare due tipi di interazione fra le persone coinvolte: fra corrispondenti remoti, ad es. Professore-Editore, Segretaria- Segretaria, ecc. (protocolli) fra superiore e subordinato locali, ad es.professore-segretaria, ecc. (interfacce) N. 6 3
ISO-OSI A partire dal 1976 la ISO ha dato il via a lavori per giungere ad una serie di standard unificati per la realizzazione di reti di calcolatori aperte. La ISO ha per prima cosa proposto un modello di riferimento detto Open System Interconnection Reference Model (OSI-RM) è diventato standard internazionale nel 1983 (ISO 7498). L'OSI e'basato sul concetto centrale di una architettura a strati. L'architettura a strati ha alcuni grandi vantaggi: scompone il problema in sottoproblemi più semplici da trattare, rende i vari livelli indipendenti, definendo solamente servizi e interfacce, livelli diversi possono essere sviluppati da enti diversi. N. 7 Cosa definisce? Le definizioni contenute nell OSI coinvolgono tre livelli di astrazione: Modello di riferimento: schema concettuale numero degli strati coinvolti definizione generale delle funzioni degli strati e delle relazioni fra di essi. Definizione dei servizi: definizione astratta di ciò che viene fornito da uno strato. Specifiche di protocolli ed interfacce: descrizione di come viene fornito un servizio da uno strato. N. 8 4
Modello di riferimento Architettura a 7 strati, numerati dal basso verso l alto da 1 a 7 gli strati 1, 2, 3 sono detti lower o network oriented layers gli strati 5, 6, 7 sono detti upper o application oriented layers Lo strato 4 funge da raccordo fra gli upper e lower layers si possono avere funzione di ripetizione (relay) ai livelli 1, 2, 3, che si dice operano link-by-link gli strati dal 4 in su operano solo end-to-end Application A Dialogo end-to-end 7 Applicazione Presentation P 6 Presentazione Session S 5 Sessione Transport T 4 Trasporto Network N 3 3 Rete Data Link DL 2 2 Linea Physical Ph 1 1 Fisico Mezzo fisico Mezzo fisico N. 9 Strato 1: fisico Scopo dello strato fisico è quello di attivare, mantenere e disattivare la connessione fisica fra due entità di strato 2. Specifica le modalità di invio dei singoli bit sul mezzo di fisico di trasmissione Per fare questo deve specificare le caratteristiche: meccaniche: forma di prese e spine, numero di contatti, elettriche: voltaggio e caratteristiche elettriche dei segnali associati all'interfaccia, funzionali: significato dei vari segnali, procedurali: combinazioni e sequenze dei segnali all'interfaccia necessarie al fine di regolarne il funzionamento. N. 10 5
Strato 2: linea Lo strato di linea deve attivare, mantenere e disattivare la connessione fisica fra due entità di strato 3; rendere affidabile il collegamento diretto (punto-punto) tra due nodi di rete adiacenti. Le funzioni tipicamente svolte dallo strato 2 sono le seguenti: strutturazione del flusso di dati in unità di dialogo, denominati trame o frames; controllo e gestione degli errori di trasmissione; controllo di flusso; controllo di sequenza. N. 11 Strato 3: rete Scopo dello strato di rete è di far giungere le unità di informazione, dette pacchetti (packets), al destinatario scegliendo la strada attraverso la rete Si occupa dunque del problema della commutazione Nelle reti di calcolatori si usa la commutazione di pacchetto e la funzione svolta dallo strato 3 viene detta routing Occorre un modo per individuare i destinatari: è necessario uno schema di indirizzi. Se si vuole un unica rete lo schema di indirizzi deve essere universale. Si sono sviluppate reti parziali, ora denominate sottoreti e per arrivare ad una rete unica occorre definire un protocollo di interconnessione di reti (Internetwork Protocol o IP) N. 12 6
Strato 4: trasporto Scopo dello strato di trasporto è fornire un canale sicuro end-to-end, svincolando gli strati superiori da tutti i problemi di rete Una tipica funzione è adattare la dimensione dei frammenti forniti dagli strati superiori (files) a quella richiesta dalle reti (pacchetti): funzione di Pacchettizzazione (fragmenting/reassembling) Può avere molte altre funzioni fra cui controllo dell errore, controllo di flusso, gestione di dati prioritari, ecc.. Non tutti le applicazioni hanno bisogno delle stesse funzioni, per cui si possono definire diverse Classi di Transport N. 13 Strato 5: sessione Suddivide il dialogo fra le applicazioni in unità logiche (dette appunto sessioni), Una sessione deve essere individuata, eventualmente interrotta e ripresa per fare fronte a vari eventi catastrofici: perdita di dati, caduta della linea, momentaneo crash di uno dei due interlocutori Permette la chiusura ordinata (soft) del dialogo, con la garanzia che tutti i dati trasmessi sono arrivati a destinazione Per fare le sue funzione introduce i cosiddetti punti di sincronizzazione e sottopone a turno (token) il diritto trasferire dati, sincronizzare e chiudere la sessione Anche gli strati di sessione hanno molte funzionalità e possono essere più o meno completi a seconda delle richieste N. 14 7
Strato 6: presentazione Adatta il formato dei dati usato dai due interlocutori preservandone il significato La descrizione del tipo di dati usati per una applicazione e del loro formato si dice una sintassi Ogni interlocutore ha una sua Sintassi locale e durante il dialogo bisogna concordare una Sintassi di trasferimento E stato definito un linguaggio detto Abstract Sintax Notation 1 (ASN 1) per descrivere e negoziare le sintassi N. 15 Strato 7: applicazione Lo strato di Applicazione è l utente della rete di calcolatori e pertanto non deve offrire servizi a nessuno Rappresenta il programma applicativo (Applicazione) che per svolgere i suoi compiti ha bisogno di comunicare con altre applicazioni remote Le applicazioni non possono essere standardizzate completamente: ISO ha cominciato a standardizzare dei moduli applicativi denominati Application Service Element (ASE) su richiesta di gruppi di utenti interessati N. 16 8
Service User - Service Provider Il servizio (service) è l'interazione verticale fra i livelli Un servizio viene definito sulla base delle relative interazioni e dei parametri scambiati. N-service provider Il fornitore di servizio a livello (N), (N)-service, comprende lo strato N e tutti gli strati inferiori di cui (N) fa uso. N-service user L'utilizzatore di servizio di livello (N) è l'entità di livello (N+1) che fa uso dei servizi del livello (N). Strato (N+1) (N)-service User Strato (N+1) Strato (N) Strati inferiori (N)-service Provider Rete Strato (N) Strati inferiori N. 17 Modalità di Servizio Una modalità di fornire un servizio si dice Connection Oriented quando si stabilisce una connessione: La connessione associa logicamente due o più sistemi al fine di trasferire dati Il processo di comunicazione si compone normalmente di tre fasi instaurazione della connessione, tramite lo scambio di opportune informazioni iniziali, trasferimento dei dati veri e propri, chiusura della connessione. Qualora i dati vengano trasferiti senza prima stabilire una connessione si parla si servizio Connectionless Per ogni accesso al servizio vengono fornite tutte le informazioni necessarie per il trasferimento dei dati Ogni unità di dati viene trasferita in modo indipendente dalle altre N. 18 9
Primitive di servizio Servono per fornire una rappresentazione astratta dell'interazione fra service-user e service-provider. Sono indipendenti dall'implementazione e seguono un unico schema. Sono definite 4 primitive: request indication response confirme N. 19 Modalità di dialogo Confermato (N)-User (N)-Provider (N)-User Prevede esplicita conferma da parte del destinatario Non confermato Non prevede alcuna conferma Parzialmente confermato La richiesta viene confermata dal service-provider Request Confirm Request Request Confirm Indication Response Indication Indication N. 20 10
Entity e Service Access Point - SAP Si dice entità ogni elemento attivo in uno strato, identificata da un nome simbolico (title) Ciascuno strato comprende una o più entità Service Access Point (SAP) Interfaccia logica fra un entità di livello N+1 e una di livello N, attraverso la quale viene fornito un servizio Ogni N-SAP ha un indirizzo (address) unico Entità di strato (N+1) (N+1)-entity N-SAP (N+1) Layer Entità di strato (N) (N)-entity (N) Layer N. 21 Uso dei SAP Un entità di strato N può servire più (N)-SAP contemporaneamente. Un utilizzatore di strato N può servirsi di più (N)-SAP contemporaneamente (N+1) (N) (N-1) (N+1) (N) NO Non è permesso connettere più (N)-user allo stesso (N)-SAP Si genererebbe ambiguità sulla provenienza/destinazione dei dati Ad ogni indirizzo deve essere univocamente associato un nome N. 22 11
Trasferimento dei dati (N+1)-Protocol Data Unit (PDU): i dati trasferiti fra entità dello stesso livello, ad es. (N+1) I dati sono passati al livello (N) attraverso N-SAP sotto forma di (N)-Service Data Unit (SDU) La (N)- entity aggiunge le (N)-Protocol Control Information (PCI), informazioni di controllo di livello (N), creando la sua (N)-PDU (encapsulation) Strato (N+1) Strato (N) (N)-PCI (N+1)-PDU N-SAP (N)-SDU (N)-PCI (N)-User Data (N)-PDU N. 23 Header Parte trasmittente Dati d utente Parte ricevente Strato 7 Strato 6 Strato 5 Strato 4 Strato 3 Inserimento dell header 7-PDU 6-PDU Estrazione dell header Strato 7 Strato 6 Strato 5 Strato 4 Strato 3 Strato 2 Strato 2 Strato 1 Bits Strato 1 N. 24 12
Segmentazione e riassemblamento E possibile dividere il contenuto di una SDU in una o più PDU La suddivisione si dice segmentazione e la ricostruzione si dice riassemblamento (E possibile anche accorpare più SDU in una PDU) Tipicamente la segmentazione serve per conformarsi a limitazioni sulla lunghezza massima dei messaggi (N)-SDU (N)-PCI (N)-PCI N-PDU (N)-PCI (N)-User Data (N)-PCI (N)-UD N-PDU N. 25 Multiplazione e Splitting Multiplazione più connessioni di strato N vengono mappate in una di strato N-1 L obiettivo è la condivisione delle risorse Connessioni (N) Entità (N) Entità (N) Connessione (N-1) Connessione (N) Entità (N) Entità (N) Connessioni (N-1) Splitting È duale alla multiplazione Aumenta la flessibilità e la velocità di trasferimento dei dati N. 26 13
Osservazione Il modello ISO OSI è un Modello di riferimento (RM): dice cosa devono fare i Protocolli dei vari strati e come devono interagire con gli altri strati. Non dice in generale come sono fatti i protocolli e per ogni strato si può pensare di averne diversi possibili conformi a OSI RM Se però si vuole una rete universale, unica nel mondo, lo strato IP deve essere unico ed anche il Transport deve essere unico Per questo le commissioni OSI hanno fatto un eccezione e hanno definito il Protocollo IP (ISO 8473) e il Protocollo di Trasporto (ISO 8073) come veri protocolli che devono essere adottati da tutti i computer se si vuole creare la rete aperta universale dell OSI N. 27 Effetti della diffusione di Internet Mentre il modello di riferimento è stato universalmente adottato come modo di organizzare le architetture dei protocolli, il protocollo IP di OSI ed il Transport non hanno avuto successo La causa è stata la diffusione di Internet e del suo protocollo, il TCP/IP TCP è un protocollo di Transport e IP è il protocollo di interconnessione di reti, incompatibili ed in concorrenza con quelli di OSI TCP/IP non si occupa dei protocolli degli strati inferiori che possono essere progettati usando le regole di OSI TCP/IP non usa gli strati di Sessione e Presentazione ma si interfaccia direttamente con l Applicazione N. 28 14
Modello di riferimento TCP/IP OSI Application Presentation Session Transport Network Data Link Physical TCP/IP Application Transport Network Link Protocolli HTTP, TELNET, FTP, SMTP, POP, DNS, SNMP TCP, UDP IP, ICMP, IGMP, ARP, RARP ETHERNET, IEEE 802, HDLC, PPP N. 29 Competizione fra modello TCP/IP e ISO -OSI Per alcuni anni si è ritenuto che TCP/IP fosse una soluzione transitoria, (introdotto prima che OSI-RM fosse definito), e che prima o poi si sarebbe adottato l OSI Il governo USA ha nominato una Commissione incaricata di gestire il transitorio da TCP/IP a OSI Col passar del tempo TCP/IP si è diffuso enormemente (gira su oltre 100.000.000 di computer) rendendo sempre più costoso l eventuale passaggio, e ora nessuno crede più che avverrà Il modello OSI resta come architettura di riferimento soprattutto per gli strati Fisico, di Linea e di Sottorete, ma il suo protocollo IP, il Transport e i lavori sugli strati superiori sono praticamente morti. N. 30 15