Modello basato sull'uso di un server centrale che dirige il traffico dei client
registrati. Il server gestisce un database che mantiene un indice delle risorse
condivise dai client. L'indice contiene indirizzo IP del client e nome della
risorsa condivisa (chiave con la quale viene identificata la risorsa). Ogni volta
che un utente effettua la richiesta per un particolare file, il server interroga il
suo database e a seconda del risultato restituisce o meno una lista di file,
corrispondenti a quello richiesto, dei client connessi alla rete.A questo punto
l'utente richiedente non deve far altro che selezionare uno di questi file dalla
lista, aprendo una connessione diretta con il proprietario del file. Di qui ha
luogo il trasferimento della risorsa tra i due client.
Vantaggi e svantaggi:
Il principale vantaggio del modello client-server e' la sua centralizzazione che
permette la localizzazione dei file rapidamente ed efficacemente. Dal momento
che il server mantiene aggiornato l'indice delle risorse condivise dai client, i file
che gli utenti trovano attraverso le loro ricerche sono immediatamente pronti
per essere scaricati. Nonostante un'architettura centralizzata sia efficiente, il
sistema ha un singolo punto di ingresso.
Nella rete si identificano uno o più sistemi SERVER in grado di
fornire servizi specifici a che li richiede e più sistemi CLIENT che
sono i fruitori attivi di questi servizi.
A livello di grandi applicazioni specialmente gestionali, è comodo
suddividere il problema in più funzioni distinte e assegnare queste
funzioni ad opportuni sistemi, molto potenti in grado di offrire la
loro esecuzione in tempi molto brevi; si ottiene una frammentazione
del problema, parallelizzabile, inoltre gli utenti possono accedere in
un parallelismo di tipo pipeline alle varie funzioni, riducendo il
tempo di esecuzione della singola applicazione e di permettere a più
utenti di accedere allo stesso servizio comune
Una possibile implementazione del modello client/server richiede
solo due primitive:
Send (ADDR, MSG)
Receive (ADDR, MSG)
Il concetto di peer to peer non e'
esattamente nuovo. Fino a 30 anni
fa, le societa' lavoravano su
architetture che oggi sarebbero
etichettate come peer to peer.
Detto semplicemente il peer to peer
e' la condivisione di risorse e di
servizi tra computer. Queste risorse
e questi servizi comprendono
scambio di informazioni, cicli di
computazione, spazio su disco per i
file.
Una rete peer to peer sfrutta la
potenza di calcolo dei client
connessi ad essa.
Grazie al modello P2P, i computer possono comunicare e
condividere i file e altre risorse, invece di passare attraverso un
server centralizzato.
Ciascun computer (nodo) e' responsabile del passaggio dei dati
alle altre macchine.
Le connessioni non nascono spontaneamente, ma devono
essere richieste da una delle parti in causa. A differenza
dell'approccio client-server, chi richiede la connessione non e'
ad un livello gerarchico inferiore; infatti entrambi i partecipanti
sono alla pari (peer).
In una architettura peer to peer i computer che sono stati
tradizionalmente usati solo come client comunicano tra di loro e
possono agire sia da client che da server, assumendo un ruolo
che e' molto efficiente per la rete. Questo riduce notevolmente
il carico sui server.
Attraverso un client scaricato gli utenti si connettono
alla rete. Dopo la connessione, ha inizio la
comunicazione tra i nodi che avviene tramite uno
scambio di messaggi.
I messaggi servono a:
• segnalare la propria presenza sulla rete
• chiedere una o piu' risorse risorsa
• servire la richiesta di una o piu' risorse
• trasferire le risorse
La validita' dei messaggi e' data dal TTL (time to live).
Se il TTL > 0 allora il messaggo e' valido, altrimenti non
viene preso in considerazione.
Il valore del TTL viene decrementato ad ogni hop, al
passaggio da un nodo
PROTOCOLLI DI COMUNICAZIONE
Necessità della standardizzazione
3 componenti
ITU (Telecomunicazioni)
ISO (Standardizzazione in generale
organizzazioni mondiali (IEEE)
ITU
Organizzazione interna all’ONU: coordina i fornitori
dei servizi di telecomunicazioni
ISO
Organizzazione volontaria con il compito di SVILUPPARE
GLI STANDARD INTERNAZIONALI;
Fondata nel 1946 appartengono:
•ANSI (USA)
•UNI (ITALIA)
•DIN (GERMANIA)
HA CREATO IL MODELLO OSI che rappresenta lo standard
universalmente riconosciuto
ORGANIZZAZIONI
Organizzazioni che si occupano della materia tra le quali la più
importante è l’IEEE (institute of Electrical and Electronics
Engineers) è un albo mondiale degli ingegneri elettronici ed
elettrotecnici
Proposta di standardizzazione delle reti LAN nota con la sigla
802.
MODELLO OSI
OPEN SYSTEMS INTERCONNECTION
Si inizia a studiarlo nel 1977; solo nel 1984 è stato
approvato
Rappresenta
la conoscenza essenziale per affrontare le problematiche
della comunicazione di rete
MODELLO OSI
Scopo:
Descrivere un modello di architettura VERSATILE ed
EFFICIENTE per proporre una serie di contenitori (LIVELLI)
gerarchicamente collegati per adattare o indirizzare gli
standard esistenti o futuri.
FAR SI’ CHE I SISTEMI DI ELABORAZIONE
INTERCONNESSI TRA LORO RISULTINO
VIRTUALMENTE APERTI
I LIVELLI DEL MODELLO OSI
1 - LIVELLO FISICO: (PH)
gestisce direttamente le risorse fisiche di
interconnessione (Mezzi di trasporto )
assicurando il trasferimento dei singoli bit in
termini di:
–
–
–
Caratteristiche meccaniche (numero dei piedini di
un connettore)
Elettriche (al livello di bit 1 corrispondono 12 volt)
Funzionali (significato di ogni piedino)
I LIVELLI DEL MODELLO OSI
2 - LIVELLO COLLEGAMENTO DATI(data link
layer)
assicura il trasferimento di un frame (blocco di
info) privo di errori. Deve:
–
–
–
Delimitare i dati da inviare al livello 1 (caratteri di
inizio e fine)
Aggiungere informazioni di controllo necessarie per
il riconoscimento ed individuazione degli errori
(eventuali ripetizioni)
Regolare il traffico (ordine dei pacchetti trasmessi e
ricevuti, introdurre dei meccanismi (wait) per
compensare eventuali mittenti troppo veloci rispetto
al destinatario)
I LIVELLI DEL MODELLO OSI
3 - LIVELLO RETE (Network layer) :
–
–
Determina il percorso che la sequenza di pacchetti
che compongono il messaggio dovranno seguire
per arrivare a destinazione. L’instradamento
avviene attraverso l’utilizzo di tabelle
Il percorso da seguire può essere:


–
–
Fisso – assegnato all’inizio della comunicazione e
rilasciato al termine della comunicazione – Commutazione
di circuito
Variabile per ogni frame che compone il messaggio –
Commutazione di pacchetto
Tariffazione
Interfacciamento con reti differenti risolto con
l’attribuzione del protocollo IP che si effettua a
questo livello
I LIVELLI DEL MODELLO OSI
I livelli 1 – 2 e 3 sono chiamati LIVELLI
TRASMISSIVI perché si occupano
dell’implementazione fisica della rete, in termini
di cablaggi (livello 1), tipologie di
instradamento (livello 3)
Questi livelli sono orientati i livelli inferiori o con
il supporto fisico.
I livelli da 4 in poi sono chiamati LIVELLI END
TO END
I LIVELLI DEL MODELLO OSI
4 – livello di trasporto (Transport layer):
primo livello end to end- ottimizza l’uso delle risorse di
rete prevenendo la congestione o multiplando
(operazione che permette di condividere un solo
mezzo fisico tra più stazioni) l’unica richiesta di
collegamento su più connessioni
E’ orientato alla connessione diretta con il livello paritario
della stazione collegata.
Controlla che i pacchetti siano trasmessi nella giusta
sequenza (alta affidabilità) e ricevuti correttamente
(senza perdite o duplicazioni).
Il protocollo TCP è assimilabile a questo livello del
modello OSI
I LIVELLI DEL MODELLO OSI
5 – livello sessione (Session layer)
–
–
Crea una sessione (collegamento diretto tra due
interlocutori)
Organizza il dialogo in termini di:


Tipo di dialogo (scambio in full duplex, half duplex,
simplex)
Sincronizzazione (capacità di sapere sempre fino a che
punto la comunicazione sia arrivata a buon fine in modo da
poter riprendere in caso di interruzione dall’ultimo scambio
corretto
I LIVELLI DEL MODELLO OSI
6 – livello presentazione (Presentation layer)
–
–
–
Presenta le informazioni scambiate tra le entità in
maniera compatibile con l’ambiente in cui vengono
trattate
deve adattare la sintassi dei corrispondenti cioè in
termini di formato dei dati e formato di
rappresentazione locale)
Assicura l’opportuna compressione dei dati e/o
crittografia dei dati da scmbiare
I LIVELLI DEL MODELLO OSI
7 – livello applicazione (Application layer)
E’ il livello in cui i programmi applicativi colloquiano
con il modello OSI
– Gestione di applicazioni distribuite
– Gestione dei terminali virtuali (2 postazioni con
controllori video o tastiere diverse non compatibili – si
definisce uno standard di un terminale virtuale a cui tutti
dovranno adeguarsi.
–
–
–
Posta elettronica
Trasferimento file
Controllo dei sistemi remoti (possibilità di inviare i
caratteri battuti al terminale di un sistema locale al sistema
remoto e farli interpretare da quest’ultimo come se fossero
stati digitati in quel sito)
LA COMMUTAZIONE

La commutazione è quell’operazione che
predispone il percorso che le info emesse dal
mittente devono seguire per raggiungere il
destinatario.
Di circuito – rappresenta la versione
automatizzata dell’operazione che doveva
effettuare manualmente il centralinista quando
adoperava le spine in un pannello di
interconnessione.
COMMUTAZIONE DI CIRCUITO
• Tempo di attivazione della connessione fisica - permanente
fino al termine della comunicazione
• Bassa efficienza nell’uso del mezzo
COMMUTAZIONE DI PACCHETTO
Commutazione di pacchetto:
 Suddivisione del messaggio da trasmettere in
più unità autonome
 Ambito strettamente digitale
 Capacità di instradamento autonoma
Il disordine all’arrivo non crea alcun problema,
viene utilizzato per il controllo dell’arrivo dei
dati.
Nota anche con il nome di datagram
COMMUTAZIONE DI PACCHETTO
COMMUTAZIONE DI PACCHETTO A
CIRCUITO VIRTUALE
Commutazione di circuito virtuale: ingloba le
caratteristiche di entrambe le soluzioni: per
comunicare, due stazioni fissano inizialmente il
percorso (path) che i pacchetti devono seguire. Il
trasferimento dei dati seguirà sempre questo percorso
e i pacchetti arriveranno nella stessa sequenza con
cui sono stati trasmessi.
La determinazione del path è di competenza del singoli
nodi interessati.
Ogni nodo componente determina solo il
collegamento con il nodo successivo
I protocolli TCP/IP
Contrapposto all’architettura OSI (standard
l’architettura TCP/IP (standard de facto)
TCP/IP = Internet Protocol Suite
TCP e IP sono 2 protocolli
de iure),
I protocolli TCP/IP
TCP/IP è una famiglia standard di protocolli progettati per reti di
grandi dimensioni che utilizzano collegamenti WAN.
TCP/IP fu sviluppato nel 1969 dal DARPA (Department of
Defense Advanced Research Project Agency), come risultato di
un esperimento di condivisione di risorse denominato
ARPANET tra i principali centri di ricerca degli USA per scambio
di info e strategie comuni.
Lo scopo era quello di creare un protocollo che fosse in
grado di assicurare collegamenti di rete per comunicazioni
ad alta velocità
I protocolli TCP/IP
OBIETTIVI RICHIESTI
• progettare una rete eterogenea (comunicazione
qualsiasi tipo di computer (dal pc al main frame)
• Servizi non connessi
• rete a commutazione di pacchetto
tra
Standard TCP/IP
Stato
I protocolli della famiglia
(suite) TCP/IP sono di
Pubblico Dominio (ben
documentati e continuamente
analizzati)
Vengono pubblicati in una
serie di documenti
denominata RFC (Request for
Comments) e sono disponibili
su Internet o nel libro (DDN
Protocol Handbook)
Descrizione
Required
Deve essere
implementato su tutti i
gateway e gli host basati
su TCP/IP
Recommended
consigliato
Elective
facoltativo
Limited Use
Non previsto l’impiego
generale
Not
recommended
sconsigliato
Architettura di protocolli TCP/IP
I protocolli TCP/IP corrispondono ad un modello teorico a
quattro livelli (Modello DARPA).
• APPLICAZIONE
• TRASPORTO
• INTERNET
• INTERFACCIA DI RETE
Ciascuno dei livelli corrisponde a uno o più dei sette livelli
del modello OSI.
Architettura di protocolli TCP/IP
Suite del protocollo TCP/IP
OSI
Applicazione
Presentazione
Sessione
Trasporto
TCP/IP
Applicazione
Rete
Internet
ARP
Data-Link
Fisico
Interfaccia
di rete
Ether
net
Tel
net
Trasporto
F
T
P
S
M
T
P
S
N
M
P
DNS RIP
TCP
UDP
IP
Token
Ring
IGMP ICMP
Frame
Relay
ATM
Modello TCP/IP
corrisponde ad un modello teorico a quattro
livelli (Modello DARPA).
1.
INTERFACCIA DI RETE
2.
INTERNET
3.
TRASPORTO
4.
APPLICAZIONE
Ciascuno dei livelli corrisponde a uno o più dei
sette livelli del modello OSI.
Livello Interfaccia di rete (livelli
fisico e data link dell’ISO/OSI)
I livelli 1 e 2 del modello ISO/OSI non vengono specificati: questo
fa parte delle specifiche di progetto di DARPA, in quanto TCP/IP
doveva essere in grado di appoggiarsi non solo su qualsiasi
supporto fisico, ma anche su qualsiasi rete.
L’unico compito è quello di fornire il pacchetto del corretto
indirizzo di livello 2 del nodo della struttura (LAN, MAN o WAN)
con cui collegarsi.
Livello Internet
Coincide con iI livello rete del modello ISO/OSI ed il
principale protocollo implementato in questo livello è il
protocollo IP (Internet Protocol),in grado di offrire solo
servizi non connessi (cioè senza conferma)
Scambia cioè solo pacchetti non numerati e non
effettua alcun tipo di controllo né sul flusso né sul
contenuto; il suo scopo principale è quello di gestire
l’instradamento dei pacchetti stessi.
Oltre al protocollo IP esistono a questo livello altri
protocolli come ARP/RARP, ICMP e i protocolli di
routing
Livello Trasporto
Il livello di trasporto fornisce servizi di comunicazione per
sessioni e datagrammi al livello successivo (applicazione).I
principali protocolli sono:
TCP (da cui il nome dell’architettura TCP) offre servizi
confermati di tipo connection oriented in modalità fullduplex.
Caratterizzato dalla capacità di multiplexing (permettere a più
applicazioni di accedere contemporaneamente ai vari servizi
offerti)
Fornisce un servizio di comunicazione one-to-one affidabile,
orientato alla connessione. Il protocollo TCP consente di stabilire
una connessione TCP, di stabilire la sequenza dei pacchetti
inviati e di tenerne traccia e ripristinare i pacchetti persi durante la
trasmissione;
UDP che fornisce un servizio one-to-one o one-to-many per
comunicazioni non affidabili senza connessione
Livello Applicazione
Il livello di applicazione fornisce alle applicazioni la possibilità di accedere ai
servizi degli altri livelli e definisce i protocolli che verranno utilizzati dalle
applicazioni per lo scambio dei dati.
I protocolli più comunemente usati sono:
• HTTP (HyperText Transfer Protocol) usato per il trasferimento
dei file che compongono le pagine dei siti Web;
• FTP (File Transfer Protocol) utilizzato per il trasferimento
interattivo di file;
• SMTP (Simple Mail Transfer Protocol) utilizzato per il
trasferimento dei messaggi di posta elettronica e di eventuali
allegati;
• Telnet, protocollo di emulazione di terminale utilizzato per
l’accesso in remoto a Host di rete
Gli indirizzi IP
L'indirizzamento IP permette di identificare ogni host all'interno
di una rete TCP/IP. Grazie all'utilizzo delle classi di indirizzi ed
al subnetting è possibile organizzare e gestire in modo più
efficiente il proprio network.
Un indirizzo IP, chiamato anche indirizzo logico, rappresenta un
identificativo software per le interfacce di rete, esso viene
utilizzato in combinazione con l'indirizzo fisico (MAC), il quale
consente di determinare in modo univoco ogni interfaccia di un
dispositivo di rete.
Struttura di un indirizzo IP
Un IP Address è un numero di 32 bit suddiviso in quattro gruppi
da 8 bit ciascuno, la forma con la quale viene solitamente
rappresentato è detta decimale puntata (Dotted Decimal).
Essendo ogni numero rappresentato da 8 bit, può assumere un
range di valori da 0 a 255.
Utilizzando 32 bit per indirizzo è possibile avere 4.294.967.296
combinazioni di indirizzi differenti. In realtà esistono alcuni indirizzi
particolari, di conseguenza non tutti i valori sono disponibili al fine
di identificare un host nella rete.
Struttura di un indirizzo IP
10011101 11100100 10001111 10011101
NET-ID
HOST-ID
Classi di Indirizzi IP
Per permettere una migliore organizzazione della rete, gli indirizzi
disponibili sono stati suddivisi in classi in base alle dimensioni del
network da gestire. In questo modo verranno utilizzate le classi
più adatte ad alla dimensioni della rete, con conseguente minore
“spreco” di ip address.
Sono disponibili cinque classi di indirizzi IP, di cui solo le prime
tre possono essere utilizzate per assegnare indirizzi agli host.
Le classi vengono convenzionalmente denominate: A, B, C, D, E
10011101 11100100 10001111 10011101
Indirizzi di classe A
Gli indirizzi di classe A hanno:
8 bit nella porzione NETID
0
0
0
0
0
0
0
1
126
0
1
1
1
1
1
1
1
reti
e 24 bit nella porzione HOSTID per cui è possibile
indirizzare 224 – 1 = 16.777.215 – 1 (la configurazione
tutti ZERO non è permessa) = 16.777.214 hosts.
I valori decimali del primo ottetto vanno da 0 a 127
10011101 11100100 10001111 10011101
Indirizzi di classe B
Gli indirizzi di classe B hanno: 16 bit nella porzione NETID
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 0 1 1 1 1 1 1
1 1 1
1 1 1 1 1
E’ possibile quindi indirizzare 2(16-2) = 16.384 reti
e 16 bit nella porzione HOSTID per cui è possibile indirizzare 216 – 1 =
65.535 – 1 (la configurazione tutti ZERO non è permessa) = 65.534
hosts.
I valori decimali del primo ottetto vanno da 128 a 191
10011101 11100100 10001111 10011101
Indirizzi di classe C
Gli indirizzi di classe C hanno: 24 bit nella porzione NETID
1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 1 0 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
E’ possibile quindi indirizzare 2(24-3) = 2.097.152 reti
e 8 bit nella porzione HOSTID per cui è possibile indirizzare 28 – 1 =
255 – 1 (la configurazione tutti ZERO non è permessa) = 254 hosts.
I valori decimali del primo ottetto vanno da 192 a 223
Attribuzione degli indirizzi IP
E’ possibile attribuire indirizzi IP qualsiasi nell’ambito di una
rete locale non connessa ad Internet.
Invece, nel caso in cui si preveda di interconnetere la rete
ad altre reti basate sullo stesso protocollo o ad Internet, è opportuno
procedere all’assegnazione degli indirizzi IP seguendo una politica
ben precisa per evitare successivi conflitti.
Per ottenere gli indirizzi IP è necessario rivolgersi alle
organizzazioni che a livello internazionale, nazionale e locale
gestiscono le assegnazioni (InterNIC o IANA)
Indirizzi IP privati
Con indirizzi IP privati si intendono alcune classi di indirizzi, definite
nella RFC 1918, riservate alle reti locali non connesse ad internet allo scopo
di ridurre le richieste di indirizzi pubblici. Chiunque può utilizzare questi
indirizzi per la propria rete locale, perché i pacchetti relativi a tali reti non
vengono instradati dai router internet, e quindi essi non entreranno in
conflitto con analoghi indirizzi posti su altre reti locali.
Nel caso occorra connettere ad Internet una rete locale che utilizza queste
classi indirizzi si deve ricorrere al NATing (Network Address Translation).
Tabella degli indirizzi IP privati
indirizzo
iniziale
indirizzo finale
classi
Numero di
indirizzi
disponibili
10.0.0.0
10.255.255.255
singola classe A
16.777.216
172.16.0.0
172.31.255.255
16 classi B
contigue
1.048.576
192.168.0.0
192.168.255.255
256 classi C
contigue
65.536
Le sottoreti
In una rete, come quelle di classe A e B, in cui il numero di Hosts è
teoricamente elevato e quindi difficilmente implementabile senza
utilizzare dei routers, si è pensato di adottare il metodo di
indirizzamento di sottorete per poter assegnare gruppi di indirizzi
a segmenti di rete come se queste ultime fossero reti distinte.
In altre parole il metodo di indirizzamento di sottorete consiste
nel “prendere in prestito” alcuni bit della HOSTID da trasferire sulla
NETID.
Maschera di sottorete
172.16.0.0
I.P
Maschera
10101100 00010000 00000000 00000000
11111111
11111111
11100000 00000000
255.255.224.0
Bit 1 nella maschera  Bit corrispondente nell’IP appartiene al NETID
Bit 0 nella maschera  Bit corrispondente nell’IP appartiene al HOSTID
Indirizzi di sottorete
Dall’esempio precedente risulta quindi possibile
determinare i seguenti sei indirizzi di sottorete:
10101100
10101100
10101100
10101100
10101100
10101100
00010000
00010000
00010000
00010000
00010000
00010000
00100000
01000000
01100000
10000000
10100000
11000000
Sono esclusi gli indirizzi 000 e 111
00000000
00000000
00000000
00000000
00000000
00000000
Valori ammessi per indirizzi di sottorete
Sempre dall’esempio precedente risulta quindi che i possibili
indirizzi IP determinati con l’utilizzo della maschera utilizzata sono:
Da 172. 16. 32. 1
a 172. 16. 63. 254
10101100 00010000 00100000 00000001
10101100 00010000 00111111 11111110
10101100 00010000 11000000 00000001
Da 172. 16. 192. 1
a 172. 16. 223. 254 10101100 00010000 11011111 11111110
Esempio
140.35.1.2
140.35.2.2
140.35.1.3
140.35.2.1
140.35.1.1
140.35.1.4
140.35.2.4
140.35.3.4
140.35.3.1
140.35.3.3
140.35.2.3
140.35.3.2
I LIVELLI DEL MODELLO OSI
L’effetto del livello 2 è quello di consentire al
LIVELLO 3 di vedere la linea di collegamento
come un supporto veloce e virtualmente privo
di errori
Scarica

lezione su ISO -OSI e TCP