Sei sulla pagina 1di 7

PARTE C

RETE DI CALCOLATORI
Una rete di computer è un insieme di dispositivi hardware e software collegati l'uno con
l'altro da appositi canali di comunicazione, che permette il passaggio da un utente all'altro di
risorse, informazioni e dati in grado di essere pubblicati e condivisi.

CLIENT-SERVER MODEL
Il modello client–server è una struttura applicativa distribuita nella quale genericamente un
computer client o terminale si connette ad un server per la fruizione di un certo servizio. Un
server gestisce la maggior parte dei processi e memorizza tutti i dati. Un client richiede dati
o elaborazioni. Il server manda i risultati dell’elaborazione al client.
Un esempio del client-server è il Restaurant service:
- I clienti (client) fanno una serie di richieste (antipasti, bevanda, portata principale e
dessert).
- Queste richieste sono tutte tipicamente fatte ad una persona, il cameriere (server).
- I servizi possono essere forniti da altre persone nel ristorante, tra cui il barista e una
varietà di chef, tuttavia, per il cliente, questi servizi sono forniti da una sola persona, il
cameriere. Il cliente non vuole sapere chi esegue quale servizio. Vorrebbe solo avere
un pasto di alta qualità consegnato in modo tempestivo.

TECNOLOGIE DI TRASMISSIONE
➔ Point-to-point: connette individualmente coppie di macchine
➔ Broadcast: le reti hanno un solo canale di comunicazione che è condiviso
contemporaneamente tra tutte le macchine della rete.
La tipologia point-to-point è composta da link e da nodi e per passare dall'origine alla
destinazione, i messaggi (o pacchetti) possono attraversare uno o più elaboratori (nodi).

TOPOLOGIA DELLE RETI


Esistono 4 tipologie di topologie di rete:
- Bus: ogni computer è collegato con un singolo cavo.
I vantaggi sono: costi ottimizzati; è usato in reti di piccole dimensioni; il suo
funzionamento è facile fa intuire; è facile espandere questa rete, basta estendere il
cavo fino ai nuovi nodi; funziona con trasmissione broadcast. (messaggi unicast,
multicast, etc..).
Gli svantaggi sono: se il cavo si spezza la rete diventa inutilizzabile; le prestazioni
della rete peggiorano se il numero di nodi che trasmettono messaggi aumenta; il
cavo ha delle limitazioni di lunghezza; può essere estremamente lenta in alcuni casi.
- Ring: all'interno di questa rete solo un calcolatore alla volta può trasmettere, quello in
possesso di un particolare messaggio, detto token (gettone).
I vantaggi sono: la trasmissione della rete non è influenzata dal traffico elevato o
dall'aggiunta di più nodi, poiché solo i nodi con token possono trasmettere dati;
economico da installare ed espandere fisicamente.
Gli svantaggi sono: l'aggiunta o l'eliminazione dei computer disturba l'attività di rete;
il guasto di un computer disturba l'intera rete; le macchine potrebbero aspettare
molto, prima di ricevere il token.
- Mesh: è un particolare tipo di rete ad anello in cui i nodi sono collegati tra loro più di
una volta, così da creare canali di comunicazioni alternativi in caso che la rete sia
congestionata, che la linea non funzioni bene o che uno dei nodi abbia
malfunzionamenti.
I vantaggi sono: ogni connessione può gestire il trasposrto di dati autonomamente; è
robusta a varie tipologie di problem sulla rete, è facile individuare l’errore; garantisce
più sicurezza e privacy.
Gli svantaggi sono: configurare e installare la rete risulta più difficile; ci sono
maggiori costi di cablaggio; c’è un accumulo di cablaggio vicino ad ogni nodo.
- Stella: gli elaboratori sono connessi tra loro grazie ad un nodo piazzato nel mezzo,
nodo che si occupa di trasmettere i dati inviati dal computer mittente a tutti gli altri.
I vantaggi sono: i problemi sui nodi esterni non influenzano la rete; un errore su un
cavo non danneggia l’intera rete; aggiungere un nodo è facile.
Gli svantaggi sono: più ampia è la rete più cavi saranno necessari; in caso di
malfunzionamento di un cavo l’unico computer a restare isolato sarà quello connesso
al cavo stesso; in caso di malfunzionamento del nodo centrale, invece, l’intera
trasmissione di rete cesserà di funzionare.
- Tree: possono essere viste come tante reti a stella collegate tra loro in maniera
gerarchica: tutto parte da un nodo di origine, il nodo “padre”, che può essere
collegato tramite un solo canale di comunicazione ad ogni singolo figlio.
I vantaggi sono: risolve il problema del nodo centrale della topologia a stella;
aggiungere un nodo è semplice; facile risalire alla fonte di un problema ed eseguire
manutenzione.
Gli svantaggi sono: richiede molto cablaggio, quindi costosa; diventa difficile
aggiungere molti nodi alla rete; se a non funzionare è il nodo principale, l’intera rete
smetterà di trasmettere dati; se c’è un malfunzionamento ad un nodo padre la sua
intera discendenza resta isolata dalla rete.

ESTENSIONI DELLA RETE


Una LAN (Local Area Network) può essere estesa al massimo per 1 km.
Una WAN (Wide Area Network) si estende a livello nazionale, continentale e mondiale. Esse
NON sono LAN più grandi e sono formate da due elementi:
- host: elaboratori su cui girano programmi
- subnet: insieme di connessioni tra i vari Host

PROTOCOLLI
La comunicazione tra le varie entità all’interno delle reti è gestita da un protocollo. Per
protocollo di rete si intende una definizione formale a priori delle modalità di interazione che
due o più apparecchiature collegate tra loro devono rispettare per eseguire una
comunicazione e interessa il lato software. Per ridurre la complessità dei protocolli di rete,
generalmente i protocolli sono suddivisi in livelli. Lo scopo di ogni di un livello è di offrire
alcuni servizi ai livelli più alti, nascondendo a questi livelli come questi servizi sono
realmente svolti.
Il livello n su una macchina porta avanti una comunicazione con il livello n di un’altra
macchina. Questa comunicazione è chiamata protocollo di livello n. Le entità che effettuano
questa conversazione sono chiamate peer entity (e.g., software, mezzi hardware o persone).
La conversazione tra il livello n di una macchina ed il livello n di un’altra macchina è
realizzato attraverso i servizi offerto dal livello inferiore (n-1).
TIPOLOGIA DI SERVIZI
Ci sono due principali classi di servizi offerti da un livello a quello superiore:
- servizi connection-oriented: sono modellati secondo il sistema telefonico, dove per
parlare con qualcuno si alza il telefono, si chiama, si parla e poi si riattacca.
- servizi connectionless: sono modellati secondo il sistema postale: ogni lettera
viaggia indipendentemente dalle altre; arriva quando arriva, e forse non arriva.
Inoltre, due lettere con uguale mittente e destinatario possono viaggiare per strade
diverse.

AFFIDABILITÀ’ DEL SERVIZIO


Un servizio è generalmente caratterizzato dall'essere o no affidabile (reliable). Un servizio
affidabile non perde mai dati, cioè assicura che tutti i dati spediti verranno consegnati al
destinatario. Ciò generalmente richiede che il ricevente invii un acknowledgement
(conferma) alla sorgente per ogni pacchetto ricevuto. Questo ovviamente aumenta la
complessità dei servizi e richiede uno scambio di messaggi maggiore all’interno della rete.
Viceversa, un servizio non affidabile non offre la certezza che i dati spediti arrivino
effettivamente a destinazione.

MODELLO OSI
Iniziamo ad esaminare due importanti realtà nel mondo delle reti:
- OSI Reference Model;
- Internet Protocol Suite (detta anche architettura TCP/IP).
Un modello di riferimento è cosa diversa da un'architettura di rete: il modello di riferimento
definisce il numero, le relazioni e le caratteristiche funzionali dei livelli, ma non definisce i
protocolli effettivi. L’architettura di rete definisce, livello per livello, i protocolli effettivi.
L’OSI nasce nel 1984 dal frutto del lavoro della ISO, ed ha lo scopo di fornire un modello
rispetto a cui confrontare le varie architetture di rete e non include di per sè la definizione di
protocolli specifici. Il modello OSI possiede dei principi di progetto: ogni livello deve avere un
diverso livello di astrazione e una funzione ben definita.
Il modello OSI ha 7 livelli:
- fisico: ha a che fare con la trasmissione di bit "grezzi" su un canale di
comunicazione. Gli aspetti di progetto sono volti a garantire che se parte un 1, arrivi
effettivamente un 1 e non uno zero e largamente riguardanti le caratteristiche
meccaniche, elettriche e procedurali delle interfacce di rete (componenti che
connettono l'elaboratore al mezzo fisico) e le caratteristiche del mezzo fisico.
- data link: ha lo scopo di far sì che un mezzo fisico trasmissivo appaia, al livello
superiore, come una linea di trasmissione esente da errori di trasmissione non
rilevati.
- network: ha lo scopo di controllare il funzionamento della subnet di comunicazione.
- transport: ha lo scopo di accettare dati dal livello superiore, spezzettarli in pacchetti,
passarli al livello network ed assicurarsi che arrivino alla peer entity che si trova
all'altra estremità della connessione. In più, fare ciò efficientemente, isolando i livelli
superiori dai cambiamenti della tecnologia di rete sottostante.
- session: il compito principale è di coordinare il dialogo tra utenti basandosi sul
servizio offerto dal livello di trasporto, offrendo i medesimi servizi offerti dal livello di
trasporto (apertura-chiusura collegamento, connessione e trasferimento dati). Si
occupa anche della sincronia di invio/ricezione messaggi
- presentation: è interessato alla sintassi ed alla semantica delle informazioni da
trasferire. Si occupa di trasferire dati standard da rappresentazioni specifiche delle
piattaforme Hardware di partenza in una rappresentazione ‘on the wire’ e poi in
quella specifica dell’HW di arrivo.
- application: ha l’obbiettivo di interfacciare utente e macchina, sta prima del livello
transport e svolge il lavoro utile per l’utente. Fornisce un insieme di protocolli che
operano a stretto contatto con le applicazioni.

TCP/IP reference model


A differenza del modello ISO/OSI sono presenti 4 livelli:
- host-to-network
- internet
- transport
- application

SOTTOLIVELLO MAC
I protocolli per decidere chi è il prossimo a trasmettere su un canale broadcast
appartengono ad un sottolivello del livello data link, detto sottolivello MAC. Questo
sottolivello fa parte del livello DATA LINK.

PROTOCOLLO ALOHA
Esistono due versioni :
- Pure Aloha: le stazioni trasmettono quando vogliono, però durante la trasmissione
ascoltano il canale e confrontano ciò che ricevono con ciò che hanno spedito. •
Dunque, se si verifica una collisione se ne accorgono, e in tal caso, dopo aver
lasciato passare una quantità di tempo casuale, ritrasmettono il frame. La scelta di
attendere per una quantità di tempo casuale discende dal fatto che altrimenti una
collisione ne ricrea infinite altre.
- Slotted Aloha: per diminuire il tempo di vulnerabilità di questo metodo (ovvero
diminuire le possibilità che dei frame collidano), è stato proposto un protocollo in cui
le stazioni non possono iniziare a trasmettere quando vogliono, ma solo all'inizio di
un intervallo di tempo (slotted time).
LIVELLO NETWORK
Il livello network è incaricato di muovere i pacchetti dalla sorgente fino alla destinazione
finale, attraversando tanti sistemi intermedi (router) della subnet di comunicazione quanti è
necessario. Ciò è molto diverso dal compito del livello data link, che è di muovere
informazioni solo da un capo all'altro di un singolo canale di comunicazione.
Un algoritmo di routing è quella parte del software di livello network che decide su quale
linea di uscita instradare un pacchetto che è arrivato: in una subnet non orientata alla
connessione l'algoritmo viene applicato ex novo ad ogni pacchetto; in una subnet basata su
circuiti virtuali (quindi orientata alla connessione ) l'algoritmo viene applicato solo all’inizio
della creazione del circuito. Gli algoritmi si dividono in:
- algoritmi non adattivi (static routing): le decisioni di routing sono prese in anticipo,
all'avvio della rete, e sono comunicate ai router che poi si attengono sempre a quelle;
- algoritmi adattivi (dynamic routing): le decisioni di routing sono riformulate (sulla
base del traffico, della topologia della rete, ecc.) molto spesso.

PROTOCOLLO IP
E’ un protocollo datagram, quindi non connesso e non affidabile, che riceve i dati dal livello
transport e li incapsula in pacchetti di dimensione massima pari a 64 kbyte. I dispositivi
collegati alla rete e che usano il protocollo IP vengono identificati univocamente grazie ad un
indirizzo particolare chiamato indirizzo IP, formato da 32 bit. Per permettere una migliore
organizzazione della rete, gli indirizzi disponibili sono stati suddivisi in 5 classi, di cui solo le
prime 3 possono essere utilizzate per assegnare indirizzi agli host:
- 126 network di classe A, le quali possono contenere 16 milioni di host ciascuna;
- 16382 network di classe B, con circa 64.000 host ciascuna;
- 2 milioni di network di classe C, con 254 host ciascuna

HTTP
L'HyperText Transfer Protocol (HTTP) (protocollo di trasferimento di un ipertesto) è un
protocollo a livello applicativo usato come principale sistema per la trasmissione
d'informazioni sul web, ovvero in un'architettura tipica client-server. È gestito da un software
(server HTTP) residente sugli host che intendono essere fornitori di informazioni. Chi vuole
accedere alle informazioni fornite dal server HTTP deve utilizzare un software client
(browser) in grado di interpretare le informazioni inviate dal server. Il client esegue una
richiesta e il server restituisce la risposta. Nell'uso comune il client corrisponde al browser ed
il server la macchina su cui risiede il sito web. Vi sono quindi due tipi di messaggi HTTP:
messaggi richiesta e messaggi risposta.

HTML (HYPERTEXT MARKUP LANGUAGE)


E’ un linguaggio di markup, ovvero un insieme di regole che descrivono i meccanismi di
rappresentazione (strutturali, semantici) di un testo. Attualmente è usato per definire la
rappresentazione di una pagina web.
Una pagina HTML è un documento che contiene dei tag che indicano come gli elementi
dovranno apparire su di uno schermo ed è rappresentata da un file di testo. Hanno un tag di
apertura ed un tag di chiusura e altri come <html>, <head> e <body>.

SICUREZZA DELLA NETWORK


Quando ci riferiamo alle network in termini di sicurezza, possiamo avere due possibili
modelli da dover gestire:
➔ Il modello di network aperta: riguarda network che partecipano all’internetworking o
che possiedono collegamenti esterni verso altre network
➔ Il modello di network chiusa: possiede una comunicazione limitata alle sue risorse
ed elaboratori interni.
La vulnerabilità è una debolezza inerente a ogni rete e dispositivo. Ciò include router,
switch, desktop, server e persino dispositivi di sicurezza. Le minacce sono le persone
indesiderate ed in grado di sfruttare ogni debolezza della sicurezza e cercano
continuamente nuovi punti deboli.
Le vulnerabilità si dividono in:
- Vulnerabilità tecnologiche: le tecnologie informatiche e di rete presentano carenze
intrinseche nella sicurezza.
- Vulnerabilità nelle configurazioni: gli amministratori di rete o i tecnici di rete
devono sapere quali sono i punti deboli della configurazione e cercare di configurare
correttamente i dispositivi di elaborazione e di rete per compensare.
Le minacce che attaccano una network eseguono principalmente due tipologie di attacchi:
- Attacchi Passivi: lo scopo è rubare e carpire informazioni interessanti
- Attacchi Attivi: lo scopo è alterare o danneggiare le informazioni.

FIREWALL
Un firewall è un componente per la sicurezza informatica avente lo scopo di controllare gli
accessi alle risorse di un sistema filtrando tutto il traffico che tale sistema scambia con
l'esterno.

TCP ATTACK
Richiama il funzionamento del protocollo IP. Gli utenti finali creano dei pacchetti IP e i router
li elaborano esclusivamente in base all'indirizzo di destinazione. Problema: gli host finali
possono mentire su altri campi che non influiscono sulla consegna. L'host può indurre la
destinazione a credere che il pacchetto provenga da una fonte attendibile. Soluzione:
utilizzare metodi di autenticazione migliori. Le connessioni TCP hanno uno stato associato:
numeri di sequenza di partenza, numeri di porta. Problema: cosa succede se un utente
malintenzionato impara questi valori? A volte i numeri di porta sono ben noti. I numeri di
sequenza vengono talvolta scelti in modi molto prevedibili.

CRITTOGRAFIA
La necessità di nascondere messaggi strategici da occhi nemici è antica quanto l'uomo.
La crittografia o criptografia è la branca della crittologia che 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.
Metodi di cifratura storici:
- Scitala Spartana (V sec. a.C.)
- telegrafo ottico di Polibio
- Cifrario di Cesare (I sec. a.C.)
- Enigma
La crittografia si può suddividere in due maggiori tipologie:
➔ Crittografia simmetrica: si faceva uso di un'unica chiave sia per proteggere il
messaggio che per renderlo nuovamente leggibile. Il problema era condividere la
chiave di cifratura con il destinatario del messaggio criptato senza che questa
venisse scoperta.
➔ Crittografia asimmetrica: la vera novità del secolo scorso è l'invenzione di una
tecnica crittografica che utilizza chiavi diverse per cifrare e per decifrare un
messaggio, facilitando incredibilmente il compito di distribuzione delle chiavi. Infatti in
questo caso non è necessario nascondere le chiavi o le password: c'è una chiave per
crittografare (che chiunque può vedere) e una per decifrare, che conosce solo il
destinatario senza necessità quindi di riceverla (scambiarla) dal mittente.
Quindi ad ogni attore coinvolto nella comunicazione è associata una coppia di chiavi:
➔ La chiave pubblica, che deve essere distribuita e serve per criptare;
➔ la chiave privata, appunto personale e segreta, che serve a decodificare;

BITCOIN
Il bitcoin è la prima e più diffusa tra le cosiddette criptovalute. È un "valore" concordato tra
le parti sulla base della "legge della domanda e dell'offerta", infatti il loro valore è cioè
determinato esclusivamente dalla legge della domanda e dell'offerta.
Il protocollo Bitcoin, comunemente indicato con l'iniziale maiuscola per distinguerlo dalla
moneta, utilizza un complesso sistema di crittografia per gestire gli aspetti funzionali del
bitcoin, come la generazione di nuova valuta o l'attribuzione di proprietà.
Quando un "utente A" (Amy) trasferisce criptovaluta a un "utente B" (Jerry), attraverso una
connessione diretta da computer a computer (il peer-to-peer), aggiunge alle proprie monete
la chiave pubblica di B e autorizza la transazione firmandola con la propria chiave privata (la
propria "firma"). La transazione viene inviata sulla rete peer-to-peer, dove viene controllata e
registrata da tutti i nodi (gli elaboratori) che partecipano alla rete.

Potrebbero piacerti anche