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