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


Modello OSI: Livelli, Funzioni e Protocolli di Rete, Schemi e mappe concettuali di Informatica

I livelli del modello osi (open systems interconnection), un modello concettuale che standardizza le funzioni di rete e di comunicazione per i sistemi informatici. Il modello osi è suddiviso in sette livelli, ognuno con specifiche responsabilità, dall'invio fisico dei dati (livello fisico) alla comunicazione tra applicazioni (livello applicazione). In dettaglio i livelli fisico, data link, rete, trasporto e sessione, evidenziando le loro funzioni principali, come il controllo degli errori, la gestione del flusso di dati e l'instradamento dei pacchetti. Inoltre, vengono descritti dispositivi di rete come hub e router, spiegando il loro ruolo nell'interconnessione delle reti e nella gestione del traffico dati. Una panoramica completa e dettagliata del modello osi, utile per comprendere come i diversi livelli interagiscono per consentire la comunicazione tra sistemi informatici.

Tipologia: Schemi e mappe concettuali

2021/2022

In vendita dal 22/07/2025

irenee.
irenee. 🇮🇹

5

(7)

53 documenti

1 / 20

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
1. Livello fisico
Il livello 1(Physical Layer)è il livello più esterno, e quindi il più basso, della modello ISO/OSI.
Il suo obiettivo è quello di gestire il mezzo trasmissivo che può essere un cavo coassiale, una fibra ottica, dei
connettori o dei doppini telefonici tramite il quale avviene la trasmissione delle informazioni.
Il livello fisico del modello OSI è responsabile della trasmissione finale dei bit di dati digitali dal livello fisico
del dispositivo di invio (sorgente) tramite i mezzi di comunicazione di rete al livello fisico del dispositivo di
ricezione (destinazione).
Il livello 1 ha il compito di definire:
Le caratteristiche degli apparati trasmissivi quindi, dei cavi, fibra ottica, delle prese, dei connettori
ecc...
La tensione scelta per rappresentare i bit trasmessi sul mezzo fisico
La durata in microsecondi del segnale stabilisce la frequenza con la quale mittente e destinatario
dovranno inviare i loro rispettivi messaggi (sincronizzazione)
Il verso in cui avverrà la trasmissione del segnale
La tipologia dei segnali trasmessi a seconda del canale che viene usato: ottici, elettrici,
elettromagnetici
Caratteristiche fisiche degli apparati trasmissivi
Una rete è costituita da un insieme di computer e nodi interconnessi tra loro, in grado
di condividere sia le risorse hardware (periferiche accessibili dai vari computer che
formano la rete), che le risorse software (programmi applicativi e file archiviati nelle
memorie di massa dei vari terminali). Questi apparati sono composti da mezzi
trasmissivi, trasduttori, connettori ecc...
I mezzi trasmissivi sono quei dispositivi che collegano i vari nodi di una rete tra di loro,
si distinguono principalmente in due famiglie:guidatienon guidati.
Un esempio di mezzi trasmissivi guidati sono i doppini telefonici composti da 8 cavi di
rame intrecciati a coppie tra di loro.
Un esempio di mezzo trasmissivo non guidato è l'etere.
La tensione scelta per rappresentare i bit trasmessi sul mezzo fisico
Il livello fisico rappresenta i bit, in cui è codificata l'informazione, in un segnale adatto al mezzo trasmissivo.
Per esempio, se il mezzo trasmissivo è un doppino i bit verranno rappresentati con
determinati valori di tensione, in particolare il bit 1 viene rappresentato da un valore
di tensione "alto" mentre il bit 0 viene rappresentato da un valore di tensione "basso";
ad esempio in un segnale elettrico, dove il picco massimo è 5mV e il picco minimo è -
5mV, se il segnale raggiunge il picco massimo di tensione (e cioè 5mV) esso
rappresenterà il bit 1, nel caso contrario rappresenterà il bit 0.
Se il mezzo trasmissivo sarà una fibra ottica, i bit verranno rappresentati attraverso impulsi luminosi;
Se il mezzo è l'etere il segnale sarà un'onda avente una frequenza trasmessa da un’antenna.
Sincronia tra mittente e destinatario
I dati da trasmettere sul canale dovranno essere trasformati in un determinato tipo di segnale a seconda
del canale su cui dovranno viaggiare.
I dati da trasmettere sul canale devono essere trasformati in un segnale con lacodifica di linea; essa serve
ad adattare il segnale da inviare al particolare mezzo trasmissivo ed, inoltre, consente di mantenere
lasincronizzazionetra mittente e ricevitore.
Il segnale di sincronismo è il segnale di clock che sincronizza i clock delle schede di rete delle entità
connesse alla rete.
Il verso in cui avverrà la comunicazione
La comunicazione può avvenire principalmente in due direzioni: in un verso, dettosimplex, oppure in più
versi, dettoduplex.
Una comunicazione di tipo duplex può avvenire in due modi: half-duplex; oppure full-duplex.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Anteprima parziale del testo

Scarica Modello OSI: Livelli, Funzioni e Protocolli di Rete e più Schemi e mappe concettuali in PDF di Informatica solo su Docsity!

1. Livello fisico

Il livello 1 (Physical Layer) è il livello più esterno, e quindi il più basso, della modello ISO/OSI. Il suo obiettivo è quello di gestire il mezzo trasmissivo che può essere un cavo coassiale, una fibra ottica, dei connettori o dei doppini telefonici tramite il quale avviene la trasmissione delle informazioni. Il livello fisico del modello OSI è responsabile della trasmissione finale dei bit di dati digitali dal livello fisico del dispositivo di invio (sorgente) tramite i mezzi di comunicazione di rete al livello fisico del dispositivo di ricezione (destinazione). Il livello 1 ha il compito di definire:

  • Le caratteristiche degli apparati trasmissivi quindi, dei cavi, fibra ottica, delle prese, dei connettori ecc...
  • La tensione scelta per rappresentare i bit trasmessi sul mezzo fisico
  • La durata in microsecondi del segnale stabilisce la frequenza con la quale mittente e destinatario dovranno inviare i loro rispettivi messaggi (sincronizzazione)
  • Il verso in cui avverrà la trasmissione del segnale
  • La tipologia dei segnali trasmessi a seconda del canale che viene usato: ottici, elettrici, elettromagnetici Caratteristiche fisiche degli apparati trasmissivi Una rete è costituita da un insieme di computer e nodi interconnessi tra loro, in grado di condividere sia le risorse hardware (periferiche accessibili dai vari computer che formano la rete), che le risorse software (programmi applicativi e file archiviati nelle memorie di massa dei vari terminali). Questi apparati sono composti da mezzi trasmissivi, trasduttori, connettori ecc... I mezzi trasmissivi sono quei dispositivi che collegano i vari nodi di una rete tra di loro, si distinguono principalmente in due famiglie: guidati e non guidati. Un esempio di mezzi trasmissivi guidati sono i doppini telefonici composti da 8 cavi di rame intrecciati a coppie tra di loro. Un esempio di mezzo trasmissivo non guidato è l'etere. La tensione scelta per rappresentare i bit trasmessi sul mezzo fisico Il livello fisico rappresenta i bit, in cui è codificata l'informazione, in un segnale adatto al mezzo trasmissivo. Per esempio, se il mezzo trasmissivo è un doppino i bit verranno rappresentati con determinati valori di tensione, in particolare il bit 1 viene rappresentato da un valore di tensione "alto" mentre il bit 0 viene rappresentato da un valore di tensione "basso"; ad esempio in un segnale elettrico, dove il picco massimo è 5mV e il picco minimo è - 5mV, se il segnale raggiunge il picco massimo di tensione (e cioè 5mV) esso rappresenterà il bit 1, nel caso contrario rappresenterà il bit 0. Se il mezzo trasmissivo sarà una fibra ottica, i bit verranno rappresentati attraverso impulsi luminosi; Se il mezzo è l'etere il segnale sarà un'onda avente una frequenza trasmessa da un’antenna. Sincronia tra mittente e destinatario I dati da trasmettere sul canale dovranno essere trasformati in un determinato tipo di segnale a seconda del canale su cui dovranno viaggiare. I dati da trasmettere sul canale devono essere trasformati in un segnale con la codifica di linea; essa serve ad adattare il segnale da inviare al particolare mezzo trasmissivo ed, inoltre, consente di mantenere la sincronizzazione tra mittente e ricevitore. Il segnale di sincronismo è il segnale di clock che sincronizza i clock delle schede di rete delle entità connesse alla rete. Il verso in cui avverrà la comunicazione La comunicazione può avvenire principalmente in due direzioni: in un verso, detto simplex, oppure in più versi, detto duplex. Una comunicazione di tipo duplex può avvenire in due modi: half-duplex; oppure full-duplex.

La tipologia dei segnali trasmessi Un segnale è una qualsiasi grandezza fisica che può variare nel tempo. A seconda del tipo di canale utilizzato il segnale trasmesso può essere:  Segnale elettrico (dove i picchi più alti di corrente vengono rappresentati con un 1 e i picchi più bassi di tensione con uno 0);  Segnale luminoso (l'informazione viene inviata tramite impulsi luminosi sul canale);  Onde radio (segnali che si propagano tramite l'etere).

2. Livello data link

Obiettivo principale: fornire al livello di rete di due macchine adiacenti un canale di comunicazione il più possibile affidabile

  • macchine adiacenti -> fisicamente connesse da un canale di comunicazione (es. un cavo coassiale, doppino telefonico)
  • canale di comunicazione -> “tubo di bit”, ovvero i bit sono ricevuti nello stesso ordine in cui sono inviati Per compiere questo obiettivo, come tutti i livelli OSI, il livello 2 offre dei servizi al livello superiore (livello di rete) e svolge una serie di funzioni Problema: il canale fisico non è ideale
  • errori di trasmissione tra sorgente e destinazione
  • necessità di dover gestire la velocità di trasmissione dei dati
  • ritardo di propagazione non nullo Il compito di questo livello è essenzialmente quello di occuparsi della trasmissione tra un nodo e l'altro della rete, sia che si tratti di elementi finali (host) o dispositivi di rete (router, switch,ecc.). In realtà il livello data link può anche occuparsi semplicemente della trasmissione tra una periferica e il computer, per esempio una stampante, o un qualunque dispositivo connesso tramite una porta al PC. È il primo livello software, dato che il livello sottostante è quello fisico; quindi le specifiche dei vari protocolli sono strettamente legate all'hardware, dato che devono operare direttamente sul segnale fisico per codificarlo (in trasmissione) e decodificarlo (in ricezione). I protocolli di questo livello fanno in genere parte del software contenuto nei driver dei diversi dispositivi. P.es., è il driver della scheda di rete che si occupa di codificare i messaggi nel protocollo di secondo livello adottato dalle schede di quel tipo, o è il driver della stampante che fa sì che il computer conosca il linguaggio di comandi accettato dalla stampante stessa. Al livello superiore va fornito un collegamento affidabile (tutti i messaggi arrivano a destinazione) che nasconde la natura fisica del mezzo trasmissivo; inoltre un compito specifico di questo livello è il controllo degli errori. Le operazioni compiute a questo livello si possono così riassumere: In trasmissione:

 Fa riferimento perciò a dei calcolatori che all'interno di una rete prendono il nome di nodi o router, e che appunto gestiscono delle tabelle di instradamento che consentono di ottimizzare il traffico della rete. Quando il collegamento è unicamente locale, come avviene in una LAN (rete locale) all'interno di un ufficio o di un'abitazione, la consegna dei pacchetti può utilizzare protocolli semplificati che fanno leva sulle funzioni dello strato data link per distribuire i pacchetti; però, e la necessità di collegare la propria rete ad altre, anche distanti, è diventato standard l'impiego di protocolli di rete veri e propri, e in particolare della famiglia di protocolli TCP/IP. L'Internet Protocol è un protocollo di internetworking che opera allo strato di rete, dove il mittente e il destinatario vengono riconosciuti sulla base di un indirizzo univoco, valido per l'intero dominio Internet, che prende il nome, appunto, di indirizzo IP. Tale strato non si occupa di verificare l'integrità della trasmissione supponendo che, se lo strato 2 non ha segnalato errori, la rete sia operativa, e lasciando agli strati superiori il compito di monitorare la consegna a destinazione dei pacchetti e di garantire l'affidabilità della comunicazione. Il protocollo TCP (Transmission Control Protocol) si occupa di verificare che la sequenza dei pacchetti sia corretta e che venga mantenuta nel corso delle operazioni d'instradamento su Internet, dove ogni pacchetto viaggia in maniera indipendente. Infatti, un messaggio di posta elettronica, oppure una pagina Web, devono essere suddivisi in pacchetti per poter essere trasmessi mediante IP; lo strato TCP (equivalente allo strato 4 OSI) verifica che la sequenza con cui arrivano a destinazione sia corretta. Gestisce l’instradamento (routing) dei pacchetti di dati e determina se e quali sistemi intermedi devono essere attraversati dal pacchetto per raggiungere la destinazione. Stabilisce il percorso migliore e gestisce le tabelle di instradamento ed i percorsi alternativi (fault tolerance). Le tabelle di instradamento, per ogni destinazione, contengono le varie possibili strade che conducono alla destinazione finale. La sua unità dati fondamentale è il pacchetto. Ogni indirizzo IP è diviso in 2 parti:  Network address (Indirizzo di rete)  Host address (Indirizzo host, computer ospite) Le parti dell'indirizzo IP utilizzate come indirizzi di rete e di host non sono fisse. Per determinare questa informazione è necessario un altro numero a 32 bit denominato subnet mask. Cos'è la subnet mask La subnet mask o netmask consente di stabilire l'intervallo di indirizzi IP all'interno di una sottorete. La subnet mask permette di ricavare la rete cui appartiene un dispositivo partendo dal suo indirizzo IP Essa consente di stabilire quali risorse sono da considerarsi locali e quali invece remote. Come nel caso degli indirizzi IPv4, anche la subnet mask è formata da una sequenza di 32 bit o 4 byte: ciascuno dei quattro gruppi da 8 bit è separato con un punto.

Si dice che ogni gruppo è da 8 bit perché ciascuno di essi può assumere una numerazione compresa tra 0 e 255 (2^8 valori possibili) ovvero equivale a un byte (1 byte = 8 bit). Il protocollo IP: La subnet mask in notazione binaria

  • Indirizzo IP 11000000.10101000.01111011.
  • Subnet 11111111.11111111.11111111.
  • Network 11000000.10101000.01111011.00000000 AND logico Bit a Bit
  • Host 00000000.00000000.00000000. In forma decimale Indirizzo IP : 192. 168. 220. 132 Sub mask: 255. 255. 255. 0 Network address : 192. 168. 220. 0 Host address: 132 24 BIT SONO DEDICATI ALLA PARTE RETE IN QUESTO CASO 8 BIT SONO DEDICATI ALLA PARTE HOST Indirizzo IP Gli indirizzi binari con una porzione host composta da soli 1 e da soli 0 non sono validi
  • L'indirizzo con soli 0 non è valido perché viene utilizzato per specificare una rete senza specificare un host. Indirizzo di Rete
  • L'indirizzo 255 (in notazione binaria, un indirizzo host composto da soli 1 viene utilizzato per trasmettere un messaggio a tutti gli host di una rete: Indirizzo di broadcast
  • L’insieme di tutti gli host raggiunti da un broadcast si chiama DOMINIO DI BROADCAST Quante reti posso rappresentare con 4 ottetti di bit? Dipende dal numero di bit che riservo alla parte rete. Regola generale: Numero di reti = 2N^ dove N è il numero di bit dedicati alla parte Rete Quanti host posso rappresentare per ogni rete? Regola generale: Numero di reti = 2H^ dove H è il numero di bit dedicati alla parte host Tipi di indirizzi IP
  • IP Pubblici: Sono unici a livello mondiale e sono gestiti da IANA (Internet Assigned Numbers Authority)
  • IP Privati: Sono utilizzabili da tutti e non sono esposti sulla rete pubblica Classe A Il primo byte rappresenta la rete; gli altri tre gli host per ogni rete. In notazione decimale gli IP variano nel modo seguente: 0-127.H.H.H ; La maschera di rete è 255.0.0.0 (o anche detta /8 in quanto i bit di rete sono 8); Questi indirizzi in binario iniziano con il bit 0. Classe B I primi due byte rappresentano la rete; gli altri due gli host per ogni rete. In notazione decimale gli IP variano nel modo seguente: 128-191.N.H.H ; La maschera di rete è 255.255.0.0 (o anche detta /16 in quanto i bit di rete sono 16); Questi indirizzi in binario iniziano con i bit 10. Classe C I primi tre byte rappresentano la rete; l'ultimo gli host per ogni rete. In notazione decimale gli IP variano nel modo seguente: 192-223.N.N.H ; La maschera di rete è 255.255.255.0 (o anche detta /24 in quanto i bit di rete sono 24); Questi indirizzi in binario iniziano con i bit 110.

Controllo di congestione Il protocollo riconosce uno stato di congestione della rete e adatta di conseguenza la velocità di trasmissione. Multiplazione Il protocollo permette di stabilire diverse connessioni contemporanee tra gli stessi due host, tipicamente utilizzando l'astrazione delle porte. Nell'uso comune diversi servizi utilizzano porte logiche di comunicazione diverse. Servizio di trasporto Il servizio di trasporto fornito può essere di vari tipi:  affidabile (garanzia di consegna dei messaggi nel corretto ordine)  non affidabile (solo funzionalità di indirizzamento) ma ovviamente il servizio realmente fornito all’applicazione dipende dal livello rete sottostante Nella suite IP sono definiti due tipi di trasporto TCP (Transmission Control Protocol), orientato alla connessione e affidabile UDP (User Datagram Protocol), senza connessione e non affidabile Il TCP è un protocollo di trasporto che: assicura il trasporto affidabile in corretta sequenza senza errori dei dati Mediante TCP è possibile costruire applicazioni che si basano sul trasferimento di file senza errori tra host remoti (web, posta elettronica, ecc.) L’UDP assicura indirizzamento delle applicazioni ƒ blando controllo d’errore sull’header, non garantisce la consegna non esercita nessun controllo (né di flusso, né di errore). Connessione TCP Questo protocollo prima ancora di trasferire i dati sul canale di comunicazione, si preoccupa di instaurare la connessione tra i due estremi. In particolare tra le applicazioni dei due estremi. Lo fa attraverso ciò che è definito socket e cioè l’accoppiata di Indirizzo IP e Porta. Ogni comunicazione ha un Server , un computer che eroga servizi, e un Client , un computer che richiede un servizio. Il Client richiede un determinato tipo di servizio al Server attraverso le Porte Immaginate appunto di avere l’indirizzo esatto di un palazzo e dovete andare in visita ad un parente che abita in quel palazzo. L’indirizzo IP è l’ indirizzo fisico del palazzo ( via Via Tal dei Tal n° 3) arrivati però all’edificio ( Il Server, perchè effettivamente eroga servizi) dovete accedere ad un particolare appartamento (La porta è il numero dell’interno dove abita il Vostro parente) Porta Le porte sono a 16 bit per un totale di 2^16 = 65 536 Esiste una porta di destinazione che indentifica univocamente un dato processo e/o servizi, la porta sorgente che è assegnata casualmente. Questo serve perchè se allo stesso server arrivano richieste sulla stessa porta da due host differenti, esso capisce dove inviare i giusti pacchetti nella giusta direzione. Esistono tre gruppi ben distinti di porte:

  • Le porte conosciute. “Well-known-ports”. Sono assegnate dallo IANA e sono quelle inferiori a 1024 e sono utilizzate a livello di Sistema Operativo e Processi di Sistema. L’FTP che è un protocollo per trasferire i dati ad esempio utilizza la porta 21. L’SSH che è un protocollo utilizzato per aprire

un Terminale su una macchina utilizza la porta 22. Queste porte sono standard

  • Le porte registrate. Sostanzialmente sono porte utilizzate come riferimento tra applicazioni.
  • Infine le porte dinamiche , liberamente utilizzabili da tutte le applicazioni utente, salvo l’occupazione contemporanea da parte di qualche altro processo. Multiplexing e Demultiplexing Il livello trasporto:
  • nel lato mittente, riceve i messaggi del livello applicativo e li incapsula in segmenti che sono poi passati al livello rete - multiplexing (da tante applicazioni a un protocollo di livello rete)
  • nel lato ricevente, riceve segmenti dal livello rete sottostante, verifica la loro correttezza (checksum) ed estrae il messaggio (dati) che passa al giusto processo applicativo - demultiplexing (dal protocollo di livello rete a più applicazioni) Multiplexing nell’host mittente: Raccogliere i dati da varie socket, incapsularli con l’intestazione (utilizzati poi per il demultiplexing) Demultiplexing nell’host ricevente: Consegnare i segmenti ricevuti alla socket appropriata Esempio protocollo TCP Quando un utente si connette ad una rete, attraverso un modem o router (Livello Fisico), acquisisce la possibilità di comunicare con elaboratori fisicamente lontani, ovvero altri hosts. Immaginiamo perciò il seguente scenario: abbiamo aperto una finestra di Google Chrome e stiamo per effettuare una ricerca su Google Search attraverso una scheda di Chrome, mentre su un'altra scheda, stiamo scrivendo una importante mail all'interno del nostro dominio di posta elettronica. Supponiamo anche che nel momento in cui digitiamo la parola chiave della ricerca nella prima scheda, dopo aver premuto il tasto di Invio, il browser riporti i risultati della ricerca sulla seconda, scollegandovi, non solo, dalla propria casella di posta, ma eliminando definitivamente la scrittura della mail che era in corso. Multiplexing e il Demultiplexing sono le due funzionalità del Protocollo TCP che permettono ad un pacchetto di essere direzionato in maniera corretta, sia nel percorso di andata sia nel percorso di ritorno del Modello OSI. In altri termini, al pacchetto di richiesta inviato dal tasto di Invio, partito dalla scheda di ricerca deve corrispondere un pacchetto di risposta (contenente il risultato aspettato) inviato esattamente alla scheda di partenza (a meno che l'utente non decida volontariamente di aprire la ricerca su un'altra scheda attraverso le funzionalità messe a disposizione dal browser). Gli elementi principali che lo realizzano sono quelle che vanno sotto il nome di Porte (o Porti). Una Porta, , è un codice identificativo associato ad una determinata connessione. In Chrome, ad esempio, ogni scheda stabilisce una connessione con un identificativo univoco. Il protocollo TCP supporta circa 65.000 connessioni contemporanee. Protocollo UDP
  • Non richiede l’instaurazione di una connessione tra le parti che comunicano
  • Minore latenza , perché non c’è acknowledge dei pacchetti
  • Possibilità di inviare un pacchetto a più destinatari simultaneamente
  • Non viene garantita la consegna dei pacchetti
  • Non viene garantita l’ordine dei pacchetti
  • Svolge solo funzione di indirizzamento delle applicazioni (porte)
  • NON gestisce:  connessioni; controllo di flusso

Le problematiche sono simili a quelle del livello sottostante (trasporto), in particolare per quanto riguarda l'apertura e la chiusura della sessione, con la differenza che qui non si tratta di gestire la comunicazione tra due host ma tra due programmi. La fase intermedia invece, cioè la gestione della sessione stessa, ha delle caratteristiche specifiche di questo livello, per esempio come ripristinare sessioni interrotte senza perdita di dati, o gestire i turni durante il dialogo tra le due applicazioni. Il livello si appoggia sui servizi forniti dal livello di trasporto, che assicura la connessione end-to-end tra i due computer; questa può essere fornita in maniera affidabile o non affidabile, orientata alla connessione oppure no. Il servizio fornito è comunque sempre connection oriented , ma non affidabile, cioè non prevede la conferma e meccanismi di correzione dei dati inviati. Può invece prevedere dei meccanismi di conferma sulle informazioni di controllo del protocollo stesso. Apertura di una sessione di lavoro tra due applicazioni Presuppone naturalmente una connessione aperta tra i due host; a questo punto, l'applicazione che chiede di aprire la sessione di lavoro (solitamente il client) deve identificare il programma con cui vuole dialogare sul computer di destinazione. Si avvia uno scambio di informazioni tra l'utente che intende utilizzare un servizio e il server che possiede tale servizio. Gli indirizzi di sessione sono composti dall'indirizzo a livello trasporto più un a stringa di byte che viene chiamata selettore di sessione. Trattandosi di un modello astratto, non viene definita la lunghezza della stringa né il suo formato. Il concetto è analogo a quello di porta nell' architettura TPC/IP, ma bisogna tenere ben presente che questa non prevede il livello sessione, ma gestisce questi indirizzi a livello applicazione; Per realizzare una sessione di lavoro sono necessari due indirizzi a livello sessione, quello del programma server e quello del client. Questi non sono da confondere con l' identificativo di sessione , che identifica in maniera univoca la sessione sia sul client che sul server. La negoziazione comprende due fasi: la richiesta di apertura e la risposta. Richiesta di apertura sessione dove il richiedente invia una richiesta di apertura con una serie di informazioni. Il programma chiamato risponde tramite il servizio di pari livello, confermando o modificando le richieste ricevute. (Risposta) Ci sono due possibilità:  il programma interpellato ha rifiutato la connessione. In questo caso bisogna prendere in esame il motivo del rifiuto.  temporanea impossibiltà la richiesta verrà ripetuta dopo un intervallo di tempo predefinito o casuale  connessione respinta l'apertura è fallita, e il rifiuto con l'eventuale causa verrà restituito allo strato application  la richiesta è stata accettata in questo caso bisogna esaminare il token assignment, che può avere due valori:  chiamante il richiedente può inziare l'invio dei dati  chiamato il richiedente deve passare il token al corrispondente Se il protocollo a livello sottostante fornisce un servizio affidabile e connection oriented, eventuali errori o perdite di dati vengono gestiti a livello di trasporto. Non si può comunque escludere che la sequenza precedente venga interrotta per qualche motivo o ci sia una perdita di dati durante la trasmissione.

Possono verificarsi i seguenti scenari:  il chiamato non riceve la richiesta questo non crea problemi nell’applicazione destinataria, mentre il chiamante - dopo aver atteso per un lasso di tempo ragionevole - deve decidere come gestire la mancata risposta; i possibili comportamenti sono simili a quelli di una richiesta respinta  il chiamante non riceve la risposta in questo caso i problemi si verificano da entrambi i lati della connessione; infatti anche il destinatario rimane con una sessione sospesa e deve decidere se interromperla o ripetere la risposta. Il rischio è quello di messaggi incrociati e una doppia connessione. (il chiamante infatti non sa se il chiamato ha ricevuto o no la sua richiesta, quindi potrebbe ripeterla) Gestione della sessione Una volta terminata la negoziazione, si tratta di gestire la sessione che è stata aperta per il trasferimento dei dati. Il modello prevede tre modalità di trasferimento, che possono avvenire con flussi indipendenti:

  • normal data : i dati richiesti (per esempio un file, o un messagio di posta elettronica, o una pagina web)
  • typed data : dati che l'utente digita direttamente (per esempio un url, o una password, o un comando)
  • exception data : dati necessari alla gestione di errori o situazioni impreviste Le funzioni specifiche di questo livello sono:  gestione del turno spesso le applicazioni lavorano in modalità half-duplex, cioè l'invio dei dati avviene a turno, e quando una delle due opera in scrittura l'altra lavora in lettura. Il livello sessione prevede che la gestione del turno avvenga tramite il passaggio del token; chi è in possesso del token lo passa quando ha terminato l'invio dei dati, oppure su richiesta della controparte  controllo del dialogo serve per gestire possibili situazioni di errore segnalate dal livello sottostante; il controllo del dialogo deve consentire ad entrambe le parti di riprendere le trasmissioni dati da un determinato punto che è da entrambe considerato sicuro.  gestione delle attività gli scambi di dati tra due applicazioni possono essere organizzati in attività: il livello sessione deve permettere di sospendere una attività a favore di un'altra più urgente, e poi riprendere la precedente dal punto in cui era rimasta  gestione delle eccezioni viene usata per segnalare una anomalia nello scambio di dati, oppure per la richiesta del token Chiusura della sessione Il rilascio ordinato della sessione senza perdita di dati richiede che entrambe le unità chiudano correttamente. La primitiva di chiusura può essere richiesta da chi possiede tutti i token, in modo da essere sicuro che il corrispondente non può essere in modalità di trasmissione; il servizio va confermato, per evitare che uno dei due corrispondenti rimanga in sospeso. Chi riceve la richiesta di chiusura non può rifiutarla, ma ha la possibilità di inviare dei dati contestualmente alla conferma. In caso di errore il livello prevede anche una chiusura non confermata, cioè un session-abort, su iniziativa di uno dei due host (mettiamo che l'utente interrompa manualmente e brutalmente la connessione) oppure del livello sottostante (nel caso che vengano meno i servizi di rete del transport layer).
  1. Livello di presentazione Questo è il primo strato che si occupa del significato dei dati.

Il livello di presentazione consente la gestione della sintassi delle informazioni trasmesse, diversamente dagli altri livelli che gestiscono una sequenza di byte. Il livello ha il compito di gestire la sintassi dell'informazione lungo l'intero percorso end-to-end, convertendo i codici e i formati da un sistema operativo all'altro. A questo livello sono previste 3 diversi sintassi che si occupano:

  • Della definizione formale dei dati scambiati dagli applicativi (Sintassi astratta)
  • Di come i dati sono rappresentati sui singoli sistemi (Sintassi concreta locale) Di come i dati sono rappresentati lungo il percorso (Sintassi concreta di trasferimento). Compressione dei bit L’entità di questo livello si occupa, infatti, della compressione dei dati, cioè la modalità di ridurre i bit necessari a immagazzinare e trasmettere le informazioni cercando di lasciare invariata l'informazione a essi associata. Tale compressione permette di ridurre i tempi di comunicazione aumentando di conseguenza la velocità di trasmissione. Le tecniche di compressione possono essere suddivise in due categorie: Lossy , che utilizzano processi con perdita di informazioni, e Lossless che utilizzano processi senza perdita di informazione. Un esempio di compressione Lossy è la codifica MP3 : in questa codifica vengono persi i suoni la cui frequenza non fa parte della banda a cui è sensibile l'orecchio umano; pertanto, si può ridurre lo spazio occupato di informazione senza una perdita consistente della qualità del suono. Un esempio di compressione Lossless è la codifica ZIP o RAR dei testi, con la quale non si ha nessuna perdita di informazione che potrebbe comportare la mancanza di leggibilità. Prendiamo come esempio una mail. Quando viene trasmessa viene definito come dovrà apparire il messaggio, viene aggiunto al pacchetto un presentation header che contiene informazioni su come la nostra mail dovrà essere codificata. In Italia usiamo la codifica ISO 8859-1 o ISO 8859-15 , che comprende:
  • in quale formato sono presenti gli allegati (ad esempio MPEG4, JPEG),
  • come sono compressi o crittografati i dati ( protocolli SSL/TLS ). In questo modo il formato delle nostre mail verrà compreso anche dal sistema target consegnando il messaggio in modo corretto. SIGNIFICATO DEI PRIMI TRE LIVELLI ISO/OSI PER LE LAN  Primi tre livelli: significato end-to-end limitato o nullo nel modello ISO/OSI tradizionale  Sistemi intermedi che operano ai soli primi tre livelli sono "invisibili" ai livelli superiori  Possibilita' di segmentare ai livelli 1-3 le reti a tecnologia omogenea  Possibilita' di raccordare ai livelli 2-3 (e 7) le reti a tecnologia eterogenea. SEGMENTARE E RACCORDARE Perché segmentare  Livello 1 - Per consentire la "ricostruzione" del segnale quando si deteriora per attenuazione, diafonia, etc.  Livello 2 - Per "confinare" il traffico entro isole delimitate in base a considerazioni sulla topologia della rete  Livello 3 - Per "confinare" il traffico entro isole delimitate in base a considerazioni gestionali e organizzative Perché raccordare  Livello 2 - Per rendere direttamente interoperabili sistemi che si differenziano al livello fisico ma non a quello dati  Livello 3 - Per interconnettere reti dotate ciascuna di una propria autonomia, agli stessi fini per cui e' nata Internet  Livello 7 - Per consentire l’interoperabilità di applicazioni semanticamente simili ma tecnologicamente differenti

REPEATER (E HUB) Un hub Ethernet , hub attivo , hub di rete , hub ripetitore , ripetitore multiporta o hub è un dispositivo per il collegamento di più Ethernet dispositivi insieme e facendoli agire come un singolo segmento di rete. BRIDGE (E SWITCH) è un dispositivo di rete che si colloca al livello datalink del modello ISO/OSI e che traduce da un mezzo fisico ad un altro all'interno di una stessa rete locale. Esso è quindi in grado di riconoscere, nei segnali elettrici che riceve dal mezzo trasmissivo, dei dati organizzati in strutture dette trame (in inglese frame), di individuare all'interno di esse l'indirizzo del nodo mittente e quello del nodo destinatario e in base a questi operare un indirizzamento dei pacchetti tra più segmenti di rete ad esso interconnessi. ROUTER (E LAYER-3 SWITCH) è un dispositivo elettronico che, in una rete informatica a commutazione di pacchetto, si occupa di instradare i dati, suddivisi in pacchetti, fra reti diverse. È quindi, a livello logico, un nodo interno di rete deputato alla commutazione di livello 3 del modello OSI o del livello internet nel modelloTCP/IP. GATEWAY Gateway è un termine generico che indica il servizio di inoltro dei pacchetti verso l'esterno; il dispositivo hardware che porterà a termine questo compito è tipicamente un router. Nelle reti più semplici è presente un solo gateway che inoltra tutto il traffico diretto all'esterno verso la rete internet. In reti più complesse in cui sono presenti parecchie subnet, ognuna di queste fa riferimento ad un gateway che si occuperà di instradare il traffico dati verso le altre sottoreti o a rimbalzarlo ad altri gateway. Spesso i gateway non si limitano a fornire la funzionalità di base di routing, ma integrano altri servizi da e verso la rete locale come proxy DNS, firewall, NAT etc, che sono appunto servizi di strato di rete più elevato ovvero applicativo.

  1. Crittografia LA STEGANOGRAFIA Deriva dal GRECO steganos (coperto) grafia (scrittura) È una tecnica che mira a nascondere il fatto stesso che vi sia stato un passaggio di informazione Erodoto racconta la storia di un nobile persiano che fece tagliare a zero i capelli di uno schiavo fidato al fine di poter tatuare un messaggio sul suo cranio Una volta che i capelli furono ricresciuti, inviò lo schiavo alla sua destinazione, con la sola istruzione di tagliarseli nuovamente. Nell’antica Cina si dipingeva il messaggio su striscioline di seta finissima che venivano appallottolate e coperte di cera. Le palline erano poi consegnate dal messaggero al destinatario del messaggio Questo è un inno a Roma, ma nasconde un numero irrazionale AVE O ROMA O MADRE GAGLIARDA DI LATINE VIRTÙ CHE TANTO LUMINOSO SPLENDORE PRODIGA SPARGESTI CON LA TUA SAGGEZZA La CRITTOGRAFIA non nasconde l’esistenza del messaggio ma nasconde il suo significato. Il termine crittografia viene dalle parole greche kryptós che significa nascosto, e gráphein che significa scrivere. È quindi la scienza che si occupa di rendere segrete le informazioni. La crittografia ha una storia secolare, dal cifrario di Cesare in poi sono stati fatti molti passi avanti. Giulio Cesare usava per le sue corrispondenze riservate una cifra monoalfabetica molto semplice, nella quale la lettera chiara viene sostituita dalla lettera che la segue di tre posti nell'alfabeto: la lettera A è sostituita dalla D, la B dalla E e così via fino alle ultime lettere che sono cifrate con le prime come nella tabella che segue (che fa riferimento all'odierno alfabeto internazionale). Svetonio non dice nulla su come cifrare le ultime lettere dell'alfabeto; di solito si intende che si proceda circolarmente ricominciando dalla A come nella lista seguente che nell'alfabeto latino moderno diventa: Chiaro ABCDEFGHIJKLMNOPQRSTUVWXYZ Cifrato DEFGHIJKLMNOPQRSTUVWXYZABC

La cifratura lavora sulle lettere "individuali" di un alfabeto, mentre una codifica lavora ad un livello semantico più elevato, come può essere una parola o una frase. Ad esempio, "UQJHSE" potrebbe significare "Procedere fino alle seguenti coordinate". Quando si usa un cifrario, l'informazione originale è nota come testo in chiaro mentre quella cifrata come testo cifrato. Il testo cifrato contiene tutte le informazioni del testo in chiaro, ma espresse in un formato illeggibile dagli esseri umani o dai computer senza un determinato meccanismo per decifrarlo: a chi non è in grado di leggerlo, dovrebbe apparire come una sequenza di caratteri senza senso. L'operazione svolta da un cifrario dipende normalmente da un'informazione ausiliaria chiamata chiave. La chiave influenza il processo di cifratura: chiavi diverse producono versioni cifrate differenti dello stesso testo in chiaro. La chiave deve essere scelta prima di cifrare il messaggio e senza la sua conoscenza, dovrebbe essere difficile, se non impossibile, decifrare il testo cifrato, sia conoscendo (security without obscurity) sia non conoscendo l'algoritmo di cifratura (security through obscurity). Nell'accezione comune, codice generalmente indica "cifrario". Nella terminologia tecnica, le parole "codice" e "cifrario" fanno invece riferimento a due concetti differenti: un codice lavora a livello di significato, cioè parole o frasi vengono convertite in qualcosa di differente, spesso con il risultato di rendere più brevi i messaggi. Un esempio è il codice telegrafico Morse, creato per trasmettere i messaggi via cavo tramite impulsi elettrici. Il codice Morse , detto anche alfabeto Morse , è un sistema per trasmettere lettere, numeri e segni di punteggiatura per mezzo di un segnale in codice ad intermittenza e fu uno dei primi metodi di comunicazione a distanza. I cifrari, invece, lavorano ad un livello più basso, il livello di singole lettere o, come nei moderni cifrari, a livello di bit. Alcuni sistemi usano sia codici che cifrari uniti in un unico sistema di cifratura per aumentare la sicurezza degli schemi. In alcuni casi i termini codice e cifrario sono sinonimo di "sostituzione" e "trasposizione". A causa di alcuni suoi limiti, come la suscettibilità alla crittanalisi e la difficoltà di maneggiare voluminosi libri codice, la codifica nei tempi recenti è caduta in disuso in favore della moderna crittografia, ed i cifrari sono oggi la tecnica dominante L’obiettivo di chi cripta i messaggi è tradurre il linguaggio del testo in chiaro in un nuovo linguaggio, dotato di un alto tasso di entropia, che non possa essere compreso, o tradotto, senza le informazioni supplementari fornite dalla chiave. In un linguaggio naturale, come l’italiano, l’entropia è bassa, poiché vi è ridondanza di ricorrenze ed una certa regolarità statistica nei termini e nei caratteri. Infatti, è sufficientemente agevole ricostruire una frase pur avendo solo alcuni dei caratteri che la compongono. Per poter costruire un buon sistema di cifratura, invece, il testo criptato dovrebbe avere la più alta entropia possibile, al fine di impedire la decodifica ad un eventuale criptoanalista che voglia intercettare il messaggio. Cifrari storici I cifrari antichi, quelli basati sull'uso di carta e penna, sono spesso indicati come cifrari classici. Essi includono i semplici cifrari a sostituzione e quelli a trasposizione. Ad esempio, la frase "BUON GIORNO" può essere cifrata come "ATNM FHNQMN" dove ogni lettera è sostituita da quella che la precede nell'alfabeto, oppure può essere cifrata come "BNOO UGROIN" utilizzando una semplice trasposizione.

All'inizio del XX secolo furono inventate delle macchine elettro-meccaniche capaci di eseguire operazioni di cifratura e decifratura usando cifrari polialfabetici ed a trasposizione, come la cifratrice Lorenz o la macchina Enigma. Queste macchine facevano parte delle cosiddette "macchine a rotori", il cui funzionamento si basava su dischi rotanti, che provvedevano alla sostituzione polialfabetica delle lettere, combinati con l'uso di collegamenti elettrici, che provvedevano alla loro sostituzione. Le chiavi di cifrature erano impostate mediante la disposizione iniziale dei dischi e dei collegamenti elettrici. Nonostante queste macchine fossero molto più complesse di qualunque schema fino ad allora visto, i loro cifrari furono violati con l'uso di altre macchine calcolatrici appositamente inventate all'occorrenza, come il calcolatore Colossus. (venne progettato dal matematico Alan Turing, basandosi sui concetti della macchina di Turing universale, e realizzato da Tommy Flowers nella Post Office Research Station a Dollis Hill, nel febbraio del 1944. Cifrari a trasposizione La trasposizione semplice è, come dice la parola stessa, il più semplice cifrario di trasposizione. Facendo uso di carta quadrettata, si scrivono ordinatamente le lettere del testo chiaro nelle caselle di un rettangolo di larghezza determinata; le caselle eventualmente avanzate si possono riempire di lettere nulle. Il cifrato si ricava allora prelevando le lettere in ordine diverso da quello con cui sono state scritte secondo una qualche regola prefissata. LENOSTRETRUPPEAVANZANOVERSOSUDEST Il Codice da trasmettere può essere LRPZREEEEASSNTANOTORVOSSUAVUTPNED Si tratta ovviamente di un cifrario molto debole, basta un attacco esaustivo per recuperare con pochi tentativi il testo chiaro. La trasposizione semplice è crittograficamente molto debole; una trasposizione più sicura si ottiene rimescolando le colonne secondo una qualche chiave; di solito si usa una parola segreta per stabilire l'ordine delle colonne. È questa la cosiddetta trasposizione a chiave. Per esempio, si prenda come parola chiave "VENEZIA" e come messaggio "Due battaglioni nemici avvistati settore nord". Si scriverà la parola chiave in alto, sotto a questa i numeri ordinali delle lettere della chiave secondo l'ordine alfabetico; il messaggio verrà scritto sotto per righe di sette caratteri (la lunghezza della chiave), eventualmente riempiendo le caselle rimaste vuote di null Testo chiaro DUEBATTAGLIONINEMICIAVVISTATISETTORENORD chiave VENEZIA Il Codice da trasmettere può essere ??? Cifrari moderni I Cifrari moderni I moderni sistemi di cifratura si dividono in base al tipo di chiave usata ed al tipo di dato fornito in ingresso. A seconda del tipo di chiave usata, i cifrari sono divisi in:

  • algoritmi a chiave simmetrica , o a chiave privata, dove la stessa chiave è usata sia per la cifratura che per la decifratura del messaggio;

In pratica il messaggio alfanumerico è convertito secondo un codice (di solito il codice ASCII) in una sequenza di 0 e 1, e quindi suddiviso in blocchi B di 64 bit ovverosia sequenza di 64 0 o 1, mentre la chiave K è un blocco di 56 bit sempre di 0 o 1. La cifratura di un blocco di dati con l’algoritmo DES si può suddividere in 3 fasi:  Una permutazione iniziale (IP) dei bit componenti il blocco dati  16 cicli di processamento identici detti round  Una permutazione inversa (FP) dei bit processati  Il blocco dati di 64 bit viene suddiviso in due sottoblocchi lunghi 32 bit (R ed L o destro e sinistro)  La parte destra viene processata da una funzione che opera delle trasposizioni e delle sostituzioni chiamata funzione Feistel (dal nome del suo autore)  L’uscita della funzione Feistel viene sommata in XOR con la parte sinistra, il risultato diventa la nuova parte destra  La nuova parte sinistra viene posta uguale alla parte destra non processata  Il processo di decodifica è speculare rispetto a quello di codifica.  Le permutazioni iniziale e finale sono complementari tra di loro.  L’unica accortezza consiste nell’applicare le chiavi generate nella fase “scheduled keys” in ordine inverso  Il blocco in ingresso da 32 bit viene espanso a 48 utilizzando una funzione che ne duplica 16 e permuta la stringa così ottenuta  Il risultato della funzione di espansione viene combinato in XOR con la sottochiave relativa al round corrente  La stringa di 48 bit cosi ottenuta viene organizzata in sottosequenze da 6 bit che costituiscono l’ingresso delle s-box (box di sostituzione)  Ogni s-box Si sostituisce i sei bit in ingresso con quattro bit in uscita mediante una trasformazione non lineare  La sequenza di bit ottenuta viene ulteriormente permutata Funzionamento Per inviare un messaggio da un mittente a un destinatario bisogna:  Il mittente utilizzi la chiave privata con la quale codificherà il messaggio;  Il destinatario decodificherà il messaggio codificato tramite la stessa chiave privata. Cifrari asimmetrica La crittografia asimmetrica o a coppia di chiavi utilizza due chiavi distinte:

  • Chiave pubblica, distribuita pubblicamente;
  • Chiave privata, personale e segreta; Il meccanismo a crittografia asimmetrica prevede l’utilizzo della chiave pubblica per cifrare il messaggio e quella privata per decrittarlo. Vantaggi & svantaggi  La cifratura simmetrica è più veloce della crittografia asimmetrica, ma non è molto utile per l'e- commerce (mittente e destinatario non si conoscono);  La crittografia asimmetrica deve utilizzare chiavi più lunghe per raggiungere un livello di sicurezza adeguato e per questo è soggetta a rallentare il processo

Cifrari asimmetrica Nei sistemi di voto elettronico, l’elettore si fa autenticare da un’Autorità il suo voto (in forma non leggibile per difenderne la segretezza) e lo deposita poi nell’“urna” in forma leggibile e verificabile. La firma dell’Autorità garantisce l’anonimità del votante, il suo diritto ad esprimere un voto ed il fatto che voterà una sola volta. Nei sistemi di commercio elettronico, l’acquirente si fa autenticare da una Autorità il suo denaro elettronico (per un ammontare non leggibile) prima di consegnarlo al venditore in forma leggibile e verificabile. La firma dell’Autorità garantisce al venditore la copertura finanziaria ed al cliente l’anonimato. L’algoritmo di cifratura asimmetrica RSA si basa sull’uso di due chiavi distinte generate in modo che sia impossibile ricavarne una dall’altra. Le due chiavi, dette chiave pubblica e chiave privata, servono rispettivamente per cifrare e per decifrare il messaggio. La prima applicazione dell’RSA è stata sviluppata nel 1978 da Ronald Rivest, Adi Shamir e Leonard Adleman, (RSA è l’iniziale dei nomi degli ideatori dell’Algoritmo). Il metodo di cifratura risulta essere ancora oggi inviolato, l’efficacia di tale algoritmo non consiste nella segretezza del modo in cui è implementato (il procedimento è conosciuto) ma nella difficoltà di invertire l’algoritmo in tempi accettabili ovvero sull'elevata complessità computazionale della fattorizzazione in numeri primi. Procedimento per la generazione della chiave pubblica e privata

  • Chiave Pubblica, formata da 2 numeri (n; e)
  • Chiave Privata, formata da 2 numeri (n; d) 1. Si scelgono due numeri primi (p; q) abbastanza grandi (maggiori di 300 cifre). Si calcola il loro prodotto chiamato anche modulo n=p×q (ovviamente la fattorizzazione è segreta) e si pone z =(p-1)×(q-1). (La funzione z coincide con la funzione di Eulero quando n è il prodotto di due numeri primi, tale funzione associa a un numero intero n il numero dei numeri interi co-primi con n e minori di n compreso l'uno. Se n è un numero primo z(n) =n-1).
  1. Si sceglie poi un numero e chiamato esponente pubblico, coprimo con z e più piccolo di z stesso (e non deve necessariamente essere primo). I coprimi ( co-primi ) sono una coppia di interi (a,b) che hanno il massimo comune divisore uguale a 1. M C D ( a , b ) = 1
  2. Si sceglie il numero d chiamato esponente privato tale che il suo prodotto con e sia congruo a 1 mod(z), cioè 𝐝 ∙ 𝐞 ≡ 𝟏 𝐦𝐨𝐝(𝐳) La chiave pubblica è (n; e) mentre quella privata è (n; d) La forza dell’algoritmo è che per calcolare d ed e non basta conoscere n ma si deve conoscere anche z e fattorizzarlo in fattori primi richiede molto tempo. Un messaggio M viene cifrato attraverso l’operazione Me (mod n) trasformandolo nel messaggio cifrato c. Una volta trasmesso c viene decifrato con c d ≡ 𝐌 (mod n). Il procedimento funziona solo se la chiave pubblica e e quella privata d sono legate dalla relazione 𝑑 ∙ 𝑒 ≡ 1 (𝑚𝑜𝑑 𝑧). Quindi quando un messaggio viene cifrato con una chiave può essere decifrato solo con l’altra e viceversa. La forza di questo algoritmo si basa però sull’assunzione che calcolare la radice e-esima di c mod (n) con n numero composto sia un problema non trattabile computazionalmente. Esempio di applicazione: Determinazione Chiave Pubblica: p = 3, q = 11 n = 311 = 33 z = 210 = 20 Si prende e=7 dato che deve essere co-primo di 20 e minore di 20 stesso. Sia d=3 infatti d*e=21 e 21 ≡ 1 (mod 20) Quindi abbiamo la chiave privata (33; 3) e la chiave pubblica (33;7) e il fatto che d sia uguale a p è casuale.