Eccone uno... In rete • • • • • I programmi “si parlano”... Come fanno a comunicare? Si deve stabilire una connessione (come per le chiamate telefoniche...) Un computer è identificato da un indirizzo (IP) es: 217.133.109.2 Al suo interno... Ci sono delle “Porte” • • • • • ...Sono disponibili circa 64000 (2**16) porte Es: 217.133.109.2:4662 (porta 4662 per emule) Sulle quali può essere in attesa di messaggi un programma Si fa una richiesta di comunicazione con nome computer e porta... Poi si scambiano messaggi In rete • I “computers si parlano” in modalità: – – Peer to Peer (P2P)… o... Client/server Client/server (C/S) Il client fa richieste di servizio, Il server le esaudisce Un server può servire anche migliaia di client Server di ... • • • • • • • • File Print Web DataBase Applicazioni Mail Giochi ... Ecco un esempio Con client, application server e DB server (dati) Three tier architecture (notare i server) Server: hardware • Qualunque “computer” (ovvero oggetto intelligente con sufficienti risorse) può diventare un server • Colleghi una stampante al PC e la condividi in rete .... il PC diventa un print server • Condividi alcuni raccoglitori in rete.. Il PC è diventato un file server • Ci installi Apache e diventa un web server! però... • Poiché un server gestisce anche centinaia/migliaia di utenti (clients) simultaneamente • E, se si “ferma”... son dolori... • Deve essere più affidabile di un normale client • Quindi: ridondanze! – Memorie ECC per correggere molti errori – Dischi RAID per garantire l'affidabilità dei dati – Dischi superveloci da 15000 rpm e/o SSD – Dischi dual-ported – Ed anche Connessioni in rete multiple e velocissime ● Interi server duplicati ● Ambiente protetto ● Gruppi di continuità ● Interi data center duplicati a distanza ● SSD più veloce ed affidabile Server: processori A 64 bit, potenti Intel XEON AMD opteron ARM V8 Ogni SOC ha 48 CPU ARM V8 a 2.5Ghz ARM V8 RAID 1 (aka mirroring, shadowing) e RAID 5 Architettura server a tre livelli (three tier) La diapositiva che segue contiene Piastra madre per server: Supertecnologia: Contiene 4 zoccoli per processori, in ogni zoccolo si può inserire un chip che contiene (oh my god!) 16 processori da 3.5Ghz! totale 64 processori per scheda. Per ogni chip ci sono otto slots per memorie, utilizzando dimm da 4GB si arriva a 32GB per ogni 16 processori ovvero 128GB per scheda madre! Server: software • • Sistema operativo standard (windows, Linux...) o … speciale... Programmi server appositi – – – – Samba (file server universale) Apache, IIS (web server) MySQL (DataBase server) ... Print server • • Gestisce una o più stampanti condivise in rete Può essere contenuto nella stampante (di rete) La mia stampante (LED) di rete File server (disk server) NAS (Network attached storage) Il mio server NAS (ed altro) 3+3TB (mirrored) +2TB +2TB RACK Database server • • • • Riceve richieste di dati Gestisce quantità enormi di dati. Risponde a richieste del tipo “SELECT * FROM STUDENTI WHERE VOTO > 7 AND ETA < 19 AND SESSO = MASCHIO;” • SQL: “Structured Query Language” WEB server • • • • Qui il discorso si fa interessante... Risponde ad Url ricevuti dal browser ed invia al browser... Oggetti: pagine, immagini, programmi... suoni, video... Esegue programmi (ad es. PHP, ASP) USB server via LAN (remotizza dispositivi USB su LAN) Compattezza: Armadi (rack) pieni di servers Ogni “blade” contiene 4-8 processori, molti giga di RAM ecc Una “Unit” (1U) è 1.75 pollici, i rack sono da 19 o 23 pollici v 7 rack Server ARM a 64 bit (ARM V8) DELL copper (2014) Ullltradimm per server E' memoria flash che si inserisce negli slot DIMM Quanti servers ha Google? • Molte decine di migliaia!! Cloud computing Tutto basato su server! Server di dati ed applicazioni Un client leggero (thin) sfrutta dati e applicazioni dalla rete (cloud) esempio: Google docs/apps Cloud computing Server di dati ed applicazioni Un client leggero (thin) sfrutta dati e applicazioni dalla rete (cloud) esempio: Google docs/apps Altri servizi • Time server (fornisce l'ora esatta) – Protocollo NTP (Network Time Protocol) • DNS – Domain Name Server (elenchi internet) • Proxy Server Proxy server A volte (spesso) il WEB server è proprio piccolino... Questo microcontroller contiene un web server .. e due paginette (memoria totale 1KB) Server in casa? • • • • Si, piccola rete...con più PC ed altre cose Print server (stampante condivisa) Web server dentro molti apparati (router, telefono, Network camera...) File server Arduserver.com