Server: differenze tra le versioni
Nessun oggetto della modifica |
|||
Riga 2: | Riga 2: | ||
[[File:Inside and Rear of Webserver.jpg|thumb|300px|right|Server (nell'accezione ''hardware'' del termine) in contenitore da 1 unità per [[rack (informatica)|rack]] da 19"]] |
[[File:Inside and Rear of Webserver.jpg|thumb|300px|right|Server (nell'accezione ''hardware'' del termine) in contenitore da 1 unità per [[rack (informatica)|rack]] da 19"]] |
||
In [[informatica]] il termine '''''server''''' (dall'[[Lingua inglese|inglese]], letteralmente ''servitore''), indica genericamente un componente o sottosistema informatico che fornisce, a livello logico e a livello fisico, un qualunque tipo di servizio ad altre componenti (tipicamente chiamate ''[[client]]'', cioè "cliente") attraverso una [[Rete informatica|rete]] di [[computer]], all'interno di un [[sistema informatico]] o direttamente in locale su un [[computer]]. Rappresenta dunque un [[nodo (informatica)|nodo]] terminale della rete opposto all'[[host]] client. In parole semplici si tratta di un Computer o di un programma che fornisce i dati richiesti da altri elaboratori, facendo quindi da Host per la trasmissione delle informazioni virtuali. |
In [[informatica]] il termine '''''server''''' (dall'[[Lingua inglese|inglese]], letteralmente ''servitore''), indica genericamente un componente o sottosistema informatico che fornisce, a livello logico e a livello fisico, un qualunque tipo di servizio ad altre componenti (tipicamente chiamate ''[[client]]'', cioè "cliente") attraverso una [[Rete informatica|rete]] di [[computer]], all'interno di un [[sistema informatico]] o direttamente in locale su un [[computer]]. Rappresenta dunque un [[nodo (informatica)|nodo]] terminale della rete opposto all'[[host]] client. In parole semplici si tratta di un Computer o di un programma che fornisce i dati richiesti da altri elaboratori, facendo quindi da Host per la [[trasmissione (telecomunicazioni)|trasmissione]] delle informazioni virtuali. |
||
Al termine ''server'', così come per il termine ''client'', possono dunque riferirsi sia la componente [[hardware]] che la componente [[software]] che forniscono le funzionalità o servizi di cui sopra. La macchina hardware server si dice anche capace di offrire [[risorsa informatica|risorse]] in termini di servizio al client che ne fa domanda/richiesta. Esso fa parte dunque dell'architettura logica di rete a [[livello applicazioni|livello applicativo]] detta [[client-server]].<ref>{{en}} {{cita web|url=http://www.linfo.org/server.html|titolo=Server Definition|editore=linfo.org|data=16-5-2005|accesso=13-5-2012}}</ref><ref>{{en}} {{cita web|url=http://compnetworking.about.com/od/basicnetworkingconcepts/g/network_servers.htm|titolo=Network Servers - What Is a Server?|editore=about.com|autore=Bradley Mitchell|accesso=13-5-2012}}</ref> |
Al termine ''server'', così come per il termine ''client'', possono dunque riferirsi sia la componente [[hardware]] che la componente [[software]] che forniscono le funzionalità o servizi di cui sopra. La macchina hardware server si dice anche capace di offrire [[risorsa informatica|risorse]] in termini di servizio al client che ne fa domanda/richiesta. Esso fa parte dunque dell'architettura logica di rete a [[livello applicazioni|livello applicativo]] detta [[client-server]].<ref>{{en}} {{cita web|url=http://www.linfo.org/server.html|titolo=Server Definition|editore=linfo.org|data=16-5-2005|accesso=13-5-2012}}</ref><ref>{{en}} {{cita web|url=http://compnetworking.about.com/od/basicnetworkingconcepts/g/network_servers.htm|titolo=Network Servers - What Is a Server?|editore=about.com|autore=Bradley Mitchell|accesso=13-5-2012}}</ref> |
Versione delle 13:09, 24 gen 2013
In informatica il termine server (dall'inglese, letteralmente servitore), indica genericamente un componente o sottosistema informatico che fornisce, a livello logico e a livello fisico, un qualunque tipo di servizio ad altre componenti (tipicamente chiamate client, cioè "cliente") attraverso una rete di computer, all'interno di un sistema informatico o direttamente in locale su un computer. Rappresenta dunque un nodo terminale della rete opposto all'host client. In parole semplici si tratta di un Computer o di un programma che fornisce i dati richiesti da altri elaboratori, facendo quindi da Host per la trasmissione delle informazioni virtuali.
Al termine server, così come per il termine client, possono dunque riferirsi sia la componente hardware che la componente software che forniscono le funzionalità o servizi di cui sopra. La macchina hardware server si dice anche capace di offrire risorse in termini di servizio al client che ne fa domanda/richiesta. Esso fa parte dunque dell'architettura logica di rete a livello applicativo detta client-server.[1][2]
Descrizione
In base al contesto, il termine server può indicare quindi:
- un computer utilizzato per fornire servizi ad altri computer, a prescindere dalle sue caratteristiche hardware.
- un computer specifico appartenente alla fascia di mercato dedicata all'uso come server, caratterizzato da alta affidabilità e maggiori prestazioni.
- un processo (ovvero un programma in esecuzione) che fornisca servizi ad altri processi (es. Server Web).
In generale quindi si tende ad indicare come server il componente hardware che attraverso un software specifico eroga un servizio e client il componente hardware con relativo software che ne fa uso su richiesta dell'utente.
Caratteristiche
Tipicamente una macchina hardware server può ospitare uno o più servizi ovvero implementare logicamente uno o più server. Ciascun server può essere di tipo:
- iterativo, cioè accogliere e soddisfare sequenzialmente una sola richiesta di servizio alla volta da parte dei client con una tipica procedura a coda di attesa dei processi da gestire (caso di pochi client: situazione ai primordi della rete Internet);
- concorrente, ovvero soddisfare più richieste di servizio da parte di più client attraverso procedure tipiche del multithreading (situazione diventata ora comune nella rete Internet).
Funzionamento
I server offrono servizi al client tipicamente in modalità richiesta/risposta lavorando a livello applicativo del modello ISO-OSI e del modello TCP/IP (come anche i client) secondo i dettami del particolare protocollo di rete che regola il suo funzionamento per l'espletamento del servizio al client. Si appoggiano dunque agli strati protocollari inferiori dello stack di rete, in particolare sui protocolli di livello di trasporto quali TCP e UDP e sul livello di rete (IP) per l'instradamento.
Tipicamente l'espletamento del servizio per il client è preceduta da una fase di definizione di un socket (coppia indirizzo IP/porta) e successiva instaurazione della connessione con il server tramite TCP o UDP, con il server che possiede un indirizzo IP statico a causa dei legami intrinseci con il nome di dominio (che è inevitabilmente fisso) attraverso il DNS. Le porte dedicate ai server sono tipicamente porte note e statiche (well known ports), dipendenti dal particolare servizio espletato.
La creazione di applicazioni di rete, per quanto riguarda la connessione, ricade all'interno degli ambiti della cosiddetta programmazione socket. Tipicamente tale ambito di programmazione fa uso di opportune chiamate di sistema o API Socket al sistema operativo del server e del client per realizzare la connessione affidabile sia in modalità iterativa sia concorrente gestendo anche tutti i possibili errori o eccezioni.
Architettura client-server o N-tier
Il complesso logico formato da uno o più server e, solitamente, svariati client è denominato Modello client-server tipico delle Rete Internet e dei sistemi informatici aziendali. Negli ultimi anni è stato esteso alla interazione tra più macchine o servizi eterogenei, e in tal caso si parla di Architettura 3-tier (o più in generale ad N-tier).
Il server riceve dai client delle richieste di servizio, e restituisce loro la risposta con i risultati dopo averne effettuato l'elaborazione relativa. Questo ha l'indubbio vantaggio di concentrare su una sola macchina centrale tutte le principali risorse di elaborazione, il software, la manutenzione, le informazioni critiche o sensibili, gli accorgimenti atti a garantire affidabilità (come i backup); I client, al contrario, possono in generale essere anche macchine con risorse e affidabilità inferiori, che hanno l'unico compito di interagire con l'utente, e che non contengono informazioni critiche o sensibili.
Si noti che dal punto di vista software un computer non è mai puramente un server, in quanto oltre ad erogare servizi ad altri si appoggia solitamente a servizi forniti da terzi, e quindi è contemporaneamente server e client. Ad esempio, un server di posta elettronica si appoggia ad altri server (es. Server DNS) per ottenere informazioni sulla rete, e quindi è simultaneamente sia un server di e-mail sia un client per quanto riguarda altri servizi relativi alla gestione della rete
Quando invece non si è in questa situazione ovvero ciascun terminale di rete è in una gerarchia paritaria con gli altri si parla di modello o architettura di rete peer-to-peer.
Tipicamente più server diversi possono risiedere anche sulla stessa macchina hardware con risparmio sui costi totali, previo opportuno dimensionamento per soddisfare le maggiori richieste dei client, a prezzo di una maggiore vulnerabilità dovuta alla centralizzazione delle risorse. Dal punto di vista hardware i server possono risiedere su un normale PC oppure su macchine hardware dedicate con prestazioni, affidabilità e costi superiori.
Affidabilità e sicurezza
Il server è un elemento fondamentale dell'infrastruttura IT di cui fa parte, in quanto i suoi malfunzionamenti si ripercuotono su tutti i client che ne fanno uso. Pertanto, per i server si adottano accorgimenti volti a garantire alta affidabilità che garantisca continuità di servizio (disponibilità) e robustezza ai guasti, e alta sicurezza ovvero protezione da attacchi informatici:
- utilizzo di hardware di classe superiore, con prestazioni elevate ed elementi ridondanti (dischi RAID, alimentatori ridondanti);
- protezione dell'alimentazione elettrica mediante gruppo di continuità;
- protezione fisica mediante localizzazione in un locale apposito ad accesso ristretto ("sala server") o in housing presso una server farm;
- connessione di rete preferenziale, di capacità superiore, ridondante;
- climatizzazione;
- configurazioni del sistema operativo volte a garantire maggiore affidabilità e sicurezza (hardening);
- gestione da parte di sistemisti esperti.
I computer progettati per essere usati come server in una sala server di dimensioni medio-grandi vengono realizzati in modo da poter essere montati in un armadio rack.
I maggiori investimenti richiesti da questi accorgimenti sono motivati dall'importanza che il buon funzionamento del server ha per i suoi utenti.
Uno degli attacchi informatici più tipici e semplici da attuare nei confronti di un server è il cosiddetto attacco di DoS, tipico di molti dispositivi di rete.
Cluster
Se il carico di richieste è eccessivo per un solo server, o se sono necessari alti livelli di affidabilità, più server possono suddividersi il compito di erogare un servizio o un gruppo di servizi. In questo caso si dice che i server formano un'unica risorsa computazionale definita come server cluster, che può continuare a funzionare anche se un certo numero delle macchine componenti viene messa fuori linea, anche se ovviamente la risorsa subisce un degrado delle prestazioni generali. Questo richiede che siano dotati di un sistema operativo adeguato, e/o collegati attraverso specifiche configurazioni di rete.
Gestione
Tipicamente i server in ambienti distribuiti come sistemi informatici e reti informatiche sono gestiti da amministratori di sistema da remoto (telegestione) attraverso connessioni remote realizzate attraverso varie possibili applicazioni dedicate (Virtual Network Computing).
Servizi e tipologie di server
Tra i servizi che vengono tipicamente erogati da un server o più server e che ne identificano a sua volta le varie tipologie, si possono citare:
- File server, permette agli utenti di accedere ai file situati sul server come se fossero sul proprio calcolatore, agevolando la condivisione di informazioni;
- Database server, permette di gestire intere banche dati;
- FTP server, fornisce alla rete accesso a cartelle pubbliche o con autenticazione;
- Web server, usato per ospitare un sito web (es. server HTTP);
- Application server, usato per far funzionare un programma applicativo e condividerne le funzionalità tra gli utenti;
- Mail server, usato per la gestione della posta elettronica;
- Print server, permette di mettere in comune una o più stampanti tra gli utenti di una rete con la eventuale gestione dei diritti di accesso;
- Gestione di una rete informatica, locale o geografica;
- DHCP server, per l'assegnazione automatica di indirizzi IP ai computer host;
- DNS server, fornisce la risoluzione dei nomi di dominio dei siti (per esempio it.wikipedia.org) nei loro indirizzi IP;
- Server grafico o display server – vedere X Window System;
- Server di autenticazione, permette di autenticare l'accesso ad altre risorse;
- VNC server, fornisce, attraverso un client VNC un desktop remoto;
- Proxy server, fornisce una cache di accesso al Web e la possibilità di controlli di autenticazione (ACL) e di filtro;
- Game server, ospita risorse per rendere possibili i giochi multiutente in linea;
- VPN server, fornisce attraverso un client VPN, l'accesso alla LAN da remoto.
Note
- ^ (EN) Server Definition, su linfo.org, 16-5-2005. URL consultato il 13-5-2012.
- ^ (EN) Bradley Mitchell, Network Servers - What Is a Server?, su compnetworking.about.com, about.com. URL consultato il 13-5-2012.
Voci correlate
- Server farm
- Server cluster
- Client
- Client-server
- Rete locale
- Workstation
- Virtual private server
- Plug computer
- Peer to Peer
Altri progetti
- Wikimedia Commons contiene immagini o altri file su server