Clicca qui per scaricare " MANUALE RETI GENERALE "

Transcript

Clicca qui per scaricare " MANUALE RETI GENERALE "
Codifica Manchester
Codifica di 11011000100 utilizzando il codice Manchester
Nelle telecomunicazioni la codifica Manchester è una forma di comunicazione dati nella quale
ogni bit viene segnalato da una transizione. La codifica Manchester è considerata una codifica selfclocking, il che significa che permette un'accurata sincronizzazione del flusso dati. Ogni bit viene
trasmesso in un intervallo di tempo di bit predefinito.
La codifica Manchester fornisce un modo semplice per codificare sequenze binarie arbitrarie senza
mai aver lunghi periodi di tempo privi di transizioni di clock, il che permette di prevenire la perdita
della sincronizzazione del clock, oppure errori di bit causati da derive in bassa frequenza su
collegamenti analogici poco equalizzati (vedi ones-density). Se trasmesso come segnale AC
assicura che la componente DC del segnale codificato sia zero, prevenendo derive del livello di
base del segnale ripetuto, e rendendolo facile da rigenerare. Comunque oggi esistono molte
codifiche più sofisticate che ottengono lo stesso risultato con minore sovraccarico di banda, e meno
ambiguità di sincronizzazione nei casi patologici (vedi sotto).
Uno degli utilizzi più noti della codifica Manchester è sui segnali elettrici nelle reti locali Ethernet.
Codifica Manchester come caso di Phase Shift Keying Binaria (BPSK)
La codifica Manchester si può considerare come un caso speciale della Phase Shift Keying Binaria
(BPSK), in cui il dato da trasmettere controlla la fase di un'onda quadra portante alla frequenza
della velocità di trasmissione dati. Perciò è estremamente facile generare tale segnale in modo
digitale.
Per controllare la quantità di banda consumata, si può impiegare un filtro per ridurre la banda fino
ad 1Hz per bit/secondo, senza perdere informazione durante la trasmissione. Comunque, per
praticità (e per controllare al meglio la banda passante, specialmente su spettri radio affollati), la
maggior parte dei modulatori BPSK scelgono una frequenza di portante molto superiore alla
frequenza di trasmissione dati, ottenendo larghezze di banda più strette e facili da filtrare. La
proprietà dell'1Hz/bit/secondo è comunque mantenuta.
Convenzioni per la rappresentazione dei dati
Ci sono due convenzioni opposte per la rappresentazione dei dati.
La prima fu inizialmente pubblicata da G. E. Thomas nel 1949 ed è seguita da numerosi autori (ad
es. Tanenbaum). Specifica che per un bit 0 i livelli di segnale saranno Basso-Alto (assumendo una
codifica dei dati con l'ampiezza) - con un livello basso nella prima parte del periodo di bit, ed un
livello alto nella seconda parte. Per un bit 1 i livelli di segnale saranno Alto-Basso.
Anche la seconda convenzione è seguita da molti autori (ad es. Stallings) come pure dallo standard
IEEE 802.4. Stabilisce che uno 0 logico sia rappresentato da una sequenza di segnale Alto-Basso ed
un 1 logico da una sequenza di segnale Basso-Alto.
Una conseguenza della transizione per ciascun bit è che la necessità di larghezza di banda per
segnali codificati Manchester è doppia in confronto ad una comunicazione asincrona, e che lo
spettro del segnale è considerevolmente più ampio. Nonostante la codifica Manchester sia una
forma di comunicazione altamente affidabile, il requisito della larghezza di banda è visto come uno
svantaggio, e le comunicazioni più moderne avvengono con protocolli con codici più moderni che
ottengono gli stessi risultati con una codifica più rapida ed una richiesta di larghezza di banda
minore.
Una peculiarità della codifica Manchester è la sincronizzazione del ricevitore col trasmettitore. A
prima vista potrebbe sembrare che un errore di mezzo periodo di bit porterebbe ad una decodifica
invertita dal lato del ricevitore, ma considerazioni ulteriori evidenziano che con alcune sequenze di
dati specifiche questo causerebbe la violazione della codifica. L'hardware può rilevare queste
violazioni di codifica e di conseguenza sincronizzarsi accuratamente sulla corretta interpretazione
dei dati.
Una tecnica correlata è la codifica Manchester differenziale.
Riassumendo:
•
i segnali dei dati e del clock sono combinati per formare un flusso di dati autosincronizzante
•
ogni bit codificato contiene una transizione a metà del periodo di bit
•
la direzione della transizione determina se il bit è uno "0" o un "1"
•
la prima metà è il valore vero del bit e la seconda metà è il complemento del valore vero del
bit. In contrasto con non ritorno a zero.
Codifica Manchester differenziale
Codifica di 010 utilizzando Manchester diffenziale. Con a sono indicate le transazioni a inizio bit,
con b la continuità del segnale
La Codifica Manchester differenziale è un sistema di rappresentazione di dati, derivato dalla
Codifica Manchester, utilizzato soprattutto negli scambi di informazioni tra alcune categorie di reti
informatiche. Questo sistema di codifica di dati, come la Manchester, è progettata in modo da
sincronizzarsi autonomamente col clock di sistema, in quanto ogni bit viene trasmesso all'interno di
un intervallo predefinito. Inoltre durante questo intervallo vi è la presenza di almeno una transizione
a metà intervallo, salvo i casi di segnali fuori codifica.
La caratteristica che distingue la codifica Manchester differenziale dalla sua progenitrice è la
rappresentazione dei bit: infatti la Manchester differenziale è basata sulla verifica di transizioni
all'inizio di un intervallo. La presenza di una di queste, sia essa di tipo alto-basso o basso-alto,
identifica un valore, la mancanza di transizione invece (ovvero continuità del segnale) indica il
valore opposto. I segnali prodotti sono compresi tra 3 e 4.5 v per il segnale alto e tra -4.5 e -3 v per
quello basso.
Per convenzione normalmente il bit 1 viene rappresentato dalla mancanza di transizione all'inizio
del suo intervallo, mentre lo 0 è indicato con un cambiamento di segnale nello stesso periodo.
Segnali in violazione di questa convenzione sono utilizzabili per informazioni di servizio o per
delimitare gruppi di bit. Questo sistema rende la codifica più resistente al rumore rispetto alla
Manchester normale, ma in cambio si paga una maggiore complessità degli algoritmi di gestione
oltre che dell'hardware.
Rete informatica
Lo scopo principale di una rete di calcolatori è la condivisione di informazioni e risorse (sia
hardware che software). In altre parole è un sistema che fornisce servizi relativi al trasferimento di
informazioni ad una popolazione di utenti distribuiti geograficamente.
Le reti di calcolatori generano traffico di tipo fortemente impulsivo, a differenza del telefono, e per
questo hanno dato origine - e usano tuttora - la tecnologia della commutazione di pacchetto.
Rete Vs Mainframe
La comunicazione di reti di calcolatori può essere fatta risalire alla necessità di condividere le
risorse di calcolatori potenti e molto costosi (mainframe). La tecnologia delle reti, insieme
all'emergere dei computer personali a basso costo, ha poi permesso rivoluzionari sviluppi
nell'organizzazione delle risorse di calcolo.
Si possono indicare almeno tre punti di forza di una rete di calcolatori rispetto al mainframe
tradizionale:
1. fault tolerance (resistenza ai guasti): il guasto di una macchina non blocca tutta la rete, ed è
possibile sostituire il computer guasto facilmente (la componentistica costa poco e
un'azienda può permettersi di tenere i pezzi di ricambio a magazzino);
2. economicità: come accennato sopra, hardware e software per computer costano meno di
quelli per i mainframe;
3. gradualità della crescita e flessibilità: l'aggiunta di nuove potenzialità a una rete già
esistente e la sua espansione sono semplici e poco costose.
Tuttavia una rete ha alcuni punti deboli rispetto a un mainframe:
1. scarsa sicurezza: un malintenzionato può avere accesso più facilmente ad una rete di
computer che ad un mainframe: al limite gli basta poter accedere fisicamente ai cablaggi
della rete. Inoltre, una volta che un virus o, peggio, un worm abbiano infettato un sistema
della rete, questo si propaga rapidamente a tutti gli altri e l'opera di disinfezione è molto
lunga, difficile e non offre certezze di essere completa;
2. alti costi di manutenzione: con il passare del tempo e degli aggiornamenti, e con l'aggiunta
di nuove funzioni e servizi, la struttura di rete tende ad espandersi e a diventare sempre più
complessa, e i computer che ne fanno parte sono sempre più eterogenei, rendendo la
manutenzione sempre più costosa in termini di ore lavorative. Oltre un certo limite di
grandezza della rete (circa 50 computer) diventa necessario eseguire gli aggiornamenti
hardware e software su interi gruppi di computer invece che su singole macchine,
vanificando in parte il vantaggio dei bassi costi dell'hardware.
Tipi di reti
Classificazione sulla base dell'estensione geografica
A seconda dell'estensione geografica, si distinguono diversi tipi di reti:
•
si parla di rete personale o PAN (Personal area network) se la rete si estende intorno
all'utilizzatore con una estensione di alcuni metri
•
si parla di rete locale o LAN (Local area network) se la rete si estende all'interno di un
edificio o di un comprensorio, con una estensione entro alcuni chilometri
o
si parla di rete senza fili o WLAN (wireless local area network), se la rete locale è
basata su una tecnologia in radio frequenza (RF), permettendo la mobilità all'interno
dell'area di copertura, solitamente intorno al centinaio di metri all'aperto
•
si parla di rete metropolitana o MAN (metropolitan area network) se la rete si estende
all'interno di una città
•
si parla di rete geografica o WAN (wide area network) se la rete si estende oltre i limiti
indicati precedentemente
Talvolta si parla anche di CAN (campus area network), intendendo la rete interna ad un campus
universitario, o comunque ad un insieme di edifici adiacenti, separati tipicamente da terreno di
proprietà dello stesso ente, che possono essere collegati con cavi propri senza far ricorso ai servizi
di operatori di TLC. Tale condizione facilita la realizzazione di una rete di interconnessione ad alte
prestazioni ed a costi contenuti.
Classificazione in base alla velocità della rete
•
Sulle classiche reti su doppino telefonico (dette anche POTS, Plain Old Telephone System) è
possibile realizzare reti con diverse tecnologie:
•
o
Usare modem per codificare segnali digitali sopra le comuni linee telefoniche
analogiche. la velocità è limitata a circa 56 Kbit/secondo, con l'adozione di modem
client e server che supportano la versione V92 dei protocolli di comunicazione per
modem. Questo protocollo incorpora funzioni di compressione del flusso di bit
trasmesso, quindi la velocità effettiva dipende dalla comprimibilità dei dati
trasmessi. Il grande vantaggio di questa tecnologia è che non richiede modifiche alla
rete distributiva esistente.
•
o
Le reti ISDN portano tipicamente a casa dell'utente due canali telefonici in
tecnologia digitale. La tecnologia ISDN è ormai molto diffusa nei paesi sviluppati.
Usandola per la trasmissione dati, arrivano ad una velocità massima di 128 Kbit/
secondo, senza compressione, sfruttando in pratica due connessioni dial-up in
parallelo, possibili solo con determinati provider. La velocità su un singolo canale è
invece limitata a 64 Kbit/secondo.
•
o
Le linee ADSL (Asymmetric Digital Subscriber Line) richiedono l'installazione di
nuovi apparati di commutazione nelle centrali telefoniche, chiamati DSLAM, e
l'utilizzo di filtri negli impianti telefonici domestici per separare le frequenze
utilizzate per la trasmissione dati da quelle per la comunicazione vocale. La loro
diffusione sul territorio è limitata dai costi, che la rendono conveniente solo nelle
aree maggiormente sviluppate. ADSL è l'ultimo sviluppo sull'infrastruttura esistente
di doppino telefonico. Durante la connessione tramite ADSL è possibile continuare a
utilizzare il telefono in quanto le frequenze della voce e dei dati non si
sovrappongono. Questa tecnologia è inoltre chiamata Asimmetric in quanto le
velocità di download e di upload non sono uguali: in Italia sono tipicamente pari a 4
Mbit/secondo in download e 512 Kbit/secondo in upload, ma per certi abbonamenti
la velocità di download può arrivare anche a 12 Mbit/secondo, o anche 24 Mbit/
secondo, usando tecnologie di punta come ADSL2+ e reti di distribuzione in fibra
ottica di ottima qualità. Il doppino di rame presenta l'inconveniente di attenuare i
segnali, e non permette il funzionamento di questa tecnologia per distanze superiori
ai 5 Km circa. In alcuni casi è anche possibile un'ulteriore riduzione della distanza
massima dovuta a interferenze esterne che aumentano la probabilità d'errore. Un'altra
limitazione importante è data dall'interferenza "interna", che si verifica quando molte
utenze telefoniche sullo stesso cavo di distribuzione utilizzano il servizio ADSL.
Questo fa si che non si possa attivare il servizio ADSL su più di circa il 50% delle
linee di un cavo di distribuzione
Per superare queste velocità, l'infrastruttura di distribuzione basata sul doppino dovrà essere
sostituita da supporti fisici più performanti.
Tra i candidati a sostituire il doppino per la distribuzione domestica dei servizi di
telecomunicazioni, si possono citare:
•
le fibre ottiche:
•
le infrastrutture della TV via cavo (diffusa soprattutto negli USA)
•
il trasporto di dati sulla rete elettrica
•
le reti wireless
•
le reti satellitari (che però sono tipicamente unidirezionali, dal satellite alla casa dell'utente,
mentre il canale di ritorno deve essere realizzato con altre tecnologie, spesso su doppino
telefonico.
Le LAN supportano invece velocità di 10/100 Mbit/s, o anche 1 Gbit/s, su cavi in rame dalle
caratteristiche adeguate (CAT5 o superiore), o su fibra ottica.
Con tecnologie più costose, tipicamente utilizzate dai providers, si raggiungono velocità di 40 Gbit/
s per il singolo link su fibra ottica.
Su una singola fibra è poi possibile inviare molteplici segnali attraverso una tecnica di
multiplazione chiamata (Dense) Wave Division Multiplexing ((D)WDM), o Multiplazione di
Lunghezza d'Onda, che invia segnali ottici differenti a diverse lunghezze d'onda (in gergo, colori).
Il numero di segnali indipendenti trasportabile va dai 4 o 16 dei relativamente economici impianti
(Coarse)WDM alle centinaia degli impianti DWDM più avanzati.
La più veloce rete in Europa è la rete che raggiunge l'ordine di 2 Gigabit/secondo ed ha allo studio
velocità maggiori di 100 gigabit/secondo propri di una rete fotonica, semplicemente "colorando" le
cariche elettriche in transito per codificare più bit con la stessa carica.
In America il progetto Internet 2 cui collaborano la Nasa, la difesa e le università americane
connette già molti campus alla velocità di 2 gigabit/secondo (disponibili anche per studenti), con
miglioramenti di TCP/IP per poter sfruttare alte velocità di trasmissione, e permetterà di far
transitare in rete il controllo dei satelliti civili, dello scudo spaziale, aerei comandati a distanza,
testate nucleari e l'intera infrastruttura militare.
Classificazione in base alla tecnologia trasmissiva
Due sono le topologie principali, in base alla tecnologia assunta come modalità per il trasferimento
dei dati: reti punto a punto e reti broadcast.
Le reti punto a punto (point-to-point) consistono in un insieme di coppie di elaboratori connessi tra
loro in vario modo (stella, anello, albero, grafo completo, anelli secanti ecc.). Per passare da una
sorgente ad una destinazione, l'informazione deve attraversare diversi elaboratori intermedi. La
strada che i dati devono seguire per arrivare correttamente a destinazione, è data dai protocolli di
routing. Il routing è l'insieme delle problematiche relative al corretto ed efficace instradamento sulla
rete dei dati.
Rete a stella
Le reti broadcast invece sono formate da un unico mezzo fisico condiviso da più elaboratori, dove i
messaggi inviati da un elaboratore vengono ricevuti da tutti gli altri. Ovviamente all'interno del
messaggio vi è una parte relativa all'indirizzo del destinatario, in modo che tutte le altre macchine in
ascolto possano scartare il messaggio in arrivo. Alcune reti prevedono indirizzi speciali di tipo
broadcast e multicast. Il broadcast permette di inviare messaggi a tutte le stazioni collegate al
mezzo fisico, mentre il multicast permette di farlo solo ad un gruppo di stazioni, ma non a tutte. Un
esempio di una tale rete è la comunissima Ethernet.
Le moderne reti broadcast sono realizzate con una topologia fisica a stella (point-to-point), in cui
tutti gli elaboratori sono connessi ad un punto di concentrazione, dove un apparato attivo (switch) o
passivo (hub) crea l'illusione che siano tutti connessi allo stesso mezzo fisico. Talvolta si usa
definire questi apparati centrostella, appunto perché si trovano al centro della rete a stella.
Classificazione in base alla connessione
Come sappiamo, le reti di calcolatori si basano su una multiplazione dinamica a commutazione di
pacchetto, a differenza delle reti telefoniche che invece utilizzano una multiplazione statica a
commutazione di circuito. Tra le reti a commutazione di pacchetto però è fondamentale operare una
distrinzione tra:
Reti orientate alla connessione (dette anche Reti con comm. di etichetta);
Reti senza connessione;
Nelle reti con connessione, i percorsi che il pacchetto seguirà attraverso la rete sono prestabiliti e
sono sempre gli stessi (si veda la vicinanza, sotto questo punto di vista, alle reti a commutazione di
circuito), e si basano su un canale, stavolta non fisico (come nelle reti telefoniche) ma "virtuale".
Per comprendere meglio il concetto di canale virtuale si pensi a due elaboratori A e B che devono
comunicare tra loro. A e B all'interno della rete non sono collegati tra loro, quindi è necessario che i
pacchetti attraversino degli elaboratori intermedi. Prima dell'effettivo scambio dei dati però tra A e
B viene creato un percorso prestabilito chiamato canale virtuale. Esempi particolarmente calzanti di
reti orientate alla connessione sono le reti a commutazione di cella Asynchronous_Transfer_Mode o
le reti Frame Relay e Frame Relay SE (Switch). I vantaggi di una rete siffatta stanno ovviamente
nella qualità del servizio.
Nelle reti a commutazione senza connessione, i percorsi che i pacchetti tenderanno a seguire non
sono (e non possono) essere prestabiliti a priori, ma dipendono da una serie di fattori. Un esempio
classico di rete a commutazione di pachetto senza connessione è l'IP. Come sappiamo nelle reti
TCP/IP il TCP dell'elaboratore A si collega direttamente al corrispondente servizio dell'elaboratore
B. Quindi a livello di trasporto c'è connessione e quindi controllo sulla qualità del servizio e sulla
congestione della rete. Cosa che non accade a livello network. Il router dell'elaboratore A affida i
pacchetti al router successivo indicato nella sua tabella di routing. Dopodiché, si disinteressa
totalmente dell'ulteriore percorso che il pacchetto dovrà seguire all'interno della rete. Questo
potrebbe sembrare un male, ma così non è, proprio per via di questa divisione di compiti tra il layer
di trasporto e quello network.
Sezioni di una rete
In ogni rete di grandi dimensioni (WAN), è individuabile una sezione di accesso e una sezione di
trasporto.
La sezione di accesso ha lo scopo di consentire l'accesso alla rete da parte dell'utente, e quindi di
solito rappresenta una sede di risorse indivise (Si pensi ai collegamenti ADSL commerciali: La
porzione di cavo che ci collega alla centrale è un doppino telefonico, utilizzato esclusivamente
dall'abbonato). La sezione di accesso altresì comprende tutti quegli strumenti idonei a consentire
l'accesso alla rete. Quindi possiamo distinguere vari tipi di accesso: "Residenziale" (Classica linea a
56Kbit/s, linea ISDN/ADSL), "Business" (Rete Locale dell'azienda e Gateway o Proxy che
consente l'accesso all'esterno), "Mobile" (si pensi ad esempio al GSM, che consente un acesso
basato su una rete a radiofrequenza con copertura "cellulare"), o "Wireless".
La sezione di trasporto è quella che ha il compito di trasferire l'informazione tra vari nodi di
accesso, utilizzando se è necessario anche nodi di transito. È sede quindi di risorse condivise sia di
trasporto dati che di elaborazione. Dal punto di vista strutturale, una rete di trasporto è costruita
quasi esclusivamente attraverso fibre ottiche (es. Backbone).
L'importanza degli standard
Gli standard de iure e de facto aiutano a gestire le reti aziendali multiprotocollo. I più importanti
enti di standardizzazione per le reti di computer sono: CCITT, ITU, ISO, ANSI e IEEE.
Di particolare impatto è l'OSI (Open System Interconnection), un progetto ISO risalente alla fine
degli anni '70, che si propone come modello di riferimento per le reti. Esso presenta un approccio a
7 livelli (layers), con una serie di protocolli che si inseriscono ai vari livelli. I livelli 1 (Livello
fisico) e 2 (Livello Data Link) sono ormai standard, mentre per gli altri 5 ci sono protocolli che
esistono da tempo e gli standard faticano imporsi.
Principali componenti di una rete
•
•
Principali componenti hardware:
o
Firewall
o
Router
o
Switch o Hub
o
Bridge
o
Cablaggio
I componenti software di una rete sono detti protocolli di rete.
Local Area Network
Schema di una LAN
Nel campo dell'informatica LAN è l'acronimo per il termine inglese Local Area Network, in
italiano rete locale.
Identifica una rete costituita da computer collegati tra loro (comprese le interconnessioni e le
periferiche condivise) all'interno di un ambito fisico delimitato (ad esempio in una stanza o in un
edificio, o anche in più edifici vicini tra di loro) che non superi la distanza di qualche chilometro.
Le LAN hanno dimensioni contenute, il che favorisce il tempo di trasmissione, che è noto. Le LAN
tradizionali lavorano tra 10 Mbps e 100 Mbps, hanno bassi ritardi e pochissimi errori. Le LAN
recenti operano fino a 1 Gbps (ma sono utilizzate solo in ambienti server o storage di grosse
dimensioni).
Tipologie
Esistono diversi tipi di reti di computer in grado di soddisfare le esigenze di uffici o aziende di
piccola, media, grossa dimensione. Una rete è caratterizzata da tre elementi fondamentali:
•
•
sicurezza
o
Assicurare la destinazione corretta del flusso di dati ed evitarne l'intercettazione.
o
Garantire un rischio di guasto bassissimo.
prestazione
o
•
Velocità di trasmissione dei dati nella rete.
fattibilità
o
Facile costruzione della rete in base al luogo e ai materiali.
I tipi di rete più comuni
Rete a stella o stella estesa
Rete a stella
È caratterizzata da un punto centrale, centrostella, che può essere uno switch o un elaboratore e
diversi host connessi ad esso. La rete a stella diventa a stella estesa quando al posto di un host
collegato al centrostella c'é un altro apparato attivo, switch o hub con a sua volta altri host collegati
ad esso.
Pregi e difetti della rete a stella
Pregi
•
un guasto ad un host non compromette le comunicazioni degli altri
•
comunicazioni sicure e difficilmente intercettabili tra un host e l'altro (con l'uso dello
switch)
•
basso traffico di pacchetti per gli host (con l'uso dello switch)
Difetti
•
elevato traffico sul centrostella
•
rottura del centrostella con conseguente interruzione delle comunicazioni per tutti gli host
Rete a bus
Rete a bus
Ogni host è collegato in modo lineare attraverso un cavo o tramite un hub.
Pregi e difetti della rete a bus
Pregi
•
reti semplici da realizzare e poco costose
Difetti
•
ogni computer può intercettare le comunicazioni altrui
•
elevato traffico in tutta la rete
•
un guasto ad un host compromette le comunicazioni degli altri
Rete ad anello o token ring
Rete ad anello
Una rete Token ring, ovvero rete ad anello con passaggio del testimone, è un tipo di rete ad anello
in cui la determinazione di quale calcolatore abbia diritto a trasmettere avviene tramite un
particolare messaggio, detto token.
Ogni calcolatore è collegato ad altri due formando un cerchio. Questo, ovviamente, a livello
concettuale, in quanto nella realtà ciò non avviene, ma la rappresentazione grafica aiuta a capire il
funzionamento. All'interno di questa rete solo un calcolatore alla volta può trasmettere, quello in
possesso del token. Esso avvia la trasmissione dei dati trasferendoli al calcolatore vicino, il quale lo
prende in consegna se è il destinatario, oppure ripetendo a sua volta il segnale verso l'altro
calcolatore ad esso collegato, così fino a raggiungere il destinatario.
Quando il calcolatore che è in possesso del token ha terminato la trasmissione dei dati passa il token
a quello vicino. Quest'ultimo se deve trasmettere dati inizia la comunicazione, altrimenti cede
immediatamente il token senza impegnare il canale. Ogni calcolatore, ogni volta che riceve il token,
può trasmettere al massimo un solo frame, quindi deve consegnare il token al terminale vicino.
Ogni terminale prima o poi riceverà il token ed avrà quindi la possibilità di trasmettere. I dispositivi
di rete garantiscono la presenza di un solo token sull'anello, e provvedono a rigenerarne uno qualora
questo venga perso a causa di guasti nella rete o al calcolatore che l'ha preso in consegna.
Un'implementazione molto famosa di questo tipo di rete è stata commercializzata da IBM.
Pregi e difetti della rete ad anello
Pregi
•
può coprire distanze maggiori di quelle consentite da altre reti senza l'aggiunta di
amplificatori di segnale
Difetti
•
esiste il rischio che gli host possano intercettare comunicazioni altrui
•
elevato traffico in tutta la rete
•
il guasto di un host compromette la trasmissione di dati
Un'ulteriore suddivisione è quella che suddivide le LAN in:
•
Statiche
•
Dinamiche
Nelle reti statiche il tempo di occupazione della rete è diviso in tempi discreti con un algoritmo
detto round-robin, per cui una macchina può trasmettere solo se è attivo il proprio turno (time slot).
In tale caso però viene sprecato del tempo in quanto, se una macchina non trasmette, il suo tempo
va perso.
Nelle reti dinamiche ogni macchina decide in autonomia se trasmettere o meno e verifica che il
canale di comunicazione non sia occupato prima di inviare pacchetti. Questo permette un migliore
utilizzo della rete, ma non consente di garantire un tempo minimo di risposta, a meno di non
implementare particolari algoritmi di gestione, che però aumentano la complessità della rete e ne
riducono le prestazioni.
Interconnessione
Gli apparati della rete si interconnettono tra di loro attraverso apparati attivi che funzionano a livelli
diversi del modello ISO/OSI:
•
livello 1 - hub o repeater
•
livello 2 - switch o bridge
Le reti informatiche di ambito più ampio, solitamente costituite dall'unione di più LAN
interconnesse tramite router, sono chiamate WAN (Wide Area Network) o reti geografiche.
Le reti locali possono essere di vario tipo, ad esempio:
•
Ethernet
•
TokenRing
•
Wireless
Reti domestiche
Attualmente stanno prendendo piede quelle che vengono definite reti domestiche. Sono reti
particolari sia perché servono ad usi specifici sia perché sono molto più piccole di una LAN.
In particolare, si porta l'esempio dei LAN party; alcuni utenti, generalmente circa una dozzina,
installano una piccola LAN, in tutto e per tutto uguale alle reti LAN, ma con le caratteristiche
peculiari di temporaneità e precarietà, per scopi prettamente ludici. LAN Party più strutturati
possono raggiungere dimensioni considerevoli con decine di utenti. In questi casi il carattere di
precarietà viene meno, ma permane quello di temporaneità della rete stessa (in genere queste LAN
hanno una durata dalle poche ore a 2-3 giorni)
Broadcast
Per Broadcast si intende la trasmissione di informazioni da un sistema trasmittente ad un insieme
di sistemi riceventi non definito a priori.
L'esempio più classico è costituito da un trasmettitore radio di grande potenza e da un gran numero
di ricevitori montati nelle automobili o nelle case. In questo caso, tutti i ricevitori situati nell'area di
copertura del trasmettitore riceveranno il segnale, e il trasmettitore non potrà sapere esattamente
con chi ha comunicato.
La trasmissione broadcast è unidirezionale. Le informazioni sono inviate dal trasmettitore ai
ricevitori, senza canale di ritorno e senza sicurezza che le stesse riescano ad essere consegnate.
In opposizione alle comunicazioni broadcast, ci sono le comunicazioni punto-punto o bidirezionali.
Nel mondo della radio e nella televisione, il termine broadcast indica anche il livello di qualità
richiesto per trasmissioni commerciali a grande diffusione, e gli strumenti professionali utilizzati
per ottenerlo.
Broadcast nelle Reti di calcolatori
Nelle reti di calcolatori, il termine ha un significato simile: un pacchetto inviato ad un indirizzo di
tipo broadcast verrà consegnato a tutti i computer collegati alla rete (ad esempio, tutti quelli su un
segmento di rete ethernet, o tutti quelli di una sottorete IP).
Un pacchetto destinato ad un solo computer è detto Unicast, uno destinato a molti è detto Multicast,
uno destinato ad uno qualunque di un gruppo Anycast
Per via dei costi gli indirizzamenti broadcast non sono consentiti a livello globale (internet), ma
risultano vincolati nell'ambito di una rete locale.
Livello fisico
Il livello fisico è il livello 1 del modello ISO/OSI.
Questo livello riceve frame dal livello datalink i frame da trasmettere, li converte in una sequenza di
bit e li trasmette.
Il livello 1 si preoccupa della gestione del mezzo trasmissivo (ad esempio, cavo coassiale (BNC),
cavi STP o UTP, fibre ottiche) su cui avviene lo scambio di informazioni, occupandosi della
trasmissione di singoli bit su un mezzo trasmissivo. Esso definisce per questo le modalità di
connessione tra il cavo e la scheda di rete e di conseguenza le caratteristiche cui i mezzi di
collegamento fisico devono sottostare, quali:
•
caratteristiche fisiche, come forma, dimensioni, numero di piedini di un connettore,
specifiche meccaniche
•
caratteristiche funzionali, come il significato dei pin di un componente.
•
caratteristiche elettriche, come i valori di tensione per i livelli logici, e di conseguenza la
codifica, la sincronizzazione e la durata di ogni bit;
•
codifica del segnale digitale su un mezzo trasmissivo che è inerentemente analogico
(modulazione))
Esistono diversi standard relativi alla gestione del mezzo trasmissivo, sia esso analogico o digitale.
Mezzi trasmissivi
I mezzi trasmissivi utilizzati per la realizzazione di un canale in una rete vengono solitamente
suddivisi in tre categorie, a seconda del fenomeno fisico utilizzato per trasmettere i bit:
•
mezzi elettrici: per la trasmissione utilizzano la proprietà dei metalli di condurre l'energia
elettrica (come doppini telefonici, cavi coassiali);
•
mezzi ottici: per la trasmissione utilizzano la luce (come le fibre ottiche o la trasmissione in
aria via laser);
•
mezzi wireless (onda libera): per la trasmissione utilizzano le onde elettromagnetiche (come
le trasmissioni radio a microonde e le trasmissioni radio via satellite).
Caratteristiche dei mezzi trasmissivi
Caratteristiche basilari di un mezzo trasmissivo sono:
•
la riduzione della potenza del segnale al crescere della distanza percorsa (o attenuazione);
•
la suscettibilità alla degradazione del segnale a causa di elementi esterni (o rumore o
interferenza);
•
i fenomeni di distorsione che avvengono al segnale trasmesso;
•
la capacità (o banda passante);
•
i costi;
•
i suoi requisiti in maneggevolezza, aggiornabilità e gestione.
Uno stesso mezzo trasmissivo può essere utilizzato su diverse bande trasmissive. In tal caso le
caratteristiche di attenuazione, rumore, distorsione possono essere diversi per ciascuna banda.
Questo accade ad esempio per le fibre ottiche, che hanno tre diverse finestre trasmissive.
Livello datalink
Il livello datalink è il livello 2 del modello ISO/OSI. Questo livello riceve pacchetti dal livello di
rete e forma le trame che vengono passate al successivo livello fisico.
Il compito del livello datalink è la trasmissione di trame tra due nodi collegati. Comprende
normalmente delle funzioni di controllo di errore (ad esempio medianteCyclic redundancy check),
talvolta con capacità di correzione dell'errore. Questo livello non fornisce normalmente la garanzia
che una trama inviata sia consegnata a destinazione.
Nello stack IP, in alcuni casi il livello datalink consiste nell'utilizzo di una rete realizzata con un
altro protocollo per il trasporto di pacchetti IP. Questo avviene ad esempio con X.25, Frame Relay,
Asynchronous Transfer Mode.
Livello di presentazione
Il Livello di presentazione è il sesto livello del modello ISO/OSI. Ha come obiettivo quello di
trasformare i dati forniti dal Livello applicazioni in un formato standard e offrire servizi di
comunicazione comuni, quali la crittografia,la compressione del testo e la riformattazione. Il livello
di presentazione consente la gestione della sintassi e della semantica delle informazioni trasmesse,
diversamente dagli altri livelli che gestiscono una sequenza di bit. Sono previste tre diverse
tipologie di sintassi:
•
astratta (definizione formale dei dati che gli applicativi si scambiano)
•
concreta locale (come i dati sono rappresentati localmente)
•
di trasferimento (come i dati sono codificati durante il trasferimento)
Livello applicazioni
Il livello applicazioni è il settimo ed ultimo livello del modello OSI. La sua funzione è quella di
interfacciare e fornire servizi per i processi delle applicazioni; inoltra anche le richieste al livello di
presentazione.
Tra i servizi più comuni offerti dal livello applicazioni ci sono le conversioni semantiche tra
processi applicativi associati. Nota: esempi di servizi usuali sono i file virtuali ed il virtual terminal.
Esempi
•
HTTP
•
SMTP
•
SNMP
•
FTP
•
NTP
•
Telnet
•
SSH
•
IRC
•
Lightweight Directory Access Protocol (LDAP)
•
XMPP
•
FTAM
•
APPC
•
X.400
•
X.500
•
AFP
•
SIP
•
ITMS
•
AIM
Token ring
Una rete Token ring, ovvero rete ad anello con passaggio del testimone, è un tipo di rete ad anello
in cui la determinazione di quale calcolatore abbia diritto a trasmettere avviene tramite un
particolare messaggio, detto token.
Ogni calcolatore è collegato ad altri due formando un cerchio. Questo, ovviamente, a livello
concettuale, in quanto nella realtà ciò non avviene, ma la rappresentazione grafica aiuta a capire il
funzionamento. All'interno di questa rete solo un calcolatore alla volta può trasmettere, quello in
possesso del token. Esso avvia la trasmissione dei dati trasferendoli al calcolatore vicino, il quale lo
prende in consegna se è il destinatario, oppure ripetendo a sua volta il segnale verso l'altro
calcolatore ad esso collegato, così fino a raggiungere il destinatario.
Schema di una rete Token ring
Quando il calcolatore che è in possesso del token ha terminato la trasmissione dei dati passa il token
a quello vicino. Quest'ultimo se deve trasmettere dati inizia la comunicazione, altrimenti cede
immediatamente il token senza impegnare il canale. Ogni calcolatore, ogni volta che riceve il token,
può trasmettere al massimo un solo frame, quindi deve consegnare il token al terminale vicino.
Ogni terminale prima o poi riceverà il token ed avrà quindi la possibilità di trasmettere. I dispositivi
di rete garantiscono la presenza di un solo token sull'anello, e provvedono a rigenerarne uno qualora
questo venga perso a causa di guasti nella rete o al calcolatore che l'ha preso in consegna.
Un'implementazione molto famosa di questo tipo di rete è stata commercializzata da IBM.
Ethernet
Suite di protocolli Internet
HTTP, HTTPS , SMTP, POP3, IMAP, FTP, DNS
Livello applicazioni
SSH, IRC, SNMP, SIP, RTP, Rsync, Telnet, HSRP ...
Livello di trasporto
TCP, UDP, SCTP, RTSP, DCCP ...
IPv4, IPv6, ARP, DHCP, ICMP, BGP, OSPF,
Livello di rete
RIP, IGRP, IGMP, IPsec...
Ethernet, WiFi, PPP, Token ring,
Livello di collegamento
ATM, FDDI, LLC ...
Doppino, Fibra ottica, Cavo coassiale,
Livello fisico
Codifica Manchester, Codifica 4B/5B, WiFi ...
Storia
Ethernet è il nome di un protocollo per reti locali, sviluppato a livello sperimentale da Robert
Metcalfe e David Boggs, suo assistente, alla Xerox PARC. La data ufficiale è il 1973 quando
Metcalfe scrisse un promemoria ai suoi capi della Xerox sulle potenzialità di Ethernet. Nel 1976
Metcalfe e Boggs pubblicano un articolo dal titolo Ethernet: Distributed Packet-Switching For
Local Computer Networks.
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
carico. Per regolamentare l'accesso al mezzo trasmissivo era stato adottato un protocollo di tipo
CSMA/CD (Carrier Sense Multiple Access / Collision Detection).
Schema di una rete Ethernet
Connettori RJ 45
Il successo dell'esperimento suscitò forte interesse e portò alla formazione di un gruppo di imprese,
costituito da Xerox Corporation, Intel Corporation e Digital Equipment Corporation, che nel 1978
portarono alla standardizzazione 802.3 e il 30 settembre 1980 a pubblicare la versione 1.0 dello
standard Ethernet.
Intanto Metcalfe lasciò Xerox nel 1979 per promuovere l'uso del PC e delle LAN per cui fondò
3Com. Metcalfe spesso attribuisce il successo di 3Com a Jerry Saltzer. Questi collaborò alla stesura
di un articolo importantissimo dove suggeriva che l'architettura token ring fosse teoricamente
superiore alla Ethernet. Con questo le grosse aziende decisero di non puntare su Ethernet mentre, al
contrario, 3Com poté creare un business intorno al sistema riuscendo a guadagnarsi un ottimo
vantaggio tecnico e a dominare sul mercato quando Ethernet prese piede.
Successivamente, l'interesse delle imprese del settore aumentò al punto che l'IEEE costituì alcuni
gruppi di studio finalizzati a perfezionare e consolidare Ethernet, nonché a creare numerosi altri
standard correlati. Uno dei risultati raggiunti fu la pubblicazione, nel 1985, della prima versione
dello standard IEEE 802.3, basato sull'originale specifica Ethernet, ma non completamente
identificabile con essa. In seguito, lo standard Ethernet come tale non è più stato mantenuto, ma il
termine continua ad essere usato quasi come fosse un sinonimo di IEEE 802.3, sebbene i due
standard non coincidano affatto.
I motivi del successo
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;
•
Rispetto ai sistemi concorrenti è più economica e facile da usare e la diffusione delle
componenti hardware ne facilitano l'adozione;
•
Funziona bene e genera pochi problemi (cosa rara nel campo informatico);
•
É adeguata all'utilizzo con TCP/IP;
•
Nonostante i suoi concorrenti fossero più veloci nella trasmissione dati, la Ethernet si è
sempre adeguata.
Frame
Nonostante Ethernet abbia diverse topologie, l'elemento comune è nella struttura del frame che
viene definito DIX (DEC, Intel, Xerox) ed è rimasto fedele alla versione originale:
Questo è il frame ricevuto dallo strato di rete nella pila di protocolli. Gli elementi sono:
•
Preamble Preambolo (8 byte): I primi 7 byte hanno valore 10101010, mentre l'ultimo è
10101011. I primi 7 servono a svegliare gli adattatori del ricevente e a sincronizzare gli
orologi con quelli del mittente. La serie dei due bit a 1 indicano al destinatario che sta
arrivando del contenuto importante;
•
Destination MAC address Indirizzo di destinazione (6 byte): Questo campo contiene
l'indirizzo LAN dell'adattatore di destinazione, se l'indirizzo non corrisponde lo strato fisico
del protocollo lo scarta e non lo invia agli strati successivi.
•
Source MAC address Indirizzo sorgente (6 byte);
•
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 all'MTU (Maximum Transmission Unit) della Ethernet. Se i dati superano
la capacità massima, vengono suddivisi in più pacchetti;
•
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.
É molto simile al frame IEEE 802.3 tranne che per il campo tipo che nell'802.11 diventa Tipo o
Lunghezza e il preambolo ridotto a 7 byte con 1 byte trasformato in Start of Frame.
Indirizzo Ethernet
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
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 verificabili dal controllo CRC, ma Ethernet di per sé è
inaffidabile perché questo frame rovinato, che non supera il controllo CRC, viene semplicemente
scartato. Sarà compito degli altri strati provvedere alla ri-trasmissione (ad esempio TCP), ma il
sistema non fornisce nessun ausilio, per cui ri-trasmetterà un pacchetto richiesto da un livello
diverso ma il sistema lo tratta come un qualsiasi altro frame. Ciò, tuttavia, rende Ethernet semplice
ed economica.
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).
Per approfondimenti vedere articolo principale CSMA/CD.
La codifica usata per i segnali binari è la codifica Manchester.
Negli ultimi sistemi Ethernet il problema non si presenta in quanto con il Gigabit Ethernet e gli
switch si tende sempre più a trasformare una Ethernet in una connessione peer-to-peer.
Efficienza
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.
Ethernet con ripetitori e hub
Rete con hub centrale
Ethernet tende a crescere ma il cavo Ethernet ha una capacità limitata sia in lunghezza sia in
capacità di traffico, per cui le LAN di grosse dimensioni vengono suddivise in reti più ridotte
interconnesse tra loro da particolari nodi tra i quali possiamo trovare dei ripetitori, degli hub o
elementi più sofisticati come bridge o switch.
Il ripetitore semplicemente replica il segnale ricevuto. Il cavo Ethernet può quindi assumere
lunghezze molto maggiori alle sue capacità. L'unico vincolo è che tra due computer ci devono
essere al massimo due ripetitori per salvaguardare la temporizzazione di CSMA/CD.
Ethernet con bridge e switch
Rete complessa collegata da più switch
Il bridge è un elemento di interconnessione più sofisticato dell'hub perché opera sui pacchetti e non
sui segnali elettrici. Con questo sistema si possono creare segmenti di LAN indipendenti in cui le
collisioni e i ritardi restano limitati.
Molti bridge sono adattativi o ad apprendimento per cui sono provvisti di un software con elenchi
di indirizzi per ogni scheda ethernet che posseggono. In questo modo quando arriva un pacchetto,
estrapolano l'indirizzo di destinazione, e inviano lo stesso pacchetto nel segmento giusto in base
agli elenchi associati alle schede.
Per approfondimenti vedere l'articolo correlato bridge.
Molto più sofisticati sono gli switch che sono composti da un numero elevato di schede ethernet
che consente ad ogni host di essere connesso direttamente. Allo switch viene poi collegato uno o più
cavi Ethernet ad alta velocità che collegano altri segmenti di LAN.
In questo modo lo switch intercetta i pacchetti e li ridireziona ad un host oppure sui segmenti
Ethernet. La gestione dei pacchetti, quindi, è ottimizzata perché questi sono subito reindirizzati alla
destinazione evitando, per quanto possibile, collisioni. In questo modo ogni scheda ha un suo
dominio di collisione.
Pacchetto (reti)
Nel gergo informatico si chiama pacchetto ciascuna sequenza di dati distinta trasmessa su una rete
o in generale su una linea di comunicazione (ad esempio su una linea seriale) che utilizzi la
Commutazione di pacchetto.
A seconda del tipo di protocollo di comunicazione e di sistema di trasmissione, il termine
“pacchetto” può assumere significati diversi. Per il livello di collegamento del modello ISO/OSI si
preferisce il termine frame. In TCP, si usa anche il termine "datagramma". Nei casi più semplici, il
pacchetto è l'unità di base del protocollo, ed ogni pacchetto rappresenta una singola informazione,
comando o risposta.
Con protocolli di trasporto più sofisticati, un pacchetto è il risultato della suddivisione
(segmentazione) delle informazioni dei protocolli di alto livello in blocchi di dimensioni inferiori.
Ad esempio in una rete TCP/IP, quando si scarica una pagina web, i dati della pagina vengono
automaticamente suddivisi dal server in pacchetti di livello IP di ridotte dimensioni (generalmente
non più di 1500 byte, che è la dimensione massima possibile su una rete Ethernet) e riassemblati
nell'ordine corretto dal client.
La forma esatta di ogni pacchetto dipende quindi dal protocollo utilizzato, ma in genere sono
presenti tre parti:
1. header (intestazione): contiene tutte le informazioni necessarie alla trasmissione, quali
l'indirizzo del trasmettitore, quello del ricevitore, la vita del pacchetto, i dati che rigardano
l'assemblaggio con gli altri pacchetti e così via
2. data: contiene i dati trasmessi
3. checksum: un codice di controllo utilizzato per controllare la corretta ricezione dei dati
Nelle reti costituite da più livelli, come appunto il TCP/IP, i pacchetti dei livelli superiori vengono
inseriti nei pacchetti dei livelli inferiori. Tale operazione è definita “imbustamento”.
Commutazione di pacchetto
La commutazione di pacchetto è una tecnica di Time Division Multiple Access, utilizzata per
condividere un canale di comunicazione tra più stazioni in modo non deterministico, utilizzata
generalmente per realizzare reti di calcolatori, mentre la commutazione di circuito è tipicamente
usata nelle comunicazioni telefoniche.
Tali tecniche non comportano l'attivazione di una linea di comunicazione dedicata fra un
elaboratore ed un altro, ma consentono lo svolgimento simultaneo di più comunicazioni fra
computer, massimizzando così l'utilizzazione dei mezzi trasmissivi impiegati.
Pacchetti
In una rete a commutazione di pacchetto l'informazione da trasmettere viene suddivisa in pacchetti
di dimensione abbastanza piccola; ad ognuno di essi viene aggiunta un'intestazione che contiene
tutta l'informazione necessaria affinché il pacchetto possa venire inoltrato alla sua destinazione
finale e sulla sua posizione all'interno dell'informazione che viene trasferita. I pacchetti vengono
inviati individualmente attraverso la rete e vengono poi riassemblati nella loro forma originale
quando arrivano sul computer di destinazione.
L'intera capacità trasmissiva disponibile viene impegnata per la trasmissione di ciascun pacchetto.
Se vi sono più pacchetti da trasmettere contemporaneamente, questi vengono memorizzati in una
coda, subendo un ritardo di accodamento e rischiando di essere scartati in caso di esaurimento della
memoria disponibile per la coda.
Commutatori
Quando un nodo intermedio detto commutatore di pacchetto, generalmente un router o uno
switch, riceve un pacchetto, esso decide quale è il percorso migliore che il pacchetto può prendere
per raggiungere la sua destinazione. Questa strada può cambiare da pacchetto a pacchetto
dipendentemente dalle condizioni della rete, per cui pacchetti appartenenti ad uno stesso messaggio
possono intraprendere anche percorsi distinti.
Ritardi
Un pacchetto che attraversa una rete subisce un ritardo, legato in parte alle caratteristiche del
percorso ed in parte allo stato di carico della rete.
Le componenti del ritardo sono:
•
ritardo di trasmissione - il tempo necessario per trasmettere il pacchetto alla velocità della
linea di trasmissione. È dato dal rapporto tra lunghezza del pacchetto e velocità della linea.
Molti commutatori utilizzano la tecnica store-and-forward, ovvero ricevono tutto il
pacchetto, verificano i checksum per controllare se ci sono stati errori di trasmissione, e poi
lo accodano per la ritrasmissione. Pertanto il ritardo di trasmissione dei commutatori
attraversati devono essere sommati tra loro.
•
ritardo di propagazione - il tempo necessario al segnale fisico per propagarsi lungo una
linea di trasmissione. Nei mezzi trasmissivi come rame o fibra ottica, i segnali si propagano
ad una frazione della velocità della luce nello specifico mezzo trasmissivo, indicativamente
200.000 km/s. Quindi il ritardo di trasmissione è stimabile in 50 ns/km.
•
ritardo di coda (queuing delay), dovuto al fatto che i pacchetti in uscita non sempre
vengono trasmessi immediatamente. Infatti la linea in uscita può essere occupata da altri
pacchetti in corso di trasmissione. In questo caso, il pacchetto viene salvato in una memoria
temporanea del commutatore detta coda, per venir trasmesso appena possibile. Il tempo
atteso dal pacchetto nella coda è appunto detto ritardo di coda, e non è possibile stabilire a
priori quanto ritardo di coda un pacchetto subirà. Il ritardo di coda può essere però
caratterizzato statisticamente, e di questo si occupat la teoria delle code.
È anche possibile che i pacchetti inviati tra due stessi host in momenti diversi subiscano ritardi
differenti. La variazione del ritardo subito dai pacchetti è detta jitter.
Perdita di pacchetti
Se la rete è molto congestionata e la coda non riesce a contenere tutti i pacchetti, il commutatore è
costretto a scartarli. Per questa ragione, una rete a pacchetto non può generalmente garantire che
tutti i pacchetti inviati arrivino a destinazione.
Commutazione di pacchetto e commutazione di circuito
Mentre in una rete a commutazione di circuito la capacità del canale trasmissivo è interamente
dedicata ad una specifica comunicazione, la commutazione di pacchetto si rivela molto più
efficiente nonostante la maggior quantità di dati inviata, in quanto i canali fisici sono utilizzati solo
per il tempo strettamente necessario. Inoltre, poiché ogni pacchetto porta con sé la sua
identificazione, una rete può trasportare nello stesso tempo pacchetti provenienti da sorgenti
differenti.
La commutazione di pacchetto permette quindi a più utenti di inviare informazioni attraverso la rete
in modo efficiente e simultaneo, risparmiando tempo e costi mediante la condivisione di uno stesso
canale trasmissivo (cavo elettrico, etere, fibra ottica, ecc.).
Storicamente la commutazione di pacchetto poneva qualche problema nel caso fosse necessaria una
disponibilità garantita di banda o nelle trasmissioni real time: si pensi a una trasmissione video,
dove le immagini arrivano con un flusso costante. Al giorno d'oggi è però possibile aggiungere una
"priorità" ai pacchetti per garantire che un numero sufficiente di essi venga inviato, a scapito di altri
pacchetti che non abbiano un'urgenza specifica - ad esempio, un file da trasferire.
La commutazione di pacchetto è uno dei possibili metodi di multiplazione, ovvero è una tecnica per
suddividere la capacità trasmissiva di un canale tra diversi utilizzatori. Vedi anche Multiplazione.
Scheda di rete
Scheda di rete Ethernet
Interfaccia digitale che viene inserita solitamente all'interno di un Personal Computer, Server,
Stampante, Router etc., per consentire la connessione ad una rete informatica.
Altri nomi per questa interfaccia possono essere:
•
NIC (Network Interface Controller)
•
Scheda LAN (Local Area Network)
Esistono diverse tecnologie di rete. Tra le piu' diffuse:
•
Ethernet
•
Token Ring
Produttori di schede di rete
•
3Com Corporation
•
Broadcom
•
D-Link
•
Intel
•
Novell
•
Realtek
Indirizzo MAC
L'indirizzo MAC (MAC address in inglese) viene detto anche indirizzo fisico o indirizzo ethernet o
indirizzo LAN, ed è un codice di 48 bit (6 byte) assegnato in modo univoco ad ogni scheda di rete
ethernet prodotta al mondo.
MAC è un acronimo che significa Media Access Control e viene utilizzato per l'accesso al mezzo
fisico dal livello datalink secondo lo standard ISO/OSI.
I 48 bit del codice sono suddivisi in 12 cifre esadecimali: le prime 6 cifre individuano il produttore
dell'interfaccia di rete mentre le successive corrispondono al numero di serie della scheda stessa.
L'indirizzo MAC si scrive normalmente in 6 ottetti separati da un trattino (es. 00-50-FC-A0-67-2C)
ed i primi 3 ottetti sono detti OUI (Organizationally Unique Identifier). Per questo tipo di indirizzi
di solito si preferisce la notazione esadecimale anche per differenziarla dagli indirizzi Ip che usano
la notazione decimale.
I blocchi di indirizzi MAC vengono assegnati ai produttori dall'IEEE ma non è chiaro se vengono
assegnati a blocchi di 224 o di 225 indirizzi.
Ogni scheda ha un indirizzo unico perché i primi 24 bit sono identificativi della casa produttrice e i
successivi della scheda. In questo modo ogni casa produttrice ha a disposizione 224 indirizzi, quindi
più di 16 milioni di schede: se il produttore produce meno schede ethernet, alcuni indirizzi, quelli
non assegnati, vengono persi non potendo essere utilizzati da altri costruttori).
Si comprende, quindi, come l'indirizzo MAC non cambi se ci si sposta da una rete a un'altra, mentre
lo stesso non accade per un indirizzo IP.
La conversione tra indirizzo MAC e indirizzo IP avviene mediante alcuni protocolli, il più
conosciuto è ARP.
10Base2
Specifica di livello fisico dello standard IEEE 802.3, caratterizzata da velocità di trasmissione di 10
Mbps in banda base e da segmenti di lunghezza non superiore ai 200 metri.
Utilizza cavo coassiale RG58, in una topologia a bus. L'RG58 è alquanto più sottile e leggero
dell'RG8, ed è molto più facile piegarlo senza danneggiarlo. In 10Base2, a differenza che in
10Base5, il transceiver è integrato nella scheda di rete, e le stazioni sono collegate al bus tramite
con spine a T di tipo BNC. È possibile collegare 30 stazioni per segmento. Alle estremità del cavo
sono necessari dei terminatori BNC muniti di impedenze da 50 Ohm per evitare che il rimbalzo del
segnale disturbi le comunicazioni. Tramite repeater è possibile collegare più segmenti consecutivi,
ma non più di quattro.
Questo tipo di implementazione non è più installato da anni.
10Base5
Specifica di livello fisico dello standard IEEE 802.3, caratterizzata da velocità di trasmissione di 10
Mbps in banda base e da segmenti di cavo di lunghezza non superiore ai 500 metri.
Utilizza cavo coassiale RG8, in una topologia a bus. L'RG8 è un cavo spesso e pesante, ma
consente di collegare fino a 100 stazioni per segmento. Le stazioni sono collegate al cavo attraverso
un dispositivo detto transceiver, fissato al cavo tramite ingombranti e scomode spine a vampiro, che
forano le guaine plastiche del cavo fino a raggiungerne il cuore. Il transceiver converte i bit in
uscita da una stazione in impulsi nel cavo, e viceversa. Tratti più lunghi possono essere ottenuti
attraverso l'uso di dispositivi di ritrasmissione detti repeater, che amplificano il segnale in arrivo da
un segmento e lo ritrasmettono su quello successivo. Non è però possibile collegare più di quattro
segmenti consecutivi.
Ormai questo tipo di implementazione non viene più installato da anni.
BNC
Connettore maschio
Connettore femmina
Famiglia di connettori a baionetta usati per l'intestazione di cavi coassiali. La sigla del connettore
significa Bayonet Neill Concelman, dal nome dei due inventori. I connettori BNC sono utilizzati nel
cablaggio di reti 10Base2, ma anche in svariate applicazioni industriali. L'aggancio fra il connettore
maschio e il connettore femmina si effettua rapidamente, ruotando la femmina intorno al maschio.
Il contatto così ottenuto è molto affidabile.
Oltre ai connettori terminali, la famiglia comprende le spine a T, che consentono di simulare una
topologia a bus collegando nodi di una rete l'uno all'altro tramite tratti di cavo, in maniera simile,
ma molto più semplice, a quanto avviene con le spine a vampiro usate nel cablaggio di reti
10Base5.
Il connettore di tipo BNC viene largamente utilizzato anche per cablare linee a radiofrequenza, ad
esempio per collegare un apparecchio radio trasmettitore, ricevitore o ricetrasmettitore alla relativa
antenna. Il connettore è adatto per linee con un'impedenza di 50 ohm.
Un altro impiego su larga scala dei connettori BNC è nei cablaggi di segnali video professionali,
dove il cavo coassiale è utilizzato per trasmettere un segnale video sia composito che digitale,
oppure a componenti con tre cavi di uguale lunghezza. In questo tipo di applicazione si usano cavi
con impedenza di 75 ohm.
10Base-T
Specifica di livello fisico dello standard IEEE 802.3, caratterizzata da velocità di trasmissione di 10
Mbps in banda base su due doppini intrecciati non schermati (UTP, Unshielded Twisted Pair) di
categoria 3, di derivazione telefonica.
Prevede solo collegamenti fisici punto-punto, e quindi consente collegamenti fisici a stella;
attraverso dispositivi intermedi come hub, bridge e switch è possibile ottenere topologie logiche a
bus, a stella e ad albero.
Come i cavi stessi, i connettori sono di derivazione telefonica (tipo RJ-45), molto pratici, anche se
meno affidabili dei connettori BNC. Si tratta di un cablaggio molto economico, anche perché in
molti casi consente di utilizzare o riciclare impianti telefonici esistenti. I singoli tratti del cablaggio
non possono superare i 100 metri.
Per quanto non venga più installata da anni, questa implementazione si può ancora incontrare di
frequente.
RJ-45
Schema del connettore
Cavi categoria 5 con connettore RJ45
Un connettore RJ-45 ancora da crimpare su di un cavo
La sigla RJ-45 (dall'inglese Registered Jack tipo 45) indica una interfaccia fisica (connettore
elettrico) usata per l'attestazione di cavi elettrici a coppie di conduttori incrociati (twisted pair). La
specifica fa parte di una serie di connettori modulari destinati ai servizi telefonici e di trasmissione
dati, standardizzati negli Stati Uniti d'America a partire dagli anni '70. Si tratta di un connettore
8P8C, ovvero a 8 posizioni e 8 contatti (pin), che può essere usato per varie applicazioni.
A differenza delle apparecchiature telefoniche, che utilizzano l'RJ-11, il connettore RJ-45 è
utilizzato in particolare per il cablaggio delle reti locali secondo gli standard Ethernet / IEEE 802.3
10Base-T, 100Base-TX e 1000Base-T, anche se con una configurazione dei contatti (pinout)
leggermente diversa da quella originale. L'iniziale disposizione progressiva delle coppie verso
l'esterno, a partire dai contatti centrali, non è compatibile con le velocità richieste da tali
applicazioni perché porta a una distanza troppo elevata i conduttori delle coppie più esterne.
Per tale applicazione sono stati sviluppati due standard di cablaggio del tutto equivalenti, EIA/
TIA-568A ed EIA/TIA-568B, che differiscono solo per l'inversione delle coppie 2 e 3. L'uso
dell'uno o dell'altro, purché coerente, è del tutto arbitrario in quanto entrambi gli standard
conservano le stesse caratteristiche tecniche. Nonostante ciò, lo schema di cablaggio maggiormente
utilizzato è l'EIA/TIA-568B.
Cavi
Cablaggio per connettore RJ-45 secondo gli standard EIA/TIA-568A/B
Pin Cp. T568A Cp. T568B Cond.
1
3
2
1
2
3
2
2
3
2
3
1
4
1
1
2
5
1
1
1
6
2
3
2
7
4
4
1
8
4
4
2
Codice colori T568A
Codice colori T568B
bianco di bianco/verde
bianco di bianco/arancio
verde di bianco/verde
arancio di bianco/arancio
bianco di bianco/arancio
bianco di bianco/verde
blu di bianco/blu
blu di bianco/blu
bianco di bianco/blu
bianco di bianco/blu
arancio di bianco/arancio
verde di bianco/verde
bianco di bianco/marrone
bianco di bianco/marrone
marrone di bianco/
marrone di bianco/
marrone
marrone
Cavo diretto EIA/TIA-568A
Cavo diretto EIA/TIA-568B
Cavo cross-over EIA/TIA-568A/B (10Base-T, 100Base-TX)
Collegamenti esterni
Doppino telefonico
In telecomunicazioni, per doppino si intende la coppia di fili di rame che viene utilizzato per la
trasmissione delle comunicazioni telefoniche. È un elemento essenziale della rete telefonica.
Migliore è la qualità del rame, migliore sarà la qualità del segnale.
Quattro doppini
Tipicamente il doppino è costituito da una coppia di conduttori ritorti (twisted pair) mediante un
processo di binatura. La binatura del doppino ha lo scopo di fare in modo che i campi magnetici
esterni agiscano mediamente in egual modo sui due conduttori. Impiegando poi una tecnica di
trasmissione differenziale, sarà possibile eliminare uteriori disturbi. Il doppino può essere singolo
(una sola coppia) oppure in una treccia di una serie più o meno numerosa di coppie. In questo caso
ogni coppia presenta una frequenza di twistatura diversa (binatura), per ridurre il più possibile il
fenomeno di diafonia tra le varie coppie di doppino tra loro contigue. Una problematica tipica dei
doppini ritorti è il delay skew (o distorsione di propagazione), ovvero una variazione nel ritardo di
propagazione del segnale sulle singole coppie, dovuta al diverso passo di binatura delle coppie in un
cavo multicoppia.
Schermatura
I doppini possono essere schermati per ridurre l'interferenza elettromagnetica. Poiché è fatta di
metallo, tale schermatura agisce anche da terra.
Unshielded Twisted Pair (UTP)
Unshielded Twisted Pair
I cavi UTP non sono schermati. Ciò comporta un elevato grado di flessibilità e resistenza agli sforzi.
Si usano ampiamente nelle reti telefoniche ed ethernet.
Shielded Twisted Pair (STP)
Shielded Twisted Pair
I cavi STP cabling includono una schermatura metallica per ogni coppia di cavi. Un esempio è
quello definito da IBM per la sua rete Token Ring.
Screened Shielded Twisted Pair (S/STP)
I cavi S/STP sono cavi STP ulteriormente protetti da
una schermatura metallica che racchiude l'intero
cavo; ciò migliora ulteriormente la resistenza alle
interferenze.
Screened Shielded Twisted Pair
Screened Unshielded Twisted Pair (S/UTP)
S/UTP, noto anche come Fully-shielded (or
Foiled) Twisted Pair (FTP) o Screened
Fully-shielded Twisted Pair (S/FTP), è un
cavo UTP schermato.
Screened Unshielded Twisted Pair, Foiled Twisted Pair,
Screened Foiled Twisted Pair
Categorie
I doppini sono raggruppati in diverse categorie di cui alcune, ma non tutte, hanno uno status
ufficiale presso la EIA e/o l'ISO.
•
Categoria 1: (TIA/EIA-568-B). Usato per la Rete telefonica generale, ISDN e per i citofoni.
•
Categoria 2 (non riconosciuta). Usata per le reti token ring networks a 4Mbit/s. Poco usata al
giorno d'oggi.
•
Categoria 3: (TIA/EIA-568-B). Usata per reti con frequenze fino a 16 MHz], molto diffusa
per le reti Ethernet a 10 Mbps.
•
Categoria 4 (non riconosciuta). Usata per reti con frequenze fino a 20 MHz], come ad
esempio Token Ring a 16 Mhz.
•
Categoria 5 (non riconosciuta). Usata per reti con frequenze fino a 100 MHz]; come ad
esempio ethernet a 100 Mbp/s, e utilizzabile per reti ethernet gigabit 1000Base-T.
•
Categoria 5e (TIA/EIA-568-B). Usata per reti con frequenze fino a 120 MHz, come ad
esempio fast ethernet e gigabit ethernet networks.
•
Categoria 6 (TIA/EIA-568-B). Usata per reti con frequenze fino a 250 MHz.
•
Categoria 7 (ISO/IEC 11801 Class F), nome informale. Lo standard specifica 4 STP
all'interno di un unico cavo. Concepito per trasmissioni sino a 600 MHz.
Confronto tra rame e fibra ottica
Il rame costa 10 euro nella tratta minima di vendita e 0,60 per la posa di un metro, è un mezzo
attraverso il quale può tranquillamente passare un segnale a banda larga. È soggetto a rapida usura e
richiede costi di manutenzione della rete.
La fibra ottica costa 7 euro al metro, ma ha un costo maggiore la posa, circa 3 per la posa di un
metro di fibra. Le prestazioni in termini di banda sono migliori rispetto a quelle del doppino in
rame.
UTP
UTP è l'acronimo di Unshielded Twisted Pair e identifica un cavo non schermato utilizzato
comunemente per il collegamento nelle reti ethernet.
È composto da otto fili di rame intrecciati a coppie (pairs), inoltre ogni coppia è intrecciata con le
altre. L'intreccio dei fili ha lo scopo di ridurre le interferenze, i disturbi e limitare il crosstalk.
La lunghezza massima di un cavo UTP nello standard ethernet è di 100m.
I cavi UTP seguono le specifiche standardizzate in TIA/EIA che li dividono in varie categorie in
base ad esempio al numero di intrecci e alle capacità di trasportare segnali. Attualmente la categoria
5 e la 5e sono le più utilizzate, esiste tuttavia anche la categoria 6 che permette di raggiungere
velocità superiori.
Un cavo UTP termina con dei connettori di tipo RJ-45 che si innestano direttamente nell'interfaccia
del dispositivo (NIC, Hub, Switch, Router, ecc).
Se si devono collegare due dispositivi simili (ad esempio PC-PC o SWITCH-HUB) si utilizza un
cavo di tipo cross mentre se si devono connettere dispositivi diversi (ad esempio PC-SWITCH) uno
diritto.
I cavi diritti presentano gli 8 fili nello stesso ordine in entrambi i 2 connettori, mentre quelli cross
presentano una sequenza diversa. Nella costruzione del cavo, ovvero nel crimpare i connettori alle
sue estremità si possono seguire due standard: TIA/EIA 568A e TIA/EIA 568B che presentano un
ordine degli 8 fili (identificati da diversi colori) diverso.
Fibra ottica
Fibre ottiche
Le fibre ottiche sono classificate come guide d'onda dielettriche. Esse, in altre parole, permettono
di convogliare al loro interno un campo elettromagnetico di frequenza sufficientemente alta (in
genere in prossimità dell'infrarosso) con perdite estremamente limitate. Vengono comunemente
impiegate nelle telecomunicazioni su grandi distanze e nella fornitura di accessi di rete a larga
banda (dai 10 MBit/s al Tbit/s usando le più raffinate tecnologie WDM).
Il costo varia dai 4000 euro/km di fibra nei piccoli centri (con cavi di spessore molto più contenuto)
ai 10000 euro/km di fibra nelle città, cui sono da aggiungere i costi dello scavo per l'interramento e
le licenze comunali per aprire i cantieri (dove richieste anche se per opere di pubblica utilità). Varie
municipalizzate e l'operatore tlc Fastweb stanno costruendo reti proprietarie in fibra ottica con
ampiezza di banda che arriva a 10 megabit/sec in accesso, indispensabili per la tv via internet e la
videoconferenza.
Varie società sono dotate di una rete capillare e proprietaria in fibra ottica. La legge impone
l'interoperabilità delle reti su doppino, non su altro mezzo trasmissivo; per cui, anche in assenza di
copertura ADSL e per pubblica utilità, il privato decide autonomamente se e quando entrare nel
mercato con un'offerta commerciale.
Fra le società citate: la rete autostradale, ENEL per uso interno di controllo della domanda e offerta
d'energia sulla rete, vari operatori di telefonia mobile in quanto le celle-ripetitori sono collegate in
fibra ottica, teoricamente utilizzabile anche come appoggio a una rete wireless quando verrano
commercializzate.
Costituzione
Le fibre ottiche sono composte da due strati concentrici di materiale vetroso estremamente puro: un
nucleo cilindrico centrale, o core, ed un mantello o cladding attorno ad esso. I due strati sono
realizzati con materiali con indice di rifrazione leggermente diverso, il cladding deve avere un
indice di rifrazione minore rispetto al core. Come ulteriore caratteristica il mantello deve avere uno
spessore maggiore della lunghezza di smorzamento dell'onda evanescente, caratteristica della luce
trasmessa.
Se le condizioni vengono rispettate gran parte della potenza è mantenuta all'interno del core.
Diversi tipi di fibre si distinguono per diametro del core, indici di rifrazione, caratteristiche del
materiale, profilo di transizione dell'indice di rifrazione, drogaggio (aggiunta di piccole quantità di
altri materiali per modificare le caratteristiche ottiche).
Funzionamento
Riflessione totale interna (a) e rifrazione esterna (b) per due fasci luminosi in una fibra ottica.
Uno studio rigoroso della fisica delle fibre ottiche richiede concetti di ottica quantistica.
Usando un paragone di ottica classica, la discontinuità nell'indice di riflessione genera un fenomeno
di riflessione totale, per cui tutta la potenza che la colpisce con un angolo di incidenza
sufficientemente alto viene riflessa.
Le fibre ottiche si basano sul fenomeno di riflessione totale interna, la discontinuità dell'indice di
rifrazione tra i materiali del nucleo e del mantello intrappola la radiazione luminosa finché questa
mantiene un angolo abbastanza radente, in pratica finché la fibra non compie curve troppo brusche.
In figura è rappresentato come due raggi luminosi, cioè due treni di radiazione elettromagnetica,
incidono sull'interfaccia tra nucleo e mantello all'interno della fibra ottica. Il fascio a incide con un
angolo θa superiore all'angolo critico di riflessione totale e rimane intrappolato nel nucleo; il fascio
b incide con un angolo θb inferiore all'angolo critico e viene rifratto nel mantello e quindi perso. È
importante ricordare che in ottica si indica l'angolo tra la radiazione e la normale alla superficie,
cioè 90°-α dove α è l'angolo, più intuitivo ma più scomodo da utilizzare, tra la radiazione e la
superficie.
All'interno di una fibra ottica il segnale può propagarsi secondo uno o più modi di propagazione. Le
fibre monomodali consentono la propagazione di luce secondo un solo modo hanno un diametro
del core compreso tra 8 µm e 10 µm, quelle multimodali consentono la propagazione di più modi,
e hanno un diametro del core di 50 µm o 62.5 µm. Il cladding ha tipicamente un diametro di 125
µm.
Le fibre multimodali permettono l'uso di dispositivi più economici, ma subiscono il fenomeno della
dispersione intermodale, per cui i diversi modi si propagano a velocità leggermente diverse, e
questo limita la distanza massima a cui il segnale può essere ricevuto correttamente.
Le fibre monomodali di contro hanno un prezzo molto più elevato rispetto alle multimodali, ma
riescono a coprire distanze e a raggiungere velocità nettamente superiori.
Uso delle fibre ottiche nelle telecomunicazioni
Cavo composto da più fibre ottiche
Se negli anni '70 le fibre ottiche erano usate come oggetto decorativo per la produzione di lampade,
oggi sono un componente essenziale nell'industria delle telecomunicazioni, ancora in corso di
evoluzione tecnologica.
I principali vantaggi delle fibre rispetto ai cavi in rame nelle telecomunicazioni sono:
•
bassa attenuazione, che rende possibile la trasmissione su lunga distanza senza ripetitori;
•
grande capacità di trasporto di informazioni;
•
immunità da interferenze elettromagnetiche, inclusi gli impulsi elettromagnetici nucleari
(ma possono essere danneggiate da radiazioni alfa e beta);
•
alta resistenza elettrica, quindi è possibile usare fibre vicino ad equipaggiamenti ad alto
potenziale, o tra siti a potenziale diverso;
•
peso e ingombro modesto;
•
bassa potenza contenuta nei segnali;
•
assenza di diafonia;
•
ottima resistenza alle condizioni climatiche avverse.
Finestre di trasmissione
Nelle comunicazioni ottiche, lo spettro trasmissivo è descritto in termini di lunghezza d'onda invece
che di frequenza. Combinando i diversi fenomeni di attenuazione, rifrazione, dispersione, vi sono
tre "finestre" particolarmente adatte all'uso nelle telecomunicazioni, con prestazioni e costi
crescenti.
•
"prima finestra": 850 nm (nel campo del visibile), usata soprattutto con economici laser a
diodo con luce multimodale. Permette di realizzare collegamenti di 275 m su fibre 62.5/125
e di 550 m su fibre 50/125.
•
"seconda finestra": 1310 nm, usata con laser multimodali o monomodali. Permette di
realizzare collegamenti di 5-10 km su fibre monomodali.
•
"terza finestra": 1550 nm, usata con laser monomodali. Questa finestra permette di
realizzare le distanze maggiori, compresi collegamenti di 100 km con apparati relativamente
economici.
Una buona fibra monomodale ha una attenuazione dell'ordine degli 0.2-0.25 dB/km.
Giunzioni e connettorizzazioni
Connettori di tipo ST (a sinistra) e SC ( a destra)
Due tratti di fibra ottica dello stesso tipo possono essere giuntati mediante fusione, ottenendo un
ottimo accoppiamento del core. Questa operazione è effettuata in modo semiautomatico mediante
apparecchiature che allineano automaticamente i core e controllano la fusione. Una giunzione ben
eseguita comporta una attenuazione di circa 0,1 dB.
Nell'uso pratico, un collegamento bidirezionale (ad esempio IEEE 802.3) viene realizzato
utilizzando una coppia di fibre, una per ciascuna direzione. Le fibre ottiche sono collegate agli
apparati di telecomunicazione mediante connettori che allineano meccanicamente il core della fibra
con il laser e con il ricevitore. Un connettore comporta una attenuazione di circa 0,5 dB, ed è molto
sensibile alla polvere, per cui connettori e cavi inutilizzati vengono normalmente coperti per evitare
infiltrazioni. Esistono diversi tipi di connettori, ad esempio SC, LC (in plastica, quadrati) e ST (in
metallo, tondi, con innesto a baionetta).
I cavi in fibra vengono normalmente installati all'interno di impianti di cablaggio strutturato,
attestandoli su pannelli di permutazione. Un collegamento comporta quindi l'uso di almeno due cavi
di permuta (da ciascun apparato connesso al pannello di permutazione), e quindi di 4 connettori.
Bilancio di potenza (power budget)
Per i collegamenti di lunga distanza, i trasduttori sono specificati in termini di potenza del
trasmettitore e sensibilità del ricevitore. La differenza tra le due costituisce il power budget, ovvero
la massima potenza che può essere dissipata dal collegamento.
Per valutare se una certa tecnologia trasmissiva funzionerà su un certo collegamento, è necessario
misurare o stimare la perdita complessiva del collegamento, o link loss. Questo deve essere
inferiore al power budget. Normalmente si lascia un margine di 3-6 dB, per garantirsi contro
peggioramenti del collegamento (dovuti a invecchiamento o a interventi di manutenzione) o degli
apparati trasmissivi (dovuti tra l'altro a sporcizia). Questa valutazione deve essere effettuata alla
lunghezza d'onda utilizzata dagli apparati prescelti.
Se il collegamento è già realizzato, è possibile misurare la sua attenuazione. L'esame tipicamente
utilizzato è chiamato OTDR, (Optical Time Domain Reflectometry, in italiano riflettometria
ottica nel dominio del tempo).
Se il collegamento deve essere ancora realizzato, la sua attenuazione è stimabile usando i valori di
targa delle fibre e valori prudenziali per giunzioni e connettori.
Ad esempio, il link loss di un collegamento di 20km, con fibra da 0.24 dB/km, 6 giunzioni lungo il
collegamento, connettori solo alle estremità è stimabile in:
20 km * 0.24 dB/km + 6 * 0.1 dB + 4 * 0.5 dB = 4.8 dB + 0.6 dB + 2 dB = 7.4 dB
aggiungendo 4 dB di margine di sicurezza, gli apparati dovranno avere un power budget minimo di
11.4 dB.
Prestazioni
Gli apparati commercialmente disponibili arrivano a velocità di trasmissione di 40 Gbit/s.
Utilizzando tecnologie WDM è possibile trasmettere su una singola coppia di fibre fino ad alcune
centinaia di migliaia di canali in frequenza, arrivando a capacità massime dell'ordine del Tbit/s.
Storia
La storia della fibra ottica inizia ai tempi dell'Inghilterra vittoriana, quando il principio della totale
riflessione interna venne utilizzato per illuminare le fonti delle fontane pubbliche. Il successivo
sviluppo, nella metà del XX secolo, si concentrò sullo sviluppo di un fascio di fibre volto alla
trasmissione di immagini il cui primo impiego fu il gastroscopio medico. Il primo gastroscopio a
fibra ottica semi-flessibile fu brevettato da Basil Hirschowitz, C. Wilbur Peters, and Lawrence E.
Curtiss nel 1956. Nel processo di sviluppo del gastroscopio, Curtiss produsse fisicamente la prima
fibra ottica. Presto si susseguirono una varietà di altre applicazioni per la trasmissione di immagini.
Nel 1965, Charles K. Kao' e George A. Hockham del British Post Office furono i primi a
riconoscere che l'attenuazione delle fibre contemporanee era causata dalle impurità, che potevano
essere rimosse, piuttosto che lo scattering.
Dimostrarono che le fibre ottiche possono essere un mezzo pratico per la comunicazione, nel caso
l'attenuazione sia ridotta al di sotto dei 20 dB per kilometro (Hecht, 1999, p. 114). In questa misura,
la prima fibra ottica per le comunicazioni fu inventata nel 1970 dai ricercatori Robert D. Maurer,
Donald Keck, Peter Schultz, e Frank Zimar impiegati presso l'American glass maker Corning
Glass Works. Costruirono una fibra con 17 dB di attenuazione ottica per kilometro drogando il
silicio del vetro con il titanio.
L'amplificatore ottico erbio-dopato, che ridusse il costo per i sistemi a fibra ottica per le lunghe
distanze eliminando il bisogno dei ripetitori ottico-elettronico-ottico, fu inventato da David Payne
dell'Università di Southampton, nel 1987.
Il primo cavo telefonico translatlantico ad usare la fibra ottica fu il TAT-8, che iniziò ad operare nel
1988.
Nel 1991, il campo emergente dei led a cristalli fotonici condusse allo sviluppo delle fibre a cristalli
fotonici (Science (2003), vol 299, page 358).
La prima fibra a cristalli fotonici venne venduta a partire dal 1996. Esse possono essere progettate
per trasportare un maggiore quantitativo di energia rispetto alle fibre convenzionali, e la loro
lunghezza d'onda dipendente dalle proprietà può essere manipolata per migliorare le loro
prestazioni in certe applicazioni.
Negli ultimi vent'anni i progressi relativi allo sviluppo della fibra ottica sono stati enormi. Al
momento il collo di bottiglia che non sfrutta appieno la larghezza di banda che permette la fibra
ottica, rimane la traduzione dal segnale elettrico al segnale luminoso, ed è proprio questo il punto
chiave sul quale si stà cercando di lavorare nell'industria della fibra ottica.
Metrocore è la rete in fibra ottica più veloce in Europa. Nata per scopi di ricerca come rete interna
del CNR di Pisa, ora collega questura, pretura e centro abitato, ad una velocità di circa 1 gigabit/
secondo. In alcuni tratti della rete, la velocità di connessione cresce significativamente a 10 gigabit,
per via di un particolare accorgimento che colora i bit inviati nelle fibre ottiche, aumentando di 10
volte l'informazione trasportabile. La velocità è paragonabile alla rete di Internet 2 che negli USA
collega un centinaio di centri di ricerca a grandi società.
Cavo ethernet incrociato
Il cavo ethernet incrociato (detto anche cavo cross o crossover dal suo nome inglese) è un tipo
cavo ethernet Base-T a fili intrecciati (come i cavi UTP o simili) con ad ognuna delle due estremità
un connettore RJ-45 a 8 poli, come in un normale cavo ethernet dritto, ma a differenza di questo i
fili all'interno del cavo non sono tali da collegare ciascun pin di un connettore con il corrispondente
pin dell'altro connettore.
I fili sono invece incrociati, in modo che il filo di trasmissione di un'estremità del cavo diventi il
filo di ricezione dell'altra estremità, come indicato nello schema seguente:
Schema di cablaggio secondo lo Standard EIA/TIA T568B.
Nel connettore 1 in corrispondenza del filo Bianco/Verde si fa corrispondere il filo Bianco/Arancio
del connettore 2.
Nel connettore 1 in corrispondenza del filo Verde si fa corrispondere il filo Arancio del connettore
2.
Nel connettore 1 in corrispondenza del filo Bianco/Arancio si fa corrispondere il filo Bianco/Verde
del connettore 2.
Nel connettore 1 in corrispondenza del filo Blu si fa corrispondere il filo Blu del connettore 2.
Nel connettore 1 in corrispondenza del filo Bianco/Blu si fa corrispondere il filo Bianco/Blu del
connettore 2.
Nel connettore 1 in corrispondenza del filo Arancio si fa corrispondere il filo Verde del connettore
2.
Nel connettore 1 in corrispondenza del filo Bianco/Marrone si fa corrispondere il filo Bianco/
Marrone del connettore 2.
Nel connettore 1 in corrispondenza del filo Marrone si fa corrispondere il filo Marrone del
connettore 2.
Nota bene: se i colori del cavo sono diversi basta mantenere le corrispondenze giuste.
Nelle reti Ethernet Base-T questo tipo di cavo è utilizzato per collegare direttamente tra di loro due
dispositivi di rete dello stesso tipo (ad esempio due PC, due hub). Nel caso di reti Ethernet che
usano cavi coassiali il concetto di cavo incrociato non esiste.
La velocità del cavo incrociato è identica a quello diritto: 10, 100 o 1000 megabit/sec a seconda
dello standard utilizzato.
Nella configurazione tradizionale di una rete locale Ethernet i cavi non vanno da un computer ad un
altro bensì da ogni computer parte un cavo che va ad un punto in comune, in una configurazione
chiamata a stella, e in questo punto è presente un dispositivo (come ad esempio un hub, o uno
switch).
Quando si utilizza questo metodo di connessione occorre utilizare un cavo ethernet dritto (in inglese
patch cable) e l'hub o lo switch si prendono carico di effettuare i collegamenti opportuni. Quando
invece si collegano direttamente due computer (o due dispositivi della stessa classe) con un unico
cavo, deve essere il cavo stesso ad ottenere le necessarie inversioni dei fili.
Diverso il caso di collegamento ad un router: il router è considerato come un pc e si comporta nella
stessa maniera per quanto riguarda i collegamenti, quindi un router va collegato a un pc con un cavo
cross, mentre va usato un cavo dritto per collegarlo a uno switch.
Dal momento che i cavi incrociati appaiono all'esterno del tutto identici a quelli dritti è buona prassi
differenziare i cavi incrociati con un colore differente da quelli utilizzati per i cavi dritti. Il colore
normalmente utilizzato per distinguere i cavi incrociati è il rosso.
È preferibile che sia tutto l'involucro esterno del cavo colorato di tale colore. In mancanza si può
ricorrere, per segnalare che il cavo è incrociato, a degli anellini rossi da collocare in prossimità dei
conenttori. In mancanza di questi è comunque preferibile poter disporre di qualche segno (come
delle etichette adesive) per poter riconoscere i cavi incrociati. Un altro metodo spesso utilizzato è di
scrivere la parola cross o crossed tra i dati tecnici stampati sul cavo stesso.
Il cavo incrociato è ottenibile da un cavo normale invertendo l'ordine dei colori di alcune coppie di
terminazione. Il costo è intorno ai 4 euro fino ai 3 metri di lunghezza. Oltre i 3 metri sono
riscontrabili delle perdite di qualità del segnale.
Repeater
Nelle telecomunicazioni il termine ripetitore (repeater) ha i seguenti significati:
1. Un device analogico che amplifica un segnale di input indifferentemente dalla sua natura
(analogica o digitale).
2. Un device digitale che amplifica, rigenera, o svolge una combinazione di queste funzioni su
un segnale digitale per la trasmissione.
Un ripetitore è un dispositivo elettronico che riceve un segnale debole e lo ritrasmette con un
segnale più alto e potente, cosicché il segnale può essere garantito a lunghe distanze senza degrado.
Il termine "ripetitore" è nato con il telegrafo e riferito ad un dispositivo elettromeccanico usato per
rigenerare i segnali telegrafici. L'uso del termine è continuato nella telefonia e nella comunicazione
dati.
Un digipeater è un "digital repeater" particolarmente usato dai radioamatori.
Cavi di telecomunicazioni
I ripetitori sono spesso usati nei cavi transcontinentali e transoceanici, perché l'attenuazione del
segnale (signal loss) su tali distanze potrebbe essere completamente inaccettabile senza di essi. I
ripetitori sono usati sia nei cavi di rame che trasportano segnali elettrici sia nelle fibre ottiche che
trasportano la luce.
Duplex radio
Nella comunicazione i ripetitori sono usati in maniera estensiva nel fornire radiosegnali in un'ampia
area, mentre nei sistemi di emergenza sono sinonimi di stazione base che forniscono entrambe le
funzioni. Queste includono polizia, vigili del fuoco, ambulanza, taxi e altri servizi.
Un ripetitore duplex usa due radiofrequenze, una frequenza di "Input", che controlla i segnali, e una
frequenza di "Output", su cui si ritrasmettono i segnali ricevuti ad una maggiore potenza.
I ripetitori radio sono tipicamente piazzati in zone che massimizzano gli effetti per i loro scopi.
I ripetitori di "Low-level" sono usati per la comunicazione locale e sono piazzati ad una grande
altezza per ridurre le interferenze con altri utenti delle stesse radiofrequenze. I sistemi Low-level
sono usati per aree ampie come una città intera o un piccolo edificio.
I ripetitori "High-level" sono piazzati su alte torri o in cima alle montagne per massimizzare l'area
di copertura. Con questi sistemi gli utenti con radio poco potenti (come un "walkie-talkies")
possono comunicare con altri su parecchi chilometri.
Nei radioamatori i ripetitori sono tipicamente non usati come stazione-base per un singolo utente o
gruppo, ciononostante forniscono altri servizi come una connessione autopatch per una linea
telefonica POTS/PSTN phone per utenti remoti. Questi tipi di ripetitori tipicamente hanno uno
squelch tone (CTCSS o PL tone) implementato, per prevenirli dall'essere utilizzati accidentalmente
per interferenza da altri ripetitori.
Broadcasting
I ripetitori sono anche usati estensivamente in broadcasting, dove sono conosciuti come traslatori o
amplificatori.
Reti telematiche
Tra le reti di broadcast vanno ricordate le LAN dove il repeater viene usato soprattutto con un
particolare dispositivo di rete che è l'hub.
Bridge (informatica)
Rete collegata tramite Bridge
Un bridge è un semplice dispositivo di rete che si colloca al livello datalink del modello ISO/OSI.
Esso è quindi in grado di riconoscere, nei segnali elettrici che riceve dal mezzo trasmissivo, dei dati
organizzati in strutture dette trame (in inglese). In particolare, è in grado di inviduare l'indirizzo del
nodo mittente e del nodo destinatario di ciascuna trama.
Funzionamento
Tipicamente un bridge è munito di porte con cui è collegato a diversi segmenti della rete. Quando
riceve una trama su una porta, cerca di capire se il destinatario si trova nello stesso segmento del
mittente oppure no. Nel primo caso evita di inoltrare la trama, in quanto presumibilmente il
destinatario la ha già ricevuta. Nel secondo caso, invece, il bridge inoltra la trama verso il segmento
in cui si trova il destinatario. Se non sa su quale segmento si trova il destinatario, il bridge inoltra la
trama su tutte le porte tranne quella da cui l'ha ricevuta. Queste operazioni sono definite operazioni
di filtraggio e inoltro.
Le collisioni
Ciascun segmento di rete, collegato ad una porta di un bridge, costituisce un dominio di collisione
separato. Ciò ottimizza notevolmente le trasmissioni su una rete. Grazie a questa sua caratteristica il
bridge consente di costruire una LAN di dimensioni infinite.
Inoltre se un bridge individua che su un altro segmento di rete su cui deve trasmettere esiste un
problema di collisione, allora applica l'algoritmo CSMA/CD e opera come un qualsiasi host,
mediante buffer dei dati e invio a LAN libera.
Pertanto un bridge può essere usato per collegare a livello data link due domini di collisione senza
aumentare il rischio di collisioni o, viceversa, per dividere un dominio di collisione in due domini
più piccoli e quindi più performanti.
Tabelle di indirizzi
Per inoltrare le trame verso i domini giusti, il bridge mantiene una tabella di indirizzi MAC per
ciascuna porta, e in base al suo contenuto è in grado di capire verso quale porta, e quindi quale
dominio, inoltrare la trama. La tabella può essere creata manualmente dall'amministratore di rete
attraverso apposito software residente, oppure può essere creata automaticamente tramite un
meccanismo di auto-apprendimento. Tale apprendimento può essere ancora più sofisticato per cui il
bridge cancella un indirizzo dopo un certo periodo di tempo in cui non viene usato (tempo di
invecchiamento) evitando l'aggiornamento manuale.
In pratica i bridge sono sempre più dispositivi plug-and-play per cui si parla di bridge trasparenti.
Il comportamento del bridge è simile a quello dello switch, ma il suo ruolo nell'architettura di una
rete è analogo a quello del repeater.
Infatti un bridge possiede al massimo una decina di porte, mentre uno switch può arrivare fino ad
alcune centinaia nei modelli più complessi. Un bridge viene quindi utilizzato per connettere diversi
segmenti di rete, ciascuno dei quali è costituito potenzialmente da molti host, sostituendo il
repeater, mentre uno switch viene collegato direttamente ai singoli host.
Entrambi i dispositivi riducono la dimensione dei domini di collisione. Lo switch arriva all'estremo
di ridurre una parte della rete ad un insieme di domini di collisione di ridotte dimensioni, al limite
costituiti ciascuno da un singolo nodo. Questa situazione consente di ridurre drasticamente le
collisioni, ma la contropartita è la grande quantità di cavi necessaria a collegare ogni singolo nodo
allo switch, piuttosto che i nodi ad alcuni hub e questi ultimi allo switch.
Spanning tree
Il punto debole in una LAN è proprio il nodo di interconnessione in quanto se un bridge si guasta la
LAN viene scollegata dal resto della rete.
Per ovviare a questo inconveniente, quindi, si possono creare percorsi multipli ridondanti, ma si
ricade in un altro problema perché i frame rischiano di seguire dei percorsi ciclici e moltiplicarsi.
Il problema si evita con la creazione automatica di uno spanning tree, cioè di un sottogruppo della
rete privo di anelli.
Router
Il router assomiglia molto ad un bridge nella sua funzionalità, ma varia lo strato di protocollo in cui
opera.
Router
Moderno router
Nella tecnologia delle reti informatiche un router, in inglese letteralmente instradatore, è un
dispositivo di rete che si occupa di instradare pacchetti tra reti diverse ed eterogenee.
Un Router lavora al livello 3 (rete) del modello OSI, ed è quindi in grado di interconnettere reti di
livello 2 eterogenee, come ad esempio una LAN ethernet con un collegamento geografico in
tecnologia frame relay o ATM.
La funzione di instradamento è basata sugli indirizzi di livello 3 (rete) del modello OSI, a differenza
dello switch che instrada sulla base degli indirizzi di livello 2 (collegamento). Gli elementi della
tabella di instradamento non sono singoli calcolatori ma reti locali. Questo permette di
interconnettere grandi reti senza crescite incontrollabili della tabella di instradamento.
Rispetto ai bridge, infatti, i router operando a livello 3 non utilizzano il MAC address ma l'indirizzo
IP per cui vanno configurati e non sono plug and play.
Per garantire la massima affidabilità e lo sfruttamento ottimale dei collegamenti in caso di reti
complesse costituite da molte sottoreti diverse e variamente interconnesse, i router si scambiano
periodicamente fra loro informazioni su come raggiungere le varie reti che collegano l'un l'altro, che
poi usano per ricavare ed aggiornare delle tabelle di instradamento interne da consultare ogni volta
che devono smistare i pacchetti di dati in arrivo.
Rispetto ad un bridge, il router blocca le tempeste broadcast e razionalizza meglio le connessioni tra
host posti su segmenti diversi.
Per fare questo sono stati messi a punto dei protocolli di routing appositi, come l'OSPF e il BGP,
attraverso i quali i router si scambiano informazioni sulle reti raggiungibili.
Alcuni router possiedono anche un firewall incorporato, poiché il punto di ingresso/uscita di una
rete verso l'esterno è ovviamente il luogo migliore dove effettuare controlli sui pacchetti in transito.
Si vanno sempre più diffondendo router che incorporano la funzionalità di access point per reti
wireless.
I router possono essere normali computer che fanno girare un software apposito (gateway), o sempre più spesso - apparati specializzati, dedicati a questo solo scopo. I router di fascia più alta
sono basati su architetture hardware specializzate per ottenere prestazioni wire speed, letteralmente
alla velocità della linea. Questo significa che un router wire speed può inoltrare pacchetti alla
massima velocità delle linee a cui è collegato.
Costruttori di router
Fra i più importanti si annoverano:
•
3Com
•
Pivotal Networking
•
Alcatel
•
Allied Telesyn
•
Atlantisland (www.atlantis-land.com)
•
Belkin
•
Buffalo Technology
•
Cisco Systems, Inc.(www.cisco.com)
•
D-Link Systems
•
Enterasys Networks
•
Hawking Technologies
•
Hewlett-Packard
•
Huawei Technologies
•
Juniper Networks
•
Linksys
•
Mikrotik
•
Motorola
•
NETGEAR
•
Nortel
•
Roper
•
Siemens AG
•
Sitecom (www.sitecom.com)
•
SMC Networks
•
Tellabs
•
MRV Communications
•
U.S. Robotics (www.usr.com)
•
Zoom Telephonics (www.zoom.com)
•
Trendware (www.trendware.com)
•
ZyXEL (www.us.zyxel.com)
Switch
Scheda madre di uno switch
Nella tecnologia delle reti informatiche, uno switch, in inglese letteralmente commutatore, è un
dispositivo di rete che inoltra selettivamente i frame ricevuti verso una porta di uscita.
Premessa
A differenza di quanto farebbe un hub, uno switch inoltra i frame in arrivo da una qualsiasi delle sue
porte soltanto a quella cui è collegato il nodo destinatario del frame. Due nodi possono comunicare
attraverso uno switch come se questo non ci fosse, ovvero il suo comportamento è trasparente.
L'inoltro selettivo dei frame permette a più frame di attraversare contemporaneamente lo switch, e
quindi la banda totale disponibile non viene ridotta. In una connessione di questo tipo si dice che
l'host ha un accesso dedicato al commutatore.
Uno switch possiede l'intelligenza necessaria a riconoscere i confini dei frame nel flusso di bit,
immagazzinarli, decidere su quale porta inoltrarli, trasferirli verso una porta in uscita, trasmetterli.
Normalmente uno switch opera al livello datalink del modello di riferimento ISO/OSI.
Tra uno switch e un bridge esistono le seguenti differenze:
•
maggiore espandibilità in termini di numero di porte
•
performance migliori
Inoltre uno switch di fascia alta fornirà le seguenti caratteristiche:
•
supporto di più istanze del protocollo Spanning Tree;
•
supporto di LAN virtuali (VLANs) secondo lo standard 802.1Q
•
mirroring delle porte
•
supporto della QoS (Quality of Service).
Il ritardo introdotto da uno switch è generalmente di pochi microsecondi, quindi quasi ininfluente.
Questo è valido per tutte e tre i metodi di instradamento
Utilizzo dello switch
Storicamente lo switch è stato introdotto per ridurre le collisioni nelle reti Ethernet (ora IEEE
802.3). L'uso esclusivo di switch per collegare nodi (con esclusione di hub e bridge) consente di
aumentare l'efficienza di una tipica rete 10Base-T di un fattore 10, portandola dunque a competere
con una più costosa rete 100Base-T provvista esclusivamente di hub, e quindi con topologia logica
a bus.
Normalmente uno switch non è in grado di interconnettere reti di livello 2 eterogenee, ad esempio
una rete Ethernet con una Token Ring, a meno che non si tratti di un cosiddetto "switch
transazionale", mentre può interconnettere ad esempio reti ethernet con velocità o tecnologie fisiche
diverse.
Nel gergo delle reti, uno switch separa i domini di collisione connessi alle sue porte, ovvero se due
calcolatori collegati a porte diverse trasmettono contemporaneamente, non si verifica una collisione,
e i due frame possono attraversare lo switch contemporaneamente.
Il termine switch viene usato anche al di fuori delle reti Ethernet, ad indicare un dispositivo che
inoltri selettivamente i frame ricevuti, per esempio in ATM o frame relay. Inoltre, un dispositivo di
rete che abbini le prestazioni di uno switch con le funzioni di livello superiore di un router viene
detto switch-router o, più precisamente, switch di livello 3 (layer-3 switch).
Instradamento
Per decidere su quale porta inoltrare un frame ricevuto, uno switch deve possedere una funzione di
instradamento. Questa è basata sull'apprendimento passivo degli indirizzi sorgente dei frame
inoltrati ("transparent learning"), attraverso il quale lo switch impara su quale porta si trova un
determinato indirizzo. Gli indirizzi appresi vengono "dimenticati" dopo un certo tempo dalla loro
ultima apparizione.
Alcuni frame hanno un indirizzo destinazione particolare, denominato broadcast, che indica che
sono destinati a tutti i calcolatori della rete. Uno switch inoltra questi frame su tutte le porte. Per
questo si dice che crea un unico dominio di broadcast.
La complessità del comportamento di uno switch è compensata dalle migliori prestazioni ottenibili.
Il fatto che i frame vengano ritrasmessi selettivamente ha anche delle implicazioni di sicurezza
informatica, in quanto evita che un calcolatore possa facilmente intercettare (sniffare) il traffico
diretto ad un altro. Esistono comunque tecniche raffinate che permettono lo sniffing anche in
presenza di switch, come l'ARP Poisoning o lo Switch Flooding, per cui uno switch non deve essere
considerato come una protezione inattaccabile contro i rischi di intercettazione.
Struttura interna
Switch modulare a 24 porte
Internamente, uno switch è costituito da alcune schede munite di porte. Ad ogni porta può essere
connesso un nodo, che può essere una stazione o un hub o altro dispositivo di rete. Quando un nodo
A cerca di comunicare con un nodo B, il comportamento dello switch dipende dalla scheda cui è
collegato B:
•
se B è collegato ad una porta sulla stessa scheda cui è collegato A, la scheda stessa inoltra i
frame in arrivo su tale porta;
•
se B è collegato ad una scheda diversa da quella cui è collegato A, la scheda invia i frame ad
un canale di trasmissione interno detto backplane, caratterizzato da elevata velocità
(tipicamente sull'ordine del Gbps), che provvede a consegnare il frame alla scheda giusta.
L'intelligenza necessaria a gestire le porte di ingresso e di uscita (riconoscere i frame, estrarre gli
indirizzi sorgente e destinazione, trasmetterli) è distribuita sulle singole schede.
Spesso su alcune porte possono essere montati trasduttori di tipo diverso per risolvere diversi tipi di
esigenze (si veda ad esempio la ricchezza di tecnologie di livello fisico disponibili per
IEEE_802.3). Questa possibilità viene tipicamente utilizzata per aggiungere ad uno switch
100Base-TX una o due porte di tipo 1000Base-X per il collegamento verso il resto della rete
(uplink) o per un server veloce.
Alcuni switch hanno una costruzione modulare, ovvero le schede possono essere montate dal
gestore, per modulare il numero di porte a disposizione o per utilizzare porte di tipo diverso.
Anche se non è molto conveniente, è possibile realizzare uno switch anche con un comune
computer dotato di più interfacce di rete.
Metodi di instradamento
Esistono 3 tipologie di instradamento che possono essere utilizzate da uno switch:
•
cut-through
•
store-and-forward
•
fragment-free
Nella prima tipologia lo switch si limita a leggere l'indirizzo MAC del destinatario e quindi manda
il contenuto del frame contemporaneamente alla sua lettura. In questo caso l'invio dei frame non
attende la ricezione completa dello stesso. Questo tipo di switch è quello con latenza minore.
Negli switch store-and-forward invece viene letto l'intero frame e ne viene calcolato il CRC
confrontandolo con il campo FCS all'interno del frame. Solo se i due valori corrispondono il frame
viene mandato al destinatario, altrimenti non viene trasmesso. Questi tipi di switch consentono di
bloccare frame contenenti errori ma hanno una latenza maggiore.
L'ultima tipologia è un compromesso tra le due precedenti in quanto si leggono i primi 64 bytes del
frame in modo da rilevare solo alcune anomalie nel frame.
Gli switch fragment-free e cut-through possono essere impiegati solamente nello switching
simmetrico ovvero dove trasmettitore e ricevitore operano alla stessa velocità, gli switch store-andforward invece consentono anche lo switching asimmetrico.
Le tre tipologie si differenziano solo se il buffer di trasmissione è vuoto e se il link di uscita è
libero. Nel caso contrario le tre tipologie si riducono all'unica store-and-forward.
Gestione
Uno switch di fascia medio-alta è tipicamente dotato di un agente di gestione, ovvero un piccolo
programma software che permette di controllarne e monitorarne il funzionamento. Questo è
accessibile sia attraverso una porta seriale (gestione out-of-band) che attraverso la stessa rete
ethernet (gestione in-band). In questo caso, all'agente di gestione viene normalmente assegnato un
indirizzo IP, e questo risponde ai protocolli SNMP, telnet e/o ssh, HTTP.
Uno switch gestito permette tipicamente di accedere da remoto a queste funzionalità:
•
interrogazione dello stato delle porte (permette di sapere se c'è un nodo collegato, e a quale
velocità)
•
statistiche di traffico e di errori per ciascuna porta (permette di identificare i nodi più attivi
e i collegamenti malfunzionanti)
•
interrogazione della tabella di instradamento (permette quindi di sapere a quale porta è
collegato il nodo che ha un certo MAC address)
•
interrogazione e modifica dei parametri di configurazione, ad esempio VLAN, Spanning
Tree
•
modifica dello stato amministrativo di una porta (permette di escludere dalla rete un nodo
malfunzionante, o che non rispetti le policy della rete)
Hub
.
Schema di una rete a stella utilizzante un Hub
Nella tecnologia delle reti informatiche, un hub (letteramente in inglese fulcro, mozzo) rappresenta
un concentratore, un dispositivo di rete che funge da nodo di smistamento di una rete di
comunicazione dati organizzata prevalentemente a stella.
Nel caso, molto diffuso, delle reti Ethernet, un hub è un dispositivo che inoltra i dati in arrivo da
una qualsiasi delle sue porte su tutte le altre. Per questa ragione può essere definito anche un
"ripetitore multiporta".
Questo permette a due dispositivi di comunicare attraverso l'hub come se questo non ci fosse, a
parte un piccolo ritardo nella trasmissione. La conseguenza del comportamento dell'hub è che la
banda totale disponibile viene ridotta ad una frazione di quella originaria, a causa del moltiplicarsi
dei dati inviati.
Il ritardo introdotto da un hub è generalmente di pochi microsecondi, quindi quasi ininfluente.
Schema di LAN connessa con hub
La semplicità del comportamento di uno hub ne fa uno dei componenti più economici per costruire
una rete. Uno switch, che si comporta in modo simile ad un hub ma con una maggiore intelligenza,
in modo da non sprecare gran parte della banda, è leggermente più complicato e costoso.
Un hub non ha bisogno di riconoscere i confini dei dati che lo attraversano, quindi è considerato un
dispositivo di livello 1 (fisico) nel modello OSI in quanto ritrasmette semplicemente i segnali
elettrici e non i dati.
Nel gergo delle reti Ethernet, un hub crea un unico dominio di collisione unendo tutti i calcolatori o
le reti connessi alle sue porte, ovvero se due calcolatori collegati a porte diverse trasmettono
contemporaneamente, si verifica una collisione, e la trasmissione deve essere ripetuta. Infatti l'hub
non distingue i segmenti di LAN e ritrasmette tutti i segnali che riceve. Ciò crea anche delle
limitazioni al numero di nodi che si possono connettere nella LAN vista nella sua complessità.
Inoltre, a causa di questa sua semplice funzione, non è possibile connettere segmenti Ethernet di
tipologia e di velocità diversa in quanto l'hub non è neanche fornito di buffer. In pratica la LAN nel
suo complesso va vista come un'unica rete.
Gateway
Il gateway (dall'inglese, portone, passaggio) è un dispositivo di rete che opera al livello di rete e
superiori del modello ISO/OSI.
Il suo scopo principale è quello di veicolare i pacchetti di rete all'esterno della rete locale (subnet).
Da notare che 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 come proxy DNS, firewall, Network address translation (NAT), etc
Principio di funzionamento
•
Un computer connesso alla rete locale confronta l'indirizzo di destinazione dei dati da
inviare con la subnet mask:
o
se corrispondono, significa che il computer di destinazione è sulla stessa rete locale;
o
se invece non corrispondono, il computer d'origine invia i dati al gateway
predefinito, il quale si occuperà del loro successivo instradamento verso la rete
remota di destinazione!
Approfondimenti
•
Per ulteriori informazioni sulla logica di instradamento vedere la voce router.
•
Per decidere dove instradare il traffico, i gateway si avvalgono dei protocolli di routing.
Protocollo di rete
Nell'ambito delle telecomunicazioni, due o più macchine o host (computer, telefono, stampante,
ecc...) possono comunicare tra loro rispettando norme che sono dette protocolli di rete. L'aderenza
ai protocolli garantisce che due macchine possano comunicare correttamente, anche se sono state
realizzate indipendentemente.
Servizio con e senza connessione
Quando un client e un server iniziano a comunicare si possono scambiare pacchetti di controllo
prima di spedire i dati reali.
Queste procedure dette di handshaking preparano le due componenti alla comunicazione. Tali
procedure sono alla base, ad esempio, del TCP.
Tuttavia possono anche esserci servizi che inviano direttamente i dati come nel caso dell'UDP.
La maggior parte delle applicazioni, tuttavia, ha bisogno di inviare i dati in maniera sicura e
affidabile per cui l'handshake serve proprio a questo compito. Si comprende come la connessione
con TCP, ad esempio, sia più sicura ma anche più lenta perché scambia non solo dati reali, ma
anche dati di servizio.
I Livelli
Ciascun protocollo regola normalmente solo una parte degli aspetti di una comunicazione. I diversi
protocolli sono organizzati con un sistema detto "a livelli" : a ciascun livello viene usato uno
specifico protocollo.
La divisione in livelli è fatta in modo che ciascun livello utilizzi i servizi offerti dal livello inferiore,
e fornisca servizi più "ricchi" al livello superiore. I diversi livelli in un host comunicano tra loro
tramite le interfacce (figura 2). Ogni livello parla solo con quello immediatamente superiore e con
quello immediatamente inferiore. I protocolli regolano invece la comunicazione tra due entità dello
stesso livello, che serve a fornire servizi al livello superiore.
I vari livelli sono organizzati in pile di protocolli (figura 3). Le pile di protocolli sono un modo
flessibile per combinare componenti per realizzare un servizio.
Un esempio reale di una organizzazione a livelli protocollari, classico nelle trattazioni inerenti le
reti di calcolatori, è quello del percorso di una valigia in un viaggio aereo partendo dalla casa di
origine all'hotel di destinazione. Il primo livello che notiamo è quello della preparazione della
valigia: il turista prende i vestiti e ve li ripone per poi chiuderla, come ciò viene fatto è definito dal
protocollo del primo livello. Il secondo livello è quello dell'addetta alla valigie all'aeroporto di
partenza, il turista le consegna la valigia (passaggio dal primo al secondo livello) e l'addetta attacca
alla valigia le informazioni relative al volo e alla destinazione. Qui notiamo l'aspetto fondamentale
dell'organizzazione a livelli protocollari, cioè che per l'addetta non è necessario conoscere come i
vestiti sono stati riposti nella valigia, altresì non è necessario per il turista conoscere le operazioni
che deve effettuare l'addetta, infatti il turista otterra ciò che vuole (avere i vestiti all'hotel d'arrivo)
senza che ciò influisca affatto come gli altri protocolli debbano lavorare, a patto che lo facciano
correttamente.
La struttura serve ad adempiere ad alcuni compiti:
•
controllo dell'errore;
•
controllo del flusso;
•
frammentazione e riassemblaggio;
•
multiplexing, in modo che sessioni dello strato più alto possano condividere una singola
connessione dello strato più basso;
•
instaurazione della connessione.
Tale architettura presenta vantaggi concettuali e strutturali anche se alcuni si sono opposti in
maniera decisa in quanto uno strato spesso duplica le funzionalità di un altro strato in maniera
ripetitiva.
Ad esempio, il servizio di ADSL viene fornito con diverse modalità, le più comuni sono chiamate
PPP over ATM (ovvero il protocollo Point to Point usa i servizi forniti dal protocollo ATM) e PPP
over Ethernet.
fig.1
Il livello più basso (1) è detto "livello fisico" e si occupa di gestire la trasmissione dei segnali
attraverso il mezzo di trasporto (cavo, fibra ottica, infrarossi, ecc...). Il livello più elevato è
chiamato "livello applicativo" ed è quello che permette all'utente di creare il messaggio da
comunicare.
La divisione in livelli è piuttosto rigida a livello di specifica dei protocolli, mentre
nell'implementazione spesso diversi livelli vengono implementati insieme in uno stesso modulo
software.
Non è detto che due macchine che comunicano usino la stessa pila di protocolli. Ad esempio, se vi
connettete ad internet attraverso un modem voi appoggiate il livello di rete IP su una connessione
PPP, mentre il server a cui vi collegate probabilmente appoggia la rete IP su una connessione
ethernet.
In una rete a pacchetto ciascun livello della "pila protocollare" aggiunge ai pacchetti una
intestazione, attraverso una operazione detta imbustamento. Il termine si applica anche ad alcune
reti a commutazione di circuito, come SDH, dove l'imbustamento è un circuito dedicato a
trasmettere informazioni di controllo.
L'OSI
L'International Standard Organization (ISO) nel 1979 ha stabilito il protocollo Open Systems
Interconnection (OSI), con l'intenzione di creare uno standard per le telecomunicazioni da usare
nelle reti di tutto il mondo. All'atto pratico però, lo standard de facto che viene comunemente usato
nella maggior parte delle reti, è il TCP/IP, definito nella RFC 1155. Le differenze fondamentali dei
due standard sono semplici: il primo è stato definito a tavolino da un'organizzazione super partes,
mentre il secondo è opera di chi costruì materialmente le prime reti, sviluppandolo sul campo.
Inoltre, lo standard ISO/OSI assegna un determinato compito ad ogni livello, mentre il TCP/IP è più
"elastico" e permette di sviluppare protocolli che svolgono più di un compito-base.
Elenco di protocolli di rete secondo ISO/OSI
Nella seguente suddivisione, si segue lo standard ISO/OSI. Tale classificazione ha ormai solo un
valore concettuale, ed infatti i protocolli elencati sono usati principalmente in combinazione con la
suite TCP/IP.
Bisogna anche osservare che IP, per la sua natura di protocollo di inter-networking, utilizza
protocolli che hanno le caratteristiche di un protocollo di rete, come ATM o frame relay, per
realizzare la funzione corrispondente al livello di collegamento. Quindi IP, come viaggia su
ethernet, può viaggiare su ATM o frame-relay. Proprio per questo, motivo Internet è detta "rete delle
reti".
•
•
•
•
Livello 1: fisico
o
Bluetooth
o
DSL Digital Subscriber Line
o
FDDI
o
RS-232
o
UWB Ultra Wide Band
Livello 2: datalink
o
Ethernet
o
PPP Point to Point Protocol
o
Token ring
o
Wi-Fi
Livello 3: rete
o
IP Internet Protocol
o
IPX
o
ATM
o
frame relay
o
X.25
Livello 4: trasporto
o
TCP e UDP (usati su IP)
o
SPX (usato su IPX)
o
NetBIOS
•
Livello 5: sessione
•
Livello 6: presentazione
•
Livello 7: applicazione
o
protocolli di servizio:

DHCP Dynamic Host Configuration Protocol

DNS Domain Name Service

Finger Servizio unix che fornisce informazioni sugli utenti
o
o
o

NTP Network Time Protocol

SNMP Simple Network Management Protocol

LDAP Lightweight Directory Access Protocol
protocolli di accesso a terminali remoti

Telnet

SSH Secure SHell
protocolli usati per realizzare il servizio di posta elettronica e newsgroup

SMTP Simple Mail Transfer Protocol

POP Post Office Protocol

IMAP Internet Message Access Protocol

NNTP Network News Transfer Protocol
protocolli di trasferimento file

FTP File Transfer Protocol

HTTP HyperText Transport Protocol

IRC Internet Relay Chat

Gnutella Condivisione file peer-to-peer
I livelli in maniera tangibile
I livelli visti precedentemente sono una suddivisione concettuale, ma la loro implementazione non è
uniforme, infatti il livello fisico e quello di collegamento di solito sono presenti sulla scheda di
interfaccia della rete, mentre il livello di rete ha un'implementazione mista hardware-software.
TCP/IP
Nei primi anni settanta, la Defence Advanced Research Project Agency (DARPA) finanziò
l'Università di Stanford e la BBN (Bolt, Beranek and Newman) per lo sviluppo di un insieme di
protocolli di comunicazione da utilizzarsi per lo sviluppo di reti a commutazione di pacchetto, per
l'interconnessione di calcolatori eterogenei. Fu così che nacque l'Internet Protocol Suite i cui due
protocolli più noti sono il TCP (Trasmission Control Protocol) e l'IP (Internet Protocol).
Si fa riferimento a questa architettura di rete con la sigla TCP/IP o IP/TCP (quasi mai usata). I
creatori di tali protocolli di trasmissione, tuttora utilizzati nel web, sono nello specifico Robert
Kahn e Vinton Cerf, a cui l'attuale Presidente degli Stati Uniti George W. Bush ha consegnato la
Presidential Medal of Freedom, ovvero la più alta tra le onorificenze civili a stelle e strisce, il 9
novembre 2005. I due studiosi non sono nuovi a questo genere di premiazioni: all’inizio del 2005 è
stato assegnato loro il prestigioso 2004 A.M. Turing Award, equivalente del Premio Nobel nel
settore dell’Information Technology. Cerf e Kahn hanno sviluppato lo standard per la trasmissione
di pacchetti via web nel lontano 1973, mentre lavoravano a un progetto di sviluppo dei sistemi di
comunicazione voluto dalla DARPA (Defense Advanced Research Projects Agency). Attualmente
Vint Cerf, collabora con Google alla creazione degli standard per le future applicazioni e nel
frattempo si dedica allo sviluppo di nuovi protocolli di comunicazione interplanetaria per il Jet
Propulsion Lab della Nasa. Robert Kahn, invece, dopo 13 anni di servizio presso la DARPA è
diventato presidente della Corporation for National Research Initiatives (CNRI).
Questi protocolli, utilizzabili gratuitamente da tutti perché di pubblico dominio fin dall'inizio,
ottennero un elevato successo (utilizzati da un gruppo di ricercatori per ARPAnet).
Questo genera alcune ambiguità dovute al fatto che il nome più corretto sarebbe Internet Protocol
Suite. Per esempio succede di sentir parlare di servizi basati su TCP/IP anche quando in realtà,
invece di TCP, viene usato un protocollo alternativo, UDP, anch'esso appartenente all'Internet
Protocol Suite. In genere il TCP viene utilizzato per quelle applicazioni che richiedono un servizio
orientato alla connessione, come ad esempio la posta elettronica e il file sharing, mentre l'UDP
prende sempre più piede per le applicazioni in tempo reale come l'on-line gaming o lo streaming
audio e video; la differenza fra i due protocolli risiede nella maggiore affidabilità nel trasporto dei
dati di TCP, che offre una serie di servizi appositamente pensati (gestione del flusso, della
congestione...), mentre UDP punta molto sulla velocità di trasmissione a scapito della sicurezza. Si
tenga quindi sempre presente che la sigla TCP/IP è di utilizzo talmente comune da essere utilizzata,
talvolta, anche quando esistono termini più corretti alternativi.
TCP/IP è l'architettura adottata dalla rete internet. Negli anni novanta, nonostante la sua età, è stata
(più o meno paradossalmente) l'unica architettura che ha interessato il mercato, al punto che gli enti
di standardizzazione, di fronte al fatto compiuto della sua massiccia diffusione hanno dovuto darle
la stessa dignità di ISO/OSI.
Internet Protocol
L'Internet Protocol (IP) è un protocollo di rete a pacchetto; secondo la classificazione ISO/OSI è
di livello rete (3).
La versione correntemente usata del protocollo IP è detta anche IPv4 per distinguerla dalla più
recente IPv6, nata dall'esigenza di gestire meglio il crescente numero di computer connessi ad
Internet.
IP è un protocollo di interconnessione di reti (Inter-Networking Protocol), nato per interconnettere
reti eterogenee per tecnologia, prestazioni, gestione.
I protocolli di trasporto utilizzati su IP sono soprattutto TCP e UDP.
Indirizzo IP
Un Indirizzo IP è un numero che identifica univocamente 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.
In un certo senso 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.
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.
Tuttavia è da tener presente che a livello mondiale e nazionale i primi provider di connessione
internet si sono accapparrati 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 unica LAN, dotato di un solo IP. Un caso clamoroso è l'utenza fibra di
Fastweb di Milano. E' perciò foriero di gravi equivoci considerare l'IP come identificativo
dell'utente.
Dal prompt di DOS o relativi emulatori è possibile conoscere l'indirizo IP del proprio computer,
digitando il comando "IP config". Tale comando restituisce indirizzo IP e subnet mask del nodo di
rete.
Nei sistemi operativi Windows, l'emulatore del DOS è accessibile dal percorso Start/Esegui,
digitando "cmd".
Domain Name System
Il DNS è un servizio di directory, utilizzato soprattutto per la risoluzione di nomi di Host in indirizzi
IP. Questa funzione è essenziale per l'usabilità di Internet, visto che gli esseri umani preferiscono
ricordare nomi testuali, mentre gli Host ed i router sono raggiungibili utilizzando gli indirizzi IP.
Permette inoltre ad una qualsiasi entità di cambiare o riassegnare il proprio indirizzo IP, senza dover
notificare tale cambiamento a nessuno, tranne che al proprio server DNS di riferimento.
Un'altra delle peculiarità del DNS è quella di consentire, ad esempio ad un sito web, di essere
ospitato su più server (ognuno con il proprio indirizzo IP), con una conseguente divisione del carico
di lavoro.
Ad esempio, www.wikipedia.org viene risolto in 207.142.131.248.
Indirizzamento IP statico e dinamico
Gli indirizzi IP possono essere assegnati in maniera permanente (ad esempio ad un server che si
trova sempre allo stesso indirizzo) oppure in maniera temporanea, da un insieme di indirizzi
disponibili.
Indirizzi dinamici
Gl indirizzi dinamici vengono utilizzati per indentificare dispositivi non permanenti come ad
esempio: personal computer o client. Gli Internet Service Provider (ISP) utilizzano l'allocazione
dinamica per assegnare un ristretto numero di indirizzi ad una vasta clientela. Questo sistema viene
utilizzato soprattutto per gli accessi dial-up, Wi-fi o in qualsiasi altro accesso temporaneo
permettendo, ad esempio ad un Notebook, di connettersi ad un'amplia varietà di servizi senza la
necessità di dover conoscere i dettagli di indirizzamento di ogni rete.
L'indirizzamento dinamico richiede la presenza di un server in grado di accettare richieste ed
assegnare indirizzi. L'indirizzamento puo' avvenire in maniera casuale, oppure in basa ad una
determinata politica. Il protocollo più comunemente utilizzato per assegnare indirizzi
dinamicamente è il DHCP. DHCP viene utilizzato soprattutto in reti locali, in particolare su
Ethernet. In altri contesti, funzioni simili sono svolte all'interno di PPP.
Indirizzi statici
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 direttamento sul dispositivo, oppure come parte di una configurazione DHCP che
associa a l'Indirizzo MAC, il corrispondente indirizzo IP statico.
Versioni
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.
IPv4
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.
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
punti". Un esempio di indirizzo IPv6 è 2001:0DB8:0000:0000:0000:0000:0000:0001, che può
essere abbreviato in 2001:DB8::1 (i due punti doppi stanno a sostituire la parte dell'indirizzo che è
composta di soli zeri consecutivi. Si può usare una sola volta, per cui se un indirizzo ha due parti
composte di zeri la più breve andrà scritta per esteso).
Il numero di indirizzi univoci disponibili in IPv6 è
questi ve ne sono di riservati.
, ma anche di
FTP
L'FTP, acronimo di File Transfer Protocol (protocollo di trasferimento file), è un servizio che
fornisce gli elementi fondamentali per la condivisione di file tra host.
Gli obiettivi dell'FTP sono:
1. promuovere la condivisione di file (programmi o dati)
2. incoraggiare l'uso indiretto o implicito (tramite programma) di computer remoti
3. salvaguardare l'utente al variare dei sistemi di stoccaggio file, tra un host e l'altro
4. trasferire dati in maniera affidabile ed efficiente
L'FTP ha subito una lunga evoluzione negli anni: il primo meccanismo di trasmissione file risale al
1971, fu sviluppato presso il MIT.
Il modello
Dove:
•
PI (protocol interpreter) è l'interprete del protocollo
•
DTP (data transfer process) è il processo di trasferimento dati, che stabilisce e gestisce la
connessione dati. Può essere attivo o passivo.
•
Server PI è il PI del server, che ascolta la porta L in attesa di una connessione dallo User PI
e stabilisce la connessione di controllo della comunicazione. Riceve comandi standard FTP
dallo User PI, manda risposte e governa il Server DTP.
•
Server DTP è il DTP del server, che nello stato normale attivo stabilisce la connessione con
la porta in ascolto. Setta i parametri per il trasferimento e lo stoccaggio, e trasferisce i dati a
comando. Può essere messo in stato passivo per ascoltare, piuttosto che iniziare una
connessione sulla porta dati.
L'FTP usa il TCP per creare una connessione per le informazioni di controllo (detta out of band in
quanto 'secondaria' a quella dati), poi crea una seconda connessione sempre TCP per il
trasferimento dei dati. La connessione di controllo usa telnet per scambiare comandi e messaggi tra
host.
Comandi
Nome
Abort
Comando Parametri
Account
ACCT
<accountinformation>
Allocate
ALLO
<decimalinteger>
Append (with
create)
APPE
<pathname>
Change to parent
directory
Change working
directory
Delete
Help
ABOR
CDUP
Descrizione
Termina la connessione per il trasferimento dei dati
Alcuni server richiedono un account per accessi
specifici, ad esempio per memorizzare file
Alcuni server lo richiedono per riservare spazio
sufficiente per contenere i nuovi file da trasferire
Obbliga il server ad accettare i dati inviati tramite la
connessione dati e salvarli in un file. Se il file esiste
già i dati vengono aggiunti, altrimenti il file viene
creato ex-novo
Cambia la directory di lavoro corrente con quella di
livello superiore
CWD
<pathname>
Cambia la directory di lavoro sul server
DELE
<pathname>
HELP
<string>
List
LIST
<pathname>
Trasfer mode
MODE
<mode-code>
Make directory
Name list
MKD
<pathname>
NLST
<pathname>
Noop
NOOP
Password
PASS
Passive
PASV
Data port
PORT
Print working
directory
PWD
Logout
QUIT
Reinitialize
REIN
Cancella dal server il file specificato
Restituisce informazioni sul comando specificato
Se l'argomento indica un file, elenca le proprietà del
file; se l'argomento è una directory, il server
trasferisce una lista di file nella directory
Modalità di trasferimento (S=stream, B=block,
C=compressed). Il valore di default è S
Crea sul server la directory indicata
Elenca il contenuto della directory indicata
Indica nessuna azione tranne l'invio di un Ok dal
server
Completa, per alcuni server, l'identificazione
dell'utente. Deve essere immediatamente preceduta
dal comando USER
Mette il server in ascolto su una porta che non è
quella predefinita in attesa di una connessione dati
Indirizzo internet dell'host e indirizzo TCP della
porta, per la connessione dati
Nella risposta viene indicato il nome della directory
corrente
Disconnette l'utente e chiude la connessione di
controllo. Se i file sono ancora in trasferimento,
attende che terminino prima di chiudere le
connessioni
Resetta tutti i parametri, termina le connessioni dati
ma mantiene quelle di controllo ed aspetta un
comando USER
<password>
<host-port>
Restart
REST
<marker>
Retrieve
RETR
<pathname>
Remove
directory
RMD
<pathname>
Rename from
RNFR
<pathname>
Rename to
RNTO
<pathname>
Site parameters
SITE
<string>
Structure mount SMNT
<pathname>
Status
STAT
<pathname>
Store
STOR
<pathname>
Store unique
STOU
<pathname>
File structure
STRU
<structurecode>
System
Representation
type
SYST
TYPE
<type-code>
User Name
USER
<username>
Riprende il trasferimento file dall'offset indicato
Obbliga il server a spedire una copia del file
all'utente/server dall'altra parte della connessione
Rimuove dal server la directory specificata
Indica il vecchio nome del file da rinominare. Deve
essere immediatamente seguito da un RNTO
Indica il nuovo nome del file da rinominare, indicato
dal comando RNFR immediatamente precedente
Comando usato dal server per fornire servizi
specifici del suo sistema che sono essenziali per il
trasferimento dei file ma non sufficientemente
universali per essere inclusi come comandi del
protocollo
Inserisce la struttura di file specificata
È una risposta inviata dal server: durante il
trasferimento di file contiene lo stato dell'operazione,
oppure tra un trasferimento e l'altro e allora ha lo
stesso significato del comando LIST
Obbliga il server ad accettare i dati inviati tramite la
connessione dati e salvarli
Obbliga il server ad accettare i dati inviati tramite la
connessione dati e salvarli con un nome univoco
Codice della struttura dati (F=file, R=record,
P=page). Il valore di default è F
Restituisce il sistema operativo in uso sul server
Tipo di rappresentazione dei dati (A=ASCII,
E=EBCDIC, I=binary). Il valore di default è A
Identificazione dell'utente richiesta dal server per
poter accedere al suo file system
DHCP
Il DHCP, acronimo dall'inglese Dynamic Host Configuration Protocol (protocollo di
configurazione dinamica degli indirizzi) è il protocollo usato per assegnare gli indirizzi IP ai
calcolatori di una rete. DHCP sostituisce - ed è compatibile verso il basso con - l'ormai quasi
obsoleto BOOTP.
In una rete basata sul protocollo IP, ogni calcolatore ha bisogno di un indirizzo IP, scelto in modo
tale che appartenga alla sottorete a cui è collegato e che sia univoco, ovvero che non ci siano altri
calcolatori che stiano già usando quell'indirizzo.
Il compito di assegnare manualmente gli indirizzi IP ai calcolatori comporta un rilevante onere per
gli amministratori di rete, soprattutto in reti di grandi dimensioni o in caso di numerosi computer
che si connettono a rotazione solo ad ore o giorni determinati. Inoltre gli indirizzi IPv4 (attualmente
usati nella quasi totalità delle reti al mondo) con l'aumentare dei computer connessi ad Internet
hanno cominciato a scarseggiare, diminuendo la disponibilità di IP fissi.
DHCP viene utilizzato soprattutto in reti locali, in particolare su Ethernet. In altri contesti, funzioni
simili sono svolte all'interno di PPP.
Parametri gestiti da DHCP
Il protocollo DHCP può essere usato anche per assegnare al computer diversi parametri necessari
per il suo corretto funzionamento sulla rete a cui è collegato. Tra i più comuni si possono citare:
•
Maschera di sottorete
•
Default Gateway
•
Indirizzi dei server DNS
•
Nome di dominio DNS di default
•
Indirizzi dei server WINS
•
Indirizzi dei server NTP
•
Indirizzo di un server tftp e nome di un file da caricare per calcolatori che caricano dalla rete
l'immagine del sistema operativo.
Nel protocollo c'è comunque il supporto per assegnare tramite DHCP molti altri parametri, e anche
per definire localmente nuovi parametri, ma questa possibilità non viene ampiamente usata.
componenti del protocollo
Il Client DHCP è un calcolatore che ha bisogno di ottenere un indirizzo IP valido per la sottorete a
cui è collegato, e anche il programma che si occupa di richiedere l'indirizzo IP e configurarlo.
Il Server DHCP è il calcolatore che assegna gli indirizzi IP, e anche il processo che svolge questa
funzione. Talvolta questa funzione è incorporata in un router.
Il DHCP relay è il calcolatore (o più spesso una funzione implementata in un router) che si occupa
di inoltrare le richieste DHCP ad un server, qualora questo non sia sulla stessa sottorete. Questo
componente è necessario solo se un server DHCP deve servire molteplici sottoreti. Deve esistere
almeno un DHCP relay per ciascuna sottorete servita. Ogni relay deve essere esplicitamente
configurato per inoltrare le richieste a uno o più server.
Richiesta e attribuzione dell'indirizzo
DHCP utilizza il protocollo UDP, le porte registrate sono la 67 per il server e la 68 per il client.
Quando un calcolatore vuole ottenere un indirizzo tramite DHCP, attiva il processo DHCP client. In
questo momento, il calcolatore non ha un indirizzo IP valido, quindi non può usare tutte le
funzionalità della rete.
Esso invia quindi un pacchetto chiamato DHCPDISCOVER in broadcast sulla sottorete, con
indirizzo IP sorgente messo convenzionalmente a 0.0.0.0, e destinazione 255.255.255.255. Tutti i
server DHCP attivi sulla sottorete ricevono direttamente questo pacchetto, e possono rispondere (o
meno) con un pacchetto di DHCPOFFER, in cui propongono un indirizzo IP al client. Questo
pacchetto è indirizzato direttamente all'indirizzo di livello livello datalink del client (che non ha
ancora un indirizzo IP), per cui può essere inviato solo da un server che si trovi sulla stessa
sottorete.
Se sulla sottorete ci sono anche uno o più DHCP relay, questi inoltrano il pacchetto al loro server di
riferimento, che può rispondere allo stesso modo attraverso il relay. Il relay agent informa il server
della sottorete da cui ha ricevuto il pacchetto di DHCPDISCOVER, permettendo al server di offrire
un indirizzo per la sottorete giusta.
Il client aspetta un certo tempo di ricevere una o più offerte, dopodiché ne seleziona una, ed invia
un pacchetto di DHCPREQUEST al server che ha scelto. Questo gli conferma l'assegnazione
dell'indirizzo con un pacchetto di DHCPACK.
Scadenza e rinnovo degli indirizzi
A questo punto, il client è autorizzato ad usare l'indirizzo ricevuto per un tempo limitato, detto
tempo di lease. Prima della scadenza, dovrà tentare di rinnovarlo inviando un nuovo pacchetto
DHCPREQUEST al server, che gli risponderà con un DHCPACK se vuole prolungare
l'assegnazione dell'indirizzo. Questi sono normali pacchetti IP scambiati tra due calcolatori che
hanno indirizzi validi. Se il client non riesce a rinnovare l'indirizzo, tornerà allo stato iniziale
cercando di farsene attribuire un altro.
Identificazione ed autenticazione dei client
Il client si identifica verso il server attraverso un campo client-id dei pacchetti DHCP. Questo
campo ha normalmente come valore il mac address della scheda di rete per cui si richiede
l'indirizzo, ma può anche essere configurato manualmente. Questa è l'unica forma di autenticazione
disponibile per DHCP, ed è piuttosto debole, in quanto utilizza un dato che viene inviato in
broadcast sulla sottorete, e quindi può essere facilmente sniffato da qualunque altro calcolatore
connesso alla sottorete. Per controllare l'accesso ad una rete esistono metodi più solidi, che però
richiedono un supporto da parte degli switch a cui sono collegati gli utenti, come IEEE 802.1x.
Un server dovrebbe cercare di assegnare allo stesso client sempre lo stesso indirizzo IP su ciascuna
sottorete, ma non ci sono garanzie che questo sia possibile, a meno che un indirizzo non sia
associato esclusivamente ad un client.
Il server può utilizzare il campo client-id per decidere quale indirizzo assegnare al client, o quali
altri parametri passargli, o anche di non rispondere per nulla alla richiesta del client.
Identificazione del server, sicurezza
Il server si identifica verso il client con il proprio indirizzo IP. Un client potrebbe quindi decidere di
accettare indirizzi solo da un server già noto.
Qualunque calcolatore collegato ad una sottorete potrebbe fare da server DHCP per i calcolatori di
quella sottorete, o da relay verso un server DHCP arbitrario. È quindi possibile che un calcolatore
configurato male o maliziosamente offra abusivamente indirizzi IP, creando malfunzionamenti alla
rete e/o gravi problemi di sicurezza.
Un calcolatore che abbia ricevuto l'indirizzo IP da un server DHCP mal configurato non sarà in
grado di utilizzare la rete.
Se invece il server DHCP abusivo è configurato in modo malizioso, le conseguenze possono essere
anche peggiori: esso infatti può offrire indirizzi che sa essere inutilizzati, oppure su una sottorete IP
diversa da quella ufficiale, evitando così di generare conflitti con il server ufficiale, ed indicare sé
stesso come default gateway. Dovrà poi ridirigere le connessioni effettuate dai client verso il
gateway ufficiale utilizzando IP masquerading. A questo punto, potrà intercettare e sniffare tutto il
traffico generato dai client, che potrebbero non accorgersi facilmente della differenza.
Border Gateway Protocol
Il Border Gateway Protocol (BGP) è un protocollo di rete usato per connettere tra loro più router
che appartengono a sistemi autonomi distinti e che vengono chiamati gateway.
Il Border Gateway Protocol è un protocollo di instradamento (routing) che agisce nel 'cuore' di
Internet. Il BGP funziona attraverso la gestione di una tabella di reti IP, o prefissi, che forniscono
informazioni sulla raggiungibilità delle diverse reti tra più sistemi autonomi (Autonomous System,
AS). Si tratta di un protocollo di routing a indicazione di percorso (path vector), che non usa
metriche di carattere tecnico ma prende le decisioni di instradamento basandosi su politiche (regole)
determinate da ciascuna rete. La versione corrente, BGP-4, è definita nella specifica RFC 1771.
Il BGP supporta il routing indipendente dalle classi (Classless InterDomain Routing) e usa un
meccanismo di aggregazione degli instradamenti per diminuire le dimensioni delle relative tabelle.
Nella rete Internet viene usata la versione 4 del protocollo a partire dal 1994; tutte le versioni
precedenti sono considerate obsolete.
Il protocollo BGP è stato creato per sostituire il protocollo di routing EGP e consentire un
instradamento completamente decentralizzato, eliminando così gli ostacoli che impedivano la
soppressione della dorsale Internet NSFNET. In tal modo Internet è divenuta un sistema pienamente
decentralizzato.
Anche le reti IP private di maggiori dimensioni possono trovare benefici dall'uso del BGP, ad
esempio nel caso del collegamento di un gran numero di reti OSPF, una situazione in cui il
protocollo OSPF non è in grado di scalare in modo efficiente. Un altro motivo che può spingere
all'uso del BGP è la configurazione di una rete in multihoming per offrire una maggiore ridondanza.
Gli utenti di Internet, nella maggior parte dei casi, non utilizzano il protocollo BGP direttamente.
Tuttavia, poiché quasi tutti i provider Internet (ISP) sono obbligati a usarlo per stabilire i criteri di
routing reciproci, si tratta di uno dei protocolli più importanti di Internet. Come utile confronto si
possono valutare analogie e differenze con il Sistema di Segnalazione n. 7, che costituisce il
protocollo cardine per l'attivazione di una chiamata tra operatori della rete telefonica pubblica
(PSTN).
Funzionamento
Nel protocollo BGP le coppie di sistemi adiacenti, detti peer, vengono stabilite mediante
configurazione manuale dei router stabilendo una sessione TCP sulla porta 179. L'iniziatore della
sessione BGP (speaker) invia periodicamente (per default ogni 60 secondi) dei messaggi keepalive
da 19 byte per mantenere attiva la connessione. Tra i protocolli di routing, il BGP è l'unico a
utilizzare il TCP come protocollo di trasporto.
Quando viene usato all'interno di uno stesso AS il protocollo BGP viene chiamato BGP Interno
(IBGP, Interior Border Gateway Protocol); nell'uso tra AS distinti viene chiamato BGP Esterno
(EBGP, Exterior Border Gateway Protocol). I router che svolgono compiti di instradamento del
traffico IBGP vengono chiamati router di transito; quelli che si trovano sul margine esterno di un
AS e utilizzano il protocollo EBGP per scambiare informazioni con il proprio ISP vengono chiamati
router di bordo o di confine.
Tutti i router all'interno di un dato AS che partecipano all'instradamento via BGP devono essere
configurati secondo una topologia a maglie completamente connesse: ciascun router deve essere
configurato come peer di tutti gli altri. Naturalmente ciò pone seri problemi di scalabilità, poiché il
numero di connessioni necessarie cresce con il quadrato del numero dei router coinvolti. Per
ovviare a questo problema il protocollo BGP prevede due soluzioni: i route reflector (RFC 2796) e
le confederazioni (RFC 3065).
I route reflector riducono il numero di connessioni necessarie nell'ambito di un AS. È possibile
designare in tal modo un solo router (o due, per ridondanza) e configurare gli altri router
appartenenti all'AS come peer soltanto di quest'ultimo.
Le confederazioni vengono usate nel caso di reti particolarmente estese, nelle quali un AS di grandi
dimensioni può essere configurato in modo da comprendere vari AS interni di più facile gestione. È
possibile usare le confederazioni anche contemporaneamente ai route reflector.
Automa a stati finiti
I peer BGP usano un semplice automa a stati finiti per prendere le decisioni che riguardano
l'interazione con altri peer BGP. L'automa è composto da sei stati - Idle (Inattiva), Connect
(Connetti), Active (Attivo), OpenSent (Apertura Inviata), OpenConfirm (Apertura Confermata) ed
Established (Stabilito). Ciascun peer BGP attraversa gli stati descritti quando cerca di stabilire e
mantenere in vita una sessione con un altro peer.
Inconvenienti e soluzioni
Volatilità degli instradamenti
Il BGP prevede una procedura di smorzamento (damping) per ridurre gli effetti della volatilità
degli instradamenti. Tale fenomeno può essere causato dalla interruzione e dal successivo ripristino
dei collegamenti a livello di WAN / WLAN oppure da errori di configurazione o gestione dei router.
In assenza di damping può accadere che gli instradamenti vengano inseriti ed eliminati dalle tabelle
di routing con grande rapidità, il che può avere un impatto rilevante sul carico di lavoro dei router e
di conseguenza sulla stabilità complessiva delle procedure di instradamento.
Nel processo di damping la volatilità di un instradamento subisce una diminuzione esponenziale. La
prima volta che un instradamento va e viene in breve tempo per la prima volta, per qualsiasi
ragione, il damping non interviene; vengono così conservati i tempi di risposta consueti del BGP.
Quando l'evento si presenta una seconda volta, il BGP ignora il prefisso per un certo tempo, e le
occorrenze successive vengono ritardate secondo una progressione esponenziale. Quando le
anomalie sull'instradamento in questione sono cessate ed è trascorso un opportuno lasso di tempo, i
prefissi possono essere ripristinati partendo da zero. Il damping può anche ridurre gli effetti degli
attacchi ostili di tipo denial of service, in quanto gli intervalli temporali previsti dal meccanismo
sono ampiamente personalizzabili.
A causa della maggiore velocità dei collegamenti delle dorsali e dei processori dei router, alcuni
architetti di rete hanno suggerito che il damping non sia più importante come una volta, in quanto i
router sono in grado di assorbire molto più rapidamente le modifiche alla tabella di routing. Alcuni
hanno persino suggerito che il damping in queste condizioni possa peggiorare la situazione invece
di migliorarla. Questo argomento è ancora controverso e oggetto di numerose ricerche.
Esplosione delle tabelle di routing
Uno dei problemi più gravi del protocollo BGP, ma in realtà dell'intera infrastruttura di Internet,
deriva dalla crescita della tabella di routing della stessa Internet. Se la tabella di routing globale
crescesse fino al punto in cui la sua gestione dovesse superare le capacità di memoria e di potenza
di calcolo dei router meno recenti, questi non sarebbero più in grado di agire adeguatamente da
gateway per le parti di Internet collegate ad essi. Inoltre, cosa forse ancor più importante, le tabelle
di routing più grandi richiedono tempi più lunghi per stabilizzarsi (vedi sopra) dopo una modifica
sostanziale nella connettività, garantendo nel frattempo solo una connettività ridotta, o talvolta
assente.
Fino al 2001 la tabella di routing globale era in crescita esponenziale e minacciava di dare luogo,
col tempo, a una interruzione generalizzata della connettività. Nel tentativo di contrastare questa
eventualità, è in corso uno sforzo congiunto degli ISP per mantenere al minimo le dimensioni della
tabella di routing globale, attraverso il ricorso ai meccanismi di Classless InterDomain Routing e
aggregazione degli instradamenti. Questi sforzi hanno rallentato la crescita della tabella di routing
sino a riportarla a un andamento lineare, allontanando in modo significativo il momento in cui sarà
necessario sostituire i router più datati.
ACK
ACK è il simbolo che identifica un segnale di Acknowledge. Tipico esempio è il pacchetto di
controllo previsto dal protocollo TCP trasmesso dal ricevente al mittente per segnalare la corretta
ricezione di un paccchetto dati.
L'ACK può anche essere di tipo cumulativo, indicando cioè la avventuta corretta ricezione di più
pacchetti di dati. Per esempio un ACK4 indica che il pacchetto 4 che la stazione trasmittente ha
inviato è stato ricevuto correttamente; implicitamente però l'ACK4 cumulativo sta ad indicare che
anche i pacchetti 3, 2, 1, 0 sono stati ricevuti e non sono andati persi. Similmente un Nack indica la
mancata ricezione di un pacchetto (nel caso di NACK selettivo), o la corretta ricezione di n-1
pacchetti, ma la mancata di 1 (NACK4= il pacchetto 4 non è arrivato, ma il 3, il2, l'1, e lo 0 si).
Internet
Internet (pr. Ìn-ter-net, 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 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.
L'origine del nome
Curiosa è la circostanza - storicamente documentata - secondo cui la definizione ufficiale di Internet
viene coniata e pubblicata solo nel 1995, passati circa 35 anni dai primi esperimenti realizzativi,
dopo approvazione all'unanimità, da parte della FNC (Federal Networking Council, oggi National
Coordination Office for Information Technology Research and Development). Tra i partecipanti di
quella sessione della FNC troviamo Vinton Cerf e Robert Kahn, giustamente ritenuti due tra le
persone più direttamente responsabili della invenzione di Internet. Questa definizione, l'unica
ufficiale e reperibile in modo deliziosamente ricorsivo, su Internet stessa, recita così:
RISOLUZIONE: Il Federal Networking Council (FNC) concorda che il seguente linguaggio
riflette la nostra definizione del termine "Internet". "Internet" si riferisce al sistema di
informazione globale che
•
è logicamente interconnesso da un address space unico e globale, basato sull'Internet
Protocol (IP) o le sue successive estensioni/sviluppi;
•
è in grado di supportare la comunicazione tramite la suite Transmission Control
Protocol/Internet Protocol (TCP/IP) o le sue successive estensioni/sviluppi, e/o altri
protocolli compatibili con l'IP; e
•
fornisce, utilizza o rende accessibili, sia pubblicamente che privatamente, servizi di
comunicazione di alto livello stratificati e basati sulla correlata infrastruttura qui
descritta. (Notare come si sia volutamente fatto uso di una definizione ricorsiva)
Struttura
La diffusione degli accessi a internet nel mondo
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, praticamente, qualsiasi tipo di computer o elaboratore elettronico oggi o in
futuro esistente o immaginabile.
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.
Da qualche anno è ormai possibile collegarsi a questa grande rete da dispositivi mobili come un
palmare o da un telefono cellulare. In breve dovrebbe essere possibile per uno di questi dispositivi
non solo accedere ad Internet, ma anche subire l'accesso da parte di altri host in Internet.
La rete delle reti
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 (diversi governi, diverse società nazionali o sovranazionali, tra i vari
dipartimenti universitari) 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 ISP (Internet Service Provider) 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.
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
TCP (Transmission Control Protocol) e l'IP (Internet Protocol).
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.
Tale struttura si basa sugli Internet Standard che sono sviluppati dall'Internet Engineering Task
Force (IETF) con documenti noti come RFC (Request for Comments) e, ad un livello della pila dei
protocolli, il W3C (World Wide Web Consortium).
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:
posta elettronica (e-mail)
consente di inviare e ricevere (a/da utenti) messaggi contenenti testo ed altri formati (es.:
immagini, video, audio). La modalità di funzionamento dei server di posta elettronica e di
molti programmi client viene detta store-and-forward
FTP (file transfer protocol)
consente di inviare e ricevere (a/da sistemi) file, cioè insiemi di informazioni codificate in
maniera binaria (es.: testi, immagini, filmati, programmi, ecc.)
HTTP (hyper text transfer protocol)
consente di organizzare le informazioni e le risorse presenti in rete in maniera nonsequenziale (hyperlink), come meglio descritto in seguito.
Storia di Internet
ARPANET (1969)
Il progenitore della rete Internet è considerato il progetto ARPANET, finanziato dalla Advanced
Research Projects Agency (ARPA), una agenzia del Dipartimento della Difesa statunitense. In una
nota del 25 aprile 1963, Joseph C.R. Licklider aveva espresso l'intenzione di collegare tutti i
computer e i sistemi di time-sharing in una rete continentale. Avendo lasciato l'ARPA per un posto
all'IBM l'anno seguente, furono i suoi successori che si dedicarono al progetto ARPANET.
Il contratto fu assegnato all'azienda da cui proveniva Licklider, la Bolt, Beranek and Newman
(BBN) che utilizzò i minicomputer di Honeywell come supporto. La rete venne fisicamente
costruita nel 1969 collegando quattro nodi: l'Università della California di Los Angeles, l'SRI di
Stanford, l'Universita della California di Santa Barbara, e l'Università dello Utah. L'ampiezza di
banda era di 50 Kbps. Negli incontri per definire le caratteristiche della rete, vennero introdotti i
fondamentali Request for Comments (RFC), tutt'ora i documenti fondamentali per tutto ciò che
riguarda i protocolli informatici della rete.
I primi nodi si basavano su un'architettura client/server, e non supportavano quindi connessioni
dirette (host-to-host). Le applicazioni eseguite erano fondamentalmente il Telnet e i programmi di
File Transfer Protocol (FTP). La posta elettronica fu inventata da Ray Tomlinson della BBN nel
1971, derivando il programma da altri due: il SENDMSG per messaggi interni e CPYNET, un
programma per il trasferimento dei file. L'anno seguente Arpanet venne presentata al pubblico, e
Tomlinson adattò il suo programma per funzionarvi: divenne subito popolare, grazie anche al
contributo di Larry Roberts che aveva sviluppato il primo programma per la gestione della posta
elettronica, RD.
Da Arpanet a Internet (anni Settanta e Ottanta)
In pochi anni, ARPANET allargò i suoi nodi oltreoceano, contemporaneamente all'avvento del
primo servizio di invio pacchetti a pagamento: Telenet della BBN. In Francia inizia la costruzione
della rete CYCLADES sotto la direzione di Louis Pouzin, mentre la rete norvegese NORSAR
permette il collegamento di Arpanet con lo University College di Londra. L'espansione proseguì
sempre più rapidamente, tanto che il 26 marzo del 1976 la regina Elisabetta II d'Inghilterra spedì
un'email alla sede del Royal Signals and Radar Establishment.
Gli Emoticon vennero istituiti il 12 aprile 1979, quando Kevin MacKenzie suggerì di inserire un
simbolo nelle mail per indicare gli stati d'animo.
Tutto era pronto per il passaggio ad Internet, compreso il primo virus telematico: sperimentando
sulla velocità di propagazione delle e-mail, a causa di un errore negli header del messaggio, Arpanet
venne totalmente bloccata: era il 27 ottobre 1980. Definendo il Transmission Control Protocol
(TCP) e l'Internet Protocol (IP), DCA e ARPA diedero il via ufficialmente ad Internet come
l'insieme di reti connesse tramite questi protocolli.
Nascita del World Wide Web (1992)
Nel 1992 presso il CERN di Ginevra il ricercatore Tim Berners-Lee definì il protocollo HTTP
(HyperText Transfer Protocol), un sistema che permette una lettura ipertestuale, non-sequenziale dei
documenti, saltando da un punto all'altro mediante l'utilizzo di rimandi (link o, più propriamente,
hyperlink). Il primo browser con caratteristiche simili a quelle attuali, il Mosaic, venne realizzato
nel 1993. Esso rivoluzionò profondamente il modo di effettuare le ricerche e di comunicare in rete.
Nacque così il World Wide Web.
Nel World Wide Web (WWW), le risorse disponibili sono organizzate secondo un sistema di
librerie, o pagine, a cui si può accedere utilizzando appositi programmi detti browser con cui è
possibile navigare visualizzando file, testi, ipertesti, suoni, immagini, animazioni, filmati.
La facilità d'utilizzo connessa con l'HTTP e i browser, in coincidenza con una vasta diffusione del
Personal Computer, hanno aperto l'uso di Internet ad una massa di milioni persone, anche al di fuori
dell'ambito strettamente informatico, con una crescita in progressione esponenziale.
L'evoluzione: Internet2
Fino all'anno 2000 si è temuto di dover reingegnerizzare ex-novo l'intera Internet (si parlava di
Internet 2) perché il numero degli host indirizzabile attraverso il protocollo IP era vicino ad essere
esaurito (IP shortage) dal numero di host realmente collegati (oltre alla necessaria ridondanza e alle
perdite per motivi sociali).
Il problema è stato parzialmente evitato con l'utilizzo della tecnica del NAT/Gateway mediante la
quale una rete aziendale non ha bisogno di un range ampio di indirizzi IP fissi, ma possono
utilizzarne uno più ridotto con anche un buon risparmio economico.
Oggi si è fiduciosi nella possibilità di migrare in modo non traumatico alla versione 6.0 di IP (IPv6)
che renderà disponibili alcune centinaia di miliardi di numeri IP indirizzabili, sufficienti
probabilmente per tutto il resto della durata dell'umanità.
La natura globale con la quale è stata concepita Internet ha fatto sì che oggi, non solo apparati di
calcolo in senso stretto, ma una enorme varietà di processori, a volte anche incorporati in maniera
invisibile (embedded) in elettrodomestici e in apparecchi dei più svariati generi, abbiano tra le
proprie funzionalità quella di connettersi ad Internet e attraverso Internet a qualche servizio di
aggiornamento, di distribuzione di informazione e dati; dal frigorifero, al televisore, all'impianto di
allarme, al forno, alla macchina fotografica: ogni processore oramai è abilitato a comunicare via
Internet.
Controllare la rete
Su Internet ormai viaggiano tantissime informazioni non solo immagazzinate nei siti web, ma anche
con e-mail, chatting, etc. Quindi questo canale è diventato una forma di comunicazione di massa,
motivo per il quale ci sono stati diversi tentativi di filtrare una parte di informazioni o addirittura di
controllarla.
Uno dei programmi ormai ampiamente riconosciuti è Carnivore, voluto dall'FBI per controllare la
posta elettronica in entrata e in uscita alla ricerca di parole chiave di interesse.
Con l'aumentare del terrorismo, Internet sta diventando sempre più controllata, anche perché la vita
delle persone è migrata sempre più verso la grande rete, rendendole così più vulnerabili alle
violazioni della loro privacy.
Principali servizi disponibili su Internet
•
World Wide Web
•
FTP (o File transfer Protocol)
•
Gopher
•
E-Mail
•
Mailing list
•
Newsgroup
•
Telnet
•
Webcast
•
File sharing
Principali Enti di gestione di Internet
•
ICANN (Internet Corporation of Assigned Names and Numbers)
•
IETF (Internet Engineering Task Force)
•
W3C (World Wide Web Consortium)
•
IESG (Internet Engineering Steering Group)
•
ISOC (Internet Society)
Firewall
In Informatica, nell'ambito delle reti di computer, un firewall (termine inglese dal significato
originario di paratia antifuoco, muro tagliafuoco; detto in italiano anche parafuoco) è un
componente passivo di difesa perimetrale (quindi un dispositivo hardware) che può anche svolgere
funzioni di collegamento tra due o più tronconi di rete. Usualmente la rete viene divisa in due
sottoreti: una, detta esterna, comprende l'intera internet mentre l'altra interna, detta LAN (Local
Area Network), comprende una sezione più o meno grande di un insieme di computer locali. In
alcuni casi è possibile che si crei l'esigenza di creare una terza sottorete detta DMZ (o zona
demilitarizzata) atta a contenere quei sistemi che devono essere isolati dalla rete interna ma devono
comunque essere protetti dal firewall.
Grazie alla sua posizione strategica, il firewall risulta il posto migliore ove imporre delle logiche di
traffico per i pacchetti in transito e/o eseguire un monitoraggio di tali pacchetti. La sua funzionalità
principale in sostanza è quella di creare un filtro sulle connessioni entranti ed uscenti, in questo
modo il dispositivo innalza il livello di sicurezza della rete e permette sia agli utenti interni che a
quelli esterni di operare nel massimo della sicurezza.
Principi di funzionamento
Una prima definizione chiusa di firewall è la seguente:
Software o apparato di rete hardware o software che filtra tutti i pacchetti entranti ed uscenti, da e
verso una rete o un computer, applicando regole che contribuiscono alla sicurezza della stessa.
In realtà un firewall può essere realizzato con un normale computer (con almeno due schede di rete
e software apposito), può essere una funzione inclusa in un router o può essere un apparato
specializzato. Esistono inoltre i cosiddetti "firewall personali", che sono programmi installati sui
normali calcolatori, che filtrano solamente i pacchetti che entrano ed escono da quel calcolatore.
La funzionalità principale in sostanza è quella di creare un filtro sulle connessioni entranti ed
uscenti, in questo modo il dispositivo innalza il livello di sicurezza della rete e permette sia agli
utenti interni che a quelli esterni di operare nel massimo della sicurezza. Il firewall agisce sui
pacchetti in transito da e per la zona interna potendo eseguire su di essi operazioni di:
•
controllo
•
modifica
•
monitoraggio
Questo grazie alla sua capacità di "aprire" il pacchetto IP per leggere le informazioni presenti sul
suo header, e in alcuni casi anche di effettuare verifiche sul contenuto del pacchetto.
Personal Firewall o Firewall Software
Oltre al firewall a protezione perimetrale ne esiste un secondo tipo, definito "Personal Firewall",
che si installa direttamente sui sistemi da proteggere (per questo motivo è chiamato anche Firewall
Software). In tal caso, un buon firewall effettua anche un controllo di tutti i programmi che tentano
di accedere ad internet presenti sul computer nel quale è installato, consentendo all'utente di
impostare delle regole che possano concedere o negare l'accesso ad internet da parte dei programmi
stessi, questo per prevenire la possibilità che un programma malevolo possa connettere il computer
all'esterno pregiudicandone la sicurezza.
Il principio di funzionamento differisce rispetto a quello del firewall perimetrale in quanto, in
quest'ultimo, le regole che definiscono i flussi di traffico permessi vengono impostate in base
all'indirizzo IP sorgente, quello di destinazione e la porta attraverso la quale viene erogato il
servizio, mentre nel personal firewall all'utente è sufficiente esprimere il consenso affinché una
determinata applicazione possa interagire con il mondo esterno attraverso il protocollo IP.
Da sottolineare che l'aggiornamento di un firewall è importante ma non è così vitale come invece lo
è l'aggiornamento di un antivirus, in quanto le operazioni che il firewall deve compiere sono
sostanzialmente sempre le stesse. È invece importante creare delle regole che siano corrette per
decidere quali programmi devono poter accedere alla rete esterna e quali invece non devono.
Altre funzioni
Un'altra funzione che alcuni firewall prevedono è la possibilità di filtrare ciò che arriva da internet,
consentendo per esempio di vietare la visualizzazione di alcuni siti internet contenenti pagine con
un contenuto non adatto ai minori, nella maggior parte dei casi però l'attivazione di questa
funzionalità è demandata a software aggiuntivi appartenenti alla categoria dell'URL filtering.
Tuttavia, un firewall è solo uno dei componenti di una strategia di sicurezza informatica, e non può
in generale essere considerato sufficiente:
•
la sua configurazione è un compromesso tra usabilità della rete, sicurezza e risorse
disponibili per la manutenzione della configurazione stessa (le esigenze di una rete
cambiano rapidamente)
•
una quota rilevante delle minacce alla sicurezza informatica proviene dalla rete interna
(portatili, virus, connessioni abusive alla rete, dipendenti, accessi VPN, reti wireless non
adeguatamente protette)
Tipologie
Tipologie di firewall, in ordine crescente di complessità:
•
Il più semplice è il packet filter, che si limita a valutare gli header di ciascun pacchetto,
decidendo quali far passare e quali no sulla base delle regole configurate. Alcuni packet
filter possiedono il concetto di "connessione TCP stabilita (established)", ma questo si
riduce alla valutazione dei flags dell'header TCP.
•
Se invece è stateful inspection, tiene traccia di alcune relazioni tra i pacchetti che lo
attraversano, ad esempio ricostruisce lo stato delle connessioni TCP, o i protocolli che
aprono più connessioni. Questo permette ad esempio di riconoscere pacchetti TCP malevoli
che non fanno parte di alcuna connessione, o di permettere il funzionamento di protocolli
complessi.
•
Esiste una generazione di firewall detta Application Layer Gateway che effettua controlli
fino al livello 7 della pila ISO/OSI, a questa generazione di firewall appartengono i proxy.
Spesso un proxy è assimilato - o usato come - un firewall. In tali casi, la configurazione
della rete privata non consente connessioni dirette verso l'esterno, ma il proxy è connesso sia
alla rete privata che alla rete pubblica, e permette alcune connessioni in modo selettivo, e
solo per i protocolli che supporta.
La sintassi della configurazione di un firewall in molti casi è basata su un meccanismo di ACL.
Una funzione spesso associata al firewall è quella di NAT (traduzione degli indirizzi di rete), che
può contribuire a rendere inaccessibili i calcolatori sulla rete interna.
Molti firewall possono registrare tutte le operazioni fatte (logging), effettuare registrazioni più o
meno selettive (ad esempio, registrare solo i pacchetti che violano una certa regola, non registrare
più di N pacchetti al secondo), e tenere statistiche di quali regole sono state più violate.
La registrazione integrale dell'attività di un firewall può facilmente assumere dimensioni ingestibili,
per cui spesso si usa il logging solo temporaneamente per diagnosticare problemi, o comunque in
modo selettivo (logging dei soli pacchetti rifiutati o solo di alcune regole). Tuttavia, l'analisi dei log
di un firewall (o anche dei contatori delle varie regole) può permettere di individuare in tempo reale
tentativi di intrusione.
Talvolta ad un firewall è associata anche la funzione rilevamento delle intrusioni (IDS), un sistema
basato su euristiche che analizza il traffico e tenta di riconoscere possibili attacchi alla sicurezza
della rete, e può anche scatenare reazioni automatiche da parte del firewall (IPS)..
Vulnerabilità
Una delle vulnerabilità più conosciute di un firewall di fascia media è l'HTTP tunneling, che
consente di bypassare le restrizioni internet utilizzando comunicazioni HTTP solitamente concesse
dai firewall. Altra tipica vulnerabilità è la dll injection, ovvero una tecnica utilizzata da molti trojan,
che sovrascrive il codice maligno all'interno di librerie di sistema utilizzate da programmi
considerati sicuri. L'informazione riesce ad uscire dal computer in quanto il firewall, che di solito
controlla i processi e non le librerie, crede che l'invio ad internet lo stia eseguendo un programma
da lui ritenuto sicuro, ma che di fatto utilizza la libreria contaminata. Alcuni firewall hanno anche il
controllo sulla variazione delle librerie in memoria ma è difficile capire quando le variazioni sono
state fatte da virus.
Implementazioni
•
•
•
Software
o
shorewall, frontend di iptables
o
Netfilter/iptables: l'infrastruttura di packet filtering integrata nei kernel Linux
versione 2.4 e superiori
o
ipchains: l'infrastruttura di packet filtering integrata nei kernel Linux versione 2.2
o
ipfw: l'infrastruttura di packet filtering integrata nei kernel Linux versione 2.0
o
IPFilter (ipf)
o
pf
o
m0n0wall progetto basato su FreeBSD
Appliance
o
Cisco PIX
o
Check Point FireWall 1
o
Juniper Netscreen
o
Endian Firewall
Personal firewalls
o
Sunbelt Kerio
o
Checkpoint ZoneLabs
o
Sygate Personal Firewall
o
CoreSecurity Core Force
o
Tiny Personal Firewall
o
Norton Personal Firewall
Suite di protocolli Internet
La suite di protocolli Internet è un insieme di protocolli di rete che implementa la pila di
protocolli su cui funziona Internet. A volte, per sineddoche, è chiamata suite di protocolli TCP/IP,
in funzione dei due più importanti protocolli in essa definiti: il Transmission Control Protocol
(TCP) e l'Internet Protocol (IP).
Tale suite può essere descritta per analogia con il modello OSI, che descrive i livelli della pila di
protocolli. In una pila di protocolli ogni livello risolve una serie di problemi che riguardano la
trasmissione di dati e fornisce un ben definito servizio ai livelli più alti. I livelli più alti sono
logicamente più vicini all'utente e funzionano con dati più astratti lasciando ai livelli più bassi il
compito di tradurre i dati in forme mediante le quali possono essere fisicamente manipolati.
Il modello Internet è stato prodotto come una soluzione ad un problema ingegneristico pratico. Il
modello OSI, in un altro senso, è stato l'approccio più teorico ed è stato anche prodotto nel più
vecchio modello di rete.
Suite di protocolli Internet Modifica
HTTP, HTTPS , SMTP, POP3, IMAP, FTP, DNS
Livello applicazioni
SSH, IRC, SNMP, SIP, RTP, Rsync, Telnet, HSRP ...
Livello di trasporto
TCP, UDP, SCTP, RTSP, DCCP ...
IPv4, IPv6, ARP, DHCP, ICMP, BGP, OSPF,
Livello di rete
RIP, IGRP, IGMP, IPsec...
Ethernet, WiFi, PPP, Token ring,
Livello di collegamento
ATM, FDDI, LLC ...
Doppino, Fibra ottica, Cavo coassiale,
Livello fisico
Codifica Manchester, Codifica 4B/5B, WiFi ...
SMTP
Simple Mail Transfer Protocol (SMTP) è il protocollo standard per la trasmissione via internet di
e-mail. In italiano si potrebbe tradurre come "Protocollo elementare di trasferimento postale".
È un protocollo relativamente semplice, testuale, nel quale vengono specificati uno o più destinatari
di un messaggio, verificata la loro esistenza, e infine il messaggio viene trasferito. È abbastanza
facile verificare come funziona un server SMTP mediante un client telnet. L'SMTP usa il protocollo
di trasmissione TCP e, per accedervi, la porta 25. Per associare il server SMTP a un dato nome di
dominio (DNS) si usa un record denominato MX (Mail Exchange).
L'SMTP iniziò a diffondersi nei primi anni '80. A quel tempo era un'alternativa all'UUCP, che era
più adatto a gestire il trasferimento di e-mail fra computer la cui connessione era intermittente.
L'SMTP, d'altra parte, funziona meglio se i computer sono sempre collegati alla rete.
Sendmail fu uno dei primi (se non proprio il primo) mail transfer agent ad implementare il
protocollo SMTP. Fino al 2001 sono stati scritti almeno 50 programmi che implementano il
protocollo SMTP come client (mittente dei messaggi) o server (destinatario del messaggio). Altri
server molto diffusi sono Exim di Philip Hazel, Postfix di [Wietse Venema], qmail di D. J.
Bernstein, e Microsoft Exchange Server.
Poiché inizialmente l'SMTP era un protocollo testuale (basato sulla codifica ASCII), non
permetteva di trasmettere direttamente file binari. Furono dunque sviluppati standard come il
MIME per la codifica dei file binari ed il loro trasferimento attraverso SMTP. Al giorno d'oggi molti
server SMTP supportano l'estensione 8BITMIME, la quale permette un trasferimento più agevole
dei file binari, come se fossero file di testo.
L'SMTP è un protocollo che permette soltanto di inviare messaggi di posta, ma non di richiederli ad
un server: per fare questo il client di posta deve usare altri protocolli, quali il POP3, o Post Office
Protocol, l'IMAP, o Internet Message Access Protocol.
Esempio di comunicazione SMTP
Quella che segue è una transazione SMTP valida. Le righe inviate dal client sono precedute da "C:",
mentre quelle inviate dal server da "S:". Su molti computer si può stabilire una connessione
mediante il comando telnet:
telnet www.example.com 25
Questo comando apre una connessione a www.example.com sulla porta SMTP.
S:
C:
S:
C:
S:
C:
S:
C:
S:
C:
C:
C:
C:
C:
C:
C:
S:
C:
S:
220 www.example.com ESMTP Postfix
HELO mydomain.com
250 Hello mydomain.com
MAIL FROM: [email protected]
250 Ok
RCPT TO: [email protected]
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: messaggio di prova
From: [email protected]
To: [email protected]
Ciao,
questa è una prova.
.
250 Ok: queued as 12345
QUIT
221 Bye
Sebbene non sia obbligatorio, quasi tutti i client richiedono al server quali estensioni del protocollo
SMTP il server supporta usando il saluto EHLO. Questi client usano HELO soltanto nel caso in cui
il server non risponda ad EHLO.
La sicurezza del protocollo SMTP
Una delle limitazioni del protocollo SMTP originario è che non gestisce l'autenticazione dei
mittenti. Per ovviare a questo problema è stata sviluppata un'estensione chiamata SMTP-AUTH.
Nonostante questo, lo spam rimane ancor oggi un grave problema. Tuttavia, non si ritiene
praticabile una revisione radicale del protocollo SMTP, per via del gran numero di implementazioni
del protocollo attuale (ad esempio, è stato proposto Internet Mail 2000 come protocollo alternativo).
Per questo motivo sono stati proposti diversi protocolli ausiliari per assistere le transazioni SMTP.
L'Anti-Spam Research Group dell'IRTF sta lavorando su varie proposte di autenticazione e-email
centrate sulla flessibilità, leggerezza e scalabilità.
Post Office Protocol
Il Post Office Protocol (detto anche POP) è un protocollo che ha il compito di permettere,
mediante autenticazione, l'accesso ad un account di posta elettronica presente su di un host per
scaricare le e-mail del relativo account. Il demone pop (nella versione 3) rimane in attesa sulla porta
110 dell'host (di default, ma può anche essere diversa) per una connessione TCP da parte di un
client. I messaggi di posta elettronica, per essere letti, devono essere scaricati sul computer (questa
è una notevole differenza rispetto all'IMAP), anche se è possibile lasciarne una copia sull'host. Il
protocollo POP3 non prevede alcun tipo di cifratura, quindi le password utilizzate per
l'autenticazione fra server e client passano in chiaro. Per risolvere questo possibile problema è stato
sviluppata l'estensione APOP che utilizza MD5.
Esempio di comunicazione POP3
Dopo aver stabilito una connessione tra il mittente (il client) e il destinatario (il server), ciò che
accade è l'apertura di una sessione POP3. Nella successiva conversazione, qualsiasi cosa inviata dal
client è preceduta con "C:", mentre qualsiasi cosa inviata dal server è preceduta da "S:". Su molti
computer si può stabilire una connessione mediante il comando telnet:
telnet www.example.com 110
Questo comando apre un collegamento POP3 verso l'host www.example.com.
S:+OK <[email protected]>
C:USER pippo
S:+OK
C:PASS pluto
S:+OK
C:LIST
S:+Ok
1 817
2 124
.
C:RETR 1
S:+OK
Return-Path: <[email protected]>
Delivered-To: [email protected]
Date: Sat, 22 Oct 2005 13:24:54 +0200
From: Mario Rossi <[email protected]>
Subject: xxxx
Content-Type: text/plain; charset=ISO-8859-1
testo messaggio
C:DELE 1
S:+OK
C:QUIT
S:+OK
Protocolli di routing
I Protocolli di routing sono una serie di protocolli che permettono ai router di scambiare
informazioni tra loro al fine di costruire delle tabelle di routing che permettano il corretto
instradamento dei pacchetti.
Tali protocolli sono diversi a seconda che si tratti di router all'interno di uno stesso sistema
autonomo (IGP), Interior Gateway Protocol, oppure di router che collegano tra loro più sistemi
autonomi EGP, Exterior Gateway Protocol.
Per quanto riguarda la prima categoria i protocolli possono essere suddivisi in due classi principali:
Distance Vector e Link State. Quelli distance vector ricevono e mandano informazioni riguardo i
collegamenti solamente ai router adiacenti mentre i link state li mandano a tutti i router del proprio
sistema autonomo.
Protocolli interni al sistema autonomo
•
•
•
Protocolli Distance Vector
o
RIP Routing Information Protocol
o
IGRP Interior Gateway Routing Protocol
Protocolli Link State
o
IS-IS Intermediate System to Intermediate System
o
OSPF Open Shortest Path First
Protocolli Ibridi
o
EIGRP Enhanced Interior Gateway Routing Protocol
Protocolli esterni al sistema autonomo
•
EGP Exterior Gateway Protocol, obsoleto
•
BGP Border Gateway Protocol
User Datagram Protocol
L'User Datagram Protocol (UDP) è uno dei principali protocolli della Suite di protocolli Internet.
UDP è un protocollo di trasporto a pacchetto. È usato di solito in combinazione con il protocollo IP.
A differenza del TCP, non gestisce il riordinamento dei pacchetti né la ritrasmissione di quelli persi.
L'UDP ha come caratteristica di essere un protocollo di rete inaffidabile, privo di connessione, ma
in compenso molto rapido ed efficiente per le applicazioni "leggere" o time-sensitive. Infatti, è
usato spesso per la trasmissione di informazioni audio o video. Dato che le applicazioni in tempo
reale spesso richiedono un ritmo minimo di spedizione, non vogliono ritardare eccessivamente la
trasmissione dei pacchetti e possono tollerare qualche perdita di dati, il modello di servizio TCP può
non essere particolarmente adatto alle esigenze di queste applicazioni. L'UDP fornisce soltanto i
servizi basilari del livello di trasporto, ovvero:
•
multiplazione delle connessioni, ottenuta attraverso il meccanismo delle 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.
Struttura di un datagramma UDP
Un datagramma UDP è composto da 5 campi di cui due sono opzionali. I campi sono:
Porta Sorgente
Porta Destinazione
Lunghezza
Checksum
Dati
Porta Sorgente
contiene la porta sorgente da cui proviene il datagramma ( Lunghezza : 16 bit )
Porta Destinazione
contiene la porta destinazione a cui deve essere spedito il datagramma ( Lunghezza : 16
bit ) .
Lunghezza
contiene la lunghezza totale del datagramma UDP (testata+dati) ( Lunghezza : 16 bit )
Checksum
contiene il codice di controllo del datagramma (testata+dati). L'algoritmo di calcolo è
definito nell' RFC del protocollo (Lunghezza: 16 bit)
Dati
contiene i dati del datagramma ( Lunghezza: in teoria infinita )
Applicazioni che utilizzano UDP
Le applicazioni che hanno la necessità di un trasferimento affidabile dei loro dati si affidano
ovviamente a TCP. Le applicazioni più elastiche riguardo alla perdita dei dati e dipendenti dal
tempo si affidano invece a UDP. Inoltre si utilizza UDP per comunicazioni in broadcast (invio a tutti
i terminali in una rete locale) e multicast (invio a tutti i terminali iscritti ad un servizio).
Un esempio delle applicazioni più diffuse e dei protocolli che adottano:
Applicazione
Posta elettronica
Accesso a terminale remoto
Trasferimento file
Web
Server di file remoto
Telefonia su internet
Gestione della rete
Protocollo di routing
Risoluzione dei nomi
Protocollo strato
applicazione
SMTP
telnet
FTP
HTTP
NFS
proprietario
SNMP
RIP
DNS
Protocollo strato trasporto
TCP
TCP
TCP
TCP
tipicamente UDP
tipicamente UDP
tipicamente UDP
tipicamente UDP
tipicamente UDP
Domain Name System
Domain Name System (spesso indicato con DNS) è un servizio di directory, utilizzato soprattutto
per la risoluzione di nomi di host in indirizzi IP.
Il servizio è realizzato tramite un database distribuito, costituito dai server DNS.
La possibilità di attribuire nomi simbolici agli indirizzi IP degli host è essenziale per l'usabilità di
Internet, perché gli esseri umani trovano più facile ricordare nomi testuali, mentre gli host ed i
router sono raggiungibili utilizzando gli indirizzi IP numerici.
Inoltre è possibile attribuire più nomi allo stesso indirizzo IP, per rappresentare diversi servizi o
funzioni forniti da uno stesso host. Un utilizzo molto popolare di questa possibilità è il cosiddetto
virtual hosting basato sui nomi, una tecnica per cui un web server dotato di una singola interfaccia
di rete e di singolo indirizzo IP può ospitare più siti web, usando l'indirizzo alfanumerico trasmesso
nell'header HTTP per identificare il sito per cui sito viene fatta la richiesta.
I nomi DNS, o "nomi di dominio", sono una delle caratteristiche più visibili di Internet.
C'è molta confusione in merito alla sua definizione, visto che la S spesso viene immaginata stare
per service, ma la definizione corretta è system.
Storia
Il DNS fu inventato il 23 giugno 1983 da Paul Mockapetris, Jon Postel e Craig Partrige; le
specifiche originali sono descritte nello standard RFC 882. Nel 1987 vennero pubblicati commenti
allo standard RFC del DNS, con i nomi RFC 1034 e RFC 1035 rendendo obsolete le specifiche
precedenti.
Nomi DNS
Un nome a dominio è costituito da una serie di stringhe separate da punti, ad esempio
it.wikipedia.org. A differenza degli indirizzi IP, dove la parte più importante del numero è la prima
partendo da sinistra, in un nome DNS la parte più importante è la prima partendo da destra. Questa
è detta dominio di primo livello (o TLD, Top Level Domain), per esempio .org o .it.
Un dominio di secondo livello consiste in due parti, per esempio wikipedia.org, e così via. Ogni
ulteriore elemento specifica un'ulteriore suddivisione. Quando un dominio di secondo livello viene
registrato all'assegnatario, questo è autorizzato a usare i nomi di dominio relativi ai successivi livelli
come it.wikipedia.org (dominio di terzo livello) e altri come
some.other.stuff.wikipedia.org (dominio di quinto livello) e così via.
Tipi di record DNS
Ad un nome DNS possono corrispondere diversi tipi di informazioni. Le principali sono:
•
La più comune è il cosiddetto record "A", che indica la corrispondenza tra un nome ed uno
(o più) indirizzi IP (per la precisione indirizzi IPv4, ovvero la versione attualmente in uso).
•
I record di tipo "MX" (Mail eXchange) indicano invece a quali server debba essere inviata la
posta elettronica per un certo dominio.
•
I record di tipo "CNAME" sono usati per creare un alias, ovvero per fare in modo che lo
stesso calcolatore sia noto con più nomi.
•
Il DNS viene utilizzato anche per realizzare la risoluzione inversa, ovvero per far
corrispondere ad un indirizzo IP il corrispondente nome a dominio. Per questo si usano i
record di tipo "PTR" (e una apposita zona dello spazio dei nomi in-addr.arpa).
•
Gli indirizzi IPv6 sono registrati con record di tipo "AAAA" (questo richiama che un
indirizzo IPv6 è 4 volte più lungo di un indirizzo IPv4).
Vi sono anche tipi di record "di servizio", necessari al funzionamento del database distribuito:
•
I record "NS" (Name Server) sono utilizzati per indicare quali siano in server DNS
autoritativi per un certo dominio, ovvero per delegarne la gestione.
•
I record "SOA" (Start of Authority) sono usati per la gestione delle zone DNS.
Nel DNS possono essere immessi altri tipi di record, alcuni folcloristici, come "LOC", usato (poco)
per riportare le coordinate geografiche di un sito, altri aggiungono funzioni di sicurezza per evitare
manomissioni.
Ad uno stesso nome di dominio, possono essere associati contemporaneamente record di tipo
diverso, o più record dello stesso tipo. Questo generalmente viene fatto per suddividere il carico di
un server molto frequentato su più computer che offrono lo stesso servizio.
I record associati ad un nome di dominio possono cambiare nel tempo, permettendo ad esempio di
assegnare un nuovo indirizzo IP ad un server, facendo in modo che questo continui a rispondere al
nome già noto agli utenti.
Utilizzo dei nomi DNS
Un nome di dominio, come per esempio it.wikipedia.org, può essere parte di un URL Localizzatore
Univoco di Risorse, come http://it.wikipedia.org/wiki/Treno, o di un indirizzo e-mail, come per
esempio [email protected].
Questi sono gli strumenti più utilizzati per identificare una risorsa su Internet, il che spiega la
pervasività dei nomi di dominio.
Molti nomi di dominio utilizzati per server web hanno nella parte sinistra la stringa di caratteri
"www", ma non è sempre necessario averla. In molti casi, ma non sempre, il nome privato del
prefisso "www." porta comunque alla stessa pagina, come per esempio "ns.nl" e "www.ns.nl". Il
nome di dominio più breve (e di conseguenza l'URL più breve) è p.ro.
Realizzazione
I DNS implementano uno spazio dei nomi gerarchico, per permettere che parti di uno spazio dei
nomi, conosciute come "zone", possano essere delegate da un name server ad un altro name server
che si trova più in basso nella gerarchia.
I nomi di dominio sono soggetti a determinate restrizioni: per esempio ogni parte del nome (quella
cioè limitata dai punti nel nome) non può superare i 63 caratteri e il nome complessivo non può
superare i 255 caratteri.
I nomi di dominio sono anche limitati ad un sottoinsieme di caratteri ASCII; in questo modo si
impedisce di scrivere nomi e parole con caratteri che non tutti hanno sulla propria tastiera. Per
superare questa limitazione, il sistema di IDNA e basato sul modello Punycode, rileva stringhe
Unicode in un insieme di caratteri DNS validi, venne approvato dall'ICANN e adottato da alcuni
registri.
Zone, deleghe e repliche
Una zona DNS è una parte dello spazio dei nomi, costituita da un dominio e i suoi sottodomini che
non sono a loro volta delegati, che è sotto una stessa gestione amministrativa e quindi è gestita da
uno o più server.
La gestione di una zona è delegata dalla zona superiore tramite dei record di tipo NS. Ad esempio,
nella zona .org ci sarà una delega per la zona wikipedia.org ai server DNS che la gestiscono. Per
ragioni di ridondanza, una delega è tipicamente costituita da più record NS, che indicano che
ciascuno dei server indicati contiene le informazioni per quella zona (è "autoritativo" per la zona).
All'interno di una zona possono essere delegate delle zone di livello inferiore, ad esempio in
wikipedia.org potrebbero esistere deleghe per devel.wikipedia.org o per
accounting.admin.wikipedia.org.
I diversi server che sono delegati per una zona dovrebbero contenere le stesse informazioni, in
modo che uno qualsiasi di questi possa rispondere ad una query per un record della zona. La replica
è tipicamente basata su un server master (primario), sul quale vengono aggiornate le informazioni e
uno o più server slave (secondari), che copiano le informazioni dal master quando necessario.
L'operazione di copia di tutti i record di una zona dal master ad uno slave è detta zone transfer.
La radice (root) dell'albero dei nomi DNS è la zona . (punto), che è gestita da un insieme di server
chiamati appunto root servers.
Ricorsione
In generale, per ottenere la risoluzione di un nome è necessario partire dalla radice, interrogare uno
dei root servers nel dominio di primo livello, ottenere il server che lo gestisce, interrogarlo nel
dominio di secondo livello, fino a raggiungere il server autoritativo per il nome desiderato. Questa
tecnica è detta "ricorsione".
Caching
Alcuni server si prestano ad effettuare query ricorsive per conto di alcuni client. Una volta che
hanno ottenuto una risposta, memorizzano in una cache tutte le informazioni che hanno imparato,
fino alla loro scadenza. Alcune implementazioni del servizio DNS permettono di realizzare i
cosiddetti servers caching only, ovvero privi di database proprio, ma utili per reindirizzare ad un
server autoritativo le query di risoluzione. Tale caratteristica è utile soprattutto quando la
risoluzione deve essere effettuata attraverso collegamenti lenti (con velocità inferiore a 500 kbps) o
firewall.
Utilizzo
Per utilizzare il servizio, è necessario configurare su ciascun client uno o più server DNS di
riferimento. Questi sono predisposti a effettuare query ricorsive e che effettuano servizi di caching.
Quando un sistema ha la necessità di comunicare con un altro sistema, chiede al server DNS di
riferimento di effettuare il processo detto di "risoluzione" del nome in un indirizzo IP. Il server
effettua una ricerca all'interno del suo database per ottenere l'indirizzo IP corrispondente al sistema
ricercato.
Se il server interrogato possiede l'informazione richiesta, il processo di ricerca termina con l'invio
dell'indirizzo IP al richiedente. Se la ricerca ha esito negativo il server effettua una richiesta
"ricorsiva".
Implementazione
Il protocollo DNS è implementato da diversi software. Di seguito alcuni dei più diffusi:
•
BIND (Berkeley Internet Name Domain), il nome del più comune demone DNS usato sui
sistemi Unix.
•
DJBDNS (Dan J Bernstein's DNS implementation)
•
MaraDNS
•
NSD (Name Server Daemon)
•
PowerDNS
•
DDNS (Dynamic Domain Name System) Il servizio DNS alla base dei servizi di directory
Microsoft incluso nelle versioni server da Windows_2000 in poi.
Il DNS utilizza il protocollo di trasporto UDP e la porta 53 per soddisfare le richieste di risoluzione
provenienti dagli host.
I server DNS effettuano gli zone transfer usando il protocollo di trasporto TCP e la porta 53. Questa
porta viene usata anche quando una query ha una risposta molto lunga.
Il lato client del servizio DNS è normalmente implementato tramite librerie di sistema, che spesso
lo integrano con altri servizi di risoluzione, come ad esempio WINS, NIS, o con la consultazione di
file locali, in modo che un utente possa utilizzare un nome simbolico in un'applicazione ed ottenere
la sua risoluzione in un indirizzo IP senza preoccuparsi di quale strumento è stato utilizzato per
ottenere la risoluzione.
Il sistema DNS in Internet
Qualsiasi rete IP può usare il DNS per implementare un suo sistema di nomi privato. Tuttavia, il
termine "nome di dominio" è più comunemente utilizzato quando esso si riferisce al sistema
pubblico dei DNS su Internet. Questo è basato su 13 "root server" universali, i cui indirizzi IP sono
distribuiti indipendentemente dal DNS tramite un file detto "root hints" (letteralmente: indizi per la
radice). Da questi server principali, il DNS viene poi delegato ad altri server DNS che si occupano
dei nomi all'interno di parti specifiche dello spazio dei nomi DNS.
Dieci dei tredici root server sono, almeno nominalmente, situati negli USA. Tuttavia, dato l'accesso
a molti di essi è realizzato tramite indirizzamento anycast, che permette di assegnare a più computer
lo stesso indirizzo IP per fornire un servizio uniforme su vaste aree geografiche, la maggior parte
dei server sono in effetti localizzati al di fuori degli Stati Uniti.
Il proprietario di un nome di dominio è rintracciabile in un database chiamato Whois: per molti
domini di primo livello un Whois base è gestito dalla IANA, con il Whois dettagliato mantenuto
dall'autorità di registrazione che controlla quel dominio. Per i più di 240 domini nazionali l'autorità
di registrazione gestisce in esclusiva il Whois per il dominio di competenza.
Politica
L'attuale modalità di controllo del sistema DNS offre spesso alcune criticità. Il problema più
comune è l'abuso monopolistico da parte di grosse societa maintainer, come ad esempio l'americana
VeriSign, Inc..