RetiComputer I
RetiComputer I
Reti di Computer
Cristian Dittamo Osvaldo Gervasi
[email protected]
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)
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)
datagram IP, il quale diviso in area di intestazione e campo di controllo dellheader, ed il blocco dei dati.
header
data
IP v4 Header
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
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)
10
Classi di indirizzi IP
0 Classe A: con x < 128 10 Classe B: 110 Classe C: Classe D: Classe E rete
con 128 <= x <= 191 con 192<= x <= 223 con x > 223 con x > 240
multicast
1110 11110
(riservata per usi futuri)
11
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
alla rete hanno pi indirizzi IP: uno per ogni connessione alla rete
12
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)
14
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
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
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
18
(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
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
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
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
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
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
36
37
Configurazione NT workstation
38
39
40
41
Configurazione Linux
netcfg
42
43
44
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
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
Routing algorithms
Gli algoritmi di routing devono possedere uno
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.
51
Routing algorithms
Gli algoritmi di routing vengono classificati in
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
di destinazione sulla rete locale, i dati spediti allhost di destinazione; di destinazione su una rete remota, i dati mandati al gateway locale.
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).
55
dove:
destinazione
Flags
Destination Gateway
= 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:
di routing predefinite e costanti. Pu essere sufficiente in configurazioni ove la topologia molto semplice (rete connessa in un solo modo al backbone)
dinamico:
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
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
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
INTERNET
OSPF, RIP, IBGP
AS 1274
Sessione BGP
OSPF, RIP, IBGP
Sessione BGP
AS 6664
AS 9209
63
EGP
EGP
Exterior Gateway Protocol
BGP
Border Gateway
OSPF
Protocol
IS-IS
CIDR
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
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
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
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
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
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
82
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
Subnets
Subnet Masks
255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0
85
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
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
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
di routing apprese tramite RIP o da propagare allesterno, in modo da alterarne volutamente leffetto:
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 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
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
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
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
105
Notification Keep-alive
106
identificativo BGP del mittente (IP address), identico per tutti i peer BGP
107
Path Attribute
108
Indica il tipo di errore: Message Header Error, Open Message Error, Update Message Error, Holt Time Expired, Finite State Machine Error, Cease
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
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
Established,
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
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
115
116
(continua)
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
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
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
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
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
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
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);
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
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
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
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
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 -
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
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
192.168.130.1 192.168.130.1
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
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
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
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
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
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
differenza di un indirizzo email non compare il carattere @, che viene sostituito dal punto. Se [email protected] 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
secondary server prima di controllare il SOA sul primary server. Generalmente un giorno (86400 secondi)
153
154
DNS NS
NS (Name Server): identifica il nome del server che ha lautorit per
il dominio. Formato:
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:
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, 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.
DNS CNAME
CNAME (Canonical NAME): definisce un alias per il nome di un host
Formato:
158
DNS PTR
PTR (domain name PoinTR): permette di associare
indirizzi IP ad un nome di host.
Formato:
name, numero che identifica n-esimo indirizzo IP host, nome completo del host
159
named [-c -d -p -n -t -u ]
-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
/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
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
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
ethers.byaddr e ethers.byname
167
NIS
/etc/hosts, ascii file che associa un indirizzo IP ad un nome
=>
hosts.byname e hosts.byaddr
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
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
ypserv
ypbind
NIS Slave Server domain name nisdomain Client C domain name nisdomain
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).
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
mount
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
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
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/
186
SNMP
Authentication: per proteggere contro modifiche delle
Privacy: per garantire la riservatezza delle informazioni; Nuovi strumenti di controllo, inclusi strumenti grafici per la
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
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
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.
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
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.
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
(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
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
206
DHCP
Configurazione di un server DHCP 1. Installazione del software
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
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 )
Transmission Unit )
host )
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
211
DHCP
Esistono diverse implementazioni di DHCP sotto
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
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
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
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@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
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 ([email protected]) 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 [email protected] 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: [email protected] # 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: [email protected],[email protected] netman: [email protected], [email protected] cert: [email protected], [email protected] abuse: [email protected],[email protected]
/etc/aliases
# ADMIN help: [email protected] support: [email protected] info: [email protected] staff: [email protected], [email protected], [email protected], [email protected], [email protected]
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:
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
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
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.
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)
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
237
MIME
Tipo Sottotipo Ref.
Text
Image
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
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
241
SMTP
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.
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
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]
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.
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:<[email protected]>: R: 250 OK S: RCPT TO:<[email protected]>: R: 250 OK S: RCPT TO:<[email protected]>: R: 550 No such user here S: R: S: R: S: S: S: R:
RCPT TO:<[email protected]>: 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:<[email protected]>: : 250 OK RCPT TO:<[email protected]>: 250 OK RCPT TO:<[email protected]>: 251 User not local; will forward to <[email protected]> S: RCPT TO:<[email protected]>: R: 551 User not local; please try <[email protected]> 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 <[email protected]>
S: VRFY Jones R: 550 String does not match anything. S: VRFY Jones : R: 551 User not local; please try <[email protected]> S: VRFY Gourzenkyinplatz R: 553 User ambigous.
251
SMTP
S: EXPN Example-People R: 250-Jon Postel <[email protected]> R: 250-Fred Fonebone <[email protected]> R: 250-Sam Q. Smith <[email protected]> R: 250-Quincy Smith <@USC-ISIF.ARPA:[email protected]> R: 250-<[email protected]> R: 250 <[email protected]> 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:[email protected]> 250 ok DATA 354 send the mail data, end with . Date: 23 Oct 81 11:22:33 From: [email protected] To: [email protected] Subject: Mail System Problem
Undeliverable mail notification message
Sorry JOE, your message to [email protected] 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:[email protected]> 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: [email protected] Subject: Improved Mailing System Installed To: [email protected] 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
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.
257
POP3
Le risposte sono caratterizzate da indicatori di stato e da
Ci sono due indicatori: positivo ("+OK") e negativo ("-ERR"). La sessione attraversa diversi stadi: dopo il messaggio di benvenuto, la sessione entra nella fase
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:
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.
mailbox ed alle news di server centrali, da parte di PC e stazioni mobili. pi client accedono al server per la stessa mailbox.
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
IMAP
IMAP associa ai messaggi dei System flag, che ne definiscono
alcuni attributi:
Message has been read Message is "flagged" for urgent/special attention Message is "deleted" for removal by later EXPUNGE
\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 "<[email protected]>")) 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 <[email protected]> S: To: [email protected] S: Subject: INFO-MAC Mail Message S: Message-ID: <[email protected]> S: ReSent-Date: Thu, 9 Jun 88 12:55:43 PDT S: ReSent-From: TC Rindfleisch <[email protected]> S: ReSent-To: [email protected], [email protected] S: ReSent-Message-ID: <[email protected]> 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
273
a priori la segretezza dei messaggi di posta elettronica consentono di fornire questa possibilit esportare algoritmi di crittografazione stanno progressivamente venendo meno
274
275
Requisiti essenziali
Accesso al server: Firewall Autenticazione (Server <=> Browser) Confidenzialit (Encryption) Integrit (Checksum, codici di autenticazione dei
messaggi)
Non ripudiabilit (firma elettronica)
276
277
Encryption technology
Private key encryption (DES)
Stessa chiave per encryption e decryption Entrambi i partner devono conoscere la chiave
279
280
281
282
(digital
283
Sommario
284
PGP
Pretty Good Privacy (public key encryption for the
masses) http://www.pgp.com
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
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,
protetta
Per scambiare posta cifrata occorre
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
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
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
290
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:
291
Sommario
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
299
Messaggio in comp.parallel
300
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
:^) 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
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
315
316
Sommario
HTTP (Hyper Text Transfer Protocol) Linguaggio Java e il web Commercio elettronico Secure Web
317
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
320
Il protocollo HTTP
LHyperText Transfer Protocol (HTTP) un protocollo a
HTTP utilizzato dal World Wide Web dal 1990. La versione HTTP/0.9 stato un semplice protocollo
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
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:
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
325
HTTP: requisiti
Il protocollo usa 3 parole per definire il significato di
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
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
331
Appendice
332
Pagine Web
interazione browser - web server
Browser web richiede una pagina al web server inviandogli
1 - HTTP request
Web server
HTML file
internet
1
Osvaldo Gervasi
[email protected]
2 - HTTP response
preleva il file dal disco locale e lo invia verso il browser tramite HTTP Response
334
335
335
1 - HTTP request
Web server
Application server
internet
1
Osvaldo Gervasi
[email protected]
2 - HTTP response
Applicazione Web
337
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
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
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
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
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
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
1 - HTTP request
3
Application server mod_cgi Avvia esecuzione prova.cgi e ne restituisce risultato
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
Nessuna compilazione, ma occorre aggiungere mod_php al Server Web perch il codice PHP venga interpretato 344
1 - HTTP request
3
Application server mod_php Interpreta lo script in prova.php e ne restituisce risultato
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
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
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
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
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
Massimizzare i profitti
Massimizzare la sicurezza
Minimizzare i costi
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
Firewall
369
Sicurezza (1/5)
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
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
Firewall
375
Attacco
Definizione
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
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
Strutturale (lerrore nasce quando si integrano i componenti che costituiscono il sistema complessivo)
Es. affidabilit, prestazioni, controlli
379
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.
380
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
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
per ogni attacco necessario determinare chi ha interesse ad eseguire lattacco; correlato con limpatto dellattacco chi dispone delle risorse necessarie per lattacco
385
Contromisure
Per ogni vulnerabilit esiste almeno una contromisura in
grado di eliminarla
La
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
387
CERT (www.cert.org)
Lorganismo che vigila in rete, creato dalla Cornegie
388
Sommario
La
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
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
scorretti
392
SPAM
Lunica difesa dallo SPAM si ha usando dei mail user
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
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
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
396
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
programmi esterni
397
rete in chiaro, pertanto si presta a violazioni di dati sensibili (login, password, dati sensibili in generale)
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.
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
403
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
risevatezza (privacy) delle informazioni scambiate con i web browser per esempio in autenticazione di un utente in un sito di home-banking
405
406
authority (CA)
407
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
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
410
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
Sommario
La
Firewall
414
Firewall
Un firewall un sistema, nel senso pi ampio
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
virus screening, Java and ActiveX stripping, URL screening, Mail support, HTTP filtering, FTP support)
Politica di sicurezza unica, che pu essere distribuita
417
Firewall
rules
Internet users
Site servers
418
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
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
INTERNET
Router Firewall
L A
Untrusted zone
Trusted zone N
420
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
configurazione delle regole, pi che per complessi attacchi possibile ambienti diversi (amministrazione da ricerca, etc)
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
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
INPUT
Packet filtering
1. Di ogni pacchetto ricevuto da una interfaccia di rete
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
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
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
metodi di analisi (come le reti neuronali) per operare inferenze ed analizzare accuratamente anomalie nellattivit dei sistemi, nella modificazione di alcuni files, etc
437
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
439
storici
computer
modem
modem
batch terminal
440
modem
terminal e terminal e
441
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
eterogenee Uso di router multiprotocollo e adozione nella WAN di una stessa politica di routing
442
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
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
444
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
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
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
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
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
e di applicazione:
programma che elabora i dati ed eroga servizi
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
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
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
457
Physical layer
Il physical link corrisponde agli
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
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
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.
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-
462
Session layer
I servizi che questo Fornisce le regole per attivare
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
464
Application layer
Questo livello comprende tutti i
(switch liv.7)
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)
differire molto a seconda del tipo di rete nella quale vengono istallati e del protocollo di rete utilizzato
465
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.
466
Application Presentation Session Session Transport Network Network Data Link Physical Physical
467
468
Network
Application
controller
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
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)
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
Cavo STP:
Cavo UTP:
475
Cavo coassiale
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:
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
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
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
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
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
483
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
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
485
(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
computer alla volta di trasmettere in rete? (banda base) Laccesso alla rete pu essere fornito in modo
casuale deterministico In un metodo di accesso
Metodo di accesso
Deterministico
Non deterministico
token ring
token bus
488
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
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
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
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
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
494
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
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
dellanello logico
iniziazione dellanello logico rigenerazione del token Tra i nodi i messaggi sono
496
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
497
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
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.
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 |
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
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
504
(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
(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
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
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
(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
(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
(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
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
IEEE 802.3
7 1 2o6
2o6
4
CRC
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
bassissimi, ottenendo una maggiore flessibilit nella configurazione e nella gestione degli apparati di rete.
517
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
521
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
Operates over:
Optical Fiber (IEEE802.3z) Category 5 UTP (IEEE802.3ab)
524
525
Gigabit Ethernet
Test case 1
527
Test case 2
528
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
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
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
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)
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
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
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
536
537
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
Ottica
Usa la tecnologia
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
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
standardizzazione del sottolivello MAC e fisico delle reti wireless (Wireless LAN, WLAN). E suddiviso nei sottogruppi
LLC MAC PHY
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
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