Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Esame Informatica e Inglese - Modulo Informatica, Appunti di Fondamenti di informatica

Appunti sugli argomenti trattati nel corso d’ Informatica

Tipologia: Appunti

2020/2021

In vendita dal 15/07/2021

giusy-la-mura
giusy-la-mura 🇮🇹

4.7

(56)

29 documenti

1 / 75

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Sistema di elaborazione d’informazioni
Sistemi gerarchici costituiti da più livelli di macchina integrati tra loro.
Com’è formato un elaboratore:
Basati sull’architettura di Von Neumann;
sono composta da:
CPU: unità di elaborazione
RAM: memoria centrale; per istruzioni e dati memorizzati come sequenze dati.
Periferiche;
Memoria di massa;
Bus di sistema;
Modelle di Von Neumann
Si distinguono due sottoinsiemi:
1. Dati: oggetti sui quali l’elaboratore va a compiere le sue operazioni (input- output)
2. Programmi: sequenza di istruzioni che codificano un algoritmo risolutivo del problema;
Dunque: il primo sistema immagazzina i dati e l'altro li legge o svolge un'operazione, lavorando su questi
dati immagazzinati.
I due sottosistemi possono essere chiamati:
Memoria RAM: dove sono immagazzinati i dati su cui elaborare le procedure e le istruzioni da
seguire per poter svolgere le operazioni da parte del processore.
La memoria si suddivide in due sottozone:
- memoria dati
- memoria istruzioni
Processore CPU: deputato all' elaborazione dei dati. Esistono:
- componenti che servono al processore per apprendere o acquisire dati dal mondo esterno;
- componenti che servono per trasmettere all'esterno i risultati della propria elaborazione, questi
sono dispositivi detti input/output o I/O;
Fondamentale la comunicazione tra queste diverse componenti ti avviene grazie al BUS; un canale
comune a tutti i componenti che lo devono sfruttare nel medesimo modo per poter comunicare.
Il Processore
Interprete di un insieme di istruzioni semplici che poi è preposto a svolgere; esso legge ed esegue le
sequenze di istruzioni prelevandole dalla memoria istruzioni punto il linguaggio adottato è: linguaggio
macchina, dove sono scritte le istruzioni che controllano il funzionamento del processore.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b

Anteprima parziale del testo

Scarica Esame Informatica e Inglese - Modulo Informatica e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

Sistema di elaborazione d’informazioni Sistemi gerarchici costituiti da più livelli di macchina integrati tra loro. Com’è formato un elaboratore : Basati sull’architettura di Von Neumann ; sono composta da:

  • CPU : unità di elaborazione
  • RAM : memoria centrale; per istruzioni e dati memorizzati come sequenze dati.
  • Periferiche ;
  • Memoria di massa;
  • Bus di sistema; Modelle di Von Neumann Si distinguono due sottoinsiemi :
  1. Dati : oggetti sui quali l’elaboratore va a compiere le sue operazioni (input- output)
  2. Programmi : sequenza di istruzioni che codificano un algoritmo risolutivo del problema; Dunque: il primo sistema immagazzina i dati e l'altro li legge o svolge un'operazione, lavorando su questi dati immagazzinati. I due sottosistemi possono essere chiamati:
  • Memoria RAM : dove sono immagazzinati i dati su cui elaborare le procedure e le istruzioni da seguire per poter svolgere le operazioni da parte del processore. La memoria si suddivide in due sottozone:
  • _memoria dati
  • memoria istruzioni_
  • Processore CPU : deputato all' elaborazione dei dati. Esistono:
  • componenti che servono al processore per apprendere o acquisire dati dal mondo esterno;
  • componenti che servono per trasmettere all'esterno i risultati della propria elaborazione, questi sono dispositivi detti input/output o I/O; Fondamentale la comunicazione tra queste diverse componenti ti avviene grazie al BUS ; un canale comune a tutti i componenti che lo devono sfruttare nel medesimo modo per poter comunicare. Il Processore Interprete di un insieme di istruzioni semplici che poi è preposto a svolgere; esso legge ed esegue le sequenze di istruzioni prelevandole dalla memoria istruzioni punto il linguaggio adottato è: linguaggio macchina, dove sono scritte le istruzioni che controllano il funzionamento del processore.

ogni processore ha un numero limitato di istruzioni elementari ditte microistruzioni , che costituiscono il microcodice o firmware specifico della macchina; Le istruzioni più complesse sono costituite da un insieme di microistruzioni. L'esecuzione di un'istruzione attraverso la processione avviene attraverso il ciclo di istruzione :

1. Fase Fetch : l'istruzione da eseguire viene prelevata dalla memoria e trasferita all'interno del processore; - estrazione dell'istruzione dalla memoria; - calcolo dell'indirizzo della prossima istruzione; - codifica del codice operativo; 2. Fase Execute : viene portata a termine l'esecuzione delle operazioni previste dall' istruzione; - calcolo dell'indirizzo dell’eventuale operando; - estrazione dell’operando dalla memoria; - esecuzione; - calcola dell'indirizzo del risultato; - immagazzinamento del risultato in memoria; Nel processore possibile individuare diversi sottosistemi principali ognuno dei quali preposto ad un compito specifico:

  • Unità aritmetico logico (ALU ): effettua le operazioni di tipo aritmetico di tipologico durante la fase di esecuzione;
  • Unità di istruzione : estrae decodifica le successive istruzioni del programma in esecuzione;
  • Unità di controllo : coordina le varie unità del sistema durante l'esecuzione dei programmi;
  • Unità di indirizzo : esegui il calcolo dell'indirizzo;
  • Registri: celle di memoria interna al processore; si dividono in:
  • Registro contatore (registro PC ): indica qual è la prossima istruzione da eseguire;
  • Registro delle istruzioni : contiene una copia delle istruzioni da eseguire;
  • MAR : contiene l'indirizzo di memoria del dato da leggere o scrivere;
  • MDR : contiene una copia del dato effettivo; La Memoria È la componente più importante insieme al processore, del modello Von Neumann; il suo compito e detenere non solo le informazioni da elaborare, ma anche le istruzioni del programma in esecuzione in quell’ istante. Le operazioni possibili con una memoria sono la lettura e la scrittura dei dati. La memoria deve essere pensata come una serie di celle elementari disposte per righe o per colonne tiro e ciascuna individuabile mediante la propria posizione; La cella di memoria è detta indirizzabile perché ad essi associata una posizione individuabile da un indirizzo. Le memorie si suddividono in:
  • Memoria ad accesso casuale : il tempo di ricerca dell'indirizzo della cella di memoria indipendente dalla posizione delle celle all'interno della memoria;
  1. RAID 0 : usa lo striping per migliorare le prestazioni di scrittura e lettura;
  2. RAID 1 : usa il mirroring per aumentare l'affidabilità del sistema. Permette il recupero da situazioni di danno totale dei dischi;
  3. RAID 5 : usa lo striping e i blocchi di parità per migliorare le prestazioni e l'affidabilità;
  4. Livello 1 : i dati del primo disco sono recuperati sul secondo;
  5. Livello 2 : i dati sono protetti su numero vario di dischi e i dati di verifica su altri dischi;
  6. Livello 3 : ogni blocco di disco virtuale suddiviso distribuito attraverso tutti i dischi dati;
  7. Livello 4 : i blocchi dati vengono memorizzati come nel livello 0;
  8. Livello 6 : come RAID 5 con l'aggiunta di dati di verifica calcolati in modo indipendente Nelle memorie di massa vanno evidenziati anche i dischi ottici che sono delle memorie di massa trasportabili e ne esistono di tre tipi:
  • CD-ROM;
  • DVD;
  • BLU RAY; Il BUS Canale gli permette alle componenti del sistema di comunicare tra loro; Un solo BUS può collegare tra loro più dispositivi. Si suddivide in tre componenti:
  • BUS indirizzi : unidirezionale; Serve al processore per poter selezionare le unità all'interno del sistema. Lo spazio degli indirizzi (numero di celle di memoria selezionabili) è determinato dalla lunghezza del BUS indirizzi.
  • BUS dati : bidirezionale; Serve sia trasmettere che a ricevere informazioni tra due unità del sistema. La sua lunghezza determina il collo della bottiglia dei calcolatori Von Neumann;
  • BUS di controllo o linee di controllo : permettono la comunicazione diretta tra il processore alle unità del sistema; I principali tipi di BUS sono: ▪ ISA;PCI;SCSI;USB; Tecniche di bilanciamento del sottosistema memoria/processore Sono tecniche che servono per bilanciare il problema tra la velocità di elaborazione del processore e la capacità di memoria. Esse si suddividono in tre tipologie:
  1. Allargamento BUS dati : e un allargamento delle dimensioni del BUS virgola in modo da poter estrarre più informazioni alla volta punto è applicabile solo nel caso in cui le sequenze che il processore dovrà elaborare in maniera procedi quale siano prevedibili.
  2. Caching : introduzione di una memoria secondaria chiamata cache ; essa è molto piccola e veloce ed è situata tra il processore e la memoria centrale. Consente di aumentare la velocità di accesso del processore alla memoria attraverso il caricamento dei dati usati più di recente e quelli ad essi più affini. Tecnica utile dato che l'accesso alla memoria è una delle attività più lente del processore.
  3. Prefetching o Pipelining : utilizzano un parallelismo di tipo temporale;
    • Prefetching : sovrapporre temporaneamente l'elaborazione dell’attuale istruzione con l'estrazione della prossima
    • Pipelining : consente al processore di avviare l'esecuzione di una nuova istruzione ancor prima di aver completato quella in corso Interfacce e periferiche I/O interfacce : consentono il collegamento dell'elaboratore con le varie periferiche; periferiche :
  • input : tastiera e mouse (dispositivo di puntamento introdotto con le interfacce grafiche);
  • output : monitor e stampanti; Sistemi di numerazione ▪ binario; ▪ ottale; ▪ decimale; ▪ esadecimale; Sistema Binario: L'alfabeto di un computer è composto da solo due simboli rappresentati dal numero 1 e 0 ;
  • Una sola cifra: bit ;
  • 8 bit: byte ;
  • 2 byte: Word o parola ;
  • 1024 byte: kilobyte (KB);
  • 1024 KB: megabyte (MB);
  • 1024 MB: gigabyte (GB);
  • 1024 GB: terabyte (TB); ▪ Conversione del numero binario in decimale : si moltiplica ogni numero binario per la potenza di due al cui esponente c'è il numero della posizione della cifra per poi fare la somma;

La teoria dei codici rilevatori e correttori di errori si occupa di risolvere i problemi causati dal rumore presenti nel canale:

  • codici correttori di errori : quando si vuole risalire al messaggio trasmesso dalle informazioni ricevuta; ci informano se c'è stato un errore durante la trasmissione.
  • codici rilevatori di errori : quando si vuole stabilire se l'informazione ricevuta è il messaggio trasmesso; Si dicono in che posizione c'è stato l'errore ed hanno la possibilità di correggerlo. Codici rilevatori di errori
  • di controllo di parità : ogni sequenza di simboli binari un messaggio, si aggiunge 0 o 1 in modo tale che la somma di tutti i bit sia un numero pari. Il simbolo che viene aggiunto è chiamato simbolo di controllo. Se in una sequenza entro un solo errore o un numero dispari di errori, questo viene scoperto.
  • ISBN : numero che identifica a livello internazionale in modo univoco e duraturo un titolo o un’indizione di un determinato autore. Analisi e programmazione Insieme delle attività preliminari atti a risolvere problemi utilizzando un elaboratore; dalla formulazione nel problema fino alla predisposizione dell’elaboratore.
  • Scopo analisi: definire un algoritmo
  • Scopo programmazione: definire un programma Programma: traduce l'algoritmo ed è direttamente comprensibile pertanto eseguibile, da parte di un elaboratore punto il linguaggio di programmazione rigoroso e permette la formalizzazione di un algoritmo in un programma. Fasi del procedimento: 1. Problema 2. Analisi 3. Algoritmo 4. Programmazione 5. Programma 6. Elaborazione 7. Risultati Algoritmi Successione di istruzioni o passi che definiscono le operazioni da eseguire sui dati per ottenere i risultati; fornisce la soluzione ad una classe di problemi. Lo schema di esecuzione di un algoritmo specifica che i passi devono essere eseguiti in sequenza salvo diversa discrezione. Ogni algoritmo è concepito per interagire con l'ambiente esterno in modo da acquisire

dati comunicare i messaggi o risultati; I dati su cui opera un'istruzione sono forniti dall'esterno sono frutto di istruzioni eseguite in precedenza. Proprietà:

  • finitezza dei punti: deve essere finito; Ogni singola istruzione deve poter essere eseguita in tempo finito ed un numero finito di volte;
  • generalità : deve fornire la soluzione per una classe di problemi; Pertanto, deve essere applicabile a qualsiasi insieme di dati appartenenti all' insieme di definizione o dominio dell’algoritmo e deve produrre risultati che appartengono anni insieme di arrivo codominio;
  • non ambiguità dei punti : devono essere definiti in modo univoco i passi successivi da eseguire; Ed evitati paradossi, contraddizioni ed ambiguità punto il significato di ogni istruzione deve essere univoco per chiunque esegua l'algoritmo; Costanti e variabili: I dati su cui opera un algoritmo sono:
  • Costanti : valore non può essere aggiornato durante l'esecuzione dell'algoritmo o per le esecuzioni successive;
  • Variabili : coppia < nome, valore>; il valore di una variabile deve appartenere all' insieme di definizione su cui si opera mediante regole opportune e specifiche dell’insieme.
  • x: nome della variabile;
  • v: valore attuale; Sono in determinate in fase di definizione dell'algoritmo, ma corrispondono a valori specifici durante ogni esecuzione. Assegnazione: l'istruzione di assegnazione definisce il valore attuale della variabile che resta inalterato fino all' assegnazione successive si rappresenta con il simbolo “ Å “che si legge: “assegna alla variabile nome di variabile il valore di espressione ”; (l'espressione a destra di”Å” è costituita da variabili, costanti e operatori) Il processo viene eseguito:
  1. si valuta l'espressione a destra di “Å” sostituendo ai nomi di variabile i loro valori attuali; Il risultato deve appartenere all' insieme di definizioni della variabile a sinistra di “Å"
  2. Il valore calcolato diventa il nuovo valore della variabile il cui nome appare a sinistra di “Å" I nomi delle variabili possono essere scelti in modo arbitrario, ma è opportuno selezionare i nomi significativi del contenuto della variabile. È necessario rispettare la regola dell’ordinamento secondo la quale: quando una variabile appare a destra di “Å” in un'assegnazione deve essere già stanziata, cioè le deve essere già stato assegnato un valore. Istruzioni:

Ogni diagramma blocchi non strutturato e trasformabile in un diagramma blocchi strutturato equivalente; Due diagrammi a blocchi sono equivalenti sia operando sugli stessi dati, producono gli stessi risultati. L’uso dell'analisi strutturata garantisce:

  • facilità di comprensione e modifica dei diagrammi a blocchi;
  • maggiore uniformità nella descrizione degli algoritmi; E'stato dimostrato che ogni programma può essere codificato riferendosi esclusivamente ad un algoritmo strutturato e quindi attenendosi alle tre strutture fondamentali: sequenziale, iterativa, condizionale. In un diagramma strutturato non apparirà mai un'istruzione di salto incondizionato punto i tre schemi fondamentali possono essere:
  • concatenati : uno di seguito all'altro;
  • nidificati : uno dentro al all'altro; non possono essere in nessun caso intrecciati o accavallati. Algoritmi iterativi: Il ciclo o loop è uno schema di flusso per descrivere, il modo conciso, situazioni in cui un gruppo di operazioni devono essere ripetute più volte punto la condizione di fine ciclo viene verificata ogni volta che si esegue il ciclo; Se essa assume valore 0 (falso), le istruzioni vengono ritirate altrimenti si esce dal ciclo. La condizione di fine ciclo può essere verificata prima o dopo l'esecuzione dell'interazione; Le istruzioni di inizializzazione assegnano valore iniziale da alcune variabili.
  • Un ciclo è definito quando è noto a priori quante volte deve essere eseguito e viene anche chiamato enumerativo. un contatore del ciclo viene memoria di quante iterazioni sono state effettuate e può essere utilizzato in due modi: ▪ incremento del contatore : il contatore viene inizializzato ad un valore minimo e incrementato ad ogni esecuzione del ciclo; Si esce dal ciclo quando il valore del contatore quaglia il numero di iterazioni richieste. ▪ decremento del contatore: il contatore viene inizializzato al numero di trazioni richiesto e decrementato di uno ad ogni iterazione; Si esce dal ciclo quando il valore del contatore raggiunge 0 o 1.
  • Un ciclo è indefinito quando non è possibile conoscere a priori quante volte verrà eseguito. La condizione di fine ciclo controlla il valore di una o più variabili modificate da istruzioni che fanno parte del leader azione. Esso deve essere eseguito un numero finito di volte, cioè si deve sempre verificare la terminazione dell'esecuzione del ciclo. Pseudocodifica o metaprogrammazione: La pseudocodifica è un linguaggio per la descrizione di algoritmi secondo le regole della programmazione strutturata. La descrizione di un algoritmo in pseudocodifica si compone di due parti:
  • la dichiarazione delle variabili usate nell’algoritmo;
  • la descrizione delle azioni dell’algoritmo;

Tipo delle variabili Il tipo di una variabile indica l’insieme dei valori che possono essere assegnati a quella variabile. Su costanti e variabili di un tipo è possibile effettuare le operazioni che sono proprie di quel tipo e tutte le operazioni di confronto. Sono permessi i seguenti 4 tipi:

  • integer : sono le variabili cui possono essere assegnati numeri interi; le costanti di tipo integer sono numeri interi;
  • real : sono le variabili cui possono essere assegnati numeri razionali; le costanti real possono essere rappresentate in notazione decimale, con un “.” che separa la parte intera dalla parte decimale.
  • boolean : sono le variabili cui possono essere assegnati i valori logici; le costanti logiche sono true e false;
  • string−q : sono le variabili cui possono essere assegnate parole (o stringhe) costituite da q caratteri; le costanti string−q sono costituite da parole di q caratteri racchiusi tra apici (che non fanno parte della costante); Dichiarazione delle variabili La dichiarazione delle variabili nella pseudocodifica è un elenco, preceduto dalla parola var , delle variabili sulle quali l’algoritmo opera. Sono suddivise per tipo:
  • stesso tipo sono separate l’una dall’altra da una “ , ”; l’elenco delle variabili dello stesso tipo è seguito dai “ : ” e dall’indicazione del tipo;
  • elenchi di variabili di tipo diverso sono separati dal “ ; ”, l’ultimo elenco è seguito da un “.Descrizione delle azioni Gli schemi di flusso fondamentali sono descritti utilizzando convenzioni linguistiche: ad ogni schema strutturato corrisponde una convenzione linguistica La descrizione di un algoritmo deve soddisfare le seguenti regole:
  1. La prima azione dell’algoritmo è preceduta dalla parola begin;
  2. L’ultima azione dell’algoritmo è seguita dalla parola end;
  3. L’azione di lettura è rappresentata dalla parola read; d)
  4. L’azione di scrittura è rappresentata dalla parola write;
  5. Lo schema di sequenza di n flussi S1, S2, S n è rappresentato come S1; S2; … Sn; Array Le variabili definite come coppie < nome, valore > sono dette variabili scalari ; una coppia <nome, insieme di valori > è una variabile vettore o array e può essere immaginata come un contenitore diviso in scomparti; ciascuno scomparto contiene un valore, detto elemento o componente del vettore. Ciascuna componente è individuata dal nome del vettore, seguito dal relativo numero progressivo, racchiuso fra parentesi tonde: l’indice del vettore. La dimensione di un vettore è il numero dei suoi elementi. I vettori sono particolarmente utili per collezionare dati fra loro correlati, sui quali devono essere effettuate le stesse operazioni L’utilizzo di variabili vettoriali o array, in un algoritmo, presuppone la dichiarazione esplicita della loro dimensione. La dimensione dell’array costituisce un limite invalicabile per la selezione delle componenti del vettore.
  1. trasporto
  2. rete
  3. collegamento
  4. fisico Nel modello ISO/OSI ogni strato tratta unità informative chiamate: PDU ; esse sono composte: ▪ dall’informazione da trasferire ( SDU ); ▪ da un’intestazione ( PCI ). La PDU di uno strato viene incapsulata nella PDU dello strato inferiore Una rete di calcolatori è un insieme di calcolatori autonomi collegati tramite una rete di comunicazione. Le finalità di una rete di comunicazione sono:
  • condivisione delle risorse (reti di piccole dimensioni);
  • comunicazioni tra utenti fisicamente distanti (reti di grandi dimensioni);
  • miglioramento dell’affidabilità del sistema complessivo; Esistono diverse tipologie di reti di calcolatori:
  1. LAN (Local Area Network) : rete di estensione limitata. I dispositivi si trovano nello stesso edificio o in edifici vicini. La struttura di interconnessione può essere di 3 tipi: ▪ stella: le cui caratteristiche sono: nodo centrale (server); cavi lunghi; connessione individuale; alte prestazioni; ▪ anello; le cui caratteristiche sono: connessione individuale a struttura circolare, l’informazione è ricevuta a turno e ritrasmessa ad ogni stazione; alte prestazioni; poca affidabilità e flessibilità; ▪ bus condiviso: le cui caratteristiche sono: trasmissione bidirezionale; semplice; flessibile, affidabile e costo basso; prestazioni modeste;
  2. MAN (rete metropolitana) : collega una o poche città;
  3. WAN (rete geografica) : può essere estesa a una o più nazioni;
  4. Internetwork (rete di reti) : è il collegamento di reti differenti. I collegamenti sono effettuati da apparati chiamati router. La LAN La LAN sono reti di computer che interconnettono apparecchiature di calcolo in area geografica limitata (edifici o pochi edifici). Essa utilizza un unico mezzo trasmissivo a capacità elevata e con basso tasso d’errore a causa delle brevi distanze. Nelle reti LAN di tipo Ethernet è usato lo standard IEEE 802.3 (il protocollo usato è chiamato CSMA/CD, ed è usato nella tipologia bus di condiviso). Funzionamento del protocollo Nel CSMA una stazione che desidera parlare ascolta se il canale è occupato: ▪ se è libero la stazione trasmette; ▪ se è occupato, la stazione ritarda l’emissione del segnale ad un istante successivo.

▪ se non si rilevano collisioni si porta a termine l’emissione; se è rilevata una collisione si interrompe subito l’emissione e si esegue una procedura di impostazione di collisione per segnalare l’evento alle altre stazioni; Una volta trasmesso il segnale, la stazione attende un riscontro da parte della stazione di destinazione. Il problema principale è che il protocollo CSMA non evita le collisioni; esse avvengono quando due stazioni trasmettono il segnale contemporaneamente sul bus. In questo modo sul canale viaggiano due segnali che finiscono per sovrapporsi generando un segnale somma che non ha significato. Quando avviene la collisione le stazioni riceventi non sono in grado di decifrare i segnali e non rispondono. Il problema delle collisioni è superato dal protocollo CSMA/CD che adotta la tecnica: “ascolta prima di parlare e mentre parli”. Nel caso di canale occupato, l'istante successivo di emissione è determinato in base ad una PROCEDURA DI PERSISTENZA:

  • 1 - persistente: la stazione aspetta che il canale torni libero, quindi trasmette.
  • 0 - persistente: la stazione ritarda l’emissione di un intervallo di tempo calcolato in base ad un algoritmo di subentro (backoff).
  • p-persistente : la stazione attende che il canale torni libero, quindi effettua l’emissione con probabilità p, altrimenti la trasmissione è ritardata di un intervallo di tempo calcolato in base ad un algoritmo di subentro. Intervallo di vulnerabilità L’intervallo di vulnerabilità è l'intervallo di tempo in cui una unità informativa emessa può subire collisione è uguale a 2T, dove T è il ritardo di propagazione da estremo a estremo sul bus. Reti Ethernet La rete Ethernet è una delle reti locali più diffuse a livello mondiale; piú stazioni trasmettono su un unico mezzo trasmissivo e tutte le stazioni ricevono contemporaneamente tutto quello che passa sulla rete. Ogni scheda di rete disponibile in commercio è caratterizzata da un indirizzo permanente unico al mondo di 6 Byte (espresso in esadecimali) chiamato MAC address. I messaggi trasmessi sono sequenze di bit e vengono chiamati trame (“frame”). Ogni trama reca al proprio interno l’indirizzo di origine e quello di destinazione (MAC Address). La topologia elettrica della rete (percorso logico che le info seguono) è a BUS; la velocità tipica di trasmissione è 100 Mbit/s (Fast Ethernet). Il range di variabilità va da 10 Mbps a 10 Gbps. Le reti a:
  • 1 Gbps: Gigabit Ethernet;
  • 10 Gbps: 10 Gigabit Ethernet o 10GE; La rete Ethernet è basata sul protocollo di accesso al mezzo CSMA/CD La dimensione minima di un pacchetto 64 byte : tale valore rappresenta il tempo necessario per assicurare che tutte le stazioni siano in grado si rivelare una avvenuta collisione. Principali elementi attivi di una LAN:
  • NIC: Network Interface Card o Scheda di rete;

Funziona solo su fibre ottiche e opera in modalità full duplex (no CSMA/CD); può essere usato anche per reti WAN. Permette l’interoperabilità con lo standard SONET (Syncronous Optical NETwork) utilizzato nelle reti WAN. La divisione Bell Labs di Lucent Technologies ha realizzato e testato con successo una connessione Ethernet ottica da 100 Gbit al secondo in cui i due capi della rete distavano 2.000 Km l'uno dall'altro. Wlan (Wireless lan) Le reti cablate e le Wlan non sono in concorrenza ma complementari tra loro. Il grande vantaggio di una Wlan rispetto ad una rete cablata è la velocità di installazione Bluetooth Il Bluetooth è uno standard di comunicazione RADIO a corto raggio (Personal Area Network o PAN) nata affinchè una vasta gamma di prodotti, anche con funzioni molto diverse tra loro potessero essere interoperabili senza problemi. Tutte le periferiche Bluetooth utilizzano la banda di radio a 2.4Ghz con un transfer rate di circa 1Mbit al secondo e adottano un particolare meccanismo logico di trasmissione chiamato Frequency Hopping Spread Spectrum ( FHSS ) per garantire la non intercettabilità del canale e quindi la sicurezza del collegamento: in altre parole solo le periferiche "accoppiate" possono comunicare tra loro perché il canale di trasmissione varia molte centinaia di volte al secondo in un modo noto solamente ai dispositivi accoppiati. La distanza operativa più usata (ce ne sono 3) è 10 metri. IEEE 802.11b o WiFi La comunicazione tra le diverse macchine avviene basandosi su onde radio alla frequenza di 2,4 GHz e utilizzando il protocollo WEP (Wired Equivalency Privacy) che utilizza un noto algoritmo simmetrico chiamato RC4; un nuovo protocollo introdotto da Microsoft per l’autenticazione wireless è l’ 802.1.x Utilizzi più frequenti:

  • edifici storici,
  • piccole dorsali,
  • luoghi pubblici,
  • reti temporanee. ▪ Access Point: è l’equivalente dell’HUB nelle reti cablate. Si collega allo switch per connetterlo alla rete cablata, mentre comunica via wireless attraverso le antenne. ▪ Scheda di rete : da collegare al PC ▪ Velocità consentita : 11/54 Mbps e 30/40 m ▪ Single point of failure : scambio in chiaro del Mac. Evoluzione del WiFi:802.11g : opera alla stessa frequenza dello standard 802.11b (2,4 Ghz) ed è quindi compatibile con esso. Velocità max consentita: 54 Mbps ▪ standard 802.11a (poco diffuso): consente velocità di 54Mbps ma operando nella banda di 5 Ghz non è compatibile con l’802.11b (il più diffuso) pur avendo il pregio di poter lavorare, senza

interferenze, con tecnologie a 2,4 Ghz come Bluetooth. ▪ 802.11n e 802.11ac verso 802.11ad : l’802.11n operando alla stessa frequenza 2,4 GHz dello standard 802.11g consente di raggiungere velocità di 600 Mbps; L’802.11ac opera sui 5 GHz con una velocità picco di 3.2 Ghz. Con l’802.11ad avremo, invece, velocità vicine a 7 Gbps (834 MB/s) su frequenze di 2,4/5/60 GHz ideale per videogame e streaming 4K. Utilizzano la TECNOLOGIA MIMO (Multiple Input Multiple Output) permettendo di usare più canali per trasmettere e più canali per ricevere aumentando così la banda totale. UMTS (Universal Mobile Telecommunications System) Tecnologia radio per la trasmissione di voce e dati; utilizza la tecnologia WCDMA (Wideband Code Division Multiple Access) non compatibile con GSM. Dati tecnici: ▪ Ampiezza max teorica di banda:

  • 2 Mbit al secondo (stando fermi);
  • 144 Kbps in movimento fino a 500 Km/h
  • 384 Kbps in movimento a piedi ▪ Max area coperta da ogni cella: 2,4 Kmq ▪ Num. max di utenti gestibili da una cella : 128 Reti Cellulari
  • HSDPA (HIGH SPEED DOWNLINK PACKET ACCESS): 14.4 Mbps velocità teorica
  • 4G LTE (Long Term Evolution): reti 4G velocità 300Mbps in download e 75.4 Mbps in upload
  • 5G : in fase di realizzazione (entro 2025 copertura 30% Europa): velocità teorica 2,7 maggiore a 4G. Le reti MANET (Mobile Ad-hoc NETwork) È una rete Ip costituita da un insieme autonomo di dispostivi wireless mobili (nodi) che comunicano attraverso un link radio. La comunicazione tra due dispositivi non direttamente connessi avviene attraverso il routing dell’informazione da parte di eventuali nodi intermedi che si comportano come dei router. Scopi :
  • instaurare una rete di comunicazione in caso di eventi catastrofici (alluvioni, terremoti etc.)
  • possono lavorare sia con WI-FI che con Bluetooth. Possono essere connesse a LAN INTERNET Obiettivo : descrivere i meccanismi di funzionamento di Internet illustrando i protocolli che consentono l’uso dei servizi più conosciuti come la posta elettronica e la navigazione web.
  1. non richiede conferma dell’avvenuta ricezione
  • in ricezione:
  1. verifica la validità dei datagrammi in arrivo;
  2. esamina l'intestazione;
  3. verifica se sono dati da rilanciare;
  4. se sono dati locali, consegna il contenuto del datagramma all’opportuno protocollo. Schema di indirizzamento Lo schema di indirizzamento IP è stato progettato per consentire un efficiente instradamento, per una rete con dimensioni decisamente inferiori alle attuali. Un indirizzo IP identifica prima la rete a cui un host è connesso e poi l’host all’interno di quella rete Indirizzi IP Ogni host IP ha un indirizzo diviso in due parti:
  5. Host_ID: identifica l’host all’interno della sottorete
  6. Net_ID: identifica la sottorete su Internet Sono state inizialmente definite 5 classi di indirizzi:
  • Classe A: 0.x.x.x → 127.x.x.x
  • Classe B: 128.x.x.x → 223.x.x.x
  • Classe C: 192.x.x.x – 223.x.x.x
  • Classe D (multicast): 224.x.x.x – 239.x.x.x
  • Classe E (sperimentazione): 240.x.x.x – 255.x.x.x Le classi si distinguono dai primi bit del primo ottetto Stringhe particolari27.x.x.x : riservato ▪ 27.0.0.1 : loopback (localhost) ▪ Net_ID. (tutti 1 nel campo Hostd_ID): tutti gli host della rete Net_Id ▪ 55.255.255.255 (tutti 1) : broadcast limitato ▪ Net_ID. (tutti 0 nel campo Hostd_ID) : indirizzo di rete Parametri di configurazioneIndirizzo IP : identifica l’host ▪ Maschera di sottorete: se l’host appartiene alla rete locale o ad una remota (l’AND tra IP address e subnet mask fornisce l’indirizzo di rete) ▪ Default Gateway : per comunicare con un host di altra rete (router IP) Collaudo di TCP/IPPing 127.0.0.1 verifica che TCP/IP è installato correttamente ▪ Ping 131.78.123.7 verifica la raggiungibilità di un host ▪ IpConfig fornisce i parametri di configurazione di TCP/IP

Gli indirizzi IP Ogni nodo della rete internet è identificato con un indirizzo IP al quale è associato un nome logico costituito da stringhe di caratteri separati da punti. L’indirizzo IP è espresso nella versione 4 IP (v.4) sotto forma di stringa binaria lunga 32 bit (il protocollo IP v.4 utilizza quindi 32 bit) suddivisa in 4 gruppi da 8 bit separati da un punto. Questa stringa binaria è trasformata in numeri decimali. Sono state individuate 5 classi di indirizzi:

  • CLASSE A = 0.x.x.x > 127.x.x.x <>In binario il primo bit è sempre uguale a 0;
  • CLASSE B = 128.x.x.x > 191.x.x.x <>In binario il primo bit è uguale a 1 ed il secondo a 0;
  • CLASSE C = 192.x.x.x > 223.x.x.x <>In binario i primi due bit sono uguali a 1 ed il terzo a 0;
  • CLASSE D = 224.x.x.x > 239.x.x.x <>In binario i primi tre bit sono uguali a 1 ed il quarto a 0;
  • CLASSE E : 240.x.x.x > 255.x.x.x <>In binario i primi cinque bit sono uguali a 1 Subnetting Operazione di dividere la rete in segmenti più piccoli per consentire un utilizzo più efficiente degli indirizzi; Subnettizzare vuol dire togliere spazio alla parte host per darlo alla parte rete. la regola pratica è che in un indirizzo subnettizzato, l'indirizzo dell’host inizia dal primo bit corrispondente al primo bit della subnet mask uguale a 0 Router IP Il router è un apparato attivo di rete di livello 3 (rete) che ha il compito di instradare il traffico IP. Per instradare un router deve:
  • Conoscere l’indirizzo di destinazione ;
  • Identificare le sorgenti da cui può imparare il percorso di destinazione ;
  • Scoprire i possibili percorsi ;
  • Selezionare il miglior percorso ;
  • Aggiornare i percorsi conosciuti (tabella di routing) Le tabelle di routing possono essere:
  • Statiche (impostate manualmente)
  • Dinamiche (il router “impara” i percorsi migliori scambiando con altri Router le sue tabelle di routing) I router IP ricevono datagrammi IP da un’interfaccia e li inoltrano su un’altra; si distinguono dagli Host perchè:
  • hanno in genere più di un’interfaccia;
  • utilizzano “protocolli di routing” più sofisticati (RIP, IGRP, OSPF) I router IP hanno (normalmente) un indirizzo IP per ogni interfaccia.