Similitudes y diferencias entre TCP y UDP

Similitudes y diferencias entre TCP y UDP

TCP/IPLa capa de transporte del modelo tiene dos protocolos diferentes: UDPprotocolo de datagrama de usuario y TCPprotocolo de control de transmisión.

Similitudes

  • TCPY UDPprotocolos se están ejecutando en la capa de transporte
  • TCPUDPSe requieren puertos abiertos para la comunicación con

Diferencia

TCP

  • TCPEs un protocolo orientado a la conexión que proporciona comunicación full-duplex. Necesita establecer un enlace antes de transmitir datos, y la carga de transmisión de datos es relativamente grande.
  • TCPBrinde servicios de entrega confiables, utilizando servicios como control de flujo y control de congestión para garantizar una comunicación confiable.
  • TCPEl 20byte más pequeño y el 60byte más grande del encabezado incluyen puerto de origen, puerto de destino, número de serie, número de confirmación, desplazamiento de datos, bandera de control, ventana, suma de verificación, puntero de emergencia, opciones y otra información.
  • TCPSolo comunicación uno a uno.
  • TCPPara la comunicación de flujo de bytes.
  • TCPPara garantizar el orden de transmisión de datos, TCPdetermine el orden de transmisión codificando un número de secuencia para cada byte del flujo de datos en la conexión.
  • TCPProporcione funciones como suma de verificación, respuesta de confirmación, número de secuencia, retransmisión de tiempo de espera, gestión de conexión, control de flujo, control de congestión, etc.
  • TCPAdecuado para aplicaciones que requieren una transmisión confiable, como la transferencia de archivos

UDP

  • UDPNo tiene conexión, es decir, no es necesario establecer una conexión antes de enviar datos, y la carga de transmisión de datos es relativamente pequeña.
  • UDPUse la entrega de mejor esfuerzo, que no garantiza una entrega confiable, y no usa control de flujo y control de congestión.
  • UDPEl primer 8byte incluye puerto de origen, puerto de destino, longitud, información de suma de verificación.
  • UDPTiene las funciones de unidifusión, multidifusión y difusión, y admite métodos de transmisión de datos uno a uno, uno a muchos, muchos a muchos y muchos a uno.
  • UDPEstá orientado a la comunicación de mensajes, y los mensajes entregados desde la capa de aplicación no se fusionan ni se dividen, pero los límites de estos mensajes se retienen y se entregan a la IPcapa después de agregar el encabezado .
  • UDPEl orden de transmisión de datos no está garantizado. El programa de capa de aplicación necesita agregar un número de secuencia al segmento de datos para controlar el orden.
  • UDPSolo IPse agregan algunas funciones al servicio de datagramas, es decir, la función del puerto y la función de detección de errores.
  • UDPAdecuado para aplicaciones en tiempo real, como telefonía por Internet, videoconferencia, transmisión en vivo, etc.

Problemas relacionados

UDP realiza una transmisión confiable

La capa de transporte no puede garantizar la transmisión confiable de datos, y solo se puede lograr a través de la capa de aplicación.El método de implementación puede referirse al método de TCPtransmisión confiable, pero la implementación no está en la capa de transmisión, y la implementación se transfiere a la capa de aplicación, principalmente mediante la implementación del mecanismo de confirmación y el mecanismo de retransmisión. , el mecanismo de ventana de confirmación para lograr una transmisión fiable, se RUDP, RTP, UDTcomo el uso de fuente abierta UDPpara lograr la transmisión de datos fiable, además hay se incorporan TCPfiabilidad y la UDPcompensación de velocidad KCPprotocolo.

La diferencia entre conexión corta TCP y conexión larga

conexión corta: Clienta Serverenviar un mensaje, Serverresponder Client, y luego escribir una vez completada, esta vez ambos lados puede iniciar cualquier closeoperación, pero estos son generalmente Clientlos primeros en iniciar closela operación. Las conexiones cortas generalmente solo Client/Serverpasan una operación de lectura y escritura en el medio. Los enlaces cortos son relativamente simples de administrar. Establecer conexiones existentes es una conexión útil y no requiere métodos de control adicionales. Sin embargo, si las solicitudes de los clientes son frecuentes, perderá TCPtiempo y ancho de banda en el establecimiento y cierre de operaciones.
Larga conexión: Clienta Server, tras la finalización de una escritura, y la conexión entre ellos no se cierra de forma activa, subsiguientes operaciones de lectura y escritura continuarán utilizando la conexión, la conexión se puede omitir más larga TCPoperación y establecer una cerrada, reducir los residuos, conservar El tiempo, para los clientes que solicitan recursos con frecuencia, es más adecuado para conexiones largas, pero a medida que el cliente se conecta cada vez más, la Servercarga se hará más y más grande. En este momento, debe adoptar algunas estrategias para reducir la carga, como apagar sin leer durante un tiempo prolongado. Escriba el LRUalgoritmo de enlace , limite el número de enlaces de clientes, etc.

Solución de desempaquetado de paquetes fijos TCP

Dado TCPque está orientado al flujo de bytes y no puede comprender los datos comerciales de la capa superior, no hay garantía de que el paquete de datos no se dividirá ni reorganizará en la capa inferior. Este problema solo puede resolverse mediante el diseño de la pila de protocolos de aplicación de la capa superior.

  • Longitud fija del mensaje: el emisor encapsula cada paquete de datos en una longitud fija (si no es suficiente, se puede 0llenar), de modo que cada vez que el receptor lee una longitud fija de datos en el búfer de recepción, cada paquete de datos se divide naturalmente Ven
  • Establezca el límite del mensaje: el servidor separa el contenido del mensaje del flujo de red de acuerdo con el límite del mensaje y agrega un retorno de carro y un carácter de avance de línea al final del paquete para la segmentación, como un FTPprotocolo.
  • El mensaje se divide en un encabezado de mensaje y un cuerpo de mensaje: el encabezado del mensaje contiene un campo que indica la longitud total del mensaje (o la longitud del cuerpo del mensaje).

Referencia

https://zhuanlan.zhihu.com/p/108822858
https://www.cnblogs.com/liangyc/p/11628148.html
https://blog.csdn.net/m_xiaoer/article/details/72885418
https://blog.csdn.net/pangyemeng/article/details/50387078
https://blog.csdn.net/quiet_girl/article/details/50599777
https://blog.csdn.net/liuchenxia8/article/details/80428157
https://blog.csdn.net/qq_40732350/article/details/90902396
https://www.cnblogs.com/fundebug/p/differences-of-tcp-and-udp.html

Supongo que te gusta

Origin www.cnblogs.com/WindrunnerMax/p/12723155.html
Recomendado
Clasificación