Livello di trasporto (LIVELLO 4 TCP-IP)

Protocolli che offrono alcune primitive come...

connessione

dati

apre la connessione precedentemente richiesta

SEND DATA

RECEIVE DATA

LISTEN

T-CONNECT

richiesta connessione tra mittente e destinatario

trasmette il contenuto

riceve il contenuto

Per ogni primitiva sono previsti i seguenti metodi

utilizza le tecniche di

request()

indication() -> si viene avvertiti di un evento

response()

confirm()

MULTIPLEXING

DEMULTIPLEXING

click to edit

sfruttta le PORTE costruendo le SOCKET

click to edit

204.213.60.54 : 43 è una socket
in cui 204.213.60.54 (indirizzo IP)
43 (numero di porta)

puoi creare più richiesta dallo stesso IP ma su porte (canali) diverse

click to edit

volendo sempre da 198.15.56.11 puoi fare un'altra chiamata HTTPS ma stavolta sulla porta 443

chiamata HTTP che proviene da 198.15.56.11 sulla porta 80

click to edit

Protocolli principali

TCP = trasferimento con connessione e affidabile

UDP = trasferimento senza connessione e non affidabile

TCP --> offre i servizi di

UDP --> offre i servizi di

Trasferimento affidabile

click to edit

rilevazione degli errori

click to edit

MULTIP-DEMUL

MULTIP-DEMUL

rilevazione degli errori

controllo effettuato attraverso dei bit particolari chiamati "bit di parità" che il mittente aggiunge nel pacchetto che invia

rende affidabile il canale su cui viaggiano i dati:

  • elimina gli errori
  • non permette perdite di dati (eventualmente richiede il rinvio)
  • non permette messaggi duplicati

controllo del flusso

evita un'eventuale saturazione del buffer su cui vengono inviati i dati. Evita l'overflow

  • se serve rallenta l'invio se nota che il buffer si sta per saturare (qui non fai un controllo sulla rete ma solo sul buffer del destinatario)

controllo di congestione

come il controllo sul flusso previene l'overflow con la differenza che il controllo qui è su tutta la rete

gestione della connessione (canale logico tra RX e TX)

gestisce la connessione

chiude la connessione

instaura una connessione

click to edit

PACCHETTO TCP

PACCHETTO UDP

IP header | UDP header | UDP Data

UDP Header:

  • porte sorgente e destinazione
  • lunghezza header
  • checksum

IP Header:

  • ip sorgente
  • ip destinazione

CHECKSUM

una serie di bit usata per il controllo degli errori: esempio... controllo dell'IP di destinazione per verificare che il pacchetto sia veramente arrivato a destinazione

modalità di dialogo "three way handshaking"

SYN = il client vuole instaurare una connessione sincronizzata
cioè affidabile perchè non prevede duplicati

[abbattimento controllato della connessione]
entrambi sono d'accordo a chiudere la connessione, quindi il client manda una richiesta di tipo FIN
(https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Schaubilder/EN-tcp-verbindungsabbau.png)

click to edit

Flags (6 bit): attraverso i sei possibili bit singoli nel campo Flags è possibile attivare diverse azioni TCP per organizzare la comunicazione e l’elaborazione dei dati. I Flag che vengono attivati o non attivati a questo scopo sono i seguenti:

URG: il flag “Urgent” (urgente) segnala all’applicazione TCP che il carico utile deve essere elaborato immediatamente fino all’Urgent Pointer definito.

ACK: in combinazione con il numero di conferma, il flag ACK ha la funzione di confermare la ricezione dei pacchetti TCP. Se il flag non è attivato, anche il numero di conferma è automaticamente non valido.

PSH: il flag “Push” fa sì che un segmento TCP venga inviato immediatamente, senza dapprima essere accumulato nel buffer interno del mittente e del destinatario.

RST: se si è verificato un errore durante la trasmissione, un pacchetto TCP con flag RST (“Reset”) attivato permette il ripristino della connessione.

SYN: i messaggi con flag SYN attivato rappresentano il primo passaggio dell’handshake a tre vie, vale a dire che danno inizio all’instaurazione della connessione.

FIN: il flag “Finish” segnala alla controparte che un partecipante alla comunicazione termina la trasmissione.

esempio: PORTA 80 -> HTTP
PORTA 21 -> FTP
PORTA 25 -> SMTP

click to edit