Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
1
Reti di calcolatori
• definizione
• classificazione
• modelli di comunicazione
• terminologia
• protocollo, livello, interfaccia
Indice
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
2
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
3
definizione
sistema dicomunicazione
B
D
A
C
messaggioda A a B
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
4
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
5
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
6
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
7
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
8
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
9
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
10
classificazioneinternetworking
BRIDGE ROUTER
ROUTER RTG
MULTIPLEXER
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
11
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
12
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
13
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
14
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
15
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
16
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
17
Java, esempio di modello COD
Sistema di rete
Sistema Operativo
browser
Java Virtual Machine
classibase
classiestese
applet e/o applicazioni Java
Sistema di rete
Sistema Operativo
browser
Java Virtual Machine
classibase
classiestese
applet e/o applicazioni Java
Sottosistema di comunicazione
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
18
terminologiaAffinché A e B possano comunicare occorre1. un sistema fisico di collegamento comune2. software di base (N.O.S.) in A e in B3. software applicativo per A e B4. connessione abilitata e identificata di A e B5. 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
19
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
20
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
21
entità• definizione: soggetto che svolge effettiva-
mente 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) attra-
verso 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
22
interfaccia
• definizione: insieme dei formati che rego-lano 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
23
terminologia
Ln
L2
L1
host Aprotocollodi livello n
interfaccian-1 / n }
interfaccia1 / 2 }
interfacciamezzo fisico }
Ln
L2
L1
host B
protocollodi livello 2
protocollodi livello 1
interfaccia2 / 3 }
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
24
esempio di architetturamittente
L3applicazione
entità2
destinatario
L2trasporto
L1accesso
entità1
SAP2SAP1
entità1SAP1
entità1
entità1
SAP1
entità1SAP1
entità1
Sistema A Sistema B
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
25
esempio di architettura (1A)mittente
Sistema dicomunicazione
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
26
mittente 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.
esempio di architettura (1B)
ROSSI BIANCHI testo
aiutantedel ponte
aiutantedel ponte
aiutantedel ponte
L 3
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
27
SAP2
entità2
esempio di architettura (2A)
L’entità2 del livello L3, per svolgere il suo compito, deve determinare quale percorso dovranno seguire i pacchetti per giungere a de-
stinazione, 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.
L3applicazione
mittente
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
28
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.
esempio di architettura (2B)
mittente
ROSSI BIANCHI testo
L 3
NAVE_A Da L3
L 2
NAVE_B
aiutante del ponte
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
29
L2trasporto
SAP2
entità1
entità2
esempio di architettura (3A)
L’entità1 del livello L2, per svolgere il suo compito, suddivide il messaggio in 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.
SAP1
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
30
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.
esempio di architettura (3B)ROSSI BIANCHI testo
C153 Frase 1 56C0030
C153 Frase 2 63C0031
C153 Frase 3 11C0032
ufficiale di bordo
NAVE_A Da L3NAVE_B
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
31
esempio di architettura (4A)
entità1
Sistema A
che i singoli bit arrivino a destinazione in maniera corretta.
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
L1accesso
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
32
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,
esempio di architettura (4B)ROSSI BIANCHI testo
C153 Frase 1 56C0030
C153 Frase 2 63C0031
C153 Frase 3 11C0032
NAVE_A Da L3NAVE_B
radiotelegrafista
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
33
esempio di architettura (5A)
Quando un pacchetto è rice-vuto correttamente, viene passata attraverso la SAP1 all’entità1 del livello L2
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.
entità1
Sistema B
SAP1
L1accesso
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
34
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.
esempio di architettura (5B)
radiotelegrafista
C153 Frase 1 56C0030
C153 Frase 2 63C0031
C153 Frase 3 11C0032
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
35
esempio di architettura (6A)
L’entità1 del livello L2 riceve i vari pacchetti dal suo livello L1, in base alla numerazione ricompone il messaggio totale, eventual-mente richiedendo la ritras-missione di qualche specifico pacchetto che risulta errato o perso, e poi passa il messaggio all’entità del livello superiore attraverso il SAP1 indicato.
SAP1
entità1L2
trasportoSAP1
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
36
L’ufficiale di bordo della NAVE_B riceve i singoli foglietti dal suo ra-diotelegrafista e ricompone il mes-saggio trasmesso. Se per caso un foglietto risulta mancante o incom-prensibile, 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 destinata-rio, passa il messaggio alrelativo aitante di ponte.
esempio di architettura (6B)
ufficiale di bordo
C153 Frase 1 56C0030
C153 Frase 2 63C0031
C153 Frase 3 11C0032
NAVE_A Da L3NAVE_B
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
37
esempio di architettura (7A)
L’entità1 del livello L3 rileva l’indirizzo di destinazione con-tenuto nel messaggio, e lo inoltra al programma che lo stava aspettando. Potrebbe an-che succedere che il Sistema_Bnon 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.
destinatario
entità1
SAP1
L3applicazione
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
38
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.
esempio di architettura (7B)
C153 Frase 1 56C0030
C153 Frase 2 63C0031
C153 Frase 3 11C0032
NAVE_A Da L3NAVE_B
ROSSI BIANCHI testo
aiutante del ponte
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
39
esempio di architettura considerazioni (1)
Ln
L2
L1
Ln
L2
L1
trasferimentofisico delle
informazioniattraverso
livelli adiacenti
standardizzatodalle interfacce
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
40
esempio di architettura considerazioni (2)
Ln trasferimentologico delleinformazioni
attraversolivelli paritari
standardizzatodai protocolli
protocollo di livello Ln
L1
L2protocollo di livello L2
protocollo di livello L1
Ln
L1
L2
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
41
terminologia approfondimenti (1)SAP Service Access PointIDU Interface Data UnitSDU Service Data UnitPDU Protocol Data UnitICI Interface Control Information
(N+1)IDU
(N+1)ICI (N+1)SDU
(N)SAP
(N)SDU
N_entità
(N)ICI
proprietàdel livello
(N)IDUlivello N
livello N+1
(N)PCI(N)PCI
(N)SDU(N)PDU
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
42
terminologia approfondimenti (2)servizi connessi
(connection-oriented)servizi non connessi
(connectionless)
tre fasi:1. creazione connessione2. trasferimento dati3. rilascio connessione
inoltro diretto
• PDU correlate• identificativo connessione• negoziazione connessione
• PDU indipendenti• indirizzamento esplicito• uso efficiente del mezzo
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
43
terminologia approfondimenti (3)
servizi confermati servizi non confermati
utilizzano le primitive:request indicationresponse confirm
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
utilizzano le primitive:request indication
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
44
terminologia servizi non confermati
N_entità
(N-1)_entità
D.indication
N_entità
(N-1)_entità
D.request(N-1)_PDU
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
45
terminologia servizi confermati (1)
N_entità
(N-1)_entità
D.indication
N_entità
(N-1)_entità
D.request(N-1)_PDU
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
46
terminologia servizi confermati (2)
N_entità
(N-1)_entità
D.response
N_entità
(N-1)_entità
D.confirm(N-1)_PDU
Reti di calcolatori Architettura degli elaboratori -modulo B- A.Memo
47
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)