

















Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una panoramica generale dei concetti fondamentali delle reti di computer, esplorando l'architettura a livelli, i protocolli di comunicazione e le tecnologie di rete. I diversi livelli del modello osi, i protocolli ip e tcp, le diverse tipologie di reti locali e geografiche, e le architetture client-server e distribuite. Offre una base solida per comprendere i principi di base delle reti di computer e le loro applicazioni.
Tipologia: Schemi e mappe concettuali
1 / 25
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!


















Struttura, architettura e componenti dei sistemi di elaborazione ARCHITETTURA DI VON NEUMAN Abbiamo varie tipologie di calcolatori in base alle sequenze di istruzioni e alle sequenze di dati: SISD ( Single Instruction. Single Data) equivale alla macchina di von Neumann SIMD (Single Instruction. Multiple Data) single istruzioni possono computare sequenze di dati; MISD (Multiple Instruction. Single Data) non è un modello di implementazione reale; MIMD (Multiple Instruction. Multiple Data) più unità di calcolo su più sequenze di dati nello stesso tempo. Il modello di von Neumann mette in chiaro che la macchina deve funzionare in questo modo: il software cioè i programmi intesi come sequenze di istruzioni servono per ottenere i risultati e l’hardware in quanto elemento elettronico inteso come unità materiali deve eseguire le istruzioni del software. Questo concetto fu poi portato avanti da Alan Turing con la macchina di Turing. Poi cosa fa? Neumann stabilisce che il software deve essere rappresentato con il sistema numerico in base due, cioè il sistema binario in modo che l’hardware sia più immediato decodificare i programmi, dato che doveva basarsi solo sulle differenze di potenziale elettrico a due soli livelli. Per l’hardware allora propone una struttura di tipo modulare cioè diverse unità con compiti specifici devono interagire tra loro in modo sincronizzato tramite un modulo di collegamento, il bus. Le unità funzionali di questo modello sono: Processore: è l’unità di calcolo che esegue le istruzioni del software; Memoria: è il contenitore del software e dei dati; Input/Output: sono i moduli attraverso i quali fornire i dati o raccogliere i risultati; Bus: è l’elemento di interconnessione delle suddette unità funzionali. La memoria centrale contiene delle celle in queste celle vengono messe o prelevate le istruzioni del software e i dati di input e output. Ogni cella è grande un byte e ogni cella possiede un indirizzo( address ). Gli indirizzi delle celle partono da zero e l’indirizzo dell’ultima cella è il numero totale delle celle della memoria meno uno dato che partono da zero. L’insieme di tutte le celle di memoria è detto spazio degli indirizzi. L’ampiezza di questo spazio dipende dall’ampiezza del bus di indirizzi, cioè se il numero delle linee del bus indirizzi vale n allora lo spazio degli indirizzi vale 2volte no e gli indirizzi di quella memoria vanno da 0 a 2 volte n-1. Il contenuto nella cella di memoria si conserva fi quando la memoria è alimentata, e perde i contenuti tutte le volte che la macchina viene spenta, essendo una memoria volatile. La memoria è realizzata in tecnologia RAM (Random access memory), quindi per non perdere il contenuto deve essere sempre alimentata elettricamente per tutto il tempo. I bit nelle celle di RAM non sono altro che dei microcondensatori per questo la RAM è nota come DRAM (Dynamic Ram). I contenuti delle celle di DRAM si modificano continuamente durante il funzionamento del calcolatore e il processo di lettura e scrittura delle celle di DRAM non è immediato ma ha bisogno del tempo definito tempo di accesso alla memoria. Questo tempo di accesso è molto alto rispetto ai tempi presenti nelle attività di un calcolatore per questo è detto collo di bottiglia di von Neumann. All’interno della memoria di sistema c’è un’area speciale che non perde i valori dopo lo spegnimento anche perché il sistema per potersi avviare( fase di bootstrap) deve immettere sul bus le istruzioni iniziali per configurare i dispositivi di base come video e tastiera e caricare i programmi del sistema operativo da una memoria secondaria, come per esempio un disco. Quest’area si trova all’interno dello spazio degli indirizzi ed è chiamata BIOS (Basic Input/Output System). Per contrastate questo lungo tempo di accesso alla memoria DRAM, si è pensato di realizzare la RAM con tecnologia statica detta SRAM (Static Ram) e i microcondensatori vengono sostituiti con
microflip-flop. Solo che questa SRAM è più costosa e occupa troppo spazio quindi il suo uso è limitato cioè solo per le memorie di transito cioè le memorie Cache. Le regioni di memoria che contengono il BIOS sono realizzate in tecnologia ROM (Rean only Memory) e permettono di mantenere il contenuto delle celle anche in assenza di alimentazione. Mentre il codice e i programmi contenuti in maniera non volatile nella memoria centrale sono definiti firmware. Buona parte della memoria Rom è realizzata con tecnologia EPROM cioè memorie che anche se mantengono i loro dati nelle celle quando manca l’alimentazione possono essere riprogrammate con nuovi valori attraverso procedure speciali. Cosi alcune caratteristiche di avvio e funzioni del sistema possono essere aggiornate/modificate tramite modifiche ai parametri tramite il programma di setup del BIOS, o addirittura con la sostituzione di tutto il BIOS con procedure di configurazione. Il bus è l’unità che collega tutti i moduli del modello di von Neumann. Ha la forma di un fascio ordinato di linee, ogni linea assume il significato di un bit, cioè di un valore binario. Inoltre gran parte dell’attività di un calcolatore elettronico non è altro che un trasferimento di bit tra i vari moduli del modello di von Neumann, trasferimenti che vendono il processore come soggetto, la memoria e I/O come oggetti e il bus come veicolo. Il trasferimento di un dato dal processore alla memoria o all’I/O è detta operazione di scrittura , mentre da memoria o I/O a processore è detta lettura. Il bus allora per gestire bene questi trasferimenti si scompone in 3 sottoinsiemi ordinati di linee detti: Address bus , Data bus e Control bus. Il bus ha un orologio che segna in modo costante le operazioni nel tempo (in MHz) detto clock di bus. Input/Output cosa fanno? Acquisiscono dati e programmi e li rappresentano in varie forme, dal video alla stampa su memorie secondarie come le memorie di massa, i DVD, l’hard disk o pendrive. La sezione degli I/O si può rappresentare come un contenitore di celle uguale alla memoria ma con uno spazio degli indirizzi molto più ridotto. Ogni dispositivo periferico, di input o output, ha un proprio range di indirizzi di I/O detti registri di I/O , che si trova all’interno deglo spazio degli indirizzi di I/O. Inoltre la sezione di I/O per gestire le attività ddi I/O con le attività generali del bus ci sono delle linee di sincronizzazione dedicate chiamate linee di interruzione(interrupt). Praticamente quando c’è un segnale di interruzione il dispositivo periferico chiede al processore di sospendere temporaneamente la sua esecuzione per eseguire una parte di programma che lo riguarda, e si chiama ISR (interruput service routine). Ma ci sono anche delle modalità di trasferimento I/O che evitano di occupare il processore chiamate DMA(direct memori access). In questo caso grandi quantità di informazioni vengono spostate sul bus senza impegnare il processore. Il processore è un circuito che può effettuare calcoli, operazioni decisionali, o elaborare le informazioni e si indica con la sigla CPU(central process unit). Il processore si divide in 3 unità funzionali: UC (unità di controllo) REGISTRI ALU(unità aritmetico logica) L’UC si affaccia sul bus e imposta i valori sulle linee ABus, DBus, CBus, legge il DBus, CBus, legge dalla memoria e dall’I/O i dati o li aggiorna in memoria dopo aver compito operazioni. I Registri contengono i dati letti dall’UC sul bus per prepararli all’esecuzione delle istruzioni che avviene nell’ALU. L’ALU è l’unità di esecuzione del processore, dove si trovano i microprogrammi scritti nel cosiddetto microcodice con microistruzioni. Ogni processore ha un set di istruzioni chiamato ISA(instruction set architecture). Ogni istruzione dell’ISA ha un numero specifico chiamato Op.Code(operaticon code ), e ogni istruzione dotata di Op.Code ha un numero preciso e definito di parametri che insieme all’Op.Code determina la lunghezza dell’istruzione. C’è un registro speciale del processore detto PC(programm counter). Dunque ogni istruzione dell’ISA deve essere codificata e avviata alla fase di esecuzione che richiede l’avvio di uno specifico microprogramma. Questo significa che ogni istruzione dell’ISA ha uno svolgimento a più cicli (data path). Il data path è il percorso dei dati all’interno del processore
Con netburst è quella tecnologia che cerca di aumentare le prestazioni dei calcolatori agendo sull’amento della frequenza di clock del processore, miniaturizzando i circuiti. Aumentando la velocità interna alla CPU si possono aumentare anche il numero di istruzioni eseguite nell’unità di tempo. L’EM64T (extendend memory 64 technology) è una tecnologia usata nei processori IA- per sfruttare dei benefici di calcolo eseguiti a 64 bit. Con IA-64 ( Intel architecture 64 bit) si intende un processore a 64 bit e il primo è datato 2001 ed è conosciuto come Intel titanium. Ha uno spazio di indirizzamento di grandezza notevole, ha 64 registri a 64 bit. Tutte le istruzioni dell’IA-64 hanno lo stesso formato così da ottenere un’architettura RISC. ARCHIETTURA ASSEMBLY x- Prima di cominciare a programmare, è fondamentale conoscere il registro PSW (Program Status Word) che descrive lo stato della CPU al termine di ogni singola istruzione eseguita. Nell’x-86 tale registro è chiamato Flags e il suo contenuto è interpretato a livello di singolo bit. L’ISA x-86 è una ISA a due indirizzi , ovvero usa una sintassi in cui ogni istruzione possiede al più due operandi. Detti destinazione e sorgente i due operandi di un’istruzione, il primo operando (destinazione) conterrà anche il risultato dell’istruzione. Le regole generali previste dalla sintassi: -sorgente e destinazione possono essere un numero costante (immediato, o imm), un registro (reg) o una locazione di memoria (mem), ma mai, contemporaneamente, due locazioni di memoria; -una costante (imm) non può mai essere una destinazione; -sorgente e destinazione devono essere concordi, ovvero devono avere la stessa dimensione in bit; -per indicare una locazione di memoria (mem) si pone l’indirizzo tra parentesi quadre (esempio [0] è la cella di indirizzo zero); -se la dimensione del trasferimento non è deducibile dall’istruzione, bisogna specificarla con le parole riservate byte ptr, word ptr, ecc; -i numeri costanti (imm) devono essere prefissati con uno 0 se espressi in esadecimale. Per esprimere in esadecimale i numeri costanti si usa il suffisso h. Per scrivere programmi in Assembly per x-86 è necessario decidere su quale sistema operativo operare per avere a disposizione tutta la serie di API (Application Programming Interface) che consentono di accedere correttamente all’hardware di Input/Output della macchina, come per esempio stampare caratteri sullo schermo o acquisire valori da tastiera. Storicamente l’architettura x-86 è stata distribuita con il sistema operativo MSDOS. MSDOS è stato progettato per l’Intel 8086, pertanto «vede» una memoria a 20 bit. MSDOS è un sistema operativo monoprogrammato e monoutente; può mandare in esecuzione un solo programma alla volta. La memoria principale è suddivisa in tre aree tipiche, la memoria di sistema, la memoria convenzionale, la memoria riservata. Nella memoria di sistema, molto ridotta, vengono salvate all’avvio alcune strutture dati fondamentali per il sistema operativo, come l’area dei vettori di Interrupt (o IDT, Interrupt Descriptor Table), che contiene gli indirizzi segmentati di 256 procedure associabili ad altrettante interruzioni. Nella memoria convenzionale, la più ampia, viene conservato il kernel di MSDOS e il programma applicativo dell’utente. Nella memoria riservata viene allocata una porzione di firmware (BIOS) e, in generale, viene allocato l’I/O mappato in memoria di schede controller di I/O installabili dall’utente. Ogni sistema operativo deve avviarsi contando su software scritto all’interno del calcolatore (il firmware del BIOS) e su software scritto nel settore di avvio di un dispositivo avviabile (esempio, un hard disk, o in generale un dispositivo di memoria secondaria avviabile) nel cosiddetto Boot
Sector. Tutta la fase di avvio di un calcolatore è denominata Bootstrap o Boot , e la prima parte dell’avvio è indipendente dal sistema operativo, cioè è identica per ogni sistema operativo installabile sulla macchina. Quando MSDOS è operativo, esso fornisce una interfaccia pubblica a numerose funzioni fondamentali che consentono ai programmatori di accedere velocemente al video, alla tastiera, ai dischi e a tutti i dispositivi installati dal sistema, evitando di conoscere i dettagli e le complessità dell’accesso all’hardware di I/O. Queste funzioni, in generale, sono dette API (Application Programming Interface) del sistema operativo. Per MSDOS le API di sistema sono scritte in Assembly e invocabili tramite una speciale istruzione dell’ISA x-86 denominata INT o interruzione software e si distinguono in interruzioni hardware (o IRQ, le prime 16, da 0 a fh), interruzioni software del BIOS (da 10h a 1fh), interruzioni software di MSDOS. Il modo più semplice per scrivere programmi in Assembly in formato x-86 è farlo tramite il programma di MSDOS denominato Debug.exe fornito su tutte le piattaforme Microsoft Win tramite la Shell di MSDOS, invocabile a sua volta usando il comando Cmd. Debug è un ambiente con interfaccia a carattere, con un prompt (il trattino) che attende un comando dell’utente. Con il Comando R (Register) Debug consente di visualizzare il contenuto e lo stato dei registri x-86, nonché impostarne il valore. La sequenza di passi per scrivere un programma x-86 per MSDOS in formato COM con Debug è la seguente:
**1. Comando A – scrivere le istruzioni (edit)
I dati che vengono manipolati dai protocolli sono detti pacchetti e assumono il nome di PDU (Protocol data unit). Il pacchetto è formato da 3 parti: Intestazione : contiene informazioni per il ricevente, informazioni per l’instradamento del pacchetto, informazioni per la decodifica della parte dati; Dati : sono l’oggetto della comunicazione; Coda : contiene le informazioni per valutare l’integrità e la validità dell’intero pacchetto. L’unità di misura del pacchetto è il bit o byte. Invece, lo scambio di informazioni che avviene tra livelli adiacenti sullo stesso sistema viene regolato dai servizi. Tipologie e tecnologie delle reti locali e geografiche LAN e WAN si differenziano anche per la topologia adottata, ovvero il modo in cui i sistemi sono interconnessi fisicamente. Nelle LAN i sistemi sono connessi, normalmente, a stella, con gli apparati di interconnessione che prendono il nome di switch, a loro volta interconnessi ad albero. Nelle WAN i sistemi sono connessi, normalmente, a maglia (incompleta), con l’apparato di interconnessione che prende il nome di router. Switch e router si connettono ai nodi di una rete attraverso delle prese di interfaccia denominate porte. Sulle LAN i pacchetti circolano in modalità broadcast, ovvero un qualsiasi pacchetto spedito da un nodo circola sulla rete fino a raggiungere ogni altro nodo della rete, se necessario. In base al modo di indirizzamento utilizzato sulla LAN, solo il nodo destinatario, però, trattiene il pacchetto e tutti gli altri lo scartano. Al contrario, sulle WAN il pacchetto spedito da un nodo circola sulla rete in modalità (generalmente) punto-punto, giungendo al nodo destinatario attraversando numerose tratte e nodi intermedi che si preoccupano di indirizzarlo correttamente verso la destinazione in base al modello packet switching (la commutazione di pacchetto).
Il cablaggio strutturato sono le soluzioni che si possono adottare negli edifici moderni per consentire l’allestimento di un sistema di comunicazione destinato sia ad una rete locale ma anche telefonica, audio-video, per sistemi domotici, videosorveglianza, ecc. Il cablaggio è regolamentato da normative tecniche che fanno tutte capo agli standard di riferimento EIA/TIA 568 e ISO/IEC DIS 11801. Questi standand devono essere usati per il cablaggio in aree denominate campus, cioè zone costituite da un insieme di edifici su un’area privata. E ci sono 5 sottosistemi di cablatura: L’area di lavoro : è la stanza in cui si trovano i dispositivi in rete. Il cablaggio orizzontale: si occupa della cablatura su ogni singolo piano di un edificio del campus; Il cablaggio verticale: si occupa della cablatura tra i vari piani di un edificio del campus; La dorsale: sono i collegamenti tra gli edifici del campus; Il punto di demarcazione: è la zona in cui risiede l’interfaccia tra la rete privata del campus e i servizi esterni pubblici. Poi abbiamo l’Armadio di Piano che contiene gli elementi attivi cioè switch, router ecc ed elementi passivi cioè il patch panel che è un pannello multipresa; le Prese di Telecomunicazione cioè i terminali collocati nell’area di lavoro a cui si collegano i dispositivi finali. Ogni edificio deve avere un locale detto Sala Apparati che contiene il Distributore di Edificio , da cui parte la dorsale verticale verso i piani. A sua volta la Sala Apparati è connessa tramite una Dorsale di Comprensorio al Punto di Demarcazione su un armadio di apparati detto Distributore di Campus. Il cablaggio strutturato ha una topologia ad albero dove la radice è il punto di demarcazione, i nodi intermedi sono i distributori di edificio e gli armadi di piano, e le foglie sono i terminali di rete connessi alle prese di telecomunicazione. I mezzi fisici si dividono in mezzi fatti da cavi in rame, cavi in fibra ottica o senza cavo (wireless) Nelle rete locali sono utilizzati cavi in rame, delle volte per connettere gli switch si usano quelli in fibra ottica mentre per le stazioni mobili si usano le connessioni wireless. Nell’Ethernet i cavi in rame sono detti doppini formati da 4 coppie di 8 fili di rame intrecciati. Ci sono varie categorie di doppini usati nelle reti locali e sono: Categoria 5 è la FastEthernet , ed è la più usata e la sua velocità è di 100Mbit/s. Categoria 5 è la GigaEthernet la sua velocità è 1000Mbit/s Categoria 7 è la TeraEthernet e la sua velocità è 10000Mbit/s I mezzi in fibra ottica vengono usati per ottenere grandi larghezze di banda e si distinguono in: Tight buffer : sono cavi con materiali indicati all’interno di edifici e distanze ridotte. Non c’è il gel di protezione all’interno quindi le connessioni sono più semplici. Loose tube : sono cavi con materiali indicati per installazioni in ambienti esterni con guaine rinforzate e presenza di gel per prevenire infiltrazioni. Oppure connessioni senza cavo cioè il Wi-Fi che arriva a raggiungere velocità fino a 52 Mbit/s e oltre. Per avere una connessione wi-fi ci vogliono 2 apparati: L’ Access point : che è una connessione cablata ethernet 801.3 per uno switch che fa da base radio per il modulo Wireless terminal , che è collocato come periferica di un sistema. I computer portati hanno il wireless terminal integrato mentre i personal computer desktop devono dotarsi del wireless terminal attraverso una chiavetta USB. Ma la comunicazione siccome avviene attraverso onde radio possono essere delle interferenze di causa ambientale come pilastri, muri ecc, quindi potrebbe essere che non sempre la portata dei dispositivi wifi rispetti i valori promessi, cioè 30m per ambienti interni e 100m per ambienti esterni. Queste connessioni wireless però tentano ad essere violate o per usare la connessione abusivamente o per sottrarre dati, allora si usa una chiave privata, che l’access point e il wireless terminal devono
Protocollo POP3 (Post Office Protocol version 3) Scopo: Recupero di email. Descrizione: Il POP3 è utilizzato per il recupero delle email da un server di posta elettronica. Esso scarica le email dal server al client e le rimuove dal server, rendendole accessibili solo localmente sul dispositivo dell'utente. Protocollo DNS (Domain Name System) Scopo: Risoluzione dei nomi di dominio. Descrizione: Il DNS traduce i nomi di dominio (come www.example.com) in indirizzi IP (come 192.0.2.1). Questo processo, chiamato risoluzione dei nomi, consente agli utenti di accedere ai siti web utilizzando nomi facili da ricordare invece di dover memorizzare indirizzi IP numerici Protocollo DHCP (Dynamic Host Configuration Protocol) Scopo: Assegnazione dinamica degli indirizzi IP. Descrizione: Il DHCP assegna dinamicamente indirizzi IP ai dispositivi su una rete, facilitando la gestione degli indirizzi IP e riducendo la necessità di configurazioni manuali. Protocollo ARP (Address Resolution Protocol) Scopo: Risoluzione degli indirizzi MAC. Descrizione: L'ARP traduce gli indirizzi IP in indirizzi MAC, che sono necessari per la comunicazione a livello di collegamento dati. Esso consente ai dispositivi di rete di trovare l'indirizzo hardware associato a un indirizzo IP. Protocollo ICMP (Internet Control Message Protocol) Scopo: Diagnostica e segnalazione di errori. Descrizione: L'ICMP è utilizzato per inviare messaggi di errore e informazioni di diagnostica. Il comando ping, ad esempio, utilizza l'ICMP per verificare la raggiungibilità di un host su una rete. Protocollo SNMP (Simple Network Management Protocol) Scopo: Gestione delle reti. Descrizione: L'SNMP è utilizzato per la gestione e il monitoraggio dei dispositivi di rete, come router, switch, server e stampanti. Esso consente di raccogliere informazioni sulle prestazioni, configurare dispositivi e ricevere notifiche di eventi. Protocollo BGP (Border Gateway Protocol) Scopo: Instradamento tra domini autonomi. Descrizione: Il BGP è un protocollo di instradamento utilizzato per scambiare informazioni di instradamento tra sistemi autonomi (AS) su Internet. Esso determina il percorso più efficiente per il trasferimento dei dati tra reti diverse. Protocollo OSPF (Open Shortest Path First) Scopo: Instradamento intra-dominio. Descrizione: L'OSPF è un protocollo di instradamento a stato di collegamento utilizzato per determinare il percorso più corto per il traffico all'interno di un sistema autonomo. Esso aggiorna dinamicamente le tabelle di instradamento in base alle variazioni della topologia di rete. Protocollo SSH (Secure Shell) Scopo: Accesso remoto sicuro. Descrizione: L'SSH è un protocollo crittografico utilizzato per accedere e gestire in modo sicuro dispositivi remoti. Esso protegge la comunicazione da intercettazioni e attacchi di tipo man-in-the- middle.
Protocollo Telnet Scopo: Accesso remoto non sicuro. Descrizione: Telnet è un protocollo utilizzato per accedere e gestire dispositivi remoti, ma non offre sicurezza. I dati, incluse le password, vengono trasmessi in testo chiaro, rendendolo vulnerabile ad intercettazioni. Protocollo NTP (Network Time Protocol) Scopo: Sincronizzazione dell'orologio. Descrizione: L'NTP è utilizzato per sincronizzare gli orologi dei computer su una rete. Una sincronizzazione precisa dell'ora è fondamentale per molte applicazioni di rete, inclusa la sicurezza e la gestione dei log. Dispositivi per la realizzazione di reti locali: apparati e sistemi per la connettività ad internet I mezzi fisici si dividono in mezzi fatti da cavi in rame, cavi in fibra ottica o senza cavo (wireless) Nelle rete locali sono utilizzati cavi in rame, delle volte per connettere gli switch si usano quelli in fibra ottica mentre per le stazioni mobili si usano le connessioni wireless. Nell’Ethernet i cavi in rame sono detti doppini formati da 4 coppie di 8 fili di rame intrecciati. Ci sono varie categorie di doppini usati nelle reti locali e sono: Categoria 5 è la FastEthernet , ed è la più usata e la sua velocità è di 100Mbit/s. Categoria 5 è la GigaEthernet la sua velocità è 1000Mbit/s Categoria 7 è la TeraEthernet e la sua velocità è 10000Mbit/s I mezzi in fibra ottica vengono usati per ottenere grandi larghezze di banda e si distinguono in: Tight buffer : sono cavi con materiali indicati all’interno di edifici e distanze ridotte. Non c’è il gel di protezione all’interno quindi le connessioni sono più semplici. Loose tube : sono cavi con materiali indicati per installazioni in ambienti esterni con guaine rinforzate e presenza di gel per prevenire infiltrazioni. Oppure connessioni senza cavo cioè il Wi-Fi che arriva a raggiungere velocità fino a 52 Mbit/s e oltre. Per avere una connessione wi-fi ci vogliono 2 apparati: L’ Access point : che è una connessione cablata ethernet 801.3 per uno switch che fa da base radio per il modulo Wireless terminal , che è collocato come periferica di un sistema. I computer portati hanno il wireless terminal integrato mentre i personal computer desktop devono dotarsi del wireless terminal attraverso una chiavetta USB. Ma la comunicazione siccome avviene attraverso onde radio possono essere delle interferenze di causa ambientale come pilastri, muri ecc, quindi potrebbe essere che non sempre la portata dei dispositivi wifi rispetti i valori promessi, cioè 30m per ambienti interni e 100m per ambienti esterni. Queste connessioni wireless però tentano ad essere violate o per usare la connessione abusivamente o per sottrarre dati, allora si usa una chiave privata, che l’access point e il wireless terminal devono condividere e che permette la criptazione dei pacchetti con algoritmi di tipo WPA2. Quindi si parla di reti wifi protette
Problematiche di instradamento e sistemi di interconnessioni nelle reti geografiche Le reti geografiche sono reti di computer nate per collegare tra loro host o, più frequentemente, LAN molto distanti fra di loro. Ne sono esempio le LAN delle filiali delle multinazionali che necessitano di comunicare tra di loro, come, ad esempio, le reti delle compagnie aeree. La principale rete geografica è la WAN (Wide Area Network). Il progetto e la costruzione di una WAN consistono nello studio e realizzazione del collegamento tra LAN distanti, e nell’ottimizzazione, o per meglio dire nella gestione, del traffico dati tra le stesse. Normalmente, al fine di aumentare l’affidabilità totale, le LAN appartenenti ad una rete geografica presentano più punti di interconnessione, cui sono associati percorsi di instradamento dati di costo diverso (costo sia monetario sia di performance). Ciò comporta che la struttura topologica della rete complessiva non sia assimilabile a modelli predefiniti ma, anzi, si modifichi dinamicamente. Le apparecchiature destinate a gestire questo tipo di problematiche di dinamica sono chiamati router, dispositivi intelligenti in grado di determinare i percorsi dati, in altre parole capaci di scoprire le rotte ideali. I router sono quindi gli elementi chiave di una rete geografica. In generale ogni computer, connesso ad una LAN e che intenda accedere alla rete geografica, deve conoscere uno o più router adiacenti (in ambiente TCP/IP si parla di Default Gateway) ed anche ogni router, ai fini dell'instradamento, deve conoscere i router adiacenti. Inoltre, serve il mezzo fisico su cui far viaggiare i dati, la cui scelta dipende dalle dislocazioni geografiche. Se le reti da interconnettere distano al più qualche decina di Km, è ipotizzabile l'uso di collegamenti via fibra ottica. Se c’è portata ottica è ipotizzabile un collegamento punto a punto via ponte radio o accoppiatori laser. Naturalmente è anche possibile la connessione via linee pubbliche o private (es. HDSL, MAN, …) Se non e possibile l’utilizzo di quanto già detto esiste, specialmente per collegamenti su grandi distanze, la possibilità di collegamento via ponte satellitare. Naturalmente una strada non esclude le altre e la scelta deve venire fatta in base al tipo (dati, telefono, video) alla quantità di traffico, alle prestazioni desiderate ed, ovviamente, al budget messo a disposizione per la gestione e la realizzazione. I dispositivi generalmente utilizzati nelle WAN sono: Modem , convertono segnali analogici in segnali digitali in una banda opportuna. Distinguiamo i modem 56K che operano nella banda vocale e i modem DSL che lavorano su bande ad alta frequenza. CSU/DSU , Channel Service Unit/Data Service Unit, dispositivi che collegano linee seriali E1 (fino a 2048 Mbps) e E3 (fino a 34.368 Mbps) Access Server : permettono l'accesso remoto simultaneo di numerosi utenti Wan Switch : switch multiporta utilizzati all'interno delle reti geografiche dai vari Service Provider (per esempio quelli usati all'interno della rete telefonica). Da non confondere con gli switches adoperati dentro le LAN Router : connettono la rete del cliente alla rete dell'ISP. Le porte del router indipendentemente dal tipo di collegamento devono essere collegate al POP (Point Of Presence) locale del Provider. Normativa relativa alla sicurezza dei dati L’Italia si è allineata alle disposizioni comunitarie in materia di provvedimenti legislativi relativi alla sicurezza informatica. La legge n. 547 del 14 dicembre 1993, “Modificazioni e integrazioni alle norme del codice penale e del codice di procedura penale in tema di criminalità informatica”, stabilisce le pene per reati informatici come il danneggiamento di dati e programmi. Ecco alcuni passi significativi della legge. Innanzitutto all’articolo 392 del Codice Penale, dopo il secondo comma è aggiunto il seguente:
“si ha altresì violenza sulle cose allorché un programma informatico viene alterato, modificato o cancellato in tutto o in parte ovvero viene impedito o turbato il funzionamento di un sistema informatico o telematico”. La pena all’art. 420 (attentato a impianti di pubblica utilità), si applica anche a chi commette un fatto diretto a danneggiare o distruggere sistemi informatici o telematici di pubblica utilità. Rilevanza penale si ha anche per quanto riguarda la falsità dei documenti informatici. Art. 615-ter. (accesso abusivo a un sistema informatico o telematico). “Chiunque abusivamente si introduce in un sistema informatico o telematico protetto da misure di sicurezza ovvero vi si mantiene contro la volontà espressa o tacita di chi ha diritto di escluderlo, è punito con la reclusione fino a tre anni”. Art. 615-quinquies “Chiunque diffonde, comunica o consegna un programma informatico da lui stesso o da altri redatto, avente per scopo o per effetto il danneggiamento di un sistema informatico o telematico, dei dati o dei programmi in esso contenuti o ad esso pertinenti ... è punito con la reclusione sino a due anni e con la multa sino a euro 10.329”. Tecnologie informatiche per garantire la sicurezza e l’integrità dei dati e dei sistemi La gestione di un sistema di elaborazione ha un aspetto cruciale rappresentato dalla necessità di garantire la consistenza dei dati in esso memorizzati, sia nel caso di un computer personale, sia nel caso di sistemi informatici aziendali: i dati devono essere significativi ed essere effettivamente utilizzabili nelle applicazioni. I dati devono quindi essere protetti per impedire perdite accidentali dovute a improvvise interruzioni dell’attività del sistema, guasti hardware o interventi dannosi da parte di utenti o programmi: la protezione deve riguardare anche gli interventi dolosi sui dati dovuti ad accessi non autorizzati con operazioni di lettura, modifica o cancellazione. In sostanza sicurezza significa impedire che il sistema e i suoi dati vengano danneggiati da interventi accidentali e non autorizzati; integrità significa garantire che le operazioni effettuate sul sistema e sui dati da parte di utenti autorizzati non provochino una perdita di consistenza ai dati. Gli archivi elettronici hanno più o meno gli stessi problemi degli archivi cartacei, per esempio un’unità a dischi può avere un guasto provocando la perdita di tutti i dati in essa contenuti, oppure un errore degli operatori può provocare la cancellazione non voluta di uno o più archivi: pertanto si rende necessaria la copia periodica degli archivi e la conservazione delle copie in posti sicuri. L’attività di copia di archivi di grandi dimensioni ha durate significative e di solito viene eseguita giornalmente: questa attività si chiama backup (salvataggio). L’attività in senso inverso si chiama restore (ripristino) e serve per ricaricare su disco tutti o parte degli archivi salvati precedentemente. Il problema della sicurezza dei computer connessi alla rete è diventato molto importante con la crescita di Internet: si parla spesso di virus, attacchi informatici, sistemi violati e truffe informatiche. Il problema risiede nel fatto che fisicamente i computer, per definizione, sono tutti collegati alla stessa rete. Questo è il grande vantaggio di Internet, che espone però a rischi che possono coinvolgere un numero considerevole di computer. I protocolli e i servizi di Internet non sono la causa principale dei problemi di sicurezza: le tecnologie alla base di Internet si evolvono continuamente e rapidamente per risolvere i problemi che si presentano nel tempo, producendo nuovi servizi e software più sicuri. La parte più importante di Internet non sono i computer e le connessioni che compongono la
Gli autori della truffa possono quindi abusare di questi dati, comportando danni economici, ma anche conseguenze penali Tecniche di filtraggio del traffico rete Tecniche crittografiche applicate alla protezione dei sistemi e delle reti La crittografia (cryptography) studia come trasformare un messaggio (o un testo o una stringa) in modo che esso non possa essere comprensibile a persone non autorizzate a leggerlo. Il processo che trasforma l'informazione da comprensibile a incomprensibile è chiamato cifratura (encryption). Il processo che riconverte l'informazione da incomprensibile a comprensibile è detto decifratura (decryption). La crittografia simmetrica èquella tecnica di codifica nella quale i due interlocutori devono accordarsi precedentemente sulla chiave di lettura, in quanto una sola. Nella crittografia simmetrica : Il ruolo del Mittente (chi invia il messaggio) e del Destinatario (chi lo riceve il messaggio) è completamente interscambiabile Mittente e Destinatario conoscono la stessa chiave k e possono cifrare e decifrare, si accordano sulla chiave e la segretezza della chiave dipende da entrambi. Cifratura e decifrazione sono molto efficienti in pratica. La crittografia asimmetrica viene spesso definita come crittografia a chiave pubblica e può utilizzare lo stesso algoritmo, oppure algoritmi diversi ma complementari, per codificare e decodificare i dati. Nella crittografia asimmetrica, esiste una coppia di chiavi: Chiave pubblica: attraverso questo algoritmo di cifratura, che è pubblico e deve essere distribuito, si potranno proteggere i documenti destinati al titolare della chiave privata. Chiave privata: è l’unico algoritmo in grado di decifrare i documenti criptati con chiave pubblica. Per questo motivo, la crittografia asimmetrica ha assunto anche la definizione di crittografia a coppia di chiavi o a chiave pubblica. Quando una delle due chiavi viene resa pubblica e l'altra privata, è possibile utilizzarle insieme fondamentalmente per due scopi: Inviare un messaggio cifrato ad un destinatario. Per fare ciò il mittente cifra il messaggio con la chiave pubblica del destinatario. Per la proprietà delle due chiavi, l'unico a poter decifrare il messaggio è il destinatario, possessore della chiave privata. Verificare l'autenticità di un messaggio. In questo caso il possessore della chiave privata cifra il messaggio con la sua chiave privata. Il destinatario verifica l'autenticità del messaggio decifrando con la chiave pubblica del mittente. Si noti che in questo caso tutti i possessori della chiave pubblica del mittente potranno leggere il messaggio, verificandone l'autenticità. Tutti gli utenti che hanno a che fare con informazioni importanti si affidano ai computer per creare, archiviare, conservare e gestire i propri collega quotidianamente a Internet si può incorrere in accessi indesiderati a questi file preziosi. Per questo motivo esistono i software di crittografia dei dati, in grado di rendere illeggibili i file a meno che non si usi la chiave virtuale in grado di decodificarli.
Il software più famoso è Pretty Good Privacy (PGP) : l'uso appropriato di PGP può portare ad un livello di protezione della riservatezza abbastanza elevato, tanto da rendere, quantomeno in linea teorica, praticamente impossibile la forzatura della cifratura. Tuttavia questa affermazione è vera solo in parte: la sicurezza di ogni algoritmo è subordinata alla sicurezza della passphrase con cui si protegge la propria chiave privata. Al contrario di protocolli di sicurezza come SSL, che proteggono i soli dati "in transito" (ovvero solo mentre gli stessi vengono trasmessi su una connessione di rete), PGP può essere utilizzato anche per proteggere dati su disco, o dati di backup. Reti private virtuali Una rete privata virtuale è un servizio che consente di collegare il computer e un server remoto tramite un tunnel crittografato. Agisce come intermediario tra il dispositivo e Internet, crittografando i dati privati e nascondendo l’indirizzo IP. Le VPN vengono utilizzate per stabilire una connessione sicura a un’altra rete tramite Internet. Esistono due tipi principali di VPN: Le reti private virtuali ad accesso remoto sono utilizzate dai singoli per accedere alle risorse di rete di un’azienda da remoto. Le reti private virtuali da sito a sito sono utilizzate dalle aziende per collegare tra loro più reti. I vantaggi dell’utilizzo di una VPN includono: Aumento della privacy: Una rete privata virtuale maschera il tuo indirizzo IP, rendendo le tue azioni online praticamente irrintracciabili. Maggiore sicurezza: Quando si utilizza una rete privata virtuale, i dati vengono crittografati, garantendo un livello di sicurezza superiore per i dati. Accesso a contenuti geo-ristretti: Le VPN consentono di aggirare le restrizioni geografiche sui siti web o sullo streaming audio e video. Una rete privata virtuale funziona creando un tunnel crittografato tra il dispositivo e il server a cui ci si connette. In questo modo tutti i dati trasmessi attraverso il tunnel rimangono riservati. Una volta stabilita la connessione, il traffico viene instradato attraverso il tunnel sicuro, impedendo così a terzi di spiare la tua attività di navigazione o di accedere a informazioni sensibili. Modello cliente/server e distribuito per i servizi di rete Le architetture dei sistemi informativi si sono sviluppate ed evolute nel corso degli anni successivi passando da modelli centralizzati a modelli distribuiti. Nei sistemi centralizzati le applicazioni girano in un singolo processore, o comunque su un solo host, che costituisce l’unico componente autonomo nel sistema che è condiviso da vari utenti e tutte le risorse del componente sono sempre accessibili. Nei sistemi distribuiti le applicazioni sono costituite da più processi, cooperanti, eseguiti in parallelo su un insieme di unità di elaborazione autonome: sono quindi sistemi ottenuti dall’aggregazione di singole CPU, sistemi di memorizzazione e periferiche. Un sistema informatico si dice distribuito se almeno una delle seguenti due condizioni è verificata: ■◗ elaborazione distribuita : le applicazioni risiedono su più host che collaborano tra loro; ■◗ base di dati distribuita : il patrimonio informativo è ospitato su più host.
Cluster computing : Con cluster computing si intende un sistema distribuito costituito da un insieme di nodi ad alte prestazioni interconnessi tramite una rete locale ad alta velocità: devono essere omogenei, cioè i singoli nodi hanno lo stesso sistema operativo, hardware molto simile, e sono connessi attraverso la stessa rete Grid computing : Con grid computing si intende un sistema distribuito di calcolo altamente decentralizzato, composto da un gran numero di nodi disposti a griglia ( grid) e caratterizzati da un grado elevato di eterogeneità sia per hardware, per il software, la tecnologia di rete, le politiche di sicurezza ecc. Sistemi distribuiti pervasivi :Questa è una nuova generazione di SD i cui nodi sono piccoli, mobili, con connessioni di rete wireless e spesso facenti parte di un sistema più grande: ■◗ sistemi domestici, sistemi elettronici per l’assistenza sanitaria; ■◗ reti di sensori. Pervasività e trasparenza della distribuzione non sono facilmente coordinabili: è preferibile esporre la distribuzione piuttosto che cercare di nasconderla. Anche per il software abbiamo avuto una evoluzione nelle architetture distribuite che spesso hanno anticipato i cambiamenti delle architetture hardware e dei loro sistemi operativi: Architettura a terminali remoti: La prima tipologia di elaboratori ha questa architettura dove tutte le operazioni vengono effettuate da un’unica entità centrale alla quale sono collegati terminali privi di capacità di elaborazione che si limitano a visualizzare e inviare e ricevere le informazioni alla entità centrale. Architettura client-server: differenza dell’architettura precedente i client non sono “macchine stupide” ma hanno una loro capacità di elaborazione: questi richiedono un servizio a un server “di competenza”, che è in grado di esaudirne la richiesta, la elabora e invia la risposta al client. Possono essere presenti più server che offrono più servizi contemporaneamente così come più client possono richiedere lo stesso servizio o servizi differenti sia a server diversi che allo stesso server. Inoltre un server può essere contemporaneamente anche client: quindi può essere server per uno (o più)servizi e client per altri richiedendo i servizi che necessita ad altri server. Client e server possono essere tecnologicamente diversi, sia come hardware che come sistema operativo. Architettura WEB-centric: Molte applicazioni gestionali sono state “convertite al web” rendendo il web server come centro del sistema distribuito ( web-centric) al quale i client vi accedono per ottenere dei servizi: tutta la computazione avviene sui server che restituisce ai client il risultato.Il web è un sistema distribuito composto da client e server che accedono a documenti collegati. I server gestiscono insiemi di documenti, mentre i client forniscono agli utenti una interfaccia facile da usare per accedere e presentare questi documenti. Architettura cooperativa : L’evoluzione dell’architettura client-server è l’architettura cooperativa che si basa su entità autonome che esportano e richiedono servizi secondo il modello di sviluppo a componenti per la programmazione lato server proprio della programmazione a oggetti. Architettura completamente distribuita: In opposizione alla architettura web-centric troviamo l’architettura completamente distribuita, tipica di sistemi dove è necessaria la cooperazione di gruppi di entità paritetiche, come nei sistemi groupware, che dialogano tra loro offrendo ciascuno i propri servizi e richiedendo servizi che spesso risultano essere duplicati per garantire l’immunità ai guasti
Architettura a livelli: Per alleggerire il carico elaborativo dei serventi sono state introdotte le applicazioni multi-livello, nelle quali avviene la separazione delle funzionalità logiche del software in più livelli. Si introducono gli strumenti di middleware, cioè uno strato software “in mezzo” che si colloca sopra al sistema operativo ma sotto i programmi applicativi, e sono l’evoluzione dei sistemi operativi distribuiti. Il middleware ha lo scopo di realizzare la comunicazione e le interazioni tra i diversi componenti software di un sistema distribuito. Il modello client-server è costituito da un insieme di host che gestiscono una (o più) risorse, i ser- venti o server, e da un insieme di clienti (o client) che richiedono l’accesso ad alcune risorse distri- buite gestite dai server. Inoltre ogni processo server può a sua volta diventare client per richiedere accesso ad altre risorse gestite da altri (processi) server. Per essere precisi, non sono gli host a essere server o client ma i processi che sono in esecuzione su di essi, dove come processo si intende un programma in esecuzione: dato che su un host possono essere in esecuzione più processi, un host può essere contemporaneamente sia client che server. 1 il client manda una richiesta al server; 2 il server (in attesa) riceve la richiesta; 3 il server esegue il servizio richiesto (generando un thread concorrente); 4 il server manda una risposta ed eventualmente dei dati; 5 il client riceve la risposta ed eventualmente i dati. Alcuni servizi tipici delle architetture client-server: ■◗ Telnet: mediante un tale programma (programma client) è possibile operare su un computer remoto come si opera su un computer locale; questo è possibile se sulla macchina remota è presente un programma server in grado di esaudire le richieste del client telnet; ■◗ HTTP: il browser è un client http (Web), che richiede pagine Web ai computer su cui è installato un Web server, il quale esaudirà le richieste spedendo la pagina desiderata; ■◗ FTP: tramite un client FTP è possibile copiare e cancellare file su un computer remoto, purché qui sia presente un server FTP; ■◗ altri servizi di questo tipo sono SMTP, IMAP4, NFS, NIS e così via Un programma chiamato client richiede dei servizi a un altro programma chiamato server. Quest’ultimo è ospitato su un computer chiamato host ed è in ascolto tramite un ◀ socket ▶ su una determinata porta, in attesa che un client richieda la connessione: il client invia la richiesta al server tentando la connessione proprio tramite tale porta, quella cioè su cui il server è in ascolto. Un socket è formato dalla coppia