Newest Viewed Downloaded

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

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

Come accedere alle applicazioni

NFS TELNET SNMP FTP DNS SMTP IGMP RARP IP ARP UDP FISICO PROTOCOLLI DEFINITI DALLA RETE SOTTOSTANTE COMUNICAZIONE ICMP RETE TCP TRASPORTO SESSIONE PRESENTAZIONE APPLICAZIONI APPLICAZIONE 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

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

Modello client - server

Il server attende passivamente di essere contattato, mentre il client avvia il processo di comunicazione 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

Interazione tra client e server

E A Trasporto k j dati Trasporto k j dati E A Rete k j dati E A Rete k j dati 77 95 E A collegamento k j dati 77 95 E A collegamento k j dati Internet client server

Servizi multipli

SCHEDA DI RETE INTER-RETE TRASPORTO Un calcolatore di classe server può offrire contemporaneamente più servizi, ciascuno dei quali è erogato da una specifica applicazione server SCHEDA DI RETE INTER-RETE TRASPORTO SCHEDA DI RETE INTER-RETE TRASPORTO Client 1 Client 2 Server 1 Server 2

Creazione dinamica (1)

Erogazione dello stesso servizio a più client senza che questi debbano mettersi in coda TCP client Porta effimera TCP client Porta effimera Porte effimere serverfiglio serverfiglio Server padre TCP Porta nota usata solo per l’apertura della connessione Server parallelo con connessioni

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) UDP client Porta effimera UDP client Porta effimera Porta nota Server UDP Un client alla volta

Interfaccia socket

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

DESCRITTORE SOCKET

Descrittore (numero naturale) che individua il socket (-1 for error) sd Il particolare protocollo di trasporto 0 nel caso TCP/IP Protocollo Modalità di comunicazione Trasmissione orientata alla connessione (SOCK_STREAM) Trasmissione priva di connessione (SOCK_DGRAM) Tipo Famiglia dei protocolli da usare (PF_INET per TCP/IP) (PF_DECnet per DEC) Fam_prot sd=socket(fam_prot,tipo,protocollo) Crea una socket e restituisce il descrittore Procedura SOCKET 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

PROCEDURE SOCKET

Descrittore (numero naturale) che individua il socket sd Close (sd) Richiede al sistema la chiusura di una socket Procedura close Di solito i client non chiamano la funzione BIND perche dell’indirizzo socket locale se ne occupa il sistema operativo Intero che rappresenta la lunghezza dell’indirizzo lungh_ind Indirizzo locale da assegnare alla socket ind_locale Descrittore (numero naturale) che individua il socket sd Bind (sd,ind_locale,lungh_ind) Lega un socket ad un indirizzo socket locale, cioè definisce il valore dell’indirizzo socket locale Procedura bind Massima lunghezza della coda lungh_coda Listen (sd,lungh_coda) Rende la socket passiva sul server per poterla usare per ricevere dati dal client Procedura listen

PROCEDURE SOCKET (continua)

Riempie i campi ind_client con l’indirizzo del client che inoltra la richiesta, crea una nuova socket e ne ritorna il descrittore al server Nuova_socket=accept( sd, ind_client,lungh_ind_client) Chiamata dal server e rimuove la prima richiesta di connessione dalla coda corrispondente. Procedura accept Connect(sd,ind_server,lungh_ind_server) Usata dal client per collegarsi al server Procedura connect Send(sd,dati…..) Trasferisce i dati in una comunicazione orientata alla connessione Procedura send Send(sd,dati, ind_dest…..) Trasferisce i dati in una comunicazione priva di connessione Procedura sendto Recv(sd, buffer, …..) Riceve i dati in una comunicazione orientata alla connessione Procedura recv Recv(sd, buffer, ind_mitt,…..) Riceve i dati in una comunicazione priva di connessione Procedura recvfrom

Esempio per server parallelo con connessioni

socket bind listen socket connect ripetizione accept Close accepting recv processo send ripetizione Close accepting ripetizione send recv Close SERVER CLIENT CHILD

Esempio per server sequenziale senza connessioni

socket bind socket ripetizione recvfrom processo sendto ripetizione sendto recvfrom Close SERVER CLIENT

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

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

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 CLIENT SERVER 67 UDP Apertura passiva CLIENT SERVER 67 UDP Richiesta 68 IP destinat IP mitt Porta destinatario Porta mittente richiesta Tutti 1 Tutti 0 67 68 richiesta CLIENT SERVER 67 UDP Risposta 68 Indirizzo unicast del client Indirizzo unicast del server 68 67 risposta

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”

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

Nomi di Dominio

INDIRIZZI IP 151.100.20.152 Registro Nomi it uniroma1 let cri cri.let.uniroma1.it sistema di registrazione unificato Domain Name System (DNS) un nome è decodificato da destra verso sinistra la parte più a destra è definita zona Per non doversi ricordare tutte le volte un indirizzo numerico, le varie reti che partecipano a Internet si sono accordate per definire uno standard di nomi alfanumerici, in modo che l'utente debba digitare ad esempio HTTP://WWW.MUSEOSCIENZA.ORG, e poi l'indirizzamento avvenga automaticamente verso l'indirizzo numerico giusto. La traduzione dell'indirizzo da caratteri a numeri e' il compito di specifici computer chiamati Name Server Questo sistema di nomi e' il Domain Name System (DNS)

Showing 1 - 20 of 95 items Details

Name: 
lezione14
Author: 
alberto
Company: 
Università di Camerino
Description: 
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it
Tags: 
server | client | richiesta | dati | http | web | socket | browser
Created: 
3/14/2001 10:48:50 AM
Slides: 
95
Views: 
16
Downloads: 
2
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap