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