Reti di calcolatori Indice • • • • • Reti di calcolatori definizione classificazione modelli di comunicazione terminologia protocollo, livello, interfaccia Architettura degli elaboratori modulo B- A.Memo 1 definizione Una rete di calcolatori è un insieme di nodi di elaborazione totalmente autonomi tra loro, connessi mediante un opportuno sistema di comunicazione, ed in grado di interagire mediante scambio di messaggi al fine di condividere le risorse messe a disposizione da ciascun nodo. Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 2 definizione A messaggio da A a B B sistema di comunicazione C Reti di calcolatori D Architettura degli elaboratori modulo B- A.Memo 3 motivazioni • condivisione delle risorse – memorie di massa, periferiche, accessi • possibilità di soddisfare a richieste distribuite – basi di dati distribuite • affidabilità e tolleranza ai guasti • scalabilità e uniformità in caso di crescita Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 4 problematiche • maggiore complessità della progettazione, installazione e manutenzione • problemi di sicurezza, sia come integrità e correttezza dei dati, che come controllo degli accessi • sbilanciamento e parziale rallentamento nell’uso delle risorse Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 5 classificazione Le reti di calcolatori si possono classificare in • LAN (Local Area Network), reti locali • MAN (Metropolitan Area Network), reti cittadine • WAN (Wide Area Network), reti geografiche Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 6 classificazione reti locali (LAN): • estensione inferiore al Km • ambito privato, senza attraversamento di suolo pubblico o cambio di proprietà • architettura relativamente omogenea, proprietà unica e accessi conosciuti • alta velocità (4-1000 Mbps) • bassa probabilità di errore (10-9) Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 7 classificazione reti cittadine (MAN): • ambito comunale e pubblico • offerta gratuita di servizi locali • mezzo telefonico (doppino o fibra ottica) • velocità dipendente dal mezzo • sistemi eterogenei che si adeguano al mezzo ed al software imposto dal gestore Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 8 classificazione reti geografiche (WAN): • ambito nazionale o mondiale • mezzo utilizzato: rete telefonica tradizionale e dorsali pubbliche e/o private • velocità variabile in funzione del mezzo attraversato, anche molto bassa • problemi di tariffazione • problemi di internetworking Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 9 classificazione internetworking BRIDGE ROUTER RTG ROUTER MULTIPLEXER Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 10 modello di comunicazione client/server • il client richiede un servizio al server • in genere il client resta in attesa del completamento del servizio (modalità sincrona) • se non vuole bloccarsi (modalità asincrona) ha due possibilità: – modalità pull – modalità push Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 11 client/server - modalità pull • la responsabilità dell’ottenimento delle informazioni è a carico del client • attiva un ciclo di richieste ad intervalli prestabiliti (polling) – la risposta può essere negativa, e lascia il client nel ciclo di richieste – la risposta può essere positiva, e comunica al client l’esito del servizio richiesto al server Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 12 client/server - modalità push • scompone le responsabilità del client e del server, e rovescia i ruoli nella risposta • il client inoltra al server la richiesta di servizio, e poi se ne disinteressa • quando il server ha completato il servizio, richiama il client e gli restituisce i risultati Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 13 Modello di comunicazione • il modello di comunicazione elementare è del tipo N:1, molti client che interpellano un solo server • il modello reale è più complesso, del tipo N:M, molti clienti che possono accedere a molti server • il modello client/server non utilizza lo stato connessione, ma quello di interazione Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 14 client/server • stato di interazione client/server: – – – – – server che conosce i client server che memorizza i client server che memorizza la storia dei client server che consente l’interazione tra client più server coordinati che consentono l’interazione tra client Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 15 modelli di mobilità di codice • invece di trasferire i risultati di un dato servizio può essere trasferito il codice in grado di eseguire il servizio stesso – REV, Remote EValuation , o elaborazione lato server, in cui il client invia al server sia i dati che il codice per svolgere il servizio – COD, Code On Demand, o elaborazione lato client, il cui il client chiede al server il codice per svolgere localmente il servizio Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 16 Java, esempio di modello COD applet e/o applicazioni Java applet e/o applicazioni Java classi base classi base classi estese classi estese Java Virtual Machine Java Virtual Machine browser browser Sistema Operativo Sistema Operativo Sistema di rete Sistema di rete Sottosistema di comunicazione Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 17 terminologia Affinché A e B possano comunicare occorre 1. un sistema fisico di collegamento comune 2. software di base (N.O.S.) in A e in B 3. software applicativo per A e B 4. connessione abilitata e identificata di A e B 5. funzione di instradamento nel sistema fisico sottosistema di interconnessione (1+5) sottosistema di comunicazione (2+3+4) Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 18 livelli • la complessità e la grande dimensione di un sistema di comunicazione impone la sua realizzazione a livelli • ogni livello ha un compito ben preciso, offre una serie di servizi ai livelli superiori, e per farlo sfrutta quelli del livello inferiore • esistono sistemi di comunicazione da 2 fino a 7 livelli Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 19 protocollo • definizione letterale: insieme di regole (procedure e formati) che governano lo scambio di dati • ogni livello di un sistema di comunicazione ha il proprio protocollo • affinché due sistemi possano comunicare devono utilizzare i medesimi protocolli nei rispettivi livelli (peer process su peer layer) Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 20 entità • definizione: soggetto che svolge effettivamente un servizio, all’interno di un livello • ogni livello può contenere più entità, se svolge contemporaneamente più servizi • analogia tra classe e servizio disponibile, e tra istanza della classe ed entità • il punto di accesso (identificatore) attraverso cui un’entità offre il suo servizio al livello superiore si chiama SAP (Service Access Point) Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 21 interfaccia • definizione: insieme dei formati che regolano lo scambio di messaggi tra due livelli adiacenti • analogia tra servizio e funzione, ed interfaccia e prototipo Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 22 terminologia host A interfaccia } n-1 / n interfaccia } 2/3 interfaccia } 1/2 interfaccia } mezzo fisico Reti di calcolatori host B Ln protocollo di livello n Ln L2 protocollo di livello 2 L2 L1 protocollo di livello 1 L1 Architettura degli elaboratori modulo B- A.Memo 23 esempio di architettura mittente entità2 entità1 SAP1 SAP1 SAP2 entità1 entità1 Sistema A Reti di calcolatori destinatario L3 applicazione L2 trasporto entità1 SAP1 L1 accesso SAP1 entità1 entità1 Sistema B Architettura degli elaboratori modulo B- A.Memo 24 esempio di architettura (1A) mittente Sistema di comunicazione Il programma che sta operando sul sistema mittente deve trasferire un messaggio al sistema destinatario: per far ciò richiede il servizio trasferisci(mess, mitt, dest) al suo livello L3 del sistema di comunicazione che a tal fine attiva l’entità2 Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 25 esempio di architettura (1B) mittente ROSSI BIANCHI aiutante del ponte aiutante del ponte Reti di calcolatori testo L3 aiutante del ponte Il crocerista Rossi, che sta navigando sulla NAVE_A, decide di inviare un messaggio al suo amico Bianchi, sulla NAVE_B. Per far ciò scrive il messaggio sul modulo opportuno, in cui specifica anche il suo nome e quello del suo amico, e poi passa il tutto all’aiutante del ponte in cui ha la cabina. Architettura degli elaboratori modulo B- A.Memo 26 esempio di architettura (2A) mittente L’entità2 del livello L3, per svolgere il suo compito, deve determinare quale entità 2 L3 applicazione percorso dovranno seguire i SAP2 pacchetti per giungere a destinazione, e comporre un nuovo messaggio contenente anche gli opportuni indirizzi di accesso ai rispettivi livelli L3 (Sistema_A/SAP2 e Sistema_B/ SAP1), che passerà al livello sottostante L2. Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 27 esempio di architettura (2B) mittente ROSSI BIANCHI testo L3 NAVE_A NAVE_B L2 Da L3 aiutante del ponte Reti di calcolatori L’aiutante del ponte trascrive il modulo pervenuto in un ulteriore modulo prestampato, nel cui frontespizio deve specificare i numeri delle cabine del mittente e del destinatario. Alla fine consegna il nuovo modulo all’ufficiale di bordo. Architettura degli elaboratori modulo B- A.Memo 28 esempio di architettura (3A) entità2 L’entità1 del livello L2, per SAP2 svolgere il suo compito, L2 suddivide il messaggio in trasporto entità1 SAP1 tanti pacchetti, li numera per distinguerli, vi aggiunge all’inizio gli indirizzi del mittente e del destinatario di Livello 2 (mittente: SAP1 destinatario: SAP1) ed alla fine il numero di caratteri che li compongono, e poi li passa all’entità1 del livello inferiore L1. Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 29 esempio di architettura (3B) ROSSI BIANCHI NAVE_A NAVE_B testo Da L3 ufficiale di bordo 0 C003 C153 Frase 1 56 1 C003 C153 Frase 2 63 2 C003 C153 Frase 3 11 Reti di calcolatori L’ufficiale di bordo scompone il messaggio in frasi, le enumera e le ricopia su foglietti prestampati, una frase per foglietto, indicando anche il numero della cabina del mittente e quella del destinatario. Per sicurezza calcola il numero di caratteri che compongono ciascuna frase. Infine passa i foglietti al radiotelegrafista. Architettura degli elaboratori modulo B- A.Memo 30 esempio di architettura (4A) L’entità1 del livello L1 ha il compito di trasferire fisicamente i pacchetti dal Sistema_A al Sistema_B. Ha ovviamente caratteristiche strettamente correlate al mezzo di comunicazione in uso, e deve verificare solo che i singoli bit arrivino a destinazione in maniera L1 corretta. accesso entità1 Sistema A Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 31 esempio di architettura (4B) ROSSI BIANCHI NAVE_A NAVE_B testo Da L3 0 C003 C153 Frase 1 56 1 C003 C153 Frase 2 63 2 C003 C153 Frase 3 11 radiotelegrafista Reti di calcolatori Il radiotelegrafista riceve i foglietti delle informazioni da trasferire, in base alla nave da collegare determina la frequenza su cui trasmettere, si mette in contatto con il suo corrispettivo della NAVE_B, e finalmente invia i dati in codice Morse. Alla fine si sincera che i singoli codici vengano ricevuti correttamente, Architettura degli elaboratori modulo B- A.Memo 32 esempio di architettura (5A) L’entità1 del livello L1 del Sistema B, generalmente posta in attesa dal suo livello superiore, intercetta i messaggi, se ne riconosce come destinataria e li acquisisce. SAP1 Quando un pacchetto è riceL1 vuto correttamente, viene entità1 accesso passata attraverso la SAP1 all’entità1 del livello L2 Sistema B Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 33 esempio di architettura (5B) 0 C003 C153 Frase 1 56 1 C003 C153 Frase 2 63 2 C003 C153 Frase 3 11 Il radiotelegrafista della NAVE_B riceve i singoli codici, verifica che siano (singolarmente) corretti, e ne ricopia il contenuto su foglietti analoghi a quelli usati nella NAVE_A. Dagli indirizzi in essi contenuti desume il nome dell’ufficiale di bordo a cui deve consegnarli. radiotelegrafista Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 34 esempio di architettura (6A) L’entità1 del livello L2 riceve i vari pacchetti dal SAP1 suo livello L1, in base alla L2 numerazione ricompone il trasporto entità1 SAP1 messaggio totale, eventualmente richiedendo la ritrasmissione di qualche specifico pacchetto che risulta errato o perso, e poi passa il messaggio all’entità del livello superiore attraverso il SAP1 indicato. Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 35 esempio di architettura (6B) ufficiale di bordo NAVE_A NAVE_B Da L3 0 C003 C153 Frase 1 56 1 C003 C153 Frase 2 63 2 C003 C153 Frase 3 11 Reti di calcolatori L’ufficiale di bordo della NAVE_B riceve i singoli foglietti dal suo radiotelegrafista e ricompone il messaggio trasmesso. Se per caso un foglietto risulta mancante o incomprensibile, ne richiede la ripetizione dal radiotelegrafista della NAVE_A Alla fine ricopia i singoli foglietti in un modulo messaggio, ed in base al numero della cabina del destinatario, passa il messaggio alrelativo aitante di ponte. Architettura degli elaboratori modulo B- A.Memo 36 esempio di architettura (7A) L’entità1 del livello L3 rileva destinatario l’indirizzo di destinazione contenuto nel messaggio, e lo L3 entità 1 applicazione inoltra al programma che lo stava aspettando. Potrebbe anSAP1 che succedere che il Sistema_B non sia l’effettivo destinatario finale, ma solo quello intermedio, indispensabile per raggiungerlo. In questo caso l’entità2 ne cambia l’indirizzo di destinazione e lo ripassa ai suoi livelli inferiori per la ritrasmissione. Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 37 esempio di architettura (7B) aiutante del ponte ROSSI BIANCHI NAVE_A NAVE_B testo Da L3 0 C003 C153 Frase 1 56 1 C003 C153 Frase 2 63 2 C003 C153 Frase 3 11 Reti di calcolatori L’aiutante del ponte estrae dal messaggio il testo della comunicazione tra i due clienti, lo,riporta nel modulo opportuno specificando anche i rispettivi nominativi, ed in base al numero di cabina indicato consegna al destinatario la comunicazione. Architettura degli elaboratori modulo B- A.Memo 38 esempio di architettura considerazioni (1) Ln Ln L2 L2 L1 L1 trasferimento fisico delle informazioni attraverso livelli adiacenti standardizzato dalle interfacce Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 39 esempio di architettura considerazioni (2) Ln L2 L1 Reti di calcolatori protocollo di livello Ln protocollo di livello L2 protocollo di livello L1 Ln L2 L1 Architettura degli elaboratori modulo B- A.Memo trasferimento logico delle informazioni attraverso livelli paritari standardizzato dai protocolli 40 terminologia approfondimenti (1) (N+1)ICI (N+1)SDU (N+1)IDU livello N+1 SAP IDU SDU PDU ICI Service Access Point Interface Data Unit Service Data Unit Protocol Data Unit Interface Control Information (N)SAP (N)PCI proprietà del livello (N)PCI N_entità (N)SDU (N)PDU (N)ICI (N)SDU livello N Reti di calcolatori (N)IDU Architettura degli elaboratori modulo B- A.Memo 41 terminologia approfondimenti (2) servizi connessi (connection-oriented) servizi non connessi (connectionless) tre fasi: 1. creazione connessione 2. trasferimento dati 3. rilascio connessione • PDU correlate • identificativo connessione • negoziazione connessione Reti di calcolatori inoltro diretto • PDU indipendenti • indirizzamento esplicito • uso efficiente del mezzo Architettura degli elaboratori modulo B- A.Memo 42 terminologia approfondimenti (3) Le primitive offerte da un servizio si dividono in: • request richiesta di servizio da parte di un’entità • indication avviso di un’entità del verificarsi di un dato evento • confirm risposta di un’entità ad un certo evento • response risposta ad una entità, relativa a precedente richiesta servizi confermati utilizzano le primitive: request indication response confirm Reti di calcolatori servizi non confermati utilizzano le primitive: request indication Architettura degli elaboratori modulo B- A.Memo 43 terminologia servizi non confermati N_entità N_entità D.request D.indication (N-1)_PDU (N-1)_entità Reti di calcolatori (N-1)_entità Architettura degli elaboratori modulo B- A.Memo 44 terminologia servizi confermati (1) N_entità N_entità D.request D.indication (N-1)_PDU (N-1)_entità Reti di calcolatori (N-1)_entità Architettura degli elaboratori modulo B- A.Memo 45 terminologia servizi confermati (2) N_entità N_entità D.confirm D.response (N-1)_PDU (N-1)_entità Reti di calcolatori (N-1)_entità Architettura degli elaboratori modulo B- A.Memo 46 terminologia approfondimenti (4) • Servizi non confermati e non connessi – datagram (analogo ai telegrammi) • Servizi non confermati e connessi – (analogo alla segreteria telefonica) • Servizi confermati e non connessi – (analogo alle raccomandate R.R.) • Servizi confermati e connessi – (analogo al telefono) Reti di calcolatori Architettura degli elaboratori modulo B- A.Memo 47