Reti e sistemi informativi
Capitolo 1 - Reti di calcolatori e internet
Internet è una rete ad accesso pubblico che connette vari dispositivi in tutto il mondo. Questi dispositivi sono detti host oppure end system (sistemi periferici) e sono connessi tra loro tramite una communication link (rete di collegamenti) e packet switch (commutatori di pacchetti).
I collegamenti possono essere costituiti da varie tipologie con relative velocità di rete. Due host collegati alla rete suddividono i dati che si scambiano in pacchetti, che trasmettono tramite router (posti nel nucleo della rete) o tramite link-layer switch (commutatori a livello di collegamento) sulle reti di accesso.
Path (percorso) è la sequenza di collegamenti e commutatori attraversati da un pacchetto per arrivare da un end-system all’altro. I sistemi periferici accedono a internet tramite internet service provider (ISP), un insieme di commutatori di pacchetto e collegamenti che, sotto sottoscrizione di contratto, forniscono ai clienti diversi tipi di accesso alla rete.
Tutti i nodi all’interno della rete, per comunicare tra loro, fanno uso di protocolli, che sono definizioni del formato e dell’ordine dei messaggi scambiati. Questi protocolli garantiscono interoperabilità, cioè che un terminale possa comunicare efficacemente con un altro terminale senza conoscerne le caratteristiche implementative.
Standard internet
Gli standard internet sono sviluppati dall’Engineering Task Force (IETF) e consistono in specifiche normative di una tecnologia o metodologia applicabile su Internet.
- Uno standard nasce come internet draft pubblicato da IETF.
- Può essere promosso a request for comments (RFC), cioè un documento che propone uno standard e richiede simultaneamente proposte di miglioramento a tutti gli esperti.
- Questo, una volta supervisionato ed approvato, diventa un vero e proprio standard.
Si parla di standard de facto per riferirsi ad architetture e protocolli di ampia diffusione e dominio pubblico, ma non normate. Gli standard de iure, invece, sono ufficializzati da enti come ISO.
Struttura di internet
L’accesso a internet avviene tramite un fornitore di servizi o internet service provider (ISP). Gli ISP sono collegati tra loro secondo una struttura gerarchica (ISP locali -> ISP nazionali). Gli ISP nazionali si collegano a fornitori di connettività internazionali che sono a loro volta collegati in punti di interscambio detti network access point (NAP).
Servizi internet distribuiti
Internet può essere vista come una piattaforma che fornisce servizi alle applicazioni, dette applicazioni distribuite perché coinvolgono più sistemi periferici che si scambiano reciprocamente dati. L’applicazione deve fornire delle API (application programming interface) che specificano come un modulo software possa servirsi di internet per recapitare dati ad un altro modulo software residente su un altro terminale collegato alla rete stessa.
Sistemi periferici
Sistemi periferici sono tutti i dispositivi connessi alla rete che si trovano ai confini della stessa (calcolatori, smartphone, server, ecc.); vengono anche detti host in quanto ospitano ed eseguono i programmi applicativi.
Reti di accesso (access network)
Reti di accesso sono quelle reti che connettono fisicamente un sistema al suo edge router (router di bordo), cioè il primo router sul percorso verso la destinazione.
Accesso residenziale
- Accesso di tipo DSL (Digital Subscriber Line): viene fornito da una compagnia telefonica che assume il ruolo di ISP. Il modello DLS converte i dati digitali in toni ad alta frequenza per poterli trasmettere alla centrale locale sul cavo telefonico. ADSL -> l’accesso è asimmetrico in quanto la velocità di trasmissione e di ricezione sono diverse.
- Accesso di tipo dial-up: consiste in una connessione di tipo non permanente, dove la banda utilizzata è quella fonica a bassa frequenza, che viene occupata tramite una composizione di una numerazione telefonica utilizzando programmi Dialer.
- Accesso di tipo FTTH (fiber to the home): fornisce un collegamento in fibra ottica dalla centrale locale direttamente alle abitazioni.
Accesso aziendale
- Rete locale (LAN, Local area network): area di collegamento che copre un’area limitata e utilizza tecnologia ethernet (LAN) oppure wireless (WLAN, senza l’uso di cavi).
Accesso wireless su scala geografica
- 3G wireless di terza generazione.
- 4G wireless di quarta generazione.
Nucleo della rete
Commutatori di pacchetto
Ciascun flusso di dati che si scambiano le applicazioni distribuite viene diviso in parti piccole detti pacchetti. Per raggiungere il destinatario, questi pacchetti viaggiano attraverso diversi commutatori di pacchetto posti sul path. Ogni pacchetto è composto da un:
- Header: utilizzato ai fini dell’identificazione e gestione.
- Payload: contiene i dati veri e propri.
Store and forward
La maggior parte dei commutatori utilizza la trasmissione store-and-forward. Ciò significa che il commutatore deve ricevere l’intero pacchetto e storarlo in un buffer prima di poter cominciare la trasmissione in uscita.
Se T è il tempo di trasmissione tra un host e il commutatore (numero bit/velocità mezzo), allora il tempo totale di trasmissione tra due host che vogliono scambiare un pacchetto attraverso un router è pari a 2T. Il tempo di trasmissione di P pacchetti attraverso un router è (P+1)T. Il ritardo totale per una trasmissione di P pacchetti su un percorso di N router è pari a (P+N)T.
Ritardi di accodamento e perdita di pacchetti
I ritardi di accodamento vanno a incrementare i tempi di trasmissione di un pacchetto. Un pacchetto in arrivo che richiede l’invio attraverso un determinato collegamento, ma lo trova occupato dalla trasmissione di un altro, deve accodarsi nel buffer di output (coda). Dato che la dimensione del buffer è finita, può accadere che un pacchetto in arrivo trovi il buffer completamente pieno (perdita di pacchetto, packet loss).
Tabella di inoltro e protocolli di instradamento
Un router prende un pacchetto in arrivo da un suo collegamento e lo inoltra su un altro dei suoi collegamenti. Esistono diversi modi, a seconda del tipo di rete, tramite i quali un router può determinare su quale collegamento inoltrare il pacchetto.
In Internet, ogni end-system ha un indirizzo IP. Ogni pacchetto che percorre la rete contiene nella sua intestazione (header) l’indirizzo IP della sua destinazione. Ogni router ha una tabella di inoltro (forwarding table) che mette in relazione gli indirizzi di destinazione con i collegamenti in uscita del router stesso. Quando il pacchetto giunge a un router, quest’ultimo esamina l’indirizzo della destinazione e consulta la propria tabella per determinare il collegamento uscente appropriato verso cui dirigere il pacchetto in uscita.
Commutazione a circuito
Differenze tra commutazione a pacchetto e commutazione a circuito
Commutazione a pacchetto: i messaggi utilizzano le risorse di rete (il canale) solo quando necessario. Commutazione a circuito: le risorse richieste per la comunicazione tra due end-system sono riservate per l’intera durata della sessione di comunicazione ed inoltre, prima che la comunicazione avvenga, la rete deve stabilire una connessione (circuito) end-to-end tra mittente e destinatario, con capacità trasmissiva assegnata. Offre una maggiore garanzia di ricezione dei pacchetti, che viaggiano su canali dedicati. Non esiste il problema della congestione.
Svantaggio commutazione a circuito
I circuiti dedicati sono inutilizzati durante un periodo di silenzio e non possono essere sfruttati da altre connessioni.
Multiplexing
Un circuito all’interno di un unico collegamento è realizzato tramite multiplexing a divisione di frequenza (FDM) o multiplexing a divisione di tempo (TDM).
- FDM: lo spettro di frequenza di un collegamento viene suddiviso tra le diverse connessioni. Nello specifico viene dedicata un’ampiezza di banda (bandwidth) a ciascuna connessione.
- TDM: il tempo viene suddiviso in frame (intervalli) di durata fissa, a loro volta ripartiti in un numero fisso di slot temporali.
Problematiche commutazione di pacchetto
L’architettura della rete stessa e i mezzi materiali costitutivi limitano necessariamente il throughput (quantità di bit al secondo) e introducono ritardi e perdite.
Ritardo di elaborazione
- Il tempo richiesto per esaminare l’header del pacchetto e per determinare dove dirigerlo fa parte del processing delay. Dopo l’elaborazione, il router dirige il pacchetto verso la coda in uscita.
Ritardo di accodamento
- Una volta in coda, il pacchetto subisce un queuing delay mentre attende la trasmissione sul collegamento. Cambia dinamicamente in funzione della dimensione della coda. Rappresenta la componente più complessa del ritardo totale in quanto è una grandezza variabile in funzione della velocità di arrivo sulla coda, della velocità di trasmissione del collegamento e della natura del traffico.
- La/R > 1: la velocità media di arrivo dei bit supera la velocità alla quale vengono ritrasmessi in uscita; in questa situazione la coda tenderà a crescere all’infinito e con essa il ritardo di accodamento. a = velocità media di arrivo dei pacchetti.
- La/R <= 1: la velocità in uscita è più alta di quella in entrata e sul ritardo alla coda (packet/s) accodamento influisce la natura del traffico. Se l’intensità di traffico è vicina a zero, R = velocità di trasmissione (bit/s). La = velocità media dei bit accodamento.
Ritardo di trasmissione
- Sia L la lunghezza del pacchetto in bit ed R la velocità di trasmissione del collegamento tra router A e router B; il transmission delay è dato da L/R e misura il tempo effettivamente impiegato per trasmettere tutti i bit del pacchetto sul collegamento.
Ritardo di propagazione
- Il propagation delay misura il tempo impiegato da un bit immesso sul collegamento per propagarsi fino al router B. Il bit viaggia alla velocità di propagazione del collegamento, che dipende dunque dal mezzo fisico. È dato da d/v, dove d è la distanza e v la velocità di propagazione.
Perdita di pacchetti
Un pacchetto in arrivo può trovare la coda piena (buffer overflow) e il router lo elimina, facendo così perdere il pacchetto.
Ritardo end-to-end
Rappresenta il ritardo misurato per inviare un pacchetto dalla sorgente alla destinazione.
Throughput e goodput
Throughput è l’indice dell’effettivo utilizzo della capacità dei link. Il throughput istantaneo in ogni istante di tempo è la velocità in bps alla quale un host di destinazione sta ricevendo un file da una sorgente. Il throughput medio del trasferimento è pari a F(numero bit)/ T(tempo trasferimento).
Goodput è la quantità di dati utili trasmessi nell’unità di tempo del throughput, scartando le informazioni di overhead associate ai protocolli e gli eventuali pacchetti rinviati.
Architettura a livelli
Un’architettura a livelli consente di definire singole parti specifiche e ben definite di un sistema articolato e complesso e rende inoltre possibile cambiare l’implementazione del servizio fornito da un determinato livello. Ciascun protocollo di rete è dunque organizzato in livelli o strati che offrono dei servizi ai livelli superiori. L’insieme dei protocolli dei vari livelli è detto pila di protocolli (protocol stack) e per Internet consiste di cinque livelli, anche se il modello di riferimento proposto da OSI ne consta sette.
Livello applicazione
L’application layer è la sede delle applicazioni di rete e include molti protocolli quali HTTP (richiesta e trasferimento dei documenti web), SMTP (trasferimento messaggi posta elettronica) e FTP (trasferimento di file tra due sistemi remoti), DNS (traduzione di nomi di host in indirizzi di rete). È distribuito su più sistemi periferici, il che significa che un’applicazione di un end-system scambia pacchetti di informazione, tramite il protocollo, con l’applicazione di un altro end-system. È come se si scambiassero messaggi direttamente, anche se il pacchetto passa attraverso tutti i livelli.
Livello di trasporto
Il transport layer fornisce un canale logico-affidabile di comunicazione end-to-end per pacchetti chiamati in questo livello segmenti.
- Funzionalità: un servizio che stabilisce una connessione persistente all’host e la chiude quando non necessaria.
- Verifica dell’ordine di consegna ed eventuale riordinamento.
- Verifica delle perdite ed eventuale ritrasferimento dei pacchetti.
- Controllo di flusso (sincronizzazione delle trasmissioni in caso di velocità di trasmissioni diverse).
- Controllo di congestione che riconosce lo stato di congestione e adatta di conseguenza la velocità.
- Multiplexazione che permette di stabilire diverse connessioni contemporaneamente tra due stessi host (astrazione delle porte).
In Internet i protocolli di trasporto più diffusi sono:
- TCP (transmission control protocol): fornisce un servizio orientato alla connessione, include la consegna garantita dei messaggi e il controllo di flusso, segmenta i messaggi lunghi e fornisce un meccanismo di controllo della congestione. Grazie a queste caratteristiche rende affidabile la rete ma non garantisce prestazioni in termini di tempo.
- UDP (user datagram protocol): fornisce un servizio connectionless senza affidabilità (in quanto non garantisce riordinamento e ritrasmissione), e senza controllo di flusso e della congestione. Ha come vantaggi quello di essere rapido ed efficiente per applicazioni come ad esempio la messaggistica istantanea.
Livello di rete
Il network layer si occupa di trasmettere logicamente i pacchetti, detti datagrammi, tra due host arbitrari, che in generale non sono direttamente connessi. In sostanza, si occupa di instradamento e indirizzamento verso la giusta destinazione attraverso il path di rete più appropriato.
- Funzionalità: Inoltro (forwarding) ovvero ricevere un pacchetto su una porta, immagazzinarlo e ritrasmetterlo.
- Frammentazione e riassemblaggio dei pacchetti.
- Instradamento (routing) verso il percorso ideale tramite algoritmi dinamici che contengono informazioni sulle condizioni della rete, le tabelle di instradamento e le priorità del servizio.
Livello di collegamento
Il link layer riceve datagrammi dal livello di rete e forma i frame che vengono passati al livello sottostante.
- Funzionalità: in trasmissione raggruppare i bit provenienti dal livello rete in frame e mandarli al livello fisico.
- In ricezione controllare e gestire gli errori di trasmissione.
- Controllo di flusso.
- Operare una multiplazione per l’accesso condiviso dello stesso canale fisico.
Esempi di protocolli appartenenti a questo livello sono: ethernet, wifi e il protocollo di accesso alla rete DOCSIS. Il datagramma potrebbe essere gestito da protocolli differenti lungo il suo tragitto.
Livello fisico
Il physical layer ha il ruolo di trasferire i singoli bit pacchettizzati nel frame da un nodo a quello successivo, occupandosi dunque della conversione adatta al mezzo trasmissivo. Gli standard che fanno parte di questo protocollo definiscono:
- Le caratteristiche fisiche del mezzo trasmissivo (forma, dimensioni, numero pin).
- Le caratteristiche funzionali (significato dei pin).
- Le caratteristiche elettriche (valori tensione per i livelli logici, la codifica e la durata di ogni bit).
- La codifica del segnale digitale su un mezzo trasmissivo che è analogico.
Modello OSI
Prevedeva sette livelli ed aggiungeva allo stock dei livelli già visti per internet il livello di presentazione e il livello di sessione.
Livello di presentazione
- Fornisce servizi che permettono ad applicazioni che vogliono comunicare di interpretare il significato dei dati scambiati. Comprende comprensione e cifratura dei dati.
Livello di sessione
- Fornisce la delimitazione e la sincronizzazione dello scambio dei dati. In internet, questi due livelli sono incorporati nel livello applicazione e nel livello di trasporto per ridurre la complessità.
Implementazione livelli
Solitamente i router e i commutatori non implementano tutti i livelli della pila di protocolli ma solo quelli inferiori. Gli host, invece, implementano tutti e cinque i livelli, coerentemente con l’idea che l’architettura internet ponga la maggior parte della sua complessità alla periferia della rete.
Incapsulamento (imbustamento)
Presso un host mittente, un messaggio a livello di applicazione M viene passato al livello di trasporto. Questo gli concatena informazioni aggiuntive (informazioni di intestazione di livello) H che saranno utilizzate e scorporate nel livello di trasporto dell’host ricevente. Il messaggio del livello di applicazione concatenato con le informazioni di intestazione del trasporto costituiscono il segmento del livello di trasporto, che di fatto incapsula il messaggio del livello di applicazione. Questo meccanismo di passaggio e arricchimento si itera per ogni livello, andando così a formare un datagramma a livello di rete, un frame a livello di collegamento. Finita la fase di arricchimento ed arrivati al livello fisico, questo si collega con il livello fisico dell’host ricevente che inizia la fase di impoverimento, scorporando ad ogni livello l’header relativo e passando il payload al livello superiore. Ciascun livello del pacchetto ha due tipi di campi: un header, aggiunto dal livello stesso, e un payload proveniente dal livello superiore.
Cenni sulla sicurezza
Malware è qualsiasi programma usato per disturbare le operazioni svolte dal computer.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Riassunto esame Informatica e sistemi informativi, Prof. Tornieri Francesco, libro consigliato Sistemi informativi …
-
Riassunto esame Sistemi Informativi, prof. C. Cappiello
-
Riassunto esame, prof. Roberto, libro consigliato Ict, Sistemi Informativi e Mercati Digitali, Schneider, Cariglian…
-
Riassunto esame Management dei sistemi informativi, prof. Morabito, libro consigliato Management dei sistemi inform…