Podcast
Questions and Answers
Quale delle seguenti affermazioni è vera riguardo a un oggetto su una pagina web?
Quale delle seguenti affermazioni è vera riguardo a un oggetto su una pagina web?
Qual è il ruolo principale del client nel modello client/server di HTTP?
Qual è il ruolo principale del client nel modello client/server di HTTP?
Cosa si intende per 'protocollo senza stato' in HTTP?
Cosa si intende per 'protocollo senza stato' in HTTP?
Quale porta viene utilizzata da HTTP per le connessioni TCP?
Quale porta viene utilizzata da HTTP per le connessioni TCP?
Signup and view all the answers
Che cosa rappresenta un URL in relazione a una pagina web?
Che cosa rappresenta un URL in relazione a una pagina web?
Signup and view all the answers
Qual è una caratteristica distintiva del protocollo HTTP rispetto ad altri protocolli?
Qual è una caratteristica distintiva del protocollo HTTP rispetto ad altri protocolli?
Signup and view all the answers
Un file HTML è utilizzato principalmente per cosa in una pagina web?
Un file HTML è utilizzato principalmente per cosa in una pagina web?
Signup and view all the answers
Quale affermazione descrive meglio il funzionamento del server in una connessione HTTP?
Quale affermazione descrive meglio il funzionamento del server in una connessione HTTP?
Signup and view all the answers
Quale affermazione riguardo al client è corretta?
Quale affermazione riguardo al client è corretta?
Signup and view all the answers
Qual è una caratteristica principale dell'architettura P2P pura?
Qual è una caratteristica principale dell'architettura P2P pura?
Signup and view all the answers
In che modo funziona la messaggistica istantanea in un contesto ibrido?
In che modo funziona la messaggistica istantanea in un contesto ibrido?
Signup and view all the answers
Quale delle seguenti affermazioni sul cloud computing è vera?
Quale delle seguenti affermazioni sul cloud computing è vera?
Signup and view all the answers
Cosa rappresenta una socket in un contesto di comunicazione tra processi?
Cosa rappresenta una socket in un contesto di comunicazione tra processi?
Signup and view all the answers
Quale informazione è necessaria affinché un processo su un host invii un messaggio a un altro processo?
Quale informazione è necessaria affinché un processo su un host invii un messaggio a un altro processo?
Signup and view all the answers
Qual è una sfida dell'architettura P2P rispetto al modello client-server?
Qual è una sfida dell'architettura P2P rispetto al modello client-server?
Signup and view all the answers
In un sistema client-server, quale ruolo svolge il processo server?
In un sistema client-server, quale ruolo svolge il processo server?
Signup and view all the answers
Nel contesto dell'architettura ibrida, cosa fa il server centralizzato in Skype?
Nel contesto dell'architettura ibrida, cosa fa il server centralizzato in Skype?
Signup and view all the answers
Qual è una caratteristica comune dei processi in un'architettura P2P?
Qual è una caratteristica comune dei processi in un'architettura P2P?
Signup and view all the answers
Qual è il principale motivo per cui i server DNS radice non vengono visitati frequentemente?
Qual è il principale motivo per cui i server DNS radice non vengono visitati frequentemente?
Signup and view all the answers
Quale dei seguenti tipi di record DNS specifica un server per la gestione della posta elettronica?
Quale dei seguenti tipi di record DNS specifica un server per la gestione della posta elettronica?
Signup and view all the answers
Qual è la funzione principale dei meccanismi di aggiornamento/notifica progettati da IETF?
Qual è la funzione principale dei meccanismi di aggiornamento/notifica progettati da IETF?
Signup and view all the answers
Qual è un rischio associato all'abilitazione della cache DNS?
Qual è un rischio associato all'abilitazione della cache DNS?
Signup and view all the answers
Che cosa rappresenta la parte 'ttl' nel formato di un record di risorsa (RR)?
Che cosa rappresenta la parte 'ttl' nel formato di un record di risorsa (RR)?
Signup and view all the answers
Qual è la conseguenza più probabile di un attacco mirato al DNS locale?
Qual è la conseguenza più probabile di un attacco mirato al DNS locale?
Signup and view all the answers
Quale dei seguenti non è un tipo di record DNS?
Quale dei seguenti non è un tipo di record DNS?
Signup and view all the answers
Cosa deve fare un registrar quando registra un dominio nuovo?
Cosa deve fare un registrar quando registra un dominio nuovo?
Signup and view all the answers
Qual è il formato corretto per un record di tipo NS?
Qual è il formato corretto per un record di tipo NS?
Signup and view all the answers
Qual è l'identificazione in un messaggio DNS?
Qual è l'identificazione in un messaggio DNS?
Signup and view all the answers
Quale affermazione riguardante il protocollo POP3 è corretta?
Quale affermazione riguardante il protocollo POP3 è corretta?
Signup and view all the answers
Quale delle seguenti porte è utilizzata per il protocollo SMTP con TLS?
Quale delle seguenti porte è utilizzata per il protocollo SMTP con TLS?
Signup and view all the answers
Durante l'uso di STARTTLS, quale di queste affermazioni è vera?
Durante l'uso di STARTTLS, quale di queste affermazioni è vera?
Signup and view all the answers
Qual è la principale differenza tra POP3 e IMAP?
Qual è la principale differenza tra POP3 e IMAP?
Signup and view all the answers
Quale delle seguenti affermazioni sul Domain Name System (DNS) è corretta?
Quale delle seguenti affermazioni sul Domain Name System (DNS) è corretta?
Signup and view all the answers
Quale delle seguenti opzioni descrive meglio la modalità 'scarica e mantieni' del protocollo POP3?
Quale delle seguenti opzioni descrive meglio la modalità 'scarica e mantieni' del protocollo POP3?
Signup and view all the answers
Quale affermazione riguardante le porte in uso per le comunicazioni sicure è falsa?
Quale affermazione riguardante le porte in uso per le comunicazioni sicure è falsa?
Signup and view all the answers
Qual è la funzione principale di TLS nelle comunicazioni email?
Qual è la funzione principale di TLS nelle comunicazioni email?
Signup and view all the answers
Perché POP3 è considerato un protocollo senza stato?
Perché POP3 è considerato un protocollo senza stato?
Signup and view all the answers
Qual è il tempo impiegato da un server per inviare N copie di un file di dimensione F con un bit rate di upload us?
Qual è il tempo impiegato da un server per inviare N copie di un file di dimensione F con un bit rate di upload us?
Signup and view all the answers
Quale affermazione descrive meglio il comportamento del peer nel sistema P2P quando un peer si unisce a un torrent?
Quale affermazione descrive meglio il comportamento del peer nel sistema P2P quando un peer si unisce a un torrent?
Signup and view all the answers
Qual è la funzione del tracker in un sistema P2P come BitTorrent?
Qual è la funzione del tracker in un sistema P2P come BitTorrent?
Signup and view all the answers
Qual è il maggior vantaggio dell'approccio P2P rispetto al modello server-client nella distribuzione dei file?
Qual è il maggior vantaggio dell'approccio P2P rispetto al modello server-client nella distribuzione dei file?
Signup and view all the answers
In un sistema P2P, cosa significa 'choked' per un peer?
In un sistema P2P, cosa significa 'choked' per un peer?
Signup and view all the answers
Qual è il principio fondamentale del meccanismo 'rarest first' utilizzato in BitTorrent?
Qual è il principio fondamentale del meccanismo 'rarest first' utilizzato in BitTorrent?
Signup and view all the answers
Qual è la formula per calcolare il tempo di distribuzione di un file F a N client usando l'approccio client/server?
Qual è la formula per calcolare il tempo di distribuzione di un file F a N client usando l'approccio client/server?
Signup and view all the answers
Che cosa implica essere un 'seeder' in un sistema P2P?
Che cosa implica essere un 'seeder' in un sistema P2P?
Signup and view all the answers
Qual è la formula per calcolare il tempo di download di un file F da un peer con un bit rate di download di di?
Qual è la formula per calcolare il tempo di download di un file F da un peer con un bit rate di download di di?
Signup and view all the answers
Cosa determina il termine 'egoisticamente' in relazione al comportamento di un peer?
Cosa determina il termine 'egoisticamente' in relazione al comportamento di un peer?
Signup and view all the answers
Quale dei seguenti comportamenti non è tipico in un network P2P?
Quale dei seguenti comportamenti non è tipico in un network P2P?
Signup and view all the answers
Qual è il ruolo del tempo F/us nel contesto della distribuzione P2P?
Qual è il ruolo del tempo F/us nel contesto della distribuzione P2P?
Signup and view all the answers
Nella distribuzione di file tramite BitTorrent, quando il peer Alice invia le sue parti a quattro vicini, chi seleziona ogni quanto tempo i 'favoriti'?
Nella distribuzione di file tramite BitTorrent, quando il peer Alice invia le sue parti a quattro vicini, chi seleziona ogni quanto tempo i 'favoriti'?
Signup and view all the answers
Study Notes
Architettura Client/Server
- Il client comunica con il server e può disconnettersi temporaneamente.
- Il client può avere un indirizzo dinamico e non comunica direttamente con altri client.
Architettura P2P Pura
- Non esiste un server sempre attivo.
- I peer comunicano direttamente tra loro in coppie arbitrarie.
- I peer non devono essere sempre attivi e cambiano indirizzo IP facilmente.
- Questa architettura è facilmente scalabile ma difficile da gestire.
Architettura Ibrida
- Esempio: Skype
- Applicazione P2P di Voice over IP.
- Server centralizzato per la ricerca degli indirizzi della parte remota.
- Connessione client-client diretta, senza passare dal server.
- Esempio: Messaggistica istantanea
- La chat tra due utenti è P2P.
- L'individuazione della presenza/location è centralizzata: l'utente registra il suo indirizzo IP sul server centrale quando è online e lo contatta per conoscere gli indirizzi IP dei suoi amici.
Cloud Computing
- Insieme di tecnologie per memorizzare, archiviare ed elaborare dati tramite risorse distribuite e virtualizzate in rete.
- La creazione di backup è automatica e l'operatività è online.
- I dati sono memorizzati in server farm generalmente localizzate nei Paesi di origine del service provider.
Comunicazione tra Processi del Sistema Operativo
- Processo: programma in esecuzione su un host.
- Processo client: inizia la comunicazione.
- Processo server: attende di essere contattato.
- I processi sullo stesso host comunicano tramite schemi interprocesso (definiti dal sistema operativo).
- I processi su host differenti comunicano tramite lo scambio di messaggi.
- Le applicazioni con architetture P2P hanno processi client e server.
Socket
- Un processo invia e riceve messaggi alla sua socket.
- Una socket è simile a una porta.
- Il processo che vuole inviare un messaggio lo fa uscire dalla sua porta (socket).
- Il processo presuppone l'esistenza di un’infrastruttura esterna che trasporterà il messaggio attraverso la rete fino alla porta del processo di destinazione.
- API: scelta del protocollo di trasporto e capacità di determinare alcuni parametri.
Indirizzamento
- Per inviare un messaggio a un processo su un altro host, il mittente deve identificare il destinatario.
- L'identificatore comprende l'indirizzo IP e i numeri di porta associati al processo in esecuzione su un host.
- Esempi di numeri di porta: HTTP server (80), Mail Server (25).
- Per inviare un messaggio HTTP al server gaia.cs.umass.edu bisogna conoscere il suo indirizzo IP e il numero di porta 80.
Web e HTTP
- Una pagina web è costituita da oggetti (file HTML, immagini JPEG, applet Java, file audio, ecc.).
- L'Hypertext Markup Language (HTML) è il linguaggio di markup che struttura una pagina web.
- Ogni oggetto è referenziato da un Uniform Resource Locator (URL).
- Esempio di URL: www.someschool.edu/someDept/home.html (nome dell'host: www.someschool.edu, nome del percorso: /someDept/home.html).
Panoramica su HTTP
- HyperText Transfer Protocol (HTTP).
- Protocollo applicativo del web.
- Modello client/server:
- Client: browser che richiede, riceve e visualizza gli oggetti del web.
- Server: server web che invia gli oggetti in risposta a una richiesta.
- Usa TCP: il client inizializza la connessione TCP (crea una socket) con il server sulla porta 80.
- Il server accetta la connessione TCP dal client.
- HTTP è un protocollo “senza stato” (stateless): il server non mantiene informazioni sulle richieste fatte dal client.
Protocollo POP3
- Fase di autorizzazione:
- Comandi del client: user (dichiara il nome dell'utente), pass (password).
- Risposte del server: +OK (successo), -ERR (errore).
- Fase di transazione:
- Comandi del client: retr (ottenere i messaggi in base al numero), dele (cancellare i messaggi), quit (chiudere la connessione).
- Risposte del server: messaggio ottenuto, i messaggi sono stati cancellati, +OK (chiusura della connessione).
POP3 (altro) e IMAP
- POP3:
- Modalità "scarica e cancella": cancella i messaggi dal server dopo il download.
- Modalità "scarica e mantieni": copia i messaggi su più client.
- Protocollo senza stato tra le varie sessioni: non mantiene informazioni sullo stato dell'utente.
- IMAP:
- Mantiene tutti i messaggi su un server.
- Consente all'utente di organizzare i messaggi in cartelle.
- Conserva lo stato dell'utente tra le varie sessioni.
SMTP e Transport Layer Security (TLS)
- La sicurezza della comunicazione può essere garantita usando SMTP insieme a TLS.
- La comunicazione non può avvenire su porte dove è in ascolto un server di posta che non usa la crittografia.
- Porte utilizzate: SMTP con SSL/TLS (465), POP3 con SSL/TLS (995), IMAP con SSL/TLS (993).
STARTTLS
- Evoluzione di TLS.
- Consente di cifrare la connessione anche sulle porte originali o standard (110 per POP3, 143 per IMAP, 25 per SMTP).
- Il client che usa STARTTLS:
- Chiede al server l'instaurazione di una connessione cifrata.
- La sessione inizia in chiaro e diventa cifrata prima della trasmissione di informazioni sensibili.
- Viene spesso impiegato tra MTA (Mail Transfer Agent) durante il trasporto di email tra provider.
DNS: Domain Name System
- Database distribuito implementato in una gerarchia di server DNS.
- Protocollo di livello applicativo che consente agli host, ai router e ai server DNS di comunicare per risolvere i nomi (tradurre indirizzi/nomi).
- Funzioni critiche di Internet implementate come protocollo di livello applicativo.
- Complessità nelle parti periferiche della rete.
DNS: Caching e Aggiornamento dei Record
- Un server DNS memorizza nella cache le mappature tra nome e indirizzo IP.
- Le informazioni nella cache vengono invalidate dopo un periodo di tempo.
- Un server DNS locale memorizza nella cache gli indirizzi IP dei server TLD.
- I meccanismi di aggiornamento/notifica sono progettati da IETF.
- I problemi che possono sorgere abilitando una cache DNS sono:
- Attacco al DNS locale: impedisce l'accesso al DNS.
- Attacco al DNS autoritativo: impedisce l'accesso al dominio.
Resource Record (RR) nel DNS
- DNS: database distribuito che memorizza i record di risorsa (RR).
- Formato RR: (name, value, type, ttl).
- Type=A: associa il nome dell'host all'indirizzo IP (standard).
- Type=CNAME: associa un alias a un nome canonico.
- Type=NS: associa il dominio al nome dell'host del server di competenza.
- Type=MX: associa il nome del server di posta al dominio.
DNS Types
- A: Address (indirizzi IP).
- NS: Name server (server di competenza).
- MX: Mail exchanger (server di posta).
- CNAME: Canonical name (nome canonico).
- TXT: Test (dati testuali arbitrari).
- SOA: Start of authority (informazioni sul dominio).
- PTR: Pointer (mappatura inversa).
- SRV: Service location (localizzazione del servizio).
Messaggi DNS
- Protocollo DNS: domande (query) e messaggi di risposta con lo stesso formato.
- Intestazione del messaggio:
- Identificazione: numero di 16 bit che identifica la domanda.
- Flag:
- Domanda o risposta.
- Richiesta di ricorsione.
- Ricorsione disponibile.
- Risposta di competenza.
Inserire Record nel Database DNS
- Esempio: registrazione del nome networkutopia.com presso un registrar (es. Network Solutions).
- Il registrar controlla l'unicità del nome e lo inserisce nel database DNS.
- Il registrar inserisce due RR nel server TLD per il dominio com:
- (networkutopia.com, dns1.networkutopia.com, NS).
- (dns1.networkutopia.com, 212.212.212.1, A).
- Il server di competenza deve avere:
- Un record tipo A per www.networkutopia.com.
- Un record tipo MX per networkutopia.com.
- Gli utenti otterranno l'indirizzo IP del sito web attraverso la risoluzione DNS.
Distribuzione di file: server-client
- Il server invia in sequenza N copie del file F a tutti i client.
- Il tempo necessario per distribuire il file a N client è il massimo tra NF/us (tempo per inviare N copie dal server) e F/min(di) (tempo per il client più lento per scaricare il file).
- Il tempo di distribuzione aumenta linearmente con il numero di peer.
Distribuzione di file: P2P
- Il server invia una singola copia del file al primo peer.
- Ogni peer scarica il file da altri peer.
- Il tempo di distribuzione è il massimo tra F/us (tempo per il server per inviare la prima copia), F/min(di) (tempo per il peer più lento per scaricare il file), e NF/(us + i ui) (tempo per inviare tutto il file tramite upload da tutti i peer).
- Il tasso di upload più veloce possibile per il download è us (velocità di upload del server) + la somma delle velocità di upload di tutti i peer.
Confronto tra server-client e P2P
- In un esempio con un tasso di upload del client di u, F/u = 1 ora, us = 10u e min(di) ≥ us, il metodo P2P è più veloce del metodo client-server per un numero elevato di peer.
- Il tempo di distribuzione minimo per P2P è minore del tempo di distribuzione minimo per client-server.
Distribuzione di file: BitTorrent
- BitTorrent è un sistema di distribuzione P2P che si basa su un tracker per tenere traccia dei peer e un torrent per il gruppo di peer che si scambiano parti del file.
- Il file viene diviso in parti (chunk), tipicamente da 256 kByte.
- Quando un nuovo peer entra nel torrent, inizia a scaricare le parti mancanti e a caricare le parti che ha già.
BitTorrent (1)
- I peer entrano ed escono a piacimento dal torrent.
- Una volta ottenuto l'intero file, un peer può lasciare il torrent (leech) o rimanere collegato (seeder).
- I peer si registrano presso il tracker per ottenere la lista di altri peer e si collegano a un sottoinsieme di peer vicini.
- Il peer carica le proprie parti su altri peer mentre scarica il file.
BitTorrent (2)
- I peer, in un dato momento, possono avere sottoinsiemi diversi del file.
- Un peer (Alice) chiede a ciascun vicino la lista dei chunk che possiede e invia le richieste per le sue parti mancanti.
- Alice, ogni 10 secondi, aggiorna il gruppo dei suoi 4 fornitori preferiti, che sono i peer che le stanno inviando i propri chunk più velocemente.
- Ogni 30 secondi, Alice sceglie casualmente un altro peer e inizia a inviargli chunk (optimistically unchoked).
BitTorrent: occhio per occhio (tit for tat)
- Un processo di scambio di informazioni tra peer in BitTorrent:
- Alice sceglie casualmente Bob.
- Alice diventa uno dei quattro fornitori preferiti di Bob.
- Bob ricambia diventando uno dei quattro fornitori preferiti di Alice.
- Con un'elevata frequenza di upload, è possibile trovare i partner migliori e ottenere il file più velocemente.
P2P: ricerca di informazioni
- Un indice nei sistemi P2P è una Distributed Hash Table (DHT) che associa le informazioni alla loro posizione negli host.
File sharing (es.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Questo quiz esplora le diverse architetture di rete, tra cui Client/Server, P2P pura e architetture ibride come Skype. Approfondiremo le caratteristiche e i vantaggi di ciascun modello, dando un occhio al Cloud Computing. Metti alla prova le tue conoscenze su questi temi fondamentali per la comprensione delle reti moderne.