Servizi di sistema e porti
Servizi di sistema
e porti
Ing. A. Stile – [email protected]
Ing. L. Marchesano – [email protected]
1/20
Paradigma client/server
Riguarda una elaborazione cooperativa di richieste, effettuate dal
client (o richiedente) verso il server (o servente), il quale elabora le
richieste e restituisce le risposte
In questo modello, l’elaborazione è divisa (non necessariamente in
modo equo) tra client e server
L’elaborazione è iniziata (e parzialmente controllata) dal client;
pertanto, l’attività del client è ben delimitata temporalmente.
Al contrario, un server è sempre in ascolto, in modo tale da poter
soddisfare alle richieste (anche contemporanee) dei client
2/20
Esempio client/server
3/20
Client/server nell’ambito delle reti
Nell’ambito delle reti di calcolatori, praticamente tutte le
applicazioni si basano sul paradigma client/server
Sono basate su questo paradigma:
• le applicazioni per la gestione della rete (DNS, DHCP, controller
di dominio, Active Directory, …)
• le applicazioni utente (HTTP, FTP, POP, SMTP, …)
Ma anche applicazioni stand alone si basano sul paradigma
client/server: ad esempio, un’applicazione che deve stampare un
documento è un client verso il driver della stampante, che a sua volta
è un client verso l’hardware
4/20
Client/server nell’ambito del sistema operativo
Nella struttura di un sistema operativo, esiste un numero elevato di
applicazioni che fungono da server per altri processi del sistema
operativo stesso o per client presenti su macchine remote
Tali applicazioni prendono il nome di Servizi (ambiente Windows) o
Demoni (ambiente Unix/Linux)
Dunque, un servizio è una applicazione, routine o processo che
esegue una funzione di sistema specifica per supportare altre
applicazioni, in modo particolare a basso livello, ovvero un livello
prossimo all'hardware
5/20
Alcuni tra i servizi di Windows
6/20
Allocazione di servizi su un computer
In via di principio, un singolo computer potrebbe fornire un singolo
servizio. È però impensabile una situazione di questo tipo!!!
Quali mezzi si hanno a disposizione per allocare diversi servizi su
uno stesso computer?
• Processi (già illustrati in precedenza)
• Porti
7/20
Porti 1/3
Abbiamo già detto che, su Internet, ogni macchina deve essere
UNIVOCAMENTE identificata mediante un indorizzo IP
Se, però, la stessa macchina ospita vari servizi, come è possibile
indirizzare una richiesta ad un servizio piuttosto che ad un altro?
Si ricorre al porto (port): il porto è una informazione aggiuntiva, da
porre dopo l’indirizzo IP, che serve ad identificare il servizio a cui è
diretta la richiesta inviata ad un determinato computer (e, quindi, ad
un determinato indirizzo IP)
8/20
Porti 2/3
Implicitamente, il concetto di porto si usa SEMPRE!
Ad esempio, quando ci si collega, tramite browser web, al sito:
www.criai.it, il browser, tramite il protocollo DNS effettua la
risoluzione dell’indirizzo simbolico in indirizzo IP; solo
successivamente la richiesta viene inviata all’indirizzo IP ricavato ed
ad un determinato porto
DNS
www.criai.it
80.19.171.65
GET index.html from 80.19.171.65:80
9/20
Porti 3/3
I porti che in totale possono essere gestiti sono 65.535. In realtà,
però, non tutti possono essere scelti da una applicazione poiché, per
alcune applicazioni molto diffuse, i porti sono standardizzati:
• porto 21: FTP
• porto 23: Telnet
• porto 25: SMTP
• porto 80: HTTP
Le applicazioni “standard” sono in ascolto su tali porti e rispondono
solo alle interrogazioni ad esse inviate: un server FTP non fornirà
risposta ad interrogazioni inviate al porto 80 della macchina su cui è
in esecuzione
10/20
Domain Name System
Uno tra i servizi più importanti nelle reti di calcolatori è il DNS
(Domain Name System)
Il DNS è un database gerarchico distribuito, contenente le
corrispondenze tra i nomi di dominio DNS e vari tipi di dati, ad
esempio indirizzi IP
Il sistema DNS consente di localizzare computer e servizi
utilizzando nomi descrittivi, oltre a consentire l'individuazione di
altre informazioni archiviate nel database
11/20
DNS 1/5
Tutti noi siamo oggi abituati a raggiungere un servizio (e quindi il
calcolatore che lo offre) utilizzando nomi simbolici di facile
memorizzazione:
• www.google.com
• www.hotmail.com
• [email protected]
Questi nomi non sono immediatamente adatti ad essere compresi dai
dispositivi che costituiscono la rete Internet.
Un nome di questo tipo, infatti, non dà informazioni esatte sulla
dislocazione sul territorio della macchina che si desidera contattare.
I router, di conseguenza, non saprebbero come instradare i dati in
maniera tale da raggiungere la destinazione.
12/20
DNS 2/5
La rete Internet è stata progettata invece per lavorare con indirizzi di
diversa natura. Per es.:
143.225.229.3 oppure 217.9.64.225
Ogni dispositivo nella rete Internet ha un tale indirizzo; esso
permette l’identificazione univoca a livello globale e la
localizzazione
A differenza dei nomi simbolici, essendo gli indirizzi IP di lunghezza
fissa, sono più facilmente gestibili dalle macchine.
Data la loro natura gerarchica, forniscono inoltre precise
informazioni sulla loro dislocazione sul territorio: leggendo
l’indirizzo da sinistra verso destra si ottengono informazioni sempre
più dettagliate circa la rete di appartenenza (all’interno di tutte le reti
13/20
di Internet)
DNS 3/5
Non volendo rinunciare alla comodità di lavorare con nomi
simbolici, è stato necessario progettare un servizio di risoluzione dei
nomi simbolici in indirizzi IP
Tale servizio associa ad un nome simbolico univoco (www.criai.it)
un indirizzo IP (80.19.171.65), permettendo così di raggiungere la
macchina
14/20
DNS 4/5
Si potrebbe pensare di risolvere il problema piazzando in un unico
punto della terra una macchina che realizzi la risoluzione dei nomi
Questa soluzione, sebbene teoricamente realizzabile, ha così tanti
svantaggi da risultare impraticabile:
• Single Point of Failure
• Volume di traffico
• Database distante
• Manutenzione
15/20
DNS 5/5
Quello che si fa è distribuire le informazioni sul territorio: ciascuno
ha la responsabilità di raccogliere, gestire, aggiornare e divulgare le
informazioni che lo riguardano.
In particolare l’approccio è di tipo gerarchico:
• gli elementi più alti nella gerarchia contengono molte informazioni
non dettagliate
• gli elementi più bassi nella gerarchia contengono poche
informazioni dettagliate
• Attraverso un colloquio concertato tra le entità (di cui gli utenti
non hanno percezione) si riesce a fornire il servizio di risoluzione
16/20
Tipologie di server DNS (local)
Local Name Server (Locale)
Ciascun ente (università, società, etc…) ne installa uno nel proprio
dominio
Tutti gli host nel dominio inviano a questo server le proprie richieste
di risoluzione
Ciascun host deve essere configurato con l’indirizzo del DNS server
locale per il dominio. Questa configurazione spesso avviene
manualmente, ma in certi casi può avvenire anche in maniera
automatica
17/20
Tipologie di server DNS (root)
Root Name Server (Fondamentale)
Ne esistono varie decine in Internet
e i loro indirizzi sono ben noti alla
comunità
Ad essi si riferiscono i Local Name
Server che non possono soddisfare
immediatamente una richiesta di
risoluzione
In questo caso il Local Name
Server si comporta come client
DNS ed invia una richiesta di
risoluzione al Root Name Server
18/20
Un semplice esempio
L’host surf.eurecom.fr vuole
conoscere l’indirizzo IP dell’host
gaia.cs.umass.edu
1. Contatta il suo Local Name
Server: dns.eurecom.fr di
cui possiede l’indirizzo IP
2. dns.eurecom.fr contatta un
root name server, se necessario
3. il root name server contatta
l’Authoritative Name Server,
dns.umass.edu, se necessario
19/20
The end…
Qualche domanda???
20/20
Scarica

Parte 2 - Virgilio Siti Xoom