Sei sulla pagina 1di 35

Reti

(2023/10/12 )
Outline

Computer Network
Computer Network: di cosa tratta?

Si tratta di un corpus di tecnologie atte a far si’ che due (o


piu’) agenti software possano scambiarsi informazioni
LAN vs WAN
Client/server model
Lo stack ISO/OSI
3 TCP / IP

Lo Stack ISO/OSI è un modello molto


complesso, con una ricca serie di
standard, protocolli, servizi e di
modelli di integrazione fra questi.
Noi ci limiteremo a discutere solo
DUE di questi, il TCP/UDP e l’ IP
3 IP

Il protocollo IP offre molti servizi: quello che a noi interessa di piu’ è quello per cui
consente di dare UN NOME ad ogni computer che si affaccia nella rete.

Dare un nome è NECESSARIO, altrimenti non si potrebbero identificare I mittenti e/o I


destinatari, nello scambio di pacchetti di dati fra computer.
3 IP

Come si identifica un host? Quale è il suo nome?

Il “nome” di ogni host si definisce definendo l’indirizzo IP


3 IP

Tramite questo protocollo di


assegnazione dei nomi ogni host
puo’ quindi conoscere la sua
identità è quella dei suoi vicini, e
conseguentemente indirizzare
nella maniera piu’ opportuno
l’invio di dati
4 TCP

Il TCP è un protocollo che offre una serie avanzata di servizi quali ad esempio :

• Servizio orientate alla connessione


• Corretto ordine di consegna
• Controllo di flusso
• Multiplazione
• Introduce il concetto di PORTA, fornendo un servizio prezioso alle applicazioni
4 TCP

“Servizio orientate alla connessione”: significa che oltre a scambiarsi i dati da inviarsi, I
due host si scambiano anche informazioni relative ad un “canale di comunicazione” che
intendono instaurare, e del suo stato. (es: ready, stop, suspended, segnali di conferma
ricezione pacchetti, resending di pacchetti mancanti,etc..).

“Corretto ordine di consegna”: siccome un pacchetto dati che arriva dal layer
superiore puo’ essere troppo grande per essere inviato in un sol colpo, a
questo livello si possono creare piu’ pacchetti, ognuno con la corretta
intestazione, e questi vengono inviati. A causa delle politiche sottostanti di
instradamento non abbiamo pero’ certezza che giungano a destiinazione nello
stesso ordine…
4 TCP

“Controllo di flusso”: l’host mittente non ha idea del carico di lavoro del
destinatario, il quale potrebbe essere momentaneamente indaffarato in
altre attività o a ricevere altri messaggi da altri host. Il mittente si organizza
quindi per modulare la dimensione dei pacchetti e le politiche di invio in
funzione della reale capacità del destinatario di accettare pacchetti.

“Multiplazione”: e’ spesso possibile che su un compter destinatario vi


siano diverse applicazioni con le quali l’host voglia dialogare. Come
assicurarsi quindi che il pacchetto raggiunga l’applicazione corretta?
Implementando il concetto di PORTA. Ogni applicazione che vuole
ricevere dati, chiede al SO di “aprire una porta” (numerica, 0-65535) e
tutti I pacchetti TCP recanti quel numero di porta (ed ovviamente
relative all’indirizzo IP di quell’host) le verranno recapitati.
4 TCP

“porta”: tramite la
gestione delle porte il
TCP puo’ predisporree
diverse porte ed
associare ad ogni
applicazione una porta
diversa: cosi’ piu’
applicazioni possono
usare le risorse di rete
contemporaneamente.
4 #nonsoloTCP

TCP Implementa molti servizi


(buono per necessità
“mission critical”)

UDP Implementa pochi servizi (buono per necessità piu’


“time critical”, es: streaming)
7 E a livello APPLICATION ?

Ci sono le applicazioni classiche che tutti conosciamo ma anche una serie di servizi
particolarmente utili ed in buona misura “invisibili” all’utente comune
7 Application - DHCP

L’indirizzo IP è un costrutto molto potente, che pero’ schiude ad una serie di


ulteriori dettagli tecnologici che ne incrementano la complessità.

Es: ogni host ha sempre lo stesso indirizzo IP? Siccome in alcuni casi è
conveniente che sia cosi’, mentre in altri è conveniente che non sia cosi’ ( es: per
esigenze di manutenzione), un host puo’ avere:

Un indirizzo statico IP ( se è fisso) o un indirizzo IP dinamico (se puo’


potenziamente cambiare ad ogni riavvio dell’host)
Application - DHCP

Indirizzo IP STATICO (senza DHCP) : Ogni computer memorizza il proprio indirizzo IP. Al
momento dell’accensione già sa come affacciarsi sulla rete e capire quali pacchetti sono per
lui e quali no.

Indirizzo IP STATICO (con DHCP) : Ogni computer NON memorizza il proprio indirizzo IP.
All’accensione chiede ad un computer (detto DHCP Server), il cui indirizzo IP è noto perchè
STATICO, quale deve essere il suo indirizzo IP in questa sessione di lavoro. Il DHCP ha
memorizzata l’associazione fra il MAC Address di quell computer ed un indirizzo IP che
l’amministratore della rete ha deciso per lui.

Indirizzo IP DINAMICO (con DHCP) : Ogni computer NON memorizza il proprio indirizzo IP.
All’accensione chiede ad un computer (detto DHCP Server), il cui indirizzo IP è noto perchè
STATICO, quale deve essere il suo indirizzo IP in questa sessione di lavoro. Il DHCP assegna un
indirizzo IP casual non già attualmente in uso dagli altri host della rete.
Application - DHCP

Il DHCP Server è un Server che amministra gli indirizzi IP di una rete (tipicamente) LAN.

Tuttavia, in una LAN composta da indirizzi puramente statici, il DHCP è facoltativo.

NB: alcuni S.O. sono furbi .. Se alcuni host vengono messi in connessione senza che vengano
indicate indirizzi IP statico ed uno specifico DHCP server, questi si organizzano in maniera
trasparente per l’utente cosi’ da eleggere un nodo per fungere da DHCP sever temporaneo

DHCP = Dinamic Host Configuration Protocol


Application - DNS

In addition… siccome gli esseri umani sono pigri e non vogliono memorizzare indirizzi IP in
quanto poco facili da memorizzare, preferiscono imparare dei nomi-host piu’ “mnemonici”.

C’è allora un Servizio, chiamato DNS, che contiene delle tabelle che associano un indirizzo IP
ad un nome piu’ facile da ricordare e consentono quindi di identificare (utile sopratutto a
livello applicativo ed a livello utente) un host con una stringa alfanumerica.

DNS = Domain Name Server


Application - DNS

RFC 1035
Il DNS ci resolve, ad esempio :

www.google.com in 142.250.180.142

Quando noi digitiamo www.google.com il nostro browser (User Program) chiede al S.O. di risolvere.
www.google.com. Il SO chiede ad un DNS di risolvere www.google.com , ed il DNS restituisce
l’indirizzo 142.250.180.142. A questo punto il SO inoltra la richiesta dell’applicazione all’indirizzo IP
142.250.180.142. La risposta che giungera’ verrà restituita al browser
Application - DNS

Se un server DNS è “giu’”, non è piu’ in grado di risolvere I nomi ma I siti web sono
comunque raggiungibili se si prova ad accedervi via indirizzo IP.
Ed in termini di hardware ?

Le reti di computer constano non solo di sistemi software ma anche di DISPOSITIVI


HARDWARE (talvolta detti DISPOSITIVI DI RETE)
Dispositivi di rete

Puo’ implementare anche


politiche raffinate, di livello
application, ma normalmente
si limita a filtrare le porte.
Dispositivi di rete
Internet ed il web
Internet ed il web

1982 – nasce la parola “internet”

1986 – Il primo nodo Internet viene stabilito in Italia, a Pisa

1991 - nasce, al CERN, il World Wide Web


Application - Browser

“Il world wide web è quell’infrastruttura di servizi software che rende fruibili delle
pagine HTML scambiate tramite protocollo http” (con il tempo si è poi evoluto fino ad
includere anche altre tecnologie)

Un web browser è un programma che formatta (fa il rendering) delle pagine HTML
scambiate tramite protocollo HTTP.

Come, tramite il web, il browser ci consente di “navigare” nell web ?


WEB : siti STATICI

I browser che stanno sui client richiedono, tramite protocollo http, al web server (un applicazione
che risiede su un server, ad esempio su www.google.com ed in ascolto sulla porta 80 ) delle pagine
HTML che sono memorizzate su filesystem de server; il web server esaudisce le richieste dei client
ed I client ne fanno il rendering nel browser
Lo stack ISO/OSI : Application – Browser, HTTP

L’http (HyperText Transfer Protocol) è un protocollo per l’interscambio di ipertesti,


tipicamente formattati in HTML (testi con elementi non testuali che consentono
l’interazione con la pagina)
Lo stack ISO/OSI : Application – Browser, HTML

<html>
E cosa sono queste “pagine HTML”?
<head>
Sono dei file di testo che contengono le <title>La mia prima semplice pagina</title>
informazioni perchè il contenuto testuale </head>
possa venir formattato graficamente nella
maniera desiderata. <body>
<center>Ciao <b>Mondo!</b></center>
</body>

</html>
http://www.inf.uniroma3.it/~patrigna/didactic/imp_elab/esempi_html/index.html
WEB : siti DINAMICI

Quindi per ogni possible richiesta


la pagina DEVE essere già
disponibile sul filesystem, lato
webserver.

…. E se le pagine sono
potenzialmente TANTE? Es:
perchè tante sono le possibili
combinazioni del loro contenuto?
(vedi il catalogo prodotti di
un’azienda)
WEB : siti DINAMICI

Le pagine HTML vengono


create DINAMICAMENTE, in
REAL TIME e spedite al
richiedente

Potrebbero piacerti anche