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


Sintesi informatica 5 anno, Sintesi del corso di Informatica

Sintesi del libro "Informatica app" 3 riguardo: - protocolli di rete - sicurezza reti e crittografia dati - complessità computazionale - promp dei comandi

Tipologia: Sintesi del corso

2018/2019

Caricato il 17/06/2019

alessia-gobbini
alessia-gobbini 🇮🇹

3.9

(17)

21 documenti

1 / 7

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
PROTOCOLLI DI RETE
Reti di computer
Una rete di computer è costituita da un insieme di computer o più in generale di unità di
elaborazione autonome, connesse mediante un sistema di comunicazione e in grado di scambiarsi
messaggi o condividere risorse utilizzando regole di comunicazione note come protocollo di
comunicazione.
tutte le unità di elaborazione vengono chiamate nodi o host. I nodi sono collegati fisicamente tra loro
attraverso un sistema di comunicazione di attrezzature passive (cavi elettrici) e attrezzature o
dispositivi attivi (modem, router..). I nodi sono collegati logicamente attraverso programmi e software
che utilizzano un insieme di regole condivise dette protocollo.
Tipi di rete
Classificati in base all’estensione geografica:
PAN : rete personale, copre pochi metri.
LAN : di solito si sviluppano all’interno di un edificio. Non molto costose e di facile
manutenzione, le più diffuse.
CAN : ambito ristretto come quello di un campus.
MAN : estensione di una città. Nate per fornire il servizio TV.
WAN : dette anche reti geografiche perché nazionali, internazionali e intercontinentali. Tempi
di risposta maggiori.
GAN : collegano vari continenti, un esempio è Internet.
Le topologie di rete
La topologia di una rete definisce il modo in cui sono collegati i nodi della sotto-rete di
comunicazione. Ogni topologia possiede caratteristiche che influenzano il costo e il throughput, cioè
la quantità di informazione scambiata nell’unità di tempo.
La topologia è fisica quando definisce il modo in cui i componenti hardware sono collegati
fisicamente. E’ logica quando definisce il percorso dei messaggi attraverso i componenti hardware.
Topologia a Bus : tutti i nodi sono connessi ad un unico mezzo fisico comune (il bus) che
viene condiviso. Solo un nodo per volta può trasmettere.
Topologia a stella : tutti i nodi hanno un collegamento di tipo punto a punto con un nodo
centrale detto stella. Se uno o più collegamenti vengono interrotti il resto continua a
funzionare, se si guasta il nodo centrale tutta la rete rimane bloccata.
Topologia ad anello : ogni nodo è connesso al successivo, l’ultimo è connesso al primo.
Topologia a maglia completa : ogni nodo è collegato ad ognuno degli altri nodi. Senza tempi
di attesa ma grande complessità di manutenzione.
Tecniche di commutazione e protocolli
La commutazione è un particolare sistema che consente di realizzare un circuito virtuale tra due
stazioni nel caso in cui siano compresenti la richiesta di trasmissione e la disponibilità della linea.
I collegamenti commutati non sono fissi, ma si stabiliscono al momento della trasmissione e
permangono per il solo tempo necessario al suo completamento.
La commutazione di circuito è quella utilizzata nelle comunicazioni telefoniche. Il percorso viene
impegnato fisicamente ed in modo esclusivo. La ricerca del percorso avviene prima della
trasmissione dei dati.
La commutazione di messaggio non prevede l’impiego fisico di un percorso. Il percorso è
prefissato e vengono impiegate solo le linee utilizzate al momento, non rimanendo occupato per tutto
il tempo e lasciando liberi i tratti rimanenti agli altri utenti.
La commutazione di pacchetto prevede che il messaggio venga suddiviso in parti chiamate
pacchetti; ognuno di questi può essere spedito anche in un percorso diverso. In questo modo si
riduce il rischio di sovraffollamento di alcune linee. I dispositivi di ricezione provvedono a riordinare i
pacchetti e in caso di ricezione errata richiedono la trasmissione dei pacchetti non ricevuti.
Un protocollo è un insieme di regole che standardizzano e governano le operazioni delle unità
funzionali che sovrintendono la comunicazione.
Un protocollo definisce come avviene lo scambio di dati e cosa ci si sta scambiando. Consentono di:
usare efficacemente la rete
coordinare l’instradamento (routing)
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Sintesi informatica 5 anno e più Sintesi del corso in PDF di Informatica solo su Docsity!

PROTOCOLLI DI RETE

Reti di computer

Una rete di computer è costituita da un insieme di computer o più in generale di unità di elaborazione autonome, connesse mediante un sistema di comunicazione e in grado di scambiarsi messaggi o condividere risorse utilizzando regole di comunicazione note come protocollo di comunicazione. tutte le unità di elaborazione vengono chiamate nodi o host. I nodi sono collegati fisicamente tra loro attraverso un sistema di comunicazione di attrezzature passive (cavi elettrici) e attrezzature o dispositivi attivi (modem, router..). I nodi sono collegati logicamente attraverso programmi e software che utilizzano un insieme di regole condivise dette protocollo.

Tipi di rete

Classificati in base all’estensione geografica:

  • PAN : rete personale, copre pochi metri.
  • LAN : di solito si sviluppano all’interno di un edificio. Non molto costose e di facile manutenzione, le più diffuse.
  • CAN : ambito ristretto come quello di un campus.
  • MAN : estensione di una città. Nate per fornire il servizio TV.
  • WAN : dette anche reti geografiche perché nazionali, internazionali e intercontinentali. Tempi di risposta maggiori.
  • GAN : collegano vari continenti, un esempio è Internet.

Le topologie di rete

La topologia di una rete definisce il modo in cui sono collegati i nodi della sotto-rete di comunicazione. Ogni topologia possiede caratteristiche che influenzano il costo e il throughput , cioè la quantità di informazione scambiata nell’unità di tempo. La topologia è fisica quando definisce il modo in cui i componenti hardware sono collegati fisicamente. E’ logica quando definisce il percorso dei messaggi attraverso i componenti hardware.

  • Topologia a Bus : tutti i nodi sono connessi ad un unico mezzo fisico comune (il bus) che viene condiviso. Solo un nodo per volta può trasmettere.
  • Topologia a stella : tutti i nodi hanno un collegamento di tipo punto a punto con un nodo centrale detto stella. Se uno o più collegamenti vengono interrotti il resto continua a funzionare, se si guasta il nodo centrale tutta la rete rimane bloccata.
  • Topologia ad anello : ogni nodo è connesso al successivo, l’ultimo è connesso al primo.
  • Topologia a maglia completa : ogni nodo è collegato ad ognuno degli altri nodi. Senza tempi di attesa ma grande complessità di manutenzione.

Tecniche di commutazione e protocolli

La commutazione è un particolare sistema che consente di realizzare un circuito virtuale tra due stazioni nel caso in cui siano compresenti la richiesta di trasmissione e la disponibilità della linea. I collegamenti commutati non sono fissi, ma si stabiliscono al momento della trasmissione e permangono per il solo tempo necessario al suo completamento. La commutazione di circuito è quella utilizzata nelle comunicazioni telefoniche. Il percorso viene impegnato fisicamente ed in modo esclusivo. La ricerca del percorso avviene prima della trasmissione dei dati. La commutazione di messaggio non prevede l’impiego fisico di un percorso. Il percorso è prefissato e vengono impiegate solo le linee utilizzate al momento, non rimanendo occupato per tutto il tempo e lasciando liberi i tratti rimanenti agli altri utenti. La commutazione di pacchetto prevede che il messaggio venga suddiviso in parti chiamate pacchetti; ognuno di questi può essere spedito anche in un percorso diverso. In questo modo si riduce il rischio di sovraffollamento di alcune linee. I dispositivi di ricezione provvedono a riordinare i pacchetti e in caso di ricezione errata richiedono la trasmissione dei pacchetti non ricevuti. Un protocollo è un insieme di regole che standardizzano e governano le operazioni delle unità funzionali che sovrintendono la comunicazione. Un protocollo definisce come avviene lo scambio di dati e cosa ci si sta scambiando. Consentono di:

  • usare efficacemente la rete
  • coordinare l’instradamento ( routing )
  • assicurare la corretta comunicazione
  • risolvere eventuali errori ( arbitraggio )
  • consentire il funzionamento di particolari servizi di rete

Il modello architetturale ISO/OSI

Con l’espressione sistema di elaborazione intendiamo l’insieme di uno o più computer, compresi i loro sistemi operativi, i programmi applicativi, gli operatori e altro; in pratica, tutto ciò che, considerato come un’unica entità, può elaborare informazioni. Si definiscono sistemi aperti quei sistemi che, pur basandosi su sistemi operativi incompatibili, sono capaci di interagire tra di loro in accordo con degli standard predefiniti. Il modello di standard di riferimento è l’ Open System Interconnection ( OSI ), definito da una speciale commissione dell’ International Standard Organization ( ISO ). Un sistema aperto è costituito da sette strati funzionali detti layer (livelli) o sottosistemi, numerati da uno a sette, ciascuno dei quali comunica con quelli adiacenti attraverso specifici protocolli. L’ architettura di rete definisce, livello per livello, i protocolli effettivi e le interfacce, ovvero le relazioni che intercorrono tra gli strati appartenenti agli stessi layer nelle stazioni trasmittenti e riceventi. Il modello si basa su tre punti cardine:

  • simmetria : bilanciare i carichi elaborativi su vari sistemi
  • struttura gerarchica : i vari sottosistemi (layer) sono organizzati in una rigorosa gerarchia operativa: ogni livello riceve i comandi e i dati dal livello superiore, esegue per esso alcune funzioni e chiede servizi al livello inferiore.
  • modularità : garantisce che ogni livello abbia ben definite le funzioni e le interfacce, ciò garantisce possibilità di sviluppo.

I compiti dei sette strati funzionali

  • 7 livello APPLICAZIONE : fornisce i servizi direttamente agli utenti (browser, applicazioni).
  • 6 livello PRESENTAZIONE : omogeneizza i dati e i caratteri ad uno standard comune.
  • 5 livello SESSIONE : si preoccupa di dare le precedenze alla trasmissione dei dati. Una volta trasmesso un messaggio si aspetta la conferma di ricezione prima di continuare. Mette in accordo le sessioni di comunicazione.
  • 4 livello (TCP) TRASPORTO : consente il trasferimento dei messaggi lungo la rete stabilendo le connessioni. Può succedere che un nodo intermedio non ha spedito e non sono arrivati tutti i pacchetti, o se un nodo è congestionato, questo livello si preoccupa di azzerare tutto e farli ripartire (facendo le richieste opportune) e spedirli anche utilizzando percorsi di rete diversi.
  • 3 livello (IP) DI RETE : si preoccupa di stabilire e mantenere la connessione e dà un indirizzo (targa IP) univoca alla macchina. Quando inseriamo un indirizzo di un sito lo trasforma nel numero di targa e lo manda al server del sito, quando il server vede la richiesta con il numero di targa, prepara il sito e lo rispedisce al computer. Se non fosse univoco si rischierebbero le richieste. Quando facciamo la richiesta arriviamo ad un nodo, che vede sia il nostro indirizzo ip sia quello del destinatario. Si preoccupa di prendere i pacchetti del livello due e di spedirli in maniera opportuna servendosi di una mappa di rete chiamata tabella di routing. Tramite questi nodi arrivano tutti i pacchetti al destinatario, che si deve preoccupare di capire se sono arrivati tutti i pacchetti (l’ordine non conta, l’è essenziale è che sia completo).
  • 2 livello DI LINEA : DATA LINK. Organizza i dati in strutture di bit chiamati frame (o pacchetti). Provvede anche a inserire in questi pacchetti dei bit di controllo (il cui significato dovrà essere chiaro al ricevitore). Se ci sono errori cerca di rilevarli e di sistemarli.
  • 1 livello FISICO : influenzato fortemente dal mezzo fisico che abbiamo. E’ il più vicino al canale fisico di trasmissione. Garantisce che i bit spediti vengono ricevuti correttamente dal destinatario, perciò si interesserà delle modalità di attivazione e disattivazione del collegamento. Ex. cavo di rete LG45, attaccato alla scheda. Cavo di rame attaccato alla scheda ethernet. Serve per comunicare, qui avviene la comunicazione effettiva. Se una macchina deve trasmettere non aspetta un sincronismo ma prende e trasmette, quindi ci sono molte collisioni. I livelli 5-6-7-1-2 sono livelli “secondari”. Router significa “stradario”.

Il livello fisico: il protocollo CSMA/CD

vengono chiamati client. In questo tipo di rete è possibile: controllare gli accessi, pianificare le attività e ottimizzare la gestione del software. ex. Rete scolastica.

Dispositivi di rete

I proxy e il Firewall servono a limitare l’accesso a Internet o a veicolarlo secondo regole specifiche. Il proxy permette accesso all’esterno mentre il firewall protegge da attacchi esterni. I router dispositivi sui quali viene eseguito un programma che esamina i pacchetti in arrivo per poi inviare questi pacchetti alla LAN corretta. Gli Switch Inviano i pacchetti solo ai dispositivi interessati. È il centro di una stella. Livello data link. Gli hub simile allo switch ma più debole.

SICUREZZA RETI E CRITTOGRAFIA DATI

La sicurezza

Per sicurezza di un sistema informatico intendiamo la salvaguardia dei seguenti aspetti fondamentali: affidabilità, integrità, riservatezza, autenticità e non ripudio. Affidabilità i dati devono essere sempre accessibili agli utenti autorizzati. Integrità i dati devono essere protetti da modifiche non autorizzate. Riservatezza accessibili in lettura solo dai destinatari autorizzati. Autenticità offre la certezza della sorgente, del destinatario e del contenuto del messaggio. Non ripudio certezza che chi trasmette o riceve non possano negare di aver inviato o ricevuto i dati. Un attacco è un qualsiasi atto accidentale o intenzionale finalizzato a sovvertire le misure di sicurezza di un sistema informatico. Un agente attivo è un qualsiasi agente (umano o no) che può violare tutti gli aspetti della sicurezza. Un agente passivo è un qualsiasi agente (umano o no) che può violare la riservatezza dei dati.

Sistemi di attacco

Hacker sfrutta la proprie conoscenze per testare i sistemi di sicurezza e informare i responsabili in caso ci sia una falla. Cracker si serve delle falle nel sistema di sicurezza informatico per commettere crimini. Spamming Invio di posta elettronica pubblicitaria; certifica al cracker che l’indirizzo è attivo. Spoofing Invia dati da un indirizzo IP falso. Sniffing intercettare (annusare) il passaggio di dati per catturare quelli sensibili. Malware racchiude vari tipi di programma (virus, trojan horse…). Backdore creazione di una porta di servizio attraverso la quale il cracker può entrare e uscire a suo piacimento.

Protezione dagli attacchi

Malware programma (o parte di programma) si introduce in un sistema e compie azioni dannose: Worm Programmi che si inseriscono nella memoria e replicandosi saturano il sistema. Cavalli di troia si nasconde all’interno di un programma e si attiva al verificarsi di alcuni eventi. Virus programma autonomo che non ha bisogno di un file che lo ospiti. Cookie piccoli file di testo che i server web memorizzano per archiviare info utili sui client.

Crittografia

La crittografia è quella branca della matematica che studia i metodi per trasformare un messaggio in modo da renderlo visibile soltanto ad un numero ristretto di persone. Consiste nel criptare i dati prima di trasmetterli in rete e decodificarli una volta arrivati. CRITTOGRAFIA SIMMETRICA (CHIAVE PRIVATA): Si utilizza solo una chiave (comunicata precedentemente attraverso un canale sicuro) e poi la si usa sia per cifrare che per decifrare. CRITTOGRAFIA ASIMMETRICA (CHIAVE PUBBLICA): Si usa due chiavi (coppia di chiavi asimmetriche) una diretta e una inversa legate da una relazione matematica. È possibile usare ciascuna sia per cifrare che per decifrare indifferentemente. Una delle due chiavi deve essere resa pubblica e la usano gli altri per cifrare il messaggio, che poi solo il destinatario può decifrare con l’altra chiave (certezza di riservatezza e del destinatario). Inoltre il mittente lo cifra con la propria chiave privata e il destinatario lo decifra con la chiave pubblica associata (certezza del mittente).

Firma digitale

Generando un impronta digitale del messaggio, ovvero un riassunto del contenuto e crittografandola con chiave asimmetrica, il destinatario potrà confrontare il messaggio con i dati dell’impronta digitale e vedere se questo è stato alterato.

Sistemi di sicurezza nelle reti

Backup realizzare una copia di sicurezza dei dati. Quelli migliori sono su DVD o nastro magnetico perché non si deteriorano. - Mirroring (copia su un second hard disk) – NAS, Network Attached Storage (backup su un dispositivo esterno). Firewall Costringe il passaggio di tutto ciò che entra o esce dal computer ad un unico ingresso/uscita in cui fa opportuni controlli. Proxy Riceve le richieste dei computer della rete (concedendole o negandole).

LA COMPLESSITÀ’ COMPUTAZIONALE

Cos'è un algoritmo

Un algoritmo sono una serie di azioni elementari indicate in modo preciso e sistematico che, se eseguite in sequenza, conducano a risolvere un dato problema (ex. Ricetta). Deve essere preciso perché progettato per essere utilizzato da un automa , cioè da qualcosa che non è in grado di ragionare e prendere decisioni. Un'azione si dice elementare quando non può essere scomposta in altre azioni più semplici; è chiamata anche istruzione ed è interpretabile in modo univoco. Un procedimento risolutivo di un problema è un algoritmo quando può essere descritto per mezzo di un insieme finito di azioni elementari univocamente interpretabili e definite , che formano una successione ordinata e finita di passi, la cui esecuzione si arresta per fornire i risultati del problema partendo dai valori assunti dai dati iniziali.

Qualità di un algoritmo

L’impiego dell’algoritmo più efficiente si traduce in un risparmio di risorse computazionali e, di conseguenza, in un risparmio di tempo e di denaro. Di ogni algoritmo dobbiamo considerare due aspetti:

  • la sua organizzazione interna : la struttura data alle sue istruzioni e le strutture dati utilizzate
  • le risorse necessarie: in particolare la memoria e il processore, strettamente legate allo spazio e al tempo necessari per la sua esecuzione. Ogni algoritmo può essere tradotto in diversi programmi scritti in diversi linguaggi di programmazione e ogni programma verrà, a sua volta, trasformato in più processi a tempo di esecuzione. Per valutare la bontà di un algoritmo non ci riferiremo direttamente all’algoritmo ma alle risorse che utilizzerà. se finora l’obiettivo era, dato un problema, scriverne la soluzione sotto forma di algoritmo corretto e funzionante e codificarlo in un linguaggio di programmazione, ora l’obiettivo è: Dati uno o più algoritmi che risolvono un problema, confrontarli per poi individuare il migliore sulla base di un'analisi qualitativa. Tra le risorse particolare attenzioni va posta allo spazio di memoria e al tempo di esecuzione. Per risorsa spazio intendiamo l’area di memoria occupata da un processo durante la sua esecuzione. Ci riferiamo sia quella utilizzata per la memorizzazione della struttura dati, sia a quella necessaria per la memorizzazione del codice stesso, dei suoi dati di input e dei risultati intermedi. Parlando di risorsa tempo intendiamo il tempo di esecuzione del processo legato all’algoritmo. Dato che i computer odierni sono dotati di una grande memoria la risorsa spazio è diventata meno importante e ci occuperemo quindi esclusivamente della risorsa tempo. Gli algoritmi buoni sono considerati tali se sono:
  • soluzioni semplici , efficaci e soprattutto generali
  • facilmente modificabili in caso di necessità
  • indipendenti dal linguaggio di programmazione

Costo di un algoritmo

Valutare il tempo di esecuzione esprimendolo in unità solari è un modo errato perché poco attendibile in quanto i risultati dipendono esclusivamente dalle condizioni in cui è stato fatto il test, cioè:

  • dalla velocità di esecuzione dell’elaboratore
  • dalla velocità dell’interprete o del compilatore
  • dalla dimensione e dalla disposizione dei dati forniti in input, cioè da quanti dati arrivano in input e da come vengono proposti (in modo ordinato o disordinato)

Ordine di grandezza e classi di computabilità

Confrontando due algoritmi può accadere che il primo esegua meno operazioni dell’altro quando la dimensione del problema è bassa, ma che le cose si ribaltino quando tale dimensione cresce. In questi casi, allora, conviene fare riferimento all’ ordine di grandezza della complessità, cioè valutare la complessità per valori molto grandi delle dimensioni del problema. Si parla di complessità asintotica. L’algoritmo di ricerca binaria, per esempio, ha prestazioni peggiori di un algoritmo di ricerca sequenziale per valori di N ≤ 3. Possiamo individuare alcuni ordini di grandezza per le funzioni T(N) che individuano le così dette classi di complessità (o computabilità). Abbiamo quindi i seguenti casi: CLASSE DI COMPLESSITÀ’ DESCRIZIONE Complessità costante Algoritmi che eseguono lo stesso numero di operazioni indipendentemente dalla dimensione dei dati in input (algoritmo senza cicli). Complessità logaritmica Algoritmi che eseguono un numero di operazioni proporzionale a logN. Un esempio è la ricerca binaria. Complessità lineare Algoritmi che eseguono un numero di operazioni proporzionali a K (ricerca sequenziale, lettura e stampa di un array, algoritmo di verifica di un numero primo). Complessità NlogN E’ la classi di algoritmi di ordinamento (Algoritmo MergeSort). Complessità polinomiale Dimensioni del problema come base da elevare a un esponente K. Quando K=2 si parla di complessità quadratica (BubbleSort o due cicli FOR uno dentro l’altro). Quando K=3 si parla di complessità cubica (moltiplicazioni di matrici quadrate). Complessità esponenziale Ha la dimensione del problema come esponente (algoritmo che deve produrre tutte le possibili stringhe di lunghezza N su un alfabeto di 10 simboli).

Efficienza di un algoritmo

Due algoritmi appartenenti alla stessa classe di complessità (pari complessità computazionale) possono essere confrontati relativamente al tempo di esecuzione. Siano f 1 (N) e F 2 (N) due funzioni con la stessa classe di complessità computazionale, relative, rispettivamente, agli algoritmi A1 e A2 che risolvono lo stesso problema. Diremo che A1 e A appartengono alla stessa classe di complessità se: con C>0 costante Possiamo ora valutare l' efficienza dei due algoritmi.

  • A1 è più efficiente di A2 se C<
  • A2 è più efficiente di A1 se C>

PROMPT DEI COMANDI

IpConfig fornisce l’IP della macchina da cui scrivo. Ping è un programma che testa la velocità della macchina sulla rete inviando una serie di pacchetti su un determinato IP che l’utente inserisce. Una rete interna è più veloce di una esterna. Ipconfig /all fa vedere tutte le impostazioni che sono presenti sulla macchina per la rete. (Gateway predefinito: indirizzo a cui la macchina si appoggia per andare in rete). Tracert manda un pacchetto alla destinazione che noi vogliamo e mostra tutte le tappe intermedie ISP Internet Service Provider: offre la possibilità di andare su internet (ex. Vodafone) Motore di ricerca è un portale che mi offre servizi, il più importante è riportare i siti che riportano quella parola.