it-swarm-es.com

¿Cuál es la diferencia entre UDP y TCP?

Mi enrutador tiene dos protocolos (y una opción de "ambos") que puedo seleccionar al configurar el reenvío de puertos: UDP y TCP. ¿Cuál es la diferencia entre estos dos protocolos y cuándo seleccionaría uno sobre el otro en el reenvío de puertos?

47
Guy

TCP está respaldado por acks y reintentos para asegurarse de que sus datos lleguen a donde van. UDP no tiene conexión y "dispara y olvida". UDP se usa principalmente para aplicaciones de tipo de transmisión, donde si pierde algunos datos no necesita intentar enviarlos nuevamente.

El que uses depende de la aplicación. Por ejemplo, un servidor web usa TCP.

52
user640

Puedes encontrar un buen resumen aquí:

¿Cuál es la diferencia entre UDP y TCP protocolos de internet?

Ambos TCP y UDP funcionan en el modelo TCP/IP de la capa de transporte, pero tienen un uso muy diferente.

Las diferencias más importantes son:

  • Fiabilidad :
    TCP: orientado a la conexión
    UDP: sin conexión
  • Pedido :
    TCP: se garantiza el orden de recepción del mensaje
    UDP: el pedido no está garantizado
  • Peso del protocolo :
    TCP: peso pesado, debido a la conexión/sobrecarga de pedidos
    UDP: ligero, muy pocos gastos generales
  • Paquetes :
    TCP: transmisión, los datos se leen como una "transmisión", sin que nada distinga dónde termina un paquete y dónde comienza otro. Puede haber múltiples paquetes por llamada de lectura.
    UDP: datagramas, un paquete por una llamada de lectura.

Estructura del marco

Cuando los datos se envían a través de la red, deben encapsularse en los llamados "marcos". Existen varios métodos de encapsulación según el protocolo y la topología que se estén utilizando. Las siguientes imágenes muestran cómo TCP y las estructuras de trama UDP difieren.

Esta es la estructura de marco TCP:

TCP frame

Y esta es la estructura de trama UDP, mucho más simple:

UDP frame

Los protocolos típicos que usan TCP son HTTP, FTP y SMTP. Ejemplos de protocolos que usan UDP son DNS y DHCP.

74
splattne

Y la explicación a nivel de CEO:

UDP es cuando arrojas tu papel en la dirección general de la papelera.

TCP es cuando falla, arroja copias exactas del mismo papel una y otra vez hasta que cae en el contenedor. Habría desperdicio de papel, incluso reenviado TCP resultan en desperdicio de recursos de la red o del sistema.

45
pgs

TCP y UDP son protocolos que se ejecutan sobre IP. TCP ha garantizado la entrega y UDP no. Usted seleccionaría uno u otro para el reenvío de puertos dependiendo del servicio que está intentando reenviar. HTTP, por ejemplo, es TCP. Si no lo hace ' No sé qué protocolo es el servicio que intenta reenviar, es casi seguro que es TCP.

7
Brian

Para responder otra parte de su pregunta, debe reenviar lo que usa su aplicación. Para reenviar el tráfico HTTP, seleccione TCP. Para reenviar el tráfico TFTP, seleccione UDP. Los programas p2p utilizan principalmente tcp y udp, así que reenvíelos a ambos.

Todo depende del protocolo y del programa que esté utilizando.

3
hayalci

Además de las diferencias mencionadas hasta ahora TCP también proporciona

control de flujo. Usando un mecanismo de ventana, el destinatario limita cuántos octetos (bytes) quiere recibir del remitente antes de que el remitente deba esperar el permiso para enviar más datos. El receptor puede cambiar el tamaño de la ventana a medida que avanza la conversación. Esto permite que un receptor 'acelere' la velocidad de los datos que provienen de un remitente: UDP no permite esto y todo lo que un receptor puede hacer es tirar los datos que no puede almacenar o procesar al llegar.

algunas instalaciones más técnicas, como el reconocimiento no contiguo (utiliza reconocimientos selectivos para permitir que el remitente retransmita solo una trama faltante en lugar de la trama faltante y las subsiguientes que el receptor ya tiene pero no pudo reconocer de la manera habitual), manejo de congestión y retransmisión adaptativa (ajuste del temporizador que decide qué tan pronto reenviar una trama transmitida cuando no se recibe un acuse de recibo). Estos no son relevantes para UDP, pero ayudan TCP para proporcionar servicios adicionales a través de UDP sin aumentar en gran medida la carga de la red para el mismo volumen de carga útil.

2
mas

TCP hace un esfuerzo para garantizar que los datos lleguen al destinatario; UDP no lo hace.

2
J. Polfer

No importa todas las respuestas que explican una versus la otra. A los fines de configurar un reenvío de puertos, las reglas son bastante simples: debe elegir TCP, a menos que los documentos para el protocolo/aplicación que está utilizando digan que use UDP. Por lo general, los que usan UDP están relacionados con la transmisión, o cosas muy simples que favorecen protocolos ligeros/velocidad sobre confiabilidad (particularmente DNS y NTP). Tenga en cuenta que hay otros protocolos además de TCP y UDP también: ICMP, protocolos de túnel, etc.

1
Lee B

Cuanto más conocido es un protocolo, más enrutadores en el camino intervienen con el protocolo. Envíe paquetes tcp, y existe una gran probabilidad de que los paquetes recibidos estén muy destrozados. UDP generalmente no está tan maltratado, y los otros 254 protocolos IP paylod generalmente están completamente intactos.

1
user60557

Protocolo de datagramas de usuario (UDP)

Forma parte de los protocolos básicos de Internet Protocol Suite. Los programas en computadoras en red pueden enviar mensajes cortos a veces llamados datagramas. UDP no garantiza ninguna confiabilidad (sucede que el datagrama puede llegar fuera de servicio, estar duplicado o faltar sin previo aviso). El hecho de que no se compruebe si todos los paquetes se entregan realmente, UDP demuestra ser más rápido y más eficiente, para aplicaciones que no necesitan entrega garantizada. UDP encuentra sus usos en tales situaciones:

Aplicaciones sensibles al tiempo. Se evitan los problemas debidos a paquetes retrasados.

También es útil para servidores que responden consultas pequeñas de un gran número de clientes. UDP admite la transmisión de paquetes (se transmite a todos en la red local) y la multidifusión (se transmite a todos los suscriptores).

Protocolo de control de transmisión (TCP)

A menudo se le conoce como TCP/IP debido a la importancia de este protocolo en Internet Protocol Suite. TCP opera a un nivel superior, preocupado solo por los dos sistemas finales (por ejemplo, entre el navegador web y un servidor web). TCP proporciona una entrega confiable y secuencial de un flujo de datos de un programa en una computadora a otro programa en otra computadora. Usos comunes de TCP reagrupar el soporte de correo electrónico y la transferencia de archivos y aplicaciones web. Entre sus tareas de administración, TCP controla el tamaño del mensaje, la velocidad a la que se intercambian los mensajes y la congestión del tráfico de la red. En cuanto a IP, maneja transmisiones de nivel inferior de computadora a computadora como un mensaje transferido a través de Internet.

0
surendran

Bueno, ambos son protocolos de red construidos sobre algo llamado Protocolo de Internet o IP. El Protocolo de Internet es el principal protocolo de Internet y es, por ejemplo, lo que nos permite navegar por la web. Es por eso que a menudo verá estos protocolos escritos como TCP/IP o UDP/IP. En realidad son protocolos centrales de internet.

En ambos casos, sus datos se dividen en fragmentos llamados paquetes. TCP asegura que estos paquetes lleguen a su destino y en el orden correcto y sin ningún error.

UDP, por otro lado, no garantizará que incluso llegue un paquete de datos. Solo se asegurará de que si llega será sin error.

Por lo general, otros protocolos se ejecutarán sobre TCP y UDP y se conocen como protocolos de aplicación porque operan dentro de una aplicación y no dentro del sistema operativo. Su navegador web utiliza el protocolo HTTP que utilizará el TCP protocolo.

Las búsquedas de nombres de dominio o consultas DNS a menudo usan UDP pero también pueden usar TCP. Varios servicios de transmisión usan UDP debajo de otros protocolos de aplicación.

Espero que responda su pregunta en un inglés más simple.

0
Matt