servizi applicativi in internet prof. alfio lombardo
TRANSCRIPT
Servizi applicativi in Internet
Prof. Alfio Lombardo
Servizi applicativi in Internet
Condivisione di file
Consultazione in rete
Accesso remoto
Gestione delle risorse di rete
Posta elettronica
FTP
TFTP
NFSHTTP
TELNET
R-LOGIN
SMTP
SNMP
SNMPv2Direttorio
DNS FINGER WHOIS
NETFIND WAIS
Il protocollo TELNETprof.: Alfio Lombardo
TelnetPermette 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
Dati: Rappresentati in accordo allo standard USASCII a 7 bit
Comandi: caratteri di controllo codificati da ottetti con il bit di ordine massimo = 1
Network Virtual Terminal
Comandi TelnetGestiti dal TCP alla stregua di segnali fuori-banda
Comando Codifica Significato decimale
IAC 255 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) EOF 236 Fine del file SUSP 237 Sospendi il processoABORT 238 Abortisci il processo EOR 239 Fine del record SE 240 Fine della sottonegoziazione delle opzioniNOP 241 Nessuna operazione
Comandi TelnetDMARK 242 La porzione dati di una sequenza di SYNCH
(accompagnata da una notifica urgente del TCP)BRK 243 Segnale di "break"IP 244 Segnale di "interruzione del processo"AO 245 Segnale di "svuotamento dell'output"AYT 246 Segnale "are you there" EC 247 Segnale di "cancellazione carattere"EL 248 Segnale di "cancellazione riga"GA 249 Segnale di "go ahead" SB 250 Inizio della sottonegoziazione delle opzioniWILL 251 Richiesta del permesso (conferma dell'intenzione)
di attuare l'opzione specificataWON'T 252 Rifiuto di attuare l'opzione specificataDO 253 Conferimento del permesso (o richiesta) al paritario
di attuare l'opzione specificataDON'T 254 Rifiuto del permesso di attuare l'opzione specificata
Opzioni TelnetNome Codice RFC SignificatoTrasmissione binaria 0 856 set di caratteri ad 8 bitEcho 1 857 Permette di ritrasmettere a
ritroso i dati ricevutiSoppressione Go 3 858 Sopprime la trasmissione del Ahead segnale di go ahead dopo i datiStato 5 859 Richiede al remoto lo stato di
un'opzione TelnetMarca temporale 6 860 Richiede l'inserimento di
una marca temporale nel flusso di dati di ritorno
per sincronizzare i due estremi di una connessione
Tipo di terminale 24 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
DoveIP = 244 = Segnale di "interruzione del processo"
I protocolli FTP/TFTP/NFSprof.: Alfio Lombardo
Condivisione di file
Copia completa
Accesso
on-line
FTP, TFTP NFS
Entita’ logiche coinvolte in una applicazione di condivisione di file
File Transfer Protocolrfc 959 rfc1123
SISTEMA CLIENTESISTEMA CLIENTE
DT PI
Sistema Operativo
SISTEMA SERVENTESISTEMA SERVENTE
PI DT
Sistema Operativo
TCP/IPinternet
Connessione
di controllo
Connessione
dati
Connessione
dati
SISTEMA SERVENTE_1SISTEMA SERVENTE_1
PI DT
Sistema Operativo
SISTEMA SERVENTE_2SISTEMA SERVENTE_2
DT PI
Sistema Operativo
Connessione
dati
Connessione
di controllo
Connessione
di controllo
SISTEMA CLIENTSISTEMA CLIENT
PI DT
Sistema Operativo
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
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
RISPOSTE
CLIENTE SERVENTE
USER
220messaggi TCP
331
PASS
230
RETR
STOR
TYPE
226
150
200
550
QUIT
CONTROLLOD’ACCESSO
RICHIESTATRASMISSIONE DATI
SPECIFICA DEI PARAMETRI DITRASMISSIONE
TRASMISSIONE DATI
RICHIESTA CHIUSURA CONNESSIONE
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
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
I messaggi
EoS= End Of String= 00000000
I messaggi
DATA
OpCode N.Blocco Data
ACK
OpCode N.Blocco
ERROR
OpCode CodErr StrinErr EOS
(512 byte)
(512 max)
Coderr
Descrizione
0 Non definito; si veda stringaerr , se presente.
1 File non trovato.
2 Violazione di accesso.
3 Disco pieno o allocazione ecceduta.
4 Operazione di TFTP non ammessa.
5 Numero di porta sconosciuto.
6 File già esistente.
7 L’utente specificato non esistente.
Network File System rfc. 1094
Permette di realizzare un file system globale in un ambiente eterogeneo
Utilizza XDR
NFSclient
application
interfaccia
Mountclient
Mountserver
NFSserver
remotedisk
remotefile
systemmanager
localdisk
1
2
3
localfile
systemmanager
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;
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 ingressinella struttura "export list". Ogni ingresso contiene il nome di un file system e una lista di gruppi a cui è permesso importarlo.
Il protocollo di Mount:
principali procedure
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
Esempi di procedure NFS
I protocolli SMTP/MIMEprof.: Alfio Lombardo
Servizi avanzati di Telecomunicazione
Simple Mail Transfer Protocolrfc 821, 822
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:Persona che ha creato il messaggio
Sender:
Indirizzo email del mittente
Received:
Linea aggiunta da ogni agente di trasferimento lungo il percorso
Return-Path:
È usato per identificare un percorso di ritorno al mittente
Header del messaggio SMTP (RFC822)
Header Significato
Date:Data ed ora in cui il messaggio è stato mandato.
Replay-To:
Indirizzo E-Mail al quale devono essere mandate le risposte.
Message-id:
Identificatore unico del messaggio.
In-Reply-
To:
Identificatore del messaggio al quale si sta rispondendo.
References:
Altri identificatori del messaggio.
Keywords:
Parole chiave scelte dall'utente.
Subject:
Descrizione breve del messaggio.
Header aggiuntivo del messaggio SMTP ( RFC822)
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
Il modello architetturale per la gestione delle reti in Internet consiste di quattro componenti:
Elementi di rete Stazioni di gestioneInformazioni di gestione Protocollo di gestione (SNMP).
UDP UDP
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
messaggio SNMP è di 484 bytes
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
Messaggi SNMP
Object
Nome dell’oggetto
Syntax
Sintassi astratta per il tipo di dato presentata utilizzando ASN.1
Definition
Descrizione testuale della semantica dell'oggetto
Access
Una tra le seguenti possibilità: solo lettura, lettura e scrittura, solo scrittura e non accessibile
Status
Uno tra: obbligatorio, opzionale o obsoleto
SMI:Lo standard indica che gli oggetti devono essere definiti usando
i campi seguenti:
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