Strato 4 Flashcards
A cosa serve IP?
A raggiungere destinazioni remote perchè solo con ethernet e quindi con il livello 2 non riusciremmo a farlo. IP infatti costruisce reti logiche su reti fisiche di livello 2.
Quali sono i problemi di IP per cui è necessario un altro livello?
- quando un pacchetto IP arriva alla destinazione-IP deve essere trasferito al livello applicazione. Sull’host ci sono molto probabilmente più applicazioni e non solo una. Come fa il pacchetto a essere indirizzato correttamente?
- ho fatto una richiesta a un web server che mi manda una risposta ma io intanto sto mandando una mail: come fa l’host a capire se i bit di risposta devono andare al browser o al client di posta?
- si tratta di un protocollo best effort: non si ha la certezza che i dati arrivino. E se si tratta di operazioni bancarie? Bisogna garantire un trasporto end-to-end.
Cosa permette di fare in generale l’assegnazione di porte?
multiplexing e demultiplexing
Cosa permettee in generale il livello 4?
trasferimento dati affidabile, controllo di flusso e di congestione
Quali sono i due protocolli di trasporto e cosa permettono di fare?
UDP: (de)multiplexing
TCP: (de)multiplexing, trasferimento affidabile, controllo di flusso e d congestione,
Il canale di livello 4 coinvolge la rete?
NO infatti i router in mezzo ai due terminali hanno solo fino al livello 3
Cos’è un canale di livello 4?
è un canale logico end-to-end
Il livello 4 può intervenire su perdita di pacchetti, ritardo e banda?
sì su perdita e no su ritardo e banda perchè è una cosa di cui si occupa il livello applicazione
come viene gestito il flusso dati da livello 5 a 3?
La sorgente (livello 5) manda un messaggio al livello 4 che lo divide in segmenti. I segmenti vengono imbustati in datagram, IP. Arrivati al ricevitore i segmenti vengono riassemblati e viene ricreato il flusso dati originale.
Di quali campi necessitano il multiplexing e demultiplexing?
iil livello 3 ha bisogno di IP destinazione e sorgente, il livello 4 di porta destinazione e sorgente. il datagram ip infatti imbusta il segmento di liv.4 contenente le porte e lo manda nella rete ip.
Cos’è un socket?
È l’interfaccia di comunicazione end-to-end tra due processi (programmi) che sono in esecuzione.
È dato da numero di porta e indirizzo IP e un socket è univoco nella rete. L’IP è necessario per l’identificazione del socket.
Quali sono le caratteristiche del demultiplexing per UDP?
- il pocket UDP è identificato da 2 parametri: l’indirizzo IP e il numero di porta della destinazione
Quando l’host riceve il segmento UDP controlla il numero di porta di destinazione contenuto nel segmento e dirige il segmento UDP a tale porta. Il processo che riceve il segmento deve \textit{ascoltare} quella porta (socket API) e infatti il numero di porta serve a identificare il socket corretto.
Quali sono le caratteristiche del demultiplexing per TCP?
il socket TCP è identificato da 4 parametri (IP e porta sia sorgente che destinazione). In questo modo l’host può avere più socket contemporanei e infatti i server web possono avere un socket diverso per ogni client connesso
ci sono istanze diverse di una stessa applicazione -> processo multithread
COme fa un client a conoscere il numero di porta da contattare?
Well known ports
Cosa sono le well known ports?
Sono quelle porte che vanno da 0 a 1’24 e che i client conoscono perchè sono stabilite e fisse. Sono porte RISERVATE e associate a SERVIZI PRECISI.
ù
Chi e come controlla le well known ports?
L’ICANN ma in realtà non ci sono controlli. Se un servizio vuole cambiar porta può farlo ma nessuno lo saprà più raggiungere.
Come viene scelta la porta del client sorgente?
randomicamente
Per cosa stanno UDP e TCP?
User Datagram Protocol e Transmission Control Protocol
Quali sono le caratteristiche generali di UDP e per cosa viene usato?
- best effort (segmenti possono essere persi o consegnati nell’ordine sbagliato)
- connection-less: ogni pacchetto indipendente dagli altri
- è semplice
- l’header ha dimensione ridotta
- la mancanza di controllo di congestione lo fa essere veloce
usato per quei servizi in cui non c’è bisogno di garanzie o in cui dare garanzie peggiorerebbe solo il servizio -> app di streaming, DNS, SNDP
il fatto che non ci sia una connessione preventiva elimina del ritardo
Quante porte di ingresso e di uscita ci possono essere per UDP?
i campi porta dest e porta source sono di 16 bit quindi 2^16 porte
Com’è fatto un segmento UDP?
header: source port e dest port (16 bit), checksum sui dati (mentre quello dell’ip controlla l’header), lunghezza dell’header
dati (payload) con ovviamente gli indirizzi IP derivati dal datagram
Che tipo di servizio offre il TCP?
- point-to-point: ha sempre e soltanto un trasmettitore e un ricevitore. Una comunicazione broadcast infatti è gestita attraverso l’UDP
- affidabile e ordinato. Non ci sono confini e definizione fissa di messaggi, e qualunque stream di byte viene suddiviso in segmenti
- basato sulla pipeline: utilizza uno dei protocolli a finestra con la possibilità di settare la dimensione della finestra. Il controllo di flusso e di congestione si basano sul poter cambiare la dimensione della finestra durante la comunicazione
- full-duplex: flusso di dati in entrambe le direzioni su una stessa connessione (non c’è bisogno di averne due differenti). Il canale ha come parametro il MSS (Maximum Segment Size) che deriva dalla MTU (Maximum Transmission Unit) dei livelli precedenti (per IP 1500 byte).
- connection-oriented: handshaking tra trasmettitore e ricevitore che si mandano messaggi prima del trasferimento effettivo
- flow control
TCP può gestire broadcast?
no, quello solo udp perché tcp è Point-to-point
Com’è fatto un segmento TCP?
- porta sorgente e destinazione
- lunghezza dell’header
- vari flags, per esempio: A dice se il campo ack ha davvero significato e poi altri tre per la gestione della connessione
- sequence number: conta i BYTE e non i segmenti
- ack: conta i byte ricevuto e indica quale ci si aspetta
- receive window: grandezza della finestra di ricezione
- checksum su dati
- opzioni
- dati