Servizi di sistema e porti Ing. A. Stile – Ing. L. Marchesano – 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, lelaborazione è divisa (non necessariamente in modo equo) tra client e server Lelaborazione è iniziata (e parzialmente controllata) dal client; pertanto, lattività 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 nellambito delle reti Nellambito 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, unapplicazione che deve stampare un documento è un client verso il driver della stampante, che a sua volta è un client verso lhardware 4/20
Client/server nellambito 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 lindirizzo 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! DNS GET index.html from :80 Ad esempio, quando ci si collega, tramite browser web, al sito: il browser, tramite il protocollo DNS effettua la risoluzione dellindirizzo simbolico in indirizzo IP; solo successivamente la richiesta viene inviata allindirizzo IP ricavato ed ad un determinato porto 9/20
Porti 3/3 I porti che in totale possono essere gestiti sono 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: 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 /20
DNS 2/5 La rete Internet è stata progettata invece per lavorare con indirizzi di diversa natura. Per es.: oppure Ogni dispositivo nella rete Internet ha un tale indirizzo; esso permette lidentificazione 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 lindirizzo da sinistra verso destra si ottengono informazioni sempre più dettagliate circa la rete di appartenenza (allinterno di tutte le reti di Internet) 13/20
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 ( un indirizzo IP ( ), permettendo così di raggiungere la macchina 14/20
Si potrebbe pensare di risolvere il problema piazzando in un unico punto della terra una macchina che realizzi la risoluzione dei nomi DNS 4/5 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 lapproccio è 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 lindirizzo 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
Lhost surf.eurecom.fr vuole conoscere lindirizzo IP dellhost gaia.cs.umass.edu 3. il root name server contatta lAuthoritative Name Server, dns.umass.edu, se necessario 2. dns.eurecom.fr contatta un root name server, se necessario 1. Contatta il suo Local Name Server: dns.eurecom.fr di cui possiede lindirizzo IP Un semplice esempio 19/20
The end… Qualche domanda??? 20/20