TCP vs UDP: desmitificar el debat de fiabilitat i eficiència

Avui, començarem a centrar -nos en TCP. Anteriorment al capítol sobre la capa, es va esmentar un punt important. A la capa de xarxa i a continuació, es tracta més d’amfitrió de les connexions d’amfitrió, cosa que significa que l’ordinador ha de saber on es troba un altre ordinador per connectar -lo. Tanmateix, la comunicació en una xarxa sovint és la comunicació interprocessada en lloc de la comunicació intermachine. Per tant, el protocol TCP introdueix el concepte de port. Un port només pot ocupar un procés, que proporciona una comunicació directa entre els processos de sol·licitud que s’executen en diferents amfitrions.

La tasca de la capa de transport és com proporcionar serveis de comunicació directa entre processos de sol·licitud que s’executen en diferents amfitrions, de manera que també es coneix com a protocol final a extrem. La capa de transport amaga els detalls bàsics de la xarxa, permetent que el procés de sol·licitud es vegi com si hi hagués un canal de comunicació de final a punta lògic entre les dues entitats de la capa de transport.

TCP significa protocol de control de transmissió i es coneix com a protocol orientat a la connexió. Això significa que abans que una aplicació pugui començar a enviar dades a l’altra, els dos processos han de fer un cop de mà. L’espai de mà és un procés connectat lògicament que garanteix una transmissió fiable i una recepció ordenada de dades. Durant el cop de mà, s’estableix una connexió entre els amfitrions de la font i la destinació mitjançant l’intercanvi d’una sèrie de paquets de control i acordant alguns paràmetres i regles per assegurar la transmissió de dades amb èxit.

Què és TCP? (MyLinking'sTow de xarxaiBroker de paquets de xarxaPodria processar paquets TCP o UDP)
TCP (protocol de control de transmissió) és un protocol de comunicació de transport basat en la capa de transport orientat a la connexió, fiable, fiable.

Orientada a la connexió: Orientada a la connexió significa que la comunicació TCP és individualitzada, és a dir, una comunicació punt a punt punt a punt, a diferència de la UDP, que pot enviar missatges a diversos amfitrions alhora, de manera que no es pot aconseguir una comunicació única.
Fidedigne: La fiabilitat de TCP garanteix que els paquets es lliurin de manera fiable al receptor independentment dels canvis en l'enllaç de xarxa, cosa que fa que el format de paquet de protocol de TCP sigui més complex que el de la UDP.
Basat en byte-stream: La naturalesa de TCP basada en el caça de bytes permet la transmissió de missatges de qualsevol mida i garanteix una comanda de missatge: Fins i tot si el missatge anterior no ha estat completament rebut i, fins i tot si s’han rebut els bytes posteriors, TCP no els lliurarà a la capa d’aplicació per a la seva tramitació i deixarà automàticament els paquets duplicats.
Una vegada que l’amfitrió A i l’amfitrió B han establert una connexió, l’aplicació només ha d’utilitzar la línia de comunicació virtual per enviar i rebre dades, garantint així la transmissió de dades. El protocol TCP és responsable de controlar tasques com ara establiment de connexió, desconnexió i retenció. Cal destacar que aquí diem que la línia virtual només significa establir una connexió, la connexió del protocol TCP només indica que les dues parts poden iniciar la transmissió de dades i per assegurar la fiabilitat de les dades. Els dispositius de xarxa gestionen els nodes d'encaminament i transport; El propi protocol TCP no està preocupat per aquests detalls.

Una connexió TCP és un servei de Duplex complet, cosa que significa que l’amfitrió A i l’amfitrió B poden transmetre dades en ambdues direccions en una connexió TCP. És a dir, les dades es poden transferir entre l’amfitrió i l’amfitrió B en un flux bidireccional.

TCP emmagatzema temporalment dades al buffer d'enviament de la connexió. Aquest buffer d'enviament és una de les caixes configurades durant el cop de mà a tres bandes. Posteriorment, TCP enviarà les dades de la memòria cau d'enviament a la memòria cau de recepció de l'amfitrió de destinació en el moment adequat. A la pràctica, cada company tindrà una memòria cau d’enviar i una memòria cau de recepció, tal com es mostra aquí:

Tcp-udp

El buffer SEND és un àmbit de memòria mantingut per la implementació TCP al costat del remitent que s’utilitza per emmagatzemar temporalment les dades per ser enviades. Quan es realitza el cop de mà a tres vies per establir una connexió, la memòria cau d’enviar es configura i s’utilitza per emmagatzemar dades. El buffer SENS s’ajusta dinàmicament segons la congestió de la xarxa i la retroalimentació del receptor.

Un buffer de recepció és un àmbit de memòria mantingut per la implementació TCP del costat receptor que s’utilitza per emmagatzemar temporalment les dades rebudes. TCP emmagatzema les dades rebudes a la memòria cau de recepció i espera que l’aplicació superior la llegeixi.

Tingueu en compte que la mida de la memòria cau d’enviar i la memòria cau és limitada, quan la memòria cau està plena, TCP pot adoptar algunes estratègies, com ara el control de la congestió, el control de flux, etc., per assegurar la transmissió de dades fiable i l’estabilitat de la xarxa.

A les xarxes informàtiques, la transmissió de dades entre amfitrions es realitza mitjançant segments. Llavors, què és un segment de paquets?

TCP crea un segment TCP, o segment de paquets, dividint el flux entrant en trossos i afegint capçaleres TCP a cada tros. Cada segment només es pot transmetre durant un temps limitat i no pot superar la mida màxima del segment (MSS). Al seu camí cap avall, un segment de paquets passa per la capa d'enllaç. La capa d'enllaç té una unitat de transmissió màxima (MTU), que és la mida màxima del paquet que pot passar per la capa d'enllaç de dades. La unitat de transmissió màxima sol estar relacionada amb la interfície de comunicació.

Quina diferència hi ha entre MSS i MTU?

A les xarxes informàtiques, l’arquitectura jeràrquica és molt important perquè té en compte les diferències entre els diferents nivells. Cada capa té un nom diferent; A la capa de transport, les dades s’anomenen segment i, a la capa de xarxa, les dades s’anomenen paquet IP. Per tant, la unitat de transmissió màxima (MTU) es pot pensar com la mida màxima del paquet IP que pot transmetre la capa de xarxa, mentre que la mida màxima del segment (MSS) és un concepte de capa de transport que fa referència a la quantitat màxima de dades que es poden transmetre per un paquet TCP alhora.

Tingueu en compte que quan la mida màxima del segment (MSS) és més gran que la unitat de transmissió màxima (MTU), la fragmentació IP es realitzarà a la capa de xarxa i TCP no dividirà les dades més grans en segments adequats per a la mida MTU. Hi haurà una secció a la capa de xarxa dedicada a la capa IP.

Estructura del segment de paquets TCP
Explorem el format i el contingut de les capçaleres TCP.

Segment TCP

Número de seqüència: Un nombre aleatori generat per l’ordinador quan la connexió s’estableix com a valor inicial quan s’estableix la connexió TCP i el número de seqüència s’envia al receptor a través del paquet SYN. Durant la transmissió de dades, l’emissor incrementa el número de seqüència segons la quantitat de dades enviades. El receptor jutja l'ordre de les dades segons el número de seqüència rebut. Si les dades es troben fora de l'ordre, el receptor reordenarà les dades per assegurar l'ordre de les dades.

Número de reconeixement: Es tracta d'un número de seqüència utilitzat en TCP per reconèixer la recepció de dades. Indica el número de seqüència de les properes dades que l’emissor espera rebre. En una connexió TCP, el receptor determina quines dades s’han rebut amb èxit a partir del nombre de seqüència del segment de paquets de dades rebut. Quan el receptor rep les dades amb èxit, envia un paquet ACK al remitent, que conté el número de reconeixement de reconeixement. Després de rebre el paquet ACK, l’emissor pot confirmar que les dades abans de reconèixer el número de resposta s’han rebut amb èxit.

Els bits de control d’un segment TCP inclouen el següent:

Bit ack: Quan aquest bit és 1, vol dir que el camp de resposta de reconeixement és vàlid. TCP especifica que aquest bit s'ha de configurar a 1, excepte els paquets SYN quan la connexió s'estableix inicialment.
RST Bit: Quan aquest bit és 1, indica que hi ha una excepció a la connexió TCP i que la connexió s'ha de forçar a desconnectar.
Syn Bit: Quan aquest bit s'estableix en 1, vol dir que s'ha d'establir la connexió i el valor inicial del número de seqüència s'estableix al camp número de seqüència.
Fin Bit: Quan aquest bit sigui 1, vol dir que no s’enviaran més dades en el futur i es vol la connexió.
Les diverses funcions i característiques de TCP estan plasmades per l'estructura dels segments de paquets TCP.

Què és UDP? (Mylinking'sTow de xarxaiBroker de paquets de xarxaPodria processar els paquets TCP o UDP)
El protocol de Datagram d'usuari (UDP) és un protocol de comunicació sense connexió. En comparació amb TCP, la UDP no proporciona mecanismes de control complexos. El protocol UDP permet que les aplicacions enviïn directament paquets IP encapsulats sense establir una connexió. Quan el desenvolupador decideix utilitzar UDP en lloc de TCP, l’aplicació es comunica directament amb la IP.

El nom complet del protocol UDP és el protocol de dades d’usuari i la seva capçalera és de només vuit bytes (64 bits), que és molt concis. El format de la capçalera UDP és el següent:

Segment UDP

Ports de destinació i font: El seu propòsit principal és indicar quin procés UDP ha d’enviar paquets.
Mida del paquet: El camp de la mida del paquet té la mida de la capçalera UDP més la mida de les dades
Comprovació: Dissenyat per garantir un lliurament fiable de les capçaleres i dades UDP El paper de la comprovació és detectar si s’ha produït un error o corrupció durant la transmissió d’un paquet UDP per assegurar la integritat de les dades.

Diferències entre TCP i UDP a MyLinking'sTow de xarxaiBroker de paquets de xarxaPodria processar paquets TCP o UDP
TCP i UDP són diferents en els aspectes següents:

Tcp vs udp

Conexió: TCP és un protocol de transport orientat a la connexió que requereix establir una connexió abans que es puguin transferir les dades. La UDP, en canvi, no requereix una connexió i pot transferir dades immediatament.

Objecte de servei: TCP és un servei individual de dos punts, és a dir, una connexió només té dos punts finals per comunicar-se entre ells. Tot i això, UDP admet una comunicació interactiva individual, un a un i molts a molts, que es pot comunicar amb diversos amfitrions alhora.

Fiabilitat: TCP proporciona el servei de lliurament de dades de manera fiable, garantint que les dades no siguin errors, sense pèrdues, no duplicades i arribin a la demanda. La UDP, per la seva banda, fa el seu millor esforç i no garanteix un lliurament fiable. La UDP pot patir pèrdua de dades i altres situacions durant la transmissió.

Control de congestió, control de flux: TCP té mecanismes de control de congestió i control de flux, que poden ajustar la velocitat de transmissió de dades segons les condicions de la xarxa per assegurar la seguretat i l'estabilitat de la transmissió de dades. La UDP no té mecanismes de control de congestió i control de flux, fins i tot si la xarxa està molt congestionada, no farà ajustaments a la taxa d’enviament de la UDP.

Cap de capçalera: TCP té una llarga longitud de capçalera, normalment de 20 bytes, que augmenta quan s’utilitzen camps d’opcions. La UDP, per la seva banda, té una capçalera fixa de només 8 bytes, de manera que UDP té una capçalera inferior.

Tcp vs udp

Escenaris d'aplicació TCP i UDP:
TCP i UDP són dos protocols diferents de la capa de transport i tenen algunes diferències en els escenaris d’aplicació.

Com que TCP és un protocol orientat a la connexió, s’utilitza principalment en escenaris on es requereix un lliurament de dades fiable. Alguns casos d'ús habituals inclouen:

Transferència de fitxers FTP: TCP pot assegurar -se que els fitxers no es perden i es corrompen durant la transferència.
Http/https: TCP garanteix la integritat i la correcció del contingut web.
Com que la UDP és un protocol sense connexió, no proporciona garantia de fiabilitat, però té les característiques de l'eficiència i el temps real. UDP és adequat per als escenaris següents:

Trànsit de baix paquet, com DNS (Sistema de noms de domini): Les consultes DNS solen ser paquets curts i la UDP pot completar -les més ràpidament.
Comunicació multimèdia com ara vídeo i àudio: Per a la transmissió multimèdia amb requisits alts en temps real, la UDP pot proporcionar una latència inferior per assegurar-se que les dades es poden transmetre de manera puntual.
Comunicació emesa: UDP admet una comunicació d'un a molts i molts a molts i es pot utilitzar per a la transmissió de missatges de difusió.

Sumari
Avui hem après sobre TCP. TCP és un protocol de comunicació basat en la capa de transport basat en byte-stream orientat a la connexió. Assegura la transmissió fiable i la recepció ordenada de dades establint connexió, cop de mà i reconeixement. El protocol TCP utilitza els ports per realitzar la comunicació entre processos i proporciona serveis de comunicació directa per a processos de sol·licitud que s’executen en diferents amfitrions. Les connexions TCP són de Duplex complet, permetent transferències simultànies de dades bidireccionals. En canvi, la UDP és un protocol de comunicació orientat sense connexió, que no proporciona garanties de fiabilitat i és adequat per a alguns escenaris amb requisits alts en temps real. TCP i UDP són diferents en mode de connexió, objecte de servei, fiabilitat, control de congestió, control de flux i altres aspectes, i els seus escenaris d’aplicació també són diferents.


Posada Posada: 03-03-2024