1 / 95

Corso di laurea in INFORMATICA

Corso di laurea in INFORMATICA. RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it. Come accedere alle applicazioni.

sue
Télécharger la présentation

Corso di laurea in INFORMATICA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Corso di laureainINFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it

  2. Come accedere alle applicazioni Una applicazione deve prima comunicare al software di protocollo che sta aspettando l’arrivo di un messaggio di un tipo specificato e poi si mette in attesa Quando il protocollo riceve un messaggio che corrisponde esattamente al tipo specificato lo passa applicazione Lezione 14( 03/04) Protocolli Applicativi

  3. Argomenti • Modello client-server • Procedure di inizializzazione • Domain Name System • Protocolli per la posta elettronica • Protocolli per trasferimento files • Protocollo HTTP e web server/client Lezione 14( 03/04) Protocolli Applicativi

  4. Applicazione client Generico programma Si comporta da client quando richiede l’uso della rete Esegue anche elaborazioni in locale È invocata direttamente dall’utente È eseguita localmente sul computer dell’utente Contatta attivamente un solo server alla volta Non richiede dispositivi dedicati Applicazione server Programma specializzato Dedicato all’erogazione di un servizio Può servire più di un client alla volta Automaticamente invocato all’avvio del sistema Attende passivamente di essere contattato dai client Accetta richieste da client arbitrari,ma offre un solo servizio Calcolatore condiviso e macchina potente Modello client - server Il server attende passivamente di essere contattato, mentre il client avvia il processo di comunicazione Lezione 14( 03/04) Protocolli Applicativi

  5. Internet Interazione tra client e server A E server client Lezione 14( 03/04) Protocolli Applicativi

  6. Client 1 Client 2 Server 1 Server 2 Servizi multipli Un calcolatore di classe server può offrire contemporaneamente più servizi, ciascuno dei quali è erogato da una specifica applicazione server Lezione 14( 03/04) Protocolli Applicativi

  7. serverfiglio serverfiglio Server padre client client Porte effimere Porta effimera Porta effimera TCP TCP TCP Creazione dinamica (1) Erogazione dello stesso servizio a più client senza che questi debbano mettersi in coda Porta nota usata solo per l’apertura della connessione Server parallelo con connessioni Lezione 14( 03/04) Protocolli Applicativi

  8. Server client client Un client alla volta Porta nota Porta effimera Porta effimera UDP UDP UDP Creazione dinamica (2) Erogazione dello stesso servizio a più client memorizzati in una coda in attesa di essere processati Server sequenziale senza connessioni (specifici per server che usano UDP) Lezione 14( 03/04) Protocolli Applicativi

  9. Le applicazioni client e server comunicano tramite i protocolli di trasporto Le applicazioni debbono fornire al protocollo molte informazioni API (Application Program Interface): insieme di procedure che le applicazioni possono invocare API non è definita all’interno dei protocolli di comunicazione, ma parte dei sistemi operativi residenti Interfaccia SOCKET standard de facto Nel sistema UNIX BSD l’interfaccia socket è parte del sistema operativo Molti produttori aggiungono le socket ai loro sistemi Librerie di procedure (Libreria delle Socket) Mettono a disposizione delle applicazioni un API Socket anche se il sistema operativo sottostante non le prevede Quando le applicazioni chiamano una procedura della libreria essa invoca le funzioni del proprio sistema operativo per ottenere l’effetto desiderato Interfaccia socket Lezione 14( 03/04) Protocolli Applicativi

  10. La comunicazione tramite socket si basa sul concetto di descrittore Il descrittore rappresenta un oggetto Le procedure sono metodi applicati all’oggetto Flessibilità nello scrivere una sola applicazione per il trasferimento di dati verso destinazioni di natura diversa Il descrittore può individuare un file I dati saranno scritti sul file Il descrittore può individuare una socket I dati saranno trasferiti verso una applicazione di rete DESCRITTORE SOCKET Lezione 14( 03/04) Protocolli Applicativi

  11. PROCEDURE SOCKET Lezione 14( 03/04) Protocolli Applicativi

  12. PROCEDURE SOCKET (continua) Lezione 14( 03/04) Protocolli Applicativi

  13. socket socket ripetizione bind connect recv listen ripetizione processo ripetizione send send accept recv Close accepting Close accepting Close Esempio per server parallelo con connessioni SERVER CLIENT CHILD Lezione 14( 03/04) Protocolli Applicativi

  14. socket socket bind ripetizione ripetizione sendto recvfrom processo recvfrom sendto Close Esempio per server sequenziale senza connessioni SERVER CLIENT Lezione 14( 03/04) Protocolli Applicativi

  15. Inizializzazione • L’insieme delle operazioni che hanno luogo all’avvio dei calcolatori è noto come bootstrap • Caricamento dei protocolli • Protocolli sono integrati con il sistema operativo • Si sfrutta la rete nel processo di boot • I protocolli vanno configurati • È necessario fornire al protocollo informazioni (parametri) sul sistema • Indirizzo IP • Indirizzo del router principale • Maschera di sottorete • Indirizzo del server DNS • Indirizzo del server delle stampanti • Indirizzi di altri server Lezione 14( 03/04) Protocolli Applicativi

  16. Configurazione di protocolli • Configurazione basata sull’accesso al disco (file di configurazione) • nome_parametro = valore • Configurazione automatica • RARP • ICMP • Richiesta maschera degli indirizzi • Scoperta del router Lezione 14( 03/04) Protocolli Applicativi

  17. Apertura passiva SERVER CLIENT 67 UDP Richiesta SERVER CLIENT 68 67 UDP Risposta SERVER CLIENT 68 67 UDP Protocollo BOOTP Il protocollo di bootstrap (BOOTP) è un protocollo progettato per ottenere le informazioni di rete (IP, mask, default gateway, name server) quando vengono installate macchine prive di disco Lezione 14( 03/04) Protocolli Applicativi

  18. Dynamic Host Configuration Protocol (DHCP) • BOOTP è un protocollo di configurazione statico • DHCP è una estensione di BOOTP pensata per permettere procedure di configurazione dinamiche e con esso compatibile • Un server DHCP ha due data base • Uno per la configurazione statica • Uno contiene certi numeri di indirizzi IP da assegnare in “leasing” Lezione 14( 03/04) Protocolli Applicativi

  19. DHCP:funzionamento • Fase 1 : DHCPDISCOVER • Il client cerca di acquisire un indirizzo IP • Inviato in broadcast • Include il MAC address • Fase 2 : DHCPOFFER • Inviato da qualsiasi server DHCP che riceve la richiesta discover • Offerta indirizzo IP e tempo di leasing • Il server congela l’indirizzo IP offerto • Fase 3 : DHCPREQUEST • Il client sceglie le offerte ricevute e ne invia uno al server • FASE 4 : DHCPACK • Conferma da parte del server • Creazione della corrispondenza tra MAC ed IP • Rinnovi di licenza • Ogni volta che un client DHCP si riavvia • Al 50% del tempo Lezione 14( 03/04) Protocolli Applicativi

  20. Registro INDIRIZZI IP 151.100.20.152 Nomi cri.let.uniroma1.it it uniroma1 let cri Nomi di Dominio • sistema di registrazione unificato • Domain Name System (DNS) • un nome è decodificato da destra verso sinistra • la parte più a destra è definita zona Lezione 14( 03/04) Protocolli Applicativi

  21. Segmenti di un nome • Il DNS non richiede l’uso di uno specifico numero di segmenti né richiede cosa debbano rappresentare • Per il livello più alto (top level) il DNS : • Stabilisce i valori possibili • Stabilisce il loro significato Lezione 14( 03/04) Protocolli Applicativi

  22. I magnifici sette TLD • Icann (Internet Corporation for Assigned Names and Numbers), l'organizzazione internazionale che sovrintende alla gestione degli indirizzi sulla Rete. • .aero (proposto dalla Società Internazionale de Telecomunications Aeronatique); • .biz (proposto da IV-Team); • .coop (National Cooperative Business Association); • .info (Afilias); • .museum (proposto da Museum Domain Management Association); • .name (Global Name Registry); • .pro (Registry Pro). • L'Icann ha invece respinto molti top Level Domain proposti, come .health (per la salute) , .travel (per i viaggi) , .union, .web e .kids. Lezione 14( 03/04) Protocolli Applicativi

  23. UNA PORZIONE DEL DNS Lezione 14( 03/04) Protocolli Applicativi

  24. com bar sport caffè gelato cioccolato nocciola panna Gerarchia dei nomi caffè.barsport.com panna.gelato.barsport.com Lezione 14( 03/04) Protocolli Applicativi

  25. com com Root server Root server Server di barsport.com bar sport bar sport caffè caffè gelato gelato Server di gelato. barsport.com cioccolato cioccolato nocciola nocciola panna panna Server di panna.gelato. barsport.com Server di barsport.com Modello client-server DNS: gerarchia Lezione 14( 03/04) Protocolli Applicativi

  26. Collegamento tra i server (regole) • I server DNS sono collegati fra loro e formano un sistema unitario • Ogni server è in grado di contattare un root server • Ogni server è in grado di contattare tutti i server dei livelli inferiori della gerarchia • I root server hanno per zona di controllo l’intero spazio dei nomi di dominio (attualmente ne sono 13) • Server primario • Possiede un file relativo alla zona di sua responsabilità • Sono di sua competenza la gestione e l’aggiornamento del file • Server secondario • Riceve le informazioni relative ad una certa zona da un altro server primario o secondario • Non gestiscono i file • Duplica il server primario e può essere utile in caso di problemi di quest’ultimo Lezione 14( 03/04) Protocolli Applicativi

  27. Risoluzione di indirizzi • Il processo che associa un nome ad un indirizzo IP è detto risoluzione di indirizzo • Un host che debba risolvere un indirizzo si rivoge ad un client DNS che si chiama resolver • Il resolver • Invia una richiesta al DNS server più vicino • Il server DNS • Invia la risposta se è in grado autonomamente di risolvere l’indirizzo • Oppure • Si rivolge ad un altro server (risoluzione ricorsiva) • Comunica al resolver l’indirizzo di un altro server (risoluzione iterativa) • Associazione di un indirizzo ad un nome (risoluzione inversa) • L’indirizzo IP viene invertito e gli vengono aggiunti i suffissi in-addr e arpa • Es. 132.34.45.121  121.45.34.132.in-addr.arpa Lezione 14( 03/04) Protocolli Applicativi

  28. 8 7 4 3 9 2 com edu Fhda.edu Mcgraw.com client Root server 10 6 1 Risoluzione ricorsiva 5 Lezione 14( 03/04) Protocolli Applicativi

  29. 6 5 3 4 com edu Root server Mcgraw.com client Fhda.edu 7 2 1 8 9 10 Risoluzione Iterativa Lezione 14( 03/04) Protocolli Applicativi

  30. Ottimizzazioni delle prestazioni • Replica su altri server • Caching • Risposta non autorevole • Dynamic Domain Name System (DDNS) • Quando viene costituita una nuova corrispondenza nome-indirizzo viene inviato messaggio DHCP ad un server primario • Si aggiorna il file di zona • Si notifica al server secondario Lezione 14( 03/04) Protocolli Applicativi

  31. messaggi risposta richiesta Messaggi DNS Lezione 14( 03/04) Protocolli Applicativi

  32. Record richiesta Lezione 14( 03/04) Protocolli Applicativi

  33. Record Risposta Lezione 14( 03/04) Protocolli Applicativi

  34. Servizi di un programma di posta (1) • Aliasing • rappresenta la capacità di definire dei nome simbolici per i propri corrispondenti postali in luogo degli indirizzi veri e propri. Per esempio si può decidere che edk sia una efficiente abbrevazione per krol@ux1.cso.uiuc.edu. • Folder (cassette postali) • Rappresenta la capacità di organizzare la propria posta in opportune caselle postali organizzate secondo un criterio. Ad esempio si possono organizzare caselle con argomenti personali, con avvisi di seminari e con la corrispondenza che si tiene con una determinata persona. • Forwarding (ritrasmissione) • Ha il significato di ritrasmettere la posta ricevuta sul proprio computer ad un altro utente su un altro computer che può essere interessato a questo argomento. Lezione 14( 03/04) Protocolli Applicativi

  35. Servizi di un programma di posta (2) • Inclusione di file testo • Si possono trasmettere interi documenti di tipo testo per posta elettronica senza andare ad usare utility tipo FTP. • Mailing List • Rappresenta la capacità di trasmettere un messaggio ad un gruppo di persone senza dover trasmettere lo stesso messaggio ad ognuna di esse. • Reply • Rappresenta il modo più rapido per mandare un messaggio in risposta ad uno precedentemente ricevuto, in quanto il sistema ricopia automaticamente l'indirizzo del mittente inserendolo nella parte destinazione del messaggio da trasmettere. Lezione 14( 03/04) Protocolli Applicativi

  36. Funzionamento • Mailer • Mail program, mail application, mailer client • Software che permette di gestire, leggere e scrivere la posta elettronica • Mail Server • Computer la cui funzione ricevere, registrare e consegnare la posta elettronica • Mailbox • File appositamente formattato per registrare i messaggi e-mail e le informazioni correlate Lezione 14( 03/04) Protocolli Applicativi

  37. SMTP (Single Mail Transfer Protocol): utilizzato per inviare posta elettronica Lezione 14( 03/04) Protocolli Applicativi

  38. POP (Post Office Protocol ): utilizzato per ricevere posta elettronica Lezione 14( 03/04) Protocolli Applicativi

  39. Mail Server store and forward Lezione 14( 03/04) Protocolli Applicativi

  40. Mail Server Central Mail Spool (Internet Message Access Protocol) Lezione 14( 03/04) Protocolli Applicativi

  41. Uso della posta elettronica per trasmettere files • ASCII ristretto ed ASCII esteso • Impossibile trasmettere un file binario • La codifica avviene utilizzando lo standard MIME (Multipurpose Internet Mail Extension) • MIME permette a mittente e destinatario la libertà di scegliere lo schema di codifica • Il mittente include nell’intestazione una riga che indica l’uso di MIME e nel corpo alcune informazioni che specificano il tipo dei dati inviati e lo schema di codifica adottato. MIME-version: 1.0 Content-type: text/plain Lezione 14( 03/04) Protocolli Applicativi

  42. Trasferimento dei file • Il sevizio di trasferimento file più diffuso in Internet segue il Protocollo di Trasferimento dei File (FTP) • Protocollo generale • Trasferimento files di natura arbitraria • Controllo degli accessi • Superamento delle differenze dei diversi sistemi operativi • Il protocollo è stato pensato per essere usato in maniera batch o interattiva • Nella maniera interattiva le richieste dei client avvengono mediante una interfaccia di comando Lezione 14( 03/04) Protocolli Applicativi

  43. FTP Lezione 14( 03/04) Protocolli Applicativi

  44. Comandi e sessione FTP • Collegamenti ed autorizzazioni • ftp stabilisce una connessione di controllo prima di iniziare a trasferire i dati • Si deve fornire una login e password • La connessione di controllo rimane attiva fintantoché gli utenti non la chiudono esplicitamente • Accesso anonimo • Anonymous FTP (account speciale usato solo con ftp) • Trasferimento bidirezionale • Per ottenere file: get oppure mget • Per depositare files : send oppure mput Lezione 14( 03/04) Protocolli Applicativi

  45. Comandi e sessione FTP • Nomi dei file e caratteri jolly • Es: li* • Possibili differenze di formato di lunghezza dei nomi • Cartelle • cd nome cartella • Cdup • Ls  esamina contenuto cartella • Tipi di file e modalità di trasferimento • Modalità testuale  ascii • Modalità binaria  binary Lezione 14( 03/04) Protocolli Applicativi

  46. Esempio di utilizzo Lezione 14( 03/04) Protocolli Applicativi

  47. Esempio di utilizzo Lezione 14( 03/04) Protocolli Applicativi

  48. Server FTP Client FTP Connessione dati Connessione di controllo Connessione dati e di controllo • Le connessioni di controllo usate esclusivamente per trasmettere comandi e ricevere le relative risposte • Per trasferire i dati si richiede una autonoma connessione creata ex-novo e chiusa alla fine del trasferimento • Sono usate porte diverse per evitare conflitti • Vantaggi: • Eliminazione di ambiguità tra comandi e dati • Possibilità di attivare comandi anche quando è in corso una connessione dati • Mittente e destinatario applicano lo stato convenzionale di fine file eof 21 20 Lezione 14( 03/04) Protocolli Applicativi

  49. Altri protocolli relativi ai file • Trivial File Transfer Protocol (TFTP) • Usa UDP • Scarso set di comandi e richiesta di meno memoria • Network File System (NFS) • Servizio di accesso ai files che permette ai client di modificare o copiare porzioni di files • Il client NFS invia al server NFS interessato i dati e la richiesta di scrittura, il server procede alla scrittura ed avvisa il client dell’avvenuta operazione • L’interfaccia NFS è integrata con il file system del calcolatore • Condivisione di cartella Lezione 14( 03/04) Protocolli Applicativi

  50. Web Server • Un World Wide Web server distribuisce i documenti richiesti • Il Web Server opera nella rete per questo servizio con un protocollo che si chiama http [Hypertext Transfer Protocol] Lezione 14( 03/04) Protocolli Applicativi

More Related