STORIA DELLE TECNOLOGIE ALLA BASE DEL FENOMENO PIÙ DIFFUSO AL MONDO ED EVOLUZIONI FUTURE
1
InterNet : ieri, oggi e domani
G . C A T T A N E O – U N I V E R S I T À D I S A L E R N O
E-MAIL: [email protected]
A V E L L I N O , 1 2 N O V E M B R E 2 0 0 8
Indice del Seminario: Parte 1
2
La struttura di InterNet
Cosa è InterNet
cosa ci appare...
... e cosa nasconde
La storia di InterNet…
La crescita dagli anni 50 ai giorni nostri!
Il presente di InterNet… ed il suo futuro.
Introduzione al World Wide Web
La rivoluzione del WEB 2.0
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Cosa è InterNet ?
3
Esistono molte risposte….
È la rete delle reti
È una rete Internazionale…
È l‟ultima moda…“Questa lavatrice funziona su InterNet!”
È un mezzo…
È il centro di tutto...
È un fine…
È la fine…
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
4
Cosa è InterNet ?
36,000,000 di link attivi
2,583,482,629 di indirizzi registrati
1,093,529,692 di utenti stimati
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
A cosa serve InterNet ?
Per cercare persone, indirizzi, società … ?
Per comunicare con vari mezzi
Telefoni VoIP
Chat (MSN – GTalk – ecc.)
Video conference
Per comprare on-line o fare “affari”
… e tanto altro …
5
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
6
Davvero… Cosa è InterNet?
Una comunità di utenti
Reti di calcolatori interconnesse
Un insieme di risorse disponibili
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
7
InterNet è una comunità dove...
Ci si incontra…e ci si conosce…
C‟è gente interessante… e gente noiosa
C‟è lo studioso, il buon samaritano
… così come il teppista ed il criminale
InterNet è una comunità
con un proprio linguaggio
delle proprie regole
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
8
Cosa è InterNet? … dipende!
Una comunità di utenti
Reti di calcolatori interconnesse
Un insieme di risorse disponibili
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
9
InterNet: una rete di reti di computer
Calcolatori collegati in modo da poter comunicare e condividere risorse formano una rete.
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
10
InterNet è una
rete di reti di calcolatori
che usano lo stesso protocollo di comunicazione: TCP/IP
InterNet: una rete di reti di computer
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
11
Cosa è InterNet?.. dipende!
Una comunità di utenti
Reti di calcolatori interconnesse
Un insieme di risorse disponibili
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
12
InterNet è un insieme di risorse!
Deposito di informazioni
affidabili e non affidabili
gratuite (?)
“senza fine” (= l’ago nel pagliaio)
Strumento di comunicazione
per transazioni commerciali
per abbattere le barriere
di spazio,
di lingua,
di cultura,
di nazione.
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
13
Le reti di computer
LAN
MAN
WAN
Local Area Network
Metropolitan Area Network
Wide Area Network
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
14
Alla base di InterNet..
I protocolli di comunicazione TCP/IP
Le reti locali (LAN)
Connessioni su Wide Area
Modem /xDSL
Linee dedicate
Fibre ottiche
Ponti Radio
Router
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
15
Un concetto di base: il modello client-server
Client (Consumer)
Inizia la chiamata
Esempi:
browser WWW
lettori di e-mail
Facile installazione
Locazione non rilevante
Server (Provider)
Risponde alla chiamata
Esempi:
server WWW
Name Server
Gestione complessa
Locazione nota:
Es. www.yahoo.it
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
16
La suite di protocolli TCP/IP
Un insieme di protocolli e standard
In uso dal 1982 e divenuto lo standard dei protocolli di interconnessione
Effettua la comunicazione dividendo il “messaggio” in pacchetti
Strutturato a livelli
IP (InterNet Protocol) descrive il formato dei pacchetti
TCP (Transmission Control Protocol) controlla il flusso dei pacchetti
short
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
17
Il ruolo di TCP/IP
InterNet
Hardware
IP
TCP/UDP
Applicazione SW
Hardware
IP
TCP/UDP
Applicazione SW
TC
P/I
P
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
18
Pacchetti IP
Tutto il traffico InterNet consiste di pacchetti di dati (packet)
Ogni pacchetto è lungo da 64 a 1500 byte
Ogni pacchetto ha (tra l‟altro):
un indirizzo IP sorgente
un indirizzo IP destinazione
un carico di informazione
Informazione
Destinazione
Sorgente
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
19
Indirizzi IP (V4)
Consistono di 4 interi scritti in 4 byte (ottetti di bit) separati da punti:
Esempio: 192.41.218.1
Possono essere
assegnati permanentemente
assegnati all‟accensione della macchina
Disponibilità di
3.758.096.384 indirizzi diversi
A quando IP V6 ???
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
E qualche previsione può andare storta
“Almost all of the many predictions now being made about 1996 hinge on the InterNet's continuing exponential growth. But I predict the InterNet, which only just recently got this section here in Infoworld, will soon go spectacularly supernova and in 1996 catastrophically collapse.”
"InterNet... ben presto esploderà in modo spettacolare, come una supernova, e nel 1996 collasserà catastroficamente.“
Fonte: Robert Metcalfe, fondatore della 3Com, inventore dello standard Ethernet per le reti informatiche locali un suo articolo per la rivista Infoworld di dicembre 1995. La frase è l'inizio dell'articolo.
20
short Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
20
21
Una rete locale su TCP/IP
192.41.218.1
192.41.218.211
192.41.218.22 192.41.218.18 192.41.218.34
Ethernet
192.41.218.254
Router
InterNetRete Telefonica
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
22
Come viaggia un pacchetto
Router
Sorgente
Destinazione
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
23
23
Il compito dei router
Ogni router ha una lista di destinazioni e dove deve inoltrare i pacchetti che arrivano
Il client deve solamente conoscere il primo router verso l‟esterno
Hardware
IP
TCP/UDP
Applicazione
Hardware
IP
TCP/UDP
Applicazione
Hardware
IP
Hardware
IP
Hardware
IP
Router Router Router
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
24
Domain Name System (DNS)
Indirizzi IP? No, grazie!
sono difficili da memorizzare
risulta facile confondersi
non permettono di “indovinare” l‟indirizzo
Il Domain Name System
è un archivio distribuito che associa domain name (mnemonici) a indirizzi IP
Esempio:
udsab.dia.unisa.it è associato a 192.41.218.1
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Come funziona il DNS?
25
Strutturazione gerarchica
Ogni domain name è composto da un top level domain (ultima parte)
udsab.dia.unisa.it
Per ogni dominio e sottodominio esiste un calcolatore che risolve i nomi in indirizzi IP
.com .org .edu .mil .net .uk .fr .it .zw...
.unisa.it
dia.unisa.it
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
26
Chi paga per InterNet?
Una assoluta novità nel campo della finanza internazionale:
Nessuno possiede InterNet:
ogni ente possiede (e paga) per la propria rete
Simile alle telefonate internazionali:
un utente italiano paga la bolletta al proprio ISP (alcuni anche gratuitamente)
anche se la sua telefonata “viaggia” su altre reti
Il carrier (ISP) si fa pagare dal cliente e paga il traffico verso le altre reti.
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Chi governa InterNet?
27
… Nessuno
Esistono strutture per il coordinamento tecnico
Inte
rNet
So
ciet
y
InterNet Assigned Numbers Authority
InterNet Architecture Board (IAB)
InterNet EngineeringTask Force
InterNet ResearchTask Force
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
28
InterNet Society
Fondata nel Gennaio 1992
Sede a Verston, Virginia (USA)
Organizzazione non-profit con lo scopo di:
favorire il coordinamento tecnologico
armonizzare lo sviluppo
offrire supporto (sia legale che $$$) ad altri organismi (IAB, IANA, IETF etc.)
short Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
29
La struttura della InterNet Society
Operations
Coordination
Network and
Distributed System
Security Infrastructure
Workshops
InterNet Society Members
(Individuals and Organizations)
Advisory
Council
Officers
President
Vice-president
Secretary Treasurer
SecretariatExecutive
Director
Board of Trustees
International
Networking
Conference
InterNet
Standards & Research
Infrastructure
Committee on
Disaster Relief
Committee on
K-12
Committee on
Technologically
Emerging
Countries
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
30
I collegamenti della InterNet Society
Reston VA US
ISOC Secretariat<isoc.org>
Reston VA US
IESG Secretariat<ietf.cnri.reston.v
a.us>
Marina del Rey CA US
IAB, IRTF Secretariats,
IANA <isi.edu>
Herndon VA US
NIC<rs.internic.net>
Amsterdam NL
RIPE NCC<ripe.net>
Tokyo JP
AP-NIC<apnic.net>
Pittsburgh PA US
FIRST/CERT<cert.org>
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
31
InterNet Assigned Numbers Authority
Gestisce la standardizzazione dei parametri unici su InterNet, quali:
indirizzi dei computers (Indirizzi IP)
indirizzo (porte) dei protocolli usati
Delega strutture con compiti nazionali
Localizzata alla University of Southern California (USA)
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
32
InterNet Architecture Board
Responsabile della architettura di InterNet
Fornisce indicazioni all‟IETF sui temi
Non si occupa strettamente di problemi tecnici
Stimola e propone la creazione di Working Groupsnell‟IRTF e IETF
Funge da “Corte d‟Appello” per il processo di standardizzazione dei WG dell‟IETF
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
33
InterNet Engineering Task Force
“IETF is the development arm of the InterNet”
Identifica e propone soluzioni tecniche tramite i Working Group
Specifica uso e sviluppo dei protocolli
Diviso in 9 aree, quali:
Security
Applications
User services
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
34
La storia di InterNet
Organizzata in decadi:
Anni 1950: il prologo
Anni 1960: la nascita
Anni 1970: la adolescenza
Anni 1980: il boom in ambito accademico
Anni 1990: il boom in ambito economico e sociale
Anni 2000: La convergenza delle reti
Anni 2010: ???
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
35
Anni „50: il prologo
1957: la Unione Sovietica lancia lo Sputnik realizzando (per la prima volta dalla II guerra mondiale) il sorpasso tecnologico degli USA
1957: in risposta il Department of Defense (DoD) degli USA fa partire il programma Advanced Research Projects Agency (ARPA) per stimolare la ricerca scientifica applicabile nel campo militare.
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
36
Anni „60: la nascitail 1962: la ideazione
La RAND Corporation rappresenta il think-tankdella guerra fredda per gli USA
Alla RAND si studia come progettare una rete che non sia facilmente distruggibile da un attacco nucleare sovietico e che possa lanciare la controffensiva
Leo Kleinrock (studente MIT) nel 61 propone la teoria delle reti a commutazione di pacchetto
Il team della RAND, diretto da Paul Baran, raccoglie il progetto in “On distributedCommunications network” che enuncia i principi.
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
37
Anni „60: la nascitaLa prima rete a commutazione di pacchetto
Rete non centralizzata
Rete che si assume sia non affidabile comunque
Tutti i nodi sono uguali
Ogni nodo può passare, ricevere o spedire messaggi (suddivisi in pacchetti)
Ogni pacchetto si muove sulla rete risalendo fino alla sua destinazione.
Ogni pacchetto trova la sua strada sulle linee di comunicazione a disposizione.
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
38
Anni „60: la nascita1965-1968: lo studio ed il progetto
1965: Il direttore del Programma per le ricerche Informatiche dell‟ARPA ottiene il supporto ($$) per lo studio di un prototipo di rete di computer.
1967: al convegno ACM Symposium on Operating Systems Principles, si presenta un articolo di Larry Roberts che presenta
ARPANET!
1968: ARPA decide di presentare il progetto
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
39
Anni „60: la nascita1969: Pronti?
La BBN Inc (di Bolt, Beranek, Newman) vince il contratto per costruire il primo router
Il primo router detto IMP (Information Message Processor) è basato su un calcolatore Honeywell 516 con 12K di memoria
La IBM non partecipa alla gara per il contratto
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
40
Anni „60: la nascita1969:…. Via!
Viene costruita ARPANET su quattro nodi sulla costa Est e Ovest degli USA.
Protocollo usato: NCP (Network Control Protocol)
Data di nascita: 2 settembre 1969
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
41
Anni „60: la nascita1969: la prima struttura di ARPANET
University of California at Los Angeles (UCLA) con funzioni di Network Measurements Center su SDS Sigma 7.
Stanford Research Institute (SRI) come Network Information Center su SDS 940. Nel progetto: Doug Engelbart (inventore del mouse)
University of California at Santa Barbara (UCSB) su IBM 360.
University of UTAH su DEC PDP-10
Tutti calcolatori diversi!
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
42
Anni „70: la adolescenza
ALOHAnet sviluppata alla University of Hawaiieviene connessa ad ARPANET nel 1972
1971: Arpanet conta 15 nodi tra cui la NASA, MIT, Harvard, Stanford etc.
1972: Viene creato l‟ InterNetworking WorkingGroup come struttura per “legiferare” sugli standard, presidente Vinton Cerf
Ray Tomlinson presenta alla BBN la e-mail (la posta elettronica)
ARPA diventa DARPA (la D sta per Defense)
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
43
Anni „70: la adolescenza1973-1974
1973: ARPANET diventa internazionale: University College of London
Royal Radar Establishment
La tesi di PhD di Bob Metcalfe propone i principi di Ethernet
Bob Kahn insieme a Vinton Cerf propongono i gateways tra reti diverse
File Transfer Protocol (FTP)
1974: Vinton Cerf e Bob Kahn propongono TCP il nuovo protocollo di comunicazione
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
44
Anni „70: la adolescenza1975-1979
1976: Primo messaggio e-mail della Regina d‟Inghilterra
UUCP (Unix to Unix Copy) viene sviluppato ai AT&T Bell Labs.
1979: USENET (Newsgroups) nasce tra la Duke University e North Carolina University
ARPA fond l‟InterNet Configuration ControlBoard (precursore dell‟IAB)
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
45
Anni „80: la diffusione accademica1981
Nasce BITNET, “Because It‟s Time NETwork”
da una cooperazione alla City University of New York e fornisce e-mail e ftp
Nasce un consorzio CSNET di università non connesse ad ARPANET
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
46
Anni „80: la diffusione accademica1982: lo sviluppo in Europa
EUNET (European Unix network) fornisce e-mail e USENET ad Olanda, Danimarca, Svezia e Gran Bretagna
ARPA propone di cambiare il protocollo NCP e di usare TCP/IP
Prima definizione di InterNet: rete di computer interconnessi tramite TCP/IP
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
47
Anni „80: la diffusione accademica1983-1985: gateways tra reti
1983: si passa da NCP a TCP/IP
CSNET ed ARPANET vengono collegate mediante gateways
ARPANET si divide in ARPANET e MILNET (tipicamente militare)
UNIX incorpora TCP/IP nella versione 4.2 Berkeley
1984: introdotto il Domain Name Server
1000 computer connessi ad ARPANET
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
48
Anni „80: la diffusione accademica1986-1987: NSFNET
La National Science Foundation americana fonda NSFNET e connette 5 centri di supercalcolo
NSFNET viene data in gestione a Merit Inc, IBM, ed MCI
Oltre 10,000 computer connessi a ARPANET
Oltre 1,000 computer connessi a Bitnet
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
49
Anni „80: la diffusione accademica1988: la grande paura!
2 Novembre: Robert Morris scrive un programma (worm) capace di auto-propagarsi
Lo inietta sulla rete dall‟MIT, il virus si propaga a velocità non immaginate dallo stesso Morris
Chiama un amico ad Harvard per bloccarlo ma non ci riesce
Manda una email anonima (!) per aiutarli a combattere il virus ma la rete è già rallentata ed il suo messaggio non riesce ad arrivare
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
50
Anni „80: la diffusione accademica1988: la grande paura!
A Berkely e Purdue University riescono ad intercettarlo e dopo 12 ore trovano un rimedio
Dopo un paio di giorni ARPANET torna alla normalità
6,000 dei 60,000 computer connessi sono stati infettati
I soldi spesi per recuperare alla normalità la rete vanno dai 200 ai 53,000 dollari per computer!
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
51
Anni „80: la diffusione accademica1988: la ristrutturazione
Viene creato il CERT (Computer EmergencyResponse Team) dal DARPA
RIPE (Reseaux IP Europeens) coordina la gestione dei network europei
Vengono formate le strutture IETF e IRTF dell‟ InterNet Architecture Board
Paesi connessi a NSFNET: Canada, Danimarca, Finlandia, Francia, Islanda, Italia, Nuova Zelanda, Porto Rico etc...
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
52
Anni „90: la diffusione globale1990: Muore Arpanet… viva InterNet!
1990: Muore Arpanet, vittima del proprio successo
Nasce il primo provider commerciale
Nascono i consorzi commerciali per l‟uso non accademico della rete
Viene presentato Gopher. Il suo autore dice:
“E’ la prima applicazione InterNet che anche mia madre saprebbe usare!”
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
53
Anni „90: la diffusione globale1991-93: I nuovi servizi su InterNet
1991: Il World Wide Web viene pensato nei laboratori del CERN, prima applicazione su InterNet europea!
1992: Si forma la InterNet Society
Più di 1 milione di computer connessi ad InterNet
1993: la Casa Bianca apre un sito WWW
InterNet Talk Radio (Radio via InterNet) inizia a trasmettere
La crescita del WW è al 341% annuo
La crescita del Gopher è al 997% annuoAvellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
54
Anni „90: la diffusione globale1994
La pubblicità su InterNet: una ditta di avvocati manda milioni di messaggi di e-mail per pubblicizzare i loro servizi sulla richiesta di visti negli USA (“Green card lottery”).
Viene fondata la Netscape
WWW si avvicina ad essere il servizio più importante di InterNet
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
55
Anni „90: la diffusione globale1995
NSFNET torna ad essere un provider solo per il mondo accademico: il resto del traffico (commerciale) passa sui provider privati.
La polizia di HongKong disconnette tutti i providers di Hong Kong tranne uno per catturare un hacker
Radio HK, la prima radio 24 ore su 24 su InterNet
WWW diventa il primo servizio (per uso)
Il Vaticano apre un proprio sito WWW
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
56
Anni „90: la diffusione globale1996
Il primo ministro Malaysiano e il presidente delle Filippine si incontrano in videoconferenza su InterNet
Scoppia la guerra dei browser WWW tra Netscape e Microsoft (InterNet Explorer)
Paesi connessi: Eritrea, Andorra, Isole Togo Yemen e Zaire
La CIA, il Dipartimento di Giustizia USA ed altri uffici lamentano la irruzione di hacker sulle loro macchine
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
57
Anni „90: la diffusione globale1997
Il Commercio Elettronico usa sempre più la rete InterNet
Viene introdotto dalla Posta Americana il francobollo elettronico scaricabile attraverso il WWW su InterNet
Programmi per la creazione facilitata di siti WWW
Tra gli altri si connettono a InterNet il Turkmenistan e le Seychelles
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
58
Anni „90: la diffusione globale1998
Sistemi operativi come Windows 98 diventano strettamente dipendenti dall‟uso di InterNet
Il numero di pagine WWW disponibili è intorno ai 300 milioni
La ABC mette a disposizione i risultati elettorali USA con un giorno di anticipo (per errore!)
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
59
Anni „90: la diffusione globale1999
InterNet pubblicamente accessibile in Arabia Saudita
First InterNet Bank of Indiana: la prima banca accessibile solamente da InterNet
Dominio .ps alla Palestina
Computer gratuiti a chi si abbona a InterNetnegli USA
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
60
La crescita di InterNet negli anni „90 :Numero di Computers connessi
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
61
La crescita di InterNet negli anni „90 :Il numero di domini registrati
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
62
La crescita di InterNet negli anni „90 :Il numero di reti connesse
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
63
La crescita di InterNet negli anni „90 :Il numero di siti web registrati
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
64
Anni 2000: la Convergenza
Nasce il protocollo VoIP
I principali operatori telefonici si dotano di reti “digitali”
2003 Parte il progetto Open Source Asteriskper lo sviluppo di un centralino (PBX) software
2006 VoIP si diffonde anche per usi domestici
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
65
Anni 2000: la Convergenza
Fine anni „90 gli operatori di reti mobili passano a tecnologie digitali (GSM)
Si diffonde l‟accesso ad Internet da postazioni mobili (connessione dati GSM, GPRS, UMTS, HDSC) con banda da 9,6 Kb/s fino ad arrivare a 7 Mb/s
Sempre più utenti usano il cellulare per accedere ad internet o per leggere la posta.
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
66
Anni 2000: la Convergenza
2002 : Si afferma Wi-Fi come tecnologia alternativa a ethernet ma senza fili
2004 :Nascono i primi Hot Spot pubblici per consentire l‟access ad internet a viaggiatori in transito
2005 :Un decreto ministeriale liberalizza l‟uso delle bande di frequenza 2.4 Ghz e 5.4 Ghzoccupate da Wi-Fi e HIPERLAN
2006 :Nascono i primi WISP 2008 :Molte grandi città come San Francisco
o Città del Messico sono interamente coperte da una rete wireless
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
67
Anni 2000: la Convergenza
2006 Nasce l‟IPTV la televisione via InterNet
StreamerOne diffonde gratuitamente in via sperimentale 12 canali video in streamer …
Le regate di Coppa America (Luna Rossa) sono trasmesse su interNet in tutto il mondo
2006 i PC hanno un decoder per il digitale terrestre
WiMax garantisce migliore utilizzo delle bande radio e maggior numero di canali
2007 Asta pubblica per l‟acquisto delle licenze WiMax su tutto il territorio nazionale
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
InterNet oggi
68
World RegionsPopulation
( 2007 Est.)
Pop.
% of
World
InterNet
Usage,
Latest Data
%
Pop.
Usage
% of
World
Usage
Growth
2000-
2007
Africa 933,448,292 14.2 % 32,765,700 3.5 % 3.0 % 625.8 %
Asia 3,712,527,624 56.5 % 389,392,288 10.5 % 35.6 % 240.7 %
Europa 809,624,686 12.3 % 312,722,892 38.6 % 28.6 % 197.6 %
Medio Oriente 193,452,727 2.9 % 19,382,400 10.0 % 1.8 % 490.1 %
America del Nord 334,538,018 5.1 % 232,057,067 69.4 % 21.2 % 114.7 %
America Latina 556,606,627 8.5 % 88,778,986 16.0 % 8.1 % 391.3 %
Oceania / Australia 34,468,443 0.5 % 18,430,359 53.5 % 1.7 % 141.9 %
WORLD TOTAL 6,574,666,417 100.0 % 1,093,529,692 16.6 % 100.0 % 202.9 %
http://www.InterNetworldstats.com/stats.htmAvellino, 12 Novembre 2008G.Cattaneo
InterNet oggi
69
http://www.InterNetworldstats.com/stats.htm
Avellino, 12 Novembre 2008G.Cattaneo
InterNet oggi
70
http://www.InterNetworldstats.com/stats.htm
Avellino, 12 Novembre 2008G.Cattaneo
Distribuzione degli Indirizzi IP nel mondo
Total IPs Country Total IPs Country
1,363,618,444 UNITED STATES 21,285,755 SPAIN
249,535,750 UNITED KINGDOM 20,777,618 SWEDEN
150,417,856 JAPAN 19,024,400 SWITZERLAND
97,522,499 CHINA 18,981,096 BRAZIL
87,382,081 GERMANY 17,568,992 TAIWAN
71,486,273 CANADA 16,176,133 MEXICO
68,111,111 FRANCE 14,048,603 RUSSIAN FEDERATION
50,807,005 KOREA 12,732,041 NORWAY
39,158,732 NETHERLANDS 12,360,208 FINLAND
30,864,980 AUSTRALIA 9,943,231 POLAND
30,158,420 MAURITIUS 8,841,301 AUSTRIA
29,582,812 ITALY 8,501,087 DENMARK
21,285,755 SPAIN 7,982,204 BELGIUM
20,777,618 SWEDEN 7,464,576 SOUTH AFRICA
19,024,400 SWITZERLAND 7,308,045 INDIA
18,981,096 BRAZIL 6,585,768 HONG KONG
17,568,992 TAIWAN 6,332,127 TURKEY
16,176,133 MEXICO 5,697,476 ISRAEL
71
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno71/20
72
AL
NO PD VI
VR BG
TO
BO GE
RM
CT
NA BA
MI
CH
PA
FI F
VE TS VR
… ed in Italia ???
La disponibilità di infrastrutture in fibra a copertura nazionale e di operatori alternativi è alquanto limitata nel mezzogiorno di Italia
Questo è essenzialmente dovuto alla carenza di domanda al sud che conseguentemente influenza le politiche dei prezzi!
Esempio:
Centro-Nord - IRU 15anni: 4€/m
Sud - IRU 15anni: 10-20€/m
Digital Divide
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
73
Il Digital Divide
Il ruolo cruciale della ICT nello stimolare lo sviluppo dei sistemi paese assume due aspetti:• Da una parte dà la possibilità ai paesi di modernizzare i
loro sistemi di produzione ed incrementare la loro competitività tanto quanto mai in passato;
• dall’altra, per quelle economie che non sono in grado di adattarsi al nuovo sistema tecnologico, i ritardi divengono sempre più incolmabili.
Inoltre, l’abilità di muoversi all’interno dell’era dell’informazione dipende dalla capacità dell’intera società di essere educata e messa in grado di assimilare ed utilizzare informazioni complesse.Kofi Annan www.un.org
www.digital-divide.it
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
74
Rapporto tra Rete e Mercato IT in Italia
Quanto costa “inseguire” il business ?
Fonte: Assinform / NetConsulting
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Perché ???
Parlare di infrastrutture per le telecomunicazioni significa prevedere investimenti a lungo termine
Quindi … cercare di prevedere il futuro
75
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Ma non è facile prevedere il futuro
76
“With teletypeinterface and the
Fortran language, the computer will be easy
to use” ?!?!?!?
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Soprattutto nelle telecomunicazioni …
“… Gli americani hanno bisogno del telefono; noi no. Abbiamo fattorini in abbondanza.”
Sir William Preece, ingegnere capo Poste Britanniche, 1876
Questo cosiddetto 'telefono' ha troppi difetti per poterlo considerare seriamente come mezzo di comunicazione. Il dispositivo è intrinsecamente privo di valore, per quel che ci riguarda.Western Union Internal Memo, 1876
77
short Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Ma cos‟è la larga banda
Un insieme di tecnologie che consentono di aumentare la velocità di comunicazione in generale e l‟accesso ad InterNet in particolare, sfruttando infrastrutture e tecnologieinnovative per usufruire di servizi ad alta interattività
78
La larga banda è uno strumento irrinunciabile per rendere possibile la trasformazione del sistema culturale, economico-sociale e produttivo, senza la quale il Paese rischia di essere escluso dalla competizione internazionale
Lo sviluppo della larga banda in Italia è un obiettivo prioritario di politica economica
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Vantaggi
Per i cittadini: accesso a servizi interattivi e multimediali
Per le imprese e la PA: crescita economica e competitiva delsistema produttivo, ammodernamento dei sistemi organizzativi egestionali integrazione fra i sistemi informativi
Per la Ricerca: condivisione risorse e interoperabilità tra enti,diffusione della cultura e abbattimento delle frontieregeografiche
79
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
… E cosa certamente non è
Estensione di tecnologie eservizi notiTentativo di sfruttare allo stremo tecnologieormai concettualmente obsolete (basate surame)
Scarsa innovazioneInfrastrutture ormai invecchiate (concepiteper il trasporto della voce, SDH/ATM)
Assenza di un modello dicrescita sostenibileGli esistenti modelli di acquisizione di circuitidigitali non sono accessibili economicamenteper connessioni interdistrettuali
Gli operatori tradizionali perpetuano unapolitica di SCARSITA‟ di banda (monopoliosul servizio e sulle infrastrutture)
80
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Punti di forza
+ enorme banda disponibile
+ immunità ai disturbi+ leggerezza e flessibilità+ meno pericolosa / costosa+ sicurezza e protezione da
intrusioni e intercettazioni
I pro e i contro delle fibre ottiche
Debolezze
– difficoltà di connettorizzazione e interfacciamento
– dispersioni
– effetti non lineari
81
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
I sistemi sottomarini trans-oceanici raggiungono attualmente i massimi valori di prodotto banda-distanza, e sono un ottimo esempio delle enormi potenzialità delle comunicazioni ottiche.
TAT 12/13: (Transatlanticlink) operativo dal 1995, distanza massima 6200 Km, capacità (originale) 5 Gb/s per fibra
TPC 5: (Transpacific link)operativo dal 1996, distanza massima 8200 Km, capacità 5 Gb/s per fibra
TAT 14: operativo dal dicembre 2000, 16 canali WDM a 2.5 Gb/s
TPC 6: in fase di sviluppo, progettato per supportare 640 Gb/s con tecnologia WDM
Esempio: I portanti sottomarini
82
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
320
1996 1998 2000 2002 2004
20
80
1280
5120
Gb/s
Fonte: K. Coffman & A. Odlyzko, “InterNet Growth: Is There A Moore’s Law For Data Traffic?” (research.att.com/~amo)
Capacità = (Bits / l)*Banda
(Banda / l)
Legge di
Moore(la potenza
di calcolo
raddoppia
ogni 18 mesi)
Una singola fibra può trasportare tutto il traffico telefonico degli Stati Uniti in ora di punta.Il traffico trasportato dalle fibre attualmente installate è inferiore di diversi ordini di grandezza rispetto alla capacità disponibile.
Meglio di Moore …
83
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Sfatato il paradosso di Tanembaum
Consideriamo una singola fibra ottica:
La tecnologia corrente consente 320 λ in una delle bande di frequenzaOgni λ ha una banda di 40 Gbit/s
La capacità di trasporto è : 320 * 40*109 / 8 = 1600 GByte/sec
Consideriamo un camion da 10 tonnellate:
Una tape contiene 50 Gbyte, e pesa 100 g
L’intero camion contiene ( 10000 / 0.1 ) * 50 Gbyte = 5 PByte
Camion / fibra = 5 PByte / 1600 GByte/sec = 3125 s ≈ 1 ora
Per distanze superiori a quelle che un camion può percorrere in 1 ora (50 km) oltre al tempo di carico/scarico di 100000 tapes
LA FIBRA E’ VINCENTE!!!
84
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Per il mondo della ricerca …… migliorando la PA
… favorendo il sistema produttivo e lo sviluppo sociale e territoriale
+Fibra = Innovazione e competitività attraverso la tecnologica
Il Programma RUPAR 2
La disponibilità di fibra ottica è un potente mezzo abilitante di nuoviservizi (Centralizzazione servizi di ICT, convergenza fonia su IP)
Per lo sviluppo economico e sociale, la fibra oggi ha le stessepotenzialità delle autostrade costruite negli anni 50 e 60 per crearenuove opportunità di sviluppo sociale e territoriale
La grande quantità risorse stimola utilizzi della rete a cui non abbiamoancora pensato (telepresenza, ubiquitous computing etc.)
I costi e la complessità di rete si riducono significativamente (a 1/3circa) a fronte di un incremento di prestazioni del 250%
…Un‟opportunità per tutti
Videoconferenza Streaming
85
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il nuovo modello di rete
Architettura federata multidominio realizzata su 3 tiers:
Le reti locali a larga banda (MAN)
Le reti geografiche regionali e nazionali (WAN)
La rete pan-europea di interconnessione tra le NREN
Infrastruttura proprietaria
Fibra dark in nolo o IRU
Tecnologie ottiche per illuminare le fibre disponibili e
economicamente accessibili (apparati DWDM per multiplazione di
lambda a 10Gbit/sec, 40->100Gbit/sec a partire dal 2008)
Ideale per soddisfare i requirements dei “grandi utenti”
La banda non sarà più una risorsa “scarsa”
Circuiti dedicati end-to-end e VPN facilmente configurabili
Integrazione reti metropolitane / regionali
Cross Border Fibre
86
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice del Seminario: Parte 2
La struttura di InterNet
Introduzione al World Wide Web:
Genesi e origini
Componenti del WWW e Terminologia
Componenti software: Il client
Componenti software: il proxy
Content Delivery Networks e Akamai
Componenti software: il server
La rivoluzione del WEB 2.0
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
87
La storia del World Wide Web1945: il prologo
Luglio 1945: Vannevar Bush scrive un articolo: “As we may think”
Bush è il direttore della ricerca militare USA nella II guerra mondiale
Coordina (tra l‟altro)
il progetto Manhattan (la prima bomba atomica)
il progetto ENIAC (il primo calcolatore)
88
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La storia del World Wide Web1945: il prologo
La sua tesi:“Siamo alle soglie di una nuova era: l’era delle informazioni.”
“La velocità con cui si produce conoscenza è molto maggiore della velocità degli strumenti con cui si accede alla conoscenza”
“Dobbiamo trovare una maniera per facilitare l’accesso e la organizzazione delle informazioni in maniera più intuitiva.”
Propone il Memex: uno strumento per mettere in relazione informazioni in
maniera simile al cervello umano (Il primo ipertesto!) “A memex is a device in which an individual stores all his books, records,
and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility. It is an enlarged intimate supplement to his memory”.
89
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Come sarebbe apparso il Memex (1945)
Una scrivania! “It consists of a desk, and while
it can presumably be operated from a distance, it is primarily the piece of furniture at which he works. On the top are slanting translucent screens, on which material can be projected for convenient reading. There is a keyboard, and sets of buttons and levers. Otherwise it looks like an ordinary desk.”
90
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il World Wide WebIl mezzo di comunicazione: J. Licklider (1968)
Precursore di human-computer interface 1962: memos su un “Galactic network” alla BBN
“The computer as a communication device” on-line communities
face-to-face collaboration
computational grid
research facilities: “Take any problem worthy of the name, and you find only a few
people who can contribute effectively to its solution.”
“Bring these people together physically in one place to form a team, and you have trouble..”
“There has to be some way of facilitating communicant ion among people wit bout bringing them together in one place.”
91
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il World Wide WebUn precursore: Gopher (1991)
Progettato nel 1991
Sistema distribuito:
per accesso a informazioni
organizzato gerarchicamente
92
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La storia del World Wide Web1989-91: la nascita
Marzo 1989: prima proposta di Tim Berners-Lee al CERN di Ginevra nell‟articolo “Hypertext and CERN”
Il WWW viene proposto come maniera per condividere all’interno del CERN la incredibile mole di documenti disponibili
Nel 1990 viene realizzato il primo prototipo WWW su NEXT
93
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La storia del World Wide Web1989-91: la nascita
Marzo 1991: un semplice browser (client) è disponibile su varie piattaforme Hardware e Software
Agosto 1991: al mondo intero viene presentato il WWW mettendo a disposizione della intera rete i programmi e la architettura (postati sulle news)
94
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La storia del World Wide Web1992-93: la crescita
1992:
gennaio: presentazione al convegno AIHEP
diversi altri browser diventano disponibili
distribuzione di codice per sviluppare browsers
1993:
vengono rilasciati i primi browsers grafici
marzo: il traffico WWW è lo 0.1% del totale
settembre: il traffico WWW è 1% del totale
95
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La storia del World Wide Web1994: il Boom!
Viene fondata la Netscape
Maggio: la prima conferenza su WWW
Luglio: MIT e CERN fondano il WWW Consortium
Dicembre 1994: il CERN abbandona il progetto WWW
La “direzione” del progetto passa dall‟Europa agli USA.
96
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La storia del World Wide Web1995: Lo sviluppo Tecnico
Esce Windows 95 e la Microsoft lancia Microsoft Network
Netscape quotata in borsa realizza incrementi record
La Sun presenta Java un linguaggio per eseguire programmi all‟interno dei browser
Presentato VRML (Virtual reality Markup Language): WWW tridimensionale!
97
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La storia del World Wide Web1996-97: Lo sviluppo Commerciale
La Microsoft rende InterNet Explorer un pericoloso concorrente di Netscape
Lotta tra Netscape e Microsoft per guidare i nuovi standard
Il WWW viene usato per vendite per corrispondenza: i primi listini disponibili
Il Commercio Elettronico: transazioni sicure su WWW
primi acquisti via WWW
La Microsoft con Windows 98 include InterNet Explorer come parte del Sistema Operativo
La Netscape fa causa alla Antitrust contro la Microsoft
98
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Parte 2: Il World Wide Web
Genesi e origini
Componenti del WWW e Terminologia
Componenti software: Il client
Componenti software: il proxy
Content Delivery Networks e Akamai
Componenti software: il server
99
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Le componenti del WWW
Componenti semantiche
Meccanismo di naming
URI: Uniform Resource Identifiers
Linguaggio di rappresentazione dei documenti
HTML: HyperText Markup Language
Protocollo di comunicazione
HTTP: HyperText Transfer Protocol
Componenti software
client
proxy
server
100
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Alcuni termini di uso - 1
Web content risorsa: dati/servizi identificati da una URI
messaggio: unita di comunicazione HTTP
header: porzione di controllo di un messaggio
entità/body: informazione (payload) di un messaggio
Componenti software User agent: programma che dà inizio ad una richiesta
Origin server: server dove la risorsa risiede
Intermediario: componente tra client e server
proxy, gateway e tunnel
Proxy: componente che è server per il client e client per il server
101
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Alcuni termini di uso - 2
Standardizzazione IETF: InterNet Engineering Task Force
RFC: Request for comments
MUST/SHOULD/MAY: differenti livelli di compliance con un protocollo
Traffico e performances Web Latenza: tempo tra inizio di una azione ed il primo indizio di
una risposta
User-perceived latency: tempo tra una azione di un utente e l‟inizio di display della risposta
Bandwidth: traffico per unità di tempo
Workload: input ricevuti da componente per unità di tempo
102
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Parte 2: Il World Wide Web
Genesi e origini
Componenti del WWW e Terminologia
Componenti software: Il client
Componenti software: il proxy
Content Delivery Networks e Akamai
Componenti software: il server
103
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Componenti software del Web: client
Per la prospettiva “utente”: il client è il Web
Tipologie di client browser
spider
software agent
offline browsers
cobrowsers
Il client come interfaccia universale a servizi SOAP (ed il ruolo del browser in Service Oriented Arch.)
applicazioni “realmente” indipendenti dalla piattaforma
pulling tradizionale incrementato con il pushing con AJAX
104
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Evoluzione del browser
Da browser testuali, velocemente si passa a browser grafici Linemode (CERN), Viola, Midas, Mosaic…
Funzionalità iniziazione di una richiesta HTTP (click, bookmark, type)
caching
uso di una porzione di filesystem locale
cache revalidation (via HTTP HEAD):
strong (ad ogni richiesta) o weak (con euristica, decide se rivalidare)
headers del messaggio (es. info su user agent in HTTP)
gestione risposta (configurazione utente)
105
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Configurazione browser
Appearance della risorsa richiesta gestione di font, colori, stylesheets, embedded images,
Scelte semantiche scelta degli intermediari da usare
scelta del linguaggio preferito (quando una risorsa è disponibile in varianti)
uso di Accept-Language header in HTTP
Caching
Gestione risposte
Cookies
External viewers (plugins, programmi)
106
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Cookies
HTTP come protocollo stateless scelta progettuale felice motivo del suo successo
Necessario però elaborare uno schema di gestione dello stato di un browser
Cookie: informazione circa lo stato, inviato dal server al user agent e da questi memorizzato (persistentemente)
Usati per il tracking (shopping cart) Header HTTP: Set-Cookie: (da server a client) Cookie (da client a server)
Controllo utente: gestione (politica di accettazione, replace, invalidate) privacy (embedded items che producono cookies “nascosti”)
107
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Spiders
User agent che cercano informazioni automaticamente
Visita ricorsiva a partire da pagine note
Impatto notevole sul server e sulla rete
Tecniche per evitare / limitare l‟effetto:
per sito: file robots.txt nella root del server
che specifica le directory da non indicizzare
per risorsa
tag META in HTML:
<META NAME=“ROBOTS” CONTENT=“NOINDEX, NOFOLLOW”>
108
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Intelligent Agents
Meta search engine fetching proattivo di pagine indicizzate da search engine per
controllare il contenuto
Auction agent partecipa ad aste online
effettua query HTTP per implementare una strategia di bidding
Browser special purpose Cobrowser (recommandation system e proactive fetching:
Letizia)
Collaborative browser: pattern di gruppo
Offline browser
109
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Parte 2: Il World Wide Web
Genesi e origini
Componenti del WWW e Terminologia
Componenti software: Il client
Componenti software: il proxy
Content Delivery Networks e Akamai
Componenti software: il server
110
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Web proxy
Localizzati sulla comunicazione user-agent origin-server
Presenti anche in altri protocolli (FTP, NNTP)
Posizione e diverse funzionalità
vicina allo user-agent
vicina all‟origin server
nel core della rete
111
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Proxy, gateways e tunnel
Proxy: intermediario che agisce come server per il client e come client per il server
Gateway: usato per protocolli diversi (non HTTP)
differenza con il proxy: lo user-agent è cosciente dell‟esistenza del proxy (e delle possibili modifiche)
Tunnel: agisce a livello sintattico non semantico
non altera il flusso HTTP
lifetime durante la connessione, non oltre
112
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Classificazione di proxy
Caching proxy
memorizzazione di risposte/richieste
Transparent proxy
non modifica sostanzialmente la richiesta/risposta
al più aggiunge informazioni sul fatto che la richiesta/risposta è passata attraverso di sé
Non-transparent proxy
sostanziali modifiche
esempio: anonymizer dell‟accesso a risorse
113
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Applicazioni dei proxy
114
Condivisione accesso al web ottimizzazione, con serializzazione di richieste su una unica
connessione verso il server
Caching Anonimizzazione del client eliminando header User-Agent in HTTP e informazioni sullo
stato
Trasformazione request/response personalizzazione/device adaptation
Gateway verso sistemi non HTTP (FTP, Mail, etc) Filtering censorship
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il ruolo dei proxy HTTP - 1
Gestione delle richieste/risposte HTTP identificazione (aggiunta di header)
miglioramenti su protocollo (HTTP 1.1. invece che 1.0)
gestione dei ritardi
memorizzazione dello stato e gestione dei cookies
Proxy come Web server interrogato come server (ma sfruttando la cache da proxy)
Proxy chaining a diversi livelli di organizzazione gerarchica
Configurazione proxy Proxy autoconfiguration file (javascript)
115
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il ruolo dei proxy HTTP - 2
Reverse proxy (surrogate) localizzati davanti ad una batteria di server
load balancing, fault tolerance
sicurezza
possono anche non usare HTTP per distribuire le richieste negli origin server
Interception proxy preleva tutto il traffico HTTP (dagli strati inferiori)
e applica la politica di proxy
non bypassabile da modifiche configurazioni dei client
116
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Funzionalità offerte dai proxy - 1
Personalizzazione Fornire contenuti rilevanti sulla base delle
preferenze degli utenti finali Link Personalization
Mostrati link più rilevanti per un determinato argomento Fondamentale in e-commerce
Content Personalization Pagine differenti per differenti utenti sulla base della loro
storia di navigazione. Anche per efficienza su PDA, smartphone, etc.
Compressione dati e immagini Realizzata, mediante proxy server, dal gestore
Vodafone per migliorare la velocità di connessione e per alleggerire il carico sulla propria rete GPRS. Un processo trasparente per l’utente, che beneficia,
senza accorgersene, di miglioramenti continui e dunque di velocità più elevate
117
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Adattamento di contenuti Accessi ad InterNet provenienti da nuovi ed eterogenei
devices
PDAs, laptops, cellular phones, set top boxes, handheld computers, TV Browsers, ecc.
Differenti capabilities in termini di: Network connectivity
Processing power
Storage
Display capabilities (screen size, color depth)
Contenuti dinamici, multimediali ed interattivi
Difficoltà per i portali Web nel fornire differenti versioni delle stesse pagine per differenti client devices che accedono alla rete.
Funzionalità offerte dai proxy - 2
118
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Parte 2: Il World Wide Web
Genesi e origini
Componenti del WWW e Terminologia
Componenti software: Il client
Componenti software: il proxy
La evoluzione dei proxy in Content Developer Network
Un esempio di Content Delivery Networks: Akamai
Componenti software: il server
119
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La percezione utente di InterNet
120
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
RegionalNet
Strutturazione geografica
RegionalNet Regional
Net
RegionalNet Regional
Net
RegionalNet
Backbone
LAN LANLAN
121
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
ISP
La crescita della rete ed i Neutral Access Points
ISP
ISPISP
BusinessISP
ConsumerISP
LAN LANLAN
NAPNAP
Backbones
Dial-up
122
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Core + Reti di Accesso
CoreNetworks
Cablenetworks
ConsumerMobile
CommercialISP
ConsumerISP
LAN LANLAN
NAP
Dial-up
DSLAlways on
NAP
CableHead Ends
CellCell
Cell
SatelliteFixed Wireless
CommercialMobile
ConsumerISP (high)
123
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il Core diventa “Intelligente”
Covad@home
ISPCingular
Sprint AOL
LAN LANLAN
NAP
Dial-up
DSLAlways on
NAP
CableHead Ends
CellCell
Cell
SatelliteFixed Wireless
124
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il flusso dei dati su WWW (a): architettura client-server
Nel progetto originale di Tim Berners-Lee
Tipica “interazione statica”
Anni 91-92
Web server
125
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il flusso dei dati su WWW (b): computazione lato server
Computazione server-side
Common Gateway Interface
Anni 92-93
126
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Web server
Il flusso dei dati su WWW (c) : le form
Le form: inserimento di dati sulla richiesta HTTP
HTML 2.0
Anni 93-94
Web server
127
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il flusso dei dati su WWW (d): computazione lato client
Contenuti eseguibili
Fat client
Altri linguaggi di scripting
Anni 95-96
Web server
128
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il flusso dei dati su WWW (e): architettura a 3 livelli (3-tier)
Separa la logica della applicazione dalla presentazione
Anni 96-97
Data repository
Application server
Web server
129
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il flusso dei dati su WWW (f): computazione lato proxy
Computazione
indipendente dal server e dal client
Intermediari:
Entità software che modificano flussi di informazioni
Data repository
Application server
Web server
130
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
I Proxy nel WWW
Sorti per necessità All‟aumentare del traffico è necessario:
Caching (Squid)
Security (firewalls)
All‟aumentare dei servizi è necessario :
Integrazione
Personalizzazione ed adattività
All‟aumentare della eterogeneità dei terminali è necessario:
Transcoding
All‟aumentare del business è necessario:
Un campo di intervento per l‟azienda:
“Se non hai server (Oracle, etc.) e non hai browser (Microsoft) allora intervieni sui proxy (IBM) o sulla distribuzione dei contenuti (Akamai)”
131
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Content Distribution Network
Una rete dedicata di server, distribuita geograficamente, che può essere usata da Web Publisher per distribuire più efficientemente il
proprio contenuto
Alcune tecniche utilizzate:
push del contenuto per portarlo più vicino all‟end-user
load balancing globale sulla rete dedicata di server
aggiornamento dello stato delle cache
Analisi di marketing efficienti ed affidabili tramite i file di log del traffico
132
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Alcuni dati e evoluzione dei CDN
Gli attori nel campo:
Akamai ha il “dominio” del mercato (80%)
Mirror Image
Inktomi
Limelight
grandi ISP costruiscono il proprio CDN (come AT&T)
1998-1999: con i CDN diventa più economico per una piccola compagna offrire servizi di grande qualità in maniera economica
2000-2001: i CDN si provano essere efficaci
2002-2004: i fornitori di CDN raddoppiano le entrate rispetto agli anni precedenti
133
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Parte 2: Il World Wide Web
Genesi e origini
Componenti del WWW e Terminologia
Componenti software: Il client
Componenti software: il proxy
La evoluzione dei proxy in Content Developer Network
Un esempio di Content Delivery Networks: Akamai
Componenti software: il server
134
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La struttura di un CDN: Akamai
InterNet permette ad un content provider di raggiungere, con un unico investimento (possibilmente di limitate dimensioni) una platea di 513 milioni di utenti (NUA, 8/2001)
135
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
InterNet è una “rete di reti”
Migliaia di reti indipendenti
unite da fornitori di backbone (dorsali)
Le reti devono essere connesse l‟una all‟altra attraverso punti di peering
pubblici o privati
servono a scambiare pacchetti tra le due reti senza arrivare necessariamente ai Network Access Point tra backbone
136
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Cosa è necessario per far funzionare InterNet
Strategie per il routing
All‟interno di una “rete” (Autonomous System):
Internal Gateway Protocols: OSPF, RIP
Tra “reti” (ASs) diverse:
External Gateway Protocols: BGP
Il problema: la scalabilità
Protocolli internal non assicurano la scalabilità degli ASs
Protocolli external permettono la connessione di numerosi AS, ignorando il routing fatto all‟interno
137
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Dove sono i “colli di bottiglia”
1. First Mile
2. Peering
3. Backbone
4. Last Mile
Limitazione non solamente alle prestazioni ma
Alla crescita veloce delle richieste delle connessioni e del tipo di servizi
Alla possibilità di reagire prontamente a improvvisi picchi di carico
138
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
1. Il “First Mile”
Storicamente il primo bottleneck
Alcuni esempi:
I trailers di “Star Wars”
Il Mars Lander
I verbali e le relazioni sull‟impeachment di Clinton
I siti di informazioni geosismiche in caso di terremoti in California
Equivocato spesso per problemi di scalabilità di server
• La velocità con cui l’utente accede ad un servizio è limitata dalla connettività che il ContentProvider ha verso la rete
139
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
2. I peering points (a)
Le caratteristiche del traffico (dati Akamai)
Il traffico del WWW sembra equamente distribuito tra le oltre 7400 reti di InterNet
Nessuna rete contribuisce per più del 5% del traffico totale
La maggior parte delle reti contribuisce per meno dell‟1%
140
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
2. I peering points (b)
Altre considerazioni:
Con migliaia di reti ci devono essere almeno migliaia di peering points
La equa distribuzione del carico indica che il traffico deve attraversare una quantità notevole di peering
se una sola rete fosse responsabile di una quantità notevole del traffico, potrebbe bastare l‟attraversamento di un solo peeringpoint per raggiungere la rete di destinazione
La crescita delle reti (notevole) aumenterà la dimensione del problema
141
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
3. I backbone
L’upgrade alla capacità di qualsiasi rete è immediatamente sorpassato dai servizi offerti, dalle richieste degli utenti o da entrambi (nma
legge di Murphy)
• Un esempio:
• Trasmissioni personalizzate del “The cooking channel”
• 300 Kbs per stream
• Uno dei maggiori backbone (UUNET)
• Su Canada ed USA ha banda di 3,6 Gbs (tra città)
• Poche decine di cooking channels bastano a saturare questa disponibilità di banda
142
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
4. Il “Last Mile”
Più che un problema..
Una soluzione
La limitazione della banda per singolo utente serve ad evitare che InterNet “fonda”
Un esempio:
Il Cable Access Provider @Home
Ha solamente 1 milione di abbonati (0,2% del totale di utenti)
Ma è una delle reti che richiede più traffico (il 5% del totale)
143
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La soluzione dei Content Distribution Network
Distribuire le informazioni verso il “confine” delle reti (Edge delivery)
Rendendo più veloce l‟accesso all‟utente
Senza sovraccaricare troppo la struttura di InterNet
Il deployment della soluzione (esempio di Akamai)
20.000 server localizzati nei POP (Point of Presence) di oltre 1000 ISP in 70 paesi (2007)
Sistema operativo custom, Intel based
Offerti gratuitamente a ISP di elevata dimensione
Più di 10000 abbonati, condizioni di sicurezza, connettività alta
Offrono una connessione persistente con il sito di origine
85% degli utenti InterNet sono ad 1 hop da un server Akamai
144
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La infrastruttura di Akamai
Alloca più server Akamai ai siti colpiti da flash crowds
Obiettivo della intera infrastruttura:
dirigere la richiesta del client al server Akamai più vicino,
disponibile ad accettare il carico
con una certa probabilità di successo
Più vicino: funzione della rete e delle caratteristiche di link
Disponibile: funzione di carico della macchina e banda di rete disponibile
Probabilità di successo: non tutti i server possono avere tutti gli oggetti da distribuire
145
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Identificazione server sull‟Edge
Trade-off tra caching DNS response time e reattività
146
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Akamai Resource Locator
Le informazioni embedded vengono tradotte così
147
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
I compiti della infrastruttura
Controllo della rete con il meccanismo di DNS criteri nella risoluzione dei nomi
tipo di servizio (server per Quicktime o solo per HTTP)
stato di salute del server
carico del server (CPU, Disk, Network)
condizioni della rete
localizzazione del client rispetto al server
tipo di contenuto (mappato secondo tecniche di hashing)
Monitoraggio rete end-to-end: agenti software che simulano utenti
della intera rete InterNet
confronto con dati storici permette il riconoscimento di situazioni anomale
148
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Real time Web Monitor … traffico!
149
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Real time Web Monitor … attacchi!
150
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Consumo di news
151
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Consumo di news per regione…
152
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Le news più accedute (dal 2005)
153
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
I tipi di servizio di Akamai
Contenuto statico
gestione della lifetime e cacheability
secure connections
Contenuto dinamico
Edge Side Includes
separa le pagine in pezzi con diversa cacheability
assemblate dal server Akamai su richiesta
Streaming media
Windows Media Player, RealPlayer, Quicktime
Necessaria:
reazione veloce alla selezione del “entry-point” server ed ad una sua possible caduta
trasmissione multi-path tra diversi server
154
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Il World Wide Web Componenti del WWW Terminologia Componenti software: Il client Componenti software: il proxy Componenti software: il server
Gestione di una richiesta client Controllo dell‟accesso: autenticazione e autorizzazione Risposte dinamiche e gestione dello stato Caching
Architettura dei Web Server Server hosting Apache
155
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Componenti software del WWW:Web server
Compito: generare e trasmettere le risposte per le richieste dei client
Composta di varie fasi:
parsing della richiesta
check di autorizzazioni
associazione URL con un filename
costruzione della risposta
trasmissione della risposta
156
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Sito Web e server Web
Sito Web: insieme di pagine accessibili tramite la stessa url (per la parte hostname)
Server Web: programma che soddisfa le richieste del client
Web site: portali, business, intranet corporate, business-to-business,
special event, portal, ricerca, gateway
Web server: programma la cui efficienza dipende dalla stratta relazione con
la piattaforma sottostante: S.O., CPU power, dischi, network bandwidth
157
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Il World Wide Web Componenti del WWW Terminologia Componenti software: Il client Componenti software: il proxy Componenti software: il server
Gestione di una richiesta client Controllo dell‟accesso: autenticazione e autorizzazione Risposte dinamiche e gestione dello stato Caching
Architettura dei Web Server Server hosting Apache
158
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Passi per gestire una richiesta client
Parsing della richiesta: lettura della richiesta HTTP e identificazione di:
tipo di operazione richiesta URL della risorsa richiesta host a cui questa viene richiesta header della richiesta
Traduzione URL in filename normalmente con una diretta relazione con il filesystem possibile relazione con caching lato server
Autorizzazione controllo dei permessi di accesso alla risorsa
Generazione e trasmissione risorsa con body e header di risposta
159
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Autenticazione
Identificazione dell‟utente che origina la richiesta
Basata su coppia nome/password
memorizzate in locale in un file criptato
Essendo il protocollo HTTP stateless
il server non ha nozione di “sessione”
Ciò nonostante, l‟utente ha l‟illusione di una sessione
perché il client continua a inviare la coppia username/password ad ogni richiesta
Processo di autenticazione:
challenge / response
160
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Il World Wide Web Componenti del WWW Terminologia Componenti software: Il client Componenti software: il proxy Componenti software: il server
Gestione di una richiesta client Controllo dell‟accesso: autenticazione e autorizzazione Risposte dinamiche e gestione dello stato Caching
Architettura dei Web Server Server hosting Apache
161
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Autenticazione
Identificazione dell‟utente che origina la richiesta
Basata su coppia nome/password
memorizzate in locale in un file criptato
Essendo il protocollo HTTP stateless
il server non ha nozione di “sessione”
Ciò nonostante, l‟utente ha l‟illusione di una sessione
perché il client continua a inviare la coppia username/password ad ogni richiesta
Processo di autenticazione:
challenge / response
162
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Autorizzazione
Determina a quali risorse un utente può accedere
politica di accesso
Si utilizza una access control list
di norma, specifica la politica per subdirectory nel filesystem
basata su username, IP address, etc.
Processo potenzialmente molto oneroso
direttive di configurazione che permettono di ridurre l‟overhead (nessuna autorizzazione necessaria per un branch del filesystem)
163
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Il World Wide Web Componenti del WWW Terminologia Componenti software: Il client Componenti software: il proxy Content Delivery Networks e Akamai
Componenti software: il server Gestione di una richiesta client Controllo dell‟accesso: autenticazione e autorizzazione Risposte dinamiche e gestione dello stato Caching
Architettura dei Web Server Server hosting Apache
164
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Risposte generate dinamicamente “on-the-fly”
Risorse che sono
statiche (corrispondenti a risorse sul file system)
generate dinamicamente dal server
server-side-includes
script che generano documenti
processi invocati dal server per ogni richiesta (Common Gateway Interface)
interni al server (esempio: PHP, mod_perl di Apache, servlet Java)
processi persistenti contattati dal server (Fast CGI)
ottenute dal terzo livello di una architettura a 3 layer
interfaccia verso un DBMS, con query SQL
165
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
I cookies e lo stato di una sessione
Per mantenere lo stato in un protocollo stateless ad ogni richiesta/risposta devono essere ripetute
autenticazione (per la necessaria autorizzazione)
invio dello stato della sessione (con i cookies)
I cookies vengono trasmessi dal client con l‟header:Cookie: Customer=“pippo”; Version=“1.5”; InternalID=“4E551A0”
e possono essere letti e trattati da corrispondenti programmi lato server (variabili di ambiente di script CGI, ad esempio)
I cookies vengono settati dal server nella risposta: Set-Cookie: Version=“1.5”;
ed il client li invia ogni volta che accede quel sito
crittazione e expiration time per prevenire la falsificazione
166
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Il World Wide Web Componenti del WWW Terminologia Componenti software: Il client Componenti software: il proxy Content Delivery Networks e Akamai
Componenti software: il server Gestione di una richiesta client Controllo dell‟accesso: autenticazione e autorizzazione Risposte dinamiche e gestione dello stato Caching
Architettura dei Web Server Server hosting Apache
167
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Cache per migliorare la efficienza
In pratica, poche risorse di un sito sono molto popolari
e quindi influenzano sensibilmente il carico
Una tecnica utile è quella di fare caching lato server:
alla richiesta, il file viene letto e caricato in memoria
per velocizzare accessi successivi alla stessa risorsa
Necessario che ci sia comunque un check della data
per evitare di fornire contenuto non aggiornato
Possibile fare caching anche di contenuto dinamico
tecniche ampiamente utilizzate nel caso di front-end di DBMS
168
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Tecniche per migliorare l‟efficienza: sharing metadata
Il caching può essere fatto anche su altri passi nel processo di soddisfare una richiesta
Caching di: traduzione URL-filename
necessario controllo della data di aggiornamento del file
gestione informazioni della risorsa nell‟ header risposta
come dimensione file (Content-Lenght) o data ultima modifica
gestione informazioni del server nell‟header risposta
nome host, versione software etc.
data/tempo corrente (calcolata solo a intervalli)
nome del client: se la autorizzazione è basata sul nome, si può fare caching della risoluzione dell‟IP con il nome
169
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Il World Wide Web
Componenti del WWW
Terminologia
Componenti software: Il client
Componenti software: il proxy
Componenti software: il server Architettura dei Web Server
Server hosting
Apache
170
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Architettura dei server
Il carico di un server Web è davvero notevole con picchi di carico imprevedibili
La gestione delle risorse viene tenuta presente nella architettura del server
Tre categorie principali: event-driven server
un singolo processo che si alterna a servire ogni richiesta
process-driven server
ogni richiesta viene gestita da un processo diverso
server ibridi
che usano entrambe le strategie, combinandole
171
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Architettura event-driven
Struttura semplice: un processo che gestisce una richiesta alla volta
Approccio giustificato (dal punto di vista delle prestazioni) solo se le richieste richiedono lavoro costante
di norma non è così per:
ritardi di accesso al disco, di accesso alla rete, di solito realizzate con chiamate non bloccanti
risorse generate dinamicamente (con ritardi non preventivabili)
Comunque, efficienza garantita dalla serializzazione delle richieste (trattate dallo stesso processo che può così cercare di ottimizzare effettuando caching)
172
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Architettura process-driven - 1
Ogni richiesta viene gestita da un processo diverso
necessario una forte interazione con il process mgmt del S.O. sottostante
Ad ogni nuova connessione, il processo master effettua una fork per creare un processo separato che gestisce la connessione
Soluzione automatica ai memory leak
a richiesta esaudita, il S.O. libera automaticamente la memoria occupata dal processo
173
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Architettura process-driven - 2
Miglioramento del ritardo dovuto alla fork creazione di un pool di processi a cui il master assegna la
richiesta, una volta terminato, il processo ritorna disponibile
memory leak ancora presente potenzialmente:
soluzione con l‟invecchiamento dei processi e la loro terminazione per lasciare spazio a processi giovani (conflitto generazionale )
Limitazioni della architettura context switching tra processi introduce overhead
per richieste che richiedono poca CPU, inutile affidarle a processi
difficile (e più costoso) effettuare caching interprocess
CERN, NCSA server, Apache 2.x
174
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Architettura ibride
Cercano di combinare i vantaggi delle due architetture
Tre approcci:
una architettura process-driven dove, però, ogni processo può gestire più richieste
riduzione del numero di processi (minor overhead)
riduzione dell‟overhead sul data sharing per il caching
una architettura single process che ha diversi thread
minore overhead nella gestione (facilità condivisione dati, unico spazio di indirizzamento nel processo)
problemi di memory mgmt (memory leak all‟interno di thread diversi)
architettura adattiva: event-driven per default sulle richieste che richiedono poco lavoro, ma fork di un processo helper per le richieste che richiedono maggiori risorse
175
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Il World Wide Web
Componenti del WWW
Terminologia
Componenti software: Il client
Componenti software: il proxy
Componenti software: il server Architettura dei Web Server
Server hosting
Apache
176
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Server hosting
Lo stesso server può gestire diversi server virtuali
ognuno con le proprie
politica di accesso
risorse da fornire
file di log
etc.
Siti in mirroring
esplicitamente scelti dall‟utente
politiche di aggiornamento (giornaliero, settimanale, etc.)
bilanciamento basato su scelte dell‟utente (possibili sovraccarichi)
uso di un proxy surrogato (reverse proxy) che bilancia il carico
177
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice: Parte 2
Il World Wide Web
Componenti del WWW
Terminologia
Componenti software: Il client
Componenti software: il proxy
Componenti software: il server Architettura dei Web Server
Server hosting
Apache
178
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Il server Apache
Free e open source success story dell‟open source
Portabile (Unix, Win32, OS/2, BeOS, etc. etc.)
Efficiente
Supporta HTTP/1.1
Stabile e sicuro
Modulare e programmabile
Features avanzate autenticazione
personalizzazione log
negoziazione contenuti
virtual host
179
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
La diffusione di Apache
Netcraft survey: Apache è il server più diffuso
180
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Gestione delle risorse
Due modelli di gestione: modello process-driven (Apache 1.3) e multithread (Apache 2.0)
Il passaggio da 1.3 a 2.0: problemi
script di configurazione non standard
porting difficile
scaling delle prestazioni non sufficienti
interazioni tra moduli difficile
181
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Modello process-driven
Processo padre che assgna un processo a ogni connessione
Attività di pre-forking
Parametri di configurazione permettono di scegliere
il numero di server da pre-forkare
il numero di minimi e massimi server idle
al di sotto o al di sopra del valore si pre-forka oppure si uccide
massimo numero di richieste per figlio
massimo numero di richieste concorrenti su singola connessione TCP
182
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Multi-processing Module
Modulo specializzato per la gestione del modello processo /thread
ognuno per lo specifico S.O. (es. mapping di thread su thread nativi)
Configurazione di MPM dal file di configurazione di Apache
facile scambiare modelli di gestione delle risorse
183
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Configurazione pre-fork (process-driven)
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept
spare
# MaxSpareServers: maximum number of server processes which are kept
spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process
serves
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
184
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Configurazione worker (multi-thread)
# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
185
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Installazione: l‟albero della installazione
186
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
File di utility
ab
apache benchmark per misurare le prestazioni
ab –c <parallelismo> -n <#richieste> URL
nota bene: necessario definire un workload, data set, etc…
apachectl
script per controllare start/stop/restart
htpasswd
per generare e modificare file di autenticazione di apache
htpasswd –c <filepasswd> <username>
187
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Configurazione di apache
File conf/httpd.conf
3 sezioni fondamentali
impostazioni globali
impostazioni del server di default
impostazioni dei virtual server
188
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Impostazioni globali - 1
ServerRoot
top level directory per i file di configurazione
PidFile
file dove si memorizza il PID del server (per apachectl)
Timeout
Parametri per connessioni persistenti
Keepalive
MaxKeepAliveRequests (dopo un certo numero si forza la chiusura della connessioe)
KeepAliveTimeout
189
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Impostazioni globali - 2
Listen
porta su cui ascolta
Load Module
caricamento moduli esterni (ad esempio PHP, etc.)
User, Group
utente usato da Apache, sconsigliato di usare privilegi da superutente
190
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Impostazioni del server di default
ServerName DocumentRoot <Directory> </Directory> contenitore di setting per directory
<Location> </Location> contenitore di setting per URL
Opzioni possibili (alcune) Includes (abilita SSI) FollowSymLinks (link simbolici su fileystem, problemi di sicurezza) ExecCGI (permette esecuzione di programmi) AllowOverride (permette uso di file .htaccess per cambiare
impostazioni) Allow, Deny (sequenza di accesso filtrato)
191
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Gestione della richiesta - 1
Post-read request
estratti i campi principali della richiesta HTTP e inizializzate le strutture dati
URI Translation
conversione da URI a risorsa (file, risorsa dinamica, documento generato da modulo interno)
Direttive Alias, ScriptAlias, DocumentRoot
Moduli mod_rewrite
192
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Gestione della richiesta - 2
Header parsing
Access control
identificazione locazione provenienza richiesta
Authentication
identificazione del client
Authorization
applicazione della policy di accesso per dato utente e data risorsa
193
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Gestione della richiesta - 3
MIME-type checking
identificazione tipo MIME del documento richiesto
associazione estensione-MIME-Type
Fixup
aggiunte di moduli
Response
costruzione della risposta
Logging
Cleanup
194
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Gestione delle access-list
Nel file di configurazione: AllowOverride permette di ridefinire le modalità di accesso
secondo il file .htaccess presente nella directory
può essere usato per limitare la configurabilità
Con htpasswd si può creare un file .htpasswd di password crittate
Nel file .htaccess di una directory si specifica AuthType Basic (autenticazione con password)
AuthName xxxx (“realm” di autenticazione)
AuthUserFile, AuthGroupFile (file di password)
Require {valid-user| user <user> | group <group>}
195
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Un esempio:
In httpd.conf per la directory secret
AllowOverrideAuthconfig
Nel file secret/.htaccess
AuthType Basic
AuthName “Test”
AuthUserFile /htdocs/htpasswd
AuthGroupFile /htdocs/htgroups
Require group secretGroup
Nel file htgroups:
secretGroup: vitsca
Nel file htpasswd
vitsca:hLNwBBd3GiEsA
196
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Commenti sulla configurabilità
L‟amministratore del Web Server può decidere di lasciare ad ogni utente la possibilità di definire la propria politica di accesso
introducendo la direttiva AllowOverride nella directory
Questo significa che il server quando ha tradotto la URL in filename, inizia un directory walk che porta alla risorsa ed alla determinazione delle politiche di accesso (top-down)
questo implica un notevole overhead, e quindi l‟amministratore può decidere di non inserire AllowOverride se non necessario
197
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Generazione e trasmissione della risposta - 1
Apache ha una collezione di handler interni che gestiscono la risposta
assegnato sulla base della estensione del file fornito
Tra gli handler built-in
default-handler: file html
cgi-script: invoca il file come file CGI (.cgi)
server-parsed: server-side include (.shtml)
La configurazione di Apache detta anche il tipo (MIMEtype) del file restituito sulla base della estensione. Esempi
file .html (oppure .htm) vengono restituiti come text/html file .txt vengono restituiti come text/plain file .gif vengono restituiti come image/gif etc-
MIMEtype importante per il triggering degli helper lato client
198
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Generazione e trasmissione della risposta - 2
In aggiunta al tipo MIME, si aggiungono
Encoding: compressione dei file
definiti da estensioni addizionali .z .Z .zip
Varianti di linguaggio:
.it .fr etc.
Quindi un file che si chiami
index.en.html.Z corrisponde ad un file compresso in HTML scritto in lingua inglese
Altre possibilità della configurazione
quelle di includere informazioni relative alla validità temporale della risorsa
sapendo che una risorsa cambia spesso (o a orari fissati) questo permette di fissare la validità della copia trasmessa per il caching lato client
199
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Indice del Seminario: Parte 3
La struttura di InterNet
Introduzione al World Wide Web
La rivoluzione del WEB 2.0
200
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Una indagine interna201
• Chi di voi ha già visto questi loghi ?
• Chi di voi ha già utilizzato i servizi che offrono ?
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Obiettivi202
• Analizzare il fenomeno del cosiddetto“Web 2.0”
• Valutarne gli effetti nel campo della cosiddetta “Editoria Online”
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Cos‟è il Web 2.0 ?203
La prima definizione di Tim O‟ Reilly (2004):
• “Il Web 2.0 è la Rete come piattaforma. Le applicazioni Web 2.0 permettono di ottenere i vantaggi intrinseci della piattaforma fornendo il software come un servizio in continuo aggiornamento che migliora più le persone lo utilizzano …”
• “… Le applicazioni Web 2.0 mescolano i dati da sorgenti multiple, tra cui gli utenti. Essi forniscono i propri contenuti e servizi in modo da permetterne il riutilizzo da parte di altri utenti, creando così un’architettura della partecipazione”
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Cos‟è il Web 2.0 ?204
I Concetti racchiusi nella definizione:
• Rete come Piattaforma
• Software come Servizio
• Utilizzo dei Dati Da Sorgenti Multiple
• Gli Utenti Producono i Contenuti
• Partecipazione
• NO Copyright ma
• Creative Commons come concetto di copyright “flessibile”
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Cosa c‟è dietro ?205
• Blog
• Feed RSS
• Social Network
• Social Bookmark
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Nuove figure professionali206
Nuove figure professionali si affacciano nel campo dell‟editoria. Ad esempio:
La Figura Professionale del Newsmaster:
• Selezionare
• Aggregare
• Filtrare
• Escludere
• Identificare
Storie e Notizie Per il Pubblico di Riferimento
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Gli effetti sul mercato207
Aumento della Pubblicità Online
Due Tipologie di Pubblicità su InterNet:
• Pubblicità Tabellare (Banner, Pop-up)
• Pubblicità Contestuale (Google AdSense)
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Gli effetti sul mercato208
Social Media Marketing
Il Marketing Tradizionale Tende
a “Distrarre”
Anche i politici usano blog come
mezzo di promozione della
propria immagine
Che Cos‟è?
• Promuovere usando i Social Network
• E‟ Basato sulla Conversazione
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Complimenti …
209
… per la resistenza e …
Grazie per l‟attenzione !!!
Vuoi Saperne di Più? Vuoi Rivedere la Presentazione? Vai su:
Prof. Giuseppe [email protected]
Prof. Vittorio [email protected]
Ing. Francesco [email protected]
Dott. Gaetano [email protected]
www.slideshare.net
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Alcune considerazioni
210
La privacy: tramite la rete si offre accesso ad informazioni che possono
essere personali anche il solo usare la rete diffonde alcune informazioni su di
noi
Si rende necessario: una reinterpretazione del concetto di privacy un controllo strutturale sull‟accesso alle informazioni personali
(Il grande fratello di Orwell)
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
211
Alcune considerazioni
La security:
effettuare transazioni sulla rete non è sicuro
informazioni (quali numero di carta di credito etc.) possono essere “origliate”
si rende necessario usare strumenti di crittografia (adesso sempre più diffusi) che danno una elevata sicurezza alle transazioni e scambi di informazioni
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
212
Alcune considerazioni
La safety:
“Su InterNet ci sono i pedofili”
La risposta (provocatoria!)
“Ce ne sono di più che usano il telefono!”
InterNet è uno strumento di comunicazione
Ha proprie regole e proprie caratteristiche
… che devono essere imparate ed assimilate!
Avellino, 12 Novembre 2008G.Cattaneo - Università di Salerno
Top Related