Sei sulla pagina 1di 554

Universit degli Studi di Perugia

Facolt di Scienze Matematiche Fisiche e Naturali

Corso di Laurea in Informatica

Reti di Computer
Cristian Dittamo Osvaldo Gervasi
osvaldo@unipg.it

TCP/IP

Internet Protocol, IP
Lutente considera uninternet come una singola rete virtuale che

interconnette tutti gli host e attraverso cui possibile comunicare Il software dellinternet progettato intorno a tre servizi di rete disposti su scala gerarchica: Servizio di consegna del pacchetto senza connessione Servizio di trasporto inaffidabile Servizi di applicazione Consegna senza connessione: ogni pacchetto consegnato indipendentemente dagli altri Servizio inaffidabile: i pacchetti possono andar persi o fuori sequenza Consegna best-effort: si fa di tutto per consegnare i pacchetti: linaffidabilit si verifica solo per malfunzionamenti hardware. E compito dei servizi di pi alto livello provvedere a garantire laffidabilit della trasmissione reinviando i pacchetti persi e ristabilendo la giusta sequenza tra i pacchetti.
3

Internet Protocol, IP

(II)

LIP definisce lesatto formati dei dati, mentre

attraversano linternet TCP/IP


LIP svolge la funzione di routing scegliendo il percorso

che dovranno seguire i dati


Definisce un insieme di regole che inglobano i concetti

di
consegna non affidabile dei pacchetti elaborazione dei pacchetti da parte di host e gateway generazione dei messaggi di errore determinazione delle condizioni in cui occorre scartare i pacchetti
4

Internet Protocol, IP

(III)

Lunit fondamentale di trasferimento detta

datagram IP, il quale diviso in area di intestazione e campo di controllo dellheader, ed il blocco dei dati.

header

data

IP v4 Header

Formato dellheader del datagram


Nellheader del datagram IP sono presenti i seguenti campi:

VERS un campo di 4 bit che indica laversione IP del datagram. La versione attualmente in uso la 4 (IPv4), si sta introducendo la 6 (IPv6) che potenzia lindirizzo IP a 64 bit e ne potenzia i servizi e le potenzialit HLEN un campo si 4 bit che indica la lunghezza dellheader del datagram in parole da 32 bit. LUNGHEZZA TOTALE campo lungo 16 bit che indica la lunghezza totale del datagram in ottetti, compresa larea dati. La massima dimensione possibile per un datagram 2 16=65535 ottetti TIPO DI SERVIZIO un campo di 8 bit che indica come deve essere gestito il datagram. E diviso in 5 sottocampi: 3 bit di PRECEDENZA che consentono al trasmettitore di specificare limportanza del datagram (valori da 0 a 7). Il software dellhost e dei gateway ignora questo tipo di informazione, altrimenti sarebbe possibile implementare algoritmi di controllo della congestione. Se fosse gestito questo campo sarebbe anche possibile attivare servizi basati sul Quality of Service (QoS). Questa anomalia risolta con IPv6.
7

Formato dellheader di un datagram


3 bit suddivisi in campi D T e R specifica il tipo di trasporto desiderato per il datagram. Se attivi, il bit D chiede un basso ritardo, il bit T richiede un alto throughput, il bit R alta affidabilit. Naturalmente una internet non garantisce il trasporto richiesto. Quindi questo campo va interpretato come una indicazione agli algoritmi di routing. IDENTIFICAZIONE, FLAG e OFFSET DEL FRAMMENTO: sono campi che controllano la frammentazione e il riassemblaggio dei datagram a seguito dellincapsulamento dei datagram nelle trame a livello fisico. Frammentazione e riassembleggio dei datagram sono funzioni svolte dai protocolli a livello fisico della rete in cui si opera. TTL: indica la durata in secondi concessa al datagram per restare nel sistema internet. PROTOCOL: indica quale protocollo di pi alto livello ha generato la porzione DATI trasportata dal datagram (es: 1=ICMP, 2=IGMP, 16=TCP, 17=UDP)
8

Formato dellheader di un datagram


CHECKSUM: garantisce il controllo dellintegrit dellheader del datagram, mediante calcolo di un algoritmo Cyclic Redoundancy Check (CRC) sui bit dellheader IP ADDRESS DI PROVENIENZA: indirizzo IP a 32 bit dellhost che ha generato linformazione contenuta nel datagram IP ADDRESS DI DESTINAZIONE: indirizzo IP a 32 bit dellhost al quale destinata linformazione contenuta nel datagram. Anche se il datagram istradato attraverso diversi gateway questi campi non cambiano mai. DATI: contiene i dati trasportati dal datagram OPZIONI IP: un campo opzionale usato per funzioni di test e debugging della rete. RIEMPIMENTO: unarea che viene riempita di bit a 0 per garantire che la lunghezza del datagram sia multipla di 32 bit.

Indirizzo IPv4
Un indirizzo IP su 32 bit (4 byte) permette di

identificare univocamente una rete ed uno specifico host appartenente alla rete:

x.y.z.w
rete host

(Es: 141.250.1.7)

Lindirizzo si divide in due parti:

Esistono 5 tipi di classi di indirizzi IP.

10

Classi di indirizzi IP
0 Classe A: con x < 128 10 Classe B: 110 Classe C: Classe D: Classe E rete

subnet mask associata: host 255.0.0.0 255.255.0.0 255.255.255.0

con 128 <= x <= 191 con 192<= x <= 223 con x > 223 con x > 240
multicast

1110 11110
(riservata per usi futuri)

11

Connessione alla rete


Dato che le tre classi primarie (A, B,C) sono

identificabili in base ai primi due bit, molto agevole per i router estrarre la parte rete e la parte host di un indirizzo IP.
Lindirizzo IP identifica la connessione di un

host alla rete (non lhost in s)


Macchine (quali i router) con pi connessioni

alla rete hanno pi indirizzi IP: uno per ogni connessione alla rete

12

Indirizzi di rete e broadcast


Gli indirizzi IP possono far riferimento a reti

oppure a host Per convenzione lhostid 0 non mai assegnato ad un singolo host: un indirizzo IP ove i bit che indicano la parte host siano pari a 0 denota la rete stessa ed chiamato indirizzo di rete Gli indirizzi IP possono essere usati per specificare indirizzi broadcast (riservati a tutti gli host della rete) ponendo i bit della parte host dellindirizzo IP a 1

13

Indirizzi speciali

Indirizzi speciali:
0.0.0.0 (default route) 127.0.0.1 (loopback address)

Indirizzi di rete e indirizzi broadcast:


255.255.255.255 x.0.0.0 e x.255.255.255 x.y.0.0 e x.y.255.255 x.y.z.0 e x.y.z.255 broadcast locale per una rete di classe A per una rete di classe B per una rete di classe C

14

Address Resolution Protocol (ARP)


Un host Internet pu comunicare con un altro host solo se

conosce il suo indirizzo fisico di rete (ad es.: lindirizzo ethernet) che anche fondamentale per il funzionamento dei gateway al fine di definire il percorso dei pacchetti. I programmi applicativi in genere conoscono solo il nome dellhost o il suo indirizzo IP Risoluzione dinamica e a basso livello degli indirizzi: ARP Lhost che ha bisogno dellindirizzo fisico di un altro host della rete, invia un pacchetto broadcast di richiesta dellindirizzo al destinatario, il quale risponde includendo lindirizzo di rete Esiste in ciascuna macchina una cache che memorizza gli indirizzi richiesti via ARP Il legame tra indirizzo IP e indirizzo fisico del trasmettitore inclusa in ogni richiesta ARP trasmessa in broadcasting; i riceventi aggiornano i dati in cache
15

ARP
LARP un protocollo a basso livello che nasconde il

tipo di indirizzamento fisico usato nella rete, consentendo allutente di usare direttamente gli indirizzi IP scelti per le macchine. E composto funzionalmente da:

determinazione degli indirizzi fisici quando si trasmette un pacchetto risposta a richieste ARP di altre macchine

Nel primo caso occorre considerare che il meccanismo

di richiesta via broadcast pu generare problemi (metodo best-effort di ethernet, errori hardware, etc)
aggiornamento dei dati in cache allo scadere di un Time To Live (TTL) operativit degli altri protocolli in presenza di richieste ARP pendenti
16

Reverse Address Resolution Protocol (RARP)


Le workstation diskless hanno bisogno di caricare il

sistema operativo e la configurazione da uno o pi server mediante effettuazione di una richiesta broadcast che utilizza il protocollo TCP/IP denominato RARP
lhost spedisce la richiesta RARP al server ed attende da questo una risposta (IP address) Se la richiesta ripetuta, rispondono anche i server secondari

Lidentificatore unico lindirizzo fisico della macchina Richiesta e risposta ARP differiscono per il campo tipo

della frame Il server nel risponde scambia gli indirizzi mittentedestinatario, cambia il contenuto del campo tipo e trasmette lindirizzo IP
17

Protocolli TCP/IP

TCP
ICMP IGMP

UDP
BGP OSPF

IP

RIP ARP RARP

18

Il protocollo ICMP (1)


Il protocollo Internet Control Message Protocol

(ICMP) stato progettato per riportare anomalie che accadono nel routing dei pacchetti IP e per verificare lo stato della rete. I vari tipi di messaggi ICMP sono:
Codice 0 3 4 5 8 11 12 Messaggio Echo Reply 2 Destination Unreachable 5 Source Quence Redirect Echo Request 2 Time Exceeded for a Datagram 5 Parameter Problem on a Datagram 5 Codice 13 14 15 16 17 18 Messaggio Timestamp Request Timestamp Replay Information Request Information Replay Address Mask Request Address Mask Replay

5messaggi che riportano anomalie 2 messaggi di verifica della raggiungibilit di un nodo 19

Il protocollo ICMP (2)


Il messaggio Redirect indica una condizione di

stimolo per un instradamento migliore dei pacchetti, in quanto un router stato attraversato inutilmente (ha dovuto ritrasmettere il messaggio sulla stessa rete da cui lo ha ricevuto). Quando un host riceve un pacchetto di routing redirect associa un router diverso da quello di default a quella destinazione.
I messaggi Mask Request e Address Mask Reply sono

stati introdotti per permettere ad una interfaccia di scoprire automaticamente la netmask usata in quella rete
20

IP multicasting
IP multicasting definito come la trasmissione di un

datagram ad un gruppo di host: un insieme di host identificato da un indirizzo IP di destinazione Un datagram multicast inviato a tutti i membri del suo gruppo di host di destinazione con la stessa affidabilit best effort di un datagram unicast: il datagram non garantito che arrivi a tutti i membri del gruppo di destinazione o nello stesso ordine rispetto ad altri datagram. Gli appartenenti al gruppo possono cambiare dinamicamente: gli host possono aggiungersi o uscire dal gruppo senza limitazioni, anche se possibile definire una chiave di accesso che renda lingresso nel gruppo selettivo.
21

IP multicasting
Un gruppo di host pu essere permanente (in questo

caso ha un indirizzo IP ben noto ed assegnato amministrativamente) o transitorio. La creazione di gruppi transitori ed il mantenimento delle informazioni relative alla composizione dei gruppi responsabilit dei multicast agents, che sono entit che girano sui routers o su host speciali. I multicast agents sono responsabili anche dellinvio in Internet dei datagram multicast. Se un host di destinazione in una rete diversa rispetto a quella degli altri host, il multicast agent diventa esso stesso destinatario del datagram e lo consegna ad altri agenti fino alla consegna allhost destinatario

22

Internet Group Management Protocol (IGMP)


IGMP il protocollo che supporta le funzioni di IP

multicasting, consentendo ad un host di creare, unirsi ad un gruppo multicast o di abbandonarlo. IGMP provvede anche allinvio di datagram IP ad un gruppo di host Esso richiede limplementazione di IGMP e lestensione di servizi IP e della rete locale al fine di gestire IP multicast. E definito negli RFC966, RFC1112, RFC1122, RFC1812, RFC2236, RFC2715, RFC2933, RFC3228

23

User Datagram Protocol (UDP)


Per consentire la identificazione del processo al quale

destinare il datagram viene introdotto il concetto di portnumber: un numero intero positivo che rappresenta diversi punti di destinazione astratti che vengono indirizzati dagli host internet per implementare i diversi servizi ed accedere alle diverse applicazioni. Il sistema operativo degli host si fa carico di fornire dei meccanismi di interfaccia che i processi utilizzeranno per specificare una porta o per accedervi. Per comunicare con una porta esterna lhost che trasmette deve conoscere lindirizzo IP del destinatario e il numero di porta del protocollo della destinazione allinterno di tale host.

24

UDP
UDP fornisce un servizio di consegna non affidabile e senza

connessione, utilizzando lIP per trasportare i messaggi tra le macchine. Esso offre la capacit di distinguere tra pi destinazioni allinterno di un certo host Un protocollo applicativo che impieghi lUDP accetta lintera responsabilit di gestire il problema dellaffidabilit, che comprende la perdita di messaggi, la loro duplicazione, il ritardo, la consegna fuori ordine e la perdita di connettivit. UDP un protocollo a livello di trasporto responsabile della differenziazione tra le varie provenienze e destinazioni allinterno di un singolo host, ed posto sopra al livello IP (responsabile della consegna delle informazioni tra una coppia di host in internet) e sotto ai protocolli applicativi Applicazioni che usano UDP funzionano bene in ambito locale e falliscono quando utilizzati attraverso uninternet di dimensioni maggiori
25

Trasmission Control Protocol (TCP)


TCP fornisce un servizio di consegna affidabile delle

informazioni con connessione. TCP un singolo protocollo di applicabilit generale che contribuisce ad isolare i programmi applicativi dai dettagli del networking e rende possibile la definizione di uninterfaccia uniforme per il servizio di trasferimento di stream. Linterfaccia tra i programmi applicativi e il servizio di consegna affidabile del TCP/IP pu essere descritta da
Orientamento dello stream: quando due programmi applicativi trasferiscono dati, questi vengono immagazzinati come sequenze di bit (stream) suddivisi in byte. Il servizio di consegna dello stream passa dal mittente al destinatario esattamente la stessa sequenza di ottetti. Connessione di circuito virtuale: il trasferimento di stream analogo ad una chiamata telefonica: solo quando mittente e destinatario hanno verificato la sussistenza delle condizioni necessarie ha inizio il trasferimento
26

TCP
Trasferimento bufferizzato: anche se il programma applicativo genera le informazioni un ottetto alla volta, il trasferimento accorpa un insieme di ottetti, in modo da otttimizzare la trasmissione. Se il programma genera invece grandi blocchi di dati, il trasferimento potrebbe avvenire a blocchi pi piccoli per ottimizzare la trasmissione stessa. Stream non strutturata: il servizio di stream del TCP non rispetta eventuali strutture presenti in dati strutturati. Sono i programmi che usano il servizio di trasferimento di stream che devono comprendere la struttura dei dati trasmessi Connessione full-duplex: Le connessioni fornite dal servizio di stream consentono il trasferimento simultaneo in entrambe le direzioni Il TCP garantisce laffidabilit mediante una tecnica chiamata

riscontro positivo con ritrasmissione Per ottimizzare la trasmissione il TCP usa la tecnica della finestra scorrevole: si continua a trasmettere stream senza verificarne il riscontro sino a che ci si muove allinterno di una finestra predefinita di stream
27

TCP
Anche il TCP usa i portnumber per identificare il flusso di dati tra le varie

applicazioni di un host. Nel caso del TCP il meccanismo di comunicazione per molto pi complesso che nel caso dellUDP, essendo stato definito un concetto di astrazione di connessione: gli oggetti da identificare sono connessioni virtuali di circuiti, non singole porte. Il TCP usa una coppia di valori per identificare una connessione: lindirizzo IP dellhost e la porta dellapplicazione. Linsieme indirizzo IP - portnumber chiamato socket Questo approccio fa s che un certo portnumber possa essere condiviso contemporaneamente da pi host, aumentando molto lefficienza di Internet

28

Subnets
Un indirizzo IP di una rete pu essere gestito come un

insieme di sottoreti introducendo una subnet mask pi restrittiva che assegni i bit pi significativi della parte host alla parte di network, ottenendo da un indirizzo di una certa classe, un insieme di sottoreti di classe inferiore e conseguentemente di dimensioni inferiori.

Es: Rete di classe C 194.143.128 n. bit rete ind. Rete num. Host 25 194.143.128.{0, 128} 128 26 194.143.128.{0,64,128,192} 64 27 194.143.128.{0,32,64,96,128,160,192,224} 32 28 194.143.128 .{0,16,32,48,64,80,96,112,128,144,160,176,192,208,224,240} 16 29 194.143.128.{0,8,16,24,32,40,48,56,64,72,80,86,96,104,112,120,128,136,144,150,160,168,176,184,192,200,208,216,224,232,240,248} 8 ......

29

Esempio: 194.143.128.0/26
11111111 11111111 11111111 11 11000010 10001111 10000000 00
(Subnet mask:255.255.255.192) (194.143.128.0)

000000 111111
11000010 10001111 10000000 01

000000 111111
11000010 10001111 10000000 10

000000 111111
11000010 10001111 10000000 11

000000 111111

0 63 64 64 127 128 128 191 192 192 255

30

Piano di indirizzamento IP
E il documento che il network administrator

deve scrivere e tenere aggiornato per descrivere lutilizzo del proprio spazio di indirizzamento IP. Es:
194.143.128.0 /26 194.143.128.64 /26 194.143.128.128/25 194.143.129.0 /30 194.143.129.4 /30 194.143.129.8 /29 194.143.129.16 /28 194.143.129.32 /27 194.143.129.64 /26 194.143.129.128/25 255.255.255.192 255.255.255.192 255.255.255.128 255.255.255.252 255.255.255.252 255.255.255.248 255.255.255.240 255.255.255.224 255.255.255.192 255.255.255.128 rete interna1 rete interna2 rete interna3 punto-punto1 punto-punto2 rete lab1 rete lab2 rete lab3 rete lab3 rete amm1

31

Subnets
La realizzazione di subnet comporta lalterazione del

comportamento standard della classe primaria IP mediante introduzione di una subnet mask La decisione di creare una sottorete dipende da aspetti topologici ed organizzativi. ragioni topologiche:
superamento limiti di distanza: alcuni componenti hw hanno limiti sulla distanza, per es. la rete Ethernet, in cui i cavi thick possono avere una lungh. max di 500m e i cavi thin di 300m, non appena si superano queste distanze occorre inserire un router IP per collegare una serie di cavi. Nota che la lungh. della rete data dalla somma di tutti i cavi, non dal cavo pi lungo. connessione di reti fisiche diverse: router IP possono essere usati per collegare reti che hanno una diversa tecnologia (token ring a ethernet). filtro del traffico fra reti: il traffico locale rimane nella sottorete locale, solo il traffico verso altre reti inviato al gateway.
32

Subnetting e supernetting
La realizzazione di subnet comporta lalterazione del

comportamento standard della classe primaria IP mediante introduzione di una subnet mask che va applicata allindirizzo IP e ne modifica il significato primario La subnet mask altera le informazioni standard relative alla rete ed allhost presente nellindirizzo primario Mediante subnetting si suddivide una rete primaria in pi sottoreti differenti che diventano entit autonome dal punto di vista del routing e del TCP/IP Mediante supernetting si accorpano pi reti fisiche primarie diverse in ununica rete per semplificare le informazioni di routing da trasmettere ai router
33

Subnetting: perch?
Ragioni organizzative: amministrazione: le sottoreti possono essere usate per delegare la gestione degli indirizzi, diagnostica, ecc. a piccole entit. visibilit di strutture: singole strutture (es. dipartimenti universitari) necessitano di esternare la propria autonomia al fine di meglio organizzare i servizi isolamento del traffico: per motivi di sicurezza preferibile isolare il traffico locale in modo tale da renderlo inaccessibile allesterno. Ragioni tecniche: ottimizzazione delluso dello spazio di indirizzamento IP limitazione del dominio di broadcast IP limitazione degli effetti di eventuali malfunzionamenti
34

Configurazione Win95

35

Configurazione Win95 (i)

36

Configurazione Win95 (ii)

37

Configurazione NT workstation

38

Configurazione NT workstation (i)

39

Configurazione NT workstation (ii)

40

Configurazione NT workstation (iii)

41

Configurazione Linux
netcfg

42

Configurazione Linux (i)

43

Configurazione Linux (ii)

44

Configurazione Linux (iii)

45

Routing

46

Routing
Il routing lazione di scambiare informazioni

in una rete da una sorgente ad una destinazione, incontrando almeno un nodo intermedio Il routing coinvolge due attivit di base:
determinare il percorso ottimale di routing trasportare gruppi di informazioni (chiamati pacchetti) attraverso una rete

La prima attivit pu risultare molto complessa Il routing riguarda il livello 3 del modello di

riferimento ISO/OSI

47

Routing
Si introduce il concetto di metric per indicare una

modalit standard di misura, come la lunghezza di un percorso in termini di gateway attraversati, per stabilire il percorso ottimale da calcolare da parte di un protocollo di routing Un router considera lassociazione destination/next_hop per calcolare quale sistema intermedio rappresenta il miglior percorso Ricevuto un pacchetto il router calcola in base alle sue informazioni il next hop

48

Routing

I router comunicano tra loro e mantengono aggiornate le

routing tables mediante la trasmissione di vari messaggi Il messaggio routing update uno di questi e consiste in un messaggio contenente tutta o parte di una routing table. Analizzando i routing update un router in grado di costruire un disegno dettagliato della topologia della rete Il messaggio link-state advertisement un altro esempio di messaggio tra router e serve ad informare gli altri router dello stato del link del mittente, oltre che a consentire agli stessi il calcolo del miglior percorso da seguire per una determinata destinazione
49

End System (ES)

Intermediat e Systems (IS)

End System (ES) 50

Routing algorithms
Gli algoritmi di routing devono possedere uno

o pi dei requisiti seguenti:


meno risorse possibile

ottimali deve scegliere la migliore strada semplici e con basso overhead deve farlo consumando robusti e stabili
devono comportarsi correttamente in condizioni inusuali e mai viste prima. la scelta del percorso ottimale deve avvenire subito e con il minor sforzo possibile. devono adattarsi facilmente a diverse condizioni.

rapidi nella convergenza Flessibili

51

Routing algorithms
Gli algoritmi di routing vengono classificati in

base al comportamento rispetto alle classi seguenti:


statici vs. dinamici single-path vs. multi-path piatti vs. gerarchici Host-intelligent vs. router-intelligent Intradomain vs. interdomain Link state vs. distance vector

52

Routing metrics
Gli algoritmi di routing usano una o diverse delle

seguenti caratteristiche per determinare il percorso ottimale: Path Length Reliability Delay Bandwidth Load Communication Cost

53

Routing table
I gateway instradano i dati tra diverse reti Gli host prendono decisioni di instradamento

nel modo seguente:


Se lhost vengono Se lhost vengono

di destinazione sulla rete locale, i dati spediti allhost di destinazione; di destinazione su una rete remota, i dati mandati al gateway locale.

Il protocollo IP basa le sue decisioni di

instradamento sulla parte rete dellindirizzo IP

54

Routing table
Analisi dellindirizzo IP fatta dallhost:
determina il tipo di classe dellindirizzo IP (bit pi significativi) controllo rete di destinazione, se locale (sottorete) applica allindirizzo di destinazione la subnet mask cerca la rete di destinazione nella routing table instrada i pacchetti di dati seguendo il percorso indicato nella tabella di routing (interfaccia).

In ambiente Unix il comando per visualizzare la

tabella di routing : netstat -nr

55

Routing table (host Unix)


Destination 127.0.0.1 default 128.66.12.0 128.66.2.0 128.66.1.0 128.66.3.0 128.66.4.0 Gateway Flags 127.0.0.1 128.66.12.1 128.66.12.2 128.66.12.3 128.66.12.3 128.66.12.3 128.66.12.3 Refcnt UH UG U UG UG UG UG Use 1 2 40 4 10 2 4 Interface 298 lo0 50360 en0 98379 en0 1179 en0 1113 en0 1379 en0 1119 en0

dove:

destinazione
Flags

Destination Gateway

= rete o host di destinazione = gateway da usare per la specifica

= U : route in linea e attiva H : route per host spec. (non per una rete) G : route che usa un gateway D : route aggiunta da una ICMP redirect Refcnt = n.ro di volte che la route stata usata Use = n.ro pacchetti trasmessi su quella route Interface = nome dellinterf. di rete usata per la route

56

57

Routing table
Esistono tre tipi di definizione di routing:
minimale:
le operazioni minime di aggiornamento della tabella di routing che vengono effettuate al momento della definizione di una interfaccia

statico:

Linstradamento viene gestito mediante informazioni

di routing predefinite e costanti. Pu essere sufficiente in configurazioni ove la topologia molto semplice (rete connessa in un solo modo al backbone)

dinamico:

Linstradamento viene gestito via software da

protocolli di routing che si adattano le informazioni di routing a tutti i cambiamenti della rete. I protocolli di routing utilizzano dei pacchetti per lo scambio delle informazioni necessarie allaggiornamento delle informazioni in tabella.

58

Routing table
Ovviamente in un dato istante di tempo e a seconda della

complessit della configurazione, le informazioni attuali potranno provenire da tutti e tre i tipi di definizione Le informazioni assunte mediante protocolli di routing dinamici prendono il sopravvento su quelle statiche, qualora tra queste informazioni esistano contraddizioni In un router possono essere eseguiti contemporaneamente diversi protocolli di routing In alcuni casi (cfr CISCO) possibile iniettare delle informazioni da un protocollo di routing dinamico allaltro, in modo da controllare la distribuzione delle informazioni di routing

59

Comandi per routing statiche


Cisco:
per inserire una route statica:
ip route network subnet gateway distance ip route 141.250.4.0 255.255.255.0 141.250.9.3 2 per visualizzare la routing table: sh ip route [network]

Linux:
per inserire una route statica:
route add network subnet gateway route add 141.250.4.0 255.255.255.0 141.250.9.3 per visualizzare la routing table: netstat -nr

60

Autonomous System
Le reti e gli Intermediate System (IS) si

suddividono in

interni ad un routing domain esterni ad un routing domain

Per routing domain si intende un insieme di

reti che sono soggette allamministrazione ed al controllo di una stessa organizzazione Il routing domain prende il nome di Autonomous System o AS LAS condiziona il routing delle internetwork, prendendo in esame diverse metric.

61

AS
Gli AS sono identificati da un numero intero, univoco

a livello mondiale, assegnato dalla stessa autorit che rilascia gli indirizzi Internet. I router che instradano messaggi allinterno dello stesso AS sono detti Interior Router, mentre quelli che instradano messaggi anche tra AS diversi sono detti Exterior Router.
Gli Interior Router eseguono un Interior Gateway Protocol (IGP) per determinare il percorso ottimale Gli Exterior Router eseguono un Exterior Gateway Protocol (EGP)

62

Autonomous System (3)

INTERNET
OSPF, RIP, IBGP

AS 1274

Sessione BGP
OSPF, RIP, IBGP

OSPF, RIP, IBGP

Sessione BGP

AS 6664

AS 9209

63

Protocolli di routing (1)


IGP
RIP IGRP
Routing Information Protocol Interior Gateway Routing Protocol

EGP
EGP
Exterior Gateway Protocol

BGP

Border Gateway

OSPF

Protocol

IS-IS

Open Shortest Path First

CIDR

Intermediate System to Intermediate System

Classless Inter Domain Routing


64

Open Shortest Path First (OSPF)


Sviluppato nel 1988 dallIGP working group di IETF,

standard nel 1990 (RFC1247) per routing allinterno di un AS OSPF:


aperto basato sullalgoritmo Shortest Path First (Dijkstra algorithm) supporta subnet variabili implementa routing dinamico supporta routing in base al tipo di servizio esegue il bilanciamento del carico supporta sistemi gerarchici (aree)

65

OSPF
E un link-state routing protocol cos chiamato

perch invia link-state advertisements (LSA) a tutti i router di una stessa area gerarchica Nell LSA invia informazioni relative alle interfaccie attive, alle metric usate, ed altre variabili Un router OSPF accumula LSA e calcola il percorso ottimale mediante lalgoritmo SPF E computazionalmente relativamente pesante

66

OSPF
I router di una stessa area hanno lo stesso topological

database La suddivisione in aree riduce il traffico di routing nellAS Lintroduzione delle aree genera due tipi di traffico di routing
Inter-area routing Intra-area routing

LOSPF backbone responsabile di distribuire

informazioni di routing tra aree

67

68

OSPF
Le aree possono essere definite in modo tale che il

backbone non sia continuo: in tal caso la continuit pu essere realizzata mediante virtual-links I virtual-links vengono definiti tra i backbone router che condividono link con aree non-backbone e funzionano come se fossero link diretti OSPF pu apprendere informazioni da altri exterior gateway protocol, interior gateway protocol, o mediante istruzioni di configurazione

69

OSPF
OSPF pu operare allinterno di una gerarchia la maggiore entit gerarchica lAS OSPF un intra-AS (IGP) routing protocol, anche se

pu inviare e ricevere route verso o da altri AS Un AS pu essere diviso in diverse aree, che bene riguardino host in gruppi di reti contigue per semplificare la routing table. Router con diverse interfaccie possono appartenere a pi aree e prendono il nome di Area Border Router (ABR). Essi mantengono diversi topological database per ogni area

70

OSPF
OSPF distingue 4 tipi di router: Internal router: interni ad unarea Area Border router: che connettono 2 o pi aree Backbone router: che appartengono alla dorsale (area 0) Border AS router: router di confine tra AS Quando un router viene avviato mediante messaggi di

tipo HELLO inviati su tutte le interfaccie, si costruisce la mappa topologica ed in particolare definisce:
i router adiacenti il designed router (DR) il backup designed router (BDR)

71

OSPF packets
Router che non sono adiacenti non scambiano

tra loro informazioni I pacchetti OSPF sono:


Hello Link state update
cost

usato per scoprire i neighbors fornisce i propri criteri per la selezione del del link

Link state ack conferma un LS update Database description comunica gli aggiornamenti che conosce Link state request richiesta di informazioni di stato ai neighbors

72

OSPF packet format

Version number: identifica la versione del software OSPF usato Type:identifica il tipo di pacchetto OSPF tra i seguenti possibili: Hello:stabilisce e mantiene le relazioni con i neighbor routers Database Description: descriv i contenuto del topological database, che varia con lo stabilirsi di adjacencies con altri routers: Link-State-Request: Richiede porzioni del topological database dai router neighbors Link-State-Update: rispone a pacchetti Link-State-Request Link-State-Acknowledgment: risposta di conferma a pacchetti Link-State-Update Packet length:specifica la lunghezza del pacchetto, inclso lheader, in bytes Router ID: identifica la sorgente del pacchetto AreaID: identifica larea a cui appartiene il pacchetto Checksum: verifica lintegrit dellintero pacchetto dopo la trasmissione Authentication type: contiene il tipo di autenticazione. Lo scambio di dati in OSPF tra i vari protocolli sempre autenticato in base allarea Authentication: contiene le informazioni per lautenticazione 73

OSPF: esempio

DLCI

Rete Frame Relay

74

OSPF: esempio
hostname Matt ! interface serial 1 ip address 10.0.0.2 255.0.0.0 ip ospf network point-to-multipoint encapsulation frame-relay frame-relay map ip 10.0.0.1 201 broadcast frame-relay map ip 10.0.0.3 202 broadcast frame-relay map ip 10.0.0.4 203 broadcast ! router ospf 1 network 10.0.0.0 0.0.0.255 area 0

75

OSPF: esempio
hostname Wayne ! interface serial 0 ip address 10.0.0.1 255.0.0.0 ip ospf network point-to-multipoint encapsulation frame-relay frame-relay map ip 10.0.0.2 101 broadcast frame-relay map ip 10.0.0.4 102 broadcast ! router ospf 1 network 10.0.0.0 0.0.0.255 area 0

76

OSPF: esempio
hostname Robin ! interface serial 3 ip address 10.0.0.4 255.0.0.0 ip ospf network point-to-multipoint encapsulation frame-relay clockrate 1000000 frame-relay map ip 10.0.0.1 401 broadcast frame-relay map ip 10.0.0.2 402 broadcast ! router ospf 1 network 10.0.0.0 0.0.0.255 area 0

77

OSPF: esempio
hostname Ben ! interface serial 2 ip address 10.0.0.3 255.0.0.0 ip ospf network point-to-multipoint encapsulation frame-relay clockrate 2000000 frame-relay map ip 10.0.0.2 301 broadcast ! router ospf 1 network 10.0.0.0 0.0.0.255 area 0

78

RIP
RIP il pi popolare algoritmo di routing, definito negli

RFC 1058 e 1023.


Si basa sullalgoritmo di Bellman-Ford, detto anche

vettore-distanza
RIP ha il limite di 15 hops: reti pi distanti sono

considerate irraggiungibili
RIP v1 non supporta subnet variabili Un router che implementa RIP invia tutta la routing

table o una porzione di essa ai router vicini (neighbor) (distanti 1 hop) ad intervalli di tempo regolari

79

RIP
RIP converge meno rapidamente di OSPF: ci

lo rende pi fragile per quanto attiene la possibilit di generare routing loops RIP ha bisogno di meno risorse di OSPF, in quanto lalgoritmo pi leggero RIP disponibile per default sui sistemi Unix/Linux (daemon routed) E pi semplice da implementare e gestire rispetto a OSPF

80

RIP
Routing updates: RIP invia questi messaggi

a intervalli regolari o quando cambia la topologia della rete ai router confinanti. RIP timers: RIP mantiene i timer routingupdate timer(30 sec, in genere), route timeout, route-flush timer RIP mantiene solo le informazioni relative a best routes RIP usa il protocollo UDP e la porta 520

81

RIP packet format

82

RIP 2 packet format

Command: indica se il pacchetto un comando oppure una risposta Version number: identifica la versione del software RIP usato Unused: valore posto a zero Address-Family-Identifier: identifica la famiglia di protocolli utilizzata. RIP concepito per trasportare informazioni relative a diversi protocolli. La famiglia di indirizzi per lIP 2. Route tag: fornisce un metodo per distinguere fra routing interno ed esterno (appreso da alti protocolli) IP Address: specifica lIP address relativa allinformazione di routing Subnet-Mask: specifica la subnet mask relativa allinformazione di routing Next-Hop: Specifica il next-hop al quale deve essere indirizzata linformazione di routing metric: indica quanti router intermedi devono essere attraversati fino alla rete di destinazione. Questo valore va da 1 a 15. Un valore uguale o maggiore di 16 indica network unreachable.

83

RIP: esempio

84

RIP: schema di indirizzamento


Network Number
130.10.0.0 130.10.0.0 130.10.0.0 130.10.0.0

Subnets

Subnet Masks
255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0

Site A: 8 through 15 Site B: 16 through 23 Site C: 24 through 31 Serial Backbone: 62->64

85

RIP: esempio di configurazione


Router A:
interface serial 0 ip address 130.10.62.1 255.255.255.0 interface serial 1 ip address 130.10.63.1 255.255.255.0 interface ethernet 0 ip address 130.10.8.1 255.255.255.0 interface tokenring 0 ip address 130.10.9.1 255.255.255.0 router rip network 130.0.0.0

Router B:
interface serial 0 ip address 130.10.62.2 interface serial 1 ip address 130.10.63.2 interface ethernet 0 ip address 130.10.17.2 interface tokenring 0 ip address 130.10.16.2 router rip network 130.0.0.0 255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0

Router C:
interface serial 0 ip address 130.10.63.3 255.255.255.0 interface serial 1 ip address 130.10.64.3 255.255.255.0 interface ethernet 0 ip address 130.10.24.3 255.255.255.0 router rip network 130.0.0.0

86

Inserimento di una dorsale RIP

OSPF in

87

Esempio di configurazione

Router A: router rip passive-interface serial 0 passive-interface serial 1 ridistribuzione: router ospf 109 redistribute rip subnets router rip redistribute ospf 109 match internal external 1 external 2 default-metric 10

Alle informazioni OSPF propagate via RIP viene assegnata la metric 10

alternativa:
router ospf 109 redistribute rip subnet distribute-list 11 out rip access-list 11 permit 130.10.8.0 0.0.7.255 access-list 11 deny 0.0.0.0 255.255.255.255

88

Unicast updates
E possibile in RIP 2 ridurre le informazioni di

routing mediante invio di routing update a selezionati router (neighbor) invece che in modalit broadcast:
router rip network 10.109.0.0 passive-interface ethernet 1 neighbor 10.109.20.4

89

Modifica delle informazioni di routing


E possibile alterare localmente le informazioni

di routing apprese tramite RIP o da propagare allesterno, in modo da alterarne volutamente leffetto:

offset-list [acl_num|name] {in|out} offset [type_number]

90

timers
timers basic update invalid holddown flush
Intervallo in sec oltre il quale la route dichiarata non valida. Deve essere almeno il triplo di update (180)

Intervallo di aggiornamento in sec (30)

Intervallo in sec, in cui viene soppresso laggiornamento riguardo il better path . Una route entra in questo stato quando il router riceve un pacchetto che informa che la route non pi raggiungibile. La route viene etichettata come inaccessibile ed annunciata come irraggiungibile. Deve essere almeno il triplo di update (180)

Lasso di tempo in sec trascorso dallultimo aggiornamento oltre il quale la route cancellata dalla routing table. Lintervallo deve essere maggiore della somma di holddown e update (240)

91

Autenticazione (RIP 2)

router RA
key chain ka1 key 1 key-string 234 interface loopback0 ip address 70.70.70.70 255.255.255.255 interface serial0 ip address 141.108.0.10 255.255.255.252 ip rip authentication mode md5 ip rip authentication key-chain ka1 router rip version 2 network 141.108.0.0 network 70.0.0.0

router RB

key chain ka1 key 1 key-string 234 interface loopback0 ip address 80.80.80.1 255.255.255.0 interface serial0 ip address 141.108.0.9 255.255.255.252 ip rip authentication mode md5 ip rip authentication key-chain ka1 router rip version 2 network 141.108.0.0 network 80.0.0.0

92

Border gateway Protocol (BGP)


BGP effettua interdomain routing in reti TCP/IP. E un Exterior Gateway Protocol (EGP) usato per la

comunicazione tra AS Si basa su un algoritmo vettore-distanza evoluto Si occupa del transito di dati di terze parti su una certa rete. Le reti vengono suddivise in:
reti stub (unica connessione al grafo BGP) reti multiconnesse (usate per il traffico in transito) reti di transito (sono disponibili al transito di traffico di terze parti, sono spesso reti di tipo backbone)

93

94

BGP
Diversi sono i documenti RFC relativi a

BGP, tra i quali:

RFC 1771Descrive BGP4, la versione corrente di BGP RFC 1654Descrive la prima specifica di BGP4 RFC 1105, RFC 1163, e RFC 1267Descrivono le versioni precedenti di BGP rispetto a BGP4

95

BGP
BGP effettua:
inter-autonomous system routing:
avviene tra due o pi router BGP appartenenti ad AS diversi. Router vicini (neighbors) usano BGP per mantenere una vista omogenea della topologia della rete. Internet rappresenta un esempio che usa questo tipo di routing, essendo costituita da entit che appartengono a diversi AS BGP utilizzato in questi casi per calcolare il percorso che fornisca il routing migliore attraverso Internet

96

BGP
intra-autonomous system routing:
avviene tra due o pi router BGP appartenenti allo stesso AS. Router vicini usano BGP per mantenere una vista omogenea della topologia del sistema. BGP identifica quale router serve da punto di connessione ottimale per linterconnessione con specifici AS esterni. Internet rappresenta ancora un esempio di questo tipo di routing: unorganizzazione pu usare BGP per fornire il routing ottimale tra i suoi AS. BGP pu fornire servizi di routing sia inter- che intraautonomous system

97

BGP
pass-through autonomous system routing:
avviene tra due o pi router BGP che scambiano traffico attraverso un AS che non esegue BGP. In un ambiente pass-through il traffico BGP non origina dentro lAS in questione e non destinato a nessun nodo interno dellAS stesso.

98

BGP
BGP usa la porta TCP 179 Due router BGP formano tra loro una connessione

TCP (peer o neighbor routers) e scambiano messaggi per aprire e confermare i parametri di connessione Due neighbor allinizio si scambiano tutta la loro routing table Successivamente vengono scambiati messaggi contenenti gli aggiornamenti sui percorsi modificati

99

BGP routing
BGP mantiene le routing tables, trasmette routing

update e basa le decisioni di routing sulla base delle routing metric Le funzioni primarie sono lo scambio di informazioni network reachability, inclusa la lista dei percorsi per gli AS con altri sistemi BGP Ogni router BGP mantiene una lista di tutti i percorsi fattibili verso una particolare rete. Il router non aggiorna le tabelle fino a che non riceve un aggiornamento incrementale.

100

BGP routing
I dispositivi BGP scambiano informazioni di routing

sulla base di uno scambio iniziale e successivi aggiornamenti. Quando un router si collega per la prima volta riceve lintera tabella di routing. Similmente quando le informazioni cambiano, vengono spedite in forma di insieme di aggiornamenti periodici, ma non sulla base di aggiornamenti predefiniti regolari Laggiornamento propaga solo il routing ottimale per una certa rete

101

BGP routing
BGP mantiene un numero di versione della routing

table che deve essere lo stesso per tutti i suoi peers BGP Il numero di versione cambia ogni volta che BGP aggiorna la routing table attraverso aggiornamenti pacchetti di tipo keepalive sono inviati per verificare lintegrit della sessione BGP tra i peers pacchetti di tipo notification sono inviati in risposta a condizioni di errore o in situazioni speciali

102

BGP routing
BGP usa una routing metric singola, che consiste in

un numero in unit arbitrarie che specifica il grado di preferenza per quel dato link. Viene assegnato dal Network Administrator ad ogni link Il numero assegnato pu basarsi su ogni tipo di criterio possibile, incluso il numero di AS che devono essere attraversati, la scalabilit, la velocit, il ritardo della comunicazione, il costo.

103

BGP: tipi di messaggi


LRFC 1771, A Border Gateway Protocol 4 (BGP-4), definisce 4

tipi di messaggio:
open message: apre una sessione BGP tra peers ed il primo messaggio inviato da ciascuna parte dopo lattivazione della sessione TCP. Questo messaggio confermato da un messaggio keep-alive del peer e deve essere confermato prima che abbia luogo lo scambio di messaggi ordinario. update message: usato per effettuare laggiornamento del routing ad ogni sistema BGP, consentendo ai router di effettuare un disegno consistente della topologia di rete. Gli aggiornamenti sono inviati usando TCP per ragioni di affidabilit. Il messaggio di update pu cancellare route irrangiungibili dalla routing table

104

BGP: tipi di messaggi (2)


notification message: inviato quando si evidenzia una condizione di errore. Il messaggio notification utilizzato per chiudere una sessione attiva e per avvisare i router connessi del perch la sessione viene chiusa keep-alive message: informa ogni sistema peer BGP che un dispositivo attivo. I messaggi keep-alive sono inviati con una frequenza tale da prevenire che la sessione BGP si esaurisca.

105

BGP: formato dei pacchetti - Header


Ciascun pacchetto BGP contiene un header la cui funzione principale quella di identificare lo scopo del pacchetto in questione.

Contiene un valore di autenticazione che pu essere predetto dal ricevente

Contiene la lunghezza del messaggio in bytes

Open Update Data

Notification Keep-alive

106

BGP: Open message

Un open message BGP costituita da un header e da:

BGP version number

AS number del mittente

Numero max di secondi di attesa senza ricevimento di messaggi dal trasmettitore

identificativo BGP del mittente (IP address), identico per tutti i peer BGP

Lunghezza del campo parametri opzionali. (se presente)

Lista dei parametri opzionali. Attualmente definito solo il parametro


authentication information

107

BGP: Update message

Un update message BGP costituita da un header e da:

Indica la lunghezza del campo


withdrawn routes

Lista di IP riferiti a route irrangiungibili

Lunghezza del campo

Descrive le caratteristiche del percorso annunciato:


Origin AS path Next Hop Multi Exit Disc Local Pref Atomic aggregate Aggregator

Path Attribute

Contiene la lista di prefissi IP riferiti alle route annunciate

108

BGP: Notification message


Un notification message BGP costituita da un header e da:

Indica il tipo di errore: Message Header Error, Open Message Error, Update Message Error, Holt Time Expired, Finite State Machine Error, Cease

Fornisce ulteriori informazioni sulla natura dellerrore riportato

Contiene dati relativi allerrore e ai sottocodici di errore. E un campo usato per diagnosticare la ragione del messaggio

109

eBGP e iBGP
Si pu distinguere tra eBGP (peers appartenenti ad

AS diversi) e iBGP (peers appartenenti allo stesso AS):

110

BGP: esempio

RTA# router bgp 100 neighbor 129.213.1.1 remote-as 200 RTB# router bgp 200 neighbor 129.213.1.2 remote-as 100 neighbor 175.220.1.2 remote-as 200 RTC# router bgp 200 neighbor 175.220.212.1 remote-as 200

111

BGP: esempio

#show ip bgp neighbors


BGP neighbor is 129.213.1.1, remote AS 200, external link BGP version 4, remote router ID 175.220.12.1 BGP state =

Established,

table version = 3, up for 0:10:59

Last read 0:00:29, hold time is 180, keepalive interval is 60 seconds Minimum time between advertisement runs is 30 seconds Received 2828 messages, 0 notifications, 0 in queue Sent 2826 messages, 0 notifications, 0 in queue Connections established 11; dropped 10

112

BGP: esempio con loopback interf.

RTA# router bgp 100 neighbor 190.225.11.1 remote-as 100 neighbor 190.225.11.1 update-source int loopback 1 RTB# router bgp 100 neighbor 150.212.1.1 remote-as 100

113

eBGP multihop

RTA# router bgp 100 neighbor 180.225.11.1 remote-as 300 neighbor 180.225.11.1 ebgp-multihop RTB# router bgp 300 neighbor 129.213.1.2 remote-as 100

114

Esempio su router Cisco


show ip bgp summary
gw>sh ip bgp summary BGP router identifier 194.143.143.15, local AS number 9209 BGP table version is 16505373, main routing table version 16505373 123080 network entries and 244183 paths using 21706080 bytes of memory 67847 BGP path attribute entries using 4078320 bytes of memory 60703 BGP AS-PATH entries using 2019624 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP activity 886376/6976543 prefixes, 3005036/2760853 paths, scan interval 60 s. Neighbor 151.99.49.1 192.94.212.209 V 4 4 AS MsgRcvd MsgSent TblVer 6664 5402219 568616 16505003 1267 3035284 4825672 16505003 InQ OutQ Up/Down 0 0 3w0d 0 0 15w0d State/PfxRcd 122224 121958

115

Esempio su router Cisco (i)


show ip bgp neighbors
gw> sh bgp neighbors BGP neighbor is 151.99.49.1, remote AS 6664, external link Description: INTERBUSINESS BGP version 4, remote router ID 151.99.49.5 BGP state = Established, up for 3w0d Last read 00:00:07, hold time is 180, keepalive interval is 60 seconds Neighbor capabilities: Route refresh: advertised and received(old & new) Address family IPv4 Unicast: advertised and received Received 5399978 messages, 0 notifications, 0 in queue Sent 568441 messages, 4 notifications, 0 in queue Default minimum time between advertisement runs is 30 seconds For address family: IPv4 Unicast BGP table version 16498361, neighbor version 16498339 Index 1, Offset 0, Mask 0x2 Route refresh request: received 0, sent 0 122382 accepted prefixes consume 4895280 bytes Prefix advertised 778940, suppressed 0, withdrawn 678934 Connections established 5; dropped 4 Last reset 3w0d, due to BGP Notification sent, hold time expired External BGP neighbor may be up to 4 hops away. Connection state is ESTAB, I/O status: 1, unread input bytes: 0 Local host: 194.143.128.3, Local port: 12275 Foreign host: 151.99.49.1, Foreign port: 179 Enqueued packets for retransmit: 0, input: 0 mis-ordered: 0 (0 bytes)

116

(continua)

Esempio su router Cisco (ii)

Event Timers (current time is 0x21F0442EC): Timer Starts Wakeups Next Retrans 89727 865 0x0 TimeWait 0 0 0x0 AckHold 150348 75280 0x0 SendWnd 0 0 0x0 KeepAlive 0 0 0x0 GiveUp 0 0 0x0 PmtuAger 0 0 0x0 DeadWait 0 0 0x0 iss: 3215576441 irs: 3508386839 snduna: 3221188905 rcvnxt: 3563173331 sndnxt: 3221188905 rcvwnd: 16249 sndwnd: delrcvwnd: 16163 135

SRTT: 332 ms, RTTO: 527 ms, RTV: 195 ms, KRTT: 0 ms minRTT: 20 ms, maxRTT: 1828 ms, ACK hold: 200 ms Flags: higher precedence, nagle Datagrams (max data segment is 536 bytes): Rcvd: 279978 (out of order: 2), with data: 193154, total data bytes: 54786491 Sent: 246410 (retransmit: 865, fastretransmit: 0), with data: 89340, total data bytes: 5612463

117

gw>sh ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is 194.143.128.34 to network 0.0.0.0 B B B B B B B B B B B B B B B B B B B B B B B B B B B B B 216.102.190.0/24 [20/0] via 151.99.49.1, 3w0d 208.221.13.0/24 [20/0] via 151.99.49.1, 3w0d 206.51.253.0/24 [20/0] via 151.99.49.1, 3w0d 205.204.1.0/24 [20/0] via 151.99.49.1, 3w0d 204.255.51.0/24 [20/0] via 151.99.49.1, 08:18:22 204.238.34.0/24 [20/0] via 151.99.49.1, 3w0d 204.153.85.0/24 [20/0] via 151.99.49.1, 2w6d 204.17.221.0/24 [20/0] via 151.99.49.1, 3w0d 203.238.37.0/24 [20/0] via 151.99.49.1, 3w0d 203.34.233.0/24 [20/0] via 151.99.49.1, 3w0d 200.68.140.0/24 [20/0] via 151.99.49.1, 3w0d 198.17.215.0/24 [20/0] via 151.99.49.1, 3w0d 192.68.132.0/24 [20/0] via 151.99.49.1, 10:08:06 170.170.0.0/16 is variably subnetted, 3 subnets, 3 masks 170.170.0.0/19 [20/0] via 151.99.49.1, 3w0d 170.170.224.0/20 [20/0] via 151.99.49.1, 3w0d 170.170.254.0/24 [20/0] via 151.99.49.1, 3w0d 216.239.54.0/24 [20/0] via 151.99.49.1, 2w0d 216.103.190.0/24 [20/0] via 151.99.49.1, 3w0d 213.239.59.0/24 [20/0] via 151.99.49.1, 3w0d 212.205.24.0/24 [20/0] via 151.99.49.1, 3w0d 205.152.84.0/24 [20/0] via 151.99.49.1, 3w0d 203.254.52.0/24 [20/0] via 151.99.49.1, 3w0d 203.1.203.0/24 [20/0] via 151.99.49.1, 3w0d 202.1.202.0/24 [20/0] via 151.99.49.1, 3w0d 198.205.10.0/24 [20/0] via 151.99.49.1, 3w0d 198.69.130.0/24 [20/0] via 151.99.49.1, 14:43:27 192.35.226.0/24 [20/0] via 151.99.49.1, 5d22h 170.171.0.0/16 is variably subnetted, 4 subnets, 2 masks 170.171.0.0/16 [20/0] via 151.99.49.1, 3w0d 170.171.251.0/24 [20/0] via 151.99.49.1, 3w0d

Internet routing table

118

Servizi di Rete

119

Sommario

Telnet File Transfer Protocol (FTP) Name service (DNS) Network Information Server (NIS) Network File System (NFS) Simple Network Management Protocol (SNMP) Dynamic Host Configuration Protocol (DHCP)
120

Telnet

servizio di emulazione di terminale attraverso la rete si basa sul protocollo TCP -> connessione affidabile strutturato secondo il paradigma client/server

client Telnet, si connette con un server Telnet in esecuzione su un altro host in ascolto sulla porta 23 appena connesso l'utente pu eseguire comandi come se il terminale fosse locale

Questo servizio si basa su 3 aspetti:


1. Network Virtual Terminal (NVT) terminale virtuale

con caratteristiche generali; ogni server o client traduce i controlli nativi in quelli del NVT; permette di eliminare l'uso di specifici tool client e server per sfruttare questo servizio;
121

Telnet
2. Opzioni negoziate tra client e server per aumentare

le funzionalit della sessione Telnet da aprire 3. Viste Simmetriche la negoziazione delle opzioni pu generare cicli di opzioni senza fine (errata interpretazione) Funzioni di controllo standard Essendo un servizio funzionante su sistemi eterogenei, i client e server possono essere implementati in modo diverso Sono state standardizzate le definizioni di 7 funzionalit di controllo (Interrupt process, abort output, break, erase character, erase lane, syncronize, are you there)

122

Telnet
Svantaggio account e password di solito sono trasmessi in chiaro Soluzione Uso di SSH (Secure Shell) Es: putty (Windows) , telnet/ssh (Linux)
123

Sommario

Telnet File Transfer Protocol (FTP) Name service (DNS) Network Information Server (NIS) Network File System (NFS) Simple Network Management Protocol (SNMP) Dynamic Host Configuration Protocol (DHCP)
124

FTP (File Transfer Protocol)


Protocollo per il trasferimento di file tra host in una

rete TCP/IP (RFC 959)

Essendo basato sul protocollo di trasporto TCP

orientato alla connessione ed affidabile

In ogni trasferimento dati intervengono 2 processi

Il Data Transfer Process (DTP) che si occupa del trasferimento vero e proprio tra un client e un server FTP Il Protocol Interpreter che si occupa di trasmettere comandi fra il client e il server FTP (d inizio al processo FTP)
125

FTP
Una sessione FTP si compone di 2 sessioni/connessioni

(bidirezionali):

1. la prima (detta di controllo) viene creata tra i processi PI server e client; lato client viene stabilita una connessione verso il server attraverso la porta 21 (del server); 2. alla richiesta di trasferimento dati, il DTP server apre una apposita connessione (porta 20) con il DTP client (durante questa, la sessione di controllo rimane attiva)
IP DTP CLIENT
1. comandi/risposte FTP 2. trasferimento dati

IP21 DTP20 SERVER

Sessione anonima

account usato anonymous, la password in genere l'email i client hanno il solo diritto di lettura, il che evita il download sul server di dati non autorizzati
126

FTP
Comandi FTP per
controllo dell'accesso utilizzati per stabilire e terminare una sessione FTP
OPEN nomehost USER nomeutente (utente che esegue i comandi FTP) PASS password QUIT

configurare i parametri del trasferimento permettono di modificare i valori di default


PORT indirizzIP+numero_porta PASV (server passivo, il client da inizio alla connessione)

trasferimento dei file


TYPE (ascii o binario) RECV file_remoto file_locale (o GET) SEND file_locale file_remoto (o PUT)
127

FTP
gestione di directory e file comandi usati dal client ed operanti sul server
DELETE file_remoto CD ( per cambiare directory corrente ) MKDIR / RMDIR ( crea / elimina directory ) LS / DIR

ad ogni comando inviato dal client FTP, il server risponde con

appositi codici di risposta Sicurezza e FTP

Nelle versioni iniziali FTP prevedeva il trasferimento in chiaro delle password Con RFC 2228 sono stati introdotti nuovi comandi per aumentare la sicurezza AUTH (il client specifica quale meccanismo intende usare per il trasferimento protetto delle informazioni)

128

FTP
PROT , livello di protezione che verr usato Clear Safety ( richiesta la verifica sull'integrit dei dati ) Confidential ( trasmissioni cifrate ) Private ( trasmissioni cifrate e verifica integrit ) MIC , comando per il trasferimento dati con livello di sicurezza Safety CONF , comando per il trasferimento dati con livello di sicurezza Confidential ENC , comando per il trasferimento dati con livello di sicurezza Private Es. psftp e winscp (Windows) , scp (Linux)

129

Sommario

Telnet File Transfer Protocol (FTP) Name service (DNS) Network Information Server (NIS) Network File System (NFS) Simple Network Management Protocol (SNMP) Dynamic Host Configuration Protocol (DHCP)
130

DNS

E possibile associare ad ogni interfaccia di rete (su reti di tipo TCP/IP, ad ogni IP address) un nome (hostname). Perch? I nomi sono pi facili da ricordare e da scrivere correttamente rispetto agli indirizzi numerici.

Es: 141.250.1.4

oppure

egeo.unipg.it

131

DNS

Quasi sempre gli indirizzi numerici e i nomi sono intercambiabili, ma in tutti i casi prima di effettuare una connessione il sistema converte lhostname in un IP address. Lamministratore di rete responsabile dellassegnazione dei nomi e degli indirizzi e della loro memorizzazione. La traduzione di nomi in indirizzi deve essere nota a tutti gli host della rete
132

DNS
Risoluzione nome-indirizzoIP statica

lassociazione (mapping) tra indirizzo IP e hostname viene stabilito una volta per tutte tramite una host table host table memorizzata un semplice file ASCII /etc/hosts, ad esempio:
Indirizzo IP 192.168.130.1 192.168.132.2 192.168.130.40 192.168.132.20 192.168.132.45 Hostname moe.unipg.it larry.unipg.it omniw.unipg.it pserver.unipg.it powerbook.unipg.it moe Larry omniw pserver powerbook Alias

133

DNS
Risoluzione nome-indirizzoIP dinamica

lassociazione (mapping) tra indirizzo IP e hostname viene stabilito dinamicamente ogni host all'avvio richiede a server DNS le informazioni sui nomi da assegnare alle proprie interfacce attraverso appositi file di configurazione ogni host sa quali server interrogare e i server quali nomi assegnare

134

DNS

In ambiente UNIX esiste una implementazione dei protocolli del Domain Name System (DNS): il Berkeley Internet Name Domain (BIND) BIND un package di software comprendente: i principali componenti del DNS, tra cui: un server DNS (named); una libreria di risoluzione di DNS (resolver);

strumenti per la verifica del corretto funzionamento del server DNS (nslookup);

La release corrente la BIND 9.2.x

135

DNS

Il resolver (BIND client) una libreria di funzioni che permette di generare e inviare al server le richieste di informazioni sui nomi dei domini; Il named (BIND server) un processo demone in grado di servire le richieste del resolver e che deve essere in esecuzione sul host locale; La configurazione del BIND (sia lato client che server) avviene tramite specifici file di testo che ne descrivono il tipo di servizio fornito.
136

DNS

Configurazione del resolver (BIND client) le funzioni del resolver sono configurate nel file /etc/resolv.conf (ascii file) contiene una serie di istruzioni per lesecuzione delle richieste. viene letto allavvio del processo che usa il resolver

Le voci da inserire nel file sono:


le richieste vengono inviate allindirizzo IP address specificato. Si possono specificare pi nameserver fino ad un max di 3 (valore dipendente dal sistema): se il primo non risponde entro un tempo prestabilito, la richiesta viene passata al secondo e cos via.
137

nameserver address

DNS
domain name

definisce il nome di dominio di default. Il resolver aggiunge name a qualsiasi nome host che non contiene il carattere punto. Esempio: se il dominio definito come dipmat.unipg.it per accedere un servizio dellhost cartesio.dipmat.unipg.it basta specificare il nome cartesio .Il resolver chiede di ottenere lindirizzo IP di cartesio.dipmat.unipg.it. In caso di fallimento richiede lIP di cartesio.unipg.it e cos a salire nella gerarchia.

search domain1, domain2, domain ha la stessa funzione di domain con la possibilit di avere pi

domini da provare ad aggiungere al nome dellhost. La differenza con domain che viene aggiunto solo lintero nome dei domini indicati.
138

DNS

Esempio del file di configurazione del resolver

# cat /etc/resolv.conf search dipmat.unipg.it unipg.it nameserver 141.250.1.7 nameserver 141.250.1.6


Verifica del corretto funzionamento

# host egeo egeo.unipg.it is 141.250.1.4

139

DNS

Rispetto al resolver pi file sono utilizzati per la configurazione di named: named.conf contiene i parametri generali di configurazione del named ed i puntatori ai file contententi le informazioni dei domini gestiti dal server named.ca puntatori ai root domains server named.local reverse per lindirizzo loopback named.hosts zone file per la risoluzione diretta named.rev zone file per la risoluzione inversa NB: i nomi utilizzati sono del tutto generici ed arbitrali
140

DNS

BIND pu essere configurato in 3 diversi modi:


caching-only

il processo in esecuzione ma non esiste nessun nameserver database file. Ogni richiesta (dal resolver) viene rediretta su altri server ed il risultato memorizzato in una cache locale per servire future richieste (necessari solo named.conf e named.ca)
primary

il gestore (authoritative server) di informazioni riguardanti specifici domini. Legge le informazioni da appositi file (configurati dallamministratore) detti zone files.
secondary

Scarica gli zone file dal primary server e li memorizza localmente in appositi file detti zone file transfer: copia completa di tutte le informazioni sui domini.
141

DNS named.conf (1/4)

Consente a named di puntare ai file contenenti le informazioni sui domini, sia locali che remoti.

Ci sono appositi comandi per configurare questo file (directory, primary, secondary, cache, )

142

- caching-only -

DNS named.conf (2/4)


0.0.127.IN-ADDR.ARPA . /etc/named.local /etc/named.ca

Vengono omessi i comandi di configurazione del primary e del secondary server ad eccezione per il dominio di loopback
primary cache

Indica a named che il server locale primary server per il proprio dominio di loopback e che le relative informazioni sono contenute in /etc/named.local

Indica a named di memorizzare in una cache locale le risposte ottenute dai nameserver (a cui redirige le richieste dai resolver) e di inizializzare la cache con la lista dei root server contenuta nel file /etc/named.ca
143

DNS named.conf (3/4) - primary server Supponendo che il dominio sia unipg.it e che il primary server sia

moe:
directory /etc

primary primary primary cache

unipg.it 168.192.IN-ADDR.ARPA 0.0.127.IN-ADDR.ARPA .

named.hosts named.rev named.local named.ca

Dichiara che il server locale il primary server per unipg.it e il relativo zone file named.hosts Puntatore al file named.rev in cui c' l'associazione tra gli indirizzi IP, nel 192.168.0.0, con i relativi hostnames

Indica inoltre che il server locale il primary server per il reverse domain 168.192.IN-ADDR.ARPA, con le informazioni relative nel file named.rev 144

DNS named.conf (4/4) - secondary server Supponendo che il dominio sia unipg.it e che il primary server sia

moe:
directory /etc

secondary secondary primary cache

unipg.it 168.192.IN-ADDR.ARPA 0.0.127.IN-ADDR.ARPA .

192.168.130.1 192.168.130.1

unipg.it.hosts 192.168.rev named.local named.ca

Dichiara che il server locale deve scaricare le info. sul dominio unipg.it dal server con indirizzo IP 192.168.130.1 e memorizzarle nel file /etc/unipg.it.hosts

Indica inoltre che il server locale il secondary server per il reverse domain 168.192.IN-ADDR.ARPA, e che i relativi dati vanno scaricati dal server con IP 192.168.130.1 e memorizzati nel file

/etc/192.168.rev

145

named.ca
3600000 IN A.ROOT-SERVERS.NET. 3600000 A ; formerly NS1.ISI.EDU . 3600000 NS B.ROOT-SERVERS.NET. 3600000 A ; formerly C.PSI.NET . 3600000 NS C.ROOT-SERVERS.NET. 3600000 A ; formerly TERP.UMD.EDU . 3600000 NS D.ROOT-SERVERS.NET. 3600000 A ; formerly NS.NASA.GOV . 3600000 NS E.ROOT-SERVERS.NET. 3600000 A ; formerly NS.ISC.ORG . 3600000 NS F.ROOT-SERVERS.NET. 3600000 A ; formerly NS.NIC.DDN.MIL . 3600000 NS G.ROOT-SERVERS.NET. 3600000 A ; formerly AOS.ARL.ARMY.MIL . 3600000 NS H.ROOT-SERVERS.NET. 3600000 A ; formerly NIC.NORDU.NET . 3600000 NS I.ROOT-SERVERS.NET. 3600000 A ; temporarily housed at NSI (InterNIC) . 3600000 NS J.ROOT-SERVERS.NET. 3600000 A ; housed in LINX, operated by RIPE NCC . 3600000 NS K.ROOT-SERVERS.NET. 3600000 A ; temporarily housed at ISI (IANA) . 3600000 NS L.ROOT-SERVERS.NET. 3600000 A ; housed in Japan, operated by WIDE . 3600000 NS M.ROOT-SERVERS.NET. 3600000 A ; End of File NS A.ROOT-SERVERS.NET. 198.41.0.4 B.ROOT-SERVERS.NET. 128.9.0.107 C.ROOT-SERVERS.NET. 192.33.4.12 D.ROOT-SERVERS.NET. 128.8.10.90 E.ROOT-SERVERS.NET. 192.203.230.10 F.ROOT-SERVERS.NET. 192.5.5.241 G.ROOT-SERVERS.NET. 192.112.36.4 H.ROOT-SERVERS.NET. 128.63.2.53 I.ROOT-SERVERS.NET. 192.36.148.17 J.ROOT-SERVERS.NET. 198.41.0.10 K.ROOT-SERVERS.NET. 193.0.14.129 L.ROOT-SERVERS.NET. 198.32.64.12 M.ROOT-SERVERS.NET. 202.12.27.33

puntatori ai root domains server

146

DNS named.local E' lo zone file per la traduzione del reverse domain
In sede di analisi del file di configurazione, al carattere @ verr sostituito il nome del dominio corrispondente a questo file, definito in named.conf SOA localhost. root.localhost. 2005030101 10800 3600 604800 IN 1 IN NS PTR localhost. localhost. ; Serial ; Refresh after 3 hours ; Retry after 1 hour ; Expire after 1 week
Definisce il nameserver con autorit sul dominio Hostname associato allindirizzo 127.0.0.1

0.0.127.IN-ADDR.ARPA. Scopo: permette la conversione dell'indirizzo IP 127.0.0.1 (detto loopback address) nellhostname localhost.

$TTL @

86400 IN

86400 ) ; Minimum TTL of 1 day

Utimo numero dellindirizzo 127.0.0.1 ; i primi 3 numeri sono desunti dalla definizione 0.0.127.IN-ADDR.ARPA

147

DNS
E' lo zone file per la conversione diretta Scopo: permette la conversione di hostname in indirizzi IP. Contiene la maggior parte delle informazioni sui domini. @ IN SOA moe.unipg.it. root.moe.unipg.it. ( 2005030101 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum unipg.it. localhost moe.unipg.it. larry.unipg.it. omniw.unipg.it. www ns133.unipg.it. IN NS moe.unipg.it. IN MX 10 moe.unipg.it. IN A 127.0.0.1 IN A 192.168.130.1 IN A 192.168.132.2 IN A 192.168.130.40 IN CNAME moe.unipg.it. IN A 192.168.133.1
Aliases Interface specific name 148 Name to IP mapping

named.hosts

Name server Mail server

DNS named.rev domain inseriti nel E' lo zone file per la traduzione dei reverse
named.conf.
Scopo: permette la conversione di indirizzi IP in hostname. @ IN SOA moe.unipg.it. root.moe.unipg.it. ( 2005030101 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum 192.168.192.in-addr.arpa. IN NS moe.unipg.it.
Name server Addresses point to canonical names

1.130.168.192.in-addr.arpa. IN PTR moe.unipg.it. 2.132.168.192.in-addr.arpa. IN PTR larry.unipg.it

149

Semplici ASCII file che contengono records del database DNS. Hanno un formato fisso ed uno stesso metodo per definire i record di un dominio. I principali componenti di un zone file sono detti standard resource record (RR): SOA, NS, A, PTR, MX, CNAME. Il formato di un resource record (RR) del DNS :

DNS zone files (1/2)

[name] [ttl] IN type data


name , nome di uno specifico host op di un dominio a
cui Il RR si riferisce; generalmente si utilizza il carattere @ per riferirlo al dominio che viene definito dallo zone file stesso.
150

DNS zone files (2/2)


ttl , (time-to-live) definisce il tempo massimo (in
pu secondi) oltre cui l'informazione nel RR non essere considerata valida in una cache di un sistema remoto RR

IN , indica che il record successivo un Internet DNS type


,

identifica il tipo del RR (SOA, NS, A, PTR, MX, CNAME)

data , informazione specifica del tipo RR


151

DNS
SOA (Start Of Authority): segna linizio di un zone file e
Formato:

SOA (1/3)

generalmente anche il primo record ad essere utilizzato. Esiste un solo SOA associato ad ogni zone file

[name] [ttl] IN SOA origin contact (


serial refresh retry expire minimum

differenza di un indirizzo email non compare il carattere @, che viene sostituito dal punto. Se postmaster@unipg.it lamministratore del dominio apparir postmaster.unipg.it
152

origin, indica il primary master server per questo dominio; origin contact, email address dellamministratore del dominio. A contact

DNS SOA (2/3)


serial, indica la versione dello zone file. E
conveniente esprimerlo nella forma yyymmddnn. E estremamente importante in quanto permette ai secondary server di stabilire se lo zone file in loro possesso stato modificato: confrontando questo campo con quello nello zone file nel primary server.

refresh, esprime il tempo che deve aspettare il

secondary server prima di controllare il SOA sul primary server. Generalmente un giorno (86400 secondi)
153

DNS SOA (3/3)


retry, indica il tempo che dovr aspettare il
secondary server prima di effettuare una nuova richiesta se la prima fallisce. Generalmente unora (3600 secondi).

expire, indica il tempo dopo il quale il secondary


server dovr riprendere lo zone file. Generalmente 604800 secondi pari a 7 giorni.

minimun, il valore di default del Time To Live


(TTL) per tutti i record del dominio dove non espresso.

154

DNS NS
NS (Name Server): identifica il nome del server che ha lautorit per
il dominio. Formato:

[domain] [ttl] IN NS server

Estensioni: permette di indicare i server autorizzati a rispondere per il sottodominio es. dominio unipg.it, sottodominio (in named.hosts) plant 432000 IN

plant.unipg.it

NS pack.plant.unipg.it

155

DNS

A
A (Address record): utilizzato per associare un
hostname in indirizzo IP Formato:

[hostname] [ttl] IN A address hostname, nome che si vuol assegnare all'indirizzo IP


address

address, lindirizzo IP corrispondente


Estensioni: uso di @ come name per indicare il dominio corrente

156

DNS MX
MX (Mail eXchanger): definisce il server che gestisce la posta per un
singolo host o un intero dominio; tutta la posta viene rediretta sul server specificato Formato:

[name] [ttl] IN MX preference host

name, di host o dominio a cui le email verrando indirizzate preference, permette di stabilire un ordine di preferenza se host, nome del mail server
Estensioni: uso di @ come

sono presenti pi mail server; Pi basso, maggiore sar la priorit. I valori partono da 0 e sono multipli di 5.

name per indicare il dominio corrente


157

DNS CNAME
CNAME (Canonical NAME): definisce un alias per il nome di un host
Formato:

nickname [ttl] IN CNAME host

158

DNS PTR
PTR (domain name PoinTR): permette di associare
indirizzi IP ad un nome di host.

Formato:

[name] [ttl] IN PTR host


nella rete

name, numero che identifica n-esimo indirizzo IP host, nome completo del host

159

DNS named (1/3)


Comando utilizzato per avviare il servizio DNS.
Sintassi:

named [-c -d -p -n -t -u ]

configfile level port ncpus directory user

-c configfile : utilizzato per specificare la posizione del file named.conf se diversa da /etc/named.conf -d level : utilizzato per attivare il debug (maggiore level, maggiore il dettaglio) salvando le informazioni nel file $dir/named.run
160

DNS named (2/3)


-p port : per default il servizio risponde alla porta 53 (TCP/UDP), con questa opzione si pu specificare una porta diversa. -n ncpus : il kernel istanzia ncpus thread per sfruttare i sistemi multiprocessore -t directory : il processo esegue un cambio di directory appena letto il file di configurazione. -u user : il processo named viene eseguito dallutente specificato, invece che da root
161

Script per la gestione di named: /etc/rc.d/inetd.d/named


/etc/rc.d/init.d/functions case "$1" in start) # Start daemons. echo -n "Starting BIND Name Server Daemon: " daemon /usr/local/sbin/named echo ;; stop) # Stop daemons. echo -n "Shutting Down BIND Name Server Daemon: " killproc named echo ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0

DNS named (3/3)

Per attivare il programma del DNS si deve dare il comando:

/etc/rc.d/init.d/named start

162

Tool di debugging compreso nel package BIND. Consente di interrogare direttamente un nameserver per ottentere informazioni sul DNS disponibile: per verificare se un nameserver attivo, se correttamente configurato. Sintassi:

DNS nslookup

nslookup hostname

Es (modalit non interattiva): % nslookup omniw.unipg.it Server: moe.unipg.it Address: 192.168.130.1 Name: omniw.unipg.it Address: 192.168.130.40
163

nameserver interrogato

Sommario

Telnet File Transfer Protocol (FTP) Name service (DNS) Network Information Server (NIS) Network File System (NFS) Simple Network Management Protocol (SNMP) Dynamic Host Configuration Protocol (DHCP)
164

NIS
E un servizio che permette di definire delle risorse (di

amministrazione) comuni ad un insieme di host (grandi comunit di utenti), in modo tale che lutente possa "spostarsi" da un host allaltro mantenendo le stesse caratteristiche fondamentali: login, password, home directory, autorizzazioni possedute.
realizza un database di amministrazione che permette un

controllo centralizzato e la condivisione automatica di risorse.


Fondamentale anche per applicazioni parallele e distribuite e per

la creazione di cluster di computer, poich consente di usare una notazione semplificata per laccesso a file e risorse, a prescindere dal singolo nodo di elaborazione.

165

NIS
Converte i principali file UNIX (file ASCII) in un

formato database (detto NIS map) che pu essere interrogato per rendere le informazioni disponibili attraverso la rete
Il vantaggio nelluso di NIS quello di avere un

controllo centralizzato degli administrative files in un singolo server contattabile da ogni altro host in rete.
Lutilizzo di NIS completamente trasparente per

lutente finale

166

NIS
I database creati dai file ASCII sono chiamati NIS map e vengono creati

dai seguenti file di sistema:

/etc/passwd definisce login, password, shell e home directory

passwd.byname e passwd.byaddr
ogni gruppo

/etc/group, definisce i gruppi di utenti, elencando i nomi di login di /etc/netgroup definisce le autorizzazioni da assegnare ad host ed

group.byname e group.byaddr

utenti per laccesso alle risorse locali (influenza i permessi dichiarati in hosts.equiv, NFS, .rhosts)

netgroup.byaddr
associate agli utenti

netgroup.byname e

/etc/auto.home definisce la posizione assoluta delle home directory /etc/ethers informazioni usate da RARP per la conversione da

passwd.byname e passwd.byaddr

ethernet address a IP address

ethers.byaddr e ethers.byname
167

NIS
/etc/hosts, ascii file che associa un indirizzo IP ad un nome

=>

hosts.byname e hosts.byaddr

/etc/networks, ascii file per mappare i network address in network

name => networks.byname e network.byaddr /etc/netmasks, utilizzato per definire la subnet mask. E una tabella con 1 sola riga contentente indirizzo della rete e netmask relativa =>

netmasks.byaddr
/etc/protocols, una tabella contenente il nome del protocollo, il

numero ed il nome => protocols.byname e rotocols.byaddr /etc/services, contenente lelenco dei servizi e relativa porta utilizzata con specificato il protocollo => services.byname
/etc/aliases, contiene gli alias agli indirizzi e-mail =>

mail.byname

e mail.byaddr
/etc/netgroup, definisce dei gruppi di host e utenti che possono

accedere ai servizi del sistema => netgroup.byname e

netgroup.byaddr
168

NIS
Le NIS map vengono memorizzate nel master server che le

rende disponibili ai client tramite il processo ypserv. I client possono aggiornare le loro informazioni ricevendo i database tramite il demone ypbind. Sia il NIS server che i clients fanno parte del NIS domain il cui nome pu essere verificato o stabilito con il comando: # domainname domain Per visualizzare lindirizzo del server da cui sono prese le mappe si utilizza : # ypwhich Nei client, per ciascuna tabella che si vuol utilizzare dal server occorre inserire i caratteri: +::::::

169

NIS
Con una singola modifica nelle mappe aggiorno linformazione in tutti i client
NIS Master Server domain name nisdomain Client B domain name nisdomain Client A domain name nisdomain

ypbind

Le stesse informazioni del NIS server si trovano nei client

ypserv

ypbind
NIS Slave Server domain name nisdomain Client C domain name nisdomain

ypbind ypserv ypbind

170

NIS
Generalmente le informazioni NIS sono memorizzate nella

directory /var/yp e vanno ridistribuite ogni volta che viene effettuata una modifica al Master Server (la rigenerazione delle mappe NIS viene effettuata mediante lutility makefile).

Servizi condivisi attraverso NIS:

Autenticazione (login, passwd) Home directory Accesso a stampanti, via NFS Risorse di rete

lpr

171

Sommario

Telnet File Transfer Protocol (FTP) Name service (DNS) Network Information Server (NIS) Network File System (NFS) Simple Network Management Protocol (SNMP) Dynamic Host Configuration Protocol (DHCP)
172

NFS
Il Network File System (NFS) permette di

condividere su una rete directory e file. Con NFS utenti e programmi possono accedere file memorizzati su sistemi remoti come se fossero file locali. I vantaggi di NFS sono: riduzione spazio disco locale (una singola copia per directory) semplificazione dei task di supporto (aggiornamento centralizzato dei file, ma accessibili da tutta la rete) manipolazione dei file remoti con comandi UNIX locali (es. cp)
173

NFS
Esistono due componenti fondamentali di NFS
il client utilizza le directory remote come se fossero parte del

filesystem locale; il server mette a disposizione le proprie directory per l'uso da parte dei client
Lato client, linserimento di una directory di un host remoto nel

filesystem locale detto mounting e viene realizzato mediante il comando #

mount

Lato server, la condivisione di una directory locale ad host

specifici per l'accesso remoto detta sharing (il file system locale diventer parte del filesystem remoto) e viene realizzata mediante il comando

# export
174

NFS
Demoni NFS

nfsd [nservers] demone che gestisce le richieste NFS nservers indica il numero di processi da eseguire; presente solo nel server. biod [nservers] demone che gestisce I/O dal lato client rpc.lockd gestisce i lock file (server - client) rpc.statd controlla lo stato della rete (server - client) rpc.mountd esegue le richieste di mount del client (server)

175

NFS
Esempio di script per avvio NFS:
if [ -f /usr/sbin/biod -a -f /usr/sbin/rpc.statd -a -f /usr/sbin/rpc.lockd ]; then biod 8; echo -n biod rpc.statd & echo -n statd rpc.lockd & echo -n lockd Fi Client if [ -f /etc/export ]; then > /etc/xtab exportfs -a nfsd 8 & echo -n nfsd rpc.mound fi

Server
176

NFS
Export filesystems

/etc/exports

Definisce le directory da esportare e le condizioni Rende le directory disponibili per il mount e aggiorna il file /etc/xtab Contiene le informazioni delle directory esportate Esamina le richieste di mount dei clients leggendo /etc/xtab
177

exportfs

/etc/xtab

mountd

NFS
Exporting filesystems
sul server NFS (nfsserver) configurare:

file ASCII che contiene le directory da esportare e lelenco degli host che hanno accesso a questi file. Esempio:
/usr/public /usr/man -rw=mailhost:dnsserver /usr/local -ro /u1 access=netgrp1,root=mailhost:dnsserver,rw /home/research -access= mailhost:dnsserver:netgrp2

/etc/exports, un

178

NFS
Il formato : directory [-option][,option]

directory : nome della directory o file che si vuol esportare -ro : read-only non permette di poter modificare le directory exportate -rw [=hostname][:hostname] : permette la lettura e scrittura delle
directory. Se presente hostname restringe questa possibilit allelenco specificato

-access=hostname[:hostname] : limita laccesso ai soli host


nellelenco. Si pu anche utilizzare con un netgroup

179

NFS
Mounting Remote Filesystems via NFS
showmount -e [hostname] : per visualizzare lexport list dellhost specificato mount hostname:remote-directory local-directory : hostname identifica lNFS server a cui si richiede la remote directory e che sar disponibile nel sistema nella local directory Esempio: mkdir /home/ricerca mount nfsserver:/home/ricerca /home/ricerca umount /home/ricerca umount nfsserver:/home/ricerca Per effettuare il mount nfs automatico ad ogni reboot del client NFS occorre aggiungere un record al file /etc/fstab del tipo :
nfsserver:/home/research /home/research nfs rw 0 0
180

Sommario

Telnet File Transfer Protocol (FTP) Name service (DNS) Network Information Server (NIS) Network File System (NFS) Simple Network Management Protocol Dynamic Host Configuration Protocol (DHCP)
181

SNMP
Il problema della gestione delle reti riveste una

importanza enorme, ed in continuo sviluppo, data la crescente importanza che le reti e i servizi hanno sia per le aziende che per i singoli e le istituzioni. In molti contesti oggi avere la rete ferma coincide con il blocco parziale o totale delle attivit. Simple Network Management Protocol (SNMP) oggi il pi potente e diffuso software di gestione di reti, sistemi e applicazioni Usando SNMP gli amministratori di sistema possono indirizzare richieste e comandi ai nodi della rete, monitorando lo stato delle risorse e delle applicazioni.
182

SNMP

183

SNMP
Larchitettura di SNMP si compone di:
Nodi gestiti o Agent: qualsiasi dispositivo in grado di

collezionare dati SNMP e di rispondere alle richieste del Manager (host, stampante, router, switch, hub, etc) interroga e invia comandi agli agent, che consente la gestione intelligenti degli eventi Base (MIB): un archivio di informazioni di gestione immesse dagli agent, detti oggetti. interazione tra il Manager e gli Agent

Stazione di gestione o Manager: un programma che

Informazioni di gestione o Management Information

Protocollo di gestione (SNMP): definisce le modalit di

184

SNMP
SNMP si evoluto in tre principali versioni:
SNMPv1 (RFC 1157) SNMPv2p (RFC 1441, RFC 1445, RFC 1446,

RFC 1448, RFC 1449) SNMPv2 (RFC 1901, RFC 1902, RFC 1903, RFC 1904 , RFC 1905, RFC 1906, RFC 1907, RFC 1908, RFC 1909, RFC 1910) SNMPv3 (RFC 2026, RFC 2200) La grossa limitazione mostrata fino alla versione SNMPv2 riguarda la sicurezza. SNMPv3 la versione pi recente, che corregge queste limitazioni
185

SNMP
IETF http://www.ietf.org/html.charters/snmpv3-charter.html Simple Times, la rivista che si propone la diffusione di

SNMP

http://www.simple-times.org/

Numero speciale di Simple Times su SNMPv3:


http://www.simple-times.org/pub/simple-times/issues/5-1.html

Homepage di SNMP Technology Inc.:


http://www.snmp.com/snmpv3/

Uninteressante pagina su SNMPv3:


http://www.ibr.cs.tu-bs.de/projects/snmpv3/

186

SNMP
Authentication: per proteggere contro modifiche delle

informazioni, il mascheramento e la modifica della sequenza dei messaggi;

Privacy: per garantire la riservatezza delle informazioni; Nuovi strumenti di controllo, inclusi strumenti grafici per la

definizione delle regole di accesso insieme di operazioni sicure

Configurazione remota di sistemi gestibili, mediante un

187

SNMP
Ogni oggetto mantiene una serie di variabili SNMP

che descrivono il suo stato La collezione di tutti i possibili oggetti in una rete chiamata Management Information Base, MIB Il Manager comunica con gli Agent mediante il protocollo SNMP che gli consente di conoscere lo stato delle variabili MIB e di modificarle se opportuno A volte capitano eventi imprevisti: si genera un SNMP trap La stazione (manager) pu chiedere informazioni sullo stato delle variabili mediante messaggi. Se si verificano trap i messaggi si intensificano: questo modo di operare denominato polling orientato ai trap.
188

SNMP
Il nucleo dellSNMP costituito dagli oggetti gestiti

dagli agenti che vengono letti e scritti dal Manager

E fondamentale uno standard per la definizione degli

oggetti SNMP e per il modo di codificare e trasferire queste informazioni in rete. regole definite nellAbstract Syntax Notation 1 (ASN.1) del protocollo ISO/OSI. BIT STRING, OCTET STRING, NULL, OBJECT IDENTIFIER

SNMP per questa funzione usa un sottoinsieme delle

I tipi permessi in SNMP dellASN.1 sono: INTEGER,

189

SNMP
OBJECT IDENTIFIER contiene i criteri per definire un

oggetto. Si segue una struttura ad albero di standard e si pone qualsiasi oggetto o standard in una regione precisa dellalbero. La porzione usata da SNMP ha come radici gli organismi di standardizzazione ISO e CCITT (ora ITU) dalla radice si dipartono degli archi che definiscono sottoorganizzazioni, le quali hanno associato sia una etichetta che un numero. Tutti gli oggetti MIB SNMP vengono identificati da unetichetta (cammino sull'albero) del tipo: {iso idetified-organization (3) dod (6) internet (1) mgmt (2) mib-2 (1) } o, alternativamente: { 1 3 6 1 2 1 }
190

SNMP

191

SNMP
ASN.1 definisce il modo univoco in cui i valori dei tipi ASN.1

sono convertiti senza ambiguit in una sequenza di bytes, che viene detta Basic Encoding Rules (BER). La codifica ricorsiva, cos che la codifica di un oggetto composto risulta dalla concatenazione delle codifiche degli oggetti componenti. Ciascun valore trasmesso deve essere costituito dai campi: Identificatore (tipo o estensione) Lunghezza del campo dati in bytes Campo dati A seguito delladozione dellASN.1 per SNMP sono state definite 4 macro e 8 tipi di dati che sono usatissimi in SNMP e vengono detti Structure of Management Informations (SMI)

192

SNMP

193

SNMP
La collezione degli oggetti gestita da SNMP viene

definita nel MIB. Gli oggetti che appartengono a MIB sono raggruppati in 10 categorie che corrispondono a 10 nodi al di sotto del nodo mib-2 della struttura ad albero descritta prima. Esse servono per definire le categorie di base per ci che deve essere compreso dal Manager. In futuro verranno aggiunte altre categorie e oggetti I produttori di hardware di rete potranno definire oggetti aggiuntivi per i loro prodotti

194

SNMP
Group sistema dellapparecchio interfacce AT IP ICMP TCP UDP EGP SNMP #obj 7 23 3 42 26 19 6 20 29 Description nome, locazione e descrizione interfacce di rete e misura del traffico traduzione di indirizzo statistiche di pacchetti IP stat. Sui messaggi ICMP rcvd algoritmi, parametri e stats TCP stats di traffico UDP stats sui protocolli di routing Exterior Gateway Protocol stats sul traffico SNMP

195

SNMP
Il gruppo sistema consente di capire il tipo di dispositivo chiamato, chi lo ha chiamato, hardware e software che contiene, persona da contattare. Se unazienda appalta la gestione, i gestori sapranno chi contattare in caso di guasti o malfunzionamenti
Il gruppo interfacce contiene i Network Interface

Controller (NIC, le schede di rete) che tengono traccia dei pacchetti e byte inviati e ricevuti, il numero di quelli rifiutati, il numero di broadcast e dimensione della coda di uscita
Il gruppo AT teneva traccia delle conversioni

la

indirizzo Ethernet indirizzo Internet, ora vuoto, in quanto questi oggetti sono stati spostati negli specifici protocolli in SNMPv2
196

SNMP
Il gruppo IP si occupa del traffico a livello Rete,

dellInternet Protocol (IP), dal nodo e al nodo. E ricco di contatori che tengono traccia dei pacchetti persi per diversi motivi. Tiene traccia del riassembraggio e della frammentazione dei pacchetti IP
Il gruppo ICMP riguarda i messaggi di errore IP,

perch lInternet Control Message Protocol (ICMP) un protocollo di gestione dellIP. Aggiorna contatori per i vari tipi di messaggio ICMP, registrandone il numero.
Il gruppo TCP riguarda il traffico a livello Trasporto,

del Trasmission Control Protocol. Aggiorna contatori riguardo alle connessioni aperte, in totale e attuali, segmenti inviati e ricevuti e altre statistiche.

197

SNMP
Il gruppo EGP tiene conto del traffico di tipo Exterior

Gateway Protocol (EGP), protocolli di routing esterni agli Autonomous System (AS). Tiene traccia di quanti pacchetti sono stati inviati e ricevuti, delle eventuali anomalie. dispositivo. Per es. qui vengono mantenute le statistiche specifiche per il protocollo Ethernet.

Il gruppo trasmissione contiene i MIB specifici di

Il gruppo SNMP colleziona statistiche sul protocollo

Simple Network Management Protocol (SNMP) stesso: quanti sono i messaggi inviati, di che tipo, etc definiti 175 oggetti appartenenti ai gruppi visti, con gli oggetti suddivisi per gruppo. Per ciascun oggetto viene descritta la funzione.
198

MIB II definito nellRFC1213. Nel documento sono

SNMP
Il modello SNMP prevede un Manager che invia

richieste agli Agent, interrogando le 175 variabili di MIB II pi quelle create dai singoli produttori hardware. Il protocollo che Manager e Agent utilizzano, lSNMP vero e proprio, codificato nellRFC1448. Il Manager invia allAgent richiesta di informazioni o un aggiornamento di un suo stato secondo la sintassi dellASN.1 Possono essere riportati errori SNMP definisce 7 tipi di messaggi per svolgere queste funzioni: 6 di query ed 1 di risposta
199

SNMP
Messaggio
Get-request Get-next-request Get-bulk-request Set-request Inform-request

Descrizione Richiede il valore di una o pi variabili MIB Richiede il valore della variabile MIB successiva Richiede una grande tabella Aggiorna una o pi variabili Messaggio da un Manager a un altro Manager che descrive quali variabili sono gestite dallo stesso Manager Snmpv2-trap. Segnalazione di SNMP trap dallAgent al Manager

200

Sommario

Telnet File Transfer Protocol (FTP) Name service (DNS) Network Information Server (NIS) Network File System (NFS) Simple Network Management Protocol Dynamic Host Configuration Protocol
201

DHCP
Il Dynamic Host Configuration Protocol (DHCP, RFC 2131)

fornisce il supporto per lo scambio tra host di informazioni di configurazione degli stessi host in una rete TCP/IP.
DHCP realizzato da 2 componenti: un protocollo per la trasmissione dei parametri di

configurazione specifici di un host da un DHCP server allhost interessato un meccanismo per assegnare gli indirizzi di rete agli host
DHCP non utilizzato per configurare i router; si basa sul paradigma client-server: gli host designati

(dall'amministratore) ad essere server DHCP assegnano indirizzi di rete e comunicano i relativi parametri di configurazione ai client.

202

DHCP
DHCP estende il protocollo Bootstrap (BOOTP, RFC 1534) con:
l'automatic allocation di indirizzi di rete (riusabili); opzioni di configurazione aggiuntive.

BOOTP un meccanismo di trasporto per la raccolta delle

informazioni di configurazione di host:


utilizza il protocollo di trasporto UDP sulla porta 67 (lato server) e

68 (lato client). sfrutta gli indirizzi di broadcast, sia lato client che server, per permettere l'assegnamento degli indirizzi IP

Uno dei limiti del BOOTP l'uso degli indirizzi di broadcast che ne

comporta l'uso solo in segmenti di rete


Limite superato (RFC 1542) configurando un router (o un host)

(detto DHCP/BOOTP Relay Agent) per riconoscere il traffico BOOTP e permettere al server di distribuire indirizzi IP a pi sottoreti
203

DHCP
Il processo che consente di assegnare gli indirizzi IP

agli host prevede 4 fasi (a cui corrispondono altrettanti messaggi del DHCP):
1. Discovering, il messaggio DHCP Discover viene

inviato dal client per richiedere l'assegnamento di un indirizzo un qualunque server (con un indirizzo a sua disposizione) che ha ricevuto la richiesta inviata da un client nella fase 1 (pi offerte possono avvenire);
204

2. Offering, il messaggio DHCP Offer viene inviato da

DHCP
3.

Requesting, il messaggio DHCP Request viene inviato dal client (ancora in broadcast) per comunicare quale offerta ha accettato Acknowledgment, il messaggio DHCP Acknowledgment viene inviato dal server per conferma (se non ci sono errori) dell'assegnamento dell'indirizzo al particolare client. In caso di errori (es. client richiede un indirizzo non valido) viene inviato DHCP NACK (negative acknowledgement)

4.

205

DHCP
Con il meccanismo di assegnamento dinamico il rinnovo

dell'indirizzo IP avviene quando:


al riavvio del client DHCP; a met durata dell'assegnamento il client; in prossimit dello scadere dell'assegnamento

206

DHCP
Configurazione di un server DHCP 1. Installazione del software

dipende dal SO usato nel host server


1. Configurazione di un pool di indirizzi IP

definizione di un pool di indirizzi da assegnare ai client: indirizzo iniziale e finale del pool
eventuali intervalli da escludere (quelli gi assegnati durata della validit degli indirizzi assegnati

staticamente come quello del server DHCP e dei router)


Tempo finito (es. un giorno quando il numero di client prossimo a quello degli indirizzi disponibili) Tempo illimitato

un server DHCP pu avere configurati pi pool di indirizzi

207

DHCP
3.

Opzioni di configurazione dei client DHCP vengono applicate a tutti i client DHCP che ottengono un indirizzo IP nel pool definito al punto 2 possono essere configurate opzioni globali in server con pi pool Es. opzioni di base (per un client in una certa sottorete)

Pad ( permette l'allineamento dei campi successivi a multipli di parole da 32 bit) Subnet mask (maschera della sottorete) Router (elenco di indirizzi IP di router) DNS server (elenco indirizzi IP di server accessibili) Host name Domain name End (fine opzioni nel pacchetto)

208

DHCP
Es. opzioni livello IP (per ogni host)
IP layer forwarding ( abilita o meno il forward dei pacchetti

al client )

Default Time-To-Live ( definisce il TTL per i datagram in

uscita dal client )

Es. opzioni livello IP (per ogni interfaccia di un host)


interface MTU ( stabilisce la dimensione del Maximum

Transmission Unit )

Broadcast address ( indirizzo di bradcast per la sottorete )

Es. opzioni livello Link ( per ogni interfaccia di un

host )

Ethernet encapsulation ( indica se il client deve usare

l'incapsulamento Ethernet )

209

DHCP
Es. opzioni livello TCP
Default Time-To-Live ( definisce il TTL per i segmenti in

uscita dal client ) Keepalive interval ( in secondi, il tempo che il client deve attendere prima di inviare il messaggio Keepalive attraverso la connessione TCP )
Es. opzioni livello Applicazione
NIS domain name ( stringa ASCII ) NIS server ( lista di indirizzi IP di server NIS raggiungibili )

210

DHCP
DHCP Client Reservation
possibile riservare un particolare indirizzo IP ad un client; si

associa l'indirizzo IP con quello MAC di una interfaccia di rete del client
Server DHCP in una rete con pi segmenti
necessario un DHCP server per ogni sottorete? per ogni segmento di rete si pu configurare un DHCP Realy

Agent che monitorizza i broadcast DHCP


se rileva un pacchetto Discovery o Request lo inoltra verso i

server DHCP aggiungendo al pacchetto il proprio indirizzo

211

DHCP
Esistono diverse implementazioni di DHCP sotto

Unix (commerciali e non)


dhcpd una implementazione non commerciale

del Internet Software Consortium (ISC) compatibile con diverse versioni di Unix

212

DHCP
Nel file ASCII /etc/dhcpd.conf vanno inserite le istruzioni di configurazione quali le sottoreti e gli host client, quali informazioni di configurazioni deve fornirgli; il seguente esempio prevede l'assegnamento dinamico degli indirizzi ai client nella sottorete con supporto a client BOOTP # impostazioni ed opzioni globali default-lease-time 86400; # tempo medio (in secondi) di # assegnamento di un indirizzo max-lease-time 604800; # max tempo di assegnamento option subnet-mask 255.255.255.0; option domain "unipg.it"; option domain-name-servers 192.168.12.1 192.168.3.5; #impostazioni ed opzioni per ogni sottorete servita subnet 192.168.12.0 netmask 255.255.255.0 { option routers 192.168.12.1; option broadcast-address 192.168.12.255; range 192.168.12.64 192.168.12.192; range 192.168.12.200 192.168.12.250; } 213

DHCP
#impostazioni per i BOOTP client group { # applica il seguente parametro a tutti gli # host appartenenti a questo qruppo use-host-decl-names true host moe { hardware ethernet 00:80:c7:aa:a8:04 fixed-address 192.168.12.4 } host larry { hardware ethernet 08:80:20:01:59:c4 fixed-address 192.168.3.16 } }

214

Posta elettronica

215

Sommario

Posta elettronica Simple Mail Transfer Protocol (SMTP) Post Office Protocol (POP) Interactive Mail Access Protocol (IMAP)

216

Posta elettronica
La posta elettronica, o email, il servizio pi importante e pi

antico di Internet. Ha consentito di stravolgere la produttivit e il modo di lavorare di chi la usa.


Le mailing-list, un servizio basato sulla posta elettronica,

costituiscono una delle principali forme, insieme alle USENET NEWS, di agora telematica, villaggio globale, etc: uno strumento rivoluzionario di comunicazione che serve per parlare di qualsiasi argomento dai prodotti software, agli hobbies, alla politica e al sociale.
Oggi la posta elettronica equiparata ai principali strumenti di

comunicazione, come la posta scritta.

217

Posta elettronica
La Posta Elettronica un servizio che coinvolge due diversi

programmi: il Mail User Agent (elm, pine, eudora, microsoft outlook, etc) ed il programma di trasporto (sendmail, mmdf, etc). svolge le seguenti funzioni:

Il Mail User Agent linterfaccia dellutente verso lapplicazione e Composizione, si riferisce ai processi di

composizione vera e propria del messaggio, rispettando la sintassi definita per questa applicazione nellRFC822, mediane un opportuno editore di testi; gestione degli strumenti di agenda elettronica e quanto utile per gestire lindirizzario dei corrispondenti Gestione, quanto pi automatica possibile, dei campi dellintestazione (prendere direttamente il destinatario di una risposta dal messaggio originario, predisporre il subject, etc)
218

Posta elettronica
Visualizzazione, si riferisce ai processi di

visualizzazione vera e propria del messaggio, separando gli header dello stesso dal corpo e gestendo eventuali allegati fornire degli strumenti di archiviazione dei messaggi prevedendo dei meccanismi di archiviazione e classificazione interazione con il sistema in modo da operare le conversioni quando necessario oppure invocando le applicazioni di sistema per gestire tipi di file speciali (Postscript, PDF, PNG, etc)
Eliminazione, una volta processati i messaggi o automatica-

mente (filtri) o manualmente, lutente deve poter cancellare i messaggi non interessanti dal server per evitare che la mailbox raggiunga dimensioni che danneggiano il server di posta
219

Posta elettronica
Il programma di trasporto (Sendmail) svolge invece le restanti

funzioni: Trasferimento: quando il Mail User Agent spedisce il messaggio dellutente, questo viene passato al programma di trasporto, il quale interpreta l'indirizzo di posta elettronica e provvede al trasferimento del messaggio. Questo comporta lattivazione di una sessione con il server di destinazione o qualche macchina intermedia (qualora il server sia congestionato o irrangiungibile e sia disponibile il servizio di mail relay). Notifica allutente: qualora il messaggio non sia stato inviato, occorre che lutente mittente ne sia informato (possono esserci ritardi dovuti a congestione, o errori di sintassi). Alcuni prodotti gestiscono la ricevuta di ritorno, la quale per non stata standardizzata, anche se aumenta la sua importanza per gli usi nella pubblica amministrazione.
220

Posta elettronica
Il programma di trasporto completamente trasparente

all'utente finale Sendmail effettua le seguenti operazioni:

riceve e spedisce posta secondo il protocollo SMTP (Simple Mail

Transfer Protocol) fornisce alias di posta (del tipo alias-->utente reale, oppure alias->insieme di utenti) che permettono anche la creazione di mailing list prototipali (per limplementazione di mailing-list efficienti occorrono dei programmi di listserver, tipo majordomo)
Il programma popper (POP3) consente di interagire con il

programma di trasporto direttamente da un PC connesso in rete, in modo da consentire la manipolazione della posta direttamente dal PC client. Anche il protocollo IMAP svolge analoga funzione ed pi versatile e sicuro poich prevede una autenticazione pi forte

221

Posta elettronica
Gli indirizzi di posta elettronica sono del tipo:

oppure:

user@host.domain

user@domain Abbiamo visto nella descrizione del DNS quali sono le informazioni necessarie affinch la posta elettronica sia attivata correttamente (definizione del mailhost con il record MX, preferibili definizioni multiple per creare dei server di backup, variante del record A per assegnare lIP al dominio). Anche Sendmail necessita di particolari parametri di configurazione quando si voglia gestire la posta per un dominio Internet invece che per il singolo host.

222

Posta elettronica
Quando un dominio di posta elettronica

importante occorre definire un gestore di posta secondario, possibilmente in una rete esterna e lontana, in modo che in caso di malfunzionamenti questi sia in grado di salvare temporaneamente i messaggi in transito e facente le veci del server di destinazione. In questo modo eventuali anomalie non hanno conseguenze su chi invia posta al dominio.

223

Posta elettronica
Questa funzione si chiama Mail Relay. E stata la

pi usata dagli spammer finch stata tenuta aperta indiscriminatamente (fino a Sendmail v8). Lo spammer si presentava con un certo indirizzo e diceva a Sendmail "questo un mail per te che io ho temporaneamente accettato"
Dalla versione 9 gli host da cui si accetta relaying

sono espressamente elencati in una speciale tabella

224

Posta elettronica
RFC822 definisce una serie di campi di intestazione

obbligatori che sono importantissimi per il corretto funzionamento della posta elettronica:

Received: Message-ID:

elenca i server che ha attraversato identificativo del messaggio (B00002222000@mailhost.dom.it) Date: data Wed, 23 Oct 2000 10:22:00 +0100 From: utente mittente Subject: soggetto To: utente destinatario Cc: utenti destinatari in carbon copy Bcc: utenti destinatari in Blind Carbon Copy Mime-Version: intestazioni MIME

225

sendmail
La configurazione di Sendmail una funzione abbastanza

complessa, che viene semplificata mediante luso di uno pseudolinguaggio denominato M4, che consente di attivare delle funzioni mediante invocazione di macro:

VERSIONID(`@(#)version.m4 8.9.1.1 (Berkeley) 7/2/98') OSTYPE(linux) tipo di sistema MASQUERADE_AS(`miodominio.it') nome del dominio di posta define(`confCONNECTION_RATE_THROTTLE', `2') max livello di carico accettato sul server define(`confMAX_DAEMON_CHILDREN', `200') max numero di demoni contemporanei define(`confMAX_MESSAGE_SIZE',`5000000') max dimensione msg define(`confMIN_FREE_BLOCKS',`100') max dimensione libera accettata per /var/spool/mail FEATURE(`smrsh') usa una shell con funzionalit limitate FEATURE(`use_cw_fil) elenca i domini di posta accettati nel file /etc/mail/sendmail.cw FEATURE(`always_add_domain') aggiungi il dominio agli indirizzi che ne sono privi FEATURE(`relay_entire_domain') effettua relaying per lintero dominio FEATURE(`relay_based_on_MX') basandoti sullMX record FEATURE(`access_db', `hash /etc/mail/access') accetta oggetti solo dagli host elencati nel file

226

sendmail

/etc/mail/access
cyberspammer.com spammer@aol.com 150.10.1.13 151.20.0.0 193.133.108.0 210.205.1.2 550 We don't accept mail from spammers 550 We don't accept mail from spammers REJECT OK OK 550 We don't accept mail from spammers

227

sendmail
/etc/mail/relay-domains
miodominio.it vhost1.it vhost2.it 193.12.12.212 libero.it iol.it tiscalinet.it tin.it tim.it infinito.it email.it dominio principale dominio di cui si fa virtualhost dominio di cui si fa virtualhost server secondario di posta da qui le definizioni servono per POP3

228

sendmail
/etc/mail/sendmail.cw
miodominio.it vhost1.it vhost2.it ... dominio principale dominio di cui si fa virtualhost dominio di cui si fa virtualhost

229

sendmail
# Alias for mailer daemon MAILER-DAEMON: postmaster@mydom.it # Aliases to handle mail to msgs and news nobody: /dev/null # Alias for mailer daemon MAILER-DAEMON: postmaster@ mydom.it # Aliases to handle mail to msgs and news nobody: /dev/null # Following alias is required by the new mail protocol, RFC 822 postmaster: joe@mydom.it,sam@mydom.it netman: joe@mydom.it, charlie@mydom.it cert: joe@mydom.it, sam@mydom.it abuse: joe@mydom.it,sam@mydom.it

/etc/aliases

# ADMIN help: barbie@mydom.it support: jane@mydom.it info: jackie@mydom.it staff: joe@mydom.it, charlie@mydom.it, jackie@mydom.it, jane@mydom.it, barbie@mydom.it

230

sendmail
/etc/mail/Makefile
# Makefile per generazione db di Sendmail # # Osvaldo Gervasi on Apr 11, 1998 all: access.db access.db : access /usr/sbin/makemap hash $@ < access clean: @rm -f *.db *~

231

MIME
Rispetto alle caratteristiche iniziali della posta elettronica

oggi abbiamo delle importanti novit: I messaggi vengono trasmessi in lingue diverse dallinglese:

messaggi in lingue con character set ricco di

lettere accentate (italiano, francese, tedesco) messaggi in alfabeti non latini (ebraico, russo) messaggi in lingue prive di alfabeto (cinese, giapponese)
molti messaggi trasportano informazioni non testuali

(come audio, video, file compressi, etc)

232

MIME
Per poter gestire queste nove esigenze stato

introdotto un nuovo standard di codifica, denominato Multipurpose Internet Mail Extensions, introdotto negli RFC1341 e RFC1521. definiti nellRFC822, che rimane lo strumento per la definizione delle modalit di composizione di un messaggio di posta elettronica. dellRFC822 comporta che per la gestione di MIME basta aggiornare i Mail User Agent, senza intaccare il funzionamento di base della posta elettronica e il meccanismo di trasporto
233

MIME introduce dei nuovi criteri rispetto a quelli

Laggiunta di nuovi headers rispetto a quelli

MIME
Nuovi headers introdotti nellRFC822 da MIME

header

significato identifica la versione MIME descrive il contenuto del messaggio in forma leggibile identificatore del messaggio tipo di codifica utilizzata per la trasmissione tipo di contenuto del messaggio.

MIME-version Content-Description Content-Id Content-Transfer-Encoding Content-Type

Questo MIME-type diventato popolarissimo ed utilizzato da altre applicazioni Internet (browser web) per identificare il tipo di contenuto associato ad un certo file, in modo da selezionare lazione corretta da intraprendere

234

MIME
Tipi di codifica dei messaggi (1/3)

Il modo con cui viene rappresentato il messaggio di

posta elettronica ha una importanza fondamentale, poich responsabile del buon esito delloperazione. I computer rappresentano le informazioni in base alle caratteristiche hardware e software, ne consegue che la stessa sequenza di informazioni binarie ha significato diverso a seconda della configurazione dellhost La codifica pi diffusa, quella ASCII (American Standard Code for Information Interchange), definito dallo standard ANSI X3.4 rappresenta linformazione in 7 bit: usata nei sistemi Unix e nei sistemi Windows (con differenti significati nei caratteri speciali) .
235

MIME
Tipi di codifica dei messaggi (2/3) Unaltra codifica EBCDIC (Extended Binary Coded Decimal

Information Code), la quale utilizza 8 bit Entrambe le codifiche sopracitate sono soggette alla limitazione ulteriore di non eccedere i 1000 caratteri di lunghezza per ciascuna riga del messaggio. I file binari non hanno struttura basata sul record e non sono trasportabili in questo modo. La codifica introdotta da MIME denominata base 64, definita nellRFC2045, la quale rappresenta una qualsiasi sequenza di bit in base alla sequenza A-Z, a-z, 0-9, +/= La codifica produce linee lunghe al massimo 76 caratteri, offrendo quindi la massima compatibilit con i programmi di trasporto della posta elettronica.

236

MIME
Tipi di codifica dei messaggi (3/3)
Per i messaggi di testo, la codifica base 64 inefficiente e si

preferisce una codifica definita da MIME come quoted-printable encoding che costituita dalla codifica ASCII standard, accompagnata da un criterio di rappresentazione dei caratteri con codifica superiore a 127 (carattere = seguito da due cifre esadecimali) sette tipi e da sottotipi. Il sottotipo separato dal tipo con il carattere /. Ad es:
Content-Type: video/mpeg

Lheader Content-Type definito nellRFC1521 ed costituito da

Per la lista aggiornata dei MIME-Types :


http://www.isi.edu/in-notes/iana/assignments/media-types/media-types

237

MIME
Tipo Sottotipo Ref.

Text

Image

Audio Video Application Message Rfc822

Multipart

Plain [RFC2646,RFC2046] RichText [RFC2045,RFC2046] html [RFC2854] xml [RFC3023] sgml [RFC1874] Gif [RFC2045,RFC2046] Jpeg [RFC2045,RFC2046] Basic [RFC2045,RFC2046] Mpeg [RFC2045,RFC2046] Octet-stream [RFC2045,RFC2046] Postscript [RFC2045,RFC2046] [RFC2045,RFC2046] Partial [RFC2045,RFC2046] External-body [RFC2045,RFC2046] http [RFC2616] news [RFC1036] Mixed [RFC2045,RFC2046] Alternative [RFC2045,RFC2046] Parallel [RFC2045,RFC2046] Digest [RFC2045,RFC2046]

MIME-Types

238

Sommario

Posta elettronica Simple Mail Transfer Protocol (SMTP) Post Office Protocol (POP) Interactive Mail Access Protocol (IMAP)

239

SMTP
Il trasporto dei messaggi di posta elettronica avviene utilizzando

il Simple Mail Transfer Protocol (SMTP), definito nellRFC821


Il suo obiettivo trasferire i messaggi di posta elettronica in

modo affidabile e efficiente.


Caratteristica dellSMTP la capacit di trasportare mail

attraverso diversi ambienti di servizi di trasporto.


Un servizio di trasporto fornisce un interprocess communication

environment (IPCE).
Linvio di messaggi di posta elettronica avviene

indipendentemente dal tipo di rete: consiste nello scambio di dati tra due IPCE

240

SMTP
Come risultato di una richiesta di posta dellutente viene

attivato un canale di comunicazione bidirezionale (sul port number 25) tra il server SMTP trasmettitore ed il server SMTP ricevente
Il server SMTP ricevente pu essere il destinatario finale o un

server intermedio.
I comandi SMTP sono generati dal server SMTP trasmettitore

ed inviati al server SMTP ricevente.


Le risposte SMTP sono generate dal ricevente in risposta ai

comandi SMTP ed inviate al trasmettitore

241

SMTP

Utente sender SMTP File System

SMTP Commands / Replies

and Mail

receiver SMTP

File System

242

SMTP
Una volta attivato il canale trasmissivo, lSMTP-sender invia il

comando MAIL indicando colui che invia il mail. Se il ricevente pu ricevere mail risponde con OK
Il sender invia il comando RCPT identificando il recipient del

mail; se il ricevente pu ricevere mail per quel recipient risponde con OK, altrimenti risponde con un codice di reject del recipient (non della sessione mail). I due SMTP server possono scambiarsi diversi recipient. sequenza speciale. Se il receiver interpreta correttamente i dati, risponde con OK.

Il server SMTP invia i dati del mail, terminando con una

Il dialogo volutamente a passi bloccanti, uno alla volta.

243

SMTP
Largomento del comando MAIL indica chi manda il mail (crea

un reverse-path implementando una return route, sulla quale verranno istradati eventuali messaggi di errore)
Largomento del comando RCPT indica invece chi il

destinatario del mail (crea un forward-path implementando una source route)


Quando un messaggio inviato a pi utenti, viene inviata una

sola copia per tutti i destinatari di uno stesso host.


I comandi di mail hanno una sintassi rigida, cos come i codici

di errore.

244

SMTP
Comandi SMTP

HELO MAIL RCPT DATA RSET SEND SOML SAML VRFY EXPN HELP NOOP QUIT TURN

<SP> <domain> <CRLF> <SP> FROM:<reverse-path> <CRLF> <SP> TO:<forward-path> <CRLF> <CRLF> <CRLF> <SP> FROM:<reverse-path> <CRLF> <SP> FROM:<reverse-path> <CRLF> <SP> FROM:<reverse-path> <CRLF> <SP> <string> <CRLF> <SP> <string> <CRLF> [<SP> <string>] <CRLF> <CRLF> <CRLF> <CRLF>
245

SMTP
500 Syntax error, command unrecognized [This may include errors such as command line too
long]

501 502 503 504 211 214

standard command; this reply is useful only to the human user]

Syntax error in parameters or arguments Command not implemented Reply codes Bad sequence of commands Command parameter not implemented System status, or system help reply Help message [Information on how to use the receiver or the meaning of a particular non-

220 Service ready 221 Service closing transmission channel 421 Service not available, closing transmission channel [This may be a reply to any
command if the service knows it must shut down]

250 251 450 550 451 551 452 552 553 354 554

Requested mail action okay, completed User not local; will forward to Requested mail action not taken: mailbox unavailable [E.g., mailbox busy] Requested action not taken: mailbox unavailable [E.g., mailbox not found, no access] Requested action aborted: error in processing User not local; please try Requested action not taken: insufficient system storage Requested mail action aborted: exceeded storage allocation Requested action not taken: mailbox name not allowed [E.g., mailbox syntax incorrect] Start mail input; end with . Transaction failed

246

SMTP
Ordine dei comandi
Il primo comando deve essere HELO, tale comando pu essere

riimmesso anche successivamente. Se largomento non accettabile viene ritornato un errore 501 failure nella sessione

I comandi NOOP, HELP, EXPN, VRFY possono essere utilizzati ovunque I comandi MAIL, SEND, SOML o SAML iniziano una transazione di mail,

per linvio del messaggio. Deve esserre seguito da uno o pi comandi RCPT e dal comando DATA, nellordine. Dopo limmissione del testo del messaggio deve seguire la sequenza <CRLF>.<CRLF> . Una transazione pu essere abortita col comando RSET altro momento della sessione.

Lultimo comando QUIT, che non pu essere usato un nessun

247

SMTP
Apertura: R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready S: HELO USC-ISIF.ARPA R: 250 BBN-UNIX.ARPA Chiusura: S: QUIT R: 221 BBN-UNIX.ARPA Service closing transmission channel

248

SMTP
S: MAIL FROM:<Smith@Alpha.ARPA>: R: 250 OK S: RCPT TO:<Jones@Beta.ARPA>: R: 250 OK S: RCPT TO:<Green@Beta.ARPA>: R: 550 No such user here S: R: S: R: S: S: S: R:

RCPT TO:<Brown@Beta.ARPA>: 250 OK DATA 354 Start mail input; end with <CRLF>.<CRLF> Blah blah blah... ...etc. etc. etc. <CRLF>.<CRLF> 250 OK

249

SMTP
MAIL FROM:<Smith@Alpha.ARPA>: : 250 OK RCPT TO:<Jones@Beta.ARPA>: 250 OK RCPT TO:<Postel@USC-ISI.ARPA>: 251 User not local; will forward to <Postel@USC-ISIF.ARPA> S: RCPT TO:<Paul@USC-ISIB.ARPA>: R: 551 User not local; please try <Mockapetris@USC-ISIF.ARPA> S: DATA R: 354 Start mail input; end with <CRLF>.<CRLF> S: Blah blah blah... S: ...etc. etc. etc. S: <CRLF>.<CRLF> R: 250 OK S: R: S: R: S: R:
SMTP forward session

250

SMTP
SMTP verify examples S: VRFY Smith : R: 251 User not local; will forward to <Smith@USCISIQ.ARPA>

S: VRFY Jones R: 550 String does not match anything. S: VRFY Jones : R: 551 User not local; please try <Jones@USC-ISIQ.ARPA> S: VRFY Gourzenkyinplatz R: 553 User ambigous.
251

SMTP
S: EXPN Example-People R: 250-Jon Postel <Postel@USC-ISIF.ARPA> R: 250-Fred Fonebone <Fonebone@USC-ISIQ.ARPA> R: 250-Sam Q. Smith <SQSmith@USC-ISIQ.ARPA> R: 250-Quincy Smith <@USC-ISIF.ARPA:Q-Smith@ISIVAXA.ARPA> R: 250-<joe@foo-unix.ARPA> R: 250 <xyz@bar-unix.ARPA> S: EXPN Executive-Washroom-List R: 550 Access Denied to You.
Espansione (expn) di Mailing lists (alias)

252

SMTP
S: R: S: R: S: R: S: S: S: S: S: S: S: S: S: MAIL FROM:<> 250 ok RCPT TO:<@HOSTX.ARPA:JOE@HOSTW.ARPA> 250 ok DATA 354 send the mail data, end with . Date: 23 Oct 81 11:22:33 From: SMTP@HOSTY.ARPA To: JOE@HOSTW.ARPA Subject: Mail System Problem
Undeliverable mail notification message

Sorry JOE, your message to SAM@HOSTZ.ARPA Lost HOSTZ.ARPA said this: "550 No Such User" .

R: 250 ok
253

SMTP
Return Path and Received Time Stamps Return-Path:<@GHI.ARPA,@DEF.ARPA,@ABC.ARPA:JOE@ABC.ARPA> Received: from GHI.ARPA by JKL.ARPA ; 27 Oct 81 15:27:39 PST Received: from DEF.ARPA by GHI.ARPA ; 27 Oct 81 15:15:13 PST Received: from ABC.ARPA by DEF.ARPA ; 27 Oct 81 15:01:59 PST Date: 27 Oct 81 15:01:01 PST From: JOE@ABC.ARPA Subject: Improved Mailing System Installed To: SAM@JKL.ARPA This is to inform you that ...

254

Sommario

Posta elettronica Simple Mail Transfer Protocol (SMTP) Post Office Protocol (POP) Interactive Mail Access Protocol (IMAP)

255

POP3
La diffusione dei PC sia nellambiente di lavoro che

per uso domestico ha reso popolare laccesso a server di posta elettronica remoti, mediante un opportuno protocollo che gestisca la comunicazione tra server e client. Post Office Protocol, noto come POP3, definito nellRFC1225 realizza questa funzione. client di ricevere nuovi messaggi, cancellare i messaggi presenti sul server SMTP, mentre linvio di posta avviene via SMTP

E unapplicazione client-server che consente al

256

POP3
Linterazione del client avviene con il server POP3, il

quale dialoga con il server SMTP (chiamato Message Transport System, MTS)

Il server in ascolto sulla porta 110. Quando un client chiede il servizio, apre una

connessione TCP/IP. A connessione avvenuta il server invia un messaggio di benvenuto. rispettivamente, fino alla chiusura della sessione. eventuale argomento e terminano con un doppio CRLF.

Client e server si scambiano comandi e risposte,

I comandi sono composti da una keyword e da un

257

POP3
Le risposte sono caratterizzate da indicatori di stato e da

keyword eventualmente seguite da ulteriori informazioni, terminanti con un doppio CRLF

Ci sono due indicatori: positivo ("+OK") e negativo ("-ERR"). La sessione attraversa diversi stadi: dopo il messaggio di benvenuto, la sessione entra nella fase

di AUTHORIZATION, nella quale il client fornisce login e password (in chiaro!)


Superata positivamente questa fase si passa ad una fase di

TRANSACTION nella quale il client richiede azioni al server


Alla fine, la sessione entra nella fase UPDATE, nella quale

vengono rilasciate le risorse acquisite e la sessione si chiude.


258

POP3
Comandi TRANSACTION:

STAT fornisce numero di msg e dimensione in byte LIST [msg] elenca msgid e dimensione dei(l) msg RETR msg riceve msg DELE msg marca msg come cancellato NOOP non fa nulla LAST indica il pi alto msgid acceduto RSET se ci sono msg marcati per essere cancellati, viene tolta
detta marcatura

Comandi UPDATE:

QUIT chiude la connessione


259

POP3
Esempio di AUTHENTICATION

C: USER mrose S: +OK mrose is a real hoopy frood C: PASS secret S: +OK mroses maildrop has 2 messages (320 octets) ... C: USER mrose S: +OK mrose is a real hoopy frood C: PASS secret S: -ERR unable to lock mroses maildrop, file already locked
260

POP3
Esempio di TRANSACTION

C: S: S: S: S: C: S: C: S:

LIST +OK 2 messages (320 octets) 1 120 2 200 . ... LIST 2 +OK 2 200 ... LIST 3 -ERR no such message, only 2 messages in maildrop

261

POP3
Esempio di TRANSACTION C: STAT S: +OK 4 320 C: LAST S: +OK 1 C: RETR 3 S: +OK 120 octets S: <the POP3 server sends the entire message here> S: . C: LAST S: +OK 3 C: DELE 2 S: +OK message 2 deleted C: LAST S: +OK 3 C: RSET S: +OK C: LAST S: +OK 1
262

Sommario

Posta elettronica Simple Mail Transfer Protocol (SMTP) Post Office Protocol (POP) Interactive Mail Access Protocol (IMAP)

263

IMAP
LIMAP definito (v2) nellRFC1064 e poi

(v4) nellRFC2060.

E un metodo per laccesso dinamico alle

mailbox ed alle news di server centrali, da parte di PC e stazioni mobili. pi client accedono al server per la stessa mailbox.

IMAP4 molto pi efficiente di POP3 quando

264

IMAP
IMAP stato sviluppato nel 1986 presso

Stanford University, ma solo dopo una decade ha attratto linteresse delle Software House.
Il servizio IMAP usa la porta 143 del TCP/IP. E dotato di potenti strumenti di ricerca delle

informazioni e di gestione delle informazioni multimediali (MIME)


265

IMAP
IMAP associa ai messaggi dei System flag, che ne definiscono

alcuni attributi:

\Seen \Flagged \Deleted \Draft

Message has been read Message is "flagged" for urgent/special attention Message is "deleted" for removal by later EXPUNGE

\Answered Message has been answered

Message has not completed composition (marked as a draft).

\Recent Message is "recently" arrived in this mailbox. This session is the first session to have been notified about this message; subsequent sessions will not see \Recent set for this message. This flag can not be altered by the client. If it is not possible to determine whether or not this session is the first session to be notified about a message, then that message SHOULD be considered recent. If multiple connections have the same mailbox selected simultaneously, it is undefined which of these connections will see newly-arrives messages with \Recent set and which will see it without \Recent set.
266

IMAP
initial connection and server greeting (1) non-authenticated (4) authenticated (5) (7) (6) selected (7) (2) (3) (1) connection without preauthentication (OK greeting) (2) pre-authenticated connection (PREAUTH greeting) (3) rejected connection (BYE greeting) (4) successful LOGIN or AUTHENTICATE command (5) successful SELECT or EXAMINE command (6) CLOSE command, or logout and close connection failed SELECT or EXAMINE command

267

IMAP
IMAP auth. example

S: * OK KerberosV4 IMAP4rev1 Server C: A001 AUTHENTICATE KERBEROS_V4 S: + AmFYig== C: BAcAQU5EUkVXLkNNVS5FRFUAOCAsho84kLN3/IJmrMG+25a4DT +nZImJjnTNHJUtxAA+o0KPKfHEcAFs9a3CL5Oebe/ydHJUwYFd WwuQ1MWiy6IesKvjL5rL9WjXUb9MwT9bpObYLGOKi1Qh S: + or//EoAADZI= C: DiAF5A4gA+oOIALuBkAAmw== S: A001 OK Kerberos V4 authentication successful

268

IMAP

<message set> Messages with message sequence numbers corresponding to the specified message sequence number set ALL All messages in the mailbox; the default initial key for ANDing. ANSWERED Messages with the \Answered flag set. BCC <string> Messages that contain the specified string in the envelope structurs BCC field. BEFORE <date> Messages whose internal date is earlier than the specified date. BODY <string> Messages that contain the specified string in the body of the message. CC <string> Messages that contain the specified string in the envelope structurs CC field. DELETED Messages with the \Deleted flag set. DRAFT Messages with the \Draft flag set. FLAGGED Messages with the \Flagged flag set. FROM <string> Messages that contain the specified string in the envelope structurs FROM field. HEADER <field-name> <string> Messages that have a header with the specified field-name (as defined in [RFC-822]) and that contains the specified string in the [RFC-822] field-body. 269

IMAP

KEYWORD <flag> Messages with the specified keyword set. LARGER <n> Messages with an [RFC-822] size larger than the specified number of octets. NEW Messages that have the \Recent flag set but not the \Seen flag. This is functionally equivalent to "(RECENT UNSEEN)". NOT <search-key> Messages that do not match the specified search key. OLD Messages that do not have the \Recent flag set. This is functionally equivalent to "NOT RECENT" (as opposed to "NOT NEW"). ON <date> Messages whose internal date is within the specified date. OR <search-key1> <search-key2> Messages that match either search key. RECENT Messages that have the \Recent flag set. SEEN Messages that have the \Seen flag set. SENTBEFORE <date> Messages whose [RFC-822] Date: header is earlier than the specified date. SENTON <date> Messages whose [RFC-822] Date: header is within the specified date. SENTSINCE <date> Messages whose [RFC-822] Date: header is within or later than the specified date. SINCE <date> Messages whose internal date is within or later than the specified date. 270

IMAP
SMALLER <n> Messages with an [RFC-822] size smaller than the

specified number of octets. SUBJECT <string> Messages that contain the specified string in the envelope structurs SUBJECT field. TEXT <string> Messages that contain the specified string in the header or body of the message. TO <string> Messages that contain the specified string in the envelope structurs TO field. UID <message set> Messages with unique identifiers corresponding to the specified unique identifier set. UNANSWERED Messages that do not have the \Answered flag set. UNDELETED Messages that do not have the \Deleted flag set. UNDRAFT Messages that do not have the \Draft flag set. UNFLAGGED Messages that do not have the \Flagged flag set. UNKEYWORD <flag> Messages that do not have the specified keyword set. UNSEEN Messages that do not have the \Seen flag set.
271

IMAP
S: * OK SUMEX-AIM.Stanford.EDU Interim Mail Access Protocol II Service 6.1(349) at Thu, 9 Jun 88 14:58:30 PDT U: a001 login crispin secret S: a002 OK User CRISPIN logged in at Thu, 9 Jun 88 14:58:42 PDT, job 76 U: a002 select inbox S: * FLAGS (Bugs SF Party Skating Meeting Flames Request AI Question Note \XXXX \YYYY \Answered \Flagged \Deleted \Seen) S: * 16 EXISTS S: * 0 RECENT S: a002 OK Select complete U: a003 fetch 16 all S: * 16 Fetch (Flags (\Seen) InternalDate " 9-Jun-88 12:55: RFC822.Size 637 Envelope ("Sat, 4 Jun 88 13:27:11 PDT" "INFO-MAC Mail Message" (("Larry Fagan" NIL "FAGAN" "SUMEXAIM.Stanford.EDU")) (("Larry Fagan" NIL "FAGAN" "SUMEX-AIM.Stanford.EDU")) (("Larry Fagan" NIL "FAGAN" "SUMEX-AIM.Stanford.EDU")) ((NIL NIL "rindflEISCH" "SUMEX-AIM.Stanford.EDU")) NIL NIL NIL "<12403828905.13.FAGAN@SUMEX-AIM.Stanford.EDU>")) S: a003 OK Fetch completed U: a004 fetch 16 rfc822 S: * 16 Fetch (RFC822 {637} S: Mail-From: RINDFLEISCH created at 9-Jun-88 12:55:43 S: Mail-From: FAGAN created at 4-Jun-88 13:27:12 S: Date: Sat, 4 Jun 88 13:27:11 PDT S: From: Larry Fagan <FAGAN@SUMEX-AIM.Stanford.EDU> S: To: rindflEISCH@SUMEX-AIM.Stanford.EDU S: Subject: INFO-MAC Mail Message S: Message-ID: <12403828905.13.FAGAN@SUMEX-AIM.Stanford.EDU> S: ReSent-Date: Thu, 9 Jun 88 12:55:43 PDT S: ReSent-From: TC Rindfleisch <Rindfleisch@SUMEX-AIM.Stanford.EDU> S: ReSent-To: Yeager@SUMEX-AIM.Stanford.EDU, Crispin@SUMEX-AIM.Stanford.EDU S: ReSent-Message-ID: <12405133897.80.RINDFLEISCH@SUMEX-AIM.Stanford.EDU> S: S: The file is <info-mac>usenetv4-55.arc ... S: Larry S: ------S: ) S: pa004 OK Fetch completed U: a005 logout S: * BYE DEC-20 IMAP II server terminating connection S: a005 OK SUMEX-AIM.Stanford.EDU Interim Mail Access Protocol Service logout

272

Sommario

Posta elettronica privata PGP News NNTP

273

Posta elettronica privata


Per molte applicazioni necessario garantire

a priori la segretezza dei messaggi di posta elettronica consentono di fornire questa possibilit esportare algoritmi di crittografazione stanno progressivamente venendo meno

La crittografia e i certificati digitali

Vecchi norme restrittive sulla possibilit di

274

Posta elettronica privata

Il software pi popolare Pretty

Good Privacy (PGP)


Esiste GnuPG, che la versione GPL

che implementa questa funzione

275

Requisiti essenziali

Accesso al server: Firewall Autenticazione (Server <=> Browser) Confidenzialit (Encryption) Integrit (Checksum, codici di autenticazione dei

messaggi)
Non ripudiabilit (firma elettronica)

276

Autenticazione via HTTP

277

Encryption technology
Private key encryption (DES)
Stessa chiave per encryption e decryption Entrambi i partner devono conoscere la chiave

Public key encryption (RSA)


Ciascuno ha una coppia di chiavi univoca Le chiavi sono collegate nel crypt/decrypt una chiave resa pubblica, laltra tenuta segreta (privata)
278

Shared key encryption

279

Public key encryption

280

Public key encryption

Confidentiality: Yes Authentication: Yes Non repudiation: No

281

Public key encryption (digital signatures)

Confidentiality: No Authentication: No Non repudiation: Yes

282

Public key encryption

(digital

signatures and confidentiality)

Confidentiality: Yes Authentication: Yes Non repudiation: Yes

283

Sommario

Posta elettronica privata PGP News NNTP

284

PGP
Pretty Good Privacy (public key encryption for the

masses) http://www.pgp.com

Lalgoritmo di cifratura di Philip Zimmermann ha

problemi legali: in Europa dobbiamo usare la versione internazionale disponibile a: http://www.ifi.uio.no/pgp soggetto nella licenza GPL http://www.gnupg.org

GnuPG sviluppato nellambito del progetto Gnu e

285

PGP
E un software disponibile in una forma free ed in

una versione commerciale (PGP Inc) che consente la crittografazione, la firma digitale e la compressione dei messaggi di posta elettronica Inventore Phil Zimmermann E multipiattaforma (DOS/Windows, Unix, MacIntosh) E stato il software che pi duramente osteggiato le restrizioni nellesportazione degli algoritmi di cifratura da parte del governo degli Stati Uniti. E stato accusato di violazione del brevetto dellRSA

286

PGP
PGP si basa su una coppia di chiavi,

denominate pubblica e privata.


La chiave privata deve rimanere nascosta e

protetta
Per scambiare posta cifrata occorre

conoscere la chiave pubblica del destinatario


E' un sistema di cifratura ibrida Usa algoritmi di crittografazione esistenti:

RSA, IDEA, MD5

287

PGP
Invio del messaggio:
PGP sintetizza il messaggio con MD5 PGP crea una session key, una chiave privata che ha validit per la sola sessione (one-time-only secret key) dato da un numero generato in maniera random (es. in base al movimento del mouse); Il testo in chiaro viene cifrato usando la session key con un algoritmo di cifratura a chiave privata La session key viene a sua volta crittografata usando la chiave pubblica del destinatario e aggiunta al testo crifrato in trasmissione verso il destinatario

Ricezione del messaggio


Si effettuano le operazioni in maniera inversa all'invio Utilizzando la propria chiave privata il destinatario pu decifrare la session key e di conseguenza riottenere il testo del messaggio in chiaro
288

PGP
Anche se qualcuno intercettasse il messaggio e conoscesse

la chiave pubblica del mittente, la sintesi MD5 protegge la sicurezza del messaggio stesso.
sintesi e messaggio cifrato sono concatenati e compressi

con un algoritmo di ZIP di Ziv-Lempel


Il messaggio viene poi cifrato con IDEA, utilizzando la

chiave publica del destinatario (loperazione inversa lato destinatario, avr bisogno della sua chiave privata)
Il ridultato codificato in base64, secondo lo standard MIME PGP efficiente anche solo per la firma digitale dei

messaggi

289

PGP
Le chiavi utilizzate per la cifratura e la firma digitale

sono la parte fondamentale del PGP Il sistema consente di mantenere queste chiavi in due file chiamati:
pubring: linsieme delle chiavi pubbliche delle persone con cui si vuole corrisponedere privring: le chiavi private associate ciascuna ad un indirizzo di email

Il servizio di condivisione delle chiave pubbliche

chiamato PKI infrastructure

290

PGP: aspetti politici e legali


Alcuni paesi hanno recentemente siglato un

accordo internazionale che va sotto il nome di accordo di Wassenaar che impegna i sottoscrittori a inibire nei propri paesi luso della crittografia (es: la Francia)
Echelon, meglio noto come il Grande Fratello:

linfrastruttura anglo-americana per lintercettazione di tutte le comunicazioni

291

Sommario

Posta elettronica privata PGP News NNTP

292

USENET News
Le USENET News sono organizzate in gruppi di

discussione gerarchici (con la radice nella parte pi a sinistra del nome, ad es: comp.unix.aix Un gruppo rappresenta un luogo di discussione su un dato argomento Chi interessato ad un dato argomento normalmente si iscrive al gruppo di discussione, in modo che il client riceva dal server la lista dei messaggi del gruppo. Il corpo della news viene scaricato sul client solo al momento in cui lutente lo accede! Le USENET News vanno lette dallutente: non si ricevono nella mailbox come lemail!

293

News

294

Gruppo comp

295

Gruppo comp.database

296

Gruppo comp.database.oracle

297

Messaggio in comp.database.oracle

298

Ricerca nei newsgroup

Ricerca delle parole Globus e Grid

299

Messaggio in comp.parallel

300

Accesso con un software specifico

News server

301

MS Outlook

302

MS Outlook

303

MS Outlook

lettura

messaggio da comp.windows.x.kde

304

News
Le potenzialit che lo strumento ha messo a

disposizione degli utenti assolutamente incommensurabile: nessuna altra tecnologia stata in grado di produrre una massa cos articolata e massiccia come le Usenet News! Si sviluppata tutta una serie di modi di dire, originati in questo ambiente:
BTW (By The Way, a proposito) ROFL (Rolling On The Floor Laughing, rotolarsi dalla risate) IMHO (In My Humble Opinion, secondo il mio modesto parere) FAQ (Frequently Asked Questions, domande frequenti)
305

Fino qui

306

News
standard

smiley o emoticon

:-) Your standard smiley face. User is happy, or just made a mildly sarcastic comment :-( Sad face ;-) Winky face - expressing a flirtatious or sarcastic remark. :-> User just made an especially mean or sarcastic comment more powerful than :-) or ;-) >:-) Grinning devil - either the user is a Marilyn Manson fan or they just made an extremely devilish comment. More powerful than :->. >;-> Winking devil - Eep! User just made a very, very mean or evil comment. Strongest of them all. O:-) User is angelic/just made a sweet and innocent remark :-O Yelling or shocked. Can be typed in bold for extra impact. :-I Indifferent
307

News: smiley o emoticon standard

:^) Profile smiley. =) Variation on a classic. #-) What a night!/has been staring at a computer screen for 5 hours straight :-$ Put your money where your mouth is! :-P or :-p or :-6 Sticking tongue out (Na, na, na na na!) :-P~~ Blowing a raspberry :-9 Yum! :-@ Screaming/swearing/about to hurl :*) Drunk :-# or :-X An emoticon of many meanings - being smacked in the mouth/wears braces/kiss/my lips a sealed 8-) or B-) or ::-) Wearing glasses B:-) Wearing glasses on head R-) Broken glasses (:-) Bald/wearing a bike helmet :-{} Wears lipstick {:-{) Has a moustache and a toupee @:-) Wears a turban $-) Yuppie/just won a large sum of money :-T Keeping a straight face/tight lipped :-y Said with a smile :'-( or :~-( Crying :-Q or :-! Smoker %-/ Hangover |-O Bored/yawn =:-) Hosehead/punk :-D Big mouth/grinning :+) Big nose [:-) Walkman ;^) Smirking (:-D Blabbermouth :-& Tongue tied :-S Just made a statement that didn't make sense :-/ Skeptical :-C Very, very sad %-/ braindead <:-| Dunce/just made a stupid statement :-8( Condescending 8-# Dead :@ or :{ What? []:* Hugs & kisses!

308

News: modalit
Quando un utente invia un messaggio, si dice che

effettua un post, in alcuni casi i messaggi vengono inviati a diversi gruppi di discussione: in questo caso si parla di crosspost I gruppi hanno una principale caratteristica inerente la possibilit di inviare messaggi liberamente o meno: alcuni gruppi sono moderati, il che vuol dire che una volta inviato il messaggio viene inviato al moderatore, il quale lo vaglia ed eventualmente lo pubblica. Con questa modalit si ottengono dei gruppi con altissima qualit, ma scarsa spontaneit La Netiquette impone di non inviare materiale al gruppo che non sia coerente con le finalit del gruppo stesso
309

News: modalit
Per lapertura di un newsgroup serio, occorre

attivare una particolare procedura per la raccolta dei consensi (CFV, call for votes) attivata da un messaggio in news.group che definisce le finalit del gruppo di discussione e se deve o no essere moderato. Una volta raccolta la quantit di adesioni necessaria, il newsgroup viene attivato Non seguono questa procedura i gruppi della gerarchia alt, nella quale ognuno attiva i gruppi che vuole. Questa gerarchia il posto dove si trova di tutto, spesso con del materiale che persino al limite della legalit

310

News: funzionamento
I messaggi delle Usenet News vengono inviati

dagli utenti ai rispettivi server ai quali si collegano. Il server che riceve il messaggio invia il messaggio a tutti gli altri server di Internet (con meccanismo di store and forward) trasmettendolo ai suoi server prossimi, i quali lo invieranno ai loro server prossimi, e cos via Questo meccanismo chiamato newsfeed I messaggi rimangono archiviati nel server (secondo unorganizzazione ad albero ottenuta mediante directories) fino alla data di scadenza (policy definita localmente), momento nel quale vengono fisicamente cancellati dal server stesso.
311

News: funzionamento
Le Usenet News sono l'applicazione pi pesante

ancora presente in rete, specie se si ricevono molti gruppi di discussione. I molti casi vengono usati a questo scopo dei link satellitari, che ben si prestano a questa funzione. I messaggi Usenet News hanno una struttura molto simile a quella definita dallRFC822, che definisce la struttura dei messaggi di email. I messaggi Usenet News vengono scambiati tra i server utilizzando il Network News Transfer Protocol (NNTP)

312

Sommario

Posta elettronica privata PGP News NNTP

313

NNTP
NNTP definito dal RFC977 Il server News pi popolare oggi INN, scritto

da Rich Salz e mantenuto dallInternet Software Consortium. La connessione TCP usa la porta 119. NNTP modellato sul RFC850, che definisce le caratteristiche del sistema USENET News. NNTP specifica un protocollo per la distribuzione, linterrogazione, laccesso e linvio di articoli news, utilizzando un affidabile modello clientserver. Quando un server ha un nuovo messaggio informa tutti gli altri server attraverso il comando IHAVE
314

Principali comandi NNTP


LIST , lista di tutti i gruppi e articoli NEWSGROUP data ora , lista dei gruppi creati dopo la data specificata. GROUP grp , lista degli articoli in grp NEWNEWS grps data ora , lista degli articoli dai gruppi specificati dopo la data indicata ARTICLE id , retrieve dellarticoli indicato POST , invio di un articolo IHAVE id , ho larticolo id : lo vuoi? QUIT , termina la sessione

315

World Wide Web

316

Sommario

HTTP (Hyper Text Transfer Protocol) Linguaggio Java e il web Commercio elettronico Secure Web

317

World Wide Web


Il World Wide Web (WWW) unarchitettura software

che consente di accedere a documenti tra loro collegati e distribuiti su migliaia di macchine nellInternet globale. Per molte persone oggi il WWW Internet Il principale motivo del successo del WWW quello di avere realizzato uninterfaccia grafica facile e piacevole da utilizzare, in grado di consentire laccesso facile e immediato ai Servizi Internet, prescindendo dalle specificit e dalle complessit dei singoli servizi Il WWW nasce al CERN (che situato a Ginevra, in Svizzera) nel 1989, grazie a Tim Berners-Lee E lunico servizio Internet che nasce al di qua delloceano!
318

Browser WWW
Il primo browser, Mosaic, viene sviluppato presso il

National Center for Supercomputing Applications (NCSA) nel 1993. Il successo di Mosaic tale che nel 1994 Marc Andreessen lascia NCSA e fonda Netscape Corp. per lo sviluppo di servizi per il Web Nel 1994 CERN e Massachusetts Institute of Technology (MIT) fondano il World Wide Web Consortium (W3C, http://www.w3.org) avente la finalit di coordinare lo sviluppo delle tecnologie Web Tim Berners-Lee diventa direttore del W3C, che diventa la struttura di riferimento per lo sviluppo del Web
319

Hypermedia
Con lavvento del World Wide Web i concetti di ipertesto

(documenti relazionati tra loro e strutturati in modo da consentire la navigazione attraverso lo spazio informativo, che introducono il concetto di link, che lo strumento con cui si passa da un documento ad un altro) e multimedialit (diverse tipologie di informazioni integrate tra loro, ed es: suoni immagini, filmati) evolvono in quello di ipermedialit. rete Internet mondiale ed acceduta mediante hyperlinks pi abituati al web, alla videoconferenza e alle tecniche ipermediali commercio elettronico

Per ipermedialit si intende la multimedialit distribuita nella La crescita di Internet fa si che gli utenti diventano sempre

Fondamentale per realizzare il telemarketing ed il

320

Il protocollo HTTP
LHyperText Transfer Protocol (HTTP) un protocollo a

livello applicativo per realizzare sistemi informativi distribuiti ipermediali e collaborativi.

HTTP utilizzato dal World Wide Web dal 1990. La versione HTTP/0.9 stato un semplice protocollo

per il trasferimento di dati grezzi sulla rete Internet

La versione HTTP/1.0, definita dallRFC 1945, ha

migliorato il protocollo, consentendo il trasferimento di messaggi di tipo MIME, introducendo delle varianti nella semantica delle richieste e delle risposte. Questa versione non teneva nel giusto conto gli effetti dei proxy gererchici, del processo di caching, della necessit di connessioni persistenti o dei virtual host.
321

HTTP
La versione HTTP/1.1 costituisce il definitivo

consolidamento del protocollo e garantisce una implementazione stabile delle sue caratteristiche. HTTP fornisce un insieme aperto di metodi per specificare lo scopo di una richiesta e fornisce attraverso la Unified Resource Location (URL) o Identifier (URI) o Name (URN) un modo per identificare la risorsa alla quale il metodo deve essere applicato (es: http://www.unipg.it). HTTP utilizzato come protocollo generico per la comunicazione tra agenti, proxy, gateway di altri sistemi informativi (SMTP, NNTP, FTP, Gopher, WAIS).

322

HTTP
Il protocollo HTTP di tipo richiesta/risposta senza

stato. Un client invia la richiesta ad un server sotto forma di


Metodo di richiesta (URI) Versione del protocollo Messaggio di tipo MIME contenente la richiesta Informazioni del client Corpo del messaggio

Il server risponde con: Una linea di stato Versione del protocollo del messaggio Codice di errore o successo Messaggio di tipo MIME contenente le informazioni del server Metainformazioni Corpo del messaggio
323

HTTP
Richiesta del client:

GET http://www.unipg.it/pub/test.html HTTP/1.1


Risposta dal server:

HTTP/1.1 200 OK Date: Mon, 16 Dec 2002 07:31:16 GMT Server: Apache/1.3.12 (Unix) tomcat/1.0 Last-Modified: Son, 15 Dec 2002 14:57:00 GMT ETag: "fc00-2b03-3c34713c" AcceptRanges: bytes Content-Length: 11011 Connection: close Content-Type: text/html
324

HTTP
Esempio di

comunicazione tramite HTTP tra un client e un server Web

325

HTTP: requisiti
Il protocollo usa 3 parole per definire il significato di

ogni particolare requisito:

MUST: indica che loggetto un requisito assoluto della specifica SHOULD: loggetto raccomandato, ci vuol dire che anche se esistono circostanze in cui pu essere ignorato, la piena implementazione supporta loggetto e sono chiare le implicazioni derivanti dal fatto di non supportarlo. MAY: indica che loggetto realmente opzionale. Una particolare implementazione del protocollo pu implementae loggetto, unaltra no.

326

HTTP: terminologia (1/5)


La specifica dellHTTP/1.1 (RFC 2068) usa una serie di termini

che descrivono il ruolo dei partecipanti e gli oggetti di una sessione HTTP:

connection: un circuito virtuale stabilito tra due programmi a livello di protocollo di trasporto e realizzato con lo scopo di comunicare message: lunit di base di una comunicazione HTTP, consistituita da una sequenza di byte conformi alla sintassi HTTP, trasmessi attraverso la connessione request: un messaggio di richiesta HTTP response: un messaggio di risposta HTTP resource: un oggetto o un servizio identificabile in rete attraverso una URI. Le risorse possono essere disponibili in rappresentazioni multiple (diversi linguaggi, formati di dati, dimensioni, risoluzione). entity: Linformazione trasferita come carico di una risposta o di una richiesta. Lentity rappresentata da metainformazioni nella forma o di entity-headers o di entity-body.
327

HTTP: terminologia (2/5)


representation: una entit inclusa in una risposta, soggetta alla negoziazione di contenuti. Possono esistere diverse rappresentazioni associate con un particolare stato della risposta. content negotiation: il meccanismo per selezionare la rappresentazione appropriata, nel momento in cui si serve una richiesta. variant: una risorsa pu avere una o pi di una rappresentazione associata ad essa in un certo istante. Ciascuna rappresentazione chiamata variante. client: un programma che stabilisce una connessione con lo scopo di inviare richieste user agent: il client che inizia una richiesta. Sono in genere strumenti dellutente finale (browser, editor, spider, etc) server: un programma applicativo che accetta connessioni con lo scopo di servire delle richieste inviando delle risposte. Ogni programma pu essere capace di essere sia client che server; luso di questi termini riguarda il ruolo giocato dal programma in una data connessione, invece delle sue capacit in generale.
328

HTTP: terminologia (3/5)


origin server: il server in cui la risorsa risiede o creata. proxy: un programma intermedio che agisce sia da client che da server con lo scopo di effettuare richieste per terzi. La richiesta pu essere servita internamente o girata ad altri server. gateway: un server che agisce da intermediario per altri server. Al contrario del proxy, il gateway riceve richieste come se fosse il server di origine per la risorsa richiesta; il client richiedente pu non realizzare di comunicare con un gateway. tunnel: un programma intermedio che funge da collegamento cieco tra due connessioni. Una volta attivo, il tunnel non considerato parte attiva della comunicazione HTTP. Il tunnel cessa di esistere quando le connessioni collegate sono chiuse. cache: una memoria locale del programma contenete messaggi di risposta ed il sottosistema che controlla la memorizzazione dei messaggi, il loro reperimento e la loro cancellazione. Una cache memorizza le risposte memorizzabili al fine di ridurre i tempi di risposta ed il consumo della banda passante per richieste future equivalenti. Sia client che server possono includere una cache, ad eccezione di un tunnel
329

HTTP: terminologia (4/5)


cachable: una risposta cacheable se la cache pu memorizzare una copia del messaggio di risposta per utilizzarla nelle risposte a successive richieste. Luso della copia in cache soggetto comunque anche ad altri criteri. first-hand: Una risposta first-hand se proviene direttamente dal server di origine, senza passare per proxy. explicit expiration time: il tempo a cui il server di origine intende non pi valida unentit in cache, senza che abbiano luogo ulteriori procedure di validazione. heuristic expiration time: un tempo assegnato arbitrariamente dalla cache quando non sia disponibile un explicit expiration time. age: il tempo intercorso da quando la risposta stata ricevuta o validata dal server di origine. freshness lifetime: la quantit di tempo tra la generazione della risposta ed il suo expiration time. fresh: una risposta che non ha ecceduto il freshness lifetime
330

HTTP: terminologia (5/5)


stale: una risposta che ha ecceduto il suo freshness lifetime. semantically transparent: una cache il cui uso non modifica il comportamento del client richiedente e del server di origine. In presenza di una cache di questo tipo il client riceve esattamente lo stesso tipo di risposta (ad eccezione di qualche riga di intestazione) di quando la richiesta processata direttamente dal server di origine. validator: un elemento del protocollo (nome di unentit o last-modified time) che viene usato per valutare se un oggetto della cache equivalente ad una entit.

331

Appendice

Server Web e Scripting server side

332

Pagine Web
interazione browser - web server
Browser web richiede una pagina al web server inviandogli

un messaggio di richiesta HTTP (HTTP Request). Il nome del file richiesto;

HTTP request comprende:

l'indirizzo Internet del browser e del web server.


Il web server interessato risponde al browser inviando un

messaggio di risposta: HTTP response.

HTTP response comprende:

L'indirizzo Internet del browser e del web server; il documento richiesto.


333

Pagine Web statiche


Che cosa fa il web server?
browser
Facolt di Scienze Matematiche Fisiche e Naturali a.a. 2004/2005

1 - HTTP request

Web server
HTML file

Corso di Laurea in Informatica


Cristian Dittamo
cridit@woodie.unipg.it

internet
1

Osvaldo Gervasi
osvaldo@unipg.it

Cristian Dittamo, Osvaldo Gervasi, Universit di Perugia 2005

2 - HTTP response

Una pagina statica un documento HTML che ha sempre lo stesso

contenuto ogni volta che lo si visualizza


Generalmente le pagine web statiche sono file HTML memorizzati

nel web server con estensione .htm o .html

Alla ricezione di HTTP Request di una pagina statica, il web server

preleva il file dal disco locale e lo invia verso il browser tramite HTTP Response

334

Pagine Web statiche - esempio


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Architettura delle Reti di Computer</title> <link href="archreti.css" rel="stylesheet" type="text/css"> </head> <body> <div align="center"> <table width="500" border="0" cellspacing="2" cellpadding="2"> <tr> <td width="492"><div align="center"><img src="./images/titolo.jpg" width="741" height="64"></div></td> </tr> <tr> <td><div align="center"></div></td> </tr> <tr> <td class="title1"><div align="center"><strong>Facolt&agrave; di Scienze Matematiche Fisiche Naturali</strong></div></td> </tr> <tr> <td><div align="center"> <div></div> </div></td> </tr> <tr> <td><div align="center"><img src="./images/unipg_logo.gif" width="170" height="170"></div></td> </tr> <tr> <td><div align="center"></div></td> </tr> <tr> <td><div align="center" class="title2">Corso di Laurea in Informatica</div></td> </tr> <tr> <td height="26"><div align="center"></div></td> </tr> <tr> <td><div align="center"> <table width="490" border="0" cellspacing="0" cellpadding="0"> <tr class="title3"> <td><div align="center">Cristian Dittamo </div></td> <td><div align="center">Osvaldo Gervasi </div></td> </tr> <tr class="title3"> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr class="title3"> <td><div align="center" class="title4">cridit@woodie.unipg.it</div></td> <td><div align="center" class="title4">osvaldo@unipg.it</div></td> </tr> </table> </div></td> </tr> </table> </div> </body>

Cristian Dittamo, Osvaldo Gervasi, Universit di Perugia 2005

335

335

Pagine HTML dinamiche


una pagina web dinamica un documento HTML generato da una Applicazione Web il contenuto pu cambiare in visualizzazioni successive, in base alle informazioni inviate dal browser alla applicazione web una applicazione web pu essere realizzata mediante un linguaggio di scripting serverside viene eseguita da un Application Server
336

Pagine HTML dinamiche


Che cosa fa il web server? (1/5)
server browser
Facolt di Scienze Matematiche Fisiche e Naturali a.a. 2004/2005

1 - HTTP request

Web server

Application server

Corso di Laurea in Informatica


Cristian Dittamo
cridit@woodie.unipg.it

internet
1

Osvaldo Gervasi
osvaldo@unipg.it

Cristian Dittamo, Osvaldo Gervasi, Universit di Perugia 2005

2 - HTTP response

Applicazione Web

337

Pagine HTML dinamiche


Che cosa fa il web server? (2/5)
Alla ricezione di una HTTP Request per una pagina web dinamica,

il Web server inoltra la richiesta all' application server.


L'application server esegue la applicazione web che genera il

documento HTML. Quest'ultimo viene restituito all'application server, che provvede a passarlo indietro al web server. A questo punto il Web server produce ed invia una HTTP Response, con il documento appena generato, verso il browser.
Il browser, ricevuta la HTTP Response, visualizza il documento

HTML. A questo punto l'utente pu inziare ad utilizzare i controlli presenti nella pagina; alcuni di questi, es. <FORM >, consentono all'utente di invocare il metodo POST per inviare i dati appena inseriti nella pagina al web server, in modo tale da avviare un'altra elaborazione sui nuovi dati.
338

Pagine HTML dinamiche


Che cosa fa il web server? (3/5)
Le architetture su cui si basano i Web server si

suddividono in:
architetture prefork (es. Apache 1.3.x), ad ogni richiesta ricevuta viene avviato un nuovo processo mediante fork del processo server miglioramento adottato: non si avvia un unico server ma un pool cos da ridurre i tempi di risposta architetture threaded (es. Apache 2.x), ad ogni richiesta viene avviato un thread o lightweight process riducendo l'overhead del processo di attivazione.

339

Pagine HTML dinamiche


Che cosa fa il web server? (4/5)
Il web server determina quale application server deve essere

invocato per eseguire la richiesta dal browser, attraverso l'estensione del file richiesto e una lista di application mapping;
Ogni application mapping indica quale applicazione va eseguita per

eseguire i file che hanno una determinata estensione;


Es. all'estensione

php, la richiesta viene passata all'application server PHP, jsp, la richiesta viene passata all'application server Java; aspx, la richiesta viene passata all'ASP.NET
Se l'estenzione non presente nella lista application mapping, la

richiesta ritorna al browser senza alcuna elaborazione;


340

Pagine HTML dinamiche


Che cosa fa il web server? (5/5)
Il processo, lato server, che inizia alla ricezione di una HTTP

request e termina all'invio di una HTTP Response detto round trip.


Al termine di un round trip:

Termina lapplicazione web e le sue strutture dati dinamiche vengono disallocate; Il web server non mantiene traccia della connessione avvenuta: il protocollo HTTP stateless
Di conseguenza se non si prevedono appositi salvataggi dei dati

questi verranno persi: per questo i linguaggi di scripting serverside mettono a disposizione apposite variabili dette di sessione attraverso le quali l'utente indica quali dati vanno salvati tra una connessione e l'altra.
341

Pagine HTML dinamiche


Scripting server side - CGI
Codice HTML (prova.html)
<P>Inserire il tuo identificativo</P> <FORM ACTION="./prova.cgi" METHOD="post"> ID:<INPUT TYPE="text" NAME="IDF" SIZE="20" MAXLENGTH="20"><INPUT TYPE="submit" VALUE="submit"> </FORM>

Codice C (prova.c)

#include <stdio.h> producendo l'eseguibile #include <stdlib.h> #include <string.h> prova.cgi , richiamato in int main(void) { prova.html char namep[26] = ""; scanf("%s", namep); printf("Digitato il seguente id: %s\n", namep); return 0; }

Compilare

prog.c

342

Pagine HTML dinamiche


Scripting server side - CGI
server browser
2
Inserire il proprio identificativo ID: Application mappings cgi \cgi-bin

1 - HTTP request

3
Application server mod_cgi Avvia esecuzione prova.cgi e ne restituisce risultato

Web server internet

Digitato il seguente ID:

5 7 - HTTP response 6
prova.cgi

-Interpreta il contenuto del documento ed inserisce il valore di "ID" in una variabile d'ambiente; -genera una pagina HTML in cui stampa il contenuto della variabile con printf;

343

Pagine HTML dinamiche


Scripting server side - PHP
Codice HTML (prova.html)
<BODY><P>Inserire il proprio identificativo</P> <FORM ACTION="./prova.php" METHOD="post"> ID: <INPUT TYPE="text" NAME="IDF" SIZE="20" MAXLENGTH="20"><INPUT TYPE="submit" VALUE="submit"> </FORM></BODY>

Codice PHP (prova.php)


<?php echo "Digitato il seguente id: " . $_POST["IDF"]; echo "<BR>"; ?>

Nessuna compilazione, ma occorre aggiungere mod_php al Server Web perch il codice PHP venga interpretato 344

Pagine HTML dinamiche


Scripting server side - PHP
server browser
2
Inserire il proprio identificativo ID: Application mappings php /usr/bin/php

1 - HTTP request

3
Application server mod_php Interpreta lo script in prova.php e ne restituisce risultato

Web server internet

Digitato il seguente ID:

5 7 - HTTP response 6
prova.php

-Interpreta il contenuto del documento ed inserisce il valore di "ID" in una variabile d'ambiente; -genera una pagina HTML in cui stampa il contenuto della variabile mediante il comando echo;

345

Sommario

HTTP (Hyper Text Transfer Protocol) Linguaggio Java e il web Commercio elettronico Secure Web

346

Il linguaggio JAVA ed il Web


Il linguaggio di programmazione Java sviluppato

dalla Sun Microsystem nel 1991. E un linguaggio nato per essere piccolo, semplice, e portabile attraverso piattaforme hardware e sistemi operativi diversi (write once, run everywhere) E un linguaggio basato sui principi moderni della programmazione ad oggetti Ha stravolto la programmazione dei siti Internet, consentendo lintroduzione di informazioni dinamiche in modo efficiente e sicuro

347

JAVA Applet
Lambiente di runtime costituito da una

macchina virtuale JAVA (Java Virtual Machine, JVM), specifica per le diverse piattaforme hardware e software, in grado di eseguire programmi (program.class) che possono essere compilati anche in altri ambienti. Possono essere applicazioni o applet da eseguire allinterno del Web Gli applet vengono eseguiti dai pi popolari browser Web, che hanno un proprio ambiente Java e sono programmi che vengono scaricati dal server Web ed eseguiti localmente sul client

348

JAVA
Il linguaggio Java copre tutte le funzionalit di un

potente linguaggio di programmazione (dallInput / Output, alla rete, alla interazione con database) Fornisce al programmatore un insieme di Application Programming Interfaces (API) con le quali il programmatore costruisce le proprie applicazioni A volte il programma pu risultare poco veloce, ma lo sviluppo di questo ambiente sta procedendo a ritmi serrati anche grazie agli investimenti di altre aziende oltre Sun (prime fra tutte IBM) E coperto da copyright della Sun, ma utilizzabile liberamente nello spirito del free software
349

Sommario

HTTP (Hyper Text Transfer Protocol) Linguaggio Java e il web Commercio elettronico Secure Web

350

Finanza Elettronica
Il Trading on line sta diventando una

applicazione molto importante in rete


Possibilit di operare su tutti i mercati anche a

Borse chiuse, con speciali incentivi


Questo modo di operare in borsa vitale

soprattutto per chi opera sulle variazioni degli indici


I costi delle transazioni sono enormemente pi

bassi per via telematica


351

Telemarketing
Lutilizzo di tecnologie ipermediali consente la
stile grafico sofisticato aggiornamento in tempo reale di informazioni altissima capacit di informazioni alta affidabilit e disponibilit interattivit e rapporto con lutente dinamicit mediante interazione con Database Grafica computerizzata, audio, full motion video

creazione di siti Web con le seguenti caratteristiche

Potenziamento del messaggio pubblicitario e

promozionale rispetto alle tecnologie convenzionali

352

I banner e le animazioni
Una delle principali fonti di guadagno sulla rete la

pubblicit realizzata mediante banner animati inseriti nei siti web pi frequentati Si usa la tecnica denominata animated GIF che costituisce unestensione del formato GIF e consente di salvare pi immagini nello stesso file per poi visualizzarle in sequenza Questi si possono arricchire o integrare con animazioni nei formati MOV, MPEG, con elevate compressioni o con documenti acquisiti on-line (RealAudio/RealVideo)

353

Il Commercio Elettronico
In molti contesti sta diffondendosi in modo

impressionante lacquisto e la vendita di beni e informazioni su internet


Rispetto al mondo delle televendite e della vendita

per corrispondenza, Internet offre una impressionante immediatezza nello scambio di informazioni, una maggior potenzialit nellillustrare i prodotti ed una maggior versatilit e sicurezza nelle transazioni

354

355

Commercio Elettronico
Le aziende (PMI) si muovono verso il

commercio elettronico per:

Massimizzare i profitti

Aumentare nuovi affari

Massimizzare la sicurezza

Minimizzare i costi

Il problema : come riuscire?

356

How to

357

How to

358

How to
Scelta tra:
Outsourcing Intranet/Extranet

Sicurezza
trasporto (SSL) dati (firma digitale)

Integrit Disponibilit

359

360

361

362

19/04/11

363

Sommario

HTTP (Hyper Text Transfer Protocol) Linguaggio Java e il web Commercio elettronico Secure Web

364

Secure Web
La crescente diffusione di Internet per usi produttivi impone ladozione di tecnologie Web sicure. Possibili violazioni: Estensibilit del server: laggancio con database pu compromettere la sicurezza del sistema Estensibilit del browser: luso di ActiveX, java, JavaScript, VBScript pu estendere le funzionalit del browser e compromettere la sicurezza del sistema Distruzione del servizio: denial-of-service attacks Supporto complicato: la necessit di ricorrere a protocolli di pi basso livello pu compromettere la sicurezza
365

Secure Web
Un server sicuro necessita di tre interventi fondamentali: sicurezza del server e dei dati: occorre essere assolutamente certi dellimpossibilit di manipolazione dei dati e del server Web sicurezza dei dati mentre transitano dal server allutente. Occorre essere sicuri che le informazioni sensibili (login/password, dati finanziari) non possano essere alterati sicurezza del computer dellutente: occorre essere certi che programmi e informazioni scaricate dallutente non danneggino il suo computer
366

Secure Web
Ogni volta che lutente scarica dalla rete programmi da installare sul proprio computer (plug-in, programmi, cookies, etc), si espone a possibili attacchi o a violazioni della privacy (e del copyright) Importanza degli strumenti di anonimizzazione (es: firewall e proxy web) che mascherano lutente finale Certificati Digitali emessi da Certification Authorities per labilitazione di server e client alla crittografia e alluso della firma digitale.

367

Sicurezza di rete

368

Sommario

La

sicurezza di rete ad un sistema informatico di attacchi Socket Layer (SSL)

Attacco Esempi Secure

Firewall
369

Sicurezza (1/5)

La sicurezza riveste una importanza crescente

Aumento degli intrusori Aumento degli attacchi Esigenza di confidenza sempre crescente nelle tecnologie ipermediali e di rete Le tecniche di protezione devono essere accessibili ai pi Attenzione ai costi

370

Sicurezza (2/5)

Fonte: D.Steinauer, S. Katzke, S.Radack: Basic Intrusion Protection, the first line of defense, ITPro, JanFeb 1999

371

Sicurezza (3/5)
On-line help presso
National Institute od Standards and Technologys Information Technology Laboratory (NIST ITL) (US Dept. Of Commerce) http://csrc.nist.gov/ US Federal Computer Incident Response Capability, FedCIRC http://www.fedcirc.gov Computer Emergency Response Team, CERT
http://www.cert.org

Wheeler Secure Programming How To

372

Sicurezza (4/5)
1. Confidenzialit
le informazioni possono essere lette solo da chi ne ha diritto

2. Integrit
le informazioni possono essere modificate solo da chi ne ha diritto

3. Disponibilit
le informazioni possono essere lette/scritte quando necessario; Le risorse devono poter essere usate solo da chi ne ha diritto

373

Sicurezza (5/5)
4. Tracciabilit
individuazione di chi ha invocato una operazione

5. Accountability
quanto utilizzata una risorsa (billing)

6. Auditability
poter verificare lefficacia dei meccanismi utilizzati

7. Forensics
poter provare che certi attacchi hanno avuto luogo

8. Privacy
chi/come e se pu usare le proprie informazioni personali
374

Sommario

La

sicurezza di rete ad un sistema informatico

Attacco Esempi Secure

di attacchi Socket Layer (SSL)

Firewall
375

Attacco
Definizione

sequenza di azioni eseguite per ottenere il controllo di un sistema informatico


Conseguenza

possibile raccogliere informazioni, modificare informazioni, impedire ad altri di accedere alle informazioni
automatizzabile / non automatizzabile ogni attacco in realt un attacco al SO

376

Fasi di un attacco
1. Raccolta di informazioni [giorni/mesi] 2. Individuazione delle vulnerabilit [giorni/mesi] 3. Ricerca o costruzione di un programma (exploit) che

sfrutti la vulnerabilit [giorni/mesi]


4. Esecuzione dellexploit (attacco) [pochi s] 5. Installazione di strumenti per il controllo 6. Cancellazione delle tracce dellattacco 7. Accesso (modifica) ad un sottoinsieme delle

informazioni
377

Vulnerabilit (1/2)

Definizione: difetto in un componente del sistema Conseguenze: sfruttando il difetto riesco a generare un comportamento inatteso del componente; questo comportamento permette di violare le propriet di sicurezza

Classificazione Vulnerabilit procedurale (nel modo in cui si fa) Vulnerabilit organizzativa (nelle persone che fanno) Vulnerabilit degli strumenti informatici (nello strumento (hardware e/o software) che si usa)
378

Vulnerabilit (2/2)
Vulnerabilit degli strumenti informatici

Specifica (il componente , inutilmente, pi generale del necessario)


Es. uso una libreria che contiene pi funzioni di quelle richieste

Implementazione (lerrore stato commesso nello sviluppo del componente)


Es. ipotesi su input (correttezza parziale), mancanza di controlli, su input confusione tra dati e programmi

Strutturale (lerrore nasce quando si integrano i componenti che costituiscono il sistema complessivo)
Es. affidabilit, prestazioni, controlli

379

Alcuni tipi di attacchi


1. 2. 3.

Buffer/stack overflow Lettura di informazioni trasmesse/ ricevute (sniffing) Invio di richieste/messaggi su una connessione aperta da altri (connection stealing, insertion attack) Ripetizione di richieste/messaggi trasmessi da un utente legittimo (replay attack) Invocazioni di operazioni in un ordine imprevisto (interface attack) Interposizione tra lutente ed il sistema (man-in-the-middle) Scoperta di password mediante confronto in un elenco (dictionary attack) Furto di identit Reverse engineering del codice

4.

5. 6. 7.

8. 9.

10. Scoperta di informazioni mediante ricerca esaustiva

380

Analisi del rischio


cercare di garantire che ci sia una giustificazione ai costi della sicurezza importante eliminare quei rischi che possono provocare attacchi dannosi comprende:
1. analisi delle vulnerabilit 2. analisi degli attacchi 3. analisi degli impatti 4. analisi delle minacce 5. individuazione rischio accettabile ed introduzione delle contromisure
381

Analisi delle vulnerabilit


metodologia: "cosa succede se"
vengono cambiati i parametri vengono immessi input diversi da quelli attesi vengono rese note informazioni segrete

ricerca:
componenti non standard (per quelli std sono gi noti gli exploit perch ormai note le vulnerabilit) vulnerabilit strutturali (a causa della composizione del sistema informatico) pu essere automatizzata per le vulnerabilit pi semplici
382

Analisi degli attacchi


quali attacchi per quali vulnerabilit per ogni attacco quali informazioni e risorse sono necessarie per la sua esecuzione per ogni attacco quali informazioni e risorse (competenze) sono necessarie a chi lo vuole eseguire gli attacchi sono automatizzabili aumenta la criticit del ritardo tra quando un exploit viene rilevato e quando si rimedia allerrore o alla debolezza strutturale (anche organizzazioni complesse devono avere tempi brevi)
383

Analisi degli impatti


per ogni attacco si deve stabilire la perdita dell

azienda (ente) dovuta allattacco in esame dipende dai: dati e dalle risorse che possono essere acceduti a seguito dellattacco dai processi aziendali che utilizzano quelle risorse e dati alcune perdite non sono quantificabili, es. le vite umane sono difficilmente quantificabili, ad esempio i danni di immagine
384

Analisi delle minacce

per ogni attacco necessario determinare chi ha interesse ad eseguire lattacco; correlato con limpatto dellattacco chi dispone delle risorse necessarie per lattacco

un attacco pu essere eseguito solo se

lintersezione tra i due insiemi non vuota

385

Contromisure
Per ogni vulnerabilit esiste almeno una contromisura in

grado di eliminarla

La

contromisura pu essere di tipo:


tecnico modifico unapplicazione organizzativo divieto di usare unapplicazione personale controlli su una persona, formazione

Ogni contromisura ha un costo tecnico, "prima si risolve un problema minor impatto sui costi avr" organizzativo (pi complesso eseguire certe operazioni) Investire sulla sicurezza? conviene applicare una contromisura se il rischio della vulnerabilit maggiore del costo della contromisura
386

Rischio residuo
scelte le contromisure da applicare pu

rimanere un certo rischio detto residuo significa accettare l'uso di un sistema anche con rischio non nullo

accettare la presenza del rischio residuo

il rischio residuo pu essere trasferito,

cio passato ad altri (es. assicurazione)

387

CERT (www.cert.org)
Lorganismo che vigila in rete, creato dalla Cornegie

Mellon University, che ha dato luogo ad analoghe organizzazioni regionali

388

Sommario

La

sicurezza di rete ad un sistema informatico di attacchi

Attacco Esempi Secure

Socket Layer (SSL)

Firewall
389

Virus
Il modo per difendersi da questa vera e propria

catastrofe che pu colpire chiunque ed in qualsiasi momento solo luso di un software antivirus perde di efficacia

Il software va costantemente aggiornato, altrimenti Siti di riferimento:


EICAR (European Institute for Computer Anti-Virus Research)
http://www.eicar.com/

ICSA (International Computer Security Association)


http://www.icsa.net http://www.icsa.net/html/communities/antivirus/

390

Trojan Horse
La difesa contro questo subdolo strumento

solo quella di scaricare software in modo molto attento, cercando ove possibile di verificare lintegrit del codice mediante firma digitale (se disponibile)
Impossibile accorgersi della presenza di

Trojan Horses, a meno che ci si tenga informati (mailing lists, siti web, etc)

391

Hoax e catene
Sono pericolosi quanto i virus, anche se

sono innocui

minano la fiducia della gente nella rete inducono a comportamente fastidiosi e

scorretti

Lista aggiornata in:


CIAC (Computer Incident Advisory Capability) http://ciac.llnl.gov/ciac/CIACHoaxes.html http://ciac.llnl.gov/ciac/CIACChainLetters.html

392

SPAM
Lunica difesa dallo SPAM si ha usando dei mail user

agents ch filtrino questi messaggi


E importante per chi amministra dei sistemi di posta

elettronica di non essere oggetto involontario di invio di SPAM, altrimenti si sprecano importanti risorse (spesso il mail server collassa) o si finisce in liste di prescrizione i cui siti vengono da molti filtrati

393

HTTP e sicurezza
Il World Wide Web forse il servizio pi critico, data

la diffusione ed i diversi ambienti applicativi su esso basati


Le principali applicazioni che costituiscono una

potenziale esposizione in termini di sicurezza sono:


Cookies uso di programmi esterni interfaccie verso databases

394

I cookies
Introdotti con Netscape 2.0, i cookies (RFC

2109) sono stringhe di caratteri ASCII che vengono passate dal server Web allistanza del Browser utente (Microsoft IE, Netscape). Una volta ricevuto, il client invier il cookie ogni volta che accede il sito
Servono per tenere traccia delle scelte

dellutente ed orientare al meglio il telemarketing


395

eTrust
I cookies pongono problemi di rispetto della

privacy dellutente
eTrust il programma messo a punto da Electronic

Frontieres Foundation (http://www.eff.org) per definire uno standard per la privacy on-line
I siti con il logo eTrust si dichiarano conformi al

progetto per quanto riguarda il trattamento dei dati personali

396

Interazione con database


Mediante le procedure denominate common gateway

interfaces (CGI) si possono costruire pagine web il cui contenuto viene costruito dinamicamente mediante interazione con un database
I linguaggi di programmazione o di scripting pi

popolari per realizzare CGI sono:


PHP4, Perl, C, Tcl/Tk, Phyton

Sono pericolosi perch comportano lesecuzione di

programmi esterni

397

Sicurezza di telnet e FTP


Presentano linconveniente che il traffico attraversa la

rete in chiaro, pertanto si presta a violazioni di dati sensibili (login, password, dati sensibili in generale)

Meglio utilizzare le versioni che utilizzano ssh (Secure

Shell) e scp (Secure Copy), che scambiano i dati in modo cifrato. Queste procedure generano un maggior carico computazionale sia sul server che sul client. Molti software che implementano ambienti client di questi servizi hanno la possibilit di usare la versione sicura
I socket ssh e scp in genere sono lasciati aperti sui

firewall
398

www.openssh.com

OpenSSH 3.1 released March 7, 2002. Supporta i protocolli SSH1 e SSH2. E un versione Free sviluppata nellambito del

progetto OpenBSD (http://www.openbsd.org) ed basata sulla libreria OpenSSL (http://www.openssl.org) per molte delle sue potenzialit crittografiche, la quale non regolata dalla licenza Gnu Public License (GPL, che definisce un prodotto FreeSoftware) loro incompatibili: SSH1 e SSH2.

Il protocollo SSH disponibile in due versioni, tra

399

OpenSSH
SSH versione 1 presente in due varianti principali: la

1.3 e la 1.5, entrambe supportate da OpenSSH Queste versione utilizzano lalgoritmo di crittografia asimmetrica RSA (il cui patent terminato e pertanto pu essere utilizzato da ognuno) per la negoziazione delle chiavi, poi gli algoritmi simmetrici 3DES e Blowfish per mascherare i dati. Alcune implementazioni del protocollo SSH utilizzano lalgoritmo simmetrico IDEA, ma essendo questo coperto da patent in alcuni stati, OpenSSH non supporta IDEA. OpenSSH usa un semplice algoritmo Cyclic Redundancy Check (CRC) per verificare lintegrit dei dati.
400

OpenSSH
La seconda implementazione del protocollo

SSH 2, introdotta per superare le limitazioni di patent di RSA e per risolvere alcuni problemi legati allalgoritmo CRC di SSH1. SSH 2 usa gli algoritmi asimmetrici Digital Signature Algorithm (DSA) e Diffie-Helmann (DH), che sono liberi da patent Al posto dellalgoritmo CRC in SSH2 si usa lalgoritmo Keyed-Hash Message Authentication Code (HMAC) SSH 2 ancora allo stato di Draft Document dellIETF

401

OpenSSH
Linsieme di programmi di OpenSSH

comprende: ssh che sostituisce rlogin e telnet scp che sostituisce rcp sftp che sostituisce ftp sshd daemon per server ssh ssh-add ssh-agent ssh-keygen programmi di utilit sftp-server daemon per server sftp

402

Sommario

La

sicurezza di rete ad un sistema informatico di attacchi Socket Layer (SSL)

Attacco Esempi Secure Firewall

403

Secure Socket Layer


SSL un encryption system a chiave

pubblica e privata usato nei server per garantire la privacy durante le trasmissioni attraverso Internet.
SSL permette ai server di criptare le

informazioni sensibili in testo cifrato prima dell'invio ai client, evitandone cos la lettura da parte di terzi (non autorizzati) anche se in grado di intercettare il traffico tra i server e i client
404

Secure Socket Layer


I Client decriptano il testo cifrato ricevuto dai

server riottenento i dati originari


Es. usato con i server web per garantire la

risevatezza (privacy) delle informazioni scambiate con i web browser per esempio in autenticazione di un utente in un sito di home-banking

405

Secure Socket Layer


Ogni server deve avere:
una chiave pubblica e una privata un certificato

Il certificato permette al server di "firmare" i dati da

inviare/ricevere al/dal client


Il client tramite la chiave publica del server in grado
di criptare i dati da inviare a quel server: quest'ultimo decripta i dati ricevuti dal client mediante la propria chiave privata

406

Secure Socket Layer


Ogni server per poter inviare la propria chiave

pubblica ai client deve possedere un certificato; ogni certificato contiene:


chiave pubblica distinguished name (nome ed indirizzo) associato con il server un numero di serie o data di pubblicazione del certificato data di fine validit del certificato (expiration date)
I certificati sono pubblicati dalle certificate

authority (CA)

407

Secure Socket Layer


Una certificate authority (CA) un ente terzo

considerato trusted (op. una autorit designata locale all'azienda) che pubblica certificati
Per assegnare un certificato ad un server la CA ne

verifica l'identit e se valida firma digitalmente il certificato con la propria chiave pubblica; attraverso poi la propria chiave privata la CA garantisce che il certificato valido
Con il certificato "firmato" (signed), all'identit di

un server viene associata una coppia di chiavi usate per criptare e firmare i dati sensibili
408

Secure Socket Layer


Es. per permettere ad un Web Server di

operare con il SSL occorre prima di tutto ottenere un signed certificate da una CA, come per esempio VeriSign che una delle principali compagnie che pubblicano certificati.
A questo punto nella configurazione della

connessione sicura basta associare la propria chiave pubblica con il signed certificate ottenuto
409

Secure Socket Layer


Stack TCP/IP con SSL

410

Secure Socket Layer


Nasce (Netscape, 1996) per garantire connessioni

sicure tra browser-server web


Fasi di una connessione:
inizialmente negoziazione dell'algoritmo di crittografia (DES, IDEA) autenticazione server si autentica al client (sempre) client si autentica al server (opzionale) a regime pacchetto criptato con la chiave concordata
411

Secure Socket Layer


Autenticazione del server
Il browser (client): mantiene una lista delle Certification Autority (CA) richiede il certificato al server verifica il certificato con la CA che lo ha emesso

Autenticazione del client


Il browser manda il proprio certificato al server Il server controlla il certificato con la CA che lo ha emesso
412

Secure Socket Layer


HTTPS il protocollo che combina SSL e HTTP;

https:// utilizzato nell'URL di richiesta di documenti SSL-protected diverse rispettivamente 443 e 80 rispettivamente; ne consegue che possono essere effettuate richieste SSL e non contemporaneamente fornitura delle informazioni ai client: i dati sensibili solo ai browser che supportano SSL visualizzazione dei prodotti in vendita pu essere non controllata, l'acquisto tramite carta di credito richiede necessariamente sicurezza
413

HTTPS e HTTP sono protocolli differenti e usano porte

Questo consente di differenziare la modalit di

Es. in un sito di e-commerce mentre la

Sommario

La

sicurezza di rete ad un sistema informatico di attacchi Socket Layer (SSL)

Attacco Esempi Secure

Firewall
414

Firewall
Un firewall un sistema, nel senso pi ampio

del termine, che ha lo scopo di controllare il traffico fra due o pi reti:


permettendo solo quello autorizzato dalla politica di sicurezza rilevando e segnalando eventuali tentativi di violazione della politica di sicurezza violazione svolgendo eventualmente funzioni aggiuntive di auditing e accounting
415

Firewall: funzionalit (1/3)


Abilitazione di una classe di servizi di sicurezza che

governano laccesso alle risorse informative di rete, proteggendo la riservatezza e lintegrit delle comunicazioni di rete attraverso Internet, intranet ed extranet (enterprise security).
Protezione di risorse ed informazioni da accessi dalla

rete non autorizzati, sia dallinterno sia dallesterno della Intranet (access control).
Implementazione di servizi aggiuntivi (controllo

antivirus, controllo dei contenuti, affidabilit e scalabilit dei servizi)


416

Firewall: funzionalit (2/3)


Gestione della sicurezza dei router Bilanciamento del carico Architettura client/server, altamente scalabile Controllo della sicurezza dei contenuti (Computer

virus screening, Java and ActiveX stripping, URL screening, Mail support, HTTP filtering, FTP support)
Politica di sicurezza unica, che pu essere distribuita

attraverso diversi firewall, mantenendone la gestione centralizzata.

417

Firewall

rules

Internet users
Site servers
418

Firewall: funzionalit (3/3)


Il firewall suddivide tutti gli utenti della rete in due

principali domini: utenti trusted e utenti untrusted Laccesso dalla rete esterna viene forzato a passare per il firewall e viene sottoposto alle regole del firewall
host e servizi per uscire in rete o per connettersi dalla rete devono attraversare il firewall

Ogni Socket (Indirizzo IP + port_number) che viene

aperto da dentro la rete a fuori e da fuori dalla rete a dentro, viene verificato in base alle regole definite nel firewall La configurazione vincente quella che relega i pubblici servizi ad host specifici, rigorosamente sotto controllo, e chiude tutti gli altri servizi agli altri host della rete
419

Firewall: schema logico (1/2)

INTERNET
Router Firewall

L A

Untrusted zone

Trusted zone N
420

Firewall: schema logico (2/2)

INTERNET
Dual homed host Exterior Router
Perimeter Network 1

Perimeter Network 2

Interior Router
Internal Network
421

Firewall: limitazioni
Il firewall NON HA EFFICACIA nella parte trusted

della rete, quindi non pu avere effetto su una macchina compromessa mantenere tutti gli host allo stesso livello di sicurezza

Pi estesa la porzione di rete, pi difficile

Il firewall pu fallire per errori umani nella

configurazione delle regole, pi che per complessi attacchi possibile ambienti diversi (amministrazione da ricerca, etc)

Per aumentarne lefficacia occorre separare il pi

422

Firewall HOWTO
Hardware necessario:
486-DX66 con 32 MB di memoria o superiore 250MB hard disk (500 consigliati) o superiore 2 interfacce di rete monitor e keyboard serial port + modem per il controllo remoto

Disabilitare tutti i servizi Disabilitare laccesso come root Disabilitare laccesso da remoto o limitarlo a indirizzi

garantiti

423

Packet filtering
Un filtro di pacchetti un tool software che

analizza l'intestazione dei pacchetti e ne decide il "destino"


In Linux contenuto nel kernel come modulo

o parte integrante
Vedremo il filtro di pacchetti di quarta

generazione in Linux iptables introdotti nel 1999 a sostituzione del tool ipchains

424

Packet filtering
Elementi per il filtraggio: Header IP mittente destinatario protocollo flag, opzioni (source routing, frammentazione)
Header TCP/UDP porta mittente porta destinatario flag TCP (SYN, ACK)
425

Packet filtering
Azioni possibili: ACCEPT, il pacchetto accettato e lasciato proseguire
DROP, scartare il pacchetto, eliminandolo come non fosse mai stato ricevuto (mittente non avvisato) Rifiutare il pacchetto (mittente avvisato es. host unreachable)

426

Packet filtering
Il kernel opportunamente configurato (CONFIG_NETFILTER Y) mantiene una tabella di

filtraggio "filter" nella quale il tool iptables inserisce o rimuove le regole di filtraggio.
Dove effettuare il filtraggio
in ingresso conosco da quale interfaccia arriva il pacchetto proteggo il sistema interno/locale in uscita gestisco il traffico generato localmente
427

Packet filtering
Il kernel ha 3 liste di regole (dette catene) di

default nella tabella filter


INPUT OUTPUT FORWARD
input routing FORWARD output

INPUT

OUTPUT processi locali


428

Packet filtering
1. Di ogni pacchetto ricevuto da una interfaccia di rete

ne viene esaminata dal kernel la destinazione (fase di routing)


2. Se arrivato a destinazione viene esaminato dalla

catena INPUT 2.1 se il pacchetto soddisfa la regola ACCEPT viene fatto passare e se ci sono processi in attesa riceveranno il pacchetto 2.2 altrimenti se non attivo il forwarding n il kernel sa come farlo proseguire si effettua il DROP del pacchetto
429

Packet filtering
2.3 altrimenti se attivo il forwarding e il pacchetto destinato ad un'altra interfaccia di rete viene inoltrato verso la catena FORWARD 2.3.1 se soddisfa la regola ACCEPT il pacchetto viene inviato in rete 3. i pacchetti inviati da processi locali verso la rete vengono filtrati dalla regola OUTPUT e solo quelli che la soddisfano ACCEPT proseguiranno nella rete

430

Packet filtering
ogni regola specifica
comando relativo alla regola (appendi, cancella, inserisci, sostituisci) condizioni che il pacchetto deve soddisfare obiettivo della regola, cosa fare se la soddisfa

es. rifiutare tutti i pacchetti ICMP provenienti

dall'indirizzo 127.0.0.1 iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP


es. cancellare la regola appena aggiunta

iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP


431

Packet filtering
specificare le condizioni del filtraggio
indirizzi IP sorgente '-s' e destinazione '-d' Indirizzo singolo,
hostname indirizzo IP

Intervallo di indirizzi
indirizzo_IP_rete/numero_bit_rete indirizzo_IP_rete/subnet_mask

protocollo '-p' (nome op. numero relativo) interfaccia '- (input, non con la regola OUPUT) e '- (output, non con la regola INPUT), entrambi solo con la FORWARD
432

Packet filtering
frammenti dei pacchetti (trasmessi sottoforma di pacchetti multipli quando un unico troppo grande), '-f' permette di indicare regole specifiche per il secondo (e successivi) frammento; es. scartare tutti i frammenti destinati a 192.168.1.1 iptables -A OUTPUT -f -d 192.168.1.1 -j DROP estensioni TCP (attivate automaticamente indicando '-p tcp') --tcp-flags per filtrare in base ai flag del TCP, prevede 2 campi: 1. quali flag esaminare 2. quali flag dovrebbero essere impostati es. esamina tutti i flag, ma solo SYN e ACK devono essere impostati iptables -A INPUT -p tcp --tcp-flags ALL SYN,ACK -j DROP
433

Packet filtering
--source-port --sport --destination-port --dport per indicare una singola porta o un intervallo estensione limit per limitare il numero di confronti al secondo ( di default 3) '-m limit' es. per proteggersi dal syn-flood iptables -A FORWARD -p tcp --syn -m limit 1/s -j ACCEPT es. per proteggersi dal ping della morte iptables -A FORWARD -p icmp --icmp-type echo-request -m limit 1/s -j ACCEPT
434

Audit Trails
Audit la fase di controllo e analisi dei processi di

gestione e amministrazione dei sistemi I record presenti nel sistema e relativi allattivit del sistema operativo, delle applicazioni e degli utenti, sono la fonte primaria per questa attivit e per evidenziare attacchi o intrusioni Le informazioni devono contenere dati sufficienti per identificare quando un fenomeno accaduto e chi lo ha causato La granularit con cui gli eventi sono archiviati dipende dal grado di sicurezza che si vuol attivare, dallo spazio disponibile per larchiviazione dei log, etc
435

Audit
Unazione associata ad un utente in unora inconsueta

pu diventare la spia che mette in allarme


Lefficienza del processo di audit dipende dai dati

disponibili e dal grado di accuratezza posto nella loro analisi


Anche se i sistemi supportano una ampia possibilit

nella selezione delle informazioni da archiviare, responsabilit dellamministratore di sistema verificarne la corretta attivazione

436

Sistemi automatici
Lidentificazione di intrusioni (durante o

successivamente l'attacco) pu essere delegata a software specializzati che svolgano accuratamente lanalisi dei dati di audit degli attacchi pi comuni

Alcuni di questi software sono basati sulla conoscenza Altri sistemi basano lidentificazione di intrusioni su

attivit anomale del sistema

In futuro tali sistemi potranno attivare sofisticati

metodi di analisi (come le reti neuronali) per operare inferenze ed analizzare accuratamente anomalie nellattivit dei sistemi, nella modificazione di alcuni files, etc
437

Reti locali e geografiche

438

Internetworking
Realizzato mediante:
creazione di reti di reti Autostrade elettroniche per collegare isole di connettivit Infrastrutture dellera della comunicazione globale Interconnessione di sistemi aperti Continua crescita esponenziale di Internet Forte crescita di servizi fruibili on-line tramite Internet Intranet aziendali e servizi Extranet Rinascita del software e domanda di applicativi Web-oriented

Fenomeni connessi con lesplosione dellinterneworking:

439

Wide Area Network (WAN): cenni


Evoluzione delle Wide Area

storici
computer

Network legata alla prima generazione di computer (II meta 50)


elaborazione centralizzata in pochi centri EDP specializzati Accesso con terminali remoti Remote Batch Trasmission enormi investimenti

modem

modem

batch terminal

440

IBM 3270 Information Display System


modem
Communication controller

modem

Control Unit remota

terminal e terminal e

Mainframe Control Unit locale


terminal e terminal e

441

Caratteristiche di una rete WAN


Interconnette due o pi reti locali disperse geograficamente

mediante linee TD affittate Usata per collegamenti nazionali ed internazionali Interconnette host collegati a sottoreti costituite da:
Linee di trasmissione (linee, circuiti, canali, dorsali) Elementi di commutazione (router) Complessa gestione del routing

Possibilit di utilizzare il collegamento per interconnettere reti

eterogenee Uso di router multiprotocollo e adozione nella WAN di una stessa politica di routing

442

Metropolitan Area Network (MAN)


Una Metropolitan Area Network (MAN) interconnette unarea

caratterizzata da esigenze di elevate prestazioni. In genere opera il trasporto integrato di dati eterogenei: voce, dati, multimedialit, etc Sono reti denominate a banda larga, a causa dei protocolli utilizzati nelle prime implementazioni Viene vista allesterno come ununica entit Il gestore provvede a:
regolare laccesso alla rete ed ai servizi definire la politica di routing

Le reti a banda larga aiutano la diffusione di applicazioni

innovative e fortemente orientate verso la multimedialit

443

MAN
In Italia si sono diffuse in Veicolo principale di

varie regioni (Piemonte, Friuli, Emilia Romagna e Toscana) Realizzate con finanziamenti comunitari e di Enti di Ricerca Alta capacit trasmissiva: fibre ottiche e ATM

esperimenti ad alto contenuto innovativo e con forti esigenze di banda


Video on Demand Telesoccorso Telemedicina Teledidattica Teleconferenza in rete

444

Local Area Network (LAN)


Collega tipicamente uno o pi edifici limitrofi E in genere specifico di una singola azienda o

organizzazione (o di una parte di organizzazione) E regolata da proprie politiche di accesso e di routing E alla base della realizzazione delle Intranet Consente la condivisione di risorse hardware e software Primo prodotto: Attached Resource Computer Network (ArcNet) prodotto da Datapoint Corp. nel 1977

445

LAN vs. WAN

CaratteristicheLAN
Estensione geografica

WAN

Confinata in uno opi edifici Pu estendersi da unarea o un campus cittadina allintero globo Velocit di trasmissione 10 / 100 / 1000 Mbps CDN: da 64Kbps a 2Mbps ATM: da 34Mbps a 2.5Gbps 7 8 Tasso di Errore 1 in 10 - 1 in 10 bit CDN: 8 in 1 in 10 bit 1 - 10 9 Gestione locale Fornitori di servizi nazionali o internazionali Routing Topologia Tipo di informazioni trasportate Normalmente segue un routing statico Routing dinamico Disegno con capacit di assumere un numero illimitato di diverse topologie Voce, dati e video, normalmente integrati

Fisica a stella, logica a bus


a stella dati

446

Standards

Limportanza degli standards ed il lavoro delle organizzazioni di standardizzazione stato fondamentale per lo sviluppo delle TLC. Definiscono le caratteristiche fisiche ed operative degli apparati di rete. Ladozione di standard aiuta la vendita dei prodotti Il processo di standardizzazione favorisce linterconnes-sione e lintegrazione di hardware prodotto da diversi costruttori Esistono standard

de jure (cio codificati da organismi nazionali o internazionali) de facto (massiccia adozione da parte degli utenti)

447

Organizzazioni: IEEE

LInstitute of Electrical Il progetto 802

and Electronic Engineers (IEEE) molto attivo nello sviluppo di standard di comunicazione. Il sottocomitato 802 ha iniziato i lavori nel 1980, prima che fosse stabilito un valido mercato per questa tecnologia

concentrato sullinterfaccia fisica degli apparati e sulle procedure richieste per stabilire, mantenere e terminare connessioni tra dispositivi di rete, inclusa

la definizione del formato dei dati il controllo dellerrore attivit per il controllo del flusso dellinformazione

448

CCITT - ITU
Il Consultative Commit Il lavoro articolato in

tee for International Telephone and Telegraph (CCITT) un gruppo dellInternational Telecommunications Union (ITU), unagenzia specializzata dellONU costituito da 15 gruppi di studio

periodi quadriennali, chiamati Study Period, al termine dei quali ha luogo unassemblea plenaria nel corso della quale vengono emanate le raccomandazioni

449

ISO
L International Sono membri oltre 100

Standards Organization un organo consulente dellONU Il suo scopo promuovere lo sviluppo di standards nel mondo, con lobiettivo di favorire lo scambio internazionale di cose e servizi

organizzazioni standard nazionali Il maggior successo dellISO nel campo delle telecomunicazioni stato il concepimento del modello a sette livelli Open Systems Interconnection (OSI) Reference Model

450

ISO OSI Reference Model


Definisce un impianto concettuale sulla base del

quale possibile definire le modalit di interconnessione di sistemi informatici Fornisce un modello di riferimento per confrontare diverse implementazioni di protocolli di rete proprietari e non Rimane fondamentalmente uno strumento teorico e concettuale con uno scarsissimo numero di implementazioni di servizi (es:X.400)

451

ISO OSI Reference Model


OSI introduce il concetto di sistema:
risorse hardware risorse software periferiche programmi

e di applicazione:
programma che elabora i dati ed eroga servizi

OSI si preoccupa dello scambio di informazioni tra

sistemi

452

Definizioni
La figura illustra una

B C D E

tipica struttura di rete I cerchi rappresentano i nodi della rete I nodi sono connessi tra loro mediante dei communication path I percorsi tra due nodi sono information path

453

ISO Reference model *

Application Presentation Session Transport Network Data Link Physical

Layer 7 Layer 6 Layer 5 Layer 4 Layer 3 Layer 2 Layer 1

*CCITT Recommendation X.200


454

Architettura a livelli
La suddivisione in livelli Ad eccezione dei livelli 1

e 7, ciascun livello del modello adotta collegato ai livelli lapproccio scientifico di precedente e successivo dividere un problema Ciascun livello sfrutta i complesso in pi sottoproblemi, pi agevoli servizi del livello da risolvere immediatamente inferiore Risultano 7 livelli, ciascuno deputato ad uno Un dispositivo deve specifico insieme di potersi connettere con servizi, specifici per le un qualsiasi altro finalit del livello dispositivo in rete
455

ISO OSI Reference Model (i)

Livelli adiacenti comunicano attraverso le loro

interfacce Ogni livello costituito da una o pi entit Entit appartenenti allo stesso livello in sistemi diversi vengono dette peer entities Le entit usano i servizi del livello inferiore e forniscono servizi al livello superiore mediante il proprio Service Access Point (SAP). Le operazioni specifiche di un livello sono realizzate mediante un insieme di protocolli

456

OSI Reference Model (ii)

Servizi erogati Servizi fruiti

Protocollo di livello N-1

457

Intermediate Systems (IS)


End System A End System B

Application Presentation Session Transport Network Data Link Physical


Mezzo fisico 1 ROUTER (Intermediate System)
Network Data Link Data Link Physical Physical

Application Presentation Session Transport Network Data Link Physical

Mezzo fisico 2 458

Physical layer
Il physical link corrisponde agli

Al livello pi basso, il livello

fisico, un insieme di di regole che specificano le connessioni elettriche e fisiche tra i dispositivi fisici. Questo livello specifica le connessioni dei cavi e il tipo di segnale elettrico associato ai vari pin di connessione delle interfacce utilizzate per trasferire dati tra i diversi dispositivi di rete.

standard di interfaccia dei vari dispositivi. Ad esempio appartengono a tale livello le interfacce:
RS232 V.24 V.35 SONET/SDH

Le regole definiscono la trasmissione dati per i terminali, i modem, le schede di rete, etc.

459

Data link layer (NIC, hub, bridge, switch)


Il secondo livello descrive

come un dispositivo guadagna laccesso al mezzo specificato nel physical layer Definisce il formato dei dati, la frammentazione dei dati in un messaggio trasmesso, le procedure di controllo dellerrore, etc Appartengono a questo livello le schede di rete (NIC), gli hub, i bridge e dispositivi di switching che operano una divisione del dominio di collisione Ethernet (suddividendo, come vedremo, il traffico in base al MAC address)

il livello responsabile di un

invio affidabile delle informazioni. Appartengono a questo livello i data link control protocol (DLCP), come il Binary Synchronous Communications (BSC) e High Level Data Link Control (HDLC) utilizzati per la trasmissione su linee CDN. Appartengono a questo livello anche i sottolivelli LLC e MAC (il quale scende fino a livello 1, come vedremo) di Ethernet

460

Network layer
responsabile della

(router, switch liv.3)

realizzazione di una connessione tra due nodi della rete: il nodo sorgente e quello destinatario, inclusa la scelta e la gestione del routing (cio le regole che permettono listra-damento delle informazioni in base allindirizzo della rete di destinazione) e lo scambio di informazioni tra i due nodi Appartengono a questo livello i router e gli apparati di commutazione (switch) abilitati a funzioni di routing.

I servizi di questo livello sono

associati al movimento dei dati nella rete, inclusi lindirizzamento, il routing e le procedure di controllo dei flussi. Sono state qui definite le raccomandazioni CCITT X.25 (data flow) e X.75 (network information flow). Appartiene a questo livello il protocollo IP.

461

Transport layer
responsabile per la

(switch liv.4)

garanzia che il trasferimento delle informazioni avvenga correttamente Analizza la comunicazione tra due nodi, basandosi sul fatto che il network control layer in grado di stabilire il cammino ottimale tra i due nodi Appartengono a questo livelli i dispositivi di commutazione che operano a livello 4, quali ad esempio i proxies

Si occupa principalmente

di:

controllare lerrore verificare la sequenza delle informazioni analizzare i fattori di affidabilit dello scambio di dati tra i due nodi E il primo livello end-to-

end Appartengono a questo livello i protocolli TCP e UDP

462

Session layer
I servizi che questo Fornisce le regole per attivare

livello pu fornire sono:


attivazione e terminazione della connessione tra due nodi controllo del flusso di messaggi tra i nodi controllo del dialogo controllo dei dati da ambo i nodi

e terminare flussi di dati tra nodi della rete E responsabile dellorganizzazione del dialogo tra programmi applicativi e del relativo scambio di dati Consente di aggiungere a sessioni end-to-end servizi pi avanzati

463

Presentation layer
I servizi di questo livello sono Esempi di trasformazioni che

relativi alla trasformazione dei dati, alla loro formattazione ed alla sintassi (sono previste una rappresentazione astratta, una locale e una per il trasferimento). Una delle funzioni quella di convertire i dati ricevuti in modo da essere rappresentati opportunamente nel dispositivo di ricezione

possono essere gestiti da questo livello sono

crittografazione/decrittograf azione dei dati compressione/decompressio ne dei dati

464

Application layer
Questo livello comprende tutti i

(switch liv.7)

Esempi di funzioni svolte da

programmi applicativi (di sistema o scritti dallutente) che consentono luso della rete. Lultimo livello si comporta come una finestra attraverso la quale lapplicazione accede a tutti i servizi messi a disposizione dal modello. Appartengono a questo livello i dispositivi di commutazione che operano a livello 7 (accesso selettivo ad applicazioni in base alla disponibilit o meno di abilitazioni o in base alla tipologia del client)

questo livello:

Terminale virtuale (VT) file transfer access management (FTAM) Posta elettronica, X.400 condivisione di risorse accesso a database (X.500, servizio di Directory)

Gli ultimi tre livelli possono

differire molto a seconda del tipo di rete nella quale vengono istallati e del protocollo di rete utilizzato

465

OSI Reference Model: conclusioni


Analizzando il flusso di dati dal

lato del nodo mittente occorre network ISO, il livello specificare che il livello n interagisce con il superiore appende livello n-1 allinformazione una intestazione che contiene le Il punto di informazioni specifiche di quel comunicazione tra livello. Ci avviene per ogni livelli adiacenti il livello, tranne il Physical Level. Neutral Acces Point Per quanto concerne il flusso di dati dal lato del nodo ricevente, (NAP) ogni livello, tranne il Physical Level, effettuer il procedimento inverso, rimuovendo lintestazione dopo averla interpretata, in modo da riavere linformazione integra.

Al fluire dei dati in un

466

OSI : headers per comunicazione tra due nodi


trasmissione Application ah Presentation ph|ah Session Session sh|ph|ah Transport Transport th|sh|ph|ah Network Network nh|th|sh|ph|ah Data Link dh|nh|th|sh|ph|ah Data Link Physical Physical ricezione
data data data data data data data data ah data data ah|ph ah|ph|sh

data ah|ph|sh|th data ah|ph|sh|th|nh data data ah|ph|sh|th|nh|dh

Application Presentation Session Session Transport Network Network Data Link Physical Physical

467

Il modello OSI e la comunicazione in ambiente UNIX e TCP/IP


Application Presentation Session Session Transport Transport Network Network Data Link Data Link Physical Physical
Berkeley services: rcp, rlogin, rsh, rexec X.400, ftp, telnet SMTP, SNMP, NFS, RPC, Socket TCP, UDP IP
IEEE802.3, FDDI Media Access Control e Logical Link Control IEEE802.3 Ethernet 10base2,10base5,10baseT FDDI PHYsical layer protocol e Physical Medium Dependent

468

Network

Inter- Service network

Application

Local Area Network: topologia ciclica

Il controller usa un metodo di

controller

la topologia tipica dellarchitettura IBM 3270 Information Display System

accesso di tipo poll and select I dispositivi necessitano di una intelligenza minima Il funzionamento della rete in mano esclusivamente al controller Uno scambio eccessivo di dati tra il controller ed un terminale pu collassare la rete.

469

Topologia a Bus
Solo la stazione destinataria

pu leggere linformazione Il cavo deve essere terminato in ambo i lati per presentare la corretta impedenza alle Un cavo funge da stazioni percorso principale dei Il maggior svantaggio che dati, al quale sono ogni interruzione del cavo connesse tutte le stazioni preclude il funzionamento Tutti i dati trasmessi sono allintera rete disponibili a tutte le stazioni

470

Topologia a Stella

HUB

connessioni con topologia a stella ma si comportano logicamente come una topologia a bus. Guasti al cavo si ripercuotono solo sulla stazione Ciascuna stazione connessa ad Risolve i problemi dovuti alla presenza di jabbering nodes, nodi un network controller (hub) che trasmettono pacchetti di Lhub gestisce la comunicazione lunghezza errata per malfunziocon ciascun nodo, namenti che vengono interpretati indipendentemente dagli altri nodi come
471

Le moderne ethernet hanno

Topologia ad Anello
Pu essere considerata una topologia a bus chiusa Il metodo daccesso richiede che i dati circolino nellanello Moderne reti: fisicamente a stella, logicamente ad anello (Token Ring, FDDI) Nella topologia ad anello si Pi Multistation Access Unit in presenza di un cavo che (MAU) vengono interconnette tutte le stazioni interconnesse ad anello ed ha una configurazione logica ad anello
472

Topologia ad Albero
Ciascun nodo o fornisce

Pu essere

laccesso alla stazione ad esso collegata o istrada i dati verso un nodo ad esso collegato La comunicazione risulta inefficiente quando avviene tra nodi lontani
(distanza percorsa >> segmento pi lungo)

considerata una forma complessa di topologia a bus

473

I mezzi trasmissivi:

cavo UTP

Unshielded twisted-pair (UTP): il mezzo pi economico facile da installare consente di realizzare il cablaggio strutturato degli edifici La connessione delle stazioni avviene mediante il connettore RJ45 E levoluzione del singolo doppino in rame: pi doppini vengono torti in maniera molto precisa, in modo da ridurre al minimo le interferenze elettromagnetiche ed affiancati in una guaina.

fortemente soggetto a

disturbi di macchine elettriche e luci fluorescenti agisce da antenna: pi lungo il segmento, maggiore il disturbo Per ridurre i disturbi: Shielded twisted-pair (STP), ma troppo costoso e difficile da stendere Esistono cavi di diverse categorie: pi alta la categoria (es: cat. 5, cat. 6 , cat. 7), pi rigido e pi affidabile il cavo.

474

Doppino e cavo UTP


Doppino in rame:

Cavo STP:

Cavo UTP:

475

Cavo coassiale

il cavo originale usato nelle

reti Ethernet e ArcNet costituito da un filo di rame centrale, ricoperto da un dielettrico, poi da una calza in rame e infine dalla guaina in polietilene Esistono due versioni di cavo coassiale per ethernet, entrambi con impedenza 50:

cavo thick (RG-8) con diametro 0.4 cavo thin (RG-58) con diametro 0.25 Thick ethernet usa il

transceiver, collegato con un cavo a 9 fili (lunghezza max 50m) ad un connettore AUI 15 pin Thin ethernet usa un connettore a T con innesto a baionetta.

476

Cavo coassiale

Schema generale:

Cavo Thick Ethernet:

Cavo thin Ethernet:

477

Fibra ottica
il mezzo trasmissivo del Piccoli laser o diodi

futuro: economico e relativamente sicuro immune da interferenze elettriche Teoricamente supporta velocit di trasmissione illimitate Recentemente listallazione si semplificata

emittenti convertono il segnale elettrico in segnale ottico mentre la funzione inversa svolta da un ricevitore dotato di fotodetector Due tipi di fibre:
multimodali (sorgente:
LED)

monomodali (sorgente:
Laser)

478

Fibra ottica
La fibra pu essere usata come

mezzo trasmissivo ottico perch:

la fibra diventa una guida

in determinati materiali langolo di riflessione uguale allangolo di incidenza la propagazione della luce attraverso mezzi differenti avviene con velocit diverse

donda che intrappola il raggio luminoso la forma cilindrica regolarizza le propriet fisiche a seguito di torsioni La calza esterna in grado di assorbire tutti i raggi luminosi che dovessero abbandonare il nucleo della fibra Lassorbimento dei raggi che fuoriescono dal nucleo della fibra fondamentale quando si hanno cavi con pi fibre

n1 n2 n3

n3 > n2 > n1

479

Fibra ottica
Svantaggi:
fibra multimodale stepped index: ha unanima centrale grande rispetto alle dimensioni complessive della fibra. Presenta una forte dispersione e una banda di decine di MHz. Distanze e velocit basse. fibra multimodale graded index: presenta un indice di rifrazione trasversale che decresce a partire dallasse centrale della fibra, Banda>GHz fibra monomodale: diametro dello stesso ordine di . Banda > GHz
480

terminazione del cavo abbastanza complessa eventuali interruzioni del cavo richiedono interventi complessi

Consentono passi di

ripetizione dei segnali da alcuni km a decine di km Sono soggette a dispersione del segnale: vengono prodotte in tre modalit

LAN: metodi di accesso


Il secondo aspetto il livello fisico che ha

caratterizzante le LAN pertiene a come vengono trasmessi i segnali elettrici nel mezzo fisico Link layer del modello OSI Nelle reti locali viene suddiviso nei sottolivelli LLC e MAC

il compito di fornire quanto necessario per il trasporto dei segnali elettrici o ottici Nelle LAN le tecniche trasmissive adottate sono:
banda base (comune) banda larga (applicazioni particolari).

481

Trasmissione in banda base


una tecnica trasmissiva A seconda del mezzo

in cui il livello fisico del nodo di LAN utilizza lintera banda Un solo nodo pu trasmettere e lo fa con velocit pari alla capacit della banda Ne sono esempio lo standard IEEE802.3 ed Ethernet

trasmissivo utilizzato si pu avere la trasmissione di dati a velocit superiori a quelli dello standard Ethernet (pi reti logiche) Non avviene modulazione del segnale elettrico: ci limita le distanze possibili, ma semplifica lhardware di interfaccia

482

Trasmissione in banda larga


Le stazioni sono

La trasmissione broadband

una tecnica basata sulla modulazione di frequenza del segnale e sulla divisione in sottocanali indipendenti della banda disponibile Ciascun nodo della rete pu trasmettere su una o pi sottobande (video, voce, dati...) la trasmissione ideale per stazioni multimediali

collegate alle LAN con due diverse realizzazioni:


mediante due cavi coax distinti, uno per la ricezione e uno per la trasmissione. Mediante un unico cavo con banda suddivisa in rx-tx (pi semplice da realizzare)

Occorre un apparato che

indirizzi i canali rx e tx della stazione e del cavo

483

Trasmissione in banda larga


La connessione delle

stazioni al bus avviene utilizzando dei modem dinamici progettati per funzionare con frequenze variabili Sono in grado di gestire pi canali contemporaneamente commutando istantaneamente dalluno allaltro canale

Quando operano in modalit

automatica sono gestiti da ununit logica di comunicazione Lunit interroga ad intervalli regolari i dispositivi della rete per verificare se ci sono comunicazioni pendenti e semmai si sincronizza sulla giusta frequenza Questo il modo di funzionamento dello standard IEEE802.6

484

Trasmissione in banda larga


Recentemente la modalit Il traffico viene diviso in celle descritta precedentemente per la a lunghezza fissa che banda larga stata vengono commutate ad una soppiantata dalla velocit elevatissima tecnologia ATM che consentendo velocit prevede diverse interfacce superiore al Gbit per secondo fisiche (per fibra ottica, Il protocollo in grado di cavo coassiale, UTP) ed associare servizi di rete basato sulla tecnologia di differenti a seconda dei switching servizi applicativi, garantendo la migliore qualit

485

banda base e banda larga: confronto


distanza: da alcuni Km La tecnologia ATM e la

(banda base) a decine di Km (banda larga) ampiezza di banda: nella banda larga di un ordine di grandezza superiore costi: molto sostenuti quelli dellhardware per banda larga

diffusione della tecnologia xDSL hanno realizzato una massiccia diffusione della banda larga, anche se i costi di implementazione e di gestione rimangono elevati, il rientro in servizi avanzati ne giustifica la diffusione

486

LAN: metodi di accesso


Come si pu consentire ad un In un metodo di accesso

computer alla volta di trasmettere in rete? (banda base) Laccesso alla rete pu essere fornito in modo
casuale deterministico In un metodo di accesso

deterministico ogni stazione aspetta il suo turno

Metodo di accesso

casuale ogni stazione pu parlare in qualsiasi momento

Deterministico

Non deterministico

time slot token

CSMA CSMA/CD Ethernet


487

token ring

token bus

Metodi di accesso al bus


Fanno parte
Access (la variante integrante del metodo Carrier Sense Multiple Access with Collision di accesso anche le Detection CSMA/CD specifiche: il metodo di accesso tempo per il quale una random utilizzato nelle stazione pu usare il reti Ethernet) bus in modo esclusivo Token-passing il modalit di controllo metodo di accesso per evitare che due deterministico usato nelle stazioni trasmettano reti token-ring, ArcNet e contemporaneamente FDDI
Carrier Sense Multiple

488

Metodo di accesso a time slot


controllato da sequenze

permette di rilevare ad di bit, in cui una stazione una stazione che vede pu inserire i propri dati passare il time slot se il campo dati libero o realizzato su reti con gi occupato da unaltra topologia fisica ad anello stazione I time slot si susseguono Se il campo dati uno dopo laltro e sono occupato, la stazione costituiti da un un header verifica lindirizzo con bit di inizio e dei bit destinatario e se il di controllo proprio, preleva i dati

Il campo di controllo

489

Metodo di accesso a time slot


Criticit:
Occorre una stazione master che generi i time slot Numero di time slot attivi: dipende dalle dimensione dellanello e dal relativo tempo di propagazione dei segnali

Vantaggi:
avendo ogni slot un tempo fisso di percorrenza e una lunghezza fissa del campo dati si presta bene ad applicazioni nelle quali importante un tempo di trasmissione costante anche in casi di alto traffico inibito ad una stazione un uso infinito del time slot

490

Carrier Sense Multiple Access with Collision Detection (CSMA/CD)


La stazione ascolta il mezzo due stazioni possono trasmissivo prima di cercare trasmettere allo stesso istante di trasmettere perch hanno entrambe sentito Se la stazione percepisce libero il mezzo trasmissivo. attivit, ritarda la Il risultato una collisione: trasmissione prima di poter entrambe le stazioni inviano il riprovare a trasmettere pacchetto, che viene corrotto. Quando sente la linea libera Ethernet implementa Carrier inizia a trasmettere Sense Multiple Action con Collision Detection (CSMA/CD): Occorre considerare che il le collisioni vengono intercettate segnale impiega un certo e si attiva un processo di tempo a percorrere la ritrasmissione ritardata distanza tra le stazioni e si (backoff): nellalgoritmo che pu verificare che anche se calcola il tempo di attesa una stazione ha trasmesso un compare il MAC address che pacchetto, alcune stazioni un dato univoco. non labbiano percepito.
491

Il maggiore inconveniente che

OSI e IEEE 802: livelli LLC e MAC

Per problemi realizzativi, nello standard IEEE 802.3 i primi due livelli OSI sono stati suddivisi in tre sottolivelli livello fisico livello di gestione dellaccesso al mezzo trasmissivo, MAC livello di gestione logica del link, LLC Il MAC funge da interfaccia tra livello fisico e LLC

LLC realizza funzioni di gestione del link mediante un protocollo trasmissivo sostanzialmente comune alle diverse varianti a livello fisico MAC specifico dello standard utilizzato, che funzione del protocollo (Ethernet, FastEthernet, GigabitEthernet) e del mezzo trasmissivo Il livello fisico specifica caratteristiche elettriche e modalit di segnali per ogni standard utilizzato
492

Il controllo logico del link


Per LLC stato sviluppato un

unico standard

effettuato mediante il Service Access Point (SAP) LLC riceve i dati dal livello superiore e li invia passandoli Le modalit operative dellLLC al MAC sotto forma di una o prevedono , la possibilit di pi trame LLC multiplare pi utenti sul servizio unico offerto da LLC La trama comprende LLC prevede 3 varianti: un campo di controllo indirizzo sorgente LLC1 servizio senza connessione e senza conferma indirizzo di destinazione LLC2 servizio basato su una i dati
connessione logica LLC3 servizio senza connessione con conferma

Lindirizzamento dellutente

493

Modalit del servizio LLC


LLC1 permette linvio di frame su LLC3 non richiede connessione

base libera (modalit tipo datagram) e non prevede nessuna conferma dei dati trasmessi e ricevuti per verificare la correttezzza dellinvio. funzione dei protocolli dei livelli superiori assicurare le necessarie funzioni di controllo del flusso informativo della trasmissione venga attivata una connessione logica tra i punti di accesso al servizio dellutente chiamato e chiamante. LLC controlla che sulla connessione logica il flusso di informazioni proceda in modo corretto.

logica e trasmette le singole trame richiedendo la conferma che la trama sia stata correttamente ricevuta prima di procedere allinvio della trama successiva standard per LLC origina dal fatto che la LAN soggetta a minori disturbi rispetto ad una WAN e che non sempre sono necessarie robuste procedure di controllo e recupero che appesantiscono il flusso se a livello superiore c TCP che ha un robusto e sicuro trasporto: LLC1

La flessibilit operativa degli

LLC2 richiede che prima dellinizio

Es: terminale-terminale: LLC2;

494

Metodi di gestione del bus: token


un metodo deterministico Pi note realizzazioni:

in base al quale una stazione ha diritto a trasmettere quando viene in possesso di un messaggio di autorizzazione La stazione pu trasmettere una trama informativa e poi passare il token alla stazione successiva utilizzato con diverse modalit (bus, anello, banda base e banda larga)

Token Ring IBM e IEEE802.5 A seconda della topologia, i metodi differiscono sensibilmente In Token Ring la trama informativa trasmessa viene rimossa dalla stessa stazione che lha trasmessa In FDDI il token pu essere ceduto appena trasmessa la trama informativa

495

Il metodo token su reti a bus


Il metodo Token bus prevede Funzioni di regime

luso di un cavo al quale le stazioni sono connesse in parallelo un metodo di accesso logicamente sequenziale, anche se tutte le stazioni ricevono quanto viene trasmesso in un certo istante. La stazione coinvolta solo quando vuole rispondere ai messaggi

permanente

trasferimento di dati trasferimento di token funzioni di mantenimento

dellanello logico

iniziazione dellanello logico rigenerazione del token Tra i nodi i messaggi sono

trasferiti usando formati e sottocampi specifici

496

Il metodo token su reti a bus


Il campo di controllo specifica

bus lindirizzo di una stazione pu rappresentare un indirizzo trama di controllo generata a individuale, di gruppo o livello MAC broadcast trama dati generale, generata Oltre alle informazioni degli a livello LLC indirizzi, una stazione dispone trama di utilizzo generale di una serie di timer: Token: particolare timer di bus inattivo configurazione dei bit di una timer per lidentificazione della finestra temporale di risposta trama di controllo MAC e timer di richiesta del token fluisce da una stazione allaltra timer per cessione token nellanello in ordine di indirizzo timer di controllo per la decrescente la classe del messaggio
conservazione del token

Nel piano degli indirizzi Token

497

Fasi del metodo token bus


Le funzioni di regime
Durante il passaggio del

permanente di una stazione comprendono la fase di trasmissione dei dati e del token.
Una stazione che possiede il token pu trasmettere esclusivamente per il valore del timer di conservazione del token Allo scadere il token viene passato alla stazione seguente Sullanello il token passa da una stazione allaltra seguendo un ordine di indirizzo decrescente

token possono verificarsi dei casi che alterano la normale evoluzione della rete
la stazione pu non essere a conoscenza dellindirizzo della stazione successiva presente sul bus una stazione che vuol essere inserita nellanello logico e diventare parte attiva della rete locale

498

Fasi del metodo token bus (II)


Linserzione di nuove stazioni

avviene tramite un algoritmo di contesa regolato da messaggi di richiesta di nuova stazione successiva abbinati a finestre temporali di opportunit di risposta, le quali identificano lintervallo durante il quale una risposta considerata valida Ci sono due modalit di apertura della finestra di risposta: richiesta di stazione successiva di tipo 1 e 2 Le stazioni che hanno indirizzo inferiore allindirizzo della stazione richiedente rispondono durante la finestra di tipo 1 mentre quelle che hanno indirizzo superiore durante una finestra di tipo 2

La richiesta di inserzione

nellanello viene fatta dalla stazione interessata mediante spedizione di una frame di stazione successiva che nel campo indirizzo lindirizzo della stazione che ha il token e nel campo dati il proprio indirizzo La stazione che ha il token lo trasmette alla nuova stazione che pu iniziare a trasmettere Se la trasmissione del token fallisce viene assunto che la stazione successiva inoperativa e inizia il processo di identificazione di nuova stazione successiva
499

La rete Ethernet
La rete Ethernet stata disegnata per una topologia a bus,

utilizza il metodo di accesso CSMA/CD Rappresenta lo standard de-facto descritto nelle caratteristiche essenziali dallo standard de jure IEEE 802.3 (non esiste compatibilit per tra i due standard) E stata inventata da Bob Metcalfe presso Xerox Corp.

Schema di rete Ethernet fatto da Bob Metcalfe

500

Linterfaccia Ethernet
si occupa delle seguenti funzioni: incapsulamento e decapsulamento dei dati link management codifica e decodifica Manchester dei bit: per trasmettere un segnale di clock insieme ai dati: trasmette il clok inalterato se il digit 0, invertito se il digit 1 la codifica Manchester garantisce una transizione del segnale elettrico in ogni bit trasmesso. Ci permette ad appositi circuiti del ricevitore di agganciare in fase il loro clock a quello del trasmettitore durante la ricezione del preambolo e quindi di ricevere il pacchetto con la giusta temporizzazione
Periodo di un bit

0 | 1 |

| 0

| 0 | 0

| 0

| 1

| 1

| 1 | 1 | 0 | 1

1 | 0 | 1 |

Esempio di codifica Manchester


501

Lo standard Ethernet
Lo

standard Ethernet, identifica una rete locale operante con metodo di accesso CSAM/CD su bus costituito nella sua originale implementazione da un cavo coassiale Nelle moderne reti Ethernet, il bus implementato logicamente dagli apparati attivi di rete (Hub, switch) I due standard non presentano differenze a livello fisico, pertanto gli apparati possono interoperare

la differenza nel formato

della trama Nello standard Ethernet il livello applicativo che genera il messaggio che si deve preoccupare di assicurare una lunghezza di almeno 46 byte Una differenza fondamentale rappresentata dal campo tipo che viene utilizzato per indicare il tipo di protocollo di trasporto utilizzato dai livelli superiori

502

Switched LAN
Le Switched LAN rappresentano la migliore soluzione per

aumentare le prestazioni di una rete Ethernet poich suddividono il dominio di collisione della rete stessa . Si basano sulluso di apparati (Switch) che effettuano una copia meditata dei dati trasmessi dai vari host. Viene mentenuto in un buffer locale lelenco degli indirizzi MAC degli host connessi alla rete suddiviso per porta dello switch. Un pacchetto verr copiato dalla porta sorgente solo sulla porta alla quale collegato lhost di destinazione. Il loro utilizzo trasparente allutente I principali problemi del metodo di acceso CSMA/CD sono risolti definitivamente in quanto le collisioni vengono minimizzate. E una tecnologia con bassi costi implementativi Lutente pu utilizzare tecnologie miste (10-100-1000baseT) ottenendo un manutenzione facilitata ed alta flessibilit. La migrazione ad una switched LAN comporta semplicemente la sostituzione degli apparati attivi, lasciando inalterato il cablaggio (se di tipo 10baseT).
503

Lo standard IEEE 802.3


Le reti locali appartenenti allo Versione originale: 10base5 standard 802.3 adottano uno prevede luso di cavo coassiale thick da 50Ohm schema di accesso al bus di 10base5:velocit di 10Mbps, tipo CSMA/CD. modalit trasmissiva in banda Lo standard 802.3 prevede base, lunghezza massima del singolo spezzone di cavo un discreto numero di in centinaia di metri, pari a 5 varianti a livello MAC, che Aree pi ampie possono presentiamo di seguito e che essere realizzate mediante descrivono il funzionamento aggiunta di ripetitori di di un ampio spettro di mezzi segnale elettrico con trasmissivi utilizzabili per la impedenza uguale a quella del cavo propagazione del segnale Vincoli di percorrenza dei della rete locale segnali sul cavo limitano la distanza massima a 2800m

504

IEEE 802.3 - 10base5

(thick ethernet)

Distanze superiori richiedono luso di bridge locali o remoti che operano, invece che sul livello fisico, sulle trame generate a livello MAC Numero masimo di stazioni collegabili ad un segmento: 500 Numero massimo di stazioni collegabili ad una rete: 1024 Luso di bridge innalza il numero massimo di stazioni collegabili in rete La connessione delle stazioni avviene mediante un vampire tap ed un transceiver o Medium Access Unit (MAU), il quale converte i segnali da controller a mezzo fisico e viceversa

La connessione tra controller e transceiver realizzata mediante un cavo dotato di 8 fili chiamato drop o AUI (Attachment Unit Interface) che pu essere lungo 50m al massimo Le connessioni permettono il trasferimento dei segnali dal controller al transceiver e viceversa Singoli conduttori permettono di comandare linterruzione della trasmissione o di ricevere dal transceiver la segnalazione che si sta verificando una collisione In alcuni casi si usano cavi che possono connettere fino a 8 stazioni
505

Connessione a vampiro

506

IEEE 802.3 - 10base2


Versione 10base2 Creato a seguito delle difficolt di manipolazione fisica e dei costi del cavo thick Si usa un cavo coassiale sottile noto con la sigla RG58, con notevolmente superiori caratteristiche di flessibilit e curvatura Lunghezza massima di un segmento: 185m Numero massimo di stazioni collegabili ad un segmento: 30

(thin ethernet)

Le ridotte dimensioni del cavo semplificano le modalit con cui pu essere effettuata la connessione del transceiver al cavo coassiale Viene utilizzato un attacco BNC a T che introduce unattenuazione del segnale Un tipico cablaggio della fine degli anni 80 era costituito da cablaggi 10base2 al piano e dorsali 10base5 La limitazione del numero di host stata superata con luso di multiport repeater, connessi ad una dorsale 10base5 dai quali si hanno diramazioni (8/4/2) 10base2
507

IEEE802.3 10base2: componenti

Connettore IEEE802.3 10base2 (innesto a baionetta)

IEEE802.3 10base2 Multiport Repeater

Connettore IEEE802.3 10base2 a T

Segmento di rete IEEE 802.3 10base2

NIC IEEE802.3 10base2 collegata con terminazione (tappo)


508

Problematiche di questo tipo di cablaggio


Ogni difetto sul cavo si

ripercuote su tutta la rete Diventa difficilissimo individuare


contatti difettosi nei connettori spine rotte connettori difettosi cavi piegati troppo o con

strozzature generano delle interferenze di tipo elettromagnetico che alterano i dati in rete Gli effetti in gran parte non sono riproducibili e variano al variare della posizione dei computer nella rete stessa

Tecniche di rilevamento basate sul metodo della riflessometria a domino di tempo: viene inviato in rete un segnale di nota intensit se ci sono ostacoli o la fine del cavo, viene generato un segnale di eco che torner indietro misurando con grande precisione i tempi di propagazione del segnale possibile misurare con alta precisione la posizione che ha originato il segnale di eco Questi apparecchi sono in grado di fornire con precisione altissima tutte le caratteristiche del cavo

509

IEEE 802.3 - 10baseT


Versione 10baseT Creato al fine semplificare la predisposizione fisica delle reti a livello di edifici o di campus e grazie alla definizione di sistemi a cablaggio strutturato Definisce luso del doppino non schermato (Unshielded Twisted Pair, UTP) come mezzo su cui trasferire i dati Ha una struttura fisica a stella, con hub connessi in parallelo dai quali si diramano le connessioni punto-punto con le stazioni Lunghezza massima di un segmento UTP: 100m

(doppino in rame - HUB)

La connessione tra controller e mezzo fisico avviene con un connettore RJ45, analogo a quello utilizzato per i telefoni ISDN Poich il doppino utilizzato quello utilizzato anche per limpianto telefonico, laspetto interessante di questo tipo di cablaggio che pu essere riassegnato a funzioni diverse (fonia o servizi dati) a seconda delle esigenze o a seguito di mutate esigenze di un dato ufficio
510

IEEE 802.3 10baseT: componenti

Connettore RJ45 IEEE802.3 10baseT Stackable HUB/SWITCH

IEEE802.3 10baseT Modular SWITCH

Segmento di rete IEEE802.3 10baseT


511

IEEE 802.3 - 10baseFOIRL


Versione 10baseFOIRL Alternativamente al cavo Thick ethernet possibile utilizzare fibra ottica ed un transceiver Fiber Optic MAU (FOMAU) Il FOMAU in grado di ricevere e trasmettere segnali ottici lungo un segmento di fibra ottica di lunghezza massima pari a 1000m Il transceiver costituito da emettitori e ricevitori basati su LED e dai connettori che sono utilizzati per connettere fisicamente la fibra ottica.

(fibra ottica)

Le caratteristiche della fibra sono specificate nello standard EIA/TIA 568 Le funzioni principali del transceiver sono:
trasmissione ricezione rilevamento della collisione funzione di jabber:quando riceve una stringa di bit superiore alla lunghezza massima prevista, interrompe la funzione di trasmissione funzione di low level detection:quando riceve segnali ottici inferiori ad una soglia stabilita, interrompe la ricezione La trasmissione avviene mediante LED che emettono a =850nm 512

IEEE 802.3 - 10baseF


Versione 10baseF
E la modalit che definisce luso di IEEE802.3 utilizzando come mezzo trasmissivo la fibra ottica Si suddivide in tre sottostandard: 10baseFP, 10baseFB, 10baseFL. Tutti e tre i sottostandard si uniformano alle specifiche dello standard EIA/TIA 568 ed utilizzano LED che emettono ad una lunghezza donda di 850nm

(fibra ottica)

Versione 10baseFP
Le specifiche di questo standard riguardano le caratteristiche di apparati che trasmettono alla velocit di 10Mb/s e sono basate sul segmento a fibra ottica connesso tramite una stella passiva(Fiber Passive, FP) Definisce unalternativa alluso del cavo coassiale in cui i soli elementi attivi sono i transceiver ottici. La stella passiva consente linterconnessione di diversi segmenti punto-punto ed opera una ripartizione del segnale ottico la distanza massima tra MAU e stella di 500m e tra due MAU interconnessi mediante stella, di 1000m
513

IEEE 802.3 - 10baseF


Versione 10baseFB
E la modalit che definisce luso di IEEE802.3 utilizzando come mezzo trasmissivo il segmento in fibra ottica che ha funzioni di dorsale tra due ripetitori (Fiber Backbone, FB) Definisce unalternativa alluso del cavo coassiale in cui gli elementi attivi sono i transceiver ottici e le stelle attive. Questo standard consente ancora oggi la costruzione di transceiver fault-tolerant, poich sono dotati di due porte in fibra ottica, una principale e una di backup. In caso di guasto della porta main, lapparato commuta rapidamente su quella di backup. La lunghezza massima di 2000m

(fibra ottica)

(i)

Versione 10baseFL
E la modalit che definisce luso di IEEE802.3 utilizzando come mezzo trasmissivo il segmento in fibra ottica di tipo link (Fiber Link, FL) Lo standard prevede linterconnessione di ripetitori e stazioni sia in modalit puntopunto sia in modalit stellare . La lunghezza massima di 2000m Il MAU 10baseFL compatile con il MAU FOIRL e quando connesso a questo la lunghezza del segmento si riduce a 1000m

514

Il transceiver
Il transceiver lelemento che

consente la trasmissione / ricezione dei pacchetti tra linterfaccia di rete (Network Interface Controller, NIC) ed il mezzo trasmissivo. Interfaccia e transceiver sono collegati da un cavo con 4 doppini (alimentazione, RX, Un receiver che riceve i dati TX, rilevazione collisioni) dallinterfaccia e li trasmette Il transceiver costituito mediante opportuni circuiti al principalmente da: mezzo trasmissivo
Due driver: uno trasmette allinterfaccia i dati ricevuti dal mezzo trasmissivo

laltro invia allinterfaccia un segnale di collisione nel caso si presenti il fenomeno. Inoltre questo driver alla fine di ogni trasmissione invia allinterfaccia un segnale chiamato collision_presence_test (CPT o Heartbeat) il cui scopo verificare il buon funzionamento del circuito di collisione ed avvisare linterfaccia di ci.

Un alimentatore che riceve laimentazione dallinterfaccia e genera lalimentazione per i circuiti interni
515

Il formato delle trame


La

struttura della trama, Il campo SFD indica linizio trama, seguito dagli identica tra le diverse versioni indirizzi della stazione dello standard IEEE 802.3 destinataria della trama e illustrata di seguito e della stazione origine confrontata con quella dello Il primo bit del primo standard Ethernet byte di indirizzo vale 0 se
dati PAD CRC

S preamF destina sorgen len bolo D zione te

IEEE 802.3

7 1 2o6

2o6

0-150 lun. var.


dati

4
CRC

pream destina sorgen tipo bolo zione te

ETHERNET

46-1500

la trama ha un solo destinatario, 1 altrimenti Se dopo il primo bit a 1 tutti gli altri bit dellindirizzo destinatario sono a 1, si tratta di una frame di broadcast (indirizzato a tutte le macchine) il sottolivello MAC che stabilisce la lunghezza del campo PAD quando forma il messaggio da inviare al livello fisico 516

10/100/1000BaseT
Le varianti a 100Mbps (FastEthernet) e 1Gbps

(GigabitEthernet) della specifica Ethernet di base hanno le stesse caratteristiche fondamentali dello standard 10baseT.
Cambia la frequenza del segnale che :
100MHz per FastEthernet 1GHz per GigabitEthernet 10GHz per 10Gigabit Ethernet

Ci rende integrabili le diverse tecnologie con costi

bassissimi, ottenendo una maggiore flessibilit nella configurazione e nella gestione degli apparati di rete.
517

10Gigabit Ethernet: IEEE802.3ae e IEEE802.3ak


Lo standard IEEE802.3ae implementa 10Gbit ha effettuato la prima demo di una rete 10Gbit Ethernet su rame usando cavi cat.6
(http://www.keyeye.net/ke_active_web_site/tech/technology.html)

Lo standard IEEE802.3ak (10000baseCX4) Sono stati prodotti apparati attivi 10000baseCX4 (lunghezza dei cavi 15m estensibili a 25m) E una soluzione di estrema importanza per realizzare dorsali alle quali siano connesse reti a 1Gbit

518

Switch Ethernet
Una LAN pu implementata con i seguenti apparati

switch:

10baseT Switch (IEEE802.3): ogni porta implementa un Dominio di Collisione separato 100baseT Switch (IEEE802.3u): ogni porta implementa un segmento di rete FastEthernet usando un cavo Unshielded twisted Pair (UTP) 1000baseCX Switch (IEEE802.3z, IEEE802.3ab): ogni porta implementa un segmento di rete Gigabit Ethernet usando un cavo in rame Shilded Twisted Pair (STP) 1GbaseCX4 Switch(IEEE802.3ae, IEEE802.3ah): ogni porta implementa un segmento di rete 10 Gigabit Ethernet usando un cavo in rame Shilded Twisted Pair (STP)

519

Virtual LANs
Implicit in the Switching LAN concept is the virtual

networking whereby workgroups are created on demand from a central location for special projects or projects that require restricted access (softwarecontrolled switching)
Virtual LANs allows to group workstations

connected to different hubs throughout the enterprise in workgroups, regardless of their geographical location and the physical LAN infrastructure

520

Virtual LANs (i)

521

Virtual LANs (ii)


The switching software is not protocol-,

media-, or hardware-dependent The bandwidth problem can be controlled by restricting the use of network segments by workgroups This approach provides security, since packets--broadcast and multicast--will only be seen by authorized users within a workgroup

522

Gigabit Ethernet
Based on the Ethernet technology furnish 1Gb

bandwidth on existing network trunk Over 85% of all installed network are Ethernet: hubs and switches are reliable and cost-effective Employs CSMA/CD protocol for multiplexing multiple customers onto the transmission medium and for managing the inherent collisions The migration affect only the Switch engines and the NIC on the user side

523

Gigabit Ethernet (i)


Supports
new full-duplex operating modes for Switch-toSwitch and Switch-to-endstation connections half-duplex operating modes for shared connections using repeaters and the CSMA/CD access method

Operates over:
Optical Fiber (IEEE802.3z) Category 5 UTP (IEEE802.3ab)

524

Gigabit Ethernet (ii)

525

Gigabit Ethernet

See as reference: http://www.gigabit-ethernet.org


526

Test case 1

527

Test case 2

528

Lo standard IEEE 802.4 Token Bus


Nel gruppo di lavoro 802.4 ci si I bridge MAC hanno consentito

proposto lobiettivo di coordinare il lavoro di standardizzazione di IEEE ed ISO per una rete a bus con modalit trasmissiva broadband Lo standard basato sul Manufacture Automation Protocol (MAP) versione 3 Non ha avuto particolare fortuna a causa dei costi implementativi e per la fortuna delle reti in banda base facenti uso di repeater e fibra ottica

di risolvere il problema del traffico sulla rete consentendo di realizzare la divisione fisica della rete Per la tecnologia broadband sono disponibili pochi prodotti hardware e software, la qual cosa ingenera degli elevati costi C scarso interesse applicativo su questa tecnologia Pu riservare un interesse futuro come tecnologia da affiancare alluso di fibre ottiche

529

Lo standard IEEE 802.5 Token Ring


Diversi standard: IEEE 802.5 ECMA IBM Esistono diverse implementazioni Per evitare che una

che prevedono luso del doppino schermato (IBM) e non, luso di fibre ottiche. Descrive una modalit trasmissiva a token in cui la connesione delle stazioni avviene con dei collegamenti punto-punto tra le stazioni, formando un anello chiuso Presso ogni nodo della tratta punto punto viene rigenerato il segnale elettrico ed esaminato il contenuto della trama

connessione guasta blocchi la rete, la interconnessione delle stazioni avviene mediante un Medium Access Unit (MAU) IBM ha introdotto da poco una nuova versione di protocollo denominata early token passing per ottimizzare luso della banda disponibile in anelli particolarmente grandi e con un carico di esercizio costituito da pacchetti piccoli.

530

Lo standard IEEE 802.6 Metropolitan Area Network


Lo standard IEEE 802.6 C stato La MAN di base definita dallo

rilasciato di recente dallIEEE (inizio progetto 1982, pubblicato nel 1991) ed il primo che nasce per rispondere ad unesigenza, piuttosto che standardizzare una situazione esistente Lesigenza principale stata quella di estendere i servizi della Local Area Network in unestensione metropolitana Sono stati considerati vari tipi di interconnessione, quali link via satellite, cavo televisivo, radio broadcast ed infine Distributed Queue Dual Bus (DQDS) che ne divenuto lo standard (IEEE802.6)

standard consiste in 512 nodi, 160Km, 150Mbps dual bus network, ma ciascuno di questi parametri pu essere considerevolmente esteso Lo standard pu essere usato come rete privata o pubblica, utilizzando come supporto la fibra ottica resa disponibile dalla compagnia telefonica Le compagnie telefoniche hanno partecipato attivamente alla definizione del progetto 802.6 MAN e dellemergente Switched Multi-megabit Data Service (SMDS)

531

Lo standard IEEE 802.6 Distributed Queue Dual Bus (DQDB)

Lo standard ha ricevuto largo

consenso in US, Inghilterra, Germanis e Italia (rifiutato dalla Francia) Le applicazioni iniziali sono costituite da interconnessione di LAN, ma lunico ad essere stato riconosciuto dal CCITT ed ad essere ustilizzato su reti pubbliche Sviluppi successivi riguardano applicazioni orientate a connessioni permanenti e servizi isocroni (es. voce digitalizzata) E lunico standard IEEE o ANSI concepito dallinizio per fornire servizi di rete ad alta velocit e a traffico fortemente vincolato da limiti temporali (voce digitalizzata per applicazioni di fonia-dati)

E compatibile con le tecnologie

Switched Multi-megabit Data Service (SMDS) e Broadband ISDN (B-ISDN), il che assicura un ruolo di importante a SMDS nei sistemi di comunicazione di voce e dati del futuro. Lo sviluppo di servizi MAN risulta fondamentale per tutte le applicazioni che necessitano di elevate prestazioni in termini di velocit ed alta qualit ed affidabilit.

532

Lo standard IEEE 802.6 - DQDB


Il metodo di accesso si basa su di

un algoritmo distribuito di del doppio bus prendono il nome accodamento delle richieste di di head-of-bus trasmissione, detto anche coda Essi sono il punto di generazione distribuita. del flusso di dati per un bus La stazione che trasmette accoda (start of data flow) ed il punto di la richiesta che verr servita terminazione di un flusso di dati quando saranno terminate le per laltro bus (end of data flow) richieste precedenti Una sottorete DQDB pu essere la coda unica per tutte l estazioni configurata con due topologie ed gestita in modo distribuito. Open bus si tratta di un doppio bus con le estremit Una sottorete DQDB realizzata aperte. In caso di guasto la mediante due bus seriali che sottorete si divide in due trasmettono dati in direzioni sottoreti che rimangono opposte isolate Sui duebus i nodi vengono Looped bus: si tratta di un connessi tramite le Access Unit che doppio bus richiuso ad anello che offre buone realizzano il protocollo DQDB
caratteristiche di tolleranza ai guasti 533

I nodi che si trovano agli estremi

Altri standard del gruppo 802


IEEE 802.9 Integrated Voice & Data LAN IEEE 802.10 Interoperable LAN Security IEEE 802.11 Wireless Local Area Network

534

Reti wireless
In questi ultimi anni si

osservato un enorme sviluppo delle tecnologie wireless I vantaggi di questa tecnologia sono evidenti:
Non serve pi effettuare lavori di adeguamenti strutturali per il cablaggio: molto importante in edifici di interesse storico-artistico Favoriscono la mobilit degli utenti, consentendo laccesso ai servizi di rete ovunque Realizzazione di reti temporanee

Servizi di roaming: mantenimento del collegamento anche spostandosi fisicamente Scalabilit Gestione immediata di unutenza variabile Estensione di LAN cablate

La maggioranza dei

dispositivi mobili (notebook, PDA, Smartphone) sono in grado di scambiare informazioni in rete wireless Possibilit di implementare la sicurezza a livelli molto elevati (certificati X.509).

535

Reti wireless (i)

536

Sovrapposizione di due celle e roaming

537

Reti wireless: dispositivi


Access Point (AP) La rete wireless si basa su una serie di Access Point che mediante antenne comunicano con i client e tra loro. Spesso gli AP sono collegati ad uno Switch mediante cavo UTP per ottimizzare le prestazioni A seconda delle caratteristiche dellAP e dellambiente la potenza varia tra 20m e 300m Gli AP devono essere disposti in modo tale da poter coprire uniformemente larea della Wireless LAN, mediante sovrapposizione (10-15%) con lAP adiacente. Quando lutente si sposta viene mantenuta la connessione passando da un AP allaltro

NIC I client della rete wireless devono essere dotati di specifico dispositivo che sia in grado di trasmettere e ricevere segnali dallAccess Point Esistono diversi tipi di NIC, dalle schede PCMCIA ai dispositive USB.

Access Point

Antenne

NIC wireless
538

Reti wireless: tecnologie Powerline e Ottica


Powerline Usa i fili elettrici all'interno di un edificio per trasmetter il segnale. In assenza di interruzioni (trasformatori) nella rete elettrica possibile stabilire un link di comunicazione tra chiamante e ricevente mediante onde convogliate. A causa del grande rumore presente sui fili e del tipo di mezzo usato per trasmetter la corrente, la velocit di trasmissione limitata. Ha il pregio di essere una tecnologia economica.

Ottica

Usa la tecnologia

dell'Infrarosso per trasmettere l'informazione.

In una wireless LAN a raggi infrarossi ogni stazione equipaggiata con un transceiver dotato per la trasmissione di un LED che emette luce a raggi infrarossi e, per la ricezione, di un fotodiodo, operanti alla medesima lunghezza d'onda. Si hanno tre metodi di radiazione degli IR per l'interscambio di dati tra stazioni: punto-punto, semidiffusione e diffusione totale.
539

Reti wireless: tecnologia ottica


Nella modalit punto-punto, due transceiver devono essere perfettamente allineati per potersi illuminare reciprocamente con un fascio di luce IR. Lo scambio di dati tra le stazioni avviene modulando il fascio di infrarossi. Questa tecnica va bene per la realizzazione di LAN di tipo Token Ring, realizzando l'anello fisico mediante una sequenza circolare di link punto-punto. Con trasmissione laser-IR unidirezionale si possono coprire distanze anche di alcuni Km. Nella modalit di radiazione per semi-diffusione, il segnale ottico emesso da una stazione viene captato da tutte le altre, realizzando cos delle connessioni puntomultipunto o broadcast. Si sfrutta una superficie riflettente sulla quale vanno a collimare i fasci IR provenienti dai transceiver di tutte le stazioni: con questa configurazione, per il principio di diffusione della radiazione luminosa, il raggio proveniente da una stazione verr riflesso verso tutte le altre rendendo cos possibile una comunicazione di tipo broadcast.
540

Reti wireless: tecnologia ottica


Nella radiazione per diffusione toLa superficie riflettente pu essere tale, la potenza ottica emessa da passiva, di solito il soffitto della un transceiver deve essere tale da stanza ove ha sede la LAN, consentire al raggio di diffondersi oppure attiva, cio realizzata per tutto il volume della stanza domediante un dispositivo, detto po una serie di riflessioni multiple satellite, che serve ad amplificare sui muri. Questo segnale verr cae rigenerare il segnale ottico prima ptato da qualunque altra stazione di effettuarne il broadcast (funzioall'interno dello stesso spazio, na praticamente come un senza la necessit di alcun partirepeater). La diffusione passiva colare orientamento di quest'ultirichiede pi potenza nei ma. La presenza di riflessioni transceiver delle stazioni, ma limita la massima velocit di trasconsente una pi facile missione a causa dell'interferenza installazione della rete dal dovuta al fenomeno del multipath momento che non occorre il (per cui un segnale pu essere ricevuto posizionamento del satellite. attraverso pi cammini caratterizzati da differenti ritardi). 541

Radiofrequenza (RF)
L'utilizzo delle radiofrequenze ostacolato dal fatto che la complessit dei radio-transceiver cresce con il crescere della frequenza di trasmissione, e il costo in generale pi elevato del corrispettivo IR, anche se pu essere in parte abbattuto sfruttando la componentistica ad alta diffusione (ad esempio la telefonia cellulare). Uno dei vantaggi di questa tecnologia risiede nella possibilit di coprire aree estese, che superano i limiti di un singolo ambiente. Con una trasmissione a bassa potenza (<1W) si possono coprire distanze di circa 1 Km all'aperto e 50-100 m al chiuso, a seconda del numero di pareti da attraversare. Un ulteriore vantaggio della trasmissione RF consiste nella possibilit di permettere la compresenza di pi network isolate, mediante la variazione della frequenza della portante trasmissiva. La scelta delle frequenze e della modalit di trasmissione strettamente legata alle esigenze di progetto e alla regolamentazione presente nei diversi Paesi.
542

Modulazione Spread Spectrum (SS)


La tecnica di modulazione Spread Spectrum nata alla fine della Seconda Guerra Mondiale per scopi militari: serviva per prevenire l'interferenza durante il controllo di armi telecomandate. Consiste nel distribuire l'energia di un segnale a banda limitata su di una banda molto pi ampia al fine di abbassarne notevolmente la densit spettrale di energia. L'idea quella di ottenere un segnale con un livello energetico al di sotto di quello del rumore ambientale, che, come noto, costante e a banda pressoch illimitata, per renderlo non intercettabile. In ambito civile lo scopo quello di minimizzare le interferenze che inevitabilmente si hanno tra pi segnali che condividono la stessa banda. Esistono due tecniche per ottenere un segnale Spread Spectrum da uno a banda limitata: Direct Sequence Spread Spectrum (DSSS) Frequency Hopping Spread Spectrum (FHSS)
543

Direct Sequence Spread Spectrum


il segnale trasmesso modulato con una sequenza pseudo-casuale binaria (chipping sequence). Per trasmettere un 1 si invia la sequenza di chipping affermata, per trasmettere uno zero la sequenza negata. La velocit relativa tra frequenza pseudo-casuale e trasmissione (cio la lunghezza della sequenza di chipping) , nel caso commerciale, compresa tra 10 e 100, mentre in quello militare tra 1000 e 10000. Il ricevitore per ricostruire l'informazione esegue l'EXOR tra segnale e sequenza pseudo-casuale: se sono in fase, il risultato il segnale trasmesso. Mediante tale tecnica si trasmette ancora con una singola portante a frequenza fissa, come nelle trasmissioni tradizionali, ma, grazie alla sequenza di cipher e allo schema di modulazione usato, la potenza del segnale si distribuisce su uno spettro pi ampio.

Esempio trasmissione DSSS


544

Frequency Hopping Spread Spectrum


tutta la banda disponibile divisa in un insieme di canali di uguale larghezza. La trasmissione avviene per un certo periodo di tempo (dwell time) su un canale poi passa su un altro seguendo una precisa sequenza (hopping sequence). Tale sequenza pu essere predeterminata o trasmessa essa stessa insieme ai dati, comunque deve essere tale da garantire un ugual uso di tutti i canali di trasmissione. Quando il dwell time minore del tempo di bit si parla di fast- frequency hopping, mentre quando il dwell time (molto) maggiore del tempo di bit di parla di slow-frequency hopping. I sistemi basati sul primo tipo sono pi costosi e ad alto consumo, ma, dal momento che ogni bit di dato viene trasmesso su molti canali, offrono il vantaggio di una maggiore tolleranza alla distorsione selettiva in frequenza. Lo slowfrequency hopping, invece, permette una maggiore facilit nel sincronismo dell'hop.

Esempio di Trasmissione FHSS


545

Lo standard IEEE 802.11


Il gruppo di lavoro dellIEEE 802.11 si occupa della

standardizzazione del sottolivello MAC e fisico delle reti wireless (Wireless LAN, WLAN). E suddiviso nei sottogruppi
LLC MAC PHY

Un singolo MAC supporta diversi livelli PHY, anche se

questi fanno uso di tecnologie diverse.

546

IEEE 802.11
Lentit fondamentale di una rete wireless chiamata

Basic Service Set (BSS), definita come un insieme di stazioni, fisse o mobili, collocate geograficamente allinterno di una cella che possono stabilire connessioni dirette (Independent BSS) o con lausilio di strutture intermedie (Infrastructure Network BSS). Nel secondo caso (rete con infrastruttura) coinvolto un Access Point (AP), un dispositivo che fa comunicare le stazioni allinterno di una stessa cella. Normalmente una WLAN costituita da pi celle. Linfrastruttura di interconnessione tra i diversi BSS denominata Distribution System (DS), indipendente dallarchitettura della rete.
547

IEEE 802.11
Il wireless MAC supporta sia servizi connectionless da 1 a

54Mbps, sia servizi di tipo sincrono (per controllo di processi, voce, video) Interfacce fisiche:
InfraRed PHY lavora in banda base Radiofrequenza DSSS PHY (DirectSequence Spread Spectrum) Radiofrequenza FHSS PHY (Frequency Hopping Spread Spectrum) Frequenze: 2.4 Ghz (ISM : Industrial Scientific Medical frequency band) 5 GHz Velocit: Fino a 11Mbps (IEEE 802.11b) Fino a 54 Mbps (IEEE 802.11g) Metodo di Accesso: CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) Le collisioni vengono evitate invece che evidenziate (IEEE 802.3)
548

CSMA/CA
Una qualunque stazione che vuole trasmettere per prima

cosa verifica se un'altra stazione sta trasmettendo (Carrier Sense), e se riconosce la presenza di trasmissioni si mette in attesa. Quando il mezzo si libera attende che rimanga tale per un intervallo di tempo minimo (Distributed InterFrame Space: DIFS), dopo di che inizia una fase di contesa per l'utilizzo del mezzo (contention window): la stazione sceglie un intervallo casuale (backoff) al termine del quale, se il mezzo ancora libero, inizia la trasmissione. L'intervallo di backoff serve a ridurre la probabilit di collisione quando, alla fine di una trasmissione, ci sono molte stazioni in attesa che il mezzo si liberi.
549

CSMA/CA
L'intervallo di backoff scelto tenendo conto di un parametro che oscilla tra un valore massimo ed uno minimo, raddoppiando ogni volta che si deve ripetere la trasmissione di un frame. In questo modo si allunga la finestra di contesa riducendo la probabilit di collisione nel caso di carico elevato della rete. Quando una stazione, in attesa che termini l'intervallo di backoff, sente che il mezzo non pi libero, congela il tempo di backoff rimasto. Quando poi rileva il mezzo libero per un tempo pari ad un DIFS, non sceglie un nuovo intervallo di attesa, ma termina il precedente. In questo modo si cerca di evitare la "starvation". Comunque, il mecccanismo di backoff non esclude la possibilit di trasmissio- ni contemporanee, e quindi di collisioni. Per realizzare la "collision avoidance" lo standard prevede un protocollo Request To Send (RTS) - Clear To Send (CTS). Quando una stazione trova libero il mezzo allo scadere del tempo di backoff, non invia subito il dato, bens un frame di RTS. Se riceve dal destinatario un frame di risposta
550

CSMA/CA
L'intervallo di backoff scelto tenendo conto di un parametro che oscilla tra un valore massimo ed uno minimo, raddoppiando ogni volta che si deve ripetere la trasmissione di un frame. In questo modo si allunga la finestra di contesa riducendo la probabilit di collisione nel caso di carico elevato della rete. Quando una stazione, in attesa che termini l'intervallo di backoff, sente che il mezzo non pi libero, congela il tempo di backoff rimasto. Quando poi rileva il mezzo libero per un tempo pari ad un DIFS, non sceglie un nuovo intervallo di attesa, ma termina il precedente. In questo modo si cerca di evitare la "starvation". Il mecccanismo di backoff non esclude la possibilit di trasmissioni contemporanee, e quindi di collisioni. Per realizzare la "collision avoidance" lo standard prevede un protocollo Request To Send (RTS) Clear To Send (CTS). Quando una stazione trova libero il mezzo allo scadere del tempo di backoff, non invia subito il dato, bens un frame di RTS. Se riceve dal destinatario un frame di risposta CTS, allora procede all'invio del messaggio, altrimenti suppone che si sia verificata una collisione e si mette in attesa per riprovare.
551

Lo standard IEEE 802.11b


Noto anche come High Rate Wireless Ethernet o Wi-FI Offre prestazioni analoghe alla Ethernet tradizionale: 11Mbps Opera alla frequenza di 2.4GHz E il pi popolare standard per reti Wireless, facile da configurare e flessibile, che assimila la WLAN ad una rete Ethernet tradizionale (al sottolivello LLC) Interoperabilit dei dispositivi garantita da Wireless Ethernet Compatibility Alliance (WECA) Grazie alla diffusione del protocollo e alla interoperabilit dei dispositivi si giunti in breve tempo ad una positiva competizione che ha reso disponibili i dispositivi a costi sempre pi ottimizzati Responsabile della enorme diffusione che ha avuto in questi ultimi anni il Wireless, sia come offerta commerciale (Aereoporti, stazioni, hotel, conference room, etc) che come enti pubblici (scuole, universit, comuni e PA, etc)

552

Altri standard IEEE 802.11


IEEE 802.11a: uno standard che definisce una banda

trasmissiva fino a 54Mbps e 8 canali trasmissivi non sovrapponibili. La frequenza di 5GHz. La sua grossa limitazione la completa incompatibilit con gli apparati IEEE 802.11b, che ne ha largamente limitato la diffusione. Unaltra barriera alla sua diffusione stata la mancata adozione in molti paesi dello standard e la mancanza della certificazione di interoperabilit dei dispositivi di diversi produttori. IEEE 802.11c: stato sospeso ed confluito nellIEEE802.11d IEEE 802.11d: si occupa della definizione di un livello fisico che possa operare in qualsiasi paese. IEEE 802.11e: si occupa del QoS in ambiente IEEE 802.11. Il gruppo sta modificando il sottolivello MAC per gestire propriet multimediali. I risultati pervaderanno tutti gli standard del gruppo IEEE 802.11 e consentir luso di apparati multimediali con tecnologia wireless.
553

IEEE 802.11g
E lo standard che sancisce la nuova generazione del

Wireless, garantendo piena interoperabilit con lo standard IEEE 802.11b. Offre una banda trasmissiva di 54Mbps ed opera alla frequenza di 2.4GHz (ISM: Industrial Scientific Medical frequency band). Portata del segnale: 300m in condizioni ideali, 45m allinterno di strutture, 90m allesterno La migrazione a IEEE 802.11g diventa economicamente interessante anche per le aziende e le organizzazioni perch la compatibilit con IEEE 802.11b rende tale processo personalizzabile al massimo.
554