Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INDICE
Introduzione: Cenni storici sui calcolatori
Il sistema operativo
Approfondimento
CPU/ Microprocessori
Approfondimento
pag. 2
pag. 8
pag. 11
pag. 14
pag. 20
pag. 22
pag. 23
pag. 28
pag. 28
pag. 29
pag. 32
Approfondimento
pag. 39
Crittografia
pag. 46
pag. 48
Approfondimento
pag. 50
I primi calcolatori erano macchine di dimensioni notevoli che avevano come obiettivo quello di
risolvere calcoli complessi ( anni 80).
Come noto, un qualunque fenomeno fisico o naturale descrivibile mdiante uninsieme di
formule matematiche ovvero in un MODELLO MATEMATICO di entit variabile e cos facendo i
problemi possono essere univocamente descritti e trattati da chiunque possa avere conoscenze
matematiche.
Pi il fenomeno complesso o pi lo si vuole descrivere in dettaglio e con minori approsimmazioni,
pi diventa complicato il modello matematico e nasce quindi la necessit di disporre di uno
strumento in grado di trattare il modello stesso: il calcolatore.
Fino agli anni 80 i componenti degli elaboratori erano tridimensionali perch vi era la necessit
di maneggiarli ( prenderli, montarli ecc..), con il passare del tempo transistor e resistenze vengono
stampati analogamente ad un processo fotografico: nascono i Circuiti Integrati VLSI(1974). Uno
degli ultimi calcolatori tridimensionali famosi e cio costruiti con componentistica non VLSI il
PDP11 della Societ Digital. Verso il 1980 compare il primo personal computer.
Da questo momento i prezzi iniziano a calare in modo sempre pi significativo e si entra nellottica
di utilizzare il computer per innumerevoli altri compiti per i quali, nel passato, non ne sarebbe stato
giustificato limpiego.
Oggi i calcolatori sono praticamente presenti dappertutto.
Gli schemi di principio e di funzionamento di base di un calcolatore degli anni 80 e di uno di oggi
sono praticamente gli stessi e possono essere rappresentati secondo la rappresentazione di von
Neumann mediante tre principali blocchi funzionali.
CPU
Memoria
La memoria la
sede di dati e
istruzioni.
Esempio: processore
(anni 80) 8080 .
PENTIUM (ieri)
Input /
Output
Modem
Tastiera
Mouse
Schermo
Stampante
Hard disk .
Il blocco I/O
(ingresso, uscita)
consente al pc di
interagire con il
mondo circostante.
Bit e Byte
I computer sono in grado di determinare se in un collegamento elettrico fluisce corrente oppure no
ed grazie a questa abilit che si potuto creare un alfabeto interno mediante il quale la macchina
pu trattare i dati provenienti dallesterno.
Questo sistema di codifica chiamato alfabeto binario e si basa su sequenze di zeri e uni logici
associati agli stimoli elettrici che chiameremo BIT ( BInary- digiT).
Il computer legger un (1) in presenza di corrente e uno (0) in caso contrario cio in assenza.
In termini di Volt in gioco avremo:
per lo (0) = 0 Volt
4
Cella di
memoria
Situazione iniziale:
Ho 216 celle di memoria ognuna contenente
8 bit.
La prima ha indirizzo 0000H mentre
lultima FFFFH.
64kb
per
il
mod.
8080
F F F F H
esadecimale
16 bit
1 ISTRUZIONE:
3A
98
LINGUAGGIO ASSEMBLER
3A = MOV A, 98 (consente di spostare
lindirizzo successivo nel registro di A)
Nella CPU una locazione di memoria
corrisponde ad un REGISTRO.
1 istruzione
=
Codice operativo
+
dato
REG A
98
CPU
2 ISTRUZIONE:
3A
2B = MOV B, 13
98
2B
13
2 istruzione
REG A
98
REG B
13
CPU
3 ISTRUZIONE:
3A
ADD A,B
98
2B
13
REG A
AB
3F
MOV 1234, A
12
34
1234H
Operazioni
7
Shift (SHL) Sposta tutto di una posizione a destra o a sinistra. Equivale a moltiplicare per due.
Jump(JNZ) a seconda del valore in entrata, salta da una parte allaltra della memoria.
Chi fabbrica microprocessori deve creare un codice che soddisfi le varie esigenze a cui deve
sopperire.
Esistono due classi di microprocessori:
CISC (complex instruction set computer)
RISC (reduced instruction set computer)
La famiglia pi usata la CISC, ma lideale sarebbe un compromesso tra le due.
I coprocessori matematici sono circuiti integrati aventi una struttura tabellare multidimensionale in
cui entrano n variabili ed escono m risultati. Essi vengono principalmente utilizzati per fare
calcoli come somme e moltiplicazioni e consentono di ottenere il risultato in un unico passaggio. In
genere sono collegati alla CPU tramite un BUS poich ad essi manca la funzione di passare le
informazioni in memoria.
La velocit del collegamento CPU-MEMORIA dipende dalle dimensioni dellintero sistema.
Il tempo di accesso alla memoria di 10-100 nano secondi.
Il problema pi rilevante infatti, quello dello spazio.
Elementi come la CPU o i microprocessori stessi, essendo circuiti integrati, devono mantenere
dimensioni molto ridotte. Laumento di queste comporta un possibile incremento dei difetti
strutturali e quindi il relativo mal funzionamento dei vari componenti.
Dagli anni 80 in poi inizia lo studio strutture che ottimizzano il funzionamento degli accessori
come scheda video, scheda audio ecc, ma lo schema di base del calcolatore rimane invariato.
IL SISTEMA OPERATIVO
APPLICATIVI
SISTEMA OPERATIVO
BIOS
HARDWAREEE
Il sistema operativo un software che gestisce direttamente lhardware della macchina. Esso
formato da applicativi (es word, campo minato) che consentono di comunicare direttamente con il
computer, e che sono studiati per un particolare sistema operativo (es word di windows su linux non
viaggia). Il BIOS invece comune a tutti i sistemi operativi.
Facciamo un esempio: un evento qualcosa di asincrono che non dipende dal programma.
Consideriamo levento muovo il mouse:
CPU
MEM
INT
Il collegamento INT ha un piedino che fa arrivare
alla CPU il segnale zero. Questo significa che
I/O
FFF
400
RET
Svolgo
loperazione
Parametri
di ritorno
FFFFH
Si verifica un evento
Salvo il lavoro
Svolgo loperazione dettata dallevento
10
Il primo S.O. si chiamava DOS (Dis Operative System 1985-1995), successivamente nato
windows. Non esisteva il mouse, si usava sola la tastiera e i caratteri alfanumerici. Quando il
calcolatore veniva acceso, sul monitor appariva la lettera C:\> che indicava lhard disk, la A
era il floppy disk.
C:\DATA\> questa scritta indicava che ci si trovava allinterno della cartella DATA.
I comandi e le istruzioni erano poche e semplici ad esempio:
COPY PIPPO-PLUTO era listruzione per copiare
.exe oppure .com
Con DOS poteva girare un solo programma alla volta e quando ci avveniva non si poteva fare
nessun altra operazione. I programmi venivano lanciati con unistruzione di salto e se entravano in
un ciclo infinito non si poteva pi arrestarli e diventava necessario chiudere il computer.
La memoria era poca quindi non esistevano schede grafiche.
Windows 3.11 che girava sotto Dos, si prendeva carico di lanciare i programmi successivi, ed era
dotato di interfaccia grafica.
Windows 95 comunicava direttamente con il BIOS; era un sistema operativo multitasking dove
potevano girare pi task, ovvero pi programmi, e multiutente, cio permetteva a pi utenti di
usufruire del programma. Questo fu il primo esempio di time sharing, cio ogni task alternato
velocemente agli altri, ad esempio per un certo intervallo di tempo gira windows, poi Internet poi un
altro programma. Questa modalit utilizzata ancora oggi; il funzionamento avviene a scatti, ma
lutente non lo percepisce in quanto gli intervalli di tempo sono dellordine di 10 -6 secondi. Il
software gestisce la divisione dei tempi e il sistema operativo lo scheduler, tramite una tabella nella
quale si tiene conto di tutti i programmi che devono girare, linterapp interrompe un programma in
esecuzione, salva il contesto come una fotografia degli indirizzi e del contenuto della CPU, e parte
11
il programma successivo. Questo appena descritto, uno dei compiti principali del sistema
operativo multitasking, che permette di risparmiare tempo in quanto la CPU molto pi rapida
rispetto a tutto il resto.
Con la barra degli strumenti del desktop possibile accedere alla finestra dei processi del task
manager, dove sono elencati tutti i programmi che stanno girando in modo alternato e che hanno
definita una parte di memoria, parti di codice eseguito ognuno nel proprio contesto.
Socket una routine che permette ai programmi di dialogare tra di loro.
I Thread sono sottoprocessi che condividono la stessa parte di memoria, ad esempio con Visual
Basic possibile creare due finestre tali per cui quello che scrivo su una appare anche nellaltra. I
thread vengono generati da un processo e muoiono con esso. La gestione dei Thread avviene con un
meccanismo simile a un semaforo, e pu essere:
cooperativa: si gestiscono tra di loro
preventiva: stabilita dallutente a priori
APPROFONDIMENTO
In informatica, un sistema operativo (abbreviato in SO, o all'inglese OS, operating system) il
programma responsabile del diretto controllo e gestione dell'hardware che costituisce un computer e
delle operazioni di base. Si occupa anche di gestire gli accessi degli utenti e dei processi che
vengono eseguiti. Il sistema operativo l'interfaccia uomo-macchina
Il sistema operativo si compone di un sistema vero e proprio detto kernel e da una serie di
programmi di sistema.
Un generico sistema operativo moderno si compone di alcune parti ben definite: un gestore di file
system che si occupa di esaudire le richieste di accesso alle memorie di massa, un gestore di
memoria virtuale che alloca pagine di memoria a richiesta e si assicura che questa sia presente nella
memoria fisica al momento giusto, uno scheduler che assicura ai vari processi in esecuzione una
ben definita quantit di tempo di elaborazione, uno spooler che accumula i dati da stampare e li
stampa in successione, una interfaccia utente (shell o GUI) che permette agli esseri umani di
interagire con la macchina ed un kernel, fulcro del sistema, che gestisce il tutto. A seconda dei casi,
un particolare sistema operativo pu avere tutti questi componenti o solo alcuni. Vediamo ora una
serie di sistemi operativi possibili, dal pi semplice al pi complesso.
12
Praticamente il solo kernel, con una minima interfaccia interattiva per impartire i comandi. Permette
di scrivere in memoria il programma da eseguire e di lanciarlo, non ha nessuna altra caratteristica.
semplicissimo (per un computer), spesso i suoi comandi sono semplici chiamate dirette a subroutine
in linguaggio macchina, stato anche il primo tipo di sistema operativo mai implementato su un
computer. Controlla i processi base del sistema
Il secondo passo verso una migliore gestione del computer si ha con lo sviluppo di una interfaccia
utente separata dal kernel, un interprete di comandi che funga anche da interfaccia utente, da shell.
Questa shell primitiva di solito funge anche da interprete per un linguaggio di programmazione: a
seconda delle scelte dei progettisti del software pu essere un vero linguaggio oppure un pi
semplice linguaggio di scripting con cui creare comandi batch.
Un computer diventa molto pi utile se dotato di una memoria di massa: per gestirla serve un
gestore di file system, cio un insieme di funzioni che permetta di organizzare i dati sulla superficie
dei mezzi di memorizzazione secondo una struttura ben precisa. I sistemi operativi che risiedono su
disco (inizialmente floppy poi hard disk e altre piu' evolute unita' di massa) capaci di gestire un file
system sono detti genericamente Disk Operating Systems, cio DOS appunto. L'esemplare pi
famoso senz'altro il MS-DOS della Microsoft. Esiste anche una versione libera del dos,
denominata: FreeDOS.
Alcuni programmi non hanno sempre realmente bisogno della CPU: a volte, invece di eseguire
istruzioni stanno aspettando che arrivino dei dati da un file, o che l'utente prema un tasto alla
tastiera. Quindi si pu, in linea di principio, usare questi tempi "morti" per far girare un altro
programma. Questa idea, sorta fin dai primi anni 50, si concretizz nei sistemi operativi
multitasking, cio dotati di uno scheduler che manda in esecuzione pi processi (esecuzioni di
programmi) contemporaneamente, assegnando a turno la CPU ad ognuno e sospendendo
l'esecuzione dei programmi in attesa di un evento esterno (lettura sulla/dalla memoria di massa,
stampa, input utente ecc.) finch questo non si verifica.
Dovendo ospitare in memoria centrale pi programmi nello stesso tempo, i sistemi multitask hanno
bisogno di pi memoria rispetto a quelli monotask: perci questo tipo di sistemi operativi quasi
sempre dotato di un gestore di memoria virtuale.
Se un computer pu far girare pi programmi contemporaneamente, allora pu anche accettare
comandi da pi utenti contemporaneamente: in effetti dal multitasking alla multiutenza il passo
molto breve tecnicamente, ma fa sorgere una serie di nuovi problemi dal punto di vista della
13
sicurezza del sistema: come distinguere i vari utenti tra loro, come accertarsi che nessun utente
possa causare danni agli altri o alla macchina che sta usando ecc. Al giorno d'oggi, i diversi sistemi
operativi, come ad esempio il nuovo Windows CE 6 [1], sono progettati in modo che questo tipo di
operazioni avvengano nel pi breve tempo possibile, valorizzando, ad esempio, software come i
middleware, i driver, le interfaccia utente, e molti altri.
Questi problemi si risolvono assegnando un account univoco per ogni utente, assegnando un
proprietario ai file ed ai programmi e gestendo un sistema di permessi per l'accesso ad essi, e
prevedendo una gerarchia di utenti (cio di account) per cui il sistema rifiuter tutti i comandi
potenzialmente "pericolosi" e li accetter soltanto se impartiti da un utente in cima alla gerarchia,
che l'amministratore del sistema (generalmente l'account root nei sistemi Unix, Administrator
nei sistemi Windows).
Un sistema operativo real-time un sistema operativo utilizzato tipicamente in un ambito
industriale o comunque dove sia necessario ottenere una risposta dal sistema in un tempo massimo
prefissato. I sistemi operativi realtime si possono dividere in due categorie : hard e soft, a seconda
dei tempi di risposta.
14
CPU / MICROPROCESSORI
La CPU la parte pi significativa del calcolatore.
Al suo interno ci sono svariate scatolette che svolgono le principali operazioni.
Una di queste la ALU
8 BIT
8 BIT
ALU
Si occupa di operazioni di
somma e differenza tra BIT.
Entrano 8 BIT da una parte,
8 dallaltra e ne escono 8+1
(riporto)
8+1 BIT
Y
AND
XY
00
01
10
11
OR
Z
0
0
0
1
And = prodotto
logico
XY
00
01
10
11
Z
NOT
Z
0
1
1
1
Or = somma
logica
X
0
1
Z
1
0
15
Una volta:
AND
SN 7410
Ha 14 piedini
2 di alimentazione
12 di connessione
4 and
NOT
SN7404
14 piedini
6 not
B2
0 1 0 1 0
0 0 1 1 0
C out
C in
0 0 0
16
b1
Cout
b2
FULL
ADDER
Cin
X, 8 bit
Y, 8 bit
Carry
R, 8 bit
b1
b2
Cin
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Cout
0
1
1
0
1
0
0
1
Traduciamo R1 in componenti :
17
B1
0
1
1
1
B2
1
1
R1
1
1
Cin
Traduciamo R2 in componenti:
0
B1
1
1
B2
R2
1
0
Cin
Traduciamo R3 in componenti:
B1
B2
R3
Cin
Traduciamo R4 in componenti:
B1
18
B2
Cin
N.B. il risultato influenzabile finch i carry non si sono propagati totalmente. Si poteva creare una
tabella da 16 bit dove ci sarebbero stati in uscita 9 bit di cui 8 che costituivano il byte risultato e 1
che rappresentava il carry (convenienza dal punto di vista dellimmediatezza).
Vediamo nel dettaglio cosa c dentro un operatore logico.
Piastrina di silicio.
19
Il silicio una sostanza che si ritrova abbondantemente in natura ma difficile trovarlo allo stato
puro. Di solito viene usato il silicio drogato perch risulta essere un miglior conduttore.
Se si collega Source e Drain ad una batteria si ottiene il fenomeno della conduzione perch c
passaggio di corrente ma, se il numero di elettroni basso, la conduzione risulta minima. In
alternativa si pu collegare il Gate ad un operatore logico di 5V in modo che gli elettroni si
concentrino nella zona dellossido e si ottenga un buon conduttore.
D
5V
+
-
S
D
0V
20
5V
NOT
Z
AND
Z
5V
R
X
OR
Z
5V
X
21
APPROFONDIMENTO
La CPU (acronimo di Central Processing Unit, detta comunemente processore)
l'implementazione fisica di uno dei due componenti della macchina di Turing (l'altro la memoria).
Compito della CPU quello di leggere le istruzioni e i dati dalla memoria ed eseguire le istruzioni;
il risultato della esecuzione di una istruzione dipende dal dato su cui opera e dallo stato interno della
CPU stessa, che tiene traccia delle passate operazioni.
In base all'organizzazione della memoria si possono distinguere due famiglie di CPU:
con architettura Von Neumann classica, in cui dati ed istruzioni risiedono nella stessa
memoria ( dunque possibile avere codice automodificante). Questa architettura la pi
comune, perch pi semplice e flessibile.
con architettura Harvard: i dati e le istruzioni risiedono in due memorie separate. Questa
architettura garantisce migliori prestazioni poich le due memorie possono lavorare in
parallelo ma pi complessa da gestire. tipicamente utilizzata nei DSP.
una Unit di Controllo che legge dalla memoria le istruzioni, se occorre legge anche i dati
per l'istruzione letta, esegue l'istruzione e memorizza il risultato se c', scrivendolo in
memoria o in un registro della CPU.
dei registri, speciali locazioni di memoria interne alla CPU, molto veloci, a cui possibile
accedere molto pi rapidamente che alla memoria: il valore complessivo di tutti i registri
della CPU costituisce lo stato in cui essa si trova attualmente. Due registri sempre presenti
sono:
22
il registro dei flag: questo registro non contiene valori numerici convenzionali, ma
piuttosto un insieme di bit, detti appunto flag, che segnalano stati particolari della
CPU e alcune informazioni sul risultato dell'ultima operazione eseguita. I flag pi
importanti sono:
Flag di stato:
Flag di controllo:
basate su stack: i registri sono organizzati in una struttura a stack e tutte le istruzioni
operano esclusivamente su questo stack (ad esempio il Transputer); questa architettura ha il
vantaggio di non dover specificare su quale registro interno operare ( sempre quello in cima
allo stack), ottenendo istruzioni (opcodes) pi corte e pi semplici da decodificare. L'altra
faccia della medaglia che nel caso sia necessario un dato "sepolto" in fondo allo stack, il
suo recupero un'operazione molto lenta.
basate su registri: queste CPU sono dotate di ulteriori registri generici che restano a
disposizione dell'utente per memorizzarci valori temporanei. Le istruzioni possono accedere
a questi registri generici. La maggioranza delle CPU sono di questo tipo.
23
Una CPU un circuito digitale sincrono: vale a dire che il suo stato cambia ogni volta che riceve un
impulso da un segnale di sincronismo detto CLOCK, che ne determina di conseguenza la velocit
operativa, detta velocit di clock: quindi il tempo di esecuzione di una istruzione si misura in cicli di
clock, cio in quanti impulsi di clock sono necessari perch la CPU la completi. In effetti, una parte
importante e delicata di ogni CPU il sistema di distribuzione che porta il segnale di clock alle
varie unit e sottounit di cui composta, per fare in modo che siano sempre in sincronia: tale
sistema si dirama in una struttura ad albero con divisori e ripetitori che giunge ovunque nella CPU.
Nei processori pi moderni (Pentium, Athlon, PowerPC) questa "catena di ingranaggi" elettronica
arriva ad impiegare circa il 30% di tutti i transistor disponibili. La velocit di questa distribuzione
determina in maniera diretta la massima frequenza operativa di una CPU: nessuna CPU pu essere
pi veloce del suo critical path, cio del tempo che impiega il clock per percorrere il tratto pi
lungo in tutto l'albero di distribuzione del clock. Per esempio, se il segnale di clock di una data CPU
impiega un nanosecondo per attraversare tutto il chip ed arrivare fino all'ultima sottounit, questa
CPU potr operare a non pi di 1 GHz, perch altrimenti le sue componenti interne perderebbero la
sincronizzazione, con risultati imprevedibili (per motivi di tolleranze e margini di sicurezza, il
limite pratico sar anzi ben minore di 1GHz).
L'ALU (Arithmetic Logic Unit, Unit Aritmetico-Logica) l'unita designata all'elaborazione dei
dati in un microprocessore.
L'ALU formata da un insieme di porte logiche opportunamente collegate. Queste porte logiche nel
loro complesso provvedono ad eseguire tutte le operazioni aritmetiche e logiche gestite dal
microprocessore.
Le prime ALU erano in grado di eseguire nativamente solo le operazioni pi semplici (addizione,
sottrazione e shifting di bit ecc.) e le operazioni logiche booleane (AND, OR, XOR e NOT). Le
operazioni pi complesse come le operazioni di moltiplicazioni o divisione venivano emulate
utilizzato ripetutamente somme o sottrazioni. Con l'evolvere dell'elettronica si riuscito a integrare
nelle ALU anche le operazioni di divisione e moltiplicazione. Le ALU non sono in grado di
svolgere tutte le operazioni supportate dai microprocessori moderni, infatti le operazioni in virgola
mobile o le operazioni multimediali (tipo AltiVec o MMX) sono svolte da unit specializzate che
non risiedono nell'ALU.
24
25
MECCANISMO DI
TRASMISSIONE
DIGITALE
5V
Informazione digitalizzata
ANDAMENTO CURVA:
K1
K2*e(-t*k2)
0
tutto ha un inerzia
IL SUONO:
La frequenza che lorecchio umano pu percepire va dai 16 ai 16000 Hz (Hertz = 1 oscillazione al
secondo).
26
La banda che viene trasmessa negli apparecchi telefonici va da 300 a 3000 Hz: non si pu scendere
al di sotto dei 300 Hz per problemi tecnologici ( necessit di amplificatori sulla linea con
conseguente aumento di costi e spazio) e non possibile neppure superare i 3000 Hz per limitazioni
fisiche.
A causa dei RUMORI si pu poi fare riferimento a 200-300 livelli.
Se analizziamo il segnale digitale osserviamo che :
1
0
1/3 msec
F=1/T
T=1/F
27
MODEM
1:0
2400 : 1200
-10V
+10V
0
Bit
di
start
1 byte
1
Bit
di
stop
0
S
T
A
R
T
28
MITT
DEST
dati
Velocit 4 Mbit/sec
PROBLEMA: se viene staccata
una postazione si interrompe il
circuito.
Velocit 10 Mbit/sec
In 1 microsec = 150 m
A seconda della lunghezza della rete, della sua composizione e del traffico di rete cerco lalgoritmo
di attesa migliore.
Oggi ethernet usato per tutte le reti locali.
Anche lethernet definito a basso livello, in pi ha solo una diversa organizzazione di dati.
29
MITT
48 bit ovvero
6 byte
DEST
DATI
48 bit ovvero
6 byte
Quando un computer entra a far parte di una rete gli viene associato un indirizzo unico e diverso da
quello di tutte le macchine collegate.
Un pacchetto che nella locazione DEST presenta tutti 1 un pacchetto BROADCAST comune a
tutte le macchine collegate.
max
MESSAGGIO
ANALOGICO
min
t
I codec sono sia video che audio.
Quanti campioni necessario prendere? Si pu ricostruire la forma donda originale?
Per il teorema del campionamento si pu rispondere di s alla domanda soprastante in quanto ogni
sistema naturale risente della forma donda sinusoidale e quindi:
1. si sceglie la sinusoide di ampiezza massima ovvero quella da 3000 Hz;
30
2. si fanno campioni in numero doppio rispetto alla frequenza massima ossia 6000
campioni/sec;
3. si applica un integratore ai campioni costituito da una resistenza e un condensatore;
4. si ottiene il segnale di partenza.
Un campione da quanti bit deve essere costituito? Ossia quanti livelli si devono poter distinguere?
256 un buon numero di livelli per poter trasmettere il suono
8 bit * 6000 campioni/sec = 64 Kbit/sec (bidirezionali) una buona larghezza di banda
2Mbit/sec = 30 canali telefonici
16000 frequenza max = 32000 campionamenti/sec
48 Kbit * 16 bit = 900 Kbit/sec (ADSL)
LE IMMAGINI
VGA 640 * 480 pixel ( schermata del BIOS ). il formato di partenza, supportato da tutte le schede
video. Con levoluzione si arrivati a formati come: 800 * 600, 1024 * 768, 1240 * 1024,
1600 * 1200, legati ovviamente alla dimensione dello schermo.
12
15
GRANDEZZA
SCHERMO
1
17
19
Per comprendere lo sviluppo grafico delle informazioni fondamentale fare riferimento allangolo
di percezione dellocchio.
1 punto luminoso sul monitor fatto di tre sorgenti luminose dette FOTODIODI che
opportunamente combinate offrono tutta la scala del visibile compreso il bianco e sono:
rosso
verde
blu
31
Esempio:
(10^6) * 50 *
punti
frequenza
24
colori
Il monitor in grado di
rappresentarli ma le
informazioni da elaborare
devono essere compresse.
CPU
MEMORIA
Input /
Output
Hard
Disk
ethernet
Per ovviare a questo inconveniente oggi si usa un CHIPSET, un elemento che mette a disposizione
dei bus in grado di smistare le informazioni.
32
CPU
BUS
AGP
North bridge
SCHEDA
VIDEO
PCI-X
DMA
MEMORIA
PCI-X
PCI
South bridge
audio
seriale
SCSI
Hard disk
DMA = direct memory access. Permette di trasferire dati dalla memoria e alla memoria senza
lintervento della CPU.
Il primo bus si chiamava ISA, poi diventato ESA, fino ad arrivare nel 1992 a PCI (133Mb/sec).
AGP a 2 Gb/sec un bus punto-punto a 32 bit (parallelo).
PCI-X a 4,3 Gb/sec fatto da un filo di ritorno che manda 64 bit alla volta e in grado di fare
533Mb/sec (seriale). Per arrivare a 4,3 Gb/sec se ne mette pi di uno in parallelo ed essendo fili
schermati e indipendenti non ci sono interferenze.
33
RETE LOCALE
utente
utente
utente
Mac address
48 bit
4 103 64 10 3
Internet una grande rete a livello mondiale; come rete dati unica al pari della rete telefonica.
Ad Internet si accede tramite un PROVIDER. Nella rete circolano pacchetti che sono simili a quelli
della rete locale ma che contengono indirizzi univoci che possono essere interpretati.
INTERNET
INTERNET
(rete
(retedidicavi
cavie enodi)
nodi)
TRAFFICO DI ROUTING ci sono macchine che testano la velocit di risposta dei vari nodi e
stilano una tabella di routing che indicano le migliori strade da seguire.
collegamento
nodo
34
Ogni gestore ha un HLR (home location register) dove per ogni numero di telefono c lindirizzo
istante per istante di dove si trova lutente (telefonia mobile).
Nasce negli anni 70 e si chiama ARPANET, era una rete limitata al governo americano e utilizzata
per scopi militari. Negli anni 80 luniversit di Barkley decide di unire varie universit con questo
sistema: nasce INTERNET.
ff
ff
ff
232 4 10 9
ff
0.0.0.0
Indirizzi IP
46 . X . X . X
Fisso
256
Indirizzo di classe B
Usato dalluniversit di GE
(64000 indirizzi)
2 24 16 10 6
Devono arrivare
a 4 miliardi
130 . 251 . X . X
Un utente ha un indirizzo IP, un gestore invece ha una o pi classi di indirizzi; nasce per un
problema perch ad un certo punto gli indirizzi finiscono.
I gestori di sono resi conto che quando i calcolatori degli utenti sono spenti non hanno bisogno di
indirizzi IP.
Il server DHCP dispensa gli indirizzi IP alloccorrenza, sono indirizzi dinamici (gestiti fra pi
persone, si ha un costo minore).
Gli indirizzi sono delle risorse.
I server di posta, i server web e di servizi non possono cambiare gli indirizzi IP.
PEER TO PEER: collegamento diretto fra due macchine client senza server (funzionamento tipo
Msn).
Livello link
LAN
192.1.1.1
Livello di rete
DHCP
modem
172.1.1.1
Suporto fisico
INTERNET
192.1.1.2
GATEWAY
ROUTER
Mac address
DATA
FROM
192.1.1.1
Mando al server
un dato
SERVER
TO
172.1.1.1
DATA
FROM
172.1.1.1
Ricevo un dato
dal server
TO
192.1.1.1
36
mac add
HEADER
INTERNET
Livello link
DATA
(pacchetto) datagram IP
IP add
Livello di rete
DATA
HEADER
CRC
Ci che fuori dalla parte dati non solo indirizzo. Il frame ethernet lungo al massimo 1492 dati
ma in genere pi piccolo; massimo 64 kbyte il limite per il pacchetto IP.
PROBLEMA: ci che arriva giusto o soggetto ad interferenze?
A seconda del metodo che si usa diventa pi o meno facile accorgersene.
1 metodo: si manda un numero che indica lutilizzo di zeri e uni nel pacchetto. Inconveniente: se
lerrore cambia sia uno zero che un uno non vedo pi niente. Un file eseguibile con un byte
cambiato non funziona.
2 metodo: si sommano tutti i byte trasmessi e nel pacchetto viene allega anche la somma per
operare il controllo.
3 metodo: Cyclic Redoundancy Code (codice di ridondanza ciclica) viene aggiunta nella parte
dellindirizzo. Esempio:
2x
...x
5 1
3x 4 x 3 x 2 x 3 : x 1
37
RESTO
Se si volesse trasmettere:
258
257
256
255
254
253
come avere:
Gli zeri e gli uni diventano coefficienti per il polinomio. Ora si divide il polinomio ottenuto per un
polinomio CHIAVE che vale per ETHERNET:
10 4 C 1 1 D B 7
33
(esadecimale)
0 x 32 0 x 31 x 27 ...
Polinomio
da trasmettere
Polinomio
chiave
Quoto + Resto
32 bit
il mio CRC
In realt il CRC si attacca alla fine dei dati perch si sposta di 2 32 il polinomio, si aggiunge un tot di
zeri e si attacca CRC in coda
Nota Bene: in codice binario la somma e la sottrazione sono uguali.
0
0
1
1
0
1
0
1
0
1
1
0
Si fa unoperazione di OR esclusivo
dopo loperazione di shiftamento
per ottenere il resto.
Allinterno di un protocollo IP sono definiti altri sottoindirizzi che vengono chiamati PORTE ( ce ne
sono 64000 o 216) quindi quando mando o ricevo qualcosa oltre allindirizzo IP devo specificare il
numero della porta di comunicazione.
A questo punto posso vedere il mio pacchetto cos:
non porta ancora dati utili
IP add
INTERNET
DATA
TTL
(time to live)
pacchetto IP
DATA
Header
Port number
Pacchetto UDP
(Unnumbered Data Protocol)
Il pacchetto UDP definito a livello di trasporto. Grazie al port number tutti i server web possono
assolvere alle richieste dellutente.
Indirizzo
IP
PORT
NUMBER
SOCKET
Allo stesso livello di UDP pu esserci un pacchetto TCP. Nellheader del pacchetto TCP c il
numero dei pacchetti che vengono condivisi.
Dopo questo scambio di informazioni inizia la trasmissione. Chi trasmette manda il numero di
pacchetti da inviare.
SEI PRONTO?
39
Stazione di
Trasmissione
Stazione di
Ricezione
OK
Quando la stazione di ricezione ottiene il numero di pacchetti deve dare lok, se questo non arriva la
stazione di trasmissione ricomincia linvio.
C un compromesso tra la grandezza della finestra e la qualit della rete (bassa qualit, rete pi
piccola). Con il protocollo TCP ho la certezza che ci che arriva sia corretto. Anche il pacchetto di
TCP a livello di trasporto. Il software che si occupa di questo dato dal sistema operativo.
Ogni ROUTER ha un software di tipo RIP che costantemente aggiorna le tabelle router e assegna
un numero di bont del percorso, grazie a questo si possono evitare gli imprevisti.
Essendo per considerazioni di software ci possono essere casi in cui un pacchetto gira per tempi
infiniti in rete, questo non positivo.
Ci vuole un meccanismo che impedisca ai pacchetti di stare in linea per troppo tempo: questo
meccanismo prende il nome di parametro TTL.
Quando ad un router arriva un pacchetto, questo prende il numero TTL e lo decrementa di 1.
quando arriva un pacchetto con TTL pari a zero questo viene eliminato. Al mittente che ha
trasmesso un pacchetto con TTL pari a zero viene mandato indietro un pacchetto di diagnostica
mediante il quale il mittente prende coscienza che il suo pacchetto stato eliminato. Questa tecnica
viene usata dal software RIP per costruire la tabella.
APPROFONDIMENTO
Internet (composto del latino inter, "fra" e dell'inglese net, "rete") percepita come la pi grande
rete telematica mondiale, e collega alcune centinaia di milioni di elaboratori per suo mezzo
40
interconnessi. In realt nata nelle intenzioni dei suoi inventori come "la" rete delle reti. Nell'arco
di alcuni decenni oggi divenuta la rete globale.
Nata negli anni sessanta come progetto del Dipartimento della difesa statunitense per lo sviluppo di
una rete telematica decentrata, alla fine della guerra fredda, stata messa a disposizione di impieghi
civili all'inizio degli anni novanta, collegando dapprima i principali centri universitari e
raggiungendo poi, in modo ampio, l'utenza casalinga.
Internet pu essere vista come una rete logica di enorme complessit, appoggiata a strutture fisiche
e collegamenti di vario tipo (fibre ottiche, cavi coassiali, collegamenti satellitari, doppino
telefonico, link su radiofrequenza (WiFi), su ponti radio, su raggi laser e su onde convogliate su
condotte elettriche o addirittura idrauliche) che interconnette un agente umano o automatico ad un
altro agente tramite qualsiasi tipo di computer o elaboratore elettronico.
Ogni dispositivo connesso direttamente ad Internet si chiama host o end system mentre la struttura
che collega i vari host si chiama link di comunicazione.
Generalmente Internet definita la rete delle reti, infatti Internet costituita da tutta una serie di
reti, private, pubbliche, aziendali, universitarie, commerciali, connesse tra di loro, in effetti gi
prima della sua nascita esistevano reti locali, principalmente nei centri di ricerca internazionali, nei
dipartimenti universitari. Un grande risultato della nascita e dell'affermazione di Internet stato
quello di creare uno standard de facto tra i protocolli di comunicazione tra le varie reti, consentendo
ai pi diversi enti e agenti di scambiare dati mediante un protocollo comune, il TCP/IP,
relativamente indipendente da specifiche hardware proprietarie, da sistemi operativi, dai formati dei
linguaggi di comunicazione degli apparati di comunicazione (modem, router, switch, hub, bridge,
gateway, repeater, multiplexer).
Ci che viaggia in Internet, infatti, sono i pacchetti, che costituiscono l'unit minima in questo
sistema di comunicazione. Tali pacchetti viaggiano usando una tecnica conosciuta come
commutazione di pacchetto (packet switching) che consente di condividere un cammino piuttosto
che fare uso di percorso dedicato. In pratica un pacchetto che parte da un host e giunge ad un altro
host non segue un percorso predefinito, ma quello pi congeniale in un preciso momento.
L'utenza casalinga accede ad Internet mediante l'uso di Internet Service Provider ("Fornitori di
servizi di connettivit", abbreviato in "ISP") i quali sono connessi a loro volta ad ISP di livello
superiore che utilizzano router ad alta velocit e link in fibra ottica.
Come si comprende, la struttura di Internet non uniforme ma la "ragnatela" composta da
un'ossatura molto veloce e potente a cui si connettono sottoreti a volte pi deboli e lente.
41
Queste sottoreti possono anche essere protette e, quindi, consentono l'accesso a Internet (e
viceversa) solo in maniera condizionata. Si tratta delle Intranet e la protezione stabilita da un
firewall.
Funzionamento
I collegamenti tra i vari nodi Internet sono appoggiati su criteri statistici di disponibilit e non su
criteri totalmente deterministici altrimenti tipici della tecnologia informatica, tanto che spesso
vengono definiti pi caotici; ed i processi sono distribuiti piuttosto che centralizzati.
Molti nodi sono collegati tra loro in diversi modi e tramite diversi path. Questo tipo di collegamento
pu essere compreso alla luce delle motivazioni che negli anni sessanta dettarono la nascita di
Internet (allora denominata ARPANET): creare una rete di elaboratori decentrata che potesse
resistere ad un attacco nucleare da parte dell'Unione Sovietica. Una tale rete decentrata sarebbe
sopravvissuta a molti attacchi visto che un attacco ad un singolo elaboratore non ne avrebbe
impedito il funzionamento generale, ed i collegamenti ridondanti avrebbero sostituito quelli
distrutti.
Per potersi collegare ad Internet, il solo requisito richiesto ad un qualsiasi agente o dispositivo
elettronico quello di poter "dialogare" con i protocolli.
Tali protocolli controllano l'invio e la ricezione dei pacchetti. I protocolli pi importanti sono il
Transmission Control Protocol ("Protocollo di trasmissione dati", TCP) e l'Internet Protocol
("Protocollo Internet", IP).
La struttura di comunicazione a livelli per cui sopra e sotto questi due protocolli ne funzionano
degli altri.
In pratica un pacchetto che parte da un host attraversa i diversi strati protocollari che aggiungono
informazioni al pacchetto, quando questo raggiunge la destinazione, avviene uno spacchettamento
al contrario e ogni livello legge le sue informazioni.
Quindi, come si comprende, un pacchetto composto da un'informazione base incapsulata in una
struttura di informazioni di servizio.
Le modalit di utilizzo di Internet differiscono a seconda del tipo di servizio che si richiede e al tipo
di server a cui ci si collega; per citarne solo alcune:
consente di inviare e ricevere (a/da sistemi) file, cio insiemi di informazioni codificate in
maniera binaria (es.: testi, immagini, filmati, programmi, ecc.)
Server
Client
Si indica una componente che accede ai servizi o alle risorse di un'altra componente, detta server. In
questo contesto si pu quindi parlare di client riferendosi all'hardware o al software.
Un computer collegato ad un server tramite rete locale o geografica, ed al quale richiede uno o pi
servizi, utilizzando uno o pi protocolli di rete un esempio di client hardware. Un programma di
posta elettronica un esempio di client software.
Sono sempre di pi i software, come il web, l'E-Mail, i database, che sono divisi in una parte client
(residente ed in esecuzione sul pc client) ed una parte server (residente ed in esecuzione sul server).
Il termine client indica anche il software usato sul computer client per accedere alle funzionalit
offerte dal server.
43
Indirizzo IP
Un Indirizzo IP un numero che identifica univocamente nell'ambito di una singola rete i
dispositivi collegati con una rete informatica che utilizza lo standard IP (Internet Protocol). Ciascun
dispositivo (router, computer, server di rete, stampanti, alcuni tipi di telefoni,...) ha, quindi, il suo
indirizzo.
Semplificando, un indirizzo IP pu essere visto come l'equivalente di un indirizzo stradale o un
numero telefonico dei dispositivi collegati su internet. Infatti, cos come un indirizzo stradale o un
numero telefonico identifica un edificio o un telefono, cos un indirizzo IP identifica univocamente
uno specifico computer o un qualsiasi altro dispositivo di rete o una rete. A sua volta, in una rete
possono essere utilizzati altri indirizzi IP validi localmente analogamente alla numerazione degli
interni di un edificio.
In particolare, all'interno di una rete ad ogni interfaccia connessa alla rete fisica viene assegnato un
indirizzo univoco, in modo da rendere possibili le comunicazioni tra un computer e l'altro.
Va considerato, infatti, che non l'host ad essere connesso ma l'interfaccia fisica (ad esempio una
scheda di rete); un router, ad esempio, ha diverse interfacce e per ognuna occorre un indirizzo IP.
Gli indirizzi IP pubblici sono rilasciati e regolamentati dall'ICANN tramite una serie di
organizzazioni delegate. Tuttavia da tener presente che a livello mondiale e nazionale i primi
provider di connessione Internet si sono accaparrati un numero sproporzionato di indirizzi IP. I
provider che si sono affacciati dopo sul mercato hanno ovviato a questo stato di cose considerando i
propri utenti di una medesima citt come una rete privata che accede ad Internet mediante un
singolo IP pubblico. Questo comporta alcune difficolt nell'utilizzo di servizi su Internet che
presuppongono che ad un IP corrrisponda un singola connessione (per esempio IRC e peer-to-peer).
Gli indirizzi statici vengono utilizzati per identificare dispositivi semi-permanenti con indirizzo IP
costante. I Server utilizzano tipicamente questo metodo di indirizzamento. L'indirizzo statico puo'
essere configurato direttamente sul dispositivo, oppure come parte di una configurazione DHCP che
associa a l'Indirizzo MAC, il corrispondente indirizzo IP statico.
L'Internet Protocol (IP) utilizza due versioni di indirizzamento IP: IPv4 e IPv6. Quella a cui ci si
riferisce quando si parla di "indirizzo IP" la IPv4 , quella pi comunemente utilizzata oggigiorno.
L'indirizzo IPv4 costituito da 32 bit (4 byte), viene descritto con 4 numeri decimali rappresentati
su 1 byte (quindi ogni numero varia tra 0 e 255) separati dal simbolo "punto". Un esempio di
indirizzo IPv4 195.24.65.215. Questa rappresentazione limita lo spazio di indirizzamento a
4,294,967,296 indirizzi univoci possibili. A questo numero di indirizzo vanno tuttavia sottratti i
circa 18.000.000 di indirizzi che vengono utilizzati per le reti locali. Per ovviare al problema della
mancanza di indirizzi IP dovuta alla costante crescita di Internet stato inventato IPv6.
L'indirizzo IPv6 costituito da 128 bit (16 byte), viene descritto da 8 numeri esadecimali
rappresentati su 2 byte ciascuno (quindi ogni numero varia tra 0 e 65535) separati dal simbolo "due
45
porte.
verifica degli errori mediante una checksum, inserita in un campo dell'intestazione del
pacchetto.
mentre TCP garantisce anche il trasferimento affidabile dei dati, il controllo di flusso e il controllo
della congestione.
UDP un protocollo stateless ovvero privo di stato: non mantiene lo stato della connessione dunque
rispetto a TCP ha informazioni in meno da memorizzare. Un server dedicato ad una particolare
applicazione che sceglie UDP come protocollo di trasporto pu supportare molti pi client attivi
CRITTOGRAFIA
Il primo impiego si ebbe con i telefoni cellulari per evitare dispersione di dati, in quanto, tutte le
informazioni che arrivano dal server passano tramite stazioni di trasmissione e corrono il rischio che
qualcuno riesca a captarle.
Al giorno doggi la rete GSM non si clona pi.
47
Dentro alle schede SIM c un calcolatore nel quale, al momento della fabbricazione, viene creata
una locazione di memoria in cui vi scritto un numero (divisore) il quale pu essere usato ma non
letto.
Quando si vuole chiamare, il gestore invia un dividendo, lapparecchio chiamante manda il resto
della divisione e siccome il server conosce il tale divisore controlla anche lui il calcolo. Se i due
resti sono uguali allora vuol dire che il numero chiamante originale e va bene.
Lunico modo per riuscire a frodare tenere una tabella e sperare che il gestore mandi un dividendo
gi mandato, ma sono numeri con troppe cifre quindi non facile recapitare lo stesso numero pi
volte.
Quando si ha la stessa chiave da tutte e due le parti si ha una chiave simmetrica.
Il sistema a chiave asimmetrica non tanto differente.
Tre matematici della RSA Security hanno trovato il modo di avere una chiave asimmetrica.
Sono partiti da l Teorema di Eulero:
a p 1 mod p 1mod p
dove p = n primo
a np
n1
mod il resto
5mod3=2
ap-1 mod p = 1
25 = 24 mod 5 =1
I matematici hanno detto:
a p 1 q 1 mod pq 1
a p 1 q 1 1 mod pq a
k non n primo
Si prende k e lo si divide circa a met quindi vuol dire la chiave stata divisa a met.
a c e mod pq a
c = coding
e = encoding
ac mod pq la chiave codificata; lunico modo che ho per decodificarla : acode mod pq = a
Ci sono delle propriet per semplificare i calcoli. La fattorizzazione per ad oggi risulta impossibile.
Avremo quindi una chiave pubblica ed una privata.
48
Il client genera la chiave pubblica e privata, prende la chiave pubblica e la manda al server, questo
permette che quando il server riceve dal client la codifica con la sua chiave privata e lui con la sua
chiave pubblica. Lui da parte sua genera una chiave pubblica e privata, la sua chiave pubblica la
manda al client; questultimo codifica 2 volte: chiave privata client con chiave pubblica del server.
Il server lunico che codifica con la sua privata.
Le chiavi pubbliche dovrebbero essere garantite, per fare ci esistono delle societ di certificazione
che hanno un elenco di chiavi pubbliche. Questo sistema da garanzia di comunicazione ma il server
deve essere affidabile.
SERVER
Mia pubblica
Sua privata
Sua pubblica
CLIENT
Mia pubblica
Mia privata
Sua pubblica
chiaro
Il problema che se A parla con B gli altri non possono fare pi nulla. Allora si deciso di rendere
la rete intelligente: i calcolatori vengono collegati con uno SWITCH.
Quando lo switch acceso capisce che sono connessi A,B,C e lo scrive in tabella, manda la
chiamata a tutti e guarda cosa succede. Dopo un p guarda e vede che c un messaggio da K (pc di
un altro piano) a C, ha capito il posizionamento di K e C e se lo segna. (es a-b, b-m, c-k sul primo
filo; k-c, m-b sul secondo e m-b sul terzo).
Man mano che i calcolatori si accendono gli switch sanno dove sono i calcolatori e se lo segnano in
una tabella in modo che le informazioni vengano instradate in modo corretto, per i pc possono
parlarsi solo nel tratto in comune.
Se vogliono andare in internet hanno bisogno di un router e la macchina necessita di un ip.
DHCP: ogni volta che mi collego il gestore mi concede un IP; funzione anche presente nel router
(assegna IP privati per la rete locale)
Se ci sono pi pc in contemporanea, il router smista con il DNS le porte che magari nellip del pc
erano uguali. Il DNS solitamente fornito dal provider e serve per connettersi al proprio ISP
(operatore).
GATEWAY: inidirizzo IP del router
NAT: network address translation, serve per la traduzione degli indirizzi.
BRIDGE: collega reti diverse come tecnologia.
HUB
SWITCH
C,B,A,K,M
K, M
50
DNS (es130.244.127.161)
ROUTER
INTERNET
(es 60.128.1.32)
A
10.1.1.1
B
10.1.1.2
10.1.1.3
10.1.1.4
APPROFONDIMENTO
Ethernet il nome di un protocollo per reti locali, sviluppato a livello sperimentale da Robert
Metcalfe e David Boggs, suo assistente, alla Xerox PARC.
L'obiettivo originale dell'esperimento era ottenere una trasmissione affidabile a 3Mbps su cavo
coassiale in condizioni di traffico contenuto, ma in grado di tollerare bene occasionali picchi di
51
carico. Per regolamentare l'accesso al mezzo trasmissivo era stato adottato un protocollo di tipo
CSMA/CD (Carrier Sense Multiple Access / Collision Detection).
Ethernet attualmente il sistema LAN pi diffuso per diverse ragioni:
nata molto presto e si diffusa velocemente per cui l'uscita di nuove tecnologie come
FDDI e ATM hanno trovato il campo occupato;
Funziona bene e genera pochi problemi (cosa rara nel campo informatico);
Frame
Nonostante Ethernet abbia diverse tipologie, l'elemento comune nella struttura del frame che
viene definito DIX (DEC, Intel, Xerox) ed rimasto fedele alla versione originale.
Gli elementi sono:
Preamble (Preambolo) (8 byte): I primi 7 byte hanno valore 10101010 e servono a svegliare
gli adattatori del ricevente e a sincronizzare gli orologi con quelli del mittente. L'ultimo byte
ha valore 10101011 e la serie dei due bit a 1 indica al destinatario che sta arrivando del
contenuto importante;
EtherType (Campo tipo) (2 byte): Questo campo indica il tipo di protocollo in uso durante la
trasmissione e la lunghezza del campo dati;
Payload (Campo dati) (da 46 a 1500 byte): contiene i dati reali e possono essere di
lunghezza variabile in base al MTU (Maximum Transmission Unit) della Ethernet. Se i dati
superano la capacit massima, vengono suddivisi in pi pacchetti;
52
FCS (Controllo a ridondanza ciclica) (CRC) (4 byte): permette di rilevare se sono presenti
errori di trasmissione, in pratica il ricevente calcola il CRC mediante un algoritmo e lo
confronta con quello ricevuto in questo campo.
Gli indirizzi sono tutti a 6 byte in quanto Ethernet definisce uno schema di indirizzamento a 48 bit:
ogni nodo collegato, quindi, ha un indirizzo Ethernet univoco di questa lunghezza. Esso corrisponde
all'indirizzo fisico della macchina ed associato all'hardware.
Sono anche detti indirizzi hardware, indirizzi MAC (o MAC address) o indirizzi di livello 2.
Tipologia di trasmissione
La codifica usata per i segnali binari la codifica Manchester.
Ethernet una tecnologia che fornisce al livello di rete un servizio senza connessione, in pratica il
mittente invia il frame nella LAN senza alcun handshake iniziale, questo frame viene inviato in
modalit broadcast (o a bus condiviso) e attraversa tutta la LAN. Quando viene ricevuto da tutti gli
adattatori presenti sulla LAN quello che vi riconoscer il suo indirizzo di destinazione lo recepir
mentre tutti gli altri lo scarteranno.
Il frame ricevuto pu contenere errori, la maggior parte dei quali sono verificabili dal controllo
CRC. Un frame che non supera il controllo CRC, viene scartato. Ethernet non prevede la
ristrasmissione del frame scartato, n una notifica della sua perdita agli strati superiori. Ethernet
quindi inaffidabile, ma anche semplice ed economica.
Sar compito degli strati superiori (ad esempio TCP) provvedere alla ri-trasmissione. La gestione
delle collisioni e dell'occupazione simultanea del canale di trasmissione viene gestita mediante il
CSMA/CD (Carrier Sense Multiple Access with Collision Detection). Anche da questo punto di
vista, Ethernet non in grado di garantire la consegna di un frame, e men che meno che il frame sia
consegnato entro un tempo prevedibile.
Negli sistemi Ethernet recenti, il problema non si presenta in quanto con gli switch e la crescita
della capacit (vedi Gigabit Ethernet) si eliminano le collisioni e si rende molto pi improbabile la
congestione.
Ethernet utilizza un algoritmo di accesso multiplo alla rete detto CSMA/CD. Ci permette
all'Ethernet, in certe condizioni, di avere un'efficienza di trasmissione del 100%.
L'efficienza vista come la frazione di tempo a lungo termine durante la quale sono trasmessi frame
senza collisioni con altri mittenti.
53
54