Reti di Calcolatori: Application Layer e protocolli applicativi

Slide di Università su Reti di Calcolatori. Il Pdf, un documento didattico di Informatica, esplora l'Application Layer, i protocolli applicativi e i meccanismi di trasporto come TCP e UDP, includendo l'analisi del formato dei messaggi email.

Mostra di più

49 pagine

Reti di Calcolatori
Application Layer
web browser
email client
voice call
streaming video
SO
application address?
port
IP layer
193.205.7.124
LAN card driver
LAN
Application Layer
Application LayerReti di Calcolatori2
Programmi applicativi che utilizzano i servizi di rete
Sono spesso basati sul modello client/server
I protocolli applicativi permettono di standardizzare la
comunicazione in modo da rendere interoperabili programmi
sviluppati indipendentemente
specificano il formato dei messaggi di richiesta e risposta che sono
scambiati fra gli agenti software coinvolti
definiscono il meccanismo di trasporto utilizzato (TCP o UDP)
Il servizio di trasporto utilizzato dipende dal tipo di applicazione
UDP è adatto per le applicazioni che richiedono bassa latenza (ritardi)
e overhead (dati in più da trasmettere) ma possono tollerare la perdita
di informazioni (es. trasmissione video o audio)
TCP si usa quando è necessario garantire che tutti i dati trasmessi
arrivino tollerando eventuali ritardi (es. trasferimento pagine Web)
nessuno dei due protocolli fornisce garanzie di temporizzazione

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

Applicazioni di rete

Goog - voice call web browser email client streaming video application address? port LAN IP layer 193.205.7.124 SO LAN card driver o Reti di Calcolatori Application LayerApplication Layer › Programmi applicativi che utilizzano i servizi di rete Sono spesso basati sul modello client/server › I protocolli applicativi permettono di standardizzare la comunicazione in modo da rendere interoperabili programmi sviluppati indipendentemente specificano il formato dei messaggi di richiesta e risposta che sono scambiati fra gli agenti software coinvolti definiscono il meccanismo di trasporto utilizzato (TCP o UDP) Il servizio di trasporto utilizzato dipende dal tipo di applicazione UDP è adatto per le applicazioni che richiedono bassa latenza (ritardi) e overhead (dati in più da trasmettere) ma possono tollerare la perdita di informazioni (es. trasmissione video o audio) › TCP si usa quando è necessario garantire che tutti i dati trasmessi arrivino tollerando eventuali ritardi (es. trasferimento pagine Web) nessuno dei due protocolli fornisce garanzie di temporizzazione

Protocolli applicativi

Application Layer Reti di Calcolatori 2Applicazioni di rete Esistono numerose applicazioni e protocolli applicativi

  • DNS (Domain Name System) Risoluzione dei nomi degli host
  • SMTP (Simple Mail Transfer Protocol) e email sendmail o postfix
  • POP3 (Post Office Protocol) e IMAP (Interactive Mail Access Protocol) Accesso remoto alle caselle di posta elettronica
  • FTP (File Transfer Protocol) Trasferimento file remoti
  • SNMP (Simple Network Management Protocol) Gestione di apparati di rete
  • HTTP (HyperText Transfer Protocol) e il WWW Server web e browsers
  • telnet, rlogin, rcp, ssh, sftp, nfs, Ipd,bittorrent, applicazioni P2P (Peer to Peer), applicazioni per streaming video/audio, ...

Architetture delle applicazioni di rete

Architettura Client-Server

Application Layer Reti di Calcolatori 3Architetture delle applicazioni di rete 1 › Client-Server › Il server è un applicativo sempre attivo in esecuzione su un host L'indirizzo IP (nome DNS) dell'host server deve essere noto Il server è in ascolto su una porta (TCP o UDP) nota (standard) I client sono applicativi in esecuzione su altri host della rete I client sono saltuariamente attivi › Non è richiesto di conoscere a priori l'indirizzo IP e la porta usata dal client Request/response HTTP HTTP Google Web client (browser) TCP port: 45673 IP: 194.22.5.13 IP IP ......... Ether Ether .......... ..... Web client (browser) Google HTTP TCP port: 8769 IP: 80.7.3.134> IP Ether 4 Reti di Calcolatori Application Layer Web server (httpd) ...... TCP port: 80 IP: 143.12.34.5

Architettura Peer to Peer (P2P)

Architetture delle applicazioni di rete 2 Peer to Peer (P2P) › Tutti i nodi (peers) hanno in linea di principio la stessa importanza › Ogni nodo è client e server (servent) › Ogni peer condivide delle risorse (dati/potenza di calcolo) › Possono comunque essere presenti server centralizzati o nodi con funzionalità diverse rispetto agli altri (supernodi) › Il numero di nodi può essere dell'ordine delle centinaia di migliaia › I nodi sono dinamici e autonomi › un nodo può entrare o uscire dalla rete in ogni momento gli indirizzi dei nodi non sono noti a priori e quindi devono essere definiti dei meccanismi di discovery su una LAN si possono usare richieste broadcast (UDP) › su Internet occorre un server che indicizzi i peer (o parte di essi)

Rete P2P Gnutella

Application Layer Reti di Calcolatori 5Rete P2P I peer sono connessi da una rete a livello applicativo Un peer mantiene più connessioni TCP con altri peer › La rete di connessioni è usata per la gestione della rete (es. propagare le ricerche) Gnutella Gnutella - - - - - - - P2P (gnutella) TCP TC IP IF Ether Etler Gnulesa P2P servent (gnutella) - - - - P2P TCF IF -- Gnulesa P2P servent (gnutella) P2P P2P servent (gnutella) - - - - - = TCP TCP IP Ether Etner Gnutella P2P servent (gnutella) P2P TCP IP Ether 6 Reti di Calcolatori Application Layer P2P servent (gnutella) P2P servent P2P = - - Ether P2P = IP

Pro e Contro delle Reti P2P

Reti P2P: Pro & Cons > Il vantaggio delle reti P2P pure (senza server centralizzati) è la scabilità › tutti i peer si dividono il carico › ogni peer aumenta la domanda ma anche la capacità di servizio La gestione delle reti P2P pure è complessa › gestione delle ricerche in modo distribuito (mancanza di un indice centrale): chi ha la risorsa che serve? La ricerca con flooding (propagazione a tutti i peer) crea un traffico elevato gestione della rete in modo robusto: come si trovano i peer a cui connettersi? Come si garantisce l'integrità della rete rispetto alla scomparsa di peer? In genere le reti P2P pure non sono efficienti es. Gnutella

Architetture ibride P2P

Application Layer Reti di Calcolatori 7Architetture ibride E' possibile combinare l'architettura P2P con quella client server (es. bittorrent, e-mule, skype) ›Un server centrale fornisce alcuni servizi (indice per le ricerche, discovery dei peer) Il carico del server centrale è limitato Lo scambio dati avviene fra i peer discovery & lookup server P2Psvc P2P servent (emule) P2P servent (emule) P2P IP TCP Ether - P2P IP TCP Ether IP Ether transfer FARS ....... G ...... - P2P P2P P2P TCP TCP TCP IP IP IP Ether Ether P2P servent (emule) Ether P2P servent (emule) Application Layer 8 Reti di Calcolatori -- P2P servent (emule) - search & register TCP

Domain Name System (DNS)

Domain Name System (DNS) E' un servizio che permette di convertire i nomi (DNS) degli host su Internet nei corrispondenti indirizzi IP › Il nome DNS (è una stringa di caratteri) più facile da ricordare (e che dà più informazioni) rispetto ad un numero a 32 bit www.ing.unisi.it 193.205.7.2 › Senza il DNS la rete Internet funzionerebbe ugualmente ma non sarebbe usabile facilmente dagli utenti › Il DNS è un servizio critico per il funzionamento di Internet › Per scambiare dati due host usano gli indirizzi IP: prima di poter contattare un host l'indirizzo DNS deve essere trasformato nel suo IP corrispondente (DNS lookup)

Struttura del DNS

Application Layer Reti di Calcolatori 9Struttura del DNS II DNS è un'applicazione client/server › è un database distribuito gestito da un insieme di server DNS organizzati in modo gerarchico › definisce un protocollo applicativo con cui è possibile interrogare il database per mezzo di pacchetti UDP (porta 53) Il client (resolver) è un servizio del Sistema Operativo › Occorre configurare il resolver specificando l'indirizzo IP del server DNS (Name server) del dominio locale (anche più di uno) In UNIX è specificato nel file di sistema / etc/resolv.conf Esiste una API C del resolver: gethostbyname () , gethostbyaddr () › Quando un'applicazione deve convertire un nome DNS in indirizzo IP, utilizza il resolver che con il protocollo DNS contatta il server DNS nslookup è un programma client per interrogare il DNS

Risoluzione dei nomi DNS

Application Layer Reti di Calcolatori 10Risoluzione dei nomi DNS > II DNS è usato da altri protocolli applicativi quali ad esempio HTTP, SMTP › La richiesta DNS introduce di fatto un ritardo /etc/resolv.conf client search dii.unisi.it nameserver 193.205.7.2 nameserver 193.205.4.2 3. DNS lookup 3.1 recursive query BIND 2. UDP DNS query ............. 1. gethostbyname("www.w3c.org") resolver 4. UDP DNS response .............. 3.2 reply Google - Mozilla Firefox ------- .. Google SO Parent DNS server (193.205.5.4) servers Advertising Programy - Business Setting . About Create 6. TCP connect(128.30.52.45:80) Local DNS server (193.205.7.2) Google Search |I'm feeling Lucky 5.struct hostent * (128.30.52.45) distributed DNS www.w3c.org ? Reti di Calcolatori Application Layer

Dominio dei nomi DNS

Domain Name Space › Lo spazio dei nomi e organizzato in modo gerarchico › è un abero di nomi di dominio (in parte definito da standard) › ciascun nodo o foglia ha associati zero o più resource records . radice reverse resolution domini generici domini degli stati (ISO 3166 codes) arpa com edu gov int mil net org biz ae it ZW in-addr cisco w3c Emirati Arabi unisi Zimbabwe ing WWW gestiti dal DNS server di ingegneria (193.205.7.2) WWW aplha 12 Reti di Calcolatori Application Layer WWW 2.7.295.193.in-addr.arpa

Nomi di dominio

I nomi di dominio › Un nome di dominio è una stringa composta da una o più parti (label) › le label sono concatenate col carattere . ciascuna label è lunga al massimo 63 caratteri e il nome completo non può superare i 255 caratteri (byte) I caratteri amessi sono un sottoinsieme della codifica ASCII (LDH - Letters Digit Hyphen ma non possono iniziare col carattere -) I nomi DNS sono case-insensitive › Un nome di dominio assoluto (fully qualified domain name - FQDN) termina con un punto (es. www. sun. com.) > I nomi che non terminano con un punto sono relativi (es. alpha è relativo al dominio in cui si trova l'host ovvero ing . unisi. it.) › la label più a destra identifica il top-level domain (es. . com) un hostname è un nome DNS a cui è associato almeno un IP

Host e mail server aliasing

Application Layer Reti di Calcolatori 13Host & mail server aliasing Host aliasing › Un host può avere uno a più sinonimi (alias) Il nome DNS principale è detto canonico www.w3c.org canonical name = dolph.w3.org. Name: dolph.w3.org Address: 128.30.52.45 > Mail server aliasing › II DNS permette una risoluzione dei nomi specifica per i domini di posta elettronica (record di tipo MX - Mail exchange) › Il nome del dominio può essere associato al server di posta elettronica per rendere più leggibili gli indirizzi email >set type=MX > unisi.it unisi.it mail exchanger = 10 antispam.unisi.it. unisi.it mail exchanger = 10 antispam2.unisi.it.

Associazioni uno-a-molti

Application Layer Reti di Calcolatori 14Associazioni "uno-a-molti › II DNS può essere utilizzato per distribuire il carico fra più server con IP diversi › Ad un hostname canonico vengono associati più indirizzi IP › Il server DNS risolve il nome fornendo l'insieme di indirizzi ma ruota l'ordinamento ad ogni risposta › In genere il resolver sceglie il primo indirizzo della lista per cui le richieste sono distribuite a rotazione fra i vari host www.google.com canonical name = www.l.google.com. Name: www.l.google.com Address: 173.194.35.146 Name: www.l.google.com Address: 173.194.35.147 Name: www.l.google.com Address: 173.194.35.148 Name: www.l.google.com Address: 173.194.35.144 Name: www.l.google.com Address: 173.194.35.145 Application Layer Reti di Calcolatori 15

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.