logo

Protocolli del livello di trasporto

  • Il livello di trasporto è rappresentato da due protocolli: TCP e UDP.
  • Il protocollo IP nel livello di rete fornisce un datagramma da un host di origine all'host di destinazione.
  • Al giorno d'oggi, il sistema operativo supporta ambienti multiutente e multiprocessore, un programma in esecuzione è chiamato processo. Quando un host invia un messaggio ad un altro host significa che il processo di origine sta inviando un processo a un processo di destinazione. I protocolli del livello di trasporto definiscono alcune connessioni a singole porte note come porte di protocollo.
  • Un protocollo IP è un protocollo host-to-host utilizzato per consegnare un pacchetto dall'host di origine all'host di destinazione mentre i protocolli del livello di trasporto sono protocolli porta a porta che funzionano sopra i protocolli IP per consegnare il pacchetto dall'host di origine porta ai servizi IP e dai servizi IP alla porta di destinazione.
  • Ciascuna porta è definita da un indirizzo intero positivo ed è di 16 bit.
Protocolli del livello di trasporto

UDP

  • UDP sta per Protocollo datagramma utente .
  • UDP è un protocollo semplice e fornisce funzionalità di trasporto non sequenziato.
  • UDP è un protocollo senza connessione.
  • Questo tipo di protocollo viene utilizzato quando l'affidabilità e la sicurezza sono meno importanti della velocità e delle dimensioni.
  • UDP è un protocollo a livello di trasporto end-to-end che aggiunge indirizzi a livello di trasporto, controllo degli errori di checksum e informazioni sulla lunghezza ai dati dal livello superiore.
  • Il pacchetto prodotto dal protocollo UDP è noto come datagramma utente.

Formato datagramma utente

Il datagramma utente ha un'intestazione di 16 byte mostrata di seguito:

Protocolli del livello di trasporto

Dove,

    Indirizzo della porta di origine:Definisce l'indirizzo del processo applicativo che ha consegnato un messaggio. L'indirizzo della porta di origine è di 16 bit.Indirizzo del porto di destinazione:Definisce l'indirizzo del processo applicativo che riceverà il messaggio. L'indirizzo della porta di destinazione è un indirizzo a 16 bit.Lunghezza totale:Definisce la lunghezza totale del datagramma utente in byte. È un campo a 16 bit.Somma di controllo:Il checksum è un campo a 16 bit utilizzato nel rilevamento degli errori.

Svantaggi del protocollo UDP

  • UDP fornisce le funzioni di base necessarie per la consegna end-to-end di una trasmissione.
  • Non fornisce alcuna funzione di sequenziamento o riordino e non specifica il pacchetto danneggiato quando segnala un errore.
  • UDP può scoprire che si è verificato un errore, ma non specifica quale pacchetto è andato perso poiché non contiene un ID o un numero di sequenza di un particolare segmento di dati.

TCP

  • TCP sta per Transmission Control Protocol.
  • Fornisce servizi completi del livello di trasporto alle applicazioni.
  • È un protocollo orientato alla connessione, ovvero la connessione stabilita tra entrambe le estremità della trasmissione. Per creare la connessione, TCP genera un circuito virtuale tra mittente e destinatario per la durata di una trasmissione.

Caratteristiche del protocollo TCP

    Trasferimento dati in streaming:Il protocollo TCP trasferisce i dati sotto forma di flusso contiguo di byte. TCP raggruppa i byte sotto forma di segmenti TCP e quindi li passa al livello IP per la trasmissione alla destinazione. Il TCP stesso segmenta i dati e li inoltra all'IP.Affidabilità:TCP assegna un numero di sequenza a ciascun byte trasmesso e attende una conferma positiva dal TCP ricevente. Se l'ACK non viene ricevuto entro un intervallo di timeout, i dati vengono ritrasmessi alla destinazione.
    Il TCP ricevente utilizza il numero di sequenza per riassemblare i segmenti se arrivano fuori ordine o per eliminare i segmenti duplicati.Controllo del flusso:Durante la ricezione, TCP invia una conferma al mittente indicando il numero di byte che può ricevere senza traboccare il buffer interno. Il numero di byte viene inviato in ACK sotto forma del numero di sequenza più alto che può ricevere senza problemi. Questo meccanismo è detto anche meccanismo a finestra.Multiplexing:Il multiplexing è un processo di accettazione dei dati da diverse applicazioni e di inoltro alle diverse applicazioni su computer diversi. Alla fine della ricezione, i dati vengono inoltrati all'applicazione corretta. Questo processo è noto come demultiplexing. TCP trasmette il pacchetto all'applicazione corretta utilizzando i canali logici noti come porte.Connessioni logiche:La combinazione di socket, numeri di sequenza e dimensioni della finestra è chiamata connessione logica. Ogni connessione è identificata dalla coppia di socket utilizzata dai processi di invio e ricezione.Duplex completo:TCP fornisce il servizio Full Duplex, ovvero il flusso di dati in entrambe le direzioni contemporaneamente. Per ottenere il servizio Full Duplex, ogni TCP dovrebbe avere buffer di invio e ricezione in modo che i segmenti possano fluire in entrambe le direzioni. TCP è un protocollo orientato alla connessione. Supponiamo che il processo A voglia inviare e ricevere i dati dal processo B. Si verificano i seguenti passaggi:
    • Stabilire una connessione tra due TCP.
    • I dati vengono scambiati in entrambe le direzioni.
    • La connessione è terminata.

Formato del segmento TCP

Protocolli del livello di trasporto

Dove,

selezione ordinamento java
    Indirizzo della porta di origine:Viene utilizzato per definire l'indirizzo del programma applicativo in un computer di origine. È un campo a 16 bit.Indirizzo del porto di destinazione:Viene utilizzato per definire l'indirizzo del programma applicativo in un computer di destinazione. È un campo a 16 bit.Sequenza di numeri:Un flusso di dati è diviso in due o più segmenti TCP. Il campo del numero di sequenza a 32 bit rappresenta la posizione dei dati in un flusso di dati originale.Numero di conferma:Un numero di riconoscimento a 32 campi riconosce i dati da altri dispositivi comunicanti. Se il campo ACK è impostato su 1, specifica il numero di sequenza che il destinatario si aspetta di ricevere.Lunghezza intestazione (HLEN):Specifica la dimensione dell'intestazione TCP in parole a 32 bit. La dimensione minima dell'intestazione è di 5 parole e la dimensione massima dell'intestazione è di 15 parole. Pertanto, la dimensione massima dell'intestazione TCP è 60 byte e la dimensione minima dell'intestazione TCP è 20 byte.Riservato:È un campo a sei bit riservato per uso futuro.Bit di controllo:Ogni bit di un campo di controllo funziona individualmente e indipendentemente. Un bit di controllo definisce l'uso di un segmento o serve come controllo di validità per altri campi.

Ci sono in totale sei tipi di flag nel campo di controllo:

    URG:Il campo URG indica che i dati in un segmento sono urgenti.RISPOSTA:Quando il campo ACK è impostato, convalida il numero di riconoscimento.PSH:Il campo PSH viene utilizzato per informare il mittente che è necessaria una velocità effettiva maggiore, quindi, se possibile, i dati devono essere inviati con una velocità effettiva maggiore.RST:Il bit di ripristino viene utilizzato per ripristinare la connessione TCP quando si verifica confusione nei numeri di sequenza.SIN:Il campo SYN viene utilizzato per sincronizzare i numeri di sequenza in tre tipi di segmenti: richiesta di connessione, conferma di connessione (con il bit ACK impostato) e conferma di riconoscimento.FINE:Il campo FIN viene utilizzato per informare il modulo TCP ricevente che il mittente ha terminato l'invio dei dati. Viene utilizzato nella terminazione della connessione in tre tipi di segmenti: richiesta di terminazione, conferma di terminazione e riconoscimento della conferma di terminazione.
      Dimensione della finestra:La finestra è un campo a 16 bit che definisce la dimensione della finestra.Somma di controllo:Il checksum è un campo a 16 bit utilizzato nel rilevamento degli errori.Indicazione urgente:Se il flag URG è impostato su 1, questo campo a 16 bit è un offset rispetto al numero di sequenza che indica che si tratta dell'ultimo byte di dati urgenti.Opzioni e imbottitura:Definisce i campi facoltativi che trasmettono le informazioni aggiuntive al destinatario.

Differenze tra TCP e UDP

Base per il confronto TCP UDP
Definizione TCP stabilisce un circuito virtuale prima di trasmettere i dati. UDP trasmette i dati direttamente al computer di destinazione senza verificare se il destinatario è pronto a ricevere o meno.
Tipo di connessione È un protocollo orientato alla connessione È un protocollo senza connessione
Velocità lento alto
Affidabilità È un protocollo affidabile. È un protocollo inaffidabile.
Dimensione dell'intestazione 20 byte 8 byte
riconoscimento Attende il riconoscimento dei dati e ha la capacità di inviare nuovamente i pacchetti persi. Non accetta né la conferma né ritrasmette il frame danneggiato.