Sei sulla pagina 1di 84

RETI E SISTEMI INFORMATIVI prof.

Agostino Cortesi

INTRODUZIONE
LIBRO DI TESTO: Valacich, Schneider, Carignani, Longo, Negri ICT, Sistemi Informativi e Mercati
Digitali, Pearson, 2011, ISBN: 978-88-7192-612-4

ESAME: domande sui contenuti del corso e esercizi

PROGRAMMA
1. Reti di calcolatori
a. Architetture hardware e software
b. Protocolli di rete
c. Gerarchia di protocolli: modelli OSI - TCP/IP

2. La rete Internet
a. Architettura TCP/IP
b. Protocolli di base: Internet Protocol (IP), Transport Control Protocol (TCP), Domain Name
System(DNS)
c. Servizi: Posta elettronica - World Wide Web - Motori di ricerca: organizzazione e prestazioni
d. Architetture applicative: client/server, peer-to-peer
e. Reti aziendali e tecnologie Intranet

3. Sistemi Informativi Aziendali


a. Sistema organizzativo - Sistema informativo - Sistema informatico
b. Tipologia dei processi aziendali - Tipologia dei Sistemi Informativi
c. Elementi di sicurezza di un Sistema Informativo

1
1. GESTIRE LINFORMAZIONE NEL MONDO DIGITALE
INFORMATICA: Scienza del trattamento razionale, specialmente per mezzo di macchine
automatiche, dellinformazione, considerata come supporto alla conoscenza umana e alla
comunicazione (Academie Francaise).

Linformatica ha 2 anime:

Tecnologica: i calcolatori elettronici e i sistemi che li utilizzano


Metodologica: i metodi per la soluzione dei problemi e la gestione delle informazioni

Un sistema informatico non pu non


collocarsi in unorganizzazione. In s non
vale niente se non in un sistema in cui
viene implementato e utilizzato. Quando
si parla di un sistema informativo
aziendale, la prima attenzione deve
essere sulla conoscenza sugli attori del
sistema in cui il sistema informativo
agisce.

SISTEMA: Insieme di componenti che assieme realizzano una funzione (e hanno un obiettivo),
fornendo opportuni risultati (rilevabili dallesterno) in corrispondenza a determinati dati/eventi
(condizioni esterne che influiscono su di esso) presenti o passati. Esempi: naturali (organismi
viventi), artificiali (macchine, fabbriche), sociali (aziende, enti pubblici). Le caratteristiche di un
sistema sono:

OBIETTIVO
COMPONENTI
ATTRIBUTI (caratteristiche, configurazione, qualit, vincoli, stati)
RELAZIONI tra coppie di componenti: ingegnerizzazione degli attributi delle componenti
che rende possibile il contributo delle stesse al conseguimento dellobiettivo del
sistema. Cosa rende una penna una buona penna? La qualit dei componenti, la
lintegrazione tra le componenti adeguata. Non intendiamo la sommatoria della qualit
dei componenti.

Lazienda il sistema pi palese di sistema. Qual lobiettivo dellimpresa? Il profitto, dare


lavoro, utilit sociale. Devo capire quali sono le componenti (provo a farlo tramite un modello),

2
ma devo anche capire le relazioni tra le componenti, che la chiave di volta. In vari sistemi, la
componente pi importante quella pi malleabile che permette di interfacciare le varie
componenti (il motore dialoga con lo sterzo tramite il sottosistema informatico).

Ogni sistema ha di solito una struttura, cio articolato in SOTTOSISTEMI, che interagiscono
fra loro e con il mondo esterno. Ogni sottosistema ha una funzione specifica (e obiettivi propri):
gli ingressi e le uscite dei sottosistemi possono essere ingressi e uscite del sistema
complessivo oppure semplicemente flussi interni in un sistema vengono svolti processi, attivit
rivolte verso lesterno o verso linterno, nellambito di sottosistemi o trasversalmente.

La MALLEABILITA (versatilit) la caratteristica pi importante di un sistema. o dare una


rappresentazione astratta di un sistema. Modellare unazione che assomiglia a fare gli
schemi di storia alle medie. Come modellare il sistema? Devo identificare le componenti, e
capire lambiente in cui il sistema verr messo in funzione. Sullambiente non posso dare delle
specifiche, ma faccio delle assunzioni. Successivamente, devo organizzare le componenti e
chiedermi lambiente nel quale viene collocato il sistema e quali sono le assunzioni che posso
fare sullambiente. Esiste il sistema che realizza quellobiettivo bene, in quel contesto. Non
esiste in maniera assoluta il miglior sistema informativo. Possono esserci:

Modelli gerarchici: organizzazione ad albero


Modelli funzionali: rappresentano i flussi di informazione tra i vari sottosistemi. Esprime
come attraverso le relazioni c il flusso delle risorse.
o Spesso rappresentata in diagrammi a blocchi
o Dal modello si dovrebbero identificare i diversi tipi delle componenti funzionali di
un sistema.

Nel diagramma funzionale, si identifica per ognuno degli attori quali sono i processi che
vengono gestiti dal sottosistema. Qui c un flusso di risorse che passa da un sottosistema a

3
un altro. Questo ci dice che il cliente si relazione direttamente con la cassa (in un fast food). Il
tipo di interazione tra il cliente e la cassa, tramite ordine e pagamento e scontrino. La cassa si
relaziona con il magazzino, ecc.

SISTEMA ORGANIZZATIVO: Formato da persone e ruoli. Posso vedere qui la struttura o la


dimensione funzionale.

RISORSE: tutto ci con cui lorganizzazione opera, sia materiale che immateriale, per
perseguire i suoi obiettivi. Le risorse di unazienda possono essere:

Personale
Denaro
Magazzino
Impianti
Clienti
INFORMAZIONI, spesso relative alle altre risorse. Le informazioni mi dicono se sto
applicando bene le risorse che ho, oppure se sto perdendo competitivit.

PROCESSO: l'insieme delle attivit (sequenze di decisioni e azioni) che lorganizzazione nel
suo complesso svolge per gestire il ciclo di vita di una risorsa o di un gruppo omogeneo di
risorse.

Operativo: legame con macchine, altri elementi che in input o output forniscono o
richiedono dati. Il livello operativo il pi basso nella piramide dei processi relativi
allinformazione, ma solo nei processi operativi che avviene la ricezione e la
trasmissione allesterno dei dati. Definizione degli obiettivi strategici.
o Esempio: per unazienda la registrazione dei costi delle commesse.
Gestionale: interazione tra processi direzionali e operativi. Devono tradurre gli obiettivi
strategici in elementi che siano di alimentare i processi operativi.
o Esempio: per unazienda il controllo degli scostamenti settimanali tra
preventivo e consuntivo
Direzionali: processi che definiscono le politiche dellazienda, come orientare i processi
aziendali
o Esempio: per unazienda la scelta delle aree di mercato pi convenienti.

Per la produzione dei prodotti/servizi (e quindi nello svolgimento delle attivit interrelate) sono
in genere coinvolte una o pi unit organizzative, attraverso una distribuzione di compiti e

4
responsabilit, spesso codificata in norme o procedure che regolano il processo. Le strutture
possono anche appartenere a enti diversi. Il processo, quindi, corrisponde ad un punto di vista
trasversale sullorganizzazione. Una volta identificati i sottosistemi, con i relativi compiti,
devo capire quali sono i flussi informativi relativi ai sottosistemi.

I processi spesso attraversano la struttura


gerarchica, e la reingegnerizzazione dei
processi tende spesso ad eliminare buona
parte della gerarchia.

SISTEMA INFORMATIVO: Componente


(sottosistema) di una organizzazione che
gestisce (acquisisce, elabora, conserva, produce) le informazioni di interesse (cio utilizzate
per il perseguimento degli scopi dellorganizzazione stessa). Gestisce la risorsa "informazione"
(e le informazioni sulle altre risorse). Le sue funzioni sono:

RACCOLTA, acquisizione delle informazioni


ARCHIVIAZIONE, conservazione delle informazioni
ELABORAZIONE, trasformazione, correlazione delle informazioni
DISTRIBUZIONE, scambio di informazioni

Linformazione deve fluire. Linformazione pu essere creata o distrutta.

OBIETTIVO di un Sistema Informativo: gestire linformazione. A partire da un insieme di


situazioni, eventi, che sono esterni ad un sistema e che alimentano i dati che in un sistema la
mia azienda acquisisce allingresso, deve permettermi di trasformare i dati in informazioni,
cio elementi che hanno significato.

SOTTOSISTEMI INFORMATICI:

Sistemi settoriali (per processi operativi)


Sistemi integrati (anche per processi gestionali)
Sistemi di supporto ai processi direzionali

Il sistema informativo sottosistema dellazienda, e ha come sottosistema il sistema


informatico, che si appoggia a computer (per esempio). Il sistema informatico ha bisogno del
sistema informatico, ma non vale il contrario.

SISTEMA INFORMATIVO: combinazione di 5 elementi chiave:

5
Persone
Hardware
Software
DATI
Reti di telecomunicazioni

DATI: bisogna fare distinzione tra

Dato
Informazione
Conoscenza: collegare le diverse informazioni
Widsom: conoscenza accumulata

Anche i dati sono OPERATIVI (descrivono fatti elementari di interesse importi e riferimenti di
singoli movimenti contabili), DI CONTROLLO (aggregazioni ed elaborazioni di dati operativi
saldi mensili del C/C bancari), DI PIANIFICAZIONE (sintesi dei dati di controllo bilancio). Un
aspetto fondamentale che i dati fluiscono dal basso verso lalto, con integrazioni,
correlazioni. Non possono essere ricreati.

EVOLUZIONE DEI SISTEMI INFORMATICI:

Singole applicazioni
Aggregazioni di applicazioni integrate in sistemi informatici di settore
Integrazione generalizzata fra settori e aggregazione complessiva per la direzione

EVOLUZIONE DELLE TECNOLOGIE INFORMATICHE:

Mainframe e sistemi transazionali


Architetture distribuite, progetti di integrazione, personal computer e informatica
individuale
Reti, con il successivo arrivo del Cloud

Gli elementi che danno valore al personale sono la conoscenza e abilit in 3 aree:

Competenza Tecnica skills in hardware, software, networking, security


Competenze gestionaliconoscere la natura del business
Competenza nei sistemicapire come progettare ed integrare le componenti di sistemi
complessi

6
2. ACQUISIZIONE E RAPPRESENTAZIONE DEI DATI
COMPONENTI HARDWARE DI MANIPOLAZIONE DI DATI:

Input devices: dispositivi che permettono di acquisire dati


Processing devices: dispositivi che realizzano la trasformazione/elaborazione
dellinformazione. Dispositivi che lavorano su processi di dati.
Output devices: offrono una rappresentazione dellinformazione in formati utilizzabili da
altre componenti. Dispositivi finalizzati alluscita dei flussi di dati allesterno o verso altri
utenti o altri sistemi infomativi.

Abbiamo quindi diversi input devices (come le tastiere), point and click devices (un sistema di
controllo, viene usato un comando, per esempio "vai avanti", differentemente dalla tastiera),
dispositivi che permettono di acquisire Batch Data (dati a blocchi, come i lettori di codici a
barre, smart cards, ecc), dispositivi che permettono lacquisizione di audio/video (microfoni,
macchine fotografiche digitali, ecc.).

CODIFICA DELLINFORMAZIONE: per rappresentare linformazione in modo non fruibile dal


computer abbiamo bisogno di codici che la possano esprimere in modo semplice, sintetico e
non ambiguo. Un codice si basa su:

Un alfabeto di simboli
Una sintassi con cui comporre tali sequenze. Quando questa sequenza di simboli
significativa, corretta dal punto di vista sintattico.
Una semantica da associare ai simboli e alle sequenze: come decodifico questa
informazione?

Linformazione portata da, o trasmessa su, o contenuta in qualcosa; questo qualcosa


non linformazione stessa, ma il supporto. Ogni supporto ha le sue caratteristiche in quanto
mezzo su cui pu essere scritta dellinformazione. Attenzione, perch alcuni supporti sono
adatti alla trasmissione ma non alla memorizzazione dellinformazione (aria, cavi, ecc.) e
viceversa (CD, hard disk, ecc.).

PRIMA CONDIZIONE SUL SUPPORTO: un supporto che possa presentarsi sempre e comunque
in un unico modo non pu portare alcuna informazione.
Il supporto fisico deve consentire di distinguere tra le varie configurazioni attraverso
determinate differenze.
Il caso pi semplice quello in cui le configurazioni del supporto sono due. Questo vuol dire

7
che un supporto porta informazione se riesco a distinguere tra una cosa e l'altra. La
comunicazione digitale binaria perch la pi semplice.

A ogni configurazione del supporto deve essere associata una entit di informazione. A
esempio: interruttore premuto = luce accesa - interruttore rilasciato = luce spenta. Per
interpretare le differenti configurazioni del supporto in termini di informazione necessario
conoscere il codice, ovvero la regola che ad ogni configurazione (ammessa) del supporto
associa una entit di informazione.

La definizione di un codice comporta che sia identificato in modo non ambiguo linsieme delle
possibili configurazioni del supporto e delle possibili entit di informazione cui ci si vuole
riferire. Ad uno stesso supporto fisico possono essere associati pi codici.

SECONDA CONDIZIONE SUL SUPPORTO: Deve


essere condivisa una regola per attribuire un
significato a ciascuna configurazione.
Attraverso un codice posso dare n entit di
informazioni, a partire da una determinata
configurazione di dati (esempio data:
23/09/2016).

CODICE BINARIO: numeri ideali che rappresentano la quantit. Il BIT il formato pi semplice.
Possiamo immaginare il bit come un interruttore che ha due configurazioni: 0 e 1. Pi
propriamente, definire un codice binario significa associare ad ogni configurazione di bit una
certa entit di informazione. Anche se tipicamente le entit di informazione associate sono
numeri decimali, possibile associare qualsiasi insieme di oggetti allinsieme di configurazioni.
Si possono definire codifiche costituite da un numero n arbitrario di bit. Di conseguenza, Dato
una parola di n bit, il numero delle possibili configurazioni 2n. Ad esempio, nella codifica a 3
bit vi sono 23 = 8 configurazioni. Il codice binario detto posizionale, in quanto ogni bit assume
valore pi o meno significativo a seconda della sua posizione. Tipicamente, pi i bit sono
posizionati verso sinistra, maggiore il loro valore.
La traduzione da binario a decimale si effettua moltiplicando il valore 2p per ogni bit (dove p
la posizione del bit allinterno della codifica, partendo da destra) e sommando tutti i valori
ottenuti.

NOTAZIONE IN BASE 10: Esempio: il numero 12947 : 7*100 + 4*101 +9*102 + 2*103 + 1*104.
Tutte le combinazioni a due cifre decimali che posso ottenere sono 100 102.

8
DA BINARIO A DECIMALE DA DECIMALE A BINARIO

Posso rappresentare anche numeri razionali, reali, ecc. Dato un numero di qualsiasi tipo posso
darne una rappresentazione binaria a partire da una codifica standard, utilizzando come base
2.

CODICE ASCII A 7 BIT:


Configurazione a 7 bit. 27 = 128
caratteri hanno questa codifica.
Esempio: A 100 0001
corrisponde al numero 65.
Esempio: tilde 111 1110
corrisponde al numero 126
digito il comando alt+126 (~).

SET DI CARATTERI ISO-LATIN-1:


unica estensione standard di ASCII. Viene utilizzato 1 byte 8 bit 28 = 256 caratteri
rappresentati. Risulta sufficiente per lingue europee occidentali (italiano, francese, ecc.).

UNICODE (ISO-10646): Standard internazionale che si prefigge di rappresentare qualsiasi tipo


di carattere appartenente ai sistemi grafici esistenti. il sistema di scrittura di tutte le lingue
europee, asiatiche, africane, ecc., sia antiche che moderne. Si basa sui fonemi (p.es. italiano),
sulle sillabe (p.es. Thai), su ideogrammi (p.es. Cinese), geroglifici, braille, ecc. permette inoltre
di rappresentare sistemi di simboli tecnici e scientifici (p.es. matematica, logica), oltre che la
punteggiatura e i segni diacritici (p.es. accenti). Risolve i problemi di incompatibilit dei sistemi
ISO-Latin-1, perch estende linsieme dei caratteri supportati e permette la realizzazione di
documenti multilingue.

9
Gli elaboratori elettronici hanno natura discreta, ovvero ogni grandezza in gioco pu essere
rappresentata soltanto da un numero finito di elementi. Per essere elaborati da un calcolatore,
segnali intrinsecamente continui quali suoni, immagini, video ecc., devono essere discretizzati
(digitalizzati) attraverso operazioni di campionamento e quantizzazione.

CAMPIONAMENTO: Il segnale continuo viene campionato ad intervalli di tempo regolari t (t =


intervallo di campionamento). Il segnale risultante un insieme finito di punti equidistanti nel
tempo. Tuttavia le ampiezze devono essere ancora approssimate ad intervalli discreti, ovvero
quantizzate. Il campionamento e la quantizzazione comportano una perdita di informazione.

Considero l'onda sonora solo in


determinati intervalli, ignorando gli
infiniti istanti da un intervallo all'altro,
perch non posso memorizzare
infinite informazioni. Una volta
campionato, ho un insieme finito di
valori, che sono valori in un asse che
mi permette di rappresentare infiniti valori diversi (infinite sfumature di voce, con, come detto
prima, una perdita di informazione, e quindi qualit).

QUANTIZZAZIONE: suddivide lampiezza in n intervalli uguali che vengono poi codificati in


binario. Ogni valore di ampiezza del segnale campionato viene approssimato al pi vicino
valore discreto di ampiezza. Pi valori (e quindi pi bit) si utilizzano per suddividere le
ampiezze, pi il segnale risultante sar preciso.

COMPRESSIONE: Tecnica utilizzata in ambito informatico, per ridurre le dimensioni di un file e


quindi lo spazio necessario per la sua memorizzazione. Il primo esempio di compressione dei
dati con tecniche probabilistiche risale alla prima met dell800 con Samuel Morse, in
Inghilterra. Si tratta di ridurre la quantit di bit necessari alla rappresentazione digitale di
uninformazione, eliminando la parte ridondante (=sovrabbondante, non necessaria ai fini della
comprensione) senza precludere la comprensibilit del messaggio.

COMPRESSIONE DATI LOSSY: comprime i dati attraverso un processo con perdita


dinformazione che sfrutta le ridondanze nellutilizzo dei dati
o Grandi risparmi di risorse
o Molto utilizzata nella compressione audio-video: taglio frequenze che l'uomo non
riesce a percepire in una determinata informazione.

10
COMPRESSIONE DATI LOSSLESS: comprime i dati attraverso un processo senza perdita
dinformazioni che sfrutta le ridondanze nella codifica del dato
o Preservano le informazioni
o .zip il formato pi conosciuto
Esempio: CODIFICA
RUN-LENGHT (RLE:
Run Lenght
Ecoding). Si
sostituiscono le
sequenze di bit con
un codice che
indica il valore
ripetuto e quante
volte si ripete nella
sequenza.
Funziona bene quando i dati da comprimere sono scomponibili in lunghe sequenze di
valori identici ripetuti. un codice a lunghezza fissa.

Cosa succede quando i bit dedicati alla cardinalit non sono sufficienti per coprire il numero
delle ripetizioni di un dato simbolo? Cosa succede se i blocchi di valori ripetuti sono
estremamente brevi? MRLE??

CODIFICA DIPENDENTE DALLA FREQUENZA: mi serve per comprimere testi. La


lunghezza della configurazione di bit usata per rappresentare un elemento
inversamente proporzionale alla frequenza di utilizzo dellelemento stesso. un codice
a lunghezza variabile (gli elementi sono rappresentati da configurazioni di lunghezze
diverse). Un noto algoritmo per generare questi codici stato scoperto da David
Huffman. Molti codici dipendenti dalla frequenza oggi usati sono codici di Huffman.

11
3. RETI DI CALCOLATORI
RETE: un insieme di calcolatori e dispositivi collegati fra loro in modo tale da permettere lo
scambio di dati, la condivisione di risorse (hardware e software). Ho la possibilit di
trasmettere sequenze di 0 e 1 da un dispositivo all'altro e condividere risorse (oltre ai dati,
condivido servizi, operazioni che permettono di elaborare informazioni).

Nel corso degli anni vi fu unevoluzione delle reti di calcolatori. Negi anni 70 era possibile
connettere terminali ad una macchina potente: si tratta di unarchitettura con macchine con
poca potenza di calcolo, che editano e che si collegano alla macchina di riferimento. La
potenza di calcolo va al mainframe. Negli anni 80, invece, esplode l'informatica d'ufficio. Si ha
un modello di rete che permette lo scambio di dati tra macchine che elaborano localmente
informazioni. Si arriva alla fusione tra quella che la capacit elaborativa di una macchina e la
dimensione della comunicazione.

RETI PER LE AZIENDE: Molte organizzazioni impiegano un notevole numero di elaboratori. Ad


esempio per la gestione del magazzino, il controllo della produzione, il pagamento degli
stipendi. Collegati insieme questi elaboratori permettono di estrarre e correlare le informazioni
riguardanti lintera azienda. Queste reti hanno una valenza interna che valenza esterna (riferita
al mondo extra aziendale).

RETI PER LE PERSONE: fornitura di servizi agli individui come laccesso alle informazioni (www,
e-commerce), comunicazione uomo a uomo (e-mail, VoIP, ) e intrattenimento interattivo
(giochi in rete). A noi interessa il servizio, non lo scambio di dati in s. Vi una evoluzione nel
modo di interpretare la dimensione tecnologica. Pensiamo al vantaggio della videoscrittura
condivisa, perch mi permette di non acquistare una licenza di videoscrittura, aggiornarla, ecc.

Per ottenere tutto questo non basta pi un singolo elaboratore e il suo sistema operativo ma
bisogna introdurre una rete di elaboratori. I servizi sono: scambio di corrispondenze,
trasferimento file, condivisione risorse e WWW. Un conto la rete, un conto il web.
Quest'ultimo un servizio che si appoggia sulla rete.

COMPONENTI FONDAMENTALI DI UNA RETE:

NODO: un nodo un qualsiasi dispositivo hardware del sistema in grado di comunicare


con gli altri dispositivi che fanno parte della rete.
ARCO: i nodi sono collegati mediante archi formano i canali di comunicazione, ad es.
cavi telefonici, fibre ottiche, collegamenti radio, ...

12
BANDA: viene misurata in bit al secondo (kilobit Kb, megabit Mb).
HUB: dispositivo di connessione che semplifica il collegamento fisico tra i nodi e
instrada i segnali.

Il tipo di collegamento determina la capacit di trasmissione. A determinare la portata di una


rete la portata del mezzo pi debole.
TRANSMISSION DELAY: Quanto ci mette? Dipende da quanto grande l'informazione e la
velocit del sistema di trasmissione digitale. Il segnale per propagarsi ( un segnale elettrico,
che va alla velocit della luce) ci mette la distanza sulla velocit della luce. La formula mi d il

ritardo nella comunicazione. + = + L: numero di bit del messaggio

R: bps velocit del sistema di trasmissione digitale

L/R: tempo necessario per trasmettere linformazione

tprop: tempo necessario al segnale per propagarsi

d: distance in meters

c: speed of light (3x108 m/s)

Per diminuire L: usa tecniche di compressione di dati


Per aumentare R: usa modem ad alta velocit
Per ridurre d: avvicina il ricevitore

COMUNICAZIONE NELLE RETI: luso fondamentale di una rete quello di consentire la


comunicazione tra i nodi. I nodi si scambiano messaggi codificati in forma digitale. Ogni
messaggio caratterizzato da un mittente, un destinatario e un insieme di informazioni che
costituiscono il corpo del messaggio.

PARAMETRI DI CLASSIFICAZIONE DELLE RETI:

Collegamenti fisici: una rete un insieme dispositivi hardware che scambiano info e
servizi
Livello di distribuzione
Modalit di connessione
Protocolli

MEZZI TRASMISSIVI:

13
GUIDATI: quando il canale di comunicazione di tipo fisico. Tipici cavi distinti a seconda
dei costi, della velocit richiesta e della distanza da coprire, possono essere:
o doppino telefonico: formato da fili di rame intrecciati (collegamento pi diffuso).
o cavo coassiale: composto da un nucleo di rame ricoperto da isolante e da una
calza metallica alta velocit di trasmissione (Mb/s).
fibra ottica: composto da un nucleo di materiale trasparente in cui la trasmissione
avviene mediante impulsi luminosi + alta velocit di trasmissione (Gb/s) e riduzione
di errori.
NON GUIDATI: quando il segnale viene irradiato nello spazio mediante onde radio,
cellulare oppure via satellite.

HARDWARE DI RETE: Per poter collegare pi computer tra loro, serve anzitutto una scheda di
rete che viene installata all'interno del computer. Tale scheda funziona da vero e proprio
ricetrasmettitore:

in trasmissione trasforma le sequenze binarie di zeri ed uno, in segnali elettrici che


vengono inviati lungo la rete;
in ricezione trasforma i segnali elettrici della rete in sequenze binarie intelligibili per il
computer.

Oltre alla scheda di rete, poi presente il cavo di connessione. La scheda di rete ed il cavo di
connessione costituiscono l'hardware di rete.

MODEM: consente la trasmissione su linee telefoniche. Il segnale digitale convertito in


analogico (e viceversa).

Ho un dispositivo, che si collega a un modem


locale, collegato a un Internet Service
Provider (che un nodo della rete), collegato
a una rete, collegato a un altro nodo della
rete. Mi viene assegnato un indirizzo
dinamico che mi permette di essere
riconosciuto come nodo della rete (ma in
modo virtuale).

LIVELLO DI DISTRIBUZIONE:

14
TRADIZIONALI
o LAN: Local Area Network (1km): area limitata wireless: WLAN. I computer
condividono dati e informazioni, ma anche stampanti.
o MAN: Metropolitan Area Network (100km). Esempio: Venezia
o WAN: Wide Area Network (1000km)
PIU RECENTI
o GAN: Global Area Network (10000km)
o PAN: Personal Area Network: scambia informazioni tra diversi dispositivi
personali. Esempio: reti con tecnologia bluetooth.
o HAN: Home Area Network (10mt)

1. TOPOLOGIA DI UNA LAN: A STELLA

Tutte le workstations sono connesse ad un hub centrale


Gli hubs amplificano linformazione
Facile da modificare
Costoso (cablaggio)
Il fallimento dellhub provoca il fallimento dellintera rete

Caratteristiche: se devo aggiungere una macchina in una


struttura di questo tipo, quanto mi costa? Devo mettere la macchina, il cavo che collega al
nodo centrale. Devo notificare le altre macchine che c' una macchina in pi? No! Disparit tra
diversi nodi, se si rompe il nodo centrale della stella, le altre macchine non possono
comunicare tra di loro e all'esterno.

2. TOPOLOGIA DI UNA LAN: AD ANELLO

I messaggi si muovono in una direzione nellanello


Copre distanze lunghe
Minimizza il cablaggio
Il fallimento di un nodo pu causare il fallimento
(parziale) della rete
Difficile da modificare

Vantaggi: riesco a ottimizzare il flusso di info, perch non impatto sugli altri dispositivi.
Comunicazione a 2 a 2 (vedi immagine). A stella la comunicazione viene appesantita.

15
Svantaggi: se fallisce una macchina, cosa succede? Dipende da come strutturata la
comunicazione (fallimento parziale della rete).

3. TOPOLOGIA DI UNA LAN: BUS

Semplice da estendere
Cablaggio pi semplice
Tutti I nodi possono ricevere lo stesso messaggio allo stesso tempo
Difficile da diagnosticare il fallimento di un componente

Vantaggio: aggiungere o togliere una macchina ha come impatto la macchina stessa, non ha
impatto sulla comunicazione di rete.
Svantaggio: come viene gestita la comunicazione Se un dispositivo deve mandare un
messaggio a un altro, un problema, perch non un modello lineare, ma broadcast.

Qual la modalit pi efficiente a livello di comunicazione? A stella.


Il modello broadcast (poco efficiente in comunicazione), ma efficiente nella gestione agile
della dinamica della rete. Diventa efficiente se il canale di comunicazione centrale molto
efficiente.

TIPOLOGIE DI RETE: MESH

Dispositivi parzialmente connessi tra di loro


o Full mesh
o Partial mesh
Distanza limitata tra nodi
Rende possibili diversi instradamenti dei
messaggi
Lavora bene quando c traffico di dati
Usato nelle WAN
il modello di internet, inteso come rete di reti. I nodi della rete restano parzialmente
connessi tra loro.

INTRANET: rete protetta da password interna allazienda. Accesso riservato ai dipendenti


dellazienda. All'interno dell'azienda, io realizzo una rete interna, dove i nodi della rete
comunicano tra di loro e possono essere pi o meno aperti rispetto a internet. Posso stampare
in rete locale, senza internet.

16
VPN: Su internet posso costruire una rete privata: VPN. Collegamento di rete virtuale privato,
creando un canale di comunicazione esterno, ma come se fossimo nell'area intranet. Mi
appoggio sulla rete pubblica per creare una rete provata e lavorare come se fosse una rete
isolata. Usa connessioni sicure, che garantiscono (mediante cifratura) la riservatezza della
comunicazione.

Come in una rete posso realizzare la trasmissione da mittente a destinatario? Ho 2 modalit di


connessione che mi permettono di passare da un nodo allaltro della rete.

COMMUTAZIONE DI CIRCUITO: pre-allocazione delle risorse end-to-end per chiamata.


Esempio: chiamata telefonica
o Risorse dedicate, nessuna condivisione
o Prestazioni garantite per ogni
connessione
o Ogni chiamata richiede una fase si
instaurazione
o Le risorse di rete non sono condivise
Divisione della banda in pezzi
Divisione di frequenza
Divisione di tempo
La risorsa non utilizzata della
chiamata a cui allocata sprecata
Fin tanto che il nodo A e il nodo B sono collegati, il canale trasmissivo, che dedicato a
questa comunicazione e qual canale trasmissivo e quel canale esclusivamente
dedicato a quella comunicazione.
COMMUTAZIONE DI PACCHETTO:
o Ogni messaggio diviso in pacchetti
o I pacchetti di pi utenti
condividono le risorse
o Ogni pacchetto usa tutta
la sua banda
o Le risorse sono usate
quando servono
o CONTESA PER LE RISORSE

17
Congestione: possibilit di eccedere la capacit i pacchetti sono in
coda
Store and forward (memorizza e inoltra): i pacchetti si muovono un salto
alla volta trasmissione in ordine di arrivo.
Comunicazione da tagliare in pacchetti sequenziali, in cui ognuno di questi
pacchetti sa dove deve andare, in che numero sequenziale rispetto alla
comunicazione. Il canale trasmissivo un canale aperto dove pi utenti possono
inserire la comunicazione tramite i pacchetti, ognuno sapendo dove a che
destinatario arrivare. Serve impacchettamento iniziale e ricostruzione finale del
messaggio. Internet usa la commutazione di pacchetto come paradigma. Sulla
rete internet io posso pi servizi.
Skype professionale: mix tra i 2 pago un canale di comunicazione per non
rallentare la comunicazione (la voglio di alto livello).

ARCHITETTURA: le reti di calcolatori possono avere diverse architetture:

CLIENT-SERVER: i nodi della rete possono chiedere risorse o fornire risorse. Chiedere
risorse vuol dire che il nodo client deve sapere qual l'indirizzo del nodo server per
chiedere il servizio desiderato. La comunicazione sar del tipo "tu dammi quella
risorsa". Il Client chiede risorse, mentre il Server fornisce risorse, non sa a priori chi
accede a questi servizi, ma pu fare quello che vuole dell'informazione che deriva da
chi gli chiede il determinato servizio.
P2P (PEER-TO-PEER): i servizi sono realizzati in modo tale che gli attori giocano
entrambi i ruoli (server-client). Esempio: Torrent: agisco da client quando chiedo il CD, e
me lo danno a pezzi altri utenti e io faccio da server per chi chiede un altro CD. Alcuni
programmi e alcune aree memoria possono essere accessibili dall'esterno.

SERVER: un computer sul quale installato il software per la condivisione delle risorse
disponibili con gli altri computer detti client

CLIENT: un computer utente che funge da postazione di lavoro e utilizza le risorse messe a
disposizione dal server.

Per le reti di piccole dimensioni, ciascun utente pu svolgere anche contemporaneamente la


funzione di server e di client mettendo a disposizione di altri risorse e/o utilizzando risorse
messe a disposizione da altri, senza necessariamente predefinire i ruoli di server e di client. In
caso di architetture pi complesse la funzione di server generalmente assunta da un PC

18
particolarmente potente nel quale vengono memorizzati archivi, programmi, ecc. condivisi dagli
utenti della rete; in questo caso si parla di server dedicato.

4. PROTOCOLLI DI RETE
Abbiamo detto che possiamo avere a che fare con due modalit di connessione:

Commutazione di circuito: per comunicare tra un nodo e l'altro ho un canale dedicato


(decido dove instradare il segnale)
Commutazione di pacchetto: sugli stessi canali viaggiano diverse informazioni.
Linformazione spacchettata, ognuno di questi pacchetti viaggia nella rete, vuole
arrivare a destinazione, ma pu seguire strade diverse, perch a seconda delle code di
messaggi che il nodo deve smaltire, decide dove mandare l'informazione.

UNIONE DI RETI: Internet una rete di reti. Ci sono alcuni dispositivi che mi permettono di
estendere una rete di uno stesso tipo.

RIPETITORI: passano i messaggi avanti e indietro. Mantiene la


qualit del segnale.
PONTI (BRIDGE): collegano due bus ma inoltrano solo i
messaggi destinati allaltra estremit. Riferimento al modello
bus (ovviamente)
SWITCH: ponti con pi connessioni. Invece di
collegare due reti dello stesso tipo, ne collego di pi.
ROUTER: dispositivo che si occupa di instradare
messaggi da una rete ad una rete di un altro tipo (da
una rete a stella a una rete a bus).

PROTOCOLLI: insieme di regole concordate atte a stabilire una modalit con cui sono
scambiate le informazioni permette di far parlare le macchine tra loro: difficile a causa
dellenorme struttura hardware e software. Ci sono reti di molti tipi che utilizzano hardware e
19
software diversi (esempio: cavo telefonico (modem), reti ethernet (scheda direte), infrarossi
(IR), onde radio).
Perch la comunicazione possa avvenire correttamente ci deve essere un accordo sulle regole
da seguire durante lo scambio (protocollo di comunicazione).
Un protocollo definisce un insieme di regole che il nodo mittente e il nodo destinatario devono
seguire per interagire tra loro. Luso di protocolli standard fondamentale per la
comunicazione in rete.
Si definisce uno standard quando conviene (se benefici > costi). I protocolli non sono stati
studiati a tavolino per essere quelli perfetti. Sono la sedimentazione di un processo di
aggiustamento che viene dal basso i rischi della rete dipendono proprio da questa
debolezza. In generale, fornisce funzionalit per:

Indirizzamento (addressing): devo sapere quali sono le regole per far s che il messaggio
arrivi l dove voglio che arrivi. Devo esprimere in modo univoco qual l'indirizzo del
destinatario.
Instradamento (routing) permette al messaggio di passare da reti intermedie; dice ai
nodi che il messaggio non per loro. Il nodo verifica l'indirizzo del messaggio: se quel
nodo non il destinatario, rimbalza il messaggio a un nodo pi vicino. Nel fare questo
consulta parzialmente l'informazione sull'indirizzo.
Gestione di eventuali errori di trasmissione (error detection, error recovery): internet usa
la commutazione di pacchetto. Non posso permettermi che una parte del messaggio si
blocchi in un nodo. Devo gestire questi errori.
Gestione della velocit di comunicazione (flow control): esempio: priorit ai messaggi
vocali piuttosto che lo streaming di un file.

PROTOCOLLO TOKEN RING:

un protocollo sviluppato per reti ad anello


Tutti i computer trasmettono messaggi in una sola
direzione
Quando un msg raggiunge il destinatario, questo tiene
una copia e manda il msg avanti
Quando il mittente riceve il msg che aveva inviato sa
che stato ricevuto, perch il messaggio ha percorso tutto lanello ed tornato indietro.

20
Per garantire che tutti possano mandare propri msg si usa una sequenza di bit (token)
che viene passata come un messaggio
Solo chi possiede il token pu inviare messaggi chi vuole inviare deve aspettare di
ricevere il token e trattenerlo

PROTOCOLLO CSMA/CD: CSMA/CD (carries sense, multiple access with collision detection)
un protocollo per reti lineari (a bus)

Ogni nodo prima inviare un msg aspetta che il bus sia libero (carrier sense)
Ogni computer riceve tutti i msg ma trattiene solo quelli indirizzati a se stesso
Poich non si pu assumere che un altro nodo non inizi simultaneamente la
trasmissione (multiple access), il nodo che invia deve restare in ascolto di eventuali
altre trasmissioni che si sovrappongono (collision detection)
In caso di collisione, i due nodi devono riprovare a inviare i loro messaggi
LIMITE: io non so se il nodo recepisce il messaggio nel bus, allora deve mandare un
messaggio di ritorno.

COMPONENTI DI UN SISTEMA DI COMUNICAZIONE:

MITTENTE E DESTINATARIO: condividono qualcosa


MEZZO TRASMISSIVO: trasferisce il messaggio
PROTOCOLLI: danno le regole per la comunicazione

Le condizioni per la comunicazione sono la DIGITALIZZAZIONE (convertire linformazione in


codice binario) e capire qual la LARGHEZZA DI BANDA (capacit di trasmissione).

SISTEMA DI COMUNICAZIONE: Il segnale


trasmesso su un canale fisico. Si
introduce sempre del rumore (esempio:
telefono senza fili). Devo gestire gli
errori. Nel codice fiscale aggiungo una
lettera, aggiungo una ridondanza in
modo tale da permettermi di accorgermi
se il messaggio inconsistente. Devo
farlo in maniera intelligente.

necessario che esista un canale fisico di comunicazione adatto: uninfrastruttura telematica:


cavi, antenne, centrali, satelliti, calcolatori, ecc.

21
ERRORI DI TRASMISSIONE: A causa del rumore, non sempre possibile garantire che i dati
ricevuti da un canale di trasmissione siano corretti. Si verifica un errore di trasmissione quando
il dato ricevuto in uscita dal canale diverso dal dato immesso. Lerrore si definisce singolo,
doppio, triplo ecc. in base al numero di bit errati. Esistono appositi codici di rilevazione e
correzione degli errori di trasmissione.

RILEVAZIONE DEGLI ERRORI:

Codice di parit: al dato da trasmettere si aggiunge il bit di parit, che indica se gli 1 del
dato sono pari o dispari
o Parit pari: es. a 01001110 si aggiunge 0 per ottenere 010011100
o Parit dispari: es. a 01101110 si aggiunge 1 per ottenere 010011101
In questo modo i dati ricevuti devono avere sempre un numero pari di 1, altrimenti sono
errati.
Tuttavia questo codice permette di rilevare solo gli errori singoli o dispari.

Occorre che si parli la stessa lingua: bisogna stabilire un protocollo di base comune, delle
regole per interpretare i segnali a basso livello. Occorre quindi,

Predisporre uninfrastruttura telematica, che deve gestire anche il rumore


Stabilire un protocollo di base comune: si basa sullalfabeto di base e regole di base per
lindirizzamento, instradamento e gestione.
Stabilire un protocollo applicativo comune

ARCHITETTURE DI RETE: insieme dei livelli e dei protocolli utilizzati

SNA (System Network Architecture): architettura di rete dei sistemi IBM


DECNET: la rete della Digital Equipment Corp.
TCP/IP: lo standard "de facto"OSI (Open Systems Interconnection): lo standard "de
iure" ovvero larchitettura di riferimento per i protocolli di rete

ARCHITETTURA DI RETE A LIVELLI: nelle tecnologie di rete si usano


architetture a livelli (layers) per:

Suddividere le operazioni in elementi meno complessi


Consentire la focalizzazione della ricerca e sviluppo
Non influenzare gli altri livelli con le modifiche

22
Suddividere le operazioni di messa in rete in sottoinsiemi di operazioni pi semplici

I protocolli sono stabiliti allo stesso livello, ma la comunicazione effettiva avviene dal livello pi
basso a quello pi alto, e andando avanti cos. Consente di essere indipendenti dai livelli
sottostanti. Il livello maggiore pu disinteressarsi di come stato redatto il protocollo del livello
inferiore.

LAYERS: Lo scopo di ogni livello fornire servizi al livello immediatamente superiore,


nascondendo i dettagli su come tali servizi sono implementati. Il livello n su un host dialoga
con il livello n di un altro host (solo logicamente!).
Regole e convenzioni della comunicazione livello n sono indicate col termine protocollo di
livello n. Le entit logiche che portano avanti la conversazione a livello n sono dette peer entity
(entit di pari livello). Ciascuna peer entity di livello n porta avanti il dialogo utilizzando i servizi
offerti dal livello n.
Ogni livello deve fornire servizi al livello superiore e ogni livello deve essere cliente del livello
inferiore, e viceversa.

INTERFACCE: fra ogni coppia di livelli adiacenti, c uninterfaccia. Linterfaccia definisce i


servizi offerti dal livello sottostante e le operazioni primitive che possono essere richieste al
livello sottostante.
Esempio:

il livello n-1 fornisce servizi al livello n (service provider)


il livello n usa i servizi del livello n-1 (service user)
I servizi offerti sono accessibili attraverso il Service Access Point
ogni SAP ha un indirizzo che lo identifica univocamente

SERVIZIO: insieme di operazioni primitive che un livello offre al livello superiore. Come tali
operazioni siano implementate non riguarda il livello superiore.

PROTOCOLLO: insieme di
regole che governano il
formato ed il significato delle
informazioni che le peer entity
si scambiano tra loro. Le entit
usano i protocolli per
imprentare i propri servizi.

23
GERARCHIE: A livello pi alto abbiamo i servizi che usiamo (esempio: Mail). Mi aspetto, come
accedo ai servizi, che si abbiano delle regole comuni. A livello pi basso ho una codifica binaria
che attraverso il mezzo fisico mi permetta di interfacciarmi con un altro nodo.

LIVELLI, PROTOCOLLI, INTERFACCE: Anche se definito un protocollo di livello N, nessun dato


trasferito direttamente da un livello N all'altro di livello N. Ogni livello passa dati e informazioni
di controllo al livello sottostante, sino a quando si raggiunge il livello fisico che effettua la
trasmissione. L'interfaccia definisce quali operazioni primitive e servizi sono forniti da un livello
ai livelli superiore. L'insieme dei livelli e dei protocolli utilizzati definisce una architettura di
rete. Due host possono dialogare anche se utilizzano diverse piattaforme hardware e diversi
sistemi operativi, purch adottino la stessa architettura di rete Linsieme dei protocolli di una
architettura utilizzati su un certo host viene detto pila di protocolli (protocol stack).

MODELLO DI RIFERIMENTO OSI: Open Systems Interconnection (OSI) uno standard su cui si
basano i protocolli prodotto dalla International Standard Organization.

Standard de iure per la connessione dei sistemi aperti


Modello comune per confrontare le diverse architetture di rete
Non definisce protocolli specifici! Non una architettura di rete
Attenzione! Un modello di riferimento non unarchitettura di rete:
o Modello di riferimento definisce solo numero, relazioni e caratteristiche
funzionali dei livelli, non definisce i protocolli effettivi
o Larchitettura di rete definisce, livello per livello, i protocolli effettivi.

FELICE CORREVA ROTOLANDO TRA


SPINOSE PIANTE di ACACIA (dal basso
verso lalto).

24
5. PROTOCOLLO TCP/IP
LIVELLI DEL MODELLO OSI:

FISICO: converte i bit in segnali e i segnali in bit


COMUNICAZIONE: tra strato della rete e strato fisico. Impacchetta dati grezzi in frame da
consegnare alla rete
RETE: gestisce i messaggi in viaggio e traduce indirizzi e nomi tra logici e fisici
TRASPORTO: gestisce la trasmissione dati attraverso la rete
SESSIONE: consente a due parti di tenere comunicazioni continuative
PRESENTAZIONE: converte i dati in un formato generico per la trasmissione in rete e
viceversa
APPLICAZIONE: fornisce una serie di interfacce utilizzabili dalle applicazioni e quindi
consente laccesso ai servizi di rete.

INCAPSULAMENTO: Mentre le informazioni discendono attraverso i livelli cambiano il proprio


formato su ciascun livello: incapsulamento. Quando i dati risalgono, ciascuna intestazione
determina in che modo spostare i dati per i vari livelli. A ciascun livello si staccano le
intestazioni dei livelli
precedenti in modo di
avere lo stesso formato
del livello analogo alla
parte trasmissione.
Cosa avviene fisicamente
nel passaggio da un livello
a un altro? Una volta
partizionato il segmento di
bit, a ogni livello a cui
scendo, come se quel
pacchetto di bit fosse inserito in una busta, poi inserita in una busta ancora pi grande, ecc.
Ad ogni passaggio dal livello applicativo a livello fisico, questo messaggio viene preceduto da
una intestazione. Questa, quando il messaggio arriva al destinatario, viene man mano rimosso.
I nodi intermedi non vanno a togliere tutte le buste, ma tolgono quelle pi esterne fino a
riconoscere che non il nodo destinatario; allora si rimpacchetta e viene mandato a un altro
nodo. Modalit molto chiara di interpretazione del messaggio.

25
Sistema fisico di
comunicazione:
massima
eterogeneit.

A dare le regole ce il
protocollo TCP/IP

Su questo protocollo
di base comune
(caratterizza internet),
si appoggiano i
protocolli che stanno
dietro il web (http),
SMTP (send mail
transfert protocol), FTP (trasferimento file). Ho bisogno di protocolli diversi, perch ho regole
diverse. Sono legati a dei servizi.

I servizi sono: web, posta elettronica, ecc. con regole comuni per servizio.

INTERNET: una macchina in Internet se utilizza il protocollo TCP/IP, se ha un suo indirizzo IP


(Internet Protocol) e se ha la capacit di spedire pacchetti IP a tutte le altre macchine su
Internet. Ci sono diversi protocolli Internet:

TCP/IP dice che a livello di


comunicazione mentre a livello
fisico, si arrangiano i dispositivi
stessi.

Il protocollo IP realizza il livello


network

TCP realizza il livello di


trasporto UDP (mi serve per
altri tipi di servizi).

Il protocollo TCP/IP una combinazione di due protocolli:

IP: Internet Protocol

26
TCP: Transmission Control Protocol

Nasconde i dettagli delle reti fisiche sottostanti. Inoltre, definisce il formato degli indirizzi, le
modalit di organizzazione dei messaggi e le modalit di trasmissione dei messaggi.

PROTOCOLLO TCP/IP: Il protocollo TCP/IP un protocollo basato sul paradigma Client-Server


del tipo Peer-to-Peer: un sistema che implementa il protocollo TCP/IP pu funzionare da Client
e da Server indifferentemente e cambiare addirittura identit in fase di elaborazione. Il
protocollo TCP/IP un protocollo full duplex (mittente e ricevente possono trasmettere
entrambi nello stesso momento) a commutazione di pacchetto. Non esiste unautorit
centralizzata nella rete, ma un qualunque nodo logicamente collegato ad un qualunque altro
nodo e ciascun nodo pu creare, elaborare e trasmettere informazioni. Tutti i nodi si trovano
quindi allo stesso livello gerarchico (FULL DUPLEX).

NETWORK LAYER IP: Una entit di livello Network presente su tutti i dispositivi ad Internet.
Trasmissione di tipo a commutazione di pacchetto.

PROTOCOLLO IP: protocollo per la consegna dei pacchetti da un host mittente ad un host
destinatario. Caratteristiche:

Privo di connessione: ogni pacchetto trattato in modo indipendente da tutti gli altri.
Organizzare i vari pacchetti spetta al protocollo superiore (in questo caso TCP).
Non affidabile: la consegna non garantita (i pacchetti possono essere persi, duplicati,
ritardati, o consegnati senza lordine di invio)
Consegna con impegno: tentativo di consegnare ogni pacchetto (linaffidabilit derivi
dalle possibili congestioni della rete o guasti dei nodi/router).

Ogni computer collegato ad Internet possiede un indirizzo univoco detto indirizzo IP (32 bit). I
32 bit di un indirizzo IP sono suddivisi in 4 campi da 8 bit ciascuno.
Per esempio: 10000000000101000011111010101011

Si usa una rappresentazione formata da 4 numeri decimali (da 0 a 254) separati da un punto
Per esempio: 128.10.2.30. Significato: analogo alla posta normale (stato, citt, via, civico) -->
possiamo vederla alla stessa maniera. Da sinistra a destra. Chi assegna gli indirizzi IP? Da
casa mi viene assegnato un IP dinamico.

Gli indirizzi IP devono essere univoci. Per questo motivo stata istituita una organizzazione,
Internet Assigned Number Authority, preposta ad assegnare gli indirizzi IP garantendone
lunivocit.
27
IP fornisce anche linstradamento (routing) dei pacchetti tra mittente e destinatario.

PROTOCOLLO DI ROUTING:

Scopo: determinare un buon percorso nella rete tra sorgente e destinazione


Percorso buono: in genera significa pi corto
La topologia della rete pu cambiare (qualche router o link si pu guastare).

VERSIONI IP:

VERSIONE 4:
o La pi diffusa
o Indirizzi IP a 32 bit non pi sufficienti
VERSIONE 6 (IPv6):
Indirizzi a 128 bit
Formato di pacchetto molto semplificato e reso pi flessibile.

PACKET-SWITCHING TECHNOLOGY:

Problema: trasmissione di dati in


simultanea un canale di
comunicazione, molti utilizzatori
Soluzione: spezzettare i messaggi in pacchetti (packets). I pacchetti viaggiano
indipendentemente. Il messaggio viene ricomposto dal destinatario. Header: contiene
informazioni sul mittente e sul destinatario.

I messaggi sono organizzati in pacchetti. Il pacchetto formato da: INTESTAZIONE (indirizzo del
calcolatore destinatario e numero progressivo del pacchetto) e MESSAGGIO.

IP DATAGRAM:

Quale versione di IP stai usando?


IPv4 o IPv6?
Quanti byte composta la busta?
Tipo di servizio: HTTP, SMTP, in
modo tale da consegnare i
messaggi pi urgenti
Lunghezza totale del pacchetto

28
Identificazione univoca del pacchetto: in modo tale da capire se il messaggio arrivato
a destinazione o ni
Protocollo di livello superiore
Header checksum: come l'ultima cifra del codice fiscale
IP della sorgente
IP del destinatario

La trasmissione dei messaggi ha questa sequenza: invio ricezione e controllo indirizzo


(reinvio) ricezione e controllo (ricostruzione)

TRANSPORT LAYER: voglio che il protocollo di trasporto sia affidabili (come come IP) uso
TCP. Usa come server il protocollo IP e a sua volta server dei protocolli applicativi (HTTP,
SMTP).

PROTOCOLLO TCP: protocollo che fornisce un livello di trasporto dellinformazione affidabile.


Caratteristiche:

Orientato al flusso dei dati: considera il flusso di dati dallhost mittente fino al
destinatario
Orientato alla connessione: comprende linstaurazione, lutilizzo e la chiusura della
connessione
Trasferimento con buffer: converte i dati provenienti dal livello superiore in pacchetti: i
dati sono memorizzabili in un buffer e poi inseriti in un pacchetto quando il buffer
pieno
Connessione full duplex (bidirezionale): possibile il trasferimento contemporaneo in
entrambe le direzioni della connessione.

Affidabilit del collegamento: il TCP garantisce la completa correttezza nella consegna dei dati,
finch esiste connettivit a livello di rete, tramite:

numerazione sequenziale dei dati


conferma esplicita della ricezione di ogni blocco di byte da parte del ricevitore
(acknowledgment)
ritrasmissione dei dati di cui non viene confermata la ricezione

Controllo di flusso: prevede un meccanismo a finestra che permette al ricevitore di regolare il


flusso dei dati inviati dal trasmettitore

29
Controllo dellerrore: per il riconoscimento degli errori di trasmissione viene effettuato un
controllo mediante checksum a 16 bit su tutto il contenuto informativo.

SEGMENTO TCP:

Porta di sorgente
Porta di destinazione: creo
connessione tra i 2
Altre info aggiunte utili per
gestire 'affidabilit della
trasmissione
dell'informazione stessa
Linee di 4 byte anteposte al
messaggio

UDP USER DATAGRAM PROTOCOL: protocollo di trasporto non affidabile di tipo


connectionless:

Concepito per tutte quelle


applicazioni per cui una
completa gestione delle
connessioni non necessaria
Usato da quelle applicazioni
che trasmettono pacchetti singoli, senza necessit di acknowledgement, o richieste
brevi
Fa uso di datagrammi con unintestazione di 8 byte.

Quando lo uso? Quando non mi interessa che il messaggio sia affidabile, uso un protocollo che
riduce le dimensioni. Applicazioni che usano questo protocollo: meglio velocizzare piuttosto
che garantire l'arrivo di tutti i messaggi (esempio VOIP, DNS).

IDENTIFICATORI DI INTERNET:

Indirizzi IP (32/64 bit): utilizzato per indirizzare ed instradare i pacchetti nella rete
HOSTNAME: stringa alfanumerica nome logico utilizzato dalle persone.

DNS: primo servizio consultato in una qualunque sessione di lavoro su Internet. Qualunque
comunicazione di rete, in genere, inizia con una richiesta di traduzione dellindirizzo che
abbiamo specificato ad un calcolatore vicino a noi sulla rete (server DNS) il quale fornisce tale
30
servizio.
Il server DNS agisce su base dominio: esso consulta un file in cui sono riportate le coppie
nome-numero dei calcolatori dello stesso dominio. Inoltre, il server possiede gli indirizzi di
riferimento di altri server DNS, responsabili di domini pi grandi, a cui girare la richiesta ne
caso in cui la coppia cercata non sia nella sua tabella locale. trasforma indirizzi logici in indirizzi
fisici. Devo avere corrispondenza tra nome logico e fisico. Mi rende il servizio web indipendente
dall'attuale configurazione fisica. FORMATO: calcolatore.dominio

SISTEMA DNS: nessun name server ha tutte le corrispondenze tra Hostname e Indirizzo IP.
Esistono:

Name server locali: ogni IPS e organizzazione gestisce uno o pi name server locali, che
vengono invocati per primi dagli host dellorganizzazione stessa
Name server autoritativi: relativamente ad un host, sono i name server che hanno la
corrispondenza (hostname) (indirizzo IP) pi aggiornata e corretta
Name server radice (root name server): contattati dai name server locali quando non
riescono a risolvere un indirizzo, contatttano i name server autoritativi per quellindirizzo
o name server intermedi (di zona).

Esempio di risoluzione: Lhost


kerala.dais.unive.it vuole conoscere
lindirizzo IP dellhost
star.dis.uniroma2.it

1) Contatta il suo DNS locale

2) Se necessario, il DNS locale contatta


il root DNS

3) Se necessario, il root DNS contatta il


DNS autoritativo per quellindirizzo (o un
DNS intermedio nel caso in cui non
conosca un DNS autoritativo per
quellindirizzo)

APPLICATION LAYER: Si colloca al di sopra del livello Transport ed il livello nel quale viene
svolto il lavoro utile per lutente. In questo livello si trovano diversi protocolli, alcuni relativi
alle applicazioni che usiamo abitualmente in Internet:

31
SMTP: Simple Mail Transfer Protocol
FTP: File Transfer Protocol
TELNET
HTTP: HyperText Transfer Protocol

CONFRONTO MODELLO OSI e TCP/IP

32
6. PROTOCOLLI APPLICATIVI: HTTP
APPLICATION LAYER: si colloca al di sopra del livello Transport ed il livello nel quale viene
svolto il lavoro utile per lutente. In questo livello si trovano diversi protocolli, alcuni relativi
alle applicazioni che usiamo abitualmente in Internet:

SMTP: Simple Mail Transfer Protocol


FTP: File Transfer Protocol
TELNET
HTTP: HyperText Transfer Protocol

Sopra ai protocolli applicativi, mi aspetto che ci siano soltanto le applicazioni.

I servizi di internet possono essere:

ASINCRONO:
o Utente-Utente: invio la mail a un utente, ma prima che arrivi a lui devo mandarla
ad un nodo internet e poi il destinatario poi la scaricher. Pu essere che il nodo
di partenza e di arrivo possono essere down.
o Utente-Macchina: quando uso HTTP devo attingere a una risorsa, per poterlo
scaricare. Dall'altra parte ho una macchina, non un utente. Nel momento in cui
faccio la richiesta, non detto che il server dove voglio scaricare la pagina sia
su.
SINCRONO:
o Utente-Utente: ftp: se viene aperto un canale di flusso di dati, devono essere
aperti entrambi i nodi e essere in collegamento. Se cade la rete e ho scaricato al
98%, devo cominciare da capo.
o Utente-Macchina: telnet: governare una macchina da remoto

WORLD WIDE WEB: Una ragnatela di DOCUMENTI collocati su computer in tutto il mondo.
Viene considerato il pi grande serbatoio di informazioni che sia mai esistito. Si accede
tramite:

Un client chiamato BROWSER: ha come compito quello di lasciare all'utente dove vuole
andare a recuperare il documento. Si preoccupa di inviare una richiesta di servizio al
server (corriere.it) "mandami la homepage di corriere.it"; a questa richiesta
corrisponde una risposta di un file di testo. Viene inviato: un testo; risposta: un testo,
scritto come sequenza di caratteri (ASCII o UNICODE). Questo garantisce che

33
indipendentemente da qual l'applicazione che gestisce il testo, ho la certezza di avere
caratteri ASCII.
Servers sui siti che distribuiscono informazione
Basato su:
o Il protocollo HTTP per la trasmissione di documenti
o La nozione di ipertesto

WEB: Una pagina web formata da oggetti: questi oggetti possono essere file HTML, immagini
(JPEG, GIF, PNG), applet Java, file audio, ecc. Ogni oggetto identificato da un URL,
identificativo in un modo di un oggetto nella rete. I nodi della rete mettono a disposizione delle
directory di file che sono a disposizione se so l'indirizzo di quel file, posso chiedere al server
di mandarmelo.

PROTOCOLLO HTTP: HyperText Transfer Protocol. Protocollo a livello di applicazione per lo


scambio di ipertesti multimediali. Prescrive il formato di: nomi delle risorse (URL), richieste,
risposte. Il principale designer Tim Berners-Lee: CERN c'era il problema di trasferire i
risultati degli esperimenti.

HTTP si appoggia a TCP. Il client HTTP (il browser) inizia una connessione TCP sulla porta 80 del
server Il server HTTP (Web server) accetta la connessione TCP del client Client e server si
scambiano messaggi HTTP (attraverso le socket) Si chiude la connessione TCP. Ha
determinate caratteristiche:

Livello applicativo
Richiesta/risposta
Privo di stato
Trasferimento dati bidirezionale (forms)
Possibile negoziazione (character set)
Supporto per il caching
Supporto per i proxy

Attori:

Client: genera richieste di risorse.


Server: depositario della risorsa richiesta
Proxy: nodo intermedio che funge sia da client che server. Un proxy agisce per conto di
altri client e inoltra le richieste ad un server, opera come server nei confronti dei client e

34
come client nei confronti del server. Il proxy un agente che riceve una richiesta per un
oggetto (identificato da una URL), la modifica e la inoltra verso il server identificato dalla
URL.
Gateway: server che appare al client come server originario. Un gateway un server che
appare al client come se fosse il server dorigine, ed agisce per conto del server o di
server che potrebbero non essere in grado di comunicare direttamente con il client.

URL (Uniform Resource Locator): una stringa strutturata, ad esempio:


http://www.unive.it/didattica/SI.html. LURL strutturato come indirizzo di cartelle e sotto-
cartelle di un file system di un PC. Lindirizzo della macchina pu essere:

simbolico: www.unive.it
numerico (IP): 160.78.28.27
pu includere il numero di porta (es. :8080)
Nome risorsa: identificativo di un file
se la risorsa un file html, pu includere un indirizzo interno, es. SI.html#risultati

FORMATO DEI DOCUMENTI: i documenti risiedono sul server come file e vengono inviati al
client usando il campo entity-body della risposta

ES: Ipertesto = file ASCII scritto secondo la sintassi HyperText Markup Language (HTML)
Estensioni tipiche del file: *.html *.htm

Il documento pu contenere inserti multimediali (immagini, audio, video) il programma client


carica e visualizza il
testo richiede al
server i file
corrispondenti agli
inserti multimediali. Si
tratta di un linguaggio
caratterizzato da
MARCATORI (tag).

35
HTML: Hyper Text Markup Language. HTML un linguaggio di contrassegno testuale. Un
documento HTML un file di testo che contiene due classi di informazioni
Contenuto: il testo vero e proprio del documento; da solo non garantisce la leggibilit.
Sistema di contrassegno (mark-up): informazioni aggiuntive al contenuto, per determinarne le
modalit di presentazione; a loro volta queste informazioni possono essere suddivise in due
classi:
Struttura: informazioni su come diviso logicamente il documento (titolo, paragrafi,
capitoli)
Formattazione: informazioni sulla presentazione del documento (font, colori,
spaziature)
Un editor di testo sufficiente per creare documenti HTML.
Esempio. Tutta l'informazione relativa alla formattazione viene marcata in modo analogo alla
gestione delle parentesi in aritmetica. Tag che si aprono e si chiudono che forniscono
informazioni.
Tag iniziale e finale (quello finale a uno /). Sono case sensitive (non c distinzione tra
maiuscolo minuscolo, ecc.).
Head: informazione che non nella pagina ma fuori. Non il contenuto. Questa info viene
trasmessa e pu essere utilizzata: title pu essere utilizzata dal browser all'esterno della
pagina html il titolo e l'autore del romanzo sono fuori dal romanzo stesso.
Body: informazione che sar visualizzata nel browser in corrispondenza del file. Posso avere
tag rosso, ). Struttura gerarchica in cui l'informazione sulla formattazione viene aggiunta alle
componenti limitate.
Un documento HTML un normalissimo file di testo che presenta nel suo interno delle
istruzioni che ne determinano l'aspetto estetico finale, permettendo diversi tipi di
formattazione e l'inclusione di immagini, suoni, collegamenti (links) con altri documenti, etc. La
struttura tipica di un documento HTML assume la forma seguente:

36
ELEMENTI: Un documento HTML composto da elementi. Un elemento pu a sua volta
contenerne altri in modo nidificato. Un elemento composto da un testo solitamente racchiuso
tra 2 tag che ne indicano linizio e la fine
Es.: <html> </html>
Alcuni elementi hanno solo il tag di inizio
Es.: <br> usato come interruzione di riga
I tag hanno sempre la forma: < nome_tag >.

ATTRIBUTI: i tag possono avere degli attributi. Gli attributi consentono al designer di definire
caratteristiche e propriet di un elemento adattandolo al contesto del documento.
Sono sempre nel formato nome_attributo = valore
Es.: <IMG SRC = sfondo1.gif ALIGN=center >
Sono sempre aggiunti nel tag iniziale dellelemento. I browser commerciali permettono di usare
attributi proprietari al di fuori degli standard. una pratica sconsigliata poich:
Su browser diversi si potrebbero ottenere risultati diversi
In alcuni casi attributi non aderenti allo standard vengono ignorati

BROWSER HTTP: Applicazione in grado di:

accedere alla rete secondo il protocollo http


richiedere risorse identificate da un URL a un server
interpretare e rendere a video la risposta del server

COMUNICAZIONE HTTP: il client chiede al server accesso ad un servizio rispetto al quale do dei
parametri. Il server va nella sua base di dati, a cercare risposte, restituendo le stesse. La
pagina che arriva non memorizzata da qualche parte, ma viene generata per me (esempio
Trenitalia quando chiedo i treni).

COSA SUCCEDE QUANDO SI COMPILA


UNA FORM?

Faccio richeista tramite browser. Cosa


viene inviato? La pagina statica. Alla
richiesta corrisponde la form, una
pagina di testo che richiede di
caricare altri elementi.

Quando scelgo le destinazioni, le


scelgo sul mio dispositivo, non sto
37
usando la rete (il sito pu essere anche gi). Il passaggio di comunicazione in rete avviene
quando schiaccio invio. Inserisco i dati e li do al mio browser: mando richiesta al server
trenitalia mandando una interrogazione (infatti nell'URL c' il ?). Il web server interroga la sua
base di dati locale (utilizzando un'altra macchina), creando un risultato. Il risultato genera una
risposta, ovvero mettere insieme un template di risposta + i dati estratti dal database della
richiesta

Nel primo caso chiedo una pagina statica, nel secondo la rispsota il risultato di una
elaborazione che mi fa il web server, una pagina dinamica, che viene fatta solo per me. La
comnicazione che avviene (tra primo e secondo caso), e la risposta che mi arriva, sono stringhe
di testo. Sono protette? Ho una garanzia che la comunciazione che passa attraverso la rete sia
cifrata? No! La comunicazione HTTP si basa sulla richiesta di una stringa di testo tutto in
chiaro. Nulla impedisce che nella rete questa comuncazione sia letta.

7. PROTOCOLLI APPLICATIVI: SMTP, FTP, TELNET, WHATSAPP


STACK DEI PROTOCOLLI

Per quanto riguarda i protocolli di trasporto e di applicazione, alcuni si appoggiano su UDP,


perch mi conviene perdere parte della comunicazione piuttosto che rallentarla.

38
SOCKET: comunicare tra un processo client e un processo server significa comunicare tra due
socket. Identificano files, in lettura o in scrittura, da dove viene originato e dove viene recepito
il messaggio, rispettivamente, dagli attori della comunicazione.
Quando ho una comunicazione di trasporto TCP, questa offre al protocollo applicativo un
servizio del tipo: "ti garantisco un trasporto, ma mi devi dire da dove parti e dove arrivi". Questi
socket sono gestiti discriminando. Li indirizzo rispetto a porte diverse. La comunicazione tra
client e server, ma la comunicazione con protocollo HTTP deve passare dalla porta 80, FTP
porta 21. pu passare solo per quella porta l.
Vantaggio: se il server decide di non ricevere richieste di un certo protocollo, chiude la porta
associata.

NETWORK TIME PROTOCOL (NTP): un protocollo per sincronizzare gli orologi dei computer
all'interno di una rete a commutazione di pacchetto. Il funzionamento si basa sul rilevamento
dei tempi di latenza nel transito dei pacchetti sulla rete. Utilizza il tempo coordinato universale
ed quindi indipendente dai fusi orari. Attualmente in grado di sincronizzare gli orologi dei
computer su internet entro un margine di 10 millisecondi e con una accuratezza di almeno
200 microsecondi all'interno di una LAN in condizioni ottimali. Tra nodi della rete necessario
sincronizzarsi rispetto ad un tempo assoluto. Uno dei primi protocolli utilizzati.

SIMPLE MAIL TRANSFER PROTOCOL (SMTP): lemail rappresenta un sistema di comunicazione


asincrona. Linvio da parte dellutente mittente e la ricezione da parte dellutente destinatario
del messaggio non sono sincronizzati. Il sistema di gestione dei messaggi deve prevedere un
meccanismo di memorizzazione dei messaggi inviati ma ancora non letti. Che elementi servono
per gestire una comunicazione asincrona?

Regole sull'indirizzo del destinatario: individuare in modo univoco gli indirizzi del
mittente e destinatario
Formato del messaggio: come deve essere strutturato perch sia utilizzabile il
protocollo
Regole di memorizzazione del messaggio in attesa di essere recapitato

POSTA ELETTRONICA: linfrastruttura del servizio email prevede:

La definizione di un sistema di indirizzamento per le caselle postali (mailbox) a cui


sono inviati i messaggi

39
Un sistema di agenti software per inviare, ricevere, e consegnare i messaggi (agenti
utente e agenti di trasferimento) con il relativo protocollo di comunicazione (Simple Mail
Transfer Protocol SMTP)
Uno standard per il formato dei messaggi (busta)

possibile inviare messaggi a qualunque corrispondente dotato di un indirizzo e-mail. Un


indirizzo email individua una mailbox su un host nella rete internet. La mailbox un file di testo
in una directory specifica nel server. I messaggi di posta in arrivo sono accodati alla fine della
mailbox. Lutente pu accedere alla posta leggendo il file mailbox, oppure attraverso protocolli
per laccesso remoto alla mailbox (POP o IMAP). Inviare un messaggio corrisponde a trasferire
un file di testo.

Un indirizzo email ha la struttura: utente@host.dominio

UTENTE: lidentificativo della mailbox

HOST.DOMINIO: lindirizzo simbolico del server, risolto dal DNS

Dominio: indirizzo IP. Tutto quello che sta a dx della @ sar il name server (DNS deve risolverlo)
che mi identifica.

USER AGENT E TRANSFER AGENTS

40
MAIL USER AGENT (MUA): gestisce la composizione, lettura,
editing dei messaggi di posta (es. Outlook, Eudora) e memorizza i
messaggi in arrivo e in partenza.

MESSAGE TRANSFER AGENTS: contengono:

Una coda di messaggi composta dai messaggi di posta


elettronica in uscita
Le mailbox contenenti i messaggi per ciascun utente

FORMATO DEI MESSAGGI: un messaggio un testo con codifica di


caratteri a 7 bit. Un'eventuale utilizzo di altri caratteri deve essere
comunicato e codificato all'interno. Il
messaggio strutturato in 2 parti, separate
da una linea vuota. Lintestazione contiene
meta-informazioni che descrivono la
propriet del messaggio: una sequenza di linee di testo con struttura: CAMPO:VALORE.

INTESTAZIONI: diverse linee dello header

To: inidirzzo DNS del destinatario


Cc: indirizzi per conoscenza
Bcc: indirizzi invisibili ai riceventi
From: indirizzo di chi ha scritto il messaggio
Sender: indirizzo di chi ha inviato il messaggio
Subject: oggetto del messaggio
Date: data e ora in cui stato inviato
Reply-to: indirizzo a cui inviar le risposte
Received: agente che ha ricevuto il messaggio, assieme ad un timestamp. Viene
inserito da ogni MTA
Message-Id: numero che individua il messaggio sul MTA origine

41
MIME (Multipurpose Internet Mail
Extensions): come posso trasferire
messaggi non-ASCII? Bisogna
convertirli. Nella posta, il messaggio
che contiene gli allegati, un enorme
messaggio con allegati in fondo al
corpo. Trasmissione di un unico file di testo in ASCII a 7 bit.

PROTOCOLLO SMTP: MTP usa un socket TCP sulla porta 25 per trasferire la posta elettronica in
modo affidabile da client a server. Realizza una modalit push: il messaggio trasferito dal
mittente al destinatario quando questultimo disponibile. La posta elettronica viene
memorizzata temporaneamente sul server locale e trasferita direttamente al server
destinatario. Le 3 fasi del protocollo sono:

Handhaking: ci sei?
Trasferimento dei messaggi
Chiusura

Linterazione client-server segue un paradigma comando-risposta:

I comandi sono in normale testo ASCII


Le risposte sono un codice di stato e una frase opzionale
Le righe di comando e risposta terminano con i comandi CR-LF.

Processo:

Lagente di posta dellutente contatta via SMTP il suo mail server locale.
Il mail server locale contatta via SMTP il mail server di destinazione.
Il mail server di destinazione pone la
posta nel mailbox dellutente
destinatario.
Lutente recupera la posta attraverso un
protocollo di accesso alla posta come POP o IMAP.

PROTOCOLLI POP e IMAP: per laccesso alle mailbox si usa unapplicazione di tipo client-server.
I protocolli per laccesso seguono una modalit pull:

POP (Post Office Protocol): consente laccesso dellutente alla posta elettronica

42
IMAP (Internet Mail Access Protocol): consente la gestione di cartelle remote.

EMAIL SPOOFING: Le-mail spoofing consiste nel far sembrare che une-mail sia stata inviata
da una persona specifica (o da un indirizzo specifico) quando in realt non lo . Ci possibile
attraverso la falsificazione dei riferimenti del mittente. Le informazioni del mittente indicato
nelle-mail (il campo Da) possono essere contraffatte con facilit in quanto i protocolli di base
che gestiscono linoltro della posta elettronica non fanno autenticazione. Lidentificazione del
reale mittente di una mail va quindi effettuata non con riferimento allindirizzo del mittente,
che si presenta in maniera visibile, ma attraverso le intestazioni (c.d. header) che sono
contenute nel messaggio di posta elettronica e che normalmente costituiscono la parte non
immediatamente visibile.

La debolezza del protocollo SMTP che facilmente attaccabile, perch non c nessun
controllo da parte di nessuno, sul fatto che chi dichiara di essere il mittente sia effettivamente
il vero mittente. In questo senso, la PEC sopperisce a questo problema parzialmente, perch
richiede unautenticazione forte.

FTP (File Transfer Protocol):


protocollo di trasferimento da/a un
host remoto.

Comando per accedere ed


essere autorizzato a
scambiare informazioni con lhost remoto: ftp NomeHost vengono chiesti user e
password
Trasferimento di un file da un host remoto: ftp> get file1.txt
Trasferimento di un file a un host remoto: ftp> put file2.txt
Ci sono comandi per cambiare directory in locale e sullhost remoto, cancellare file, ecc.

Quando lutente fornisce il nome dellhost remoto (ftp NomeHost), il processo client FTP
stabilisce una connessione TCP sulla porta 21 con il processo server FTP. Stabilita la
connessione, il client fornisce nome utente e password che vengono inviate sulla connessione
TCP come parte dei comandi. Ottenuta lautorizzazione del server il client pu inviare uno o pi
file memorizzati nel file system locale verso quello remoto (o viceversa).

VOIP: Con Voice over IP (Voce tramite protocollo Internet), acronimo VoIP, si intende una
tecnologia che rende possibile effettuare una conversazione telefonica sfruttando una

43
connessione Internet o una qualsiasi altra rete che utilizzi il protocollo IP. Una rete aziendale
pu essere sfruttata anche per le comunicazioni vocali, permettendo di semplificare
linstallazione e il supporto e di aumentare il grado di integrazione di uffici dislocati sul
territorio, ma collegati tramite linfrastruttura di rete. Con VoIP possibile adottare una
comunicazione sicura (crittografata) che impedisce a terzi di intercettare la conversazione e
manipolarla. Protocolli: Skype (proprietario), SIP, H.323. Avere un protocollo proprietario, vuol
dire che le regole sono private, e per chattare con Skype, entrambi gli utenti devono aver la
medesima applicazione.

SKYPE: Skype un software proprietario freeware di messaggistica istantanea e VoIP. Unisce


caratteristiche presenti nei client pi comuni (chat, salvataggio delle conversazioni,
trasferimento di file) ad un sistema di telefonate. Il prodotto stato introdotto nel 2002. Nel
maggio 2011 Microsoft ha acquistato Skype per 8,5 miliardi di dollari.

TELNET: il protocollo TELNET consente di emulare sulla rete la presenza di un terminale video
collegato a un computer remoto. Si pu agire su una macchina remota come se fosse sulla
stessa stanza. Per maggior sicurezza si usa il protocollo SSH (Secure Shell) che consente di
crittografare le informazioni trasmesse.

WHATSAPP: il servizio WhatsApp usa il protocollo SSL (protocollo di comunicazione cifrata) per
connettersi al WhatsApp server. Tutti i messaggi sono messi in coda sul server finch il
destinatario non si connette per scaricare i messaggi. La notifica che il messaaggio stato
scaricato viene inviata al server che ne fa il forward al mittente ("checkmark). I messaggi sono
cancellati dalla memoria del server non appena il destinatario ha scaricato il messaggio. Come
gestito il processo di registrazione a WhatsApp? Inizialmente WhatsApp associava
username/password al numero IMEI del cellulare. Adesso si utilizza un PIN di 5 caratteri:
questo permette di usare WhatsApp anche quando si cambia telefono. Quando si registra un
nuovo telefono viene invalidata la chiave sul cellulare precedente. Il protocollo WhatsApp dice
che i messaggi non appena arrivano al destinatario li cancella dal server. Su Facebook invece
vengono salvati sul server.

44
8. MOTORI DI RICERCA E WEB SEARCH

Il web viene considerato un insieme di risorse di rete raggiungibili tramite TCP/IP, in particolare
tramite HTTP. Possono essere pagine di testo in HTML, che possono avere degli indirizzi,
relativi o assoluti di altre risorse (altro file di testo, immagini, ecc.). Possiamo avere anche file
di testo. Struttura a farfallino:

Sul lato sinistro del farfallino HO RISORSE IN ENTRATA: corrispondono a pagine web che
non sono oggetto di nessun indirizzamento o io conosco URL di quella risorsa oppure
quella risorsa non riesco a raggiungerla navigando in rete (ovvero passando da una
pagina html a un'altra utilizzando i link che legano una pagina all'altra). Non sono target
di nessun altro link da nessun'altra pagina
Alla destra del farfallino si hanno le FOGLIE: risorse web che quando arrivo a scaricare
tramite il browser non mi consentono di proseguire la mia navigazione, non hanno
nessun'altro link.
In mezzo si ha il CORE: le pagine che sono linkate e che linkano.
Se il sito web si trova su unISOLA, sar accessibile solo a chi a conoscenza
dell'indirizzo di un nodo di quell'isolotto. Bisogna cercare di essere nel core.

45
Si pu vedere il web come un grafo orientato, dove l'orientamento dato dalla presenza di link,
ho dei nodi radici e i nodi foglia.

STANDARD WEB SEARCH ENGINE


ARCHITETURE: quando uso Google io
compilo una form, richiesta http a
cui passo come parametri le parole
chiave che scrivo. Google, va a
cercare in un database se ci sono i
parametri che io ho cercato,
dandomi le risposte in un certo
ordine. Stesso principio del sito di
Trenitalia. Google, quindi, ha un
proprio database. Mi interfaccio con il mio browser e mando la richiesta a un server che mi
produce come risposta un elenco di link a pagine che centrano pi o meno con il mio
parametro.
Il motore di ricerca, quando chiedo qualcosa, attinge al suo database, cerca quello che ha
taggato e rilevato importante per il mio parametro. Google sostanzialmente ha una copia
parziale del web. Quando faccio una ricerca web, io il web non lo vedo, perch si tratta solo di
compilazione di form.
Come fa Google ad avere una copia parziale del web? Google deve alimentare la sua base di
dati (il web in continua evoluzione). Google deve immagazzinare i documenti (accessibili nei
diversi nodi della rete), copiarli nel suo database, e, dal documento che estrae, va a vedere se
in quella pagina ci sono altri link ad altre risorse di rete. Il motore di Google continua a navigare
in rete, continua a cercare quali sono i file che sono raggiungibili in rete e li scarica e ne fa una
copia. Si tratta di una ricerca locale, infatti se faccio la ricerca in Francia, avr dei risultati
diversi rispetto all'Italia (perch si basano su server diversi).

IN TERMINI PIU FORMALI Ci sono una serie di agenti (spiders) che girano per la rete alla
ricerca di documenti da indicizzare. I documenti HTML sono indicizzati automaticamente
associandoli alle parole chiave presenti nel testo. Quando un utente sottomette una query,
interroga lindice locale del
motore di ricerca (IR Engine).
Il risultato una lista di
puntatori a documenti che

46
sono ritenuti rilevanti rispetto alla query. Utenti e WebMaster possono sottomettere
direttamente ai motori di ricerca pagine da indicizzare.

ALGORITMO DI CRAWL: indirizzo


valido? Leggo la pagina, scarico
tutti i link che ci sono, vado avanti,
ecc.

LINK EXTRACTION: Lo spider


(crawler) deve fare il parsing della
pagina html, che una pagina di testo, ed estrarre tutte le URL
<a href=http://clgiles.ist.psu.edu/courses>.
Deve completare gli indirizzi delle URL da relativi ad assoluti: ad esempio, se la pagina
corrente ha come URL: http://clgiles.ist.psu.edu/courses/ist441/slides.htm

<a href=projects.htm> deve essere tradotto in


http://clgiles.ist.psu.edu/courses/ist441/projects.htm
<a href=../ist460/syllabus.htm> deve essere tradotto
http://clgiles.ist.psu.edu/courses/ist460/syllabus.htm

DA DOVE PARTONO GLI SPIDERS?

Da una seed-URL
Da un insieme di URL selezionate in base alla popolarit
Associando a spiders diversi diverse partizioni del web
Partendo dalle URL sottomesse dai webmasters
Nellesplorare un sito web, usano lipotesi che esso sia ordinato gerarchicamente

Come faccio a dire al motore di ricerca di indicizzare anche la mia pagina della mia azienda? O
la mia pagina linkata da un'altra pagina oppure devo far s che l'indirizzo sia all'interno dei
semi del motore di ricerca "segnala URL": dico al motore di ricerca di indicizzare la mia
pagina.

BREADTH FIRST CRAWLERS: procedura in ampiezza esplora in modo uniforme il grafo dalla
pagina radice a tutti i nodi raggiungibili, ma richiede di memorizzare tutti i nodi del livello
precedente (esponenziale in profondit). la strategia standard.

47
DEPTH FIRST CRAWLERS: procedura in profondit lineare rispetto alla richiesta di
memorizzazione delle pagine, ma rischia di perdersi nel seguire un singolo thread.

Entrambe le strategie sono implementate usando una coda di URL (cambia solo lordine con
cui si aggiungono nuovi elementi alla coda).

TRAPPOLE PER GLI SPIDERS: uno spider pu andare in loop. Le trappole (spider-traps) sono
insiemi di pagine che ostacolano il processo di crawl. Esistono per 2 ragioni:

Tentativi di migliorare la propria posizione nei motori di ricerca


Errori di programmazione nelle pagine che generano loop tramite link dinamici a se
stesse

Contromisure:

Vengono posti dei limiti alla visita in profondit:


o un numero massimo di livelli nella gerarchia delle directory
o un numero massimo di pagine recuperate per host

Il problema dello spam presente anche nelle pagine HTML.

COVERAGE (=copertura): i motori di ricerca visitano fino a 10 milioni di pagine al giorno (sia
vecchie che nuove pagine). Il pi grosso motore di ricerca indicizza il 50% delle pagine presenti
in rete, gli altri solo il 15-20%. La sovrapposizione tra motori di ricerca molto limitata.

FRESHNESS: Spesso i risultati di una ricerca sono link a pagine non pi esistenti, o con
contenuto diverso da quello indicizzato. Gli spiders possono imparare ad aggiornare la
frequenza di visita di certi siti. In ogni caso, c sempre un ritardo dal momento in cui una
pagina viene creata o modificata rispetto al momento in cui il motore di ricerca se ne accorge.

COSA VIENE INDICIZZATO? Vengono indicizzate soltanto parole, comprese le didascalie delle
immagini. In particolare le sequenze alfanumeriche con lunghezza minore di n (con n scelto):
tutte le sequenze pi lunghe vengono divise. Vengono invece esclusi:

hapax legomena: parole che ricorrono una sola volta, probabili errori di sintassi (ad
esempio ramogna nella lingua italiana)
lunghe sequenze alfanumeriche: codici di prodotti, elenchi telefonici,
connettivi: and, or, why, ecc.

48
CORPUS: insieme di documenti. Come indicizzare un corpus?

Usare un INDICE: dato un documento, sapere quali parole contiene a una pagina
associo delle parole rilevanti per quella pagina
Usare un INDICE INVERSO: data una parola, sapere in quali documenti contenuta.
Vantaggio di efficienza.

Esempio: interrogazione Foscari su un corpus di 1.000.000 di documenti

con lindice: devo scandire lintera lista dei documenti (1.000.000)


con lindice inverso: data una parola so gi quali documenti la contengono
(<1.000.000).

Un motore di ricerca DEVE usare un indice inverso.

Un indice inverso pu contenere:

FREQUENZA: quante volte un termine compare nel corpus


PUNTATORI (a documenti): in quali documenti compare
CONTEGGI: quante volte compare in ogni documento
POSIZIONI: in che posizioni compare in ogni documento
DATI GLOBALI come il numero complessivo di occorrenze, la lunghezza media dei
documenti, ecc.
la LISTA DEI TERMINI, altrimenti non si lavora!

Pu essere privo di stopword e Hapax legomena.

RANKING: come viene attribuito un peso alle pagine rispetto ad una chiave di ricerca, una volta
che abbiamo uno snapshot del Web, il grafo dei documenti recuperati, gli indici inversi delle
parole contenute in essi?

PAGE RANK: funziona sul grafo: pi una pagina puntata, pi rilevante (misura
esogena della popolarit). Motivo per cui Google ha sbancato Yahoo. Se tante pagine
hanno come link un'altra pagina, allora quest'ultima pi importante. Pagina votata
importante da altre pagine.
PROXIMITY: funziona sul testo: pi nella pagina le parole richieste sono vicine, pi la
pagina rilevante (misura endogena dellimportanza, relativamente alla richiesta).
Stringa ha peso maggiore (se la parola che cerco in un titolo pi rilevante).

49
PageRank + Proximity non bastano: se si usano solo queste tecniche, i risultati sono piuttosto
scarsi e deludenti. Servono anche altre tecniche.

TITLE RANK: si assegna un punteggio ai titoli delle pagine: i titoli sono spesso un riassunto
del contenuto delle pagine. Il punteggio viene assegnato in maniera dipendente dalla
prossimit: pi le parole richieste sono vicine nel titolo, pi il punteggio della pagina elevato.

URL RANK: cercando il nome di un sito si desidera di solito vedere comparire il dominio
associato: va dato un punteggio anche agli indirizzi: comune di milano
www.comunedimilano.it

ANCHOR RANK: Le pagine a volte sono note per qualcosa che non dicono esplicitamente di
trattare: agenzia stampa www.ansa.it

sono le pagine che vi si riferiscono ad usare queste parole nelle ancore


bisogna estrarre il testo dalle ancore per trovare le pagine corrette

Esempio Miserabile Failure: molte pagine puntano ad ununica pagina (che non contiene quelle
parole) usando quelle specifiche parole nel testo del link la pagina puntata acquisisce le
parole con cui viene puntata. Se si scriveva su Google Miserable Failure veniva fuori la
biografia di Bush.

50
9. SICUREZZA
SICUREZZA DEI SISTEMI:

Quali risorse proteggere? Capire quali sono i processi e le informazioni pi sensibili


alla sicurezza. Identificare le risorse critiche.
Da chi proteggerle? Cercare di individuare i possibili attori dellattacco: interno o
esterno?
Da cosa proteggerle? Cercare di prevenire le pi comuni modalit di attacchi

LIVELLI, COSTI E RISCHIO RESIDUO: quando ho


una risorsa che non isolata, ma si interfaccia
all'interno della rete, l'assenza di rischio non
raggiungibile. Pi aumento il livello di sicurezza, i
costi che devo sostenere aumentano. In
generale, devo decidere quale livello di rischio
accettabile rispetto al costo che voglio sostenere
e rispetto ai requisiti minimi di sicurezza che
voglio prefissare. Con un budget illimitato e un
tempo illimitato, si pu costruire su security environment quasi perfetto. Ma che quello che
serve un Security Environment appropriato e adeguato, comprendete strumenti e procedure
di gestione del RISCHIO RESIDUO.

MINACCE INTERNE: la maggior parte delle problematiche di sicurezza vengono dall'interno. I


principali furti derivano sempre da chi ha accesso interno al sistema (alcuni esempi:
installazione/uso di software non autorizzato, infezione di componenti aziendali tramite birus,
malicious code, uso di risorse aziendali per comunicazioni/attivit illecite come porn surfing).

MINACCE ESTERNE:

VIRUS: software che si


diffonde; causa un
malfunzionamento. Questo
fattore che causa
malfunzionamento si espande
a tutti quelli che sono in
contatto con me. Anche se
hanno un danno limitato.

51
TROJAN: programmi che una volta entrati nel sistema, in modo "onesto" portano fuori
risorse, aprono porte. Possono poi esserci attacchi
WORMS: aumentano di dimensioni, tendono ad occupare in modo improprio lo spazio
(sovrascrive file, occupa file system, occupa RAM, ecc.).
DENIAL OF SERVICE: a che fare con la rete. Attaccare un sito, fare un milione di
richieste allo stesso server che crasha.

CLASSIFICAZIONE DELLE MINACCE: quali sono le minacce, quali sono gli attaccanti, capisco
quali politiche di sicurezza attuare. In un mondo dove i soldi girano su macchine connesse in
rete, i virus, ecc. servono a rubare i soldi. Anche le risorse sono importanti. Devo
compromettere dei nodi della rete.

Attacchi mirati condotti manualmente con lobiettivo di violare i sistemi di una specifica
azienda
Sottrazione fisica di componenti e dati
Diffusione di worm/virus/software ostile
Attacchi generalizzati portati da tool automatici

PRINCIPIO DELLANELLO DEBOLE: valido in tutto lambito della sicurezza informatica la


resistenza di una catena determinata dalla resistenza dellanello pi debole. I cybercriminali
cercano di sfruttare i punti deboli del sistema.

Nel corso degli anni c stata una continua evoluzione delle minacce, delle contromisure
messe in atto e dellattenzione verso la Sicurezza.
esempio: unindagine dellUniversit del Michigan del 2007 effettuata su 214 banche, rivelava
che il 47% dei siti conteneva il form di login allinterno di pagine non sicure (NO HTTPS).

MINACCE CLIENT SIDE: si cerca di rubare le credenziali oppure di compromettere la


postazione di lavoro dellutente (PC/mobile), infettandolo con dei malware.

PHISHING: truffa via Internet attraverso la quale si inganna la vittima convincendola a


fornire informazioni personali sensibili (password, PIN, ). Sfrutta una tecnica di social
engineering: attraverso linvio di e-mail che imitano la grafica della banca, si induce il
cliente ad accedere a siti controllati dallaggressore. Questo avviene perch il protocollo
SMTP non garantisce lautenticit di chi abbiamo dallaltra parte.
SPEAR PHISHING: evoluzione del phishing tradizionale (spam mail) che fa leva sulla
familiarit e confidenza. La mail sembra proprio indirizzata alla vittima: contiene il suo

52
nome ed altre info personali. Induce la vittima ad aprire un file allegato, che infetter il
PC. Si tratta di un attacco mirato, dove la vittima abbassa le difese e apre lallegato.
Tendiamo a fidarci di pi se qualcuno ha informazioni su di noi.
WATERING-HOLE ATTACK: se lattacco diretto risulta difficile, si opera in maniera
diversa: si individuano i siti pi visitati dal target; si compromette qualcuno di questi siti;
si aspetta; quando la vittima accede ad uno dei siti infetti, la sua postazione viene
infettata (drive-by download).
DRIVE-BY DOWNLOAD: In un attacco drive-by download, un sito benigno viene
compromesso in modo da ridirigere lutente che vi accede verso siti maligni dai quali, in
modo silente, viene scaricato il malware. Vengono sfruttate le vulnerabilit del browser.
WEBINJECT: Gli attacchi di tipo webinject sono estremamente sofisticati e seguono il
paradigma Man in The Browser (MiTB). Modificano le pagine HTML ricevute dallutente
(campi aggiuntivi nei form di autenticazione, riepilogo delle operazioni) e i dati inviati da
questultimo ad es. verso la banca (dati di una transazione). Il tutto in modo
completamente trasparente.

CONTROMISURE:

Limitare la superfice di attacco: ad es. rimuovere plug-in del browser non necessari.
Utilizzare software anti-malware
Mantenere TUTTO il software sempre aggiornato
Navigare sicuri
AUTENTICAZIONE: il metodo di autenticazione costituisce la parte pi critica del
sistema; oltre alla coppia userID/password si utilizza un ulteriore meccanismo per
autorizzare le disposizioni.
o Password dispositiva, facilmente attaccabile con il semplice phishing.
o TAN (Transaction Authorization Number): codici one-time presi a caso da una
lista; attaccabili con phishing.
o iTAN (indexed TAN)/grid cards: lutente deve inserire il codice collocato nella
posizione specificata dalla banca (es: D4); attaccabili con MiTB.
o Token OTP: protezione pi forte, perch anche se qualcuno mi ruba il codice, pu
solo fare una transazione.

SICUREZZA FISICA: accesso controllato ai locali, conservazione delle chiavi di accesso alle sale
dati, riconoscimento fisico degli utenti ammessi. Uso badge, smart card, dispositivi biometrici.

53
SICUREZZA LOGICA: gestione oculata delle passwords, dei diritti di accesso agli utenti.

SICUREZZA DI RETE: garantire sicurezza nelle comunicazioni in rete, in modo da tutelare


lintegrit e la riservatezza dei dati critici e sensibili. Proteggo le mie risorse (LAN) in modo tale
che gli eventuali attacchi che vengono dall'esterno e gli eventuali flussi di informazione
intercettati, vengano controllati.

ARCHITETTURA FIREWALL: ho la mia rete aziendale, tutta la comunicazione all'interno e


all'esterno la faccio passare in un'unica macchina, cos limito la superficie di attacco.
Sdoppio la macchina, in un router interno e esterno. Se viene compromesso uno, non
viene compromesso l'altro. Utilizzo un doppio filtro. Se ritengo ci sia una minaccia, la
porto in una zona dove non pu fare male a nessuno (quarantena, tenuta sotto vincolo,
ecc.).

SICUREZZA NELLA COMUNICAZIONE:

RISERVATEZZA: solo mittente e destinatario devono comprendere il contenuto del


messaggio. Si possono inviare messaggi cifrati e ricevere il codice di decifratura
AUTENTICAZIONE: mittente e destinatario devono essere sicuri della loro identit.
Riservatezza ed autenticazione sono su due assi diversi.
INTEGRITA DEL MESSAGGIO: mittente e destinatario devono essere sicuri che il
contenuto non subisca alterazioni durante la trasmissione (per cause fortuite o per
manipolazioni).
DISPONIBILITA E CONTROLLO DELLACCESSO: un servizio deve essere accessibile a chi
legittimamente autorizzato.

TIPOLOGIA DI ATTACCO: vedi figura.

STEGANOGRAFIA: la parola steganografia


deriva dal greco e significa scrittura
nascosta. Individua una tecnica per
nascondere la comunicazione tra due
interlocutori. Tracce di questa tecnica si
hanno gi nell'antica Grecia: Erodoto narra
l'episodio di Demarato che per avvisare i
compatrioti di una possibile invasione persiana scrive su di una tavoletta un messaggio da
nascondere, poi copre la tavoletta di cera e sulla cera scrive un messaggio innocuo. Fu

54
teorizzata dallabate Tritemio attorno al 1500. Si pone come obiettivo di mantenere nascosta
lesistenza di dati a chi non conosce la chiave adatta per estrarli. Si differenzia dalla
crittografia perch questa ha come obiettivo non rendere accessibili i dati a chi non conosce la
chiave. Limite: devo mettermi d'accordo su quale criterio usare. Dal momento in cui so che l
criterio ho accesso all'informazione. Pu trovare uso in ogni forma di comunicazione, per
necessario che mittente e destinatario si accordino su di un codice. caratterizzata dalla
presenza di un contenitore allinterno del quale nascosto il messaggio.

Esempio: Alice e Bob si accordano sull'uso di questo sistema steganografico: il numero di


virgole presente in un singolo paragrafo sar tra 1 e 21, questo numero corrisponder ad una
lettera dell'alfabeto. Qualora Alice e Bob dovessero trovarsi in un regime di comunicazione
controllata, potrebbero scrivere pagine di copertura narrando informazioni prive di valore per
loro, ma facendo un uso accurato delle virgole, riuscirebbero a nascondere il vero messaggio.

CRITTOGRAFIA: tratta delle "scritture nascoste", ovvero dei metodi per rendere un messaggio
offuscato in modo da non essere comprensibile/intelligibile a persone non autorizzate a
leggerlo. Risponde alle esigenze di sicurezza:

Riservatezza: CIFRATURA
Autenticazione: FIRMA DIGITALE, CERTIFICATI
Integrit del messaggio: ONE-WAY HASH
Non ripudio: INTEGRITA e AUTENTICAZIONE

CRITTOGRAFIA A CHIAVE SIMMETRICA: Applicando una chiave, cifro il messaggio, applicando la


stessa chiave la decifro. Cifrario di Cesare: traslazione dell'alfabeto. Richiede una chiave
segreta nota solo ai corrispondenti. La stessa chiave serve per cifrare e decifrare il messaggio.
Come trasferire la chiave in modo sicuro? Per n utenti il numero delle chiavi O(n2).

Esempio: ROT13.

Debolezza: se so la lingua nella quale il


messaggio in cui stato scritto il
messaggio, ho molte informazioni in pi.
Guardando la frequenza medie delle
lettere, se so la lingua, riesco a decifrare il
messaggio.

55
Se in rete volessimo utilizzare una cifratura a chiave simmetrica, per ogni coppia di
comunicanti devo avere una chiave di cifratura diversa. Se ho 10 persone, devo avere 100
chiavi di cifratura. All'aumentare dei nodi, se usassi una chiave simmetrica, avrei un problema
di gestione del numero di chiavi che non lineare rispetto al numero di attori. Se sono in una
comunicazione di rete, avrei bisogno di ricevere in modo sicuro le chiavi di tutti. Ma come
faccio?

Soluzione: approccio a chiave pubblica o a doppia chiave. NB!! Mittente e destinatario non
condividono nessuna chiave, ma ognuno possiede una coppia di chiavi. Ognuno ha una chiave
privata che non dir a nessuno, e una chiave pubblica.

CIFRATURA A CHIAVE PUBBLICA: vedi


disegno

ALGORITMO RSA: Rivest, Shamir e


Adelson. un algoritmo con 2 propriet:

Le chiavi che vengono utilizzate


devono essere simmetriche
Data la chiave pubblica, deve
essere praticamente impossibile decifrare la chiave privata.

Come funziona?

La chiave pubblica di A (n,e), La chiave privata di A (n,d).

Se B vuole mandare un messaggio m ad


A, calcola c = me mod n

Per decifrare il messaggio ricevuto c, A


calcola m = cd mod n

Mod= resto delle divisione intera

Esempio: 17 mod 3 = 2

20 mod 5 = 0

21 mod 6 = 3

56
SICUREZZA DI RSA: La sicurezza dell'RSA si basa sul fatto che la funzione di cifratura xe mod n
una funzione "one-way" che computazionalmente difficile da invertire per un nemico che
volesse decifrare un messaggio. Solo conoscendo la fattorizzazione del numero possibile
trovare il valore delle chiavi. La sicurezza dell'RSA dipende dal problema di fattorizzare grandi
numeri. Fattorizzare un numero di 664 bit richiede almeno 1023 passi usando gli algoritmi pi
efficienti; per cui ipotizzando di avere una rete costituita da un milione di computer con
ciascuno di loro che esegue un milione di passi al secondo, il tempo impiegato per fattorizzare
n sarebbe dell'ordine dei 4000 anni.
57
10. FIRMA DIGITALE, HTTPS, COOKIES
DIFFERERENZE TRA FIRMA DIGITALE E FIRMA CONVENZIONALE:

Modalit con cui un messaggio viene firmato: nella firma convenzionale, la firma parte
integrante del messaggio, mentre con la firma digitale essa non attaccata fisicamente
al messaggio da firmare: il messaggio firmato costituito dalla coppia (Messaggio,
Firma).
Verifica della firma: una firma convenzionale verificata confrontandola con un'altra
firma autenticata. Le firme digitali possono essere verificate usando un algoritmo di
verifica pubblicamente noto.

FIRMA DIGITALE: come assicurare sul fatto che io sia il vero mittente? Cifro il messaggio con la
mia chiave privata. Al destinatario arrivano due messaggi: uno normale e uno cifrato con la
chiave privata del mittente applicando la chiave pubblica del mittente verr decifrato il
messaggio. Se i messaggi sono uguali vuol dire che il mittente autentico, sono sicuro che sia
lui. Non si pu negare il fatto di aver mandato il messaggio, perch solo il mittente ha la chiave
privata.

GARANTIRE SIA RISERVATEZZA CHE AUTENTICITA: Per garantire la riservatezza: il messaggio M


viene cifrato da A con la chiave pubblica del destinatario: K+B(M). Per garantire anche
lautenticit: il messaggio K+B(M) viene accompagnato dalla firma di A, ottenuta con la chiave
privata di A: (K+B(M), K-A(K+B(M))). Quando B riceve il messaggio: decodifica M con la sua
chiave privata: M=K-B(K+B(M)) verifica la firma con la chiave pubblica di A:
K+A(K-A(K+B(M)))=K+B(M). La crittografia a chiave asimmetrica pu garantire i 2 fattori
fondamentali della sicurezza logica: autenticit e riservatezza.

CERTIFICATI: la firma digitale rende sicuro un messaggio se la chiave privata di A non stata
compromessa e se B in possesso della vera chiave pubblica di A. La convalida delle chiavi
pubbliche viene fatta tramite i certificati: unautorit esterna (Certification Authority) garantisce
dellautenticit delle chiavi pubbliche. Due modelli esistenti:

X.509: organizzazione gerarchica


PGP: web of trust. I singoli attori si creano le chiavi autonomamente, verificando quali
sono gi state prese, e pubblicando successivamente quella pubblica. Basta che chi
genera questa chiave deve garantire che ci sia riservatezza.

58
FUNZIONI DI HASH: garantiscono lINTEGRITA. Sono funzioni (algoritmi) che hanno determinate
propriet:

facile calcolare lhash di un messaggio


difficile trovare il messaggio che ha generato un dato hash (non invertibilit delle
funzioni di hash)
difficile modificare un messaggio senza modificare il relativo hash (resistenza debole
alle collisioni)
difficile trovare due messaggi che abbiano lo stesso hash (resistenza forte alle
collisioni).

Esempio: messaggio ciao domani ci vediamo


Hash: Prendo solo i dispari: c a d m n c v d a o
Se vado a modificare il messaggio, viene modificato anche l'hash.
Come dimostrare l'integrit del messaggio? Se A deve mandare a B il messaggio M e non
interessato alla riservatezza e autenticit, manda la coppia: M, hash(M). Verifica quindi che
applicando l'hash di M si ha realmente M (lo fa il destinatario).

USO DELLE FUNZIONI DI HASH: la firma digitale applicazione della chiave privata del mittente
al messaggio. Operazione di cifratura costa, quindi se il messaggio pesante cifrare un
messaggio con chiave privata, mi raddoppia lo sforzo computazionale di cifratura. Allora, viene
firmato solo l'hash del documento. Il costo computazionale della firma riesco a farlo diventare
meno dipendente dalla dimensione del messaggio.

HTTP e HTTPS: con HTTP tutte le comunicazione avvengono in chiaro, quindi leggibili da
chiunque riesca ad intercettare il flusso di scambio dati. HTTPS crea un canale di
comunicazione sicuro al di sopra di una rete di comunicazione non sicura utilizzando la
crittografia. Per far questo anzitutto procede ad accertare lautenticit del proprio interlocutore.
Cambia la porta standard utilizzata per mettersi in contatto e comunicare con il server: nel
caso dello HTTP la porta 80, nel caso dello HTTPS la porta 443.

COME FUNZIONA?

Il browser apre la connessione verso un server sulla porta 443


Se il browser ottiene una risposta, chiede al server di identificarsi e fornisce un numero
casuale (Kc)

59
Il server fornisce come credenziali il proprio certificato, che include la chiave pubblica, e
un proprio numero casuale (Ks)
Il browser verifica online con le Certification Authorities che gli sono note
Il browser invia un messaggio al server che contiene un altro numero casuale (PMS, pre
master secret) cifrato con la chiave pubblica del server
Il server risponde con il Master Secret (MS), un numero ottenuto elaborando con un
algoritmo PMS, Kc e Ks cifrati con la sua chiave privata
Il browser verifica il MS e attiva la sessione cifrata con un algoritmo simmetrico usando
come chiave il MS.
La sessione cifrata con un algoritmo simmetrico ha inizio.
Alla fine della sessione browser e server distruggono Kc, Ks, PMS e MS.

importante notare che la sessione HTTPS vera e propria avviene cifrando i dati con un
algoritmo simmetrico che ha come chiave la MS e non con un algoritmo asimmetrico. Il
motivo? Cifrare/decifrare i dati con un algoritmo asimmetrico molto pi oneroso (in termini di
elaborazione) rispetto ad un algoritmo simmetrico.

COOKIES: sono file in formato .txt o .xml, di piccole dimensioni, che contengono testo. Un
cookie semplicemente un file salvato nel tuo computer da un sito da te visitato, e che il tuo
browser rimanda indietro (allo stesso sito) quando torni a visitare quel sito specifico. Senza il
ricorso ai cookie, alcune operazioni non potrebbero essere compiute o sarebbero pi
complesse e/o meno sicure, come ad esempio le attivit di home banking, per le quali i cookie,
che consentono di effettuare e mantenere lidentificazione dellutente nellambito della
sessione, risultano indispensabili. A parte poche informazioni evidenti (ad esempio il nome del
sito che lha inviato), il contenuto dei cookies criptato, decifrabile solo dal sito che lha
inviato.

COOKIES TEMPORANEI: anche chiamati session cookies o temporary cookies. Sono cookie
lasciati temporaneamente nel tuo computer. Si cancellano automaticamente al termine della
sessione di navigazione (quando chiudi il browser).

COOKIES PERMANENTI: questo tipo di cookie resta nel tuo computer attivo fino alla sua data di
scadenza o alla sua cancellazione da parte dellutente. Non viene cancellato al termine della
sessione, e serve per fornire informazioni sulla tua navigazione al sito che lha inviato.

Grazie ai cookies possibile capire:

60
chi sei (utile per identificarti ed evitare di rifare il login)
quali pagine interne al sito hai visitato ed in che ordine
quanto tempo ti sei fermato sulle singole pagine
quanto spesso visiti quel sito
su quali links hai cliccato
su quali pubblicit hai cliccato
dove ti trovi geograficamente
che parole di ricerca hai digitato in un sito
se hai condiviso il contenuto attraverso social media
che altri siti hai visitato dopo essere uscito dal sito.

Perch eliminare i cookies permanenti?

Per liberare spazio su disco: anche se i cookies sono file estremamente piccoli, in ogni
sessione il browser ne scarica a centinaia nel tuo computer.
Per evitare problemi di sicurezza: falle nella sicurezza dei servers che rilasciano cookies
potrebbero permettere ad un hacker di leggere i dati dei cookies.
Per preservare la privacy: luso massiccio dei cookie, soprattutto dei tracking cookies
per usi pubblicitari, comporta un rischio di eccessiva intrusione nella tua privacy.

61
10. XML
STRUTTURA E RAPPRESENTAZIONE: un documento composto di tre livelli: contenuto,
struttura e rappresentazione. La rappresentazione pu essere utile

per migliorare la leggibilit


per favorire la percezione della struttura
ma non per recuperare linformazione

Nel momento in cui occorre recuperare linformazione le informazioni sulla struttura sono
rilevanti. Infatti attraverso la struttura dellinformazione possibile ideare piani di recupero
efficienti.

LIMITI DI HTML: la potenza di HTML rappresenta anche il punto di


massima debolezza. Se infatti realizzare pagine HTML
estremamente facile riuscire a effettuare ricerche su tali documenti
molto inefficiente. Il principale motivo? Manca il concetto di
struttura dei dati. Si pone lenfasi solo sulla rappresentazione.
Struttura e rappresentazione sono indistinte e confuse.

XML: stesso principio di html: file di testo con marcatori per inviare
dei messaggi. Mentre HTML mescola insieme rappresentazione e
struttura, in XML voglio chiaramente
separare le cose descrivere i dati e
separare dai dati la rappresentazione. Mi
soffermo solo di contenuto e struttura.
HTML ha un numero finito e limitato di tag
(marcatori), mentre in XML non sono definiti
a priori (dipendono).

Vi un ruolo diverso dei tag, che mi danno


info sulla struttura, non sul contenuto. I tag
hanno la stessa modalit di espressione di html (apro e chiudo), la stessa esigenza di pulizia
degli elementi (parentesi annidate devono essere sempre chiuse). Qualcuno deve interpretare
le etichette.

Alcune caratteristiche:

eXtensible - non rigido come HTML.

62
Ottimo per la trasmissione di dati da server e browser
Ottimo per la trasmissione da applicazione a applicazione, da macchina a macchina
un metalinguaggio usato per definire nuovi domini applicativi o linguaggi specifici:
Metalinguaggio: permette di dare informazioni sulla struttura dei messaggi, ragionando
sulla struttura stessa.
Attenzione esclusivamente al contenuto
La Rappresentazione corrispondente pu essere assegnata in un momento successivo

XML ESTENDIBILE: supponiamo che il nostro messaggio codificato in XML possa essere
interpretato da unapplicazione di interfaccia, che lo legge in una determinata maniera.
Supponiamo inoltre di aver arricchito il nostro messaggio codificato in XML, in modo tale che
possa essere indicata anche la data. Lapplicazione originaria continuer ad interpretare
correttamente il nostro nuovo messaggio, ignorando tuttavia il dato annotato, di cui non
conosce la traduzione.

AREE APPLICATIVE:

Applicazioni che richiedono al Web Client di mediare tra due o pi DB eterogenei


Applicazioni che cercano di distribuire porzioni significanti di dati tra Client/Server
Applicazioni che richiedono al Web Client di mostrare pi viste dello stesso dato a
diversi utenti
Applicazioni in cui Agenti Web Intelligenti decidono su informazioni utili per un utente a
partire dalle sue caratteristiche

Posso avere diverse rappresentazioni a partire dallo stesso dato. Customizzare le info rispetto
all'utente.

XML E HTML: XML non specifica n la semantica n un insieme di TAG. XML un


metalinguaggio per la descrizione dei linguaggi di markup. XML fornisce un modo per definire i
tag ed i rapporti strutturali fra loro. Poich non vi un insieme predefinito di TAG, non ci pu
essere alcuna semantica preesistente.

STANDARD COLLEGATI: XML una lingua franca che permette di descrivere la struttura di
documenti. Il W3C ha definito svariati standard per poter integrare la definizione di XML per
consentire la:

Definizione di metadati
Definizione link tra pi documenti
63
Trasformazione/Rappresentazione documenti XML
Definizione di linguaggi di interrogazione
Manipolazione documenti XML da programma
Rappresentazione di informazione grafica

DOCUMENTO XLM: Un file XML un semplice file di testo con tag XML al suo interno. Esso ha
una estensione .xml nome_file.xml
Un file XML contiene tre sezioni:

Una dichiarazione che si tratta di un file XML


Dichiarazioni (opzionali)
o sul tipo di documento
o sul nome della DTD associata
o sul nome della CSS associata
Il contenuto del documento

ELEMENTO: blocco elementare dei documenti XML. Un


elemento una parte del documento delimitata da 2 TAG
es: <AUTHOR>Dante Alighieri</AUTHOR>. Ogni elemento XML pu essere definito da una o
pi coppie attributo/valore
Esempio: <destinatario sesso=maschile> vito </destinatario> <testo formato=corsivo>
questo il testo del messaggio </testo>

TAG: I tag appaiono, normalmente, in coppia

tag di apertura (start-tag)


tag di chiusura (end-tag)

<NOME_TAG>Dante Alighieri</NOME_TAG> Il tag rappresenta il nome dellelemento.

Vi una struttura gerarchica degli elementi, quindi ogni elemento devo essere completamente
incluso da un altro elemento.

DOCUMENT ELEMENT: lelemento pi esterno in un documento XML. Viene anche detto


elemento radice. Contiene tutti gli elementi del documento esempio: <libro> </libro>. Deve
sempre esistere.

64
ATTRIBUTI: Un elemento pu avere degli attributi. Gli attributi possono essere pensati come
aggettivi che descrivono gli elementi. Ogni attributo ha: nome, valore. Tutti gli attributi di un
elemento devono essere distinti. Gli attributi vengono inseriti come parte dello start-tag:
<AUTHOR nome_attributo="valore_attributo"> Dante Alighieri </AUTHOR>.

Quando meglio usare elementi o attributi per rappresentare uninformazione?

ELEMENTI ATTRIBUTI
Si richiede di Esprime una scelta
recuperare i dati utilizzato dal
velocemente sistema
visibile a tutti Non rilevante per il
rilevante per il significato del
significato del documento
documento

Per iniziare basta un semplice blocco note o un qualsiasi editor di testo (basta salvare il file in
XML) e un browser qualsiasi, arrivati al giorno doggi.

ENTITA PREDEFINITE: Alcune entit sono predefinite nel linguaggio XML e permettono di
inserire quei caratteri che altrimenti sarebbero inutilizzabili. Le entit predefinite sono le
seguenti:

&amp &
&lt <
&gt >
&apos
&quot

CONFORMITA DEI DOCUMENTI XML: Un documento XML deve iniziare con listruzione

<?xml version=1.0 encoding="iso-8859-1"?>

serve per indicare al programma che interpreter il file quale set di regole XML il
documento dovr seguire;
se il documento segue senza errori queste regole, detto well formed;
presente anche lindicazione del set di caratteri che sar utilizzato nel documento
(attributo opzionale);

65
REGOLE DI CONFORMITA: un documento XML sintatticamente conforme se:

presente un solo elemento radice;


Gli elementi hanno un tag di apertura e un tag di chiusura;
I tag sono appropriatamente annidati;
I valori degli attributi sono racchiusi da virgolette;
Nomi di tag e attributi sono costituiti da una sola parola;
Gli attributi hanno sempre un valore.

I documenti XML sono anche case-sensitive (quindi ci una distinzione tra lutilizzo delle
lettere minuscole e quelle maiuscole). Inoltre, un tag di chiusura deve essere scritto in modo
identico a quello di apertura (ad eccezione dello slash iniziale).

INDICAZIONE DELLA DTD: Le specifiche


della DTD possono essere inserite
direttamente nel prologo del documento
(DTD interna). La DTD interna vale solo per
il documento a cui appartiene e non per
altri file questo significa che la dovrei riscrivere ogni volta a meno che non la sposti al di
fuori del file e la condivida tra tutti i documenti XML che ne hanno necessit.

Le specifiche della DTD possono essere


collocate in un file esterno (es.
rubrica.dtd). La DTD esterna viene
richiamata con un comando presente nel prologo del documento XML. In questo modo tutti i
file di cui si vuole verificare la validit possono riferirsi ad un unico insieme di regole, e se
decido di modificare le regole, non dovr riportare i cambiamenti su tutti i file su cui sto
lavorando. Applicazioni diverse possono fare riferimento ad ununica DTD per valutare la
validit dei file elaborati.

INDICAZIONE DELLO STILE: questa


istruzione pu essere presente nel
prologo dopo la dichiarazione XML.
Associa un foglio di stile al documento
xml. Esempio di foglio di stile.

66
12. ERP: ENTERPRISE INFORMATION SYSTEMS
Qualsiasi tipologia di azienda deve gestore le attivit e tutti i flussi di informazioni che quese
attivit generano. Per farlo si deve avere bisogno di Sistemi Informativi. Il grande problema a
livello aziendale l'integrazione.

L'azienda deve governare i vari settori che la caratterizzano. I dati hanno una vita
disallineata rispetto ai sistemi: differenza tra durata dei dati e evoluzione del sistema
(sicuramente i dati immagazzinati 66 anni fa non vengono gestiti alla stessa maniera
oggi).
I dati vengono generalati una volta, ma possono essere persi. Lo sforzo iniziale di
acquisizione del dato non deve essere ripetuto n volte da parte di un sistema.
Questo apre la voragine delle possibili inconsistenze.

Di conseguenza, le arre funzionali dovrebbero essere messe in relazione tra di loro.

A seconda delle aree funzionali, posso


riconoscere operazioni che sono a livello pi
basso e operazioni a livello pi alto. Il
licenziamento lo faccio a livello strategico, il
bilancio lo faccio a livello management. Di
conseguenza avr tipologie di attori diversi. Il
tipo di conoscenze che sono necessarie sono
diverse. Dove si collocano i sistemi informativi?
Si collocano in questa griglia, dove ho diverse
aree, diversi compiti, diversi attori. L'informazione fluisce, deve supportare livelli diversi. A
livello operazionale mi aspetto che un sistema verifichi il non malfunzionamento delle
macchine; a livello strategico deve supportare le decisioni. Ma se gli attori sono diversi, vuol
dire che i diversi sistemi fanno riferimento a conoscenze e sono diverse a seconda del livello a
cui fa riferimento. Sistema che deve matchare con una matrice abbastanza complessa.

SISTEMI RIVOLTI ALLINTERNO:


Supportano le aree funzionali, i processi
di business, le decisioni strategiche
allinterno dellorganizzazione
dellazienda. Ad ogni step viene aggiunta
nuova informazione.

67
SISTEMI RIVOLTI ALLESTERNO:
Coordinano I processi di business con
fornitori, clienti, partners e altri attori
che operano allesterno
dellorganizzazione aziendale.
Gestiscono I flussi di informazione tra
diverse aziende.

FOCUS SULLE APPLICAZIONI INTERNE:


CATENA DEL VALORE: si divide in attivit CORE (aree funzioanli che processano input e
generano output) e DI SUPPORTO (che consentono la realizzazione delle attivit core). I flussi
informativi devono accompagnare tutte queste attivit, sia primarie che di supporto.

CATENA DEL VALORE ESTERNA: se


riesco a coordinare i flussi info tra i
diversi sistemi, la catena del valore
a livello di sistema pu migliorare
la sua efficienza. In un sistema c'
un flusso di info che sale (entra),
ricevuta da un'altra azienda, e che esce, rilasciata a un'altra azienda. Ikea impone ai suoi
fornitori di usare il suo sistema informativi.

LA NASCITA DEI SISTEMI INFORMATIVI: i sistemi informativi non sono cresciuti con una visione
globale, ma acquisendo dei pacchetti, con soluzioni dettagliate. Si parla di applicazioni scritte
da venditori terzi, usate da molte differenti organizzazioni, utili per compiti ripetitivi e
standardizzati.

SISTEMI LEGACY: ogni reparto ha il proprio sistema. Caratteristiche: infrastruttura specifica,


processo inefficiente e con rischi di mancata accuratezza. Impostazione a silos. Quello che a
che fare con gli acquisti aveva il suo sistema di gestione dei dati che non dialoga con chi
gestisce gli ordini o con l'emissione di fatture. un sistema informativo in NON cui ci si dotati
di supporto di gestione dei dati, ma a supporto delle singole attivit. Ho il prodotto che gestisce
il magazzino, gli ordini e il rapporto con i clienti. Ho il sistema che gestisce il personale. Ma
sono sistemi che non sono in relazione tra di loro.

SISTEMA INFORAMTIVO INTEGRATO: mi accorgo che le applicazioni separate e non integrate


fanno perdere efficienza all'impresa. Per 2 motivi: se non utilizzo dati che sono a disposizione

68
in altri ambiti, posso fare di meno; costringe a uno sforzo
di ri-costruzione di informazioni gi acquisite (inutile);
introduce a inconsistenze. Mi consente di generare
un'informazione globale che mi permette di tenere sotto
controllo l'azienda business intellingence.

I vantaggi di un sistema integrato sono la centralit del


punto di accesso (necessaria la conversione
dellinformazione dal sistema legacy). Inoltre i venditori
degli Enterprise Resource Planning (ERP) possono offrire diverse soluzioni: le componenti
possono essere implementate singolarmente (esempio mySAP).

SISTEMA ERP: sistema che offre una suite integrata di applicazioni IT che supporta le
operazioni di unimpresa e non sono limitate a funzioni pianificate. Le attivit supportate dai
sistemi ERP includono tutte le attivit core di unimpresa, incluso il management finanziario,
quello delle risorse umane e le operazioni.

COSE ERP: un sistema multi-dimensionale integrato per tutte le funzioni. Non meramente
limport e lexport dei dati tra i reparti funzionali. Lintegrazione si assicura che la logica di un
processo che passa attraverso le funzioni sia catturata nel modo corretto. Questo implica che il
dato, una volta entrato in un qualsiasi reparto funzionale (indipendentemente dal modulo che
ha emesso quel dato) sia reso disponibile a ogni altro modulo che necessitano quel dato.
Cerca di standardizzare, modellare e integrare le varie operazioni e il flusso di informazioni in
unimpresa tramite la ricerca della sinergia tra le sue componenti che sono uomini, materiali,
denaro, macchinati, tramite lInformation Technology. ERP permette allinformazione di entrare
in un punto del processo e aggiornare un singolo database condiviso per tutte le funzioni che
direttamente o indirettamente dipendono da quellinformazione.

APPROCCIO DEL SISTEMA INFORMATIVO: visione in


cui i tutti i dati (operativit dufficio,
amministrazione, ecc.) sono tutti gestiti in un unico
data warehouse, mantenuto consistente e gestito in
modo tale che il dato una volta immesso sia
mantenuto unico (no copie) e a questo repository di
dati attingono i diversi sistemi che accompagnano le
diverse aree funzionali. Invece di avere una base di

69
dati di magazzino e uno degli acquisiti e clienti, si ha un'unica base di dati in cui si ha
un'anagrafe. Se ho un fornitore che anche cliente, ho scritti una volta sola i dati.

ENTERPRISE RESOURCE PLANNING (ERP): chiedo di essere integrato, integrare le diverse


componenti, accompagnare una logica di processo, in cui le diverse aree funzionali sono
sorgenti di input ma anche destinatari di output, in una logica di processo. Il Sistema
Informativo deve accompagnare questo processo. Devono forzare ad una standardizzazione:
condivisione degli standard tra i vari settori, funzionali al non re-inputtare i dati e fare
verifiche di consistenza. Il sistema deve supportare il fatto che qualora ci sia una modifica da
parte di un sottosistema a un dato, gli altri attori che sono interessasti a quel dato, ne siano
notificati. Se faccio acquisti, quindi aumento il mio magazzino, l'info deve essere notificata al
sistema che gestisce il sito web che mi dice quante scorte in magazzino ci sono.

Si ha un data warehouse largo e centralizzato singolo posto per il salvataggio dei dati e
laccesso. Non detto che tutte le aree possono accedere ai dati delle altre aree, dipende dalle
politiche dei ruoli dell'azienda.

CORE E EXTENDED ERP COMPONENTS: Possono attingere sia le componenti core dell'azienda
(produzione, HR) sia le componenti extendend (hanno a che fare con la logistica in entrata e in
uscita sistemi di gestione degli acquisti e sistemi che gestiscono i clienti).

MODULI DI UN SISTEMA ERP:

LOGISTICA
o Logistica dellapprovvigionamento
o Logistica della produzione: i sistemi di ERP permettono un'elevata capacit di
gestione degli ordini, delle consegne etc. e per tale motivo vengono integrati con
i sistemi di pianificazione e controllo della produzione al fine di migliorare la
produzione stessa:
Produzione a lotti
Produzione ripetitiva
Produzione make to order
Gestione della qualit
Questi moduli sono deputati allintegrazione con i sistemi afferenti alle altre parti
della catena del valore.
o Logistica delle vendite: questi strumenti si incentrano principalmente sulla
gestione delle attivit volte a soddisfare le esigenze del cliente in termini di

70
vendita, come ad esempio la gestione dalla sottoscrizione di un ordine alla
consegna della merce. Moduli tipici:
Gestione ordini
Contratti
Piani di consegna
Gestione delle disponibilit
CONTABILITA: questo modulo un elemento chiave nella gestione dell'impresa, in
quanto consente di gestire la contabilit integrata di tutti i dipartimenti. Moduli:
o Gestione fornitori
o Gestione clienti
o Gestione dei crediti
o Gestione anagrafiche
o Gestione dei libri contabili
o Consolidamento
GESTIONE DELLE RISORSE UMANE: i moduli afferenti a questo insieme stanno
diventando sempre pi diversificati e sempre pi utilizzati dallo staff direttivo d'impresa
al fine di gestire il proprio personale:
o Gestione delle risorse umane
o Gestione e programmazione della formazione
o Gestione note spese
o Gestione orario di lavoro
o Calcolo dei compensi retributivi
o Amministrazione dei benefit
Sono spesso integrati con i software di project e program management per la
pianificazione, il tracking ed il controllo economico delle commesse.
CONTROLLO DI GESTIONE: questo insieme di moduli consente ai manager la
pianificazione del business in relazione ai risultati ottenuti. Questi sistemi sono
essenziali per il controllo finanziario dell'azienda.
o Controllo dei costi
o Contabilit dei centri di profitto
o Analisi delle redditivit
GESTIONE DEL CAPITALE: questi moduli consentono la gestione degli
approvvigionamenti, amministrazione, manutenzione, ecc. Attivit tipiche:
o Manutenzione impianti programmata

71
o Manutenzione impianti relativa a progetto
o Cash flow management
o Budget
o Gestione cespiti

Cosa faccio se eredito una azienda con sistema legacy e voglio passare a un sistema ERP? SAP
e Microsoft Dynamics sono leader di mercato. Il punto forte la customizzazione. Il ruolo
chiave li giocano i consulenti: facendo l'analisi della particolare azienda, aiutano a selezionare
il prodotto che rispetta le esigenze dell'azienda e customizza.

Si ha a che fare con un sistema


costruito per livelli.

APPLICATION
FOUNDATION:
o Reference data:
gestione, settaggio
e aggiornamento
degli standard. Con
che valuta sto
lavorando? Unit di misura, linguaggio, ecc. setto una volta per tutte determinati
parametri.
o Master data: decido che i miei prodotti hanno una certa maniera di essere
catalogati, setto standard rispetto al quale tutte le altre app fanno riferimento.
Modello organizzativo: fisso la catena gerarchica a livello azienda, per sapere chi
e quando pu avere accesso alle diverse informazioni all'interno dell'azienda.
o Global engines: parametri legati al calcolo delle tasse.
APPLICAZIONI ORIZZONTALI:
o Supply Chain Management: servizio per controllare lo stato del magazzino, ecc.
I servizi dipendono dalle esigenze dellazienda. Il come possono essere realizzati questi
sevizi possono essere diversi, ma i dati sono gli stessi. Per passare da un ERP all'altro,
devo avere la garanzia di preservare i dati.
MODULI VERITICALI. App specifiche per determinate categorie/settori.

Anche nei sistemi informativi aziendali, ho un'impostazione per livelli. Il livello superiore
chiamato a dialogare con i livelli inferiori. La piattaforma tecnologica rilevante ( un

72
discrimine). I dati sono indipendenti dal livello tecnologico. In un'organizzazione per livelli, i
diversi ERP hanno questa cosa in comune (coprono aree funzionali in modo orizzontale, sia
core che extended) e poi si specializzano in base ai settori che caratterizzano l'impresa.

Che differenza c tra ladattamento ad un ERP e la costruzione ex novo di un programma per


la mia azienda? Nel primo caso il costo sar nell'adattamento e il vantaggio quello di avere
un prodotto la cui evoluzione mi garantita, perch c' un mondo di clienti che chiedono
miglioramenti e io ne posso beneficiare. Mi devo adattare io, per, a quelle che sono le
caratteristiche del prodotto.

Nel primo caso io adotto Microsoft, mi lego mani e piedi a un certo tipo di tecnologia, ma se mi
faccio fare il lavoro da una software house, mi lego a quella. Se non pi supportata la
tecnologia tra un tot di anni, sono fregato.

Devo pensare non solo alla prospettiva di costo immediato, ma soprattutto devo guardare al
lungo periodo. Investire in sistemi di gestione dell'informazione importante, ma in una
prospettiva di evoluzione. Come potr evolvere questo sistema per migrare, perch il sistema
dura solo tot anni non voglio perdere i dati, per mantenere l'efficienza.

73
APPENDICE 1 ECONOMIA DIGITALE
Economia digitale e marketing digitale: privilegia quelli che sono i beni immateriali.

globale: per loro natura, i processi informatici, non hanno confini geografici
Beni immateriali: hanno valore a prescindere dal suo supporto fisico: quello che conta
il contenuto.
Intensamente interconnessa: sia per la sua globalit (non grande importanza dei confini
geografici) e sia perch i beni digitali non hanno confini temporali, sono disponibili h24,
quindi vi un accesso indiscriminato rispetto al tempo e al luogo. Questo permette una
maggiore interconnessione anche elle diverse culture. La globalizzazione non un
fattore dei nostri tempi. Dei nostri tempi l'accesso alle informazioni in maniera diretta.
Maggiore contaminazione delle informazioni.

Differenze tra economia digitale e tradizionale: dov' il valore all'interno del processo
economico? Nell'economia tradizionale il valore risiedeva nelle risorse scarse (petrolio,
diamanti). Adesso, nell'economia digitale, un prodotto ha valore tanto pi disponibile (se ho
un fax ma nessun'altro ce l'ha, non vale niente il valore d'uso, non valore in s).

Tutti i settori sono stati modificati. L'economia digitale ha cambiato i processi di quasi tutti i
settori (agricoltura biologica, agricoltura intensive, industria turistica (=adesso abbiamo gli
aggregatori di offerte, non abbiamo pi le agenzie di viaggio)). Molti lavori che c'erano un po' di
anni fa, adesso non ci sono pi. cambiato anche il giornalismo, la professione del giornalista,
tra 15-20 potrebbe non esserci pi. La sanit, le politiche sociali e di assistenza, hanno
bisogno di applicazioni e strumenti digitali che permetteranno la nascita di business che
permetteranno l'accudimento la cura e l'assistenza.

Il mondo digitale pervasivo:

Access: informazioni disponibili immediatamente.


Anyone (economico). Esempio industria turistica. I prezzi del viaggio sono
estremamente pi bassi, perch non c' pi attivit intermediazione. Anche per leggere
spendo meno, perch posso avere disposizione materiali sul web. In molti continenti
posso accedere a molte informazioni con un dispendio molto basso di energia elettrica
(grazie alla telefonia mobile) questo consente lo sviluppo di altre infrastrutture,
quindi porta la crescita del paese.
Anytime: h24. azzeramento problemi spazio-temporali.
Anywhere: WiFi - tablet - cellulari
74
Curva di crescita di internet users: dal 1993 al 2016 3.5 miliardi di persone sono connesse
a Internet (40% della popolazione). un fenomeno diffuso, rapidit elevata della crescita. In 6
anni si sono quasi raddoppiati gli utenti.

Impatto forte dell'economia digitale sui consumatori.

I canali sono aumentati (sia di comunicazione che di informazione)


La competizione diventata globale e senza vincoli spazio-temporali (prima chi non
abitava nelle grandi citt non poteva comprare determinate cose / alla fine degli anni
'90 per comprare una macchina bisognava consultare Quattroruote, ecc. adesso non
pi cos). Online aumentata la concorrenza per fornire le informazioni. Cambia il punto
di retail.
I consumatori sono pi abituati ad avere un contatto diretto con il consumatore.
Contatto social dell'azienda, che risponde sempre. Questo cambia l'organizzazione
aziendale interna. Molti soggetti, cercavano di fare politiche di saling (risparmio) sul
settore dei call center, invece l'innovazione ha portato dall'altra parte, portando non
pochi problemi. Impatto rispetto alle strumentazioni aziendali: sistemi informativi di
CRM.

Come sono cambiati i consumatori?

Screen generation: con la maggior diffusione dei canali digitali, i canali tradizionali non
sono del tutto scomparsi. aumentato il consumo di media. 54% del tempo giornaliero
passato davanti ai media.
Multitasking: consumiamo pi media contemporaneamente (partita di calcio +
commento di Twitter). 99% dei telespettatori USA fa altre cose (chat, sms, social,
shopping online) mentre guarda la TV.
Influencers e reporter: cresce moltissimo il materiale autoprodotto. L'utilizzo dei social,
permettono di comunicare quello che noi vediamo (esempio pendolare che comunica
per primo incidente, BBC arriva 10 minuti dopo).
Co-Creazione e mass customization: rapporto pi personalizzato con le aziende. Ci
aspettiamo dii avere offerte molto particolari. Molte aziende quindi abbiano dovuto
cambiare le proprie linee di produzione. Nike permette di personalizzare la scarpa se
comprata sul sito, Apple permette di fare incisione sui propri prodotti. Questo porta a
una diversa politica di produzione (pi veloci e flessibili) bisogna avere prototipi pi
facilmente flessibili.

75
Il nuovo consumatore pi informato e impaziente. Fa molto passa parola: ci stiamo
avvicinando alla consapevolezza che il mercato sta diventando una conversazione (ci
confrontiamo con i nostri pari i consumatori se non sono gi informati si informeranno. 2 tipi di
consumatori:

Nativi digitali: nati dal 95 in poi circa.


Immigrati digitali: cresciuti in epoca analogica.

Devo usare pi politiche.

4P del marketing mix: economia digitale influisce le 4P:

Prezzo: la politica di prezzo una politica che sconta che il consumatore pu cercarsi il
prodotto a un prezzo pi basso
Punti vendita: e-commerce rende molto pi facile l'acquisto del prodotto. prezzo basso
influisce sulla presenza degli intermediari. Gli artigiani piccoli possono vendere i propri
prodotti
Prodotto: cambia il packaging. Deve essere di facile logistica, deve essere pi leggero
perch lo posso spedire pi facilmente
Promozione: politiche stravolte

Come utilizzare i canali digitali?

Analisi: delle conversazioni online e le interazioni, trovando informazioni utili per capire
il consumatore o cambiare il mio prodotto. Product test di Barilla: comunit online, con
coinvolgimento dei consumatori test
Informazione
Delivery: usando e-commerce per concludere il ciclo di acquisto
Engagement: dopo che sono riuscito a vendere il prodotto, gli strumenti digitali mi
permettono di antere i rapporti con il cliente e mantenerlo nella mia base.

Canali digitali per il marketing;

Motori di ricerca: se cerco qualcosa su Google vuol dire che sono interessato. Non si ha
che fare con un consumatore qualunque. Elimino il rumore di fondo, attraggo
consumatori che sono interessati al mio settore.
Email marketing: un po' vecchio ma efficace, soprattutto per le politiche di pro-selling.
Utile nel momento in cui ho gi un rapporto con il consumatore, sai cosa gli pu

76
interessare. Devo avere un buon CRM, fare offerte personalizzate, e conoscere molto
bene il cliente.
Affiliate marketing: strumento che permettono attraverso aggregatori che permettono di
essere visibili su siti pi visibili di noi (trovaprezzo.it, costameno.it, ecc.). Se siamo
piccoli, se da soli non siamo in grado di costruire proposte che siano all'altezza
Mobile marketing: insieme di pratiche che connettono l'interazione attraverso
applicazioni fruibili da dispositivi mobili. Esempio: passo vicino al casin di Venezia, mi
arriva notifica dell'ingresso gratis nel casin.
E-PR: pi complicate. Deve essere utilizzato in maniera preventiva invece di usarlo
come management della crisi. Il motivo proprio perch il mercato un insieme di
conversazioni.
Social media: non solo social network. 6 categorie:
o Social network: relazioni sociali
o Blog: costruiscono reti di informazione
o Progetti collaborativi: Wikipedia
o Mondi di gioco virtuali: reti di relazione mediata di un gioco

77
APPENDICE 2 TESTIMONIANZA CHIEF INFORMATION OFFICIER GRUPPO PAM
Appunti presi molto rudemente

Ospite: ing. Renato Marchi

Chief Information Officer: analisi dei cicli informativi, fluidificandoli.

PROPOSTA PER LA RIORGANIZZAZIONE DELLA DIREZIONE ICT

Obiettivi:

Costruire un sistema di servizi definiti e misurabili per singola attivit e/o fruitore della
stessa.
Avere certezza dei costi (budget e conto economico delle iniziative/attivit/progetti) del
piano a breve/medio termine
Creare condizioni per un miglior rapporto costo/prestazione
Correlare il costo ad un livello di servizio pre-dichiarato e misurabile
Aumentare i livelli di servizio e di qualit - migliore percezione dell'operato
Ridurre i rischi garantendo continuit di business
Rinnovare la squadra, creando e valorizzando professionalit
Assicurarsi sostenibilit e prestazione nel tempo

Su quali leve fa riferimento il modello organizzativo ICT:

Risorse umane: le persone servono per cambiare la cultura aziendale. Collaborazione


con universit
Processi
Prodotti: strumenti, sicurezza, linguaggi utilizzati,
Partner
Clienti

Per quanto riguarda la direzione dei sistemi informativi, si passa da una struttura a silos a una
struttura formati da box, in cui la gestione della domanda gestita da un responsabile che
garantisce la coerenza. Presidio tech: evoluzione dei trend tecnici sempre da tenere sempre
d'accordo. In Italia si fa poco, si dovrebbe fare sinergie. Ci sono anche degli staff che
gestiscono il portafoglio, fanno attivit di segreteria.

78
Differenza tra app e sistema enterprice: architettura che incastra il cliente nella mia
architettura. Le app sono stand alone, le soluzioni enterprice integrano tutti i settori e i fattori.

13. BUSINESS INTELLIGENCE

BUSINESS INTELLIGENCE: Termine coniato nel 1989 da Howard Dresner. Definisce linsieme
dei concetti e delle metodologie e la capacit dellimpresa di accedere, esplorare ed analizzare
le informazioni aziendali. Un'impresa tratta informazione. A partire dall'informazione raccolta,
se non ci si limita a usarla per le operazioni operative, pu diventare una risorsa per la
direzione dell'azienda e determinare le strategie. Compito fondamentale: trasformare i dati in
informazioni a supporto delle decisioni aziendali attraverso lutilizzo della tecnologia. Ho uno
storage di dati, che sono interni e esterni all'azienda. Se riesco a farne una conoscenza utile
all'azienda, divento efficiente.

DATA WAREHOUSE: Raccolta di dati, orientata alla direzione aziendale, integrata, non volatile e
variabile nel tempo, volta a supportare le decisioni del management. Orientato ai soggetti
perch si incentra sui concetti di interesse dellazienda, quali: clienti, i prodotti, le vendite, gli
ordini.
Deve integrarsi con la moltitudine di standard utilizzati dalle diverse applicazioni che
raccolgono i dati; deve ricodificare questi standard in modo univoco prima di immagazzinare i
dati. Non volatile poich laggiornamento dei dati non viene effettuato al suo interno. Pu
essere fondamentalmente considerato come un database a sola lettura. variabile nel tempo
poich mentre i dati operazionali coprono un arco temporale di solito piuttosto limitato, il data
warehouse deve permettere analisi che spazino sulla prospettiva di alcuni anni. Differenza fra
un data warehouse e un qualunque database aziendale: utilizzare i dati contenuti nei database
operazionali per analisi statistiche rilevanti ai fini aziendali praticamente impossibile.

Orientamento al soggetto: I dati vengono archiviati per poter essere facilmente reperiti
ed analizzati dagli utenti. Non si mira a minimizzare la ridondanza, ma piuttosto a fornire dati
che abbiano una struttura in grado di favorire la produzione di informazioni.

CARATTERISTICHE IRRINUNCIABILI:

SEPARAZIONE: lelaborazione analitica (=analizzo il valore medio delle fattura riesco


a ricavare informazioni a fine strategico) e quella transazionale (=generare una fattura)
devono essere il pi possibile separate.

79
SCALABILIT: architettura hardware e software deve essere facilmente
ridimensionabile.

ESTENDIBILIT: deve essere possibile accogliere nuove applicazioni e tecnologie

SICUREZZA: il controllo sugli accessi essenziale (dati strategici)

AMMINISTRABILIT: lattivit di amministrazione non deve essere troppo complessa.

Larchitettura di una data warehouse comprende le seguenti componenti:

BACK-END: in cui vengono gestiti i processi di estrazione, integrazione e trasformazione


dei dati prelevati dal sottosistema informativo operativo dellimpresa e dai sistemi
informativi esterni

GESTIONE DEI DATI: in cui risiedono i dati e i metadati del sottosistema informativo
direzionale.

FRONT-END: sono presenti


le funzioni che consentono
agli utenti di accedere ai
dati per produrre le
informazioni di interesse.

SISTEMA DI DATA WAREHOUSING:


processo di integrazione, poi ho
un processo di elaborazione:
strumenti che interrogano e
analizzano i dati, esportandoli in modo comprensibile da chi deve prendere decisioni. Presente
componente di integrazione.

80
ARCHITETTURA DI
RIFERIMENTO: Back room
dove integrare e
uniformare i dati. Ho un
problema di
memorizzazione in modo
tale da organizzare in modo
efficiente i dati. Ho anche
un problema di accesso
(come si diceva prima). Una
delle cose fondamentali riconciliare i dati: difficilmente si ha una unificazione di tutti i dati in
un unico database aziendale, e non tutti i dati vengono dall'interno.

SISTEMI ETL: permettono la riconociliazione dei dati. Extraction, trasformation, loading.

Extraction:

Sistema informativo centrale (back office)

Applicazioni dipartimentali (front/middle office)

Strumenti di supporto interni

Provider esterni

Trasformation

Attivit di pulizia (analisi di dati scorretti, incosistenti, ridondanti)

Mapping di formati (tool parametrici)

Filtraggio sistematico per attivit di loading

Loading

Caricamento

Strutturazione

Allineamento

Monitoraggio

81
DATA WEBHOUSE: un data warehouse che raccoglie anche dati provenienti dal canale web.
Si distingue dal data warehouse perch tiene conto delle caratteristiche del web. Es. il data
warehouse, per quanto riguarda la necessit di fornire informazioni aggiornate in tempo reale,
risulta avere tempi di risposta insufficienti. Il data webhouse invece reperibile velocemente e
senza interruzioni di disponibilit. Per alimentare il data webhouse devo avere dei filtri che
devono strutturare informazioni semi-strutturate. Parte sempre da un database strutturato
(anche pi di uno), e poi reperisce informazioni sul web.

DATA MART: un data warehouse dipartimentale studiato per soddisfare le esigenze


specifiche di uno o pi utenti. un database tematico, solitamente orientato alla attivit di
marketing. Pu essere considerato un archivio aziendale, contenente tutte le informazioni
relative alla clientela acquisita e/o potenziale. Rappresenta il primo e fondamentale passo
nella predisposizione di un ambiente informativo per lattivit di data mining.
Un data warehouse rappresenta spesso lunione di pi data mart.

OPERAZIONE SUI DATI: una volta che i dati sono stati ripuliti, integrati e trasformati, bisogna
trarne il massimo vantaggio informativo. I dati disponibili per trasformarsi in informazioni ed in
conoscenze utili devono essere: selezionati, confrontati ed elaborati. Le operazioni da svolgere
sui dati sono:

QUERY AND REPORTING: Permettono di esplorare dati aziendali a vari livelli,


recuperando le specifiche informazioni richieste (strumenti di query), e presentandole in
modo chiaro e comprensibile (strumenti di reporting). Linterrogazione comporta in
genere la selezione e laggregazione dei dati multidimensionali: es. pu richiedere gli
incassi mensili durante lultimo trimestre per ciascuna categoria di prodotto. La
presentazione pu essere in forma tabellare oppure grafica (diagramma, istogramma,
torta, ecc.). Un classico esempio la richiesta fatta dalla direzione marketing di una
azienda di estrarre i dati anagrafici di tutti i clienti che hanno acquistato almeno una
volta il prodotto A e il prodotto B contestualmente.

INFORMATION RETRIEVAL: unattivit che estrae da un archivio o da un database dati


o informazioni di interesse. A differenza delle query (che fanno riferimento a basi di dati
strutturate) le tecniche di data retrieval includono approssimazione, ricerca per parole
chiave, ranking, Gestiscono sinonimie e omonimie, organizzano i documenti rispetto a
classificazioni e ontologie e usano tecniche di clusterizzazione dei documenti rispetto a
metriche di similarit. Fasi:

82
Creazione
Informazione
Indicizzazione, organizzazione
Informazione organizzata e indicizzata
Retrieval: ricerca, navigazione.

OLAP (On-Line Analytical Processing): uno strumento di reportistica


multidimensionale, spesso di tipo grafico, che permette di visualizzare le relazioni tra le
variabili a disposizione. Mentre gli strumenti di query e reporting descrivono cosa c in
un database, lOLAP va oltre; utilizzato per rispondere perch certe relazioni sono
vere. Un sistema OLAP necessita che i dati siano organizzati con modelli
multidimensionali detti ipercubi. Gli strumenti OLAP rappresentano il modo migliore per
accedere ai dati di un data warehouse, in quanto lorganizzazione attraverso modelli
multidimensionali si avvicina maggiormente al modo in cui i manager percepiscono la
realt aziendale. Utilizzando lOLAP lutente forma delle ipotesi sulle possibili relazioni
esistenti tra le variabili e cerca delle conferme osservando i dati. Esempio: lanalista
potrebbe ipotizzare inizialmente che le persone con bassi redditi ed un elevato livello di
debiti siano persone ad alto rischio di mancato rimborso di un prestito. Al fine di
verificare tale assunzione lOLAP fornisce una rappresentazione grafica della relazione
empirica tra le variabili reddito, debito e insolvenza. Lesame del grafico pu fornire
indicazioni sulla validit dellipotesi effettuata. Un data cube permette di modellare e
creare viste dei dati rispetto a molteplici dimensioni. Modello dati multidimensionale,
implementabile su un DB relazionale e consente volumi di dati molto grandi. Una
sessione OLAP consiste in un percorso di
navigazione che riflette il procedimento di
analisi di uno o pi fatti di interesse sotto
diversi aspetti e a diversi livelli di dettaglio.
OLAP quindi permette di estrarre informazioni
utili dai database aziendali; diversamente dal
data mining, tuttavia, le ipotesi di ricerca
vengono suggerite dallutente e non scoperte
nei dati. Gli strumenti OLAP rappresentano il
modo migliore per accedere ai dati di un data
warehouse, in quanto lorganizzazione

83
attraverso modelli multidimensionali si avvicina maggiormente al modo in cui i manager
percepiscono la realt aziendale. Operazioni tipiche:

ROLL UP: riassume i dati, salendo nella gerarchia dei concetti per una dimensione o
attraverso la riduzione di una dimensione

il volume totale di vendite per categoria di prodotto e per per regione, per
annotatosi rimuove la dimensione tempo

DRILL DOWN: passa da un livello di dettaglio basso ad un livello di dettaglio alto,


scendendo nella gerarchia o introducendo una nuova dimensione.

Per un particolare prodotto, trova le vendite dettagliate per ogni venditore e per
ogni data.

SLICE AND DICE: select & project. loperazione di SLICE esegue una soluzione di una
dimensione del cubo. Loperazione di DICE definisce un sotto-cubo eseguendo una
selezione di 2 o pi dimensioni. Esempio: vendite delle bevande ne Veneto negli
ultimi 6 mesi

TOP-N: esempio: determinare i 10 prodotti pi venduti ad una certa data e in un


certo magazzino, ordinati per vendite.

L'informazione non arricchita, ma mi permette di gestirla in modo molto pi sofisticato.

DATA MINING: algoritmi e strumenti di modellistica statistica volti a scoprire relazioni


nascoste nella miriade di dati di una determinata organizzazione. Il suo obiettivo
primario fornire informazioni di grande valore all'interno di un processo decisionale.
La frase chiave che riassume l'essenza stessa del data mining : "Supporto alle
decisioni. Il termine data mining utilizzato come sinonimo di Knowledge Discovery in
Databases (KDD). Ci possono essere determinate tecniche di data mining:

regressione

affinit

...

84