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?
46
Puedes encontrar un buen resumen aquí:
¿Cuál es la diferencia entre los protocolos de internet UDP y TCP?
Tanto TCP como UDP funcionan en el modelo TCP / IP de la capa de transporte, pero tienen un uso muy diferente.
Las diferencias más importantes son:
TCP:
UDP orientado a la conexión: sin conexión
TCP: el orden de recepción del mensaje está garantizado
UDP: el pedido no está garantizado
TCP: pesado, debido a la sobrecarga de conexión / pedido
UDP: ligero, muy poca sobrecarga
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 difieren las estructuras de trama TCP y UDP.
Esta es la estructura de trama TCP:
Y esta es la estructura de trama UDP, mucho más simple:
Los protocolos típicos que usan TCP son HTTP, FTP y SMTP. Ejemplos de protocolos que usan UDP son DNS y DHCP.
fuente
Y la explicación a nivel de CEO:
fuente
TCP y UDP son protocolos que se ejecutan sobre IP. TCP ha garantizado la entrega y UDP no. Seleccionaría uno u otro para el reenvío de puertos según el servicio que intente reenviar. HTTP, por ejemplo, es TCP. Si no sabe qué protocolo es el servicio que está intentando reenviar, es casi seguro que es TCP.
fuente
Para responder a 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.
fuente
Además de las diferencias mencionadas hasta ahora, TCP también proporciona
control de flujo. Utilizando 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 a TCP a 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.
fuente
TCP hace un esfuerzo para garantizar que los datos lleguen al destinatario; UDP no lo hace.
fuente
No importa todas las respuestas que explican una versus la otra. A los efectos de configurar un reenvío de puerto, 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 también hay otros protocolos además de TCP y UDP: ICMP, protocolos de túnel, etc.
fuente
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.
fuente
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, se duplica o falta 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 difusió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 con 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 del soporte de correo electrónico de reagrupamiento TCP y transferencia de archivos y aplicaciones web. Entre sus tareas de administración, TCP controla el tamaño de los mensajes, 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.
fuente
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 protocolo TCP.
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.
fuente