La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a.

Presentazioni simili


Presentazione sul tema: "Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a."— Transcript della presentazione:

1 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 1 a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 1 Livello Applicazione prof. G. Russo (grusso@unina.it) ing. A. Violetta (violetta@unina.it)©2008

2 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 2 Programma Contenuti Livello Applicazione - Applicazioni di Rete:  Domain Name Server (DNS)  Simple Mail Transfer Protocol (SMTP)  Simple Network Management Protocol (SNMP)  la posta elettronica  telnet  file transfer protocol (FTP)  trivial file transfer protocol (TFTP) a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 2

3 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 3 Gli indirizzi IP sono difficili da ricordare: vanno bene per la comunicazione tra le macchine modello centralizzato modello centralizzato: agli albori di Internet l’associazione tra indirizzo IP e nomi delle macchine era registrata nel file HOSTS.TXT mantenuto presso SRI-NIC (Arpanet) (che veniva scaricato con FTP da tutti gli host [RFC-952, RFC- 953]) § traffico e sovraccarico del server centrale § collisioni dei nomi § consistenza dei dati gestiti centralmente modello distribuito Domain Name System modello distribuito: all’inizio degli anni ‘80, l’aumento del numero degli host ha reso indispensabile l’adozione di un modello di gestione distribuita denominato Domain Name System (il sistema dei nomi di dominio) Indirizzi IP - Storia

4 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 4 Domain Name System hostnome www.netbsd.orgindirizzo IP110.111.112.113 Quando si fa riferimento a un host è decisamente più comodo utilizzare un nome del tipo www.netbsd.org che un indirizzo IP numerico quale 110.111.112.113. Al livello di comunicazione più basso, però, non vengono usati i nomi bensì gli indirizzi in forma numerica. Appare quindi evidente l'esigenza di un servizio di traduzione dei nomi in indirizzi numerici e viceversa. DNSDNS Il DNS, Domain Name System, è precisamente questo ed anche di più.

5 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 5 Domain Name System Sono necessari:  un metodo per associare al nome simbolico di una macchina l’indirizzo (o gli indirizzi) IP: risoluzione diretta  un metodo per associare ad un indirizzo IP il nome simbolico della macchina: risoluzione inversa www.iac.cnr.it150.146.2.21 diretta inversa

6 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 6 Domain Name System Il DNS permette ad ogni organizzazione che ha accesso ad Internet di: amministrare  amministrare la relazione tra nomi ed indirizzi del proprio dominio in maniera autonoma ed indipendente risolvere  risolvere i nomi fuori del proprio dominio accedendo alle informazioni gestite da altre organizzazioni

7 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 7 database gerarchico e distribuito basato su modello client/server Si tratta di un database gerarchico e distribuito basato su modello client/server:  gerarchico significa che lo spazio dei nomi degli host non è "piatto" ma che esiste una gerarchia di nomi. Ciò rende possibile l'esistenza di due host con lo stesso nome purché appartengano a domini diversi; se così non fosse, potrebbe esserci un solo host di nome www collegato a Internet mentre, con una struttura gerarchica, www.netbsd.org e www.mydomain.org sono due host diversi.  Distribuito significa che il database DNS non è concentrato tutto in un punto (ossia non esiste un host che conosce i nomi e gli indirizzi di tutti gli altri host) ma è "spezzettato": ogni server possiede le informazioni relative al proprio dominio. Pertanto, per poter svolgere il loro compito è necessario che i server possano mettersi in contatto tra loro per scambiarsi informazioni. Domain Name System

8 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 8 Domain Name System Tre componenti principali: R R  spazio dei nomi e informazioni associate RR, Resource Record  nameserver (application server che mantiene i dati)  resolver (client per l’interrogazione del nameserver) Accesso veloce ai dati Accesso veloce ai dati (database in memoria centrale e meccanismo di caching)

9 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 9 Domain Name System Lo spazio dei nomi è organizzato secondo un modello gerarchico:  il database del DNS ha una struttura logica “ad albero rovesciato”  ciascun nodo dell’albero rappresenta un dominio  ogni dominio può essere suddiviso in altri domini: sottodomini  ogni nodo ha una etichetta che lo identifica rispetto al padre La radice dell'albero è unica, e la sua etichetta è vuota. In certi casi si indica anche come “.”

10 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 10 DNS Il nome DNS denota anche il protocollo che regola il funzionamento del servizio, i programmi che lo implementano, i server su cui questi girano, l'insieme di questi server che cooperano per fornire il servizio. nomi di dominio I nomi DNS, o "nomi di dominio", sono una delle caratteristiche più visibili di Internet. C'è confusione in merito alla definizione dell'acronimo: la S spesso viene interpretata come service, ma la definizione corretta è system. L'operazione di convertire un nome in un indirizzo è detta risoluzione DNS, convertire un indirizzo IP in nome è detto risoluzione inversa. Domain Name System

11 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 11 Domain Name System La struttura dello spazio dei nomi:  domini generali (gTLD, general Top Level Domain) domini nazionali  domini nazionali (ccTLD) domini per la risoluzione inversa  domini per la risoluzione inversa (arpa)

12 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 12 Domain Name System Name Space

13 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 13 domain name Il “domain name” di ogni nodo è composto dalla sequenza delle etichette dal nodo a “ “ (root), separate da “.” (punto). Es: e.c.a, oppure h.g.f.d.b fully-qualified domain name Un nome a dominio assoluto è detto anche “fully-qualified domain name” o FQDN Distributed Information Tree Il ”Distributed Information Tree” (albero dei nomi) definisce una gerarchia dei nomi che rende ogni nome a dominio completamente qualificato univoco in tutto l’albero Domain Name System Name Tree

14 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 14 Domini e zone: differenze  le informazioni sono mantenute nei nameserver  un nameserver mantiene i dati di un sottoinsieme dello spazio dei nomi: la zona  ogni zona può essere un sottodominio completo, cioè comprendere vari domini su una porzione del DIT (Directory Information Tree) non disgiunta  un nameserver può gestire più zone disgiunte  il dominio padre contiene solo puntatori alla sorgente dei dati dei suoi sottodomini  ciascuna zona contiene i nomi a dominio e i dati appartenenti ad certo dominio, esclusi i nomi e i dati dei sottodomini delegati ad altri

15 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 15 Domini e zone: I nameservers  la struttura gerarchica dello spazio dei nomi si riflette nella relazione tra i nameserver  il meccanismo della delega di autorità si basa sui seguenti principi:  ogni nameserver di un dominio, per essere conosciuto nel DNS, deve essere stato registrato dal nameserver del dominio di livello superiore. Questo crea la delega  una volta delegata l'autorità su una zona il nameserver “padre” perde ogni possibilità di modificare le informazioni dei domini contenuti nella zona delegata  i nameserver delegati possono essere più d'uno (è consigliato averne almeno due, in alcuni casi è addirittura obbligatorio), ma uno solo è quello che possiede la vera autorità perché gestisce i files contenenti le informazioni

16 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 16 Il “parenting” ovvero la creazione di sottodomini Quando conviene? Dipende da varie considerazioni:  necessità di definire sottodomini per partizionare uno spazio dei nomi piatto e molto esteso  necessità di distinguere l’affiliazione delle macchine di un dominio  necessità di distribuire la gestione  quanti sottodomini definire?  quando delegarne la gestione?  che nome assegnare ai sottodomini? Attenzione alla corretta gestione del meccanismo della delega per garantire la risoluzione dei nomi per tutto il dominio!!

17 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 17 Il processo di risoluzione Il processo di risoluzione dei nomi a dominio è basato sul modello clientserver:  il nameserver (server) è un processo che ha il compito di fornire “risposte autoritative” ad interrogazioni sui nomi definiti nell’ambito dei domini per cui è autoritativo;  il resolver (client) è invece utilizzato dalle applicazioni che hanno necessità di effettuare una risoluzione di nomi a dominio. Esso è costituito da un insieme di routine di libreria (es. gethostbyname ) che sono in grado di colloquiare con i nameserver, interpretarne le risposte e restituire l’informazione al programma richiedente. E’ possibile configurare il default domain di appartenenza, la lista dei nameserver da interrogare e la search list in un apposito file di configurazione (es. file /etc/resolv.conf su Unix)

18 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 18 Il processo di risoluzione dei nomi  Se il nome desiderato non è nella zona (o nella cache) del NS interrogato, si innesca il processo di risoluzione dei nomi  La richiesta di risoluzione risale il DIT (Directory Information Tree) fino alla radice e lo ridiscende fino ad arrivare ad un NS autoritativo la cui zona contiene il nome in questione e quindi anche i RR (resource record)  La risposta, opportunamente salvata in tutte le cache intermedie, viene infine passata dal resolver all’utente che aveva effettuato la richiesta  2 modalità di risoluzione dei nomi:  ricorsiva (il resolver chiede al nameserver; il nameserver pensa a tutto)  iterativa (il resolver si rivolge direttamente ai vari nameservers della catena)

19 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 19 Il processo di risoluzione dei nomi

20 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 20 Nameserver autoritativi  un nameserver si definisce autoritativo quando è “in possesso dei dati” per una determinata zona dell’albero dei nomi  per un dominio vi possono essere più nameserver autoritativi  per avere una maggiore affidabilità è fortemente consigliato averne più di uno, localizzati in modo da ridurre il rischio di interruzione del servizio DNS  i nameserver autoritativi si dividono in:  primari  secondari

21 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 21 Nameserver autoritativi primari e secondari  Un nameserver si definisce primario quando possiede i file delle informazioni (“file di zona”) e pertanto in ogni zona vi sarà un solo nameserver primario  Un nameserver si definisce secondario quando acquisisce, dal nameserver primario, i dati relativi alla zona mediante una procedura automatica denominata “zone-transfer”  i parametri che regolano il funzionamento della procedura di zone-transfer sono contenuti in uno specifico record del nameserver primario (record SOA) procedura: /usr/dns/etc/named-xfer -z domname -f outputfile authNS  è necessario valutare attentamente il numero e la dislocazione dei nameserver secondari in modo da ridurre il più possibile il rischio che problemi di connessione possano impedire la risoluzione dei nomi di un dominio

22 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 22 Perché avere più server DNS?  Ci sono tre ragioni per avere dei server secondari:  Ridondanza  Locazioni differenti  Riduzione del carico sul primario  Ridondanza  Sono necessari almeno due nameservers per ogni zona, un primario ed almeno un secondario per ridondanza. Come ogni fault tolerant system, le macchine devono essere il più indipendenti possibile (e.g su reti differenti).  Locazioni differenti  I secondary servers devono risiedere in locazioni differenti per poter gestire un alto numero di utenti (i.e. per evitare che gli utenti debbano comunicare su linee a bassa velocità).  Riduzione del carico sul primario  I name server secondary servono (ovviamente) anche per ridurre il carico di lavoro sul primary server.

23 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 23 Caching  ogni nameserver mantiene copia di tutte le informazioni di cui è venuto a conoscenza  tali informazioni sono utilizzate durante il processo di risoluzione dei nomi  le risposte date dal nameserver sulla base della cache sono “not authoritative”  le informazioni nella cache di un nameserver rimangono valide per un tempo limitato (Time-To-Live, TTL) L’uso della cache può dare luogo a “temporanee” inconsistenze ma aumenta le performance del sistema

24 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 24 Come funziona il meccanismo di DNS caching? 1.La cache risiede su disco o in memoria centrale? I record della cache sono memorizzati nel segmento dati del processo name-server in memoria centrale. Quindi la cache viene persa se il processo viene terminato. 2.Per quanto tempo viene mantenuta l’informazione nella cache? Ogni DNS resource record in risposta ad una query, contiene un valore “time to live” (TTL) che determina per quanto tempo il server può tenere quel record in cache. Un valore tipico è 86400 secondi (24 hours). 3.C’è un limite massimo per la cache? La cache cresce senza limitazioni, specialmente su servers molto importanti, dove nuovi records vengono messi in cache ad una velocità superiore rispetto a quelli a cui scade il TTL. Sui sistemi UNIX, il processo name server finirà per raggiungere la sua massima dimensione in memoria e verrà terminato dal kernel di sistema. E’ quindi una buona idea schedulare un “cron job” che lo termina e lo fa ripartire settimanalmente.

25 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 25 ping www.nominum.com. Esempio: risoluzione dei nomi (ricorsiva) Il processo di risoluzione dei nomi step-by-step: annie.west.sprockets.com

26 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 26 What’s the IP address of www.nominum.com? The Resolution Process La workstation annie chiede al suo name-server (quello configurato), dakota, l’indirizzo di www.nominum.com ping www.nominum.com. annie.west.com dakota.west.com

27 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 27 The Resolution Process Il name-server dakota chiede al root-name-server, m, l’indirizzo di www.nominum.com ping www.nominum.com. annie.west.com m.root-servers.net dakota.west.com What’s the IP address of www.nominum.com?

28 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 28 The Resolution Process Il root-server m riferisce a dakota il nome dei name-server com Questo tipo di risposta si chiama un “referral” ping www.nominum.com. annie.west.com m.root-servers.net dakota.west.com Here’s a list of the com name servers. Ask one of them.

29 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 29 The Resolution Process Il name-server dakota chiede al name-server com, f, l’indirizzo di www.nominum.com ping www.nominum.com. annie.west.com m.root-servers.net dakota.west.com What’s the IP address of www.nominum.com? f.gtld-servers.net

30 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 30 The Resolution Process Il name-server com, f, riferisce a dakota il nome del name-server di nominum.com ping www.nominum.com. annie.west.com f.gtld-servers.net m.root-servers.net dakota.west.com Here’s a list of the nominum.com name servers. Ask one of them.

31 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 31 The Resolution Process Il name-server dakota chiede ad uno dei server nominum.com, ns1.sanjose, l’indirizzo di www.nominum.com ping www.nominum.com. annie.west.com f.gtld-servers.net m.root-servers.net dakota.west.com ns1.sanjose.nominum.net What’s the IP address of www.nominum.com?

32 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 32 The Resolution Process Il name-server nominum.com, ns1.sanjose, risponde con l’indirizzo di www.nominum.com ping www.nominum.com. annie.west.com f.gtld-servers.net m.root-servers.net dakota.west.com ns1.sanjose.nominum.net Here’s the IP address for www.nominum.com

33 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 33 Here’s the IP address for www.nominum.com The Resolution Process Il name-server dakota risponde ad annie con l’indirizzo di www.nominum.com ping www.nominum.com. annie.west.com f.gtld-servers.net m.root-servers.net dakota.west.com ns1.sanjose.nominum.net

34 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 34 ping ftp.nominum.com. Resolution Process (Caching) Dopo la query precedente, il name-server dakota conosce: I nomi e gli indirizzi IP dei name-servers com I nomi e gli indirizzi IP dei name-servers nominum.com L’indirizzo IP di www.nominum.com Rivediamo il processo di risoluzione annie.west.com

35 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 35 ping ftp.nominum.com. What’s the IP address of ftp.nominum.com? Resolution Process (Caching) La workstation annie chiede al suo name-server, dakota, dell’indirizzo ftp.nominum.com annie.west.com f.gtld-servers.net m.root-servers.net dakota.west.com ns1.sanjose.nominum.net

36 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 36 ping ftp.nominum.com. What’s the IP address of ftp.nominum.com? Resolution Process (Caching) dakota ha memorizzato nella cache un record NS che indica che ns1.sanjose e` un name-server nominum.com, quindi gli chiede l’indirizzo di ftp.nominum.com annie.west.com f.gtld-servers.net m.root-servers.net dakota.west.com ns1.sanjose.nominum.net

37 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 37 ping ftp.nominum.com. Here’s the IP address for ftp.nominum.com Resolution Process (Caching) Il name-server di nominum.com, ns1.sanjose, risponde con l’indirizzo di ftp.nominum.com annie.west.com f.gtld-servers.net m.root-servers.net dakota.west.com ns1.sanjose.nominum.net

38 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 38 ping ftp.nominum.com. Here’s the IP address for ftp.nominum.com Resolution Process (Caching) Il name-server dakota risponde alla workstation annie con l’indirizzo di ftp.nominum.com annie.west.com f.gtld-servers.net m.root-servers.net dakota.west.com ns1.sanjose.nominum.net

39 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 39 L’albero per la risoluzione inversa (in-addr.arpa)  48.146.in-addr.arpa dominio  65.48.146.in-addr.arpa sotto-dominio  69.65.48.146.in-addr.arpa macchina nome indirizzo Resource record = www.pippo.com

40 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 40 Origine ed evoluzione del servizio Cos'è la posta elettronica? Il formato di questi messaggi è generalmente in formato testo, ma le nuove tecnologie permettono di allegare a questi messaggi files di qualsiasi tipo di formato. Il servizio di posta elettronica permette, ad un utente connesso alla rete Internet, di inviare e ricevere messaggi in formato elettronico, scambiando così informazioni con altri utenti possessori di caselle di posta elettronica (e-mail).

41 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 41 RFC 822 Un messaggio e-mail e` composto da piu` stringhe di caratteri US- ASCII (codice di 7-bit, con l’ultimo uguale a 0) in un formato specificato dalla RFC 822 (1982). Due parti sono separate da una linea vuota: Lo header: sender, recipient, date, subject, delivery path,… Il body: contenente il messaggio. L’uso di caratteri ASCII causa problemi per i messaggi non-ASCII, e.g. attachments (vedi MIME).

42 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 42 Vantaggi e limiti della posta elettronica Vantaggi Non esistono problemi di fuso orario tra mittente e destinatario Si è certi di non disturbare e di raggiungere il mittente, cose non garantite con una telefonata Si possono inviare non solo testi, ma anche file, come “allegati”. In pratica, il destinatario può ricevere un messaggio da leggere e anche file grafici, musicali e di qualunque altro tipo, assieme ad esso. I messaggi inviati possono contenere dati riutilizzabili.

43 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 43 Vantaggi e limiti della posta elettronica Svantaggi Nome del file allegato: deve essere un nome breve e non composto da simboli “strani” (es: asterischi, virgole, punti e virgola, etc....) Virus Nessuna certezza sull’identità del mittente Nessuno standard per la “ricevuta di ritorno”

44 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 44 Origine ed evoluzione del servizio Il primo standard internazionale ad essere proposto per definire la posta elettronica e` stato il protocollo ISO X.400.  Troppo complesso.

45 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 45 Origine ed evoluzione del servizio All’inizio degli anni 90, e` divenuto evidente che lo standard SMTP/MIME (che e` molto piu` semplice e non aderisce allo standard X.400) avrebbe battuto lo standard X.400 diventando, de facto, il protocollo di default per la posta elettronica su Internet.  SMTP  MIME

46 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 46 Architettura Gli elementi piu` importanti del sistema di posta elettronica sono: Mail User Agent (MUA) ovvero il Mail Client Mail Transfer Agent (MTA) ovvero il Mail Server Mail Delivery Agent (MDA) MUA Mail Client MTA Mail server

47 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 47 Architettura MUA= Mail User Agent (Mail Client) MTA= Mail Transport Agent (Mail Server) MDA= Mail Delivery Agent LAN Internet MUA PC Mittente MUA PC Destinatario Sending MTA SMTP server MDA writes on the user mailbox User’s mailbox SMTP server Receiving MTA

48 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 48 I passi concettuali 1. MUA = Mail client e` un programma che gira sulla macchina del Sender, e.g. Microsoft Outlook o Netscape Messenger. 2. L’utente fornisce i valori dei campi To: e Subject: ed il corpo del messaggio. 3. Il MUA lo traduce in un messaggio compatibile con la RFC 822 e si connette tramite una LAN al (o a uno dei) MTA = Mail server. 4. Il MUA usa un protocollo chiamato SMTP per spedire il messaggio RFC 822 all’MTA.

49 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 49 I passi concettuali (cont.) 5. Il Sending MTA usa il DNS (Domain Name Service) per trovare l’indirizzo IP del Receiving MTA (che potrebbe essere locale o no) in base al campo To:. 6. Il sending MTA apre una connessione con il Receiving MTA e usa il protocollo SMTP per trasferire il messaggio RFC 822, spesso passando per la rete pubblica Internet. 7. Alcuni server MTA intermediari posso essere coinvolti. 8. Receiving MTA puo` spedire il messaggio al MUA ricevente oppure puo` memorizzarlo per il successivo recupero tramite la LAN del MUA ricevente (che usera` un MRA). Nota. MRA non usano il protocollo SMTP per recuperate i messaggi da un MTA, ma utilizza il protocollo POP o il piu` recente IMAP.

50 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 50 L’SMTP, o Simple Mail Transfer Protocol, e` usato per scambiare messaggi di posta elettronica tra i mailservers (e per spedire mail da un client di posta). Puo` essere usato per spedire posta, non per ricerverla (protocollo push). Si basa sul protocollo TCP/IP e quindi fornisce un servizio affidabile di consegna. SMTP e` specificato nella RFC 821 (RFC 1870 e RFC 1869). Simple Mail Transfer Protocol (SMTP)

51 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 51 Simple Mail Transfer Protocol (SMTP) SMTP usa il protocollo TCP sulla porta 25 per la connessione Il traffico SMTP avviene su LAN e su Internet ed e` fondamentalmente non-protetto. Utenti maliziosi possono parlare SMTP direttamente su una connessione telnet con un MTA, fornendo un valore fittizio del valore del campo From:. Quindi forgiare emails e` piuttosto facile (spam emails).

52 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 52 (SMTP) Headers I campi header (“headers”) consitono di una coppia nome-valore delimitata da due punti “:” Gli headers contengono le informazioni su come inoltrare il messaggio

53 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 53 (SMTP) Headers La RFC 822 contiene le regole che specificano la sintassi degli headers (maiuscole/minuscole, lunghezza, uso di caratteri speciali, interruzione di linea, etc.). L’RFC 822 non specifica l’ordine con cui i vari headers appaiono. L’unica richiesta e` che l’Header appaia prima del message body e separato da questo mediante una riga vuota.

54 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 54 Comandi SMTP di base HELLO (HELO) E` usato per identificare l’SMTP-sender all’SMTP- receiver. L’argomento contiene il nome dell’host che genera il messaggio. MAIL (MAIL) E` usato per specificare l’indirizzo di posta elettronica del mittente del messaggio. RECIPIENT (RCPT) E` usato per specificare l’indirizzo di posta elettronica del destinatario. DATA (DATA) Specifica l’inizio dell’inserimento del messaggio stesso. Il messaggio puo` essere composto solo da caratteri ASCII a 7 bit. RESET (RSET) Resetta lo stato interno del server. QUIT (QUIT) Termina una sessione.

55 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 55 Sintassi dei comandi SMTP (tutti) The following are the SMTP commands: HELO MAIL FROM: RCPT TO: DATA RSET SEND FROM: SOML FROM: SAML FROM: VRFY EXPN HELP[ ] NOOP QUIT TURN

56 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 56 Codici di risposta del server SMTP (RFC 821) I codici di risposta consistono di 3 cifre: Esempi: 220 = Service Ready 221 = Service closing 354 = Start message input, end with CRLF.CRLF 421 = Service not available 501 = Syntax error in command arguments 500 = Command unrecognized (syntax error) 503 = Bad sequence of commands 550 = Command failed because the mailbox is unavailable (e.g. mailbox not found)

57 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 57 Codici di risposta del server SMTP (RFC 821) La prima cifra specifica se il server ha accettato il comando e se puo` completare la richiesta. 1.Il server ha accettato il comando ma richiede un messaggio di conferma. 2.Il server ha eseguito il comando con successo. 3.Il server has capito la richiesta, ma necessita di ulteriore input. 4.Il server ha incontrato un errore temporaneo. Se il comando e` ripetuto senza cambiamenti potrebbe essere eseguito! 5.Il server ha incontrato un fatal error e non puo` essere portato a compimento.

58 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 58 Codici di risposta del server SMTP (RFC 821) La seconda cifra specifica ancora meglio. 0.Errore di sintassi 1.Richiesta di informazioni (e.g. HELP) 2.Stato della connessione 3.non-used 4.non-used 5.Stato del mail server La terza cifra indica ancora meglio lo stato della connessione.

59 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 59 Error codeSMTP/ESMTP error message description 211System status, or system help reply 214Help message (Information on how to use the receiver or the meaning of a particular non-standard command; this reply is useful only to the human user) 220Service ready 221Service closing transmission channel 250Requested mail action okay, completed 251User not local; will forward to 354Start mail input; end with. 421Service not available, closing transmission channel (This may be a reply to any command if the service knows it must shut down) 450Requested mail action not taken: mailbox unavailable (E.g., mailbox busy) 451Requested action aborted: local error in processing 452Requested action not taken: insufficient system storage 500Syntax error, command unrecognized (This may include errors such as command line too long) 501Syntax error in parameters or arguments 502Command not implemented 503Bad sequence of commands 504Command parameter not implemented 550Requested action not taken: mailbox unavailable (E.g., mailbox not found, no access) 551User not local; please try 552Requested mail action aborted: exceeded storage allocation 553Requested action not taken: mailbox name not allowed (E.g., mailbox syntax incorrect) 554Transaction failed

60 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 60 Architettura Gli elementi piu` importanti del sistema di posta elettronica sono: Mail User Agent (MUA) ovvero il Mail Client Mail Transfer Agent (MTA) ovvero il Mail Server Mail Delivery Agent (MDA) Mail Retrieval Agent (MRA) Quando il ricevente usa un mail server che non si trova sulla sua macchina locale, il mailbox deve essere letto a distanza. Questo e` fatto dall’ MRA (termine non standard ma utile).. MRA Mail server MTA User’s mailbox POP/IMAP

61 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 61 POP/IMAP Il POP, o Post Office Protocol L’IMAP, o Internet Message Access Protocol

62 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 62 POP3 Il POP3, o Post Office Protocol v3, e` usato per accedere alla posta elettronica da un server di posta e per immagazzinarla localmente. E` usata su macchine per le quali sarebbe poco pratico avere il protocollo SMTP completo e una connessione ad internet permanente. Queste macchine sono tipicamente dei client-PC con connessioni via modem al server di posta elettronica. POP3 usa il protocollo TCP sulla porta 110 per la connessione POP3 is specified in RFC 1225.

63 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 63 POP3 Una sessione POP3 consistse di tre passaggi: 1. authorization, 2. transaction, 3. update. Una sessione e` una conversazione strutturata tra il server POP3 ed il client message user agent (MUA, o programma di posta elettronica). Ad ogni passo, il MUA spedisce dei comandi POP3 al server, e questo risponde con dei reply code (+OK oppure –ERR). I reply codes “possono” essere seguiti da una stringa esplicativa e/o altre informazioni.

64 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 64 IMAP L’ IMAP, o Internet Message Access Protocol, puo` essere considerato l’estensione del protocollo POP. Esso prevede (a) gestione del mailbox (create, delete, rename, manipulate remote mailboxes) (b) gestione remota dei messaggi (delete, move, setting flags, read, store,... ) (c) sincronizzazione del mailbox (d) ricerca di messaggi

65 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 65 IMAP (cont.) L’ Internet Message Access Protocol, Version 4 rev1 (IMAP4rev1) permette ad un client di accedere e manipolare i messaggi su un server remoto. RFC 2060 IMAP usa il protocollo TCP sulla porta 143 per la connessione IMAP4rev1 permette la manipolazione di folders remoti, chiamati ”mailboxes”, in modo equivalente alla gestione di mailboxes locali. IMAP4rev1 include operazioni per creare, cancellare e rinominare mailboxes; controllare l’arrivo di messaggi; cancellare permanentemente messaggi; modificare flags; ricercare e selezionare gli attributi dei messaggi, selezionare e scaricare testo e/o porzioni di testo. Messaggi in IMAP4rev1 sono accedibili tramite numeri.

66 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 66 Stati della sessione IMAP IMAP e` un protocollo piu` complesso del POP3 e quindi possiede molti piu` comandi. I comandi IMAP possono essere eseguiti a seconda dello “stato” in cui si trova il protocollo. Nonauthenticated state: In non-authenticated state, the client MUST supply authentication credentials before most commands will be permitted. This state is entered when a connection starts unless the connection has been pre- authenticated. Authenticated state: In authenticated state, the client is authenticated and MUST select a mailbox to access before commands that affect messages will be permitted. This state is entered when a pre-authenticated connection starts, when acceptable authentication credentials have been provided, or after an error in selecting a mailbox. Selected state: In selected state, a mailbox has been selected to access. This state is entered when a mailbox has been successfully selected. Logout state: In logout state, the connection is being terminated, and the server will close the connection. This state can be entered as a result of a client request or by unilateral server decision.

67 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 67 Webmail E’ un software che consente la consultazione delle email tramite interfaccia web. E’ installato in un web server ed interagisce con i mail server POP, SMTP). Visualizza i risultati in puro codice HTML attraverso il web server. POP no IMAP 10 MByte di spazio disco Simile ad un mail reader (Outlook, Eudora) ma su web

68 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 68 Perche` usare webmail? Interfaccia comune Training non necessario Machine independent Basta avere un browser di qualsiasi tipo (Netscape, MS-IExplorer, Mozilla … ) ed un account Mobilita` e facilita` d ’ uso Ci si puo` connettere da qualsiasi postazione internet Non necessita nessun setup

69 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 69 Come funziona Webmail Webmail server POP server (mailbox) SMTP server Spedizione email Lettura email

70 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 70 SNMP troubleshooting Il troubleshooting è necessario per risolvere molti problemi che si possono verificare all'interno di una rete, una delle aspirazioni di un buon amministratore di rete è quella di non avere problemi. network management SNMPSNMP Il software che consente di effettuare il network management delle reti TCP/IP è principalmente basato sul protocollo Simple Network Management Protocol, SNMP. SNMPclient/serverprotocollo di managementgestione SNMP è un protocollo del tipo client/server che è descritto come protocollo di management e viene utilizzato per consentire la gestione di intere reti geografiche e di tenere sotto controllo qualsiasi tipo di apparato. RFC 1157 Il Draft che descrive il protocollo SNMP è la RFC 1157. preventiva UDP/IPUDP E’ un protocollo per la gestione preventiva degli apparati, dei nodi della rete attraverso la rete stessa, basato su UDP/IP, User Datagram Protocol. Si usa protocollo UDP invece che TCP perchè è più veloce, fa meno controlli ma è meno affidabile.

71 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 71 SNMP gestione degli eventi Ha il compito di eseguire la gestione degli eventi: Reattiva  Reattiva: dopo il verificarsi di un malfunzionamento; Preventiva  Preventiva: l’amministratore è in grado di individuare i problemi che si verificano. SNMP SNMP appartiene alla famiglia dei protocolli Internet Engegger Task Force ed appartenenti al livello 7 Pila ISO/OSI. E’ stato progettato per inviare dati sullo stato della rete provenienti dagli apparati ad un centro di gestione che li interpreti in modo opportuno, effettua controllo remoto delle funzionalità del dispositivo e genera allarmi (analisi e manutenzione rete).

72 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 72 SNMP SNMP SNMP si occupa del traffico  Monitoraggio del traffico; livelli di servizio  Monitoraggio dei livelli di servizio garantiti al cliente;  Monitoraggio host e server; instabilità della tabella di routing  Segnalazione instabilità della tabella di routing (errore nella configurazione); accounting  Gestione dell’accounting: controllo dell’acceso e gestione addebiti; sicurezza  Gestione sicurezza:controllo accessi, traffico, rilevazione delle intrusioni. thoughput Permette di conoscere thoughput, il carico, dati sulle interfacce di rete, e prestazioni di un sistema. TCP/IP, IPX, Apple Talk E’ utilizzato su reti TCP/IP, IPX, Apple Talk. Con SNMP è possibile modificare anche alcuni parametri degli apparati di rete Con SNMP è possibile modificare anche alcuni parametri degli apparati di rete.

73 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 73 SNMP - Agent agent SNMP monitoraretrasmettono Gli agent SNMP (un server, un apparato di rete, una risorsa in genere) si occupano di monitorare lo stato degli apparati di rete e trasmettono i dati o consentono l'analisi delle informazioni relative al loro stato di funzionamento. managerclient SNMP NMSNMS Il manager (il client SNMP) viene eseguito sulla Network Management Station (NMS): questa postazione è in effetti il collettore di tutte le informazioni provenienti dai vari apparati di rete, le informazioni vengono immagazzinate sulla base di dati che possono essere visualizzati in tempo reale. Esistono diversi applicativi che consentono di manipolare le informazioni fornite dalla stazione di NMS. apparati TCP/IPagent SNMPSquid agent La maggioranza degli apparati TCP/IP vengono forniti con un agent SNMP: Squid è un software che, se opportunamente configurato, può tranquillamente funzionare come agent per fornire informazioni dettagliate sullo stato della webcache nonchè sul traffico che sta gestendo in un dato momento.

74 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 74 SNMP - Porte richiesta/rispostaUDP E’ un protocollo del tipo richiesta/risposta che utilizza UDP per il trasporto dei pacchetti: l'agent rimaneUDP 161NMS UDP 162trapagent l'agent rimane in ascolto sulla porta UDP 161 mentre la NMS rimane in ascolto anche sulla porta UDP 162 per ricevere le trap che possono essere inviate dai vari agent. In sintesi: UDP 161  UDP 161 è la porta di destinazione di tutti i messaggi di interrogazioni e risposta SNMP; UDP 162  UDP 162 porta di destinazione dei messaggi trap tra SNMP e agent SNMP (in presenza di evento prestabilito).

75 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 75 SNMP - version SNMP v1 SNMP v1: invio nome community in chiaro; RFC 1028. SNMP v2 SNMP v2: crittografia tramite MD5; RFC 1905 SNMP v3 SNMP v3: ultima versione poco utilizzata RFC 2570 sicurezza ed amministrazione. SNMPv1 SNMPv2 communities Secondo le specifiche di SNMPv1 e SNMPv2 il transito delle informazione utilizza un sistema di autenticazione che prende il nome di communities. communitiespassword in formato testo Le communities sono delle password in formato testo, ne consegue che il transito dai dati tra l'agent e l'nms è il punto debole del protocollo in quanto non viene utilizzato alcun sistema di crittografia. communities Ogni communities svolge un compito ben definito. Sono:  read-only  read-write  trap

76 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 76 SNMP read-only prelevareagent La read-only consente di prelevare le informazioni dall'agent in sola lettura. read-writegestione La read-write è stata studiata per consentire agli utenti di eseguire la gestione remota dell'apparato (quindi consente di modificare le informazioni). trapautentica agennms La trap invece autentica gli avvisi che vengono inviati dall'agent verso l'nms. erroredall’apparato alla Management Station. Si tratta di un messaggio, di una notifica senza acknowledgement, non sollecitato, di errore inviato dall’apparato alla Management Station. messaggi asincronieventi Le notifiche sono messaggi asincroni inviati dall'agent per segnalare eventi occorsi nel sistema gestito (p.es. allarmi in caso di guasti). inform Le notifiche SNMP con acknowledgment vengono chiamate inform. Quando l’apparato invia una trap l’interfaccia di rete smette di funzionare, agent SNMP esegue il monitoraggio dell’apparato, invia alla Managemnet Station un messaggio che identifica il problema, segnala un evento.

77 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 77 SNMP SNMPv3 crittografato Con il protocollo SNMPv3 è stato introdotto uno schema di autenticazione forte che consente di trasmettere le informazioni all'interno di un canale sicuro (crittografato). debolezza firewall od un filtro IP sniffato Vista la debolezza del protocollo SNMPv1 ed SNMPv2 si consiglia sempre di utilizzare un firewall od un filtro IP che consenta la comunicazione tra i soli agent e la NMS visto che il traffico potrebbe essere facilmente intercettato (sniffato). richiesta e la risposta PDUPDU La richiesta e la risposta ai messaggi che SNMP invia nei datagrammi UDP viene chiamata Protocol Data Units (PDU). SNMP PDUTYPE PDU La SNMP PDU è composta da info su TYPE PDU, Intestazione get/set, variabili acquisire/impostare (intestazione trap, informazione trap).

78 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 78 SNMP - Architettura SNMP utilizza un paradigma manager/Management Information Base (MIB)/agent

79 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 79 SNMP - Architettura manageragent MIB Questo paradigma si basa su un manager che richiede informazioni ad un agent in un determinato formato di codifica detto MIB. agentmanager L’agent invocato processa la richiesta, recupera l’informazione e la invia al manager, se disponibile. In caso contrario invia la causa dell’indisponibilità. Secondo il paradigma manager/MIB/agent, l’interfaccia utente si limita a svolgere soltanto il ruolo di strato di presentazione ed è progettata utilizzando accorgimenti grafici con il solo scopo di aumentare l’usabilità delle funzioni di recupero e consultazione dei dati. NMS Le applicazioni di gestione, inoltre, offrono uno strumento per la formattazione dei dati recuperati e forniscono uno strato aggiuntivo composto di funzioni di controllo della NMS.

80 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 80 SNMP Management Stationagent Le Management Station interrogano gli agent i quali inviano le informazioni richieste sul device (periferica). agent SNMPfirmware Gli agent SNMP sono implementati nel firmware(driver a livello hardware) stesso mentre i server sono servizi software. MIB, MIBSMIS MI Gli oggetti gestiti dagli agent sono raccolti, in ogni device, nel database MIB, MANAGEMENT INFORMATION BASE), definita nella SMI, STRUCTURE MANAGEMENT INFORMATION, documento che contiene regole di accesso MIB. SMI SMI non ci dice gli oggetti che sono gestiti, ma ci dice solo come individuarli nell’albero, mi fornisce la giusta sintassi. identificativo Ad ogni oggetto all’interno dell’SNMP viene associato un identificativo per poterlo trovare all’interno dell’albero.

81 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 81 SNMP - Architettura Per reperire un oggetto nell’albero vi sono due possibili modi:  inserire nella root in poi tutti i nomi degli oggetti che lo precedono;  alternativamente, oltre ad avere 1 nome, ad ogni oggetto è associato 1 numero, quindi basta inserire la sequenza dei nomi…. MIB I MIB contengono gli oggetti oggetto delle nostre investigazioni. I comandi REQUEST/RESPONSE permettono di leggere o modificare i valori degli oggetti MIB. community L’insieme degli apparati di rete che gestiti da SNMP appartengono ad una community, rappresentata da un identificativo che garantisce la sicurezza delle interrogazioni SNMP. Un agent SNMP risponde solo alle richieste fatte da un Management Station appartenente alla stessa community (nome 32 bit).

82 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 82 SNMP protezione nell’header dell’SNMP Più dettagliatamente, la sola protezione offerta dal Community Name contro gli accessi non autorizzati consiste in una stringa di caratteri contenuta nell’header dell’SNMP. valore Tale stringa rappresenta un valore che, se riconosciuto dall’agent, autorizza l’NMS ad eseguire l’attività richiesta con il messaggio SNMP. lettura scrittura Il comando Get Community Name consente all’agent la lettura delle variabili MIB, mentre il comando Set Community Name autorizza l’agent alla scrittura degli oggetti MIB di tipo read-writable. Read and Write Community Name public Alcuni testi identificano tali nomi come Read and Write Community Name. Molti produttori preconfigurano come “public” i Community Name dei propri agent ed NMS. Il primo passo per l’amministrazione via SNMP consiste generalmente, perciò, nella modifica di tale impostazione, al fine di evitare che un qualsiasi NMS possa modificare le informazioni degli agent.

83 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 83 Telnet è un protocollo di rete utilizzato su Internet. I documenti IETF STD 8 (RFC 854 e RFC 855) dicono: L'obiettivo del protocollo TELNET è fornire un supporto per le comunicazioni sufficientemente generalizzato, bidirezionale ed orientato ai byte (otto bit). È solitamente utilizzato per fornire all'utente sessioni di login remoto di tipo linea di comando trahost su internet. Per estensione, telnet è anche il nome di un programma che un utente può usare per avviare una sessione telnet ad un host remoto; il programma telnet implementa la parte client del protocollo. I client telnet sono stati disponibili sulla maggior parte dei sistemi Unix per parecchi anni e sono disponibili per qualsiasi tipo di computer. TELNET

84 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 84 TELNET un'applicazione standard TCP/IP Si tratta di un'applicazione standard di 'Internet ed è disponibile nella maggior parte delle implementazioni del TCP/IP, indipendentemente dal sistema operativo host. protocollo di login remoto client-server porta 23 E’ un semplice protocollo di login remoto, implementato secondo un modello di tipo client-server, che permette ad un utente attestato ad una certa macchina di stabilire una connessione TCP con un server di login che si trova su un'altra macchina, la porta che utilizza è la numero 23. Subito dopo Telnet rilancia i caratteri battuti sulla tastiera dell'utente direttamente al calcolatore remoto come se essi fossero battuti su una tastiera direttamente connessa ad esso. Inoltre Telnet rimanda l'output della macchina remota indietro fino allo schermo dell'utente. trasparente Il servizio è definito trasparente perchè dà l'apparenza che la tastiera e lo schermo dell'utente siano attaccati direttamente alla macchina remota.

85 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 85 TELNET Sebbene Telnet non sia molto sofisticato se paragonato ad altri protocolli di terminale remoto, esso risulta tuttavia largamente diffuso. Di solito, il codice client di Telnet permette all'utente di specificare la macchina remota a cui ci si vuole connettere dando il suo nome di dominio oppure il suo indirizzo IP.

86 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 86 TELNET – Come aprire Telnet windows Telnet è un client presente di default in windows e ci si può accedere in tre diversi modi:  premendo avvio/start, poi esegui e si digitando "telnet" nella finestra di dialogo.  facendo click sul file "telnet.exe" presente nella cartella "windows".  digitando "telnet" nel prompt ms-dos.

87 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 87 TELNET Telnet offre tre servizi di base Telnet offre tre servizi di base. Definisce un network virtual terminal (terminale virtuale di rete) che fornisce una interfaccia standard verso i sistemi remoti. Il programma client non può essere istruito sui dettagli di tutti i possibili sistemi remoti, così esso è realizzato per usare l'interfaccia standard. Telnet include un meccanismo che permette ai due moduli client e server di negoziare delle opzioni, e fornisce un insieme di opzioni standard (ad esempio, una delle opzioni controlla se i dati trasmessi attraverso la connessione debbano essere rappresentati mediante il set standard di caratteri ASCII a 7 bit oppure mediante un set di caratteri ad 8 bit). Infine, Telnet tratta simmetricamente entrambi gli estremi della connessione.

88 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 88 TELNET In particolare, Telnet non obbliga che l'input del client provenga da una tastiera, e nemmeno che l'output di tale client sia costituito per forza da uno schermo. In questa maniera, Telnet permette ad un qualsiasi programma di diventare utente del client. Inoltre, entrambe le parti possono negoziare le opzioni. Quando un utente invoca Telnet, un determinato programma applicativo sulla macchina dell'utente diviene il client. Esso stabilisce una connessione TCP con il server, tramite la quale comunica con questo. Una volta stabilita la connessione, il client legge i caratteri battuti sulla tastiera dell'utente e li trasmette al server, e nel frattempo legge i caratteri che il server gli ritorna indietro per visualizzarli sullo schermo dell'utente.

89 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 89 TELNET Il server deve accettare la richiesta di connessione dal client, dopodiché deve rilanciare i dati ricevuti tramite questa connessione al sistema operativo della macchina su cui si trova. In pratica il server deve gestire connessioni multiple concorrenti. Di solito, un processo padre aspetta su una determinata porta una richiesta di connessione e, quando questa arriva, crea un processo figlio che gestisce tale connessione. Perciò il processo illustrato rappresenta il processo figlio che gestisce una particolare connessione. Si adopera il termine pseudoterminale per descrivere il punto di ingresso (entry point) del sistema operativo che permette ad un programma quale il server Telnet di immettere caratteri nel sistema operativo della macchina remota facendo credere a quest'ultimo che essi provengano da una tastiera. Sarebbe impossibile realizzare un server Telnet senza che il sistema operativo fornisca una tale possibilità.

90 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 90 TELNET Se il sistema supporta un dispositivo di pseudoterminale, il server Telnet può essere implementato mediante programmi applicativi. Nel server, ogni processo figlio funge da collegamento tra il flusso di dati provenienti dalla connessione TCP ed un particolare dispositivo di pseudoterminale. Fare in modo che il server Telnet sia un programma a livello applicativo comporta sia vantaggi che svantaggi. Il vantaggio più ovvio è che risulta più semplice la modifica ed il controllo del server rispetto al caso in cui il codice sia contenuto nel sistema operativo. Lo svantaggio è chiaramente l'inefficienza, poichè ciascun carattere deve viaggiare dalla tastiera d'utente, attraverso il sistema operativo, fino al programma client, dal programma client tornare al sistema operativo e, attraverso la connessione di rete, arrivare alla macchina remota.

91 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 91 TELNET Qui, i dati devono arrivare, attraverso il sistema operativo, fino al programma applicativo server, e da quest'ultimo di nuovo indietro al sistema operativo in un dispositivo di pseudoterminale. Alla fine, il sistema operativo remoto invia il carattere al programma applicativo che l'utente sta facendo correre. Si capisce che, nel frattempo, l'output (compresi i caratteri di echo se tale opzione è stata selezionata) viaggia a ritroso dal server al client lungo lo stesso percorso.

92 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 92 TELNET - Sicurezza Ci sono tre problemi principali legati a Telnet, che lo rendono una brutta scelta per sistemi moderni dal punto di vista della sicurezza:  Nei daemon telnet comunemente usati sono state trovate nel corso degli anni molte vulnerabilità, e probabilmente altre esistono tuttora.  Telnet non cripta i dati inviati tramite la connessione (nemmeno le password) ed è quindi banale catturare i dati scambiati ed usare la password per scopi malevoli.  A Telnet manca uno schema di autenticazione che renda sicura le comunicazione tra due host e non intercettabile. In ambienti dove la sicurezza è importante, come la rete pubblica Internet, telnet non dovrebbe esser usato. Le sessioni telnet non sono criptate.

93 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 93 TELNET Ciò significa che chiunque abbia accesso ad un router, uno switch o un gateway posizionato sulla rete tra i due host che stanno comunicando tramite telnet, può intercettare i pacchetti che lo attraversano e facilmente ottenere qualsiasi cosa venga scambiata (compresi nomi utente e password) con programmi come TCPdump ed Ethereal. Queste falle han fatto sì che l'uso del protocollo telnet cadesse rapidamente a favore del più sicuro protocollo SSH. SSH offre tutte le funzioni di telnet più una sicura criptazione, che previene l'intercettazione dei dati scambiati, ed un'autenticazione a chiave pubblica, che assicura l'identità del server remoto.chiave pubblica Con la crescita esponenziale del numero di persone che accedono ad internet, e del numero di coloro che vogliono entrare in sistemi altrui, telnet non dovrebbe essere usato in reti internet.

94 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 94 FTP - Modello L'FTP, File Transfer Protocol è un protocollo per la trasmissione di dati tra host basato su TCP. FTP è uno dei primi protocolli definiti ed ha subito una lunga evoluzione negli anni.

95 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 95 FTP Gli obiettivi principali di FTP descritti nella sua RFC ufficiale sono:  Promuovere la condivisione di file (programmi o dati)  Incoraggiare l'uso indiretto o implicito di computer remoti.  Risolvere in maniera trasparente incompatibilità tra differenti sistemi di stoccaggio file tra host.  Trasferire dati in maniera affidabile ed efficiente. Per FTP si intende il protocollo di Internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. L'accesso ad un sito FTP può essere di due tipi: validato, cioé in una modalità che chiede all'utente di inserire il nome e la password, o anonimo cioé in una modalità che non richiede autenticazione alcuna e che di solito si utilizza per avere accesso ad aree che il gestore del server ha definito come pubbliche.

96 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 96 FTP Quest'ultima modalità è la più utilizzata per il reperimento dei files shareware o di pubblico dominio. FTP é insomma il protocollo con cui classicamente avviene lo scambio di programmi e documenti via Internet (un po’ come succede con la posta elettronica), tuttavia, a differenza della posta elettronica che permette lo scambio di files tra un numero limitato di utenti (tipicamente due, il mittente ed il ricevente) FTP é un servizio che un singolo, un ente od un provider, mettono a disposizione di tutta la comunità Internet.

97 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 97 FTP In un sito FTP anonimo troverete tipicamente aggiornamenti software e documentazione. Anche se per l'accesso ad un sito FTP anonimo non è richiesto l’inserimento di nome e password, occorre comunque rispettare una regola fondamentale della netiquette ed inserire anonymous (digitato esattamente così) come username, quindi il proprio indirizzo email come password. Utilizzando un browser web, l'accesso in FTP si stabilisce scrivendo nella barra dell'indirizzo il protocollo ftp:// seguito dall'indirizzo del sito, per esempio ftp://ntc.it è l'indirizzo del nostro sito FTP anonimo.ftp://ntc.it Utilizzando il browser non è necessario inserire anonymous come nome e il proprio indirizzo email come password, ci penserà il browser stesso utilizzando quello che avrete inserito nelle sue preferenze.

98 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 98 FTP Le versioni più recenti dei browser web (Explorer 4 e Navigator o Communicator 4) permettono l'accesso alle directory FTP direttamente dalla finestra del browser. Questo semplifica notevolmente l'accesso ai file in FTP per l'utente alle prime armi, tuttavia chi desideri utilizzare al meglio gli strumenti dell'FTP potrà prendere in seria considerazione i programmi dedicati alla gestione di questo protocollo. Dopo aver avuto accesso ad un server FTP dal browser web è possibile caricare i file nel sito semplicemente trascinandoli (trascinando la cartella che li contiene) nella finestra del browser da File Manager o da Gestione risorse in Windows, oppure dal Finder in MacOs. Tra i più diffusi programmi dedicati per "fare FTP" (detti Client FTP) troviamo su Macintosh Fetch e Anarchie e su PC WS_FTP e CuteFTP. Si tratta di prodotti shareware, basati cioé sul concetto "prima prova e poi paga" e sono reperibili in vari siti sulla rete (tra cui ovviamente anche il nostro).

99 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 99 FTP FTP, a differenza di altri protocolli come ad esempio HTTP, utilizza due connessioni separate per gestire comandi e dati. Un server FTP rimane tipicamente in ascolto sulla porta 21 TCP a cui si connette il client.TCP La connessione da parte del client determinerà l'inizializzazione del canale comandi attraverso il quale client e server si scambieranno comandi e risposte. Lo scambio effettivo di dati (come ad esempio file) richiederà l'apertura del canale dati il quale può essere di due tipi. In un canale dati di tipo attivo il client apre una porta tipicamente random (> 1023), tramite il canale comandi rende noto il numero di tale porta al server e attende che esso si connetta. A tale scopo possono venire impiegati i comandi PORT o EPRT, a seconda del protocollo di rete utilizzato (tipicamente IPv4 o IPv6).IPv4IPv6

100 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 100 FTP In un canale dati di tipo passivo il server apre una porta tipicamente random (> 1023), tramite il canale comandi rende noto il numero di tale porta al client e attende che esso si connetta. A tale scopo possono venire impiegati i comandi PASV o EPSV, a seconda del protocollo di rete] utilizzato (tipicamente IPv4 o IPv6).IPv4IPv6 Un server FTP offre svariate funzioni che permettono al client di interagire con il suo filesystem e i file che lo popolano, tra cui:  Download/upload di file.  Resume di trasferimenti interrotti.  Rimozione e rinomina di file.  Creazione di directory.  Navigazione tra directory.

101 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 101 FTP FTP fornisce inoltre un sistema di autenticazione (N.B. in chiaro) degli accessi. Il client che si connette potrebbe dover fornire delle credenziali a seconda delle quali gli saranno assegnati determinati privilegi per poter operare sul filesystem. L'autenticazione cosiddetta "anonima" prevede che il client non specifichi nessuna password di accesso e che lo stesso abbia privilegi che sono tipicamente di "sola lettura".

102 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 102 FTP - Sicurezza La specifica originale di FTP non prevede alcuna cifratura per i dati scambiati tra client e server. Questo comprende nomi utenti, password, comandi, codici di risposta e file trasferit i i quali possono essere "sniffati" o visionati da malintenzionati in determinate situazioni (esempio: ambienti intranet). Il problema è comune a diversi altri protocolli utilizzati prima della diffusione di SSL quali HTTP, TELNET e SMTP. Per ovviare al problema è stata definita una nuova specifica che aggiunge al protocollo FTP originale un layer di cifratura SSL/TLS più una nuova serie di comandi e codici di risposta. Il protocollo prende il nome di FTPS ed è definito nella RFC-4217.

103 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 103 TFTP Trivial File Transfer Protocol, TFTP, è un protocollo di trasferimento file molto semplice, con le funzionalità di base del FTP. Essendo così semplice, è stato possibile implementarlo facilmente con un contenuto utilizzo di risorse. TFTP è stato quindi utile per l'avvio di computer che, come i router, non hanno dispositivi a memoria di massa. È ancora usato per trasferire piccoli file fra host di una rete, come nel caso di un terminale X Window System o altri thin client. TFTP è basato su una parte del precedente protocollo EFTP, che è stato parte della suite di protocolli PUP (PARC Universal Packet). La versione originale di TFTP, prima della RFC 1350, aveva un problema particolarmente grave, chiamato Sorcerer's Apprentice Syndrome.

104 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 104 TFTP Alcuni dettagli sul TFTP:  UDP porta 69 come protocollo di trasporto (a differenza del FTP che usa il TCP sulla porta 21);  non supporta le directory;  non possiede meccanismi di autenticazioni o cifratura;  può essere usato per leggere o scrivere file da un server remoto;  supporta tre differenti modalità di trasferimento, "netascii", "octet" e "mail", dei quali i primi due corrispondono alle modalità "ASCII" e "image" (binario) del protocollo FTP; la terza è obsoleta e raramente usata;  ha un limite di dimensione dei file di 32 MB.

105 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 105 TFTP Poiché TFTP utilizza UDP, è necessario creare un supporto per trasporto e sessione. Ogni file trasferito via TFTP costituisce uno scambio indipendente. Ogni trasferimento è attuato in passi distinti, con sempre un pacchetto (che sia un blocco di dati o un acknowledgement) in trasmissione nella rete. Per via della mancanza di sicurezza, è pericoloso usare TFTP su internet; perciò è usato generalmente solo nelle reti locali private. La negoziazione delle opzioni fu aggiunta nel protocollo successivamente (con la RFC 2347), e le opzioni così negoziate possono modificare il protocollo (in particolare usare blocchi di dimensione maggiore), pur non trasformandolo sostanzialmente.

106 Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a. 2008-2009 prof. Guido Russo – ing. Angelo Violetta 106 TFTP - Sessione  L'host A invia un pacchetto RRQ (read request) o WRQ (write request) all'host B, contenente il nome del file e la modalità di trasferimento.  B risponde con un ACK (acknowledgement) packet, che serve anche a dire ad A quale porta sull'host B dovrà usare per i restanti pacchetti.  L'host di origine invia dei pacchetti DATA numerati all'host di destinazione, tutti tranne l'ultimo contenenti un blocco di dati completo. L'host di destinazione risponde con un pacchetto ACK numerato per ogni pacchetto DATA.  Il pacchetto DATA finale deve contenere un blocco di dati non pieno ad indicare che si tratta dell'ultimo. Se la dimensione del file trasferito è un multiplo esatto della dimensione dei blocchi, la sorgente invia un ultimo pacchetto di dati contente 0 byte di dati.


Scaricare ppt "Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a."

Presentazioni simili


Annunci Google