Hoxe, imos comezar centrándonos en TCP. Anteriormente no capítulo sobre a estratificación, mencionamos un punto importante. Na capa de rede e por debaixo, trátase máis das conexións de host a host, o que significa que o teu ordenador necesita saber onde está outro ordenador para conectarse a el. Non obstante, a comunicación nunha rede adoita ser comunicación entre procesos en lugar de comunicación entre máquinas. Polo tanto, o protocolo TCP introduce o concepto de porto. Un porto só pode estar ocupado por un proceso, o que proporciona comunicación directa entre procesos de aplicación que se executan en diferentes hosts.
A tarefa da capa de transporte é proporcionar servizos de comunicación directa entre procesos de aplicación que se executan en diferentes hosts, polo que tamén se coñece como protocolo de extremo a extremo. A capa de transporte oculta os detalles principais da rede, o que permite que o proceso da aplicación vexa coma se existise unha canle de comunicación lóxica de extremo a extremo entre as dúas entidades da capa de transporte.
TCP significa Protocolo de Control de Transmisión e coñécese como un protocolo orientado á conexión. Isto significa que antes de que unha aplicación poida comezar a enviar datos á outra, os dous procesos deben realizar un handshake. O handshake é un proceso conectado loxicamente que garante unha transmisión fiable e unha recepción ordenada de datos. Durante o handshake, establécese unha conexión entre os hosts de orixe e destino mediante o intercambio dunha serie de paquetes de control e o acordo sobre algúns parámetros e regras para garantir unha transmisión de datos correcta.
Que é o TCP? (Mylinking'sToque de redeeAxente de paquetes de redepodería procesar paquetes TCP ou UDP)
O TCP (Protocolo de control de transmisión) é un protocolo de comunicación de capa de transporte baseado en fluxo de bytes, orientado a conexión e fiable.
Orientado á conexiónOrientado á conexión significa que a comunicación TCP é un a un, é dicir, comunicación punto a punto de extremo a extremo, a diferenza de UDP, que pode enviar mensaxes a varios hosts ao mesmo tempo, polo que non se pode lograr a comunicación un a moitos.
FiableA fiabilidade de TCP garante que os paquetes se entreguen de forma fiable ao receptor independentemente dos cambios na ligazón de rede, o que fai que o formato de paquetes de protocolo de TCP sexa máis complexo que o de UDP.
Baseado en fluxo de bytesA natureza de TCP baseada en fluxos de bytes permite a transmisión de mensaxes de calquera tamaño e garante a orde das mensaxes: mesmo se a mensaxe anterior non se recibiu completamente e mesmo se se recibiron os bytes posteriores, TCP non os entregará á capa de aplicación para o seu procesamento e descartará automaticamente os paquetes duplicados.
Unha vez que o host A e o host B establecen unha conexión, a aplicación só precisa usar a liña de comunicación virtual para enviar e recibir datos, garantindo así a transmisión de datos. O protocolo TCP é o responsable de controlar tarefas como o establecemento, a desconexión e a retención da conexión. Cómpre sinalar que aquí dicimos que a liña virtual só significa establecer unha conexión, a conexión do protocolo TCP só indica que os dous lados poden iniciar a transmisión de datos e garantir a fiabilidade dos datos. Os nodos de enrutamento e transporte son xestionados polos dispositivos de rede; o propio protocolo TCP non se preocupa por estes detalles.
Unha conexión TCP é un servizo full-duplex, o que significa que o host A e o host B poden transmitir datos en ambas direccións nunha conexión TCP. É dicir, os datos poden transferirse entre o host A e o host B nun fluxo bidireccional.
TCP almacena temporalmente datos no búfer de envío da conexión. Este búfer de envío é unha das cachés configuradas durante o protocolo de enlace a tres bandas. Posteriormente, TCP enviará os datos da caché de envío á caché de recepción do host de destino no momento axeitado. Na práctica, cada par terá unha caché de envío e unha caché de recepción, como se mostra aquí:
O búfer de envío é unha área de memoria mantida pola implementación de TCP no lado do emisor que se usa para almacenar temporalmente datos que se van enviar. Cando se realiza o protocolo de enlace a tres bandas para establecer unha conexión, a caché de envío configúrase e úsase para almacenar datos. O búfer de envío axústase dinamicamente segundo a conxestión da rede e a retroalimentación do receptor.
Un búfer de recepción é unha área de memoria mantida pola implementación de TCP no lado receptor que se usa para almacenar temporalmente os datos recibidos. TCP almacena os datos recibidos na caché de recepción e agarda a que a aplicación superior os lea.
Teña en conta que o tamaño da caché de envío e da caché de recepción é limitado. Cando a caché está chea, o TCP pode adoptar algunhas estratexias, como o control de conxestión, o control de fluxo, etc., para garantir unha transmisión de datos fiable e a estabilidade da rede.
Nas redes informáticas, a transmisión de datos entre hosts realízase por medio de segmentos. Entón, que é un segmento de paquete?
O TCP crea un segmento TCP, ou segmento de paquete, dividindo o fluxo entrante en fragmentos e engadindo cabeceiras TCP a cada fragmento. Cada segmento só se pode transmitir durante un período de tempo limitado e non pode superar o Tamaño Máximo do Segmento (MSS). No seu camiño cara abaixo, un segmento de paquete pasa pola capa de enlace. A capa de enlace ten unha Unidade de Transmisión Máxima (MTU), que é o tamaño máximo do paquete que pode pasar pola capa de enlace de datos. A unidade de transmisión máxima adoita estar relacionada coa interface de comunicación.
Entón, cal é a diferenza entre MSS e MTU?
Nas redes informáticas, a arquitectura xerárquica é moi importante porque ten en conta as diferenzas entre os distintos niveis. Cada capa ten un nome diferente; na capa de transporte, os datos chámanse segmento e, na capa de rede, os datos chámanse paquete IP. Polo tanto, a Unidade Máxima de Transmisión (MTU) pódese considerar como o Tamaño Máximo do Paquete IP que pode transmitir a capa de rede, mentres que o Tamaño Máximo do Segmento (MSS) é un concepto da capa de transporte que se refire á cantidade máxima de datos que pode transmitir un paquete TCP á vez.
Teña en conta que cando o Tamaño Máximo do Segmento (MSS) é maior que a Unidade Máxima de Transmisión (MTU), a fragmentación IP realizarase na capa de rede e TCP non dividirá os datos máis grandes en segmentos axeitados para o tamaño da MTU. Haberá unha sección na capa de rede dedicada á capa IP.
Estrutura de segmentos de paquetes TCP
Exploremos o formato e o contido das cabeceiras TCP.
Número de secuenciaUn número aleatorio xerado polo ordenador cando se establece a conexión como o seu valor inicial cando se establece a conexión TCP, e o número de secuencia envíase ao receptor a través do paquete SYN. Durante a transmisión de datos, o emisor incrementa o número de secuencia segundo a cantidade de datos enviados. O receptor xulga a orde dos datos segundo o número de secuencia recibido. Se se atopa que os datos están fóra de orde, o receptor reordenaraos para garantir a orde dos datos.
Número de confirmaciónEste é un número de secuencia usado en TCP para confirmar a recepción de datos. Indica o número de secuencia dos seguintes datos que o emisor espera recibir. Nunha conexión TCP, o receptor determina que datos se recibiron correctamente en función do número de secuencia do segmento do paquete de datos recibido. Cando o receptor recibe os datos correctamente, envía un paquete ACK ao emisor, que contén o número de confirmación. Despois de recibir o paquete ACK, o emisor pode confirmar que os datos se recibiron correctamente antes de confirmar o número de resposta.
Os bits de control dun segmento TCP inclúen os seguintes:
Bit de confirmación de recepciónCando este bit é 1, significa que o campo de resposta de confirmación é válido. TCP especifica que este bit debe establecerse en 1, agás para os paquetes SYN cando se establece inicialmente a conexión.
Bit RSTCando este bit é 1, indica que hai unha excepción na conexión TCP e que se debe forzar a desconectación da conexión.
Bit SYNCando este bit se define como 1, significa que se vai establecer a conexión e que o valor inicial do número de secuencia establécese no campo do número de secuencia.
Bit FINCando este bit é 1, significa que non se enviarán máis datos no futuro e que se desexa a conexión.
As diversas funcións e características do TCP están representadas pola estrutura dos segmentos de paquetes TCP.
Que é UDP? (De Mylinking)Toque de redeeAxente de paquetes de redepodería procesar paquetes TCP ou UDP)
O protocolo de datagramas de usuario (UDP) é un protocolo de comunicación sen conexión. En comparación co TCP, o UDP non proporciona mecanismos de control complexos. O protocolo UDP permite que as aplicacións envíen directamente paquetes IP encapsulados sen establecer unha conexión. Cando o desenvolvedor escolle usar UDP en lugar de TCP, a aplicación comunícase directamente co IP.
O nome completo do protocolo UDP é User Datagram Protocol (Protocolo de datagramas de usuario) e a súa cabeceira é de só oito bytes (64 bits), o que é moi conciso. O formato da cabeceira UDP é o seguinte:
Portos de destino e de orixeO seu propósito principal é indicar a que proceso debe enviar paquetes o UDP.
Tamaño do paqueteO campo de tamaño do paquete contén o tamaño da cabeceira UDP máis o tamaño dos datos
Suma de comprobaciónDeseñado para garantir a entrega fiable de cabeceiras e datos UDP. A función da suma de comprobación é detectar se se produciu un erro ou corrupción durante a transmisión dun paquete UDP para garantir a integridade dos datos.
Diferenzas entre TCP e UDP en MylinkingToque de redeeAxente de paquetes de redepodería procesar paquetes TCP ou UDP
TCP e UDP difiren nos seguintes aspectos:
ConexiónTCP é un protocolo de transporte orientado á conexión que require que se estableza unha conexión antes de que se poidan transferir datos. UDP, pola contra, non require unha conexión e pode transferir datos inmediatamente.
Obxecto de servizoTCP é un servizo un a un de dous puntos, é dicir, unha conexión só ten dous puntos finais para comunicarse entre si. Non obstante, UDP admite a comunicación interactiva un a un, un a moitos e moitos a moitos, que pode comunicarse con varios hosts ao mesmo tempo.
FiabilidadeTCP proporciona o servizo de entrega de datos de forma fiable, garantindo que os datos estean libres de erros, perdas, non sexan duplicados e cheguen baixo demanda. UDP, pola contra, fai o posible e non garante unha entrega fiable. UDP pode sufrir perdas de datos e outras situacións durante a transmisión.
Control de conxestión, control de fluxoTCP ten mecanismos de control de conxestión e control de fluxo, que poden axustar a velocidade de transmisión de datos segundo as condicións da rede para garantir a seguridade e a estabilidade da transmisión de datos. UDP non ten mecanismos de control de conxestión nin de control de fluxo, mesmo se a rede está moi conxestionada, non fará axustes na velocidade de envío de UDP.
Sobrecarga da cabeceiraTCP ten unha lonxitude de cabeceira longa, normalmente de 20 bytes, que aumenta cando se usan campos de opción. UDP, pola contra, ten unha cabeceira fixa de só 8 bytes, polo que UDP ten unha sobrecarga de cabeceira menor.
Escenarios de aplicacións TCP e UDP:
TCP e UDP son dous protocolos de capa de transporte diferentes e presentan algunhas diferenzas nos escenarios de aplicación.
Dado que TCP é un protocolo orientado á conexión, úsase principalmente en escenarios onde se require unha entrega de datos fiable. Algúns casos de uso comúns inclúen:
Transferencia de ficheiros FTPTCP pode garantir que os ficheiros non se perdan nin se corrompan durante a transferencia.
HTTP/HTTPSTCP garante a integridade e a corrección do contido web.
Dado que o UDP é un protocolo sen conexión, non ofrece garantía de fiabilidade, pero ten as características de eficiencia e tempo real. O UDP é axeitado para os seguintes escenarios:
Tráfico de paquetes baixos, como DNS (Sistema de nomes de dominio)As consultas DNS adoitan ser paquetes curtos e UDP pode completalas máis rápido.
Comunicación multimedia como vídeo e audioPara a transmisión multimedia con altos requisitos en tempo real, UDP pode proporcionar unha latencia máis baixa para garantir que os datos se poidan transmitir de maneira oportuna.
Comunicación de radiodifusiónUDP admite a comunicación de un a moitos e de moitos a moitos e pódese usar para a transmisión de mensaxes de difusión.
Resumo
Hoxe aprendemos sobre TCP. TCP é un protocolo de comunicación de capa de transporte orientado á conexión, fiable e baseado en fluxo de bytes. Garante a transmisión fiable e a recepción ordenada de datos establecendo conexións, protocolos de enlace e confirmación. O protocolo TCP usa portos para realizar a comunicación entre procesos e proporciona servizos de comunicación directa para procesos de aplicacións que se executan en diferentes hosts. As conexións TCP son full-duplex, o que permite transferencias de datos bidireccionais simultáneas. Pola contra, UDP é un protocolo de comunicación orientado á conexión, que non ofrece garantías de fiabilidade e é axeitado para algúns escenarios con altos requisitos en tempo real. TCP e UDP difiren no modo de conexión, obxecto de servizo, fiabilidade, control de conxestión, control de fluxo e outros aspectos, e os seus escenarios de aplicación tamén son diferentes.
Data de publicación: 03-12-2024