Servizi applicativi in Internet
Prof. Alfio Lombardo
Servizi applicativi in Internet
FTP
Condivisione di file
Consultazione in rete
Accesso remoto
Posta elettronica
TFTP
NFS
HTTP
TELNET
R-LOGIN
SMTP
Gestione delle risorse di rete
Direttorio
DNS FINGER WHOIS
NETFIND WAIS
SNMP
SNMPv2
Il protocollo TELNET
prof.: Alfio Lombardo
Telnet
Permette ad un utente attestato ad una data macchina di
stabilire una connessione con un server di login remoto
Network Virtual Terminal
Definisce la modalita' trasmissiva da usare tra
terminali eterogenei
Network Virtual Terminal
Dati: Rappresentati in accordo allo standard USASCII a 7 bit
Comandi: caratteri di controllo codificati da ottetti con
il bit di ordine massimo = 1
Comandi Telnet
Gestiti dal TCP alla stregua di segnali fuori-banda
Comando
Codifica
decimale
IAC
255
EOF
SUSP
ABORT
EOR
SE
NOP
236
237
238
239
240
241
Significato
Interpreta il prossimo ottetto come comando
(quando l'ottetto IAC appare come dato, il
trasmittente lo duplica ed invia la sequenza di 2
ottetti IAC-IAC)
Fine del file
Sospendi il processo
Abortisci il processo
Fine del record
Fine della sottonegoziazione delle opzioni
Nessuna operazione
Comandi Telnet
DMARK
242
BRK
IP
AO
AYT
EC
EL
GA
SB
WILL
243
244
245
246
247
248
249
250
251
WON'T
DO
252
253
DON'T
254
La porzione dati di una sequenza di SYNCH
(accompagnata da una notifica urgente del TCP)
Segnale di "break"
Segnale di "interruzione del processo"
Segnale di "svuotamento dell'output"
Segnale "are you there"
Segnale di "cancellazione carattere"
Segnale di "cancellazione riga"
Segnale di "go ahead"
Inizio della sottonegoziazione delle opzioni
Richiesta del permesso (conferma dell'intenzione)
di attuare l'opzione specificata
Rifiuto di attuare l'opzione specificata
Conferimento del permesso (o richiesta) al paritario
di attuare l'opzione specificata
Rifiuto del permesso di attuare l'opzione specificata
Opzioni Telnet
Nome
Trasmissione binaria
Echo
Codice
0
1
Soppressione Go
Ahead
Stato
3
Marca temporale
6
Tipo di terminale
24
5
RFC
Significato
856 set di caratteri ad 8 bit
857 Permette di ritrasmettere a
ritroso i dati ricevuti
858 Sopprime la trasmissione del
segnale di go ahead dopo i dati
859 Richiede al remoto lo stato di
un'opzione Telnet
860 Richiede l'inserimento di
una marca temporale nel
flusso di dati di ritorno
per sincronizzare i due
estremi di una connessione
884 Avvia lo scambio di
informazioni riguardanti le
caratteristiche del terminale
Sequenza di SYNCH
Usata per inserire un carattere di controllo
all'interno del flusso di dati
SYNCH ::=:
"IAC (segnale utente) IAC DMARK“
Es: se l’utente preme “control-C” sul proprio terminale per
interrompere un processo Telnet invia la sequenza:
IAC IP IAC DMARK
Dove
IP = 244 =
Segnale di "interruzione del processo"
I protocolli FTP/TFTP/NFS
prof.: Alfio Lombardo
Condivisione di file
Copia
completa
Accesso
FTP, TFTP
NFS
on-line
Entita’ logiche coinvolte in una applicazione
di condivisione di file
File Transfer Protocol
rfc 959 rfc1123
SISTEMA SERVENTE
SISTEMA CLIENTE
DT
PI
PI
DT
Connessione
Connessione
Connessione
dati
di controllo
dati
Sistema Operativo
Sistema Operativo
TCP/IP
internet
SISTEMA SERVENTE_2
SISTEMA SERVENTE_1
PI
DT
DT
PI
Connessione
dati
Sistema Operativo
Sistema Operativo
Connessione
Connessione
di controllo
di controllo
Sistema Operativo
PI
DT
SISTEMA CLIENT
Connessione di controllo
Si appoggia su una connessione Telnet (NVT)
Cliente: SYNC, InterruptProcess
Servente: DONT, WONT
Protocollo FTP
Comandi
Comandi di servizio: specificano la natura
delle operazioni da compiere sul file system;
Comandi di controllo di accesso;
Comandi per la specifica dei parametri di
trasferimento :
modalità di trasferimento,
sintassi dei dati
struttura dei file
Controllo d’accesso
User FTP
Anonymous FTP
Modalita’ di trasferimento
Stream
Block (restart)
Compressed
Si definisce attraverso il comando
MODE
Sintassi dei dati
ASCII
EBCDIC
IMAGE
LOCAL
Si definisce attraverso il comando
TYPE
Struttura del file
File
Record
Pagina
Si definisce attraverso il comando STRU
RISPOSTE
Tabella primo digit
1yz indica che l’azione richiesta è stata intrapresa ma che si deve
aspettare una ulteriore risposta per inoltrare un nuovo comando
2yz indica che l’azione richiesta è stata completata con successo
3yz indica che il comando è stato accettato ma che l’azione richiesta è tenuta
in sospeso poichè si aspettano ulteriori comandi
4yz indica che il comando non è stato accettato e l’azione richiesta non verrà
intrapresa a causa di una condizione di errore temporanea. L’azione può essere
richiesta nuovamente
5yz indica che il comando non è stato accettato e l’azione richiesta non verrà
intrapresa a causa di una condizione di errore permanente. L’azione non può essere
richiesta nuovamente
Tabella secondo digit
x0z indica un errore di sintassi
x1z indica una risposta a richieste di informazioni per esempio un help
x2z indica una risposta relativa a una richiesta di connessione dati o controllo
x3z indica una risposta ai processi di controllo d’accesso
x4z non ancora specificato
x5z indica lo stato del file system del server a fronte di una richiesta di
trasferimento o di una qualunque azione da compiere sul file system
CLIENTE
SERVENTE
messaggi TCP
220
USER
CONTROLLO
D’ACCESSO
331
PASS
230
RICHIESTA
TRASMISSIONE
DATI
RETR
150
226
SPECIFICA DEI
PARAMETRI DI
TRASMISSIONE
TYPE
200
TRASMISSIONE
DATI
RICHIESTA
CHIUSURA
CONNESSIONE
STOR
550
QUIT
Trivial File Transfer Protocol
rfc. 783
Permette operazione di
trasferimento di file
scelta della sintassi di trasferimento
Non consente
autenticazione d'utente
operazioni di management.
Utilizza UDP
Fa uso di meccanismi di timeout,
ack e ritrasmissione
I messaggi
RRQ (read request): è un pacchetto che viene inviato
dal client al server per chiedere la lettura di un file.
WRQ (write request): è un messaggio che viene mandato
dal client al server per richiedere la scrittura di un file.
OpCode NomeFile EOS Modalita’ EOS
EoS= End Of String= 00000000
I messaggi
DATA
(512 byte)
OpCode N.Blocco Data (512 max)
ACK
OpCode N.Blocco
ERROR
OpCode CodErr StrinErr EOS
Cod
err
0
Descrizione
1
Non definito; si veda
stringaerr , se presente.
File non trovato.
2
Violazione di accesso.
3
5
Disco pieno o allocazione
ecceduta.
Operazione di TFTP non
ammessa.
Numero di porta sconosciuto.
6
File già esistente.
7
L’utente specificato non
esistente.
4
Network File System
rfc. 1094
Permette di realizzare un file
system globale in un ambiente
eterogeneo
Utilizza XDR


application
remote
disk
remote
file
system
manager
interfaccia
1
local
file
system
manager
NFS
client
Mount
client
2
3
local
disk
Mount
server
NFS
server
1) il Mount Client invia al mount Server il pathname del file o della directory da montare
2) il Mount Server ritorna il filehandle al Mount Client;
3) l’NFS Client comunica con l’NFS Server attraverso il filehandle;
Il protocollo di Mount:
principali procedure
fhstatus MOUNPROC_MNT(dirpath):
esegue il montaggio di una directory remota.
mountlist MOUNTPROC_DUMP(void):
questa procedura ritorna nella struttura "mountlist" la lista
degli host e dei file system che essi hanno montato
exportlist MOUNTPROC_EXPORT(void):
questa procedura ritorna un numero variabili di ingressi
nella struttura "export list". Ogni ingresso contiene il nome
di un file system e una lista di gruppi a cui è permesso importarlo.
Esempi di procedure NFS
attrstat NFSPROC_GETATTR (fhandle):
ritorna nel dato strutturato attrstat gli attributi del file.
attrstat NFSPROC_SETATTR (sattrargs):
permette di cambiare gli attributi di un file.
readres NFSPROC_READ (readargs):
effettua la lettura di un file remoto
Servizi avanzati di
Telecomunicazione
I protocolli SMTP/MIME
prof.: Alfio Lombardo
Simple Mail Transfer Protocol
rfc 821, 822
Header del messaggio SMTP (RFC822)
Header
Significato
To:
Indirizzi email dei destinatari primari
Bcc:
Indirizzi email dei destinatari secondari non
visibili dal destinatario primario
Cc:
Indirizzi email dei destinatari secondari
From:
Sender:
Received
:
ReturnPath:
Persona che ha creato il messaggio
Indirizzo email del mittente
Linea aggiunta da ogni agente
trasferimento lungo il percorso
di
È usato per identificare un percorso di
ritorno al mittente
Header aggiuntivo del messaggio SMTP ( RFC822)
Header
Significato
Date:
Data ed ora in cui il messaggio è stato
mandato.
ReplayTo:
Indirizzo E-Mail al quale devono essere
mandate le risposte.
Messageid:
Identificatore unico del messaggio.
In-ReplyTo:
Identificatore del messaggio al quale si sta
rispondendo.
Referenc
es:
Altri identificatori del messaggio.
Keywords
:
Parole chiave scelte dall'utente.
Subject:
Descrizione breve del messaggio.
MIME rfc 1521, 1522
Header SMTP
Header MIME
documento
MIME Version:
Identifica la versione MIME
Content-Description:
Stringa,descrivere il contenuto
del messaggio.
Content-ID:
Identificativo unico
Content-Tranfer-Encoding: Tipo di codifica usata nel
corpo del messaggio
Content-Type:
Natura del messaggio.
Header MIME
Simple Network Management
Protocol
UDP
UDP
Il modello architetturale per la gestione delle reti in Internet
consiste di quattro componenti:
Elementi di rete
Stazioni di gestione
Informazioni di gestione
Protocollo di gestione (SNMP).
le informazioni di gestione vengono
definite come abstract data type
SMI
tutte le variabili che rappresentano le
risorse da gestire presenti in una rete
vengono mantenuta nel MIB
Il protocollo SNMP è utilizzato
per lo scambio delle informazioni
di gestione
SNMP supporta due tipi di transazione:
messaggi sincroni di tipo domanda - risposta
attraverso un meccanismo di polling
+
messaggi asincroni chiamati trap
polling orientato ai trap:
un modello nel quale si eseguono verifiche ad intervalli lunghi
con accelerazioni al momento della rilevazione di un trap
Messaggi SNMP
GetRequest: viene usata dalla stazione di gestione
per richiedere il valore di una o più variabili all’agente
GetNextRequest: viene usata dalla stazione di gestione
per richiedere il valore della variabile successiva.
SetRequest: permette alla stazione di gestione di assegnare
un valore ad una o più variabili
GetResponse:è generata da un agente solo dopo aver ricevuto una
GetRequest-PDU, una GetNextRequest-PDU o una SetRequest-PDU
trap: mandata dall’agente al gestore ogniqualvolta si verificano
eventi imprevisti
messaggio SNMP è di 484 bytes
SMI:
Lo standard indica che gli oggetti devono essere definiti usando
i campi seguenti:
Object
Nome dell’oggetto
Syntax
Sintassi astratta per il tipo di dato presentata utilizzando ASN.1
Definiti
on
Descrizione testuale della semantica dell'oggetto
Acces
s
Una tra le seguenti possibilità: solo lettura, lettura e scrittura,
solo scrittura e non accessibile
Status
Uno tra: obbligatorio, opzionale o obsoleto
MIB
Il Management Information Base (MIB) è uno standard
che definisce le variabili necessarie per la gestione di una rete,
nel senso che esse sono in grado di descrivere lo stato di
differenti elementi gestiti (managed device).
•System
•Interfaces
•Address Translation
•IP
•ICMP
•TCP
•UDP
•EGP
•Trasmission (MIB II)
•SNMP (MIB II)
Gruppo IP
Il gruppo IP tratta del traffico IP dal nodo e verso il nodo.
E’ particolarmente ricco di contatori per tenere traccia del numero di
pacchetti scaricati per un qualsiasi motivo. Sono inoltre disponibili delle
statistiche riguardo la frammentazione e il riassemblamento dei dati.
Le variabili del gruppo sono:
ipForwarding
ipDefaultTTL
ipInReceives
ipInHdrErrors
ipInAddrErrors
ipForwDatagrams
ipInUnknownProtos
ipInDiscards
ipInDelivers
ipOutRequests
ipOutDiscards
ipOutNoRoutes
ipReasmTimeout
ipReasmReqds
ipReasmOKs
ipReasmFails
ipFragOKs
ipFragFails
ipFragCreates
ipAddrTable
ipAddrEntry
ipAdEntAddr
ipAdEntIfIndex
ipAdEntNetMask
ipAdEntBcastAddr
ipRoutingTable
ipRouteEntry
ipRouteDest
ipRouteIfIndex
ipRouteMetric1
ipRouteMetric2
ipRouteMetric3
ipRouteMetric4
ipRouteNextHop
ipRouteType
ipRouteAge
Macrolezione 8:
Progetto di applicazioni
distribuite
Macrolezione 9:
Livello applicativo in Internet
Scarica

Lezione 7 - Ingegneria Informatica e delle Telecomunicazioni