TCP vs UDP: Demistificà u dibattitu trà affidabilità è efficienza

Oghje, cuminciaremu per fucalizà ci nant'à TCP. Nanzu in u capitulu nant'à a stratificazione, avemu mintuvatu un puntu impurtante. À u livellu di a rete è sottu, si tratta più di cunnessione host-to-host, ciò chì significa chì u vostru urdinatore hà bisognu di sapè induve si trova un altru urdinatore per pudè cunnette si. Tuttavia, a cumunicazione in una rete hè spessu cumunicazione interprocessu piuttostu chè cumunicazione intermacchina. Dunque, u protocolu TCP introduce u cuncettu di portu. Un portu pò esse occupatu da un solu prucessu, chì furnisce una cumunicazione diretta trà i prucessi di l'applicazione chì funzionanu nant'à host diversi.

U compitu di u stratu di trasportu hè di furnisce servizii di cumunicazione diretta trà i prucessi di l'applicazione chì funzionanu nantu à diversi host, dunque hè ancu cunnisciutu cum'è protocolu end-to-end. U stratu di trasportu piatta i dettagli principali di a rete, permettendu à u prucessu di l'applicazione di vede cum'è s'ellu ci hè un canale di cumunicazione end-to-end logicu trà e duie entità di u stratu di trasportu.

TCP significa Transmission Control Protocol è hè cunnisciutu cum'è un protocolu orientatu à a cunnessione. Questu significa chì prima chì una applicazione possi cumincià à mandà dati à l'altra, i dui prucessi devenu fà una stretta di manu. A stretta di manu hè un prucessu logicamente cunnessu chì assicura una trasmissione affidabile è una ricezione ordinata di dati. Durante a stretta di manu, una cunnessione hè stabilita trà l'ospiti di origine è di destinazione scambiendu una seria di pacchetti di cuntrollu è accunsentendu nantu à alcuni parametri è regule per assicurà una trasmissione di dati riescita.

Chì ghjè TCP? (Mylinking'sTocca di reteèBroker di Pacchetti di Retepuderia trattà i pacchetti TCP o UDP)
TCP (Transmission Control Protocol) hè un protocolu di cumunicazione di livellu di trasportu basatu annantu à u flussu di byte, orientatu à a cunnessione.

Orientatu à a cunnessioneOrientatu à a cunnessione significa chì a cumunicazione TCP hè unu à unu, vale à dì, cumunicazione puntu à puntu end-to-end, à u cuntrariu di UDP, chì pò mandà missaghji à parechji host à u listessu tempu, dunque a cumunicazione unu à parechji ùn pò esse ottenuta.
AffidabileL'affidabilità di TCP garantisce chì i pacchetti sò mandati in modu affidabile à u destinatariu indipendentemente da i cambiamenti in u ligame di rete, ciò chì rende u furmatu di i pacchetti di protocolu di TCP più cumplessu di quellu di UDP.
Basatu annantu à u flussu di byteA natura basata annantu à u flussu di byte di TCP permette a trasmissione di missaghji di qualsiasi dimensione è garantisce l'ordine di i missaghji: ancu s'è u missaghju precedente ùn hè statu micca cumpletamente ricevutu, è ancu s'è i byte successivi sò stati ricevuti, TCP ùn li trasmetterà micca à u livellu di l'applicazione per u so trattamentu è eliminerà automaticamente i pacchetti duplicati.
Una volta chì l'ospite A è l'ospite B anu stabilitu una cunnessione, l'applicazione hà solu bisognu di utilizà a linea di cumunicazione virtuale per mandà è riceve dati, assicurendu cusì a trasmissione di dati. U protocolu TCP hè rispunsevule di u cuntrollu di i compiti cum'è a creazione di cunnessione, a disconnessione è u mantenimentu. Ci vole à nutà chì quì dicemu chì a linea virtuale significa solu stabilisce una cunnessione, a cunnessione di u protocolu TCP indica solu chì e duie parti ponu inizià a trasmissione di dati, è per assicurà l'affidabilità di i dati. I nodi di routing è di trasportu sò gestiti da i dispositivi di rete; u protocolu TCP stessu ùn si preoccupa micca di sti dettagli.

Una cunnessione TCP hè un serviziu full-duplex, ciò significa chì l'ospite A è l'ospite B ponu trasmette dati in e duie direzzione in una cunnessione TCP. Vale à dì, i dati ponu esse trasferiti trà l'ospite A è l'ospite B in un flussu bidirezionale.

TCP memorizza temporaneamente i dati in u buffer di trasmissione di a cunnessione. Stu buffer di trasmissione hè una di e cache create durante l'handshake à trè vie. In seguitu, TCP manderà i dati in a cache di trasmissione à a cache di ricezione di l'host di destinazione à u mumentu apprupriatu. In pratica, ogni peer avarà una cache di trasmissione è una cache di ricezione, cum'è mostratu quì:

TCP-UDP

U buffer d'inviu hè una zona di memoria mantenuta da l'implementazione TCP da u latu di u mittente chì hè aduprata per almacenà temporaneamente i dati da mandà. Quandu l'handshake à trè vie hè realizatu per stabilisce una cunnessione, a cache d'inviu hè cunfigurata è aduprata per almacenà i dati. U buffer d'inviu hè aghjustatu dinamicamente secondu a congestione di a rete è u feedback da u ricevitore.

Un buffer di ricezione hè una zona di memoria mantenuta da l'implementazione TCP da u latu di ricezione chì hè aduprata per almacenà temporaneamente i dati ricevuti. TCP memorizza i dati ricevuti in a cache di ricezione è aspetta chì l'applicazione superiore li legga.

Nutate bè chì a dimensione di a cache d'inviu è di a cache di ricezione hè limitata, quandu a cache hè piena, TCP pò aduttà alcune strategie, cum'è u cuntrollu di congestione, u cuntrollu di flussu, ecc., per assicurà una trasmissione affidabile di dati è a stabilità di a rete.

In e rete di computer, a trasmissione di dati trà l'ospiti hè effettuata per mezu di segmenti. Dunque, chì hè un segmentu di pacchettu?

TCP crea un segmentu TCP, o segmentu di pacchettu, dividendu u flussu entrante in blocchi è aghjunghjendu intestazioni TCP à ogni bloccu. Ogni Segmentu pò esse trasmessu solu per un periudu di tempu limitatu è ùn pò micca superà a Dimensione Massima di Segmentu (MSS). In u so percorsu in discesa, un segmentu di pacchettu passa per u stratu di ligame. U stratu di ligame hà una Unità di Trasmissione Massima (MTU), chì hè a dimensione massima di u pacchettu chì pò passà per u stratu di ligame di dati. L'unità di trasmissione massima hè generalmente ligata à l'interfaccia di cumunicazione.

Dunque, chì hè a differenza trà MSS è MTU?

In e rete d'urdinatori, l'architettura gerarchica hè assai impurtante perchè tene contu di e differenze trà i diversi livelli. Ogni stratu hà un nome diversu; in u stratu di trasportu, i dati sò chjamati segmentu, è in u stratu di rete, i dati sò chjamati pacchettu IP. Dunque, l'Unità di Trasmissione Massima (MTU) pò esse cunsiderata cum'è a Dimensione Massima di u pacchettu IP chì pò esse trasmessa da u stratu di rete, mentre chì a Dimensione Massima di u Segmentu (MSS) hè un cuncettu di stratu di trasportu chì si riferisce à a quantità massima di dati chì ponu esse trasmessi da un pacchettu TCP à a volta.

Nutate bè chì quandu a Dimensione Massima di u Segmentu (MSS) hè più grande di l'Unità di Trasmissione Massima (MTU), a frammentazione IP serà realizata à u livellu di a rete, è TCP ùn dividerà micca i dati più grandi in segmenti adatti per a dimensione MTU. Ci serà una sezione nantu à u livellu di rete dedicata à u livellu IP.

Struttura di segmentu di pacchetti TCP
Esploremu u furmatu è u cuntenutu di l'intestazioni TCP.

Segmentu TCP

Numeru di sequenzaUn numeru aleatoriu generatu da l'urdinatore quandu a cunnessione hè stabilita cum'è u so valore iniziale quandu a cunnessione TCP hè stabilita, è u numeru di sequenza hè mandatu à u ricevitore per mezu di u pacchettu SYN. ​​Durante a trasmissione di dati, u mittente incrementa u numeru di sequenza secondu a quantità di dati mandati. U ricevitore ghjudicheghja l'ordine di i dati secondu u numeru di sequenza ricevutu. Se i dati sò trovati fora d'ordine, u ricevitore riordinerà i dati per assicurà l'ordine di i dati.

Numeru di ricunniscenzaQuestu hè un numeru di sequenza utilizatu in TCP per ricunnosce a ricezione di dati. Indica u numeru di sequenza di i prossimi dati chì u mittente aspetta di riceve. In una cunnessione TCP, u ricevitore determina quali dati sò stati ricevuti cù successu in basa à u numeru di sequenza di u segmentu di pacchettu di dati ricevutu. Quandu u ricevitore riceve cù successu i dati, manda un pacchettu ACK à u mittente, chì cuntene u numeru di ricunnosce di ricunnosce. Dopu avè ricevutu u pacchettu ACK, u mittente pò cunfirmà chì i dati prima di ricunnosce u numeru di risposta sò stati ricevuti cù successu.

I bit di cuntrollu di un segmentu TCP includenu i seguenti:

Bit ACKQuandu stu bit hè 1, significa chì u campu di risposta di cunferma hè validu. TCP specifica chì stu bit deve esse impostu à 1 eccettu per i pacchetti SYN quandu a cunnessione hè inizialmente stabilita.
Bit RSTQuandu stu bit hè 1, indica chì ci hè una eccezione in a cunnessione TCP è a cunnessione deve esse furzata à esse disconnessa.
Bit SYNQuandu stu bit hè impostu à 1, significa chì a cunnessione deve esse stabilita è u valore iniziale di u numeru di sequenza hè impostu in u campu di u numeru di sequenza.
Bit FINQuandu stu bit hè 1, significa chì ùn saranu più mandati dati in u futuru è chì a cunnessione hè desiderata.
E diverse funzioni è caratteristiche di TCP sò incarnate da a struttura di segmenti di pacchetti TCP.

Chì ghjè UDP ? (Mylinking'sTocca di reteèBroker di Pacchetti di Retepuderia trattà i pacchetti TCP o UDP)
U Protocolu di Datagrammi d'Utilizatore (UDP) hè un protocolu di cumunicazione senza cunnessione. In paragone cù TCP, UDP ùn furnisce micca meccanismi di cuntrollu cumplessi. U protocolu UDP permette à l'applicazioni d'invià direttamente pacchetti IP incapsulati senza stabilisce una cunnessione. Quandu u sviluppatore sceglie d'utilizà UDP invece di TCP, l'applicazione cumunicheghja direttamente cù l'IP.

U nome cumpletu di u Protocolu UDP hè User Datagram Protocol, è a so intestazione hè solu di ottu byte (64 bit), chì hè assai concisa. U furmatu di l'intestazione UDP hè u seguente:

Segmentu UDP

Porti di destinazione è d'origineU so scopu principale hè di indicà à quale prucessu UDP deve mandà pacchetti.
Dimensione di u pacchettuU campu di dimensione di u pacchettu cuntene a dimensione di l'intestazione UDP più a dimensione di i dati
Somma di cuntrolluCuncipitu per assicurà a consegna affidabile di l'intestazioni è di i dati UDP. U rolu di a somma di cuntrollu hè di rilevà se si hè verificatu un errore o una corruzzione durante a trasmissione di un pacchettu UDP per assicurà l'integrità di i dati.

Differenze trà TCP è UDP in MylinkingTocca di reteèBroker di Pacchetti di Retepuderia trattà i pacchetti TCP o UDP
TCP è UDP sò diffirenti in i seguenti aspetti:

TCP contr'à UDP

CunnessioneTCP hè un protocolu di trasportu orientatu à a cunnessione chì richiede chì una cunnessione sia stabilita prima chì i dati possinu esse trasferiti. UDP, invece, ùn richiede micca una cunnessione è pò trasferisce i dati immediatamente.

Oggettu di serviziuTCP hè un serviziu unu-à-unu à dui punti, vale à dì, una cunnessione hà solu dui punti finali per cumunicà trà di elli. Tuttavia, UDP supporta a cumunicazione interattiva unu-à-unu, unu-à-parechji è parechji-à-parechji, chì pò cumunicà cù parechji host à u listessu tempu.

AffidabilitàTCP furnisce u serviziu di trasmissione di dati in modu affidabile, assicurendu chì i dati sianu senza errori, senza perdite, senza duplicazioni è chì ghjunghjenu à dumanda. UDP, invece, face u so megliu sforzu è ùn garantisce micca una consegna affidabile. UDP pò soffre di perdite di dati è altre situazioni durante a trasmissione.

Cuntrollu di a congestione, cuntrollu di u flussuTCP hà meccanismi di cuntrollu di congestione è di cuntrollu di flussu, chì ponu aghjustà a velocità di trasmissione di dati secondu e cundizioni di a rete per assicurà a sicurezza è a stabilità di a trasmissione di dati. UDP ùn hà micca meccanismi di cuntrollu di congestione è di cuntrollu di flussu, ancu s'è a rete hè assai congestionata, ùn farà micca aghjustamenti à a velocità di trasmissione UDP.

Spese generali di l'intestazioneTCP hà una lunghezza d'intestazione longa, tipicamente 20 byte, chì aumenta quandu i campi d'opzione sò usati. UDP, invece, hà un'intestazione fissa di solu 8 byte, dunque UDP hà un sovraccaricu d'intestazione più bassu.

TCP contr'à UDP

Scenarii d'applicazione TCP è UDP:
TCP è UDP sò dui protokolli di livellu di trasportu diffirenti, è anu qualchì differenza in i scenarii d'applicazione.

Siccomu TCP hè un protocolu orientatu à a cunnessione, hè principalmente adupratu in scenarii induve hè necessaria una consegna affidabile di dati. Alcuni casi d'usu cumuni includenu:

Trasferimentu di file FTPTCP pò assicurà chì i fugliali ùn sianu micca persi è currutti durante u trasferimentu.
HTTP/HTTPSTCP assicura l'integrità è a currettezza di u cuntenutu web.
Siccomu UDP hè un protocolu senza cunnessione, ùn furnisce micca garanzia di affidabilità, ma hà e caratteristiche di efficienza è tempu reale. UDP hè adattatu per i seguenti scenarii:

Trafficu à pacchetti bassi, cum'è DNS (Domain Name System)E dumande DNS sò generalmente pacchetti corti, è UDP pò cumpletalli più rapidamente.
Cumunicazione multimediale cum'è video è audioPer a trasmissione multimediale cù esigenze elevate in tempu reale, UDP pò furnisce una latenza più bassa per assicurà chì i dati possinu esse trasmessi in modu puntuale.
Cumunicazione di trasmissioneUDP supporta a cumunicazione unu-à-parechji è parechji-à-parechji è pò esse adupratu per a trasmissione di missaghji broadcast.

Riassuntu
Oghje avemu amparatu à cunnosce TCP. TCP hè un protocolu di cumunicazione di livellu di trasportu basatu annantu à u flussu di byte, affidabile è orientatu à a cunnessione. Assicura a trasmissione affidabile è a ricezione ordinata di dati stabilendu cunnessione, handshake è ricunniscenza. U protocolu TCP usa i porti per realizà a cumunicazione trà i prucessi è furnisce servizii di cumunicazione diretta per i prucessi di l'applicazione chì funzionanu nantu à diversi host. E cunnessione TCP sò full-duplex, chì permettenu trasferimenti di dati bidirezionali simultanei. In cuntrastu, UDP hè un protocolu di cumunicazione orientatu senza cunnessione, chì ùn furnisce micca garanzie di affidabilità è hè adattatu per certi scenarii cù esigenze elevate in tempu reale. TCP è UDP sò diffirenti in u modu di cunnessione, l'ughjettu di serviziu, l'affidabilità, u cuntrollu di congestione, u cuntrollu di flussu è altri aspetti, è i so scenarii d'applicazione sò ancu diffirenti.


Data di publicazione: 03 dicembre 2024