World Wide Web (protocolli, linguaggi, indirizzi) Flashcards
Modello client-server
E’ alla base sia delle reti locali sia di quelle internet.
Server: elaboratori di una rete che hanno compiti specifici di gestione di risorse condivise (stampanti, dischi, database ecc).
Client: elaboratori che usano una risorsa gestita da un server.
Internet e protocolli di rete
- Reti geograficheCollegano tra di loro elaboratori e reti locali dislocate in aree diverse di una nazione o in continenti differenti.
- Arpanet → prima rete geografica, USA anni ‘70, finanziata dal Dipartimento della Difesa. Connetteva centri di ricerca americani.
- Internet → erede di ARPAnet, è la rete mondiale di reti di elaboratori.
- TCP/IP, internet e Internet
E’ la tecnologia di interconnessione tra reti di elaboratori detta internet (con la i minuscola) Anche Internet (rete di reti di calcolatori estesi in tutto il pianeta) è basata su tecnologia TCP/IP ed è una internet.
- Protocolli di comunicazioneE’ l’insieme di regole che stabiliscono le operazioni che devono essere eseguite ad ogni scambio di informazioni e consentono di determinare il significato dei messaggi scambiati.
- Protocolli InternetSono organizzati in una gerarchia di protocolli.
Sono strutturati in 4 livelli o strati.
Utilizzano l’incapsulamento del messaggio o dei dati tra i vari livelli della gerarchia.
Incapsulamento
E’ un principio fondamentale alla base delle reti TCP/IP.
Ogni messaggio è composto da un header (metadati del messaggio) e un payload (dati veri e propri da inviare).
Esempio posta: mittente - postino A - centro di distribuzione A - corriere - centro di distribuzione B - postino B - destinatario.
L’incapsulamento è l’operazione di inserimento dei dati di un certo livello N della rete nel campo payload di un pacchetto N-1 (o in più pacchetti) insieme ai metadati di controllo (header).
Si ottiene un pacchetto di livello N-1 che diventa il carico utile per il protocollo di rete di livello N-2 e così via.
Gerarchia di protocolli
Suite di protocolli Internet TCP/IP → gerarchia di incapsulamento dei dati da spedire, organizzata in 4 livelli:
- Applicazione → HTTP - web
Dove vengono creati i dati dell’utente (messaggi di richiesta per una pagina web, messaggi di risposta contenente la pagina web richiesta)
E’ dove agiscono i protocolli di alto livello come HTTP:
E’ questo livello che permette la connessione tra applicazioni (browser con server web) - Trasporto - TCP - Internet
Permette la comunicazione tra il computer mittente e quello destinatario che ospitano le due applicazioni usate per la comunicazione a livello di applicazione.
Questo livello è regolato dal protocollo TCP (in Internet). - Rete - IP -Internet
Permette la comunicazione tra iv ari nodi presenti in Internet e l’instradamento dei pacchetti dal mittente fino al destinatario.
Questo livello è regolato dal protocollo IP. - Accesso alla Rete (o accesso fisico) - Dipende dalla rete
Definisce come i vari pacchetti devono essere instradati in una rete locale.
Il protocollo usato dipende dalla tipologia di rete in considerazione.
Si occupa della comunicazione fisica tra due nodi della rete.
Internet Protocol (IP)
E’ un protocollo a livello di rete che regola l’instradamento (routing) dei pacchetti IP (datagram) che compongono il messaggio originale attraverso i vari nodi di Internet.
Tra la versione IPv4 e IPv6 cambia la massima quantità di dati che ogni pacchetto IP può trasportare.
E’ un sistema di comunicazione:
-
a commutazione di pacchetto (Internet è basato sulla commutazione a pacchetto) →
- I pacchetti IP vengono instradati in modo completamente indipendente tra loro
- ogni pacchetto contiene esplicitamente l’indirizzo del nodo a cui deve essere recapitato e il numero di sequenza del pacchetto
-
non orientato alla connessione →
- Il mittente e il destinatario non devono mettersi d’accordo ma agiscono senza conoscere lo stato dell’altro
- Non viene stabilita nessuna connessione tra mitt e dest, ogni pacchetto viene inoltrato alla reta
- Non viene mantenuta nessuna storia della comunicazione e del percorso seguito da ciascun pacchetto
-
non affidabile →
- I pacchetti IP possono perdersi, duplicarsi, non arrivare in ordine
- Il protocollo IP non è responsabile della risoluzione di queste problematiche (demandate al livello di trasporto, protocollo TCP)
Per identificare un nodo in Internet bisogna conoscere a quale rete appartiene e individuarlo con un indirizzo IP (tutti i dispositivi connessi a Internet ne hanno uno).
I pacchetti IP specificano l’indirizzo IP del mittente e del destinatario per ogni pacchetto.
Indirizzo IP
- successione di 4 numeri [0-255] in dot notation. E’ definito mediante l’uso di 4 byte, ogni byte permette di definire un numero intero tra 0 e 255
- Può essere:
- statico → non cambia mai (es. server web dei siti)
- dinamico → cambia ogni volta che ci si connette a internet
- E’ composto da:
- net id → identificatore di rete (identifica la rete a cui appartiene il nodo), dev’essere unico in Internet [primi due numeri]
- host id → identificatore dello specifico nodo nella rete, dev’essere unico all’interno della rete [secondi due numeri]
- Può essere:
Router
Regola il corretto funzionamento della rete e del protocollo IP → si occupa dell’instradamento dei pacchetti IP dal mittente al destinatario.
Ne esistono di diversi tipi: quello che abbiamo a casa che mette in contatto la nostra rete con il ISP (internet service provider) che ci permette di usare i servizi Internet.
Compiti:
- veicola il traffico dei pacchetti IP verso il percorso più appropriato dal mittente al destinatario
- utilizza solo le informazioni contenute nell’header dei pacchetti IP, non entra nel merito del payload e non tiene traccia del percorso
- quando riceve un pacchetto IP, controlla il prossimo nodo a cui deve essere trasmesso in modo da avvicinarlo al destinatario.
- se il pacchetto è destinato a un nodo di una rete connessa al router → glielo passa
- se il pacchetto è destinato a un nodo di una rete non connessa al router → lo passa al router a cui e connesso che ritiene abbia più probabilità di far arrivare il pacchetto al destinatario giusto.
- Time to live dell’header del pacchetto → per evitare che continui a rimbalzare tra un router e l’altro, è il tempo entro il cui il pacchetto va consegnato. Quando un router riceve un pacchetto, diminuisce di 1 il valore del campo e se è arrivato a 0 lo distrugge
Transmission Control Protocol (TCP)
E’ un protocollo livello di trasporto → sopra al protocollo IP, è un protocollo a commutazione di circuito virtuale che dà l’impressione a due nodi di stabilire un circuito di comunicazione che viene mantenuto attivo per l’intera comunicazione. E’_
-
Orientato alla connessione
- Il protocollo TCP sul nodo chiamante invia una richiesta di connessione al protocollo TCP sul nodo chiamato
- Se il nodo chiamato accetta → invia un segnale di accordo per stabilire la connessione
- Inizia la comunicazione spedendo un flusso di dati sul canale appena aperto
- Il flusso viene ricevuto dal protocollo TCP sul nodo chiamato
-
Affidabile
- il TCP pemette la consegna affidabile, ordinata e esente da errori di un flusso di byte tra due nodi in comunicazione attraverso una rete basata su protocollo IP
- Gestisce tutti i processi che garantiscono la ritrasmissione di un pacchetto nel caso in cui non sia stato recapitato al destinatario entro un certo tempo limite
-
A commutazione di circuito virtuale
- La comunicazione è come un flusso continuo di dati che viaggiano su un canale virtuale
- Il TCP suddivide i messaggi che gli arrivano dal livello applicazione in segmenti
- Ogni segmento contiene una parte di dati + un header (che contiene informazioni di controllo come i numeri delle porte di comunicazione, il numero di sequenza del segmento, informazioni per la corretta ricezione) e viene passato al livello sottostante e viene gestito dal protocollo IP
- Processo inverso sul nodo di destinazione
Three way handshake
mittente e destinatario si mettono d’accordo per iniziare una comunicazione prima di scambiarsi i dati e al termine della comunicazione. Mittente e desinatario devono scambiare 3 messaggi per instaurare la connessione correttamente: SYN (A→B), SYN-ACK (B→A), ACK (A → B).
Positive Acknowledgement
Quanto il protocollo TCP del nodo mittente passa un segmento al livello IP, stabilisce un tempo entro il quale si aspetta una conferma di avvenuta ricezione:
- se il protocollo TCP del nodo destinatario riceve un segmento e non emergono errori di trasmissioni, invia messaggio di avvenuta ricezione al TCP del mittente
- se il protocollo TCP del nodo mittente NON riceve, entro un tempo stabilito un messaggio di avvenuta ricezione, invia di nuovo quel segmento. Esiste un numero massimo di segmenti inviati e di cui non si è ricevuta conferma, oltre il quale il protocollo TCP si ferma e deve attendere una conferma prima di inviare un ulteriore segmento.