LE RETI INFORMATICHE
1 INTRODUZIONE ........................................................................................................................... 1
2 I MEZZI TRASMISSIVI ED IL CABLAGGIO.................................................................................. 3
2.1 DOPPINO TELEFONICO....................................................................................................... 3
2.2 FIBRA OTTICA....................................................................................................................... 4
2.3 COMUNICAZIONI VIA ETERE...............................................................................................4
2.4 CANALI TRASMISSIVI E TOPOLOGIE................................................................................. 5
2.5 CABLAGGIO STRUTTURATO.............................................................................................. 5
3 RETI LOCALI (LAN)....................................................................................................................... 6
3.1 ETHERNET............................................................................................................................ 6
4 RETI GEOGRAFICHE (WAN)....................................................................................................... 7
4.1 CONNESSIONI PERMANENTI.............................................................................................. 7
4.2 CONNESSIONI A COMMUTAZIONE DI CIRCUITO ............................................................ 7
5 L’ARCHITETTURA TCP/IP............................................................................................................ 8
5.1 IP (INTERNET PROTOCOL)................................................................................................. 8
5.2 TCP E UDP............................................................................................................................ 9
5.3 ARCHITETTURA CLIENT-SERVER E PEER-TO-PEER...................................................... 9
5.4 LE APPLICAZIONI UTENTE................................................................................................ 10
5.4.1 Domain Name Server (DNS)........................................................................................ 10
5.4.2 DHCP............................................................................................................................ 11
5.4.3 LA Posta Elettronica..................................................................................................... 11
5.4.4 Accesso Remoto alle interfacce Utente .......................................................................12
5.4.5 IL File Transfer..............................................................................................................12
5.4.6 L`architettura WWW..................................................................................................... 12
6 LA SICUREZZA DELLE RETI INFORMATICHE......................................................................... 13
6.1 IL PROBLEMA DELLA SICUREZZA.................................................................................... 13
6.2 PROTEZIONE DEI SISTEMI TRAMITE PASSWORD.........................................................13
6.3 MINACCE AI PROGRAMMI E FIREWALL.......................................................................... 14
6.4 WORM E VIRUS.................................................................................................................. 14
6.5 CRITTOGRAFIA................................................................................................................... 15
1 INTRODUZIONE
Le reti informatiche sono infrastrutture di collegamento che permettono la comunicazione tra piu`
calcolatori. Lo scopo della comunicazione e` di offrire servizi di trasferimento di informazioni (file di
dati, e-mail, programmi, streaming multimediali, ecc), di condividere periferiche (stampanti,
cartelle, ..) oppure di fare comunicare processi collaboranti (sistemi operativi distribuiti, calcolo
parallelo, ecc,). Ciascuna di queste applicazioni possiede determinati requisiti di comunicazione
(velocità, affidabilità, priorità, ecc) e quindi le possibili applicazioni dipendono dalle caratteristiche
della rete di cui si dispone.
Ad esempio il trasferimento di file, la posta elettronica e la condivisione di stampanti possono
funzionare anche su reti a bassa velocità, purche` vi sia la garanzia del corretto trasferimento delle
informazioni. Le comunicazioni multimediali in tempo reale (streaming audio e video) richiedono
una maggiore velocità ed continuità del tasso di trasferimento (bit-rate), ma ammettono una
(limitata) perdita di dati.
Esistono 2 categorie fondamentali di reti: le reti locali (LAN) e le reti geografiche (WAN).
Le LAN sono reti che connettono elaboratori localizzati tipicamente all'interno di un edificio ed
hanno un diametro dell'ordine del centinaio di metri.
Le WAN connettono elaboratori distanti fra loro, per i quali non e' possibile utilizzare propri mezzi
trasmissivi ma occorre rivolgersi ad un provider di telecomunicazioni. La connettività che i provider
forniscono puo' variare da un ambito cittadino fino a distanze intercontinentali.
Le reti WAN possono interconnettere sia singoli elaboratori (esempio home-computing) che reti
1
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
LAN e possono essere interconnesse tra loro fino a formare una unica rete mondiale (Internet).
Nota: comunicazioni seriali e parallele
Generalmente nelle comunicazioni digitali i dati possono essere trasferiti in modo seriale (un bit
per volta su di un singolo filo) o in modo parallelo (n bit contemporaneamente su n fili).
La comunicazione parallela e` piu` veloce ma la distanza massima e` di pochi metri. Per questo
motivo si usa la comunicazione parallela all`interno degli elaboratori (bus di sistema) o per
connettere periferiche veloci, mentre le reti di calcolatori utilizzano comunicazioni seriali.
Ogni tratta della rete e' condivisa da diverse comunicazioni tra diverse coppie di elaboratori
(documenti web, download file, e-mail, ecc).
Per avere un utilizzo ottimale della rete e' necessario frazionare i messaggi in "pacchetti" di
dimensione limitata. Ogni pacchetto in circolazione sulla rete conterra' quindi un campo dati
(frazione di messaggio) e un campo di servizio (identificativo del mittente e del destinatario,
identificativo del messaggio completo, ecc. ).
Per fare in modo che un pacchetto raggiunga il destinatario, anche quando il percorso deve
attraversare diverse reti, sara' indispensabile un coordinamento tra le reti per garantire il corretto
"instradamento" dei pacchetti. Questa funzione e` svolta da appositi apparati di rete detti
"Router" (o Gateway).
Ogni singola tratta della rete ha una propria "bandwidth" (larghezza di banda) ovvero il massimo
numero di bit per secondo che puo' attraversare la tratta. Generalmente il percorso tra 2
eleboratori della rete informatica attraversa diverse tratte. La bandwidth tra i 2 elaboratori coincide
con la bandwith della tratta piu' lenta.
Questo e' il massimo numero di bit/s che pero' dovra' essere condiviso tra le connessioni che,
istante per istante, attraversano la tratta.
2
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
Nota: PROTOCOLLI
Nella comunicazione tra 2 o piu` calcolatori si intende per "Protocollo di comunicazione" l’insieme
di regole condivise tra i partecipanti alla comunicazione affinche` le informazioni scambiate tra le 2
parti risultino reciprocamente comprensibili.
Spesso per realizzare un protocollo completo, in grado di fare comunicare una rete di calcolatori,
occorre affrontare una serie di problemi che per loro natura sono a "livelli stratificati": a partire
da livello fisico del cablaggio fino al livello dell’applicazione utente. Ogni problematica e' confinata
in un livello e risolta mediante un opportuno protocollo "specializzato". Il principale vantaggio di
questa organizzazione a strati consiste nella possibilta` di aggiornare/sostituire uno strato in modo
trasparente agli stati superiori ed inferiori.
Esiste un modello astratto che definisce tutti i possibili livelli in cui possiamo suddividere gli
aspetti
della
comunicazione:
il
modello
ISO/OSI
(vedi
ad
esempio
http://www.fis.unipr.it./lca/Corsi/iso_osi/iso_osi.html ).
Sulla base di questo modello astratto sono stati realizzati diversi protocolli di comunicazione tra i
quali il piu' diffuso (perche' utilizzato per Internet) e' il TCP/IP.
Al livello piu` alto del TCP/IP , denominato applicazione, sono posizionati tutti i programmi di rete
(con relativi protocolli) utilizzati dall'utente, quali WWW (con protocollo http), la posta elettronica
(protocollo SMTP), il trasferimento di file (protocollo ftp), ecc.
2 I MEZZI TRASMISSIVI ED IL CABLAGGIO
Il mezzo trasmissivo e` il supporto fisico utilizzato per il trasferimento delle informazioni.
I mezzi trasmissivi si dividono in tre categorie: Elettrici, Ottici e Wireless.
Fanno parte della prima i doppini telefonici e il cavo coassiale, mentre la seconda comprende la
fibra ottica. La terza categoria comprende ponti radio, satelliti e, genericamente, tutte le
trasmissioni via etere.
Le caratteristiche utili per un mezzo trasmissivo sono:
- La larghezza della banda trasmissibile (maggiori sono le frequenze che possono
attraversare il mezzo maggiore e` il numero di bit/s che possiamo ottenere)
- L’attenuazione (caduta del segnale in funzione della distanza e della frequenza trasmessa)
- Diafonia (disturbo reciproco tra mezzi trasmissivi che corrono paralleli)
- Immunità da disturbi elettromagnetici
- Costo
- Praticita` nella posa e nella connettorizzazione (installazione del connettore all`estremita`
del mezzo trasmissivo).
2.1 DOPPINO TELEFONICO
Il doppino (Twisted Pair) consiste in una coppia di fili di rame, isolati singolarmente, ritorti tra di
loro, in modo da formare una treccia. Viene chiamato doppino telefonico perche` e` stato installato
originariamente per collegare le case alle centrali telefoniche.
Oggi si costruiscono doppini facendo molta attenzione ad inguainare e a binare i due fili in modo il
più possibile uniforme, in modo da avere disturbi e.m. simmetrici e quindi facilmente eliminabili; la
maggiore qualità del cavo consente una maggior larghezza di banda.
Per aiutare nella scelta del doppino esistono diverse categorie, ognuna delle quali comprende le
caratteristiche delle categorie inferiori.
Categoria 1
Categoria 2
Categoria 3
Categoria 4
Categoria 5
3
installati nelle case fino a qualche anno fa per la telefonia
attualmente installati nelle case per telefonia, ISDN, ADSL
cavi per TD per reti LAN fino a 10 Mbit/s (in disuso)
cavi per TD per reti LAN fino a 20 Mbit/s (in disuso)
cavi per TD per reti LAN fino a 100 Mbit/s - utilizzati nel cablaggio strutturato
per le LAN (vedi piu’ avanti)
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
Con la migliore qualita’ di doppino (cat. 5) la larghezza di banda e’ di circa 3MHz e la massima
distanza raggiungibile e’ di 100 mt a 1Gb/s o 5Km a 1Mb/s.
2.2 FIBRA OTTICA
La fibra ottica è il materiale del futuro poiché presenta notevoli vantaggi:
- la totale immunità dai disturbi e.m. (non è infatti costituita da materiale conduttore).
- larga banda di utilizzo (si usa per TD di decine di Gb/sec)
- bassa attenuazione e diafonia assente
- dimensioni ridotte e costi contenuti.
Un cavo in fibra ottica è costituito dal core, dal cladding, da un rivestimento primario e dalla guaina
protettiva; il core è il nucleo, il cladding è il mantello. Hanno due indici di rifrazione diversi, il primo
è maggiore del secondo, affinché la luce rimanga confinata all'interno del core.
La fisica delle fibre ottiche è l'ottica geometrica. Molto importante è l'angolo rispetto l'asse del cavo
con cui i raggi luminosi vengono indirizzati all'interno del core. Esiste infatti un angolo massimo di
incidenza , detto angolo critico, al di sotto del quale i raggi vengono totalmente riflessi dal cladding
e rimangono, quindi, all'interno del core.
Queste caratteristiche rendono la fibra ottica ideale per connessioni WAN (larga banda, bassa
attenuazione, immunita` da disturbi). Per le connessioni LAN non e` molto utilizzata a causa
dell`alto costo di connettorizzazione (inserire ed estrarre il segnale agli estremi di un cavo). La
banda passante e’ di qualche GHz, mentre la massima distanza raggiungibile e’ di alcune
centinaia di Km.
2.3 COMUNICAZIONI VIA ETERE
I segnali vengono trasmessi mediante antenne di trasmissione e antenne di ricezione. Le antenne
possono essere direzionali (comunicazione tra 2 antenne allineate denominata Ponte-Radio) o
non direzionali (una trasmissione puo’ essere ricevuta da piu’ antenne). Le frequenze utilizzate
sono classificabili in 3 categorie:
- Da 30 MHz a 1 GHz: trasmissioni non direzionali utilizzate anche dai telefoni cellulari (i cellulari
GMS utilizzano frequenze da 900 a 1800 MHz, mentre UTMS utilizza 2GHz).
- Da 2 GHz a 40 GHz (microonde) ideale per le comunicazioni direzionali e per le comunicazioni
via satellite.
- Da 300 GHz a 200 THz (Infrarossi) per applicazioni locali in cui trasmettitore e ricevitore
devono essere a visibilità ottica.
4
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
2.4 CANALI TRASMISSIVI E TOPOLOGIE
Con i mezzi trasmissivi possiamo realizzare 3 tipi di canali di
comunicazione: punto-punto multi-punto e multiaccesso.
Con la fibra ottica possiamo realizzare unicamente
connessioni punto-punto (2 connessioni monodirezionali). Il
doppino puo` funzionare in modo bidirezionale (fonia) e in
multipunto, ma usualmente si utilizza per T.D. in modo
monodirezionale punto-punto (come la fibra).
La comunicazione via etere utilizza tipicamente il multiaccesso
(broadcast).
In presenza di una rete di calcolatori i canali di comunicazione
possono essere organizzati secondo diverse topologie: a
stella ad anello, a bus e a maglia.
La topologia a stella ha un punto di criticita` nel nodo centrale
ma semplifica la gestione e la manutenzione. La struttura ad
albero viene utilizzata per il cablaggio strutturato. La maglia e`
la configurazione tipica delle reti geografiche.
2.5 CABLAGGIO STRUTTURATO
In questi ultimi anni è nata l'esigenza di dotare gli edifici di un impianto per trasmissione dati (per
realizzare una LAN) proprio come si fa per l'impianto idraulico e l’impianto elettrico.
Questo tipo di impianto viene denominato "cablaggio strutturato".
L’impianto e` realizzato mediante l’installazione di cavi elettrici che dai punti di accesso degli
utenti (studi, laboratori) convergono in "armadi di piano". Questi cavi devono essere doppini
certificati di categoria 5 (per reti ad alta velocità) dotati di 4 coppie e prese di accesso denominate
RJ45. In figura il connettore RJ45:
Gli armadi di piano sono interconnessi mediante altri doppini o fibre ottiche (a seconda delle
situazioni).
5
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
3 RETI LOCALI (LAN)
3.1 ETHERNET
La tecnologia che attualmente copre la quasi totalità di reti LAN al mondo e denominata "Ethernet"
(tecnicamente IEEE802.3).
Ethernet puo` utilizzare diversi mezzi trasmissivi: doppino telefonico, fibra ottica e wireless.
Ethernet si appoggia generalmente sul cablaggio strutturato dell’edifico (se esiste).
La velocita` di comunicazione originariamente era di 10Mbit/s. Poi la tecnologia ha raggiunto i 100
Mbit/s e infine i 1000Mb/s (1Gb/s). Se il controller supporta piu` velocita` (esempio 10/100 Mb/s) si
accorderà di volta in volta con la controparte sulla massima velocita` comune.
Ogni nodo della LAN (server, PC, apparato di rete..) deve possedere un opportuno controller
Ethernet. Ogni controller ethernet possiede un proprio indirizzo univoco di 6 byte scritto in modo
permanente sul controller dal costruttore denominato Mac Address (esempio: 00-01-02-1B-44-7F).
Esercizio: Verificare il Mac Address (Physical Address) della scheda di rete del PC
Windows2000 e XP: Aprire la shell DOS e digitare il comando ipconfig /all
Win9x/Me
: Start -> esegui -> Winipcfg
Linux
: Digitare /sbin/ifconfig
6
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
La topologia logica di Ethernet e` un bus: tutte le stazioni possono spedire pacchetti nella rete
locale; tutte le altre stazioni li ricevono, ma soltanto il destinatario li leggerà.
Per realizzare la topologia fisica a stella su di una topologia logica a bus occorrono apparati di rete
denominati "HUB" che hanno il compito di replicare su tutti i rami i pacchetti ricevuti.
Gli "Switch" sono apparati piu` "intelligenti" in grado di smistare il pacchetto solo sul ramo dove e`
presente il destinatario.
Ethernet puo` viaggiare anche via etere (wireless). In questo caso la comunicazione piu` lenta
(11Mbit/s, la tecnologia si chiama WI-FI 802.11), ma ha il vantaggio di non richiedere un cablaggio
fisso. E` quindi adatta per computer portatili o per edifici in cui e’ difficoltoso realizzare il cablaggio
strutturato.
4 RETI GEOGRAFICHE (WAN)
Le connessioni remote per realizzare le WAN sono generalmente punto-punto e vengono fornite
dai “Provider di Telecomunicazione”. Possono essere permanenti o commutate.
4.1 CONNESSIONI PERMANENTI
Sono connessioni realizzate mediante un un circuito che interconnette permanentemente le due
estremità. Esistono diverse tecnologie (CDN, ADSL ..) in grado di fornire diverse velocita` di
connessione. La tariffazione dipende dalla velocita` richiesta (bit/s) e dalla distanza.
4.2 CONNESSIONI A COMMUTAZIONE DI CIRCUITO
Sono linee il cui il circuito che fisicamente interconnette le 2 estremita’ e’ attivato
temporaneamente, su richiesta, grazie a commutatori di circuito. Questa e’ la tecnica utilizzata per
la telefonia. Il Modem e’ un apparato che permette di utilizzare artificiosamente le linee della
telefonia per la trasmissione di dati. Il termine MODEM sta per MODulatore/DEModulatore, poiche`
la sequenza di bit da trasmettere viene modulata codificando i 2 valori 0 e 1 in frequenze
analogiche tipiche della voce umana, ovvero comprese tra 1 e 4 KHz; in fase di ricezione il modem
deve demodulare, ovvero decodificare il segnale analogico ritrasformandolo in sequenze binarie.
La tariffa della comunicazione e` ovviamente lo stesso delle telefonate analogiche e quindi
dipende dal tempo di connessione e dalla distanza.
ISDN: Attualmente le linee commutate possono essere anche digitali (con 2 canali da 64Kbit/s) su
cui si puo` trasmettere la voce digitalizzata oppure dati informatici.
7
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
5 L’ARCHITETTURA TCP/IP
Le reti locali e geografiche forniscono una connettivita` diretta (tra i nodi della rete locale, o tra gli
estremi di una connessione geografica) a livello di pacchetti.
Per fornire un servizio omogeneo e ad alto livello di astrazione alle applicazioni di utente occorre
uno stato di software di rete intermedio. Sicuramente il piu` diffuso e` TPC/IP a causa della sua
adozione per la realizzazione della rete mondiale (Internet).
TCP/IP e` a sua volta composto da 2 sottolivelli principali:
o Il livello "rete" IP
o I livelli "Trasporto" TCP e UDP.
5.1 IP (INTERNET PROTOCOL)
Da` il nome ad Internet. E` il protocollo che si occupa di dare una numerazione uniforme a tutti gli
oggetti che vogliono comunicare in rete (PC, server, stampanti, apparati di rete .. ) e si occupa del
meccanismo di instradamento.
Ad ogni elemento della rete IP viene assegnato un numero univoco di 4 Byte, rappresentato
mediante 4 numeri decimali separati da punto. Esempio 172.28.33.2
Questo numero e` composto da 2 parti: la prima parte e` il numero di network, la seconda e` il
numero di host. Esempio: 172.28 e` il numero di network, mentre 33.2 e` il numero di host.
La distinzione network/host server per l’instradamento: se il destinatario ed il mittente hanno lo
stesso numero di network significa che non e` necessario l’instradamento (ad esempio perchè i 2
host sono sulla stessa LAN). Se invece i numeri di Network sono differenti allora il pacchetto deve
essere affidato ad un router (detto anche gateway) per l’instradamento.
Configurazione del PC:
In ogni PC dovranno essere configurati i seguenti dati:
Indirizzo IP. Numero univoco e compatibile con la rete (LAN o WAN) a cui e` connesso.
Netmask. Numero di 4 Byte che separa la parte Network dalla parte host. Gli 1 identificano la
parte Network, mentre gli 0 identificano la parte host. Se ad esempio scriviamo NetMask=
255.255.255.0 intendiamo 24 bit a 1 seguiti da 8 bit a 0, quindi i primi 3 byte saranno Network,
mentre l`ultimo byte e` la parte Host.
Default Gateway. Indirizzo utilizzato come destinatario locale a cui affidare i pacchetti indirizzati a
altre Network.
DNS Server: Server di riferimento per la traduzione Nome->NumeroIP (esempio Galileo.fis.unipr.it
-> 192.135.11.1).
Questi 4 dati possono essere impostati manualmente oppure possono essere forniti
automaticamente al PC attraverso nel momento in cui si accede ala rete. Per avere questo
servizio e` necessaria la presenza in rete di un opportuno server denominato “DHCP server” che
ha in gestione un insieme di numeri IP che affitta (lease) i PC che ne fanno richiesta.
8
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
5.2 TCP E UDP
Sono protocolli che forniscono al livello dell’applicazione utente le 2 principali tipologie di servizi
per la rete: Connection Oriented (TCP) e Connection Less (UDP).
Il servizio "Connection Oriented" del TCP puo` essere paragonato al telefono: il chiamante manda
al destinatario una richiesta di attivazione di un circuito per la comunicazione; se il chiamato
accetta il circuito viene attivato e rimane attivato fino a quando uno dei due non chiede
l’abbattimento del circuito. Per ogni pacchetto spedito sul canale il destinatario dovra` spedire un
pacchetto di conferma nella direzione opposta. Questo rende molto affidabile la comunicazione,
anche se introduce un traffico aggiuntivo sulla rete.
Il servizio "Connection Less" del UDP puo` essere paragonato alla lettera postale: il mittente invia
un singolo messaggio (pacchetto) al destinatario senza accordo preventivo e non avra` modo di
sapere se il messaggio e` stato ricevuto se non attraverso un secondo messaggio (UDP) inviato
nella direzione opposta.
Il servizio UDP viene scelto quando e` necessario inviare comunicazioni brevi e veloci; non c`e` la
necessita` di un accordo tra le parti, ma non c`e` nemmeno garanzia di consegna.
Il servizio TCP viene scelto quando la comunicazione puo` essere piu` articolata e richiede
garanzia di ricezione.
Tutti le principali applicazioni utente (tranne DNS) utilizzano TCP.
Dal momento che un elaboratore in rete puo` avere piu` connessioni attive contemporaneamente
(UDP o TCP), ogni connessione su di un elaboratore verra` contraddistinta da un numero detto
"Porta".
Esempio: (192.135.11.1, 1154/TCP) -> (172.28.33.2, 80/TCP)
Questo e` un esempio dell’identificativo di una connessione TCP tra la porta 1154 del nodo
192.135.11.1 e la porta 80 del nodo 172.28.33.2
5.3 ARCHITETTURA CLIENT-SERVER E PEER-TO-PEER
Esistono 2 possibili modelli per realizzare applicazioni di rete: il client-server e il peer-to-peer
(P2P).
Nel primo caso i nodi della rete possono essere client
oppure server.
Il server e` un calcolatore che fornisce un servizio su cui
gira continuamente un programma in ascolto su di una
porta TCP o UDP.
Uno o piu` calcolatori denominati client (anche
contemporaneamente) possono contattare il server per
accedere al servizio. Il dialogo tipico consiste nell`invio di
una richiesta e nella attesa della risposta.
In una rete P2P “pura” non esistono nodi privilegiati; la rete e` formata da
diverse coppie di nodi in cui ogni nodo puo` scambiare servizi con l`altro.
La condivisione di file (file sharing) e` il servizio piu` utilizzato nelle reti
P2P
9
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
Esistono reti P2P con discovery server in cui e` prevista la presenza di
un server per tenere traccia dei peer connessi.
Napster (smantellato nel 99) e` stato uno dei primi protocolli P2P funzionante su larga scala; era
composto da un insieme di server con il compito di mantenere una lista aggiornata di utenti
connessi e di documenti condivisi, ma lo scambio di documenti avveniva in modo P2P “puro”.
Gnutella e` invece un esempio di rete completamente decentralizzata. Un nuovo utente puo`
unirsi alla rete conoscendo l`indirizzo di una qualsiasi macchina gia` in rete. La ricerca di un
documento avviene tramite un “broadcasting” del messaggio di ricerca, ossia l`utente invia la
richiesta a tutti i nodi che conosce i quali, a loro volta, propagano la richiesta ad altri nodi fino a
quando non viene contattato un nodo con il documento richiesto (o scade il tempo di vita della
ricerca).
http://utenti.lycos.it/bigroberto/reti_p2p.htm
5.4 LE APPLICAZIONI UTENTE
Le principali applicazioni in Internet sono di tipo Client-Server. Quando si desidera costruire una
nuova applicazione di rete occorre innanzitutto stabilire (in base al tipo di servizio) se utilizzare
TCP o UDP. Quindi occorre individuare un numero di porta per il programma server a cui
dovranno connettersi i client. Infine occorre stabilire un "linguaggio" (o protocollo) comune per la
comunicazione tra client e server. Tutte le principali applicazioni di rete hanno un numero di porta
stabilito universalmente da un Organismo internazionale denominato IANA ("well known ports").
La porta del client invece viene assegnata dinamicamente e puo` cambiare ad ogni connessione.
5.4.1 Domain Name Server (DNS)
L'utente della rete puo' riferirsi alle stazioni remote utilizzando il loro numero tcp/ip, ma ben presto
ci si rende conto che chiamare una stazione per nome e' piu' semplice! Per questo motivo ad ogni
numero tcp/ip puo' essere associato un nome mnemonico come ad esempio galileo.fis.unipr.it.
Il nome completo e` composto da un nome dell`host + un nome di dominio che e` comune a tutti
gli host appartenenti allo stesso dominio organizzativo. Nell`esempio di prima "galileo" e` il nome
dell`host, mentre "fis.unipr.it" e` il nome del dominio che in questo caso rappresenta il
Dipartimento di Fisica (Generalmente il dominio coincide con la rete locale IP, ma esistono casi in
cui le 2 cose non coincidono).
Ogni nodo della rete possiede un nome a cui possiamo associare uno o piu' "alias" ovvero altri
nomi per riferirsi alla stessa macchina. Ad esempio www.fis.unipr.it e' una alias di
galileo.fis.unipr.it ; in questo modo il servizio www puo' essere spostato su di un calcolatore
diverso senza cambiare il nome della macchina, semplicemente ridefinendo l`alias.
Per ogni dominio deve esistere un server denominato DNS che ha il compito di gestire le
traduzioni nome/numero e numero/nome per gli host del dominio.
Il servizio DNS e` una delle poche applicazioni ad utilizzare UDP.
La porta utilizzata e` la 53/UDP
I client invieranno un pacchetto al server contenente la richiesta; il server rispondera` con un
pacchetto contenente la risposta.
10
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
Ogni programma client che utilizza la rete mediante nomi (Explorer, outlook, ecc) conterra` un
piccolo client DNS per la traduzione del nome da utilizzare prima di realizzare la connessione al
proprio server. I DNS server per i domini in unipr.it
Ogni PC dovra` quindi contenere l’informazione riguardo il server DNS del proprio dominio.
Se questa informazione non e` impostata il PC potra` utilizzare la rete riferendosi ai server per
numero e non per nome (esempio http://192.135.11.1/ )
5.4.2 DHCP
DHCP (Dynamic Host Configuration Protocol) viene utilizzato per la configurazione dinamica del
protocollo TCP/IP sui computer. Al momento dell'avvio, il computer client DHCP invia una
richiesta. Quando il server DHCP riceve la richiesta, sceglie i parametri di configurazione TCP/IP
per il client. Tali parametri sono l'indirizzo IP, la maschera di rete, il gateway predefinito, l'indirizzo
del server DNS, il nome del dominio del client, e così via. Utilizzando questi parametri, il server
crea una risposta e la invia al client.
L’indirizzo IP che DHCP fornisce puo` essere statico (ovvero associato permanentmente ad un
client) oppure dinamico (l’indirizzo e` assegnato per il periodo di connessione, poi viene ritirato e
puo` essere rassegnato ad un altro client).
La porta utilizzata dal dhcp server e` la 67/udp.
Per semplificare l`accesso al server DHCP, il client contatta il server mediante la modalità di
comunicazione denominata “broadcast” secondo la quale un pacchetto puo` essere indirizzato a
tutti i nodi della rete locale. Tutti i nodi della rete preleveranno il pacchetto, ma soltanto il dhcp
server lo riconoscera` ed utilizzera` per l’elaborazione della richiesta.
5.4.3 LA Posta Elettronica
La posta elettronica e' uno degli applicativi piu' diffusi in Internet.
Il protocollo utilizzato per lo scambio dei messaggi e' detto SMTP (Simple Mail Trasfer Protocol);
la porta essegnata per il server SMTP e' la 25/TCP.
Il programma server SMTP quando riceve un messaggio lo deposita nella casella del destinatario
(MAILBOX).
Per leggere il messaggio il destinatario puo' utilizzare il calcolatore stesso su cui risiede la Mailbox
oppure utilizzare un calcolatore diverso. Per accedere alla mailbox in modo remoto esistono 2
ulteriori protocolli di rete (alternativi): POP (110/TCP) e IMAP (143/TCP).
I client di posta elettronica (Outlook, Netscape Messanger, Eudora, pine, ...) sono dotati di un
client POP o di un client IMAP (o entrambi).
La scelta tra POP e IMAP dipende dal modo con cui si intendono organizzare i messaggi ricevuti:
con POP il client si connette al server quindi trasferisce localmente tutti i nuovi messaggi;
utilizzando IMAP i messaggi vengono gestiti in modo remoto sul server.
I client di posta elettronica utilizzano
il server SMTP anche per la
spedizione: i messaggi in uscita
vengono affidati al server SMTP
locale , il quale si occupera' di
contattare il server SMTP del
destinatario. In questo caso il server
SMTP funge da "proxy", ovvero
spedisce
il
messaggio
al
destinatario "per conto" di un altro
calcolatore.
11
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
5.4.4 Accesso Remoto alle interfacce Utente
Accesso remoto “a linea di comando”
L'interazione con il calcolatore "a linea di comando" (SHELL). tipica dei sistemi Unix, puo' avvenire
anche a distanza mediante un opportuno applicativo client-server.
Il login remoto consente quindi di utilizzare tastiera e monitor del client per interagire con il sistema
operativo del server.
Il protocollo piu' diffuso in Internet per il login remoto e' telnet.
telnet fa parte degli applicativi "storici" di internet (assieme a smtp e ftp). Il programma server
utilizza la porta 23/TCP.
Tutti i comandi digitati dal client (compresa la password per l'identificazione dell'utente) viaggiano
"in chiaro" sulla rete, mettendo a repentaglio la sicurezza e la riservatezza.
Per superare questo problema si e' affermato in questi ultimi anni un nuovo programma per il login
remoto in cui la comunicazione avviene in modo cifrato, denominato SSH (Secure SHell). SSH
server utilizza la porta 22/TCP.
Accesso remoto mediante interfacce grafiche (GUI)
Esistono diversi programmi per accedere in modo remoto alle interfacce grafiche. In ambiente
Unix la costruzione delle interfacce grafiche avviene mediante un protocollo denominato X
protocol il quale consente di separare su diversi calcolatori la parte applicativa e la sua interfaccia
grafica.
Il ambiente Windows esistono applicazioni client-server che consentono il controllo remoto del
desktop. Ad esempio:
PC_anywhere (commerciale) - Server Win (porta 5631) - Client Win
VNC (open software) - Server Win/Linux (port 5900) - Client Win/Linux
Terminal service (incluso in Win2000 server) - Server Win2000 (port 3389) - Client Win/Linux
(vedi www.rdesktop.org)
5.4.5 IL File Transfer
Il file transfer e' un applicativo di rete mediante il quale e' possibile trasferire file tra elaboratori
connessi in rete.
Il protocollo e' denominato FTP (porta 20/TCP per i dati e 21/TCP per i comandi). Il client, dopo
essersi autenticato sul server puo' trasferire file da server a client (download) o da client a server
(upload).
Esiste un particolare tipo di server FTP, denominato "ftp anonimo" che non richiede
autenticazione, ma che prevede solo il download. Questo tipo di server permette di distribuire (in
modo anonimo) archivi di software, documenti e dati attraverso internet.
5.4.6 L`architettura WWW
Il WWW ha una storia relativamente recente: nasce nel 1990 nel mondo della Fisica per mano di
Tim Barners Lee presso il CERN di Ginevra.
Lo scopo era di realizzare una architettura di documenti multimediali ipertestuali distribuiti nella
rete Internet.
Per questo e' stato creato il nuovo protocollo HTTP in cui il server (porta 80/TCP) gestisce e
distribuisce i documenti a opportuni client (browser) capaci di connettersi al server , scaricare il
documento e riprodurlo in forma multimediale/ipertestuale.
Ogni documento e' identificato mediante un URL (Uniform Resource Locator) det tipo:
schema://host.domain/path
Lo schema e' il protocollo usato; principalmente e' HTTP
Esempio: http://www.fis.unipr.it/home/alfieri/index.html
HTMLe' il linguaggio attraverso il quale possiamo costruire documenti multimediali ipertestuali.
I client browser sono usualmente in grado di connettersi anche ad altri server quali ad esempio i
server ftp anonimi:
Esempio: ftp://ftp.fis.unipr.it/
12
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
Il PROXY Web / FTP e' un server che non contiene propri documenti ma si connette a server
WWW e FTP per conto di client browser. I client browser affidano al proxy la richiesta con lo
scopo di aumentare la velocita' di accesso o semplicemente perche' il client non e' in grado di
connettersi direttamente. I proxy quando accedono ad un documento, prima di passarlo al
destinatario ne fanno una copia su di un disco locale (caching) in modo che successive richieste
troveranno il documento direttamente sul proxy server.
(vedi http://www.cce.unipr.it/proxy/proxy.htm
e verifica le impostazioni proxy del tuo web browser)
6 LA SICUREZZA DELLE RETI INFORMATICHE
6.1 IL PROBLEMA DELLA SICUREZZA
Le violazioni della sicurezza dei calcolatori si possono classificare come intenzionali (abusi) o
accidentali.
Gli abusi avvengono prevalentemente attraverso le reti informatiche poiche` il rischio e` legato al
numero di potenziali malintenzionati e la rete informatica espone il nostro computer a milioni di
utenti.
Gli abusi piu` frequenti sono:
•
lettura/alterazione/distruzione non autorizzata di dati
•
accesso non autorizzato a programmi e servizi
•
impedimento del legittimo uso del sistema (DoS - Denial of Service)
La realizzazione di un sistema che garantisca una assoluta protezione da abusi e` impossibile, ma
e` possibile attivare meccanismi di sicurezza tali da scoraggiarne i tentativi. La politica di sicurezza
e` quindi un compromesso, dettato dalle proprie necessita`, tra il costo per attivarla ed il beneficio
ottenuto in termini di dissuasione.
6.2 PROTEZIONE DEI SISTEMI TRAMITE PASSWORD
La tecnica principale di protezione dei sistemi di calcolo consiste nell`autenticazione degli utenti,
avvero nella loro identificazione al momento dell`accesso.
13
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
Il metodo di autenticazione piu` comunemente utilizzato (in modo locale o attraverso la rete) e` la
password. La password consiste in un segreto (una sequenza di caratteri) condiviso tra utente e
sistema.
I sistemi di calcolo gesiscono un file che contiene la lista degli utenti riconosciuti con le relative
password. L`accesso non autorizzato a questo file permetterebbe di violare le password di tuti gli
utenti registrati; per questo motivo le password vengono generalmente registrate in modo cifrato.
Il limite del meccanismo di autenticazione tramite password e` dato dalla sua vulnerabilita`:
•
Password troppo semplici. La vulnerabilita` maggiore e` duvuta alla scelta di una password
troppo semplice e quindi facile da indovinare. Esistono programmi che provano
automaticamente ad indovinare la password basandosi sui dati personali e su dizionari.
•
Password sniffing. Se l`accesso avviene tramite la rete e` possibile catturare la password
installando un opportuno programma (sniffer) su di un calcolatore posto tra l`utente ed il
servizio.
6.3 VULNERABILITA' DEI PROGRAMMI E FIREWALL
Uno dei maggiori problemi di sicurezza e` dovuto all`installazione di programmi che, per errore di
programmazione (Bug) o in modo voluto (Trap-Door), in certe sitauzioni consentono di aggirare i
meccanismi di sicurezza previsti. Questo problema e` particolamente grave se il programma in
questione e` un servizio di rete: la notizia relativa ad un problema su di un determinato servizio si
diffonde rapidamente in internet assieme ai programmi necessari per violare i sistemi coinvolti.
Capita frequentemente che installando un sistema Windows o Linux viene attivato un servizio di
rete compromesso, esponendo inconsapevolente il sistema ad accessi non autorizzati.
Generalmente i produttori di software forniscono rapidamente la versione corretta dal programma,
ma in molti casi questa non viene installata o viene installata quando oramai il sistema e`
compromesso.
Il Firewall e` una tecnica molto diffusa per proteggere un intera LAN da attacchi ai servizi di rete.
Il firewall e` un apparato di rete che viene interposto tra la LAN e internet, con il compito di “filtrare”
gli ingressi provenienti da internet permettendo l`accesso solamente a determinati servizi di cui in
qualche modo si e` verificata l`affidabilita`.
6.4 WORM E VIRUS
Esistono alcuni tipi di Bug sui servizi di rete che consentono da remoto l`installazione di un
programma e la sua esecuzione. Se il programma che viene installato va alla ricerca di altri
sistemi vulnerabili su cui replicare se stesso, il programma e` denominato WORM.
Un Worm e’ quindi un processo che sfrutta gli effetti della proliferazione per minare le prestazioni
di piu` sistemi di calcolo.
Come il worm il virus informatico è un frammento di software scritto e progettato per creare
copie aggiuntive di se stesso e diffondersi da un sistema informatico ad un altro, senza la
conoscenza o il permesso dell’utente. Mentre un worm e’ strutturato come un programma
completo, un virus e’ un frammento di codice che si inserisce in un programma legittimo.
Negli ultimi anni una forma comune di trasmissione dei virus e’ lo scambio di documenti Microsoft
14
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
Office (Word, PowerPoint, Excel, Access). Questi documenti possono contenere Macro ovvero
programmi scritti in Visual Basic che vengono eseguiti automaticamente quando il documento
viene letto.
Gli antivirus sono programmi che analizzano il contenuto di file potenzialmente infetti ricercando al
loro interno sequenze note che l’antivirus mantiene in un archivio di impronte virali conosciute. Le
eventuali sequenze virali riconosciute vengono rimosse dal file, disinfettandolo.
Links utili:
http://www.leolab.org/virus_tipi.html
http://www.symbolic.it/Rassegna/rassegna.html
Visto che attualmente in maggiore
rischio proviene dalla posta elettronica
esistono opportuni programmi (Scanner
Antivirus) da installare sul server di
posta con il compito di analizzare tutte le
mail in transito ed eventualmente
intervenire sulle mail infette.
6.5 CRITTOGRAFIA
La crittografia si applica nel trasferimento (o nell’archiviazione) di un messaggio ed ha lo scopo di
garantire alcuni requisiti di sicurezza quali:
- riservatezza: se il messaggio durante il trasferimento viene letto da terze parti non puo` essere
utilizzato
- autenticazione: i partner della comunicazione possono provare la loro identita` in modo certo
- Integrita`: il messaggio non puo` essere contraffatto durante il trasferimento
La tecnica consiste nell’applicare un algoritmo che manipola l’informazione prima di essere inviata;
l’algoritmo deve consentire al solo destinatario la possibilita` di ricostruire il messaggio originale.
Gli algoritmi moderni basano la propria sicurezza su di una chiave segreta: l’unico modo per
decifrare il messaggio e` conoscere la chiave di cifratura.
Esisto algoritmi che utilizzano la stessa chiave per cifrare e decifrare (algoritmi a chiave
simmetrica) e algoritmi che utilizzano 2 chiavi diverse (algoritmi a chiave pubblica).
15
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
Algoritmi a chiave simmetrica.
- Algoritmi piu` utilizzati: DES, 3DES, IDEA.
- Come funzionano: una delle 2 parti genera la chiave e invia all`altra parte la chiave e il nome
dell`algoritmo scelto. Quindi inzia la comunicazione cifrata.
- Vantaggi: elevata velocita` di cifratura.
- Svantaggi: la chiave di cifratura deve essere scambiata tra le 2 parti ed e` quindi intercettabile.
Algoritmi a chiave pubblica.
· Algoritmi piu` utilizzati: RSA, DSS.
· Come funzionano: ciascuno genera una propria coppia di chiavi; una delle 2 chiavi,
denominata “pubblica” e` di dominio pubblico, mentre l’altra, denominata "privata" e`
strettamente custodita dal proprietario.
· Svantaggi: bassa velocita` di cifratura.
· Vantaggi: la chiave privata non deve essere comunicata e quindi non e` esposta ad
intercettazione.
· Possibili utilizzi: Cifratura della comunicazione e firma digitale (vedi figura).
Algoritmi composti.
- Nelle applicazioni reali (posta elettronica, Web, ssh, ecc) per la cifratura viene utilizzata una
tecnica mista: la chiave pubblica si usa per scambiare in modo sicuro la chiave simmetrica,
che poi viene utilizzata per la cifratura veloce (vedi figura).
16
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003
Message digest
- Dato un messaggio di lunghezza indefinita, e` possibile mediante un opportuno algoritmo,
estrarre una “impronta digitale” (digest) del messaggio, di lunghezza fissa e limitata
(tipicamente 128 bit). Altre caratteristiche dei digest: e` improbabile che 2 messaggi diversi
generino lo stesso digest; il digest non e` invertibile, ovvero dal digest non e possibile risalire al
messaggio. Utilita` principali: Verifica dell`integrita` di un messaggio e Firma digitale. Gli
algoritmi piu` utilizzati sono: MD5 (128 bit) e SHA-1 (160 bit).
- Visitate il questo link per provare a generare un digest: http://www.vidwest.com/crypt/
Links riguardo i Message digest:
http://digilander.libero.it/salsi/crittografia/digest.html (in italiano)
Certificati (X.509)
Il meccanismo a chiave pubblica utilizzato per l`autenticazione (firma digitale) ha un punto di
debolezza nel fatto che e` possibile creare una coppia di chiavi (pubblica e privata) a nome di una
terza persona, per poi impersonarla abusivamente.
Per superare questo problema e` stato introdotto il concetto di Certification Authority (CA). La CA
e` una entita`, riconosciuta da una comunita` di utenti, in grado di fare da "garante" delle chiavi
pubbliche. Per fare questo la CA firma (con la propria chiave privata) la chiave pubblica degli
utenti generando il cosiddetto "certificato".
Il certificato di un utente (o computer) e` quindi un file che contiene i dati identificativi della
persona, compresa la sua chiave pubblica, firmato dalla CA.
E` possibile verificare l`autenticita` di un certificato mediante la chiave pubblica della CA.
(Esercizio: verifica dei certificati nel browser Web.
Con Microsoft Explorer seguire Strumenti->Opzioni Internet -> Contenuto -> Certificati )
SSL
E` un protocollo per implementare connessioni cifrate mediante algoritmi crittografici composti.
Utilizza diversi algoritmi in chiave pubblica (RSA e DSS) associati ai certificati X.509 per
l’autenticazione; Ia cifratura e` implementata mediante uno tra diversi algoritmi in chiave
simmetrica (DES, 3DES, IDEA,..). Per i Digest puo` utilizzare MD5 o SHA-1.
La maggior parte degli attuali protocolli in chiaro hanno realizzato o stanno realizzando la versione
"sicura" mediante SSL.
Alcuni esempi:
- HTTPS e` la versione crittografata con SSL del protocollo HTTP (WEB)
- POPS e IMAPS sono le versioni con SSL dei protocolli POP e IMAP
- SMIME e` la versione sicura del protocollo MIME (per la codifica dei file allegati nella posta
elettronica): con SMIME gli allegati possono essere cifrati e/o firmati.
Links utili riguardo la sicurezza:
http://www.cert.org/tech_tips/home_networks.html
http://www.riksoft.com/indexok.asp?Goto=cripubk.htm
Links utili riguardo questo argomento:
Univ. Udine - http://web.uniud.it/ccuu/alfa/materiale.htm - Modulo 3
17
Le Reti Informatiche
[email protected]
Ultima modifica: 28/8/2003