¿Cuál es la diferencia entre los protocolos UDP y TCP?
udp y tcp son protocolos en la capa de transporte del modelo OSI. TCP proporciona un transporte de comunicaciones confiable, mientras que UDP se utiliza a menudo para dejar la transmisión y el control detallado del transporte de comunicaciones a las aplicaciones. La diferencia entre los dos es aproximadamente la siguiente:
tcp está orientado a la conexión, udp no está orientado a la conexión, es decir, no es necesario establecer ningún enlace antes de enviar datos
<; p>tcp proporciona servicios confiables (transmisión de datos), udp no puede Garantizarse;tcp está orientado al flujo de bytes, udp está orientado a paquetes;
la transmisión de datos tcp es lenta, la transmisión de datos udp es rápido;
¿Por qué TCP necesita un protocolo de enlace de tres vías y no dos? ¿Por qué? Suponemos que A y B son las dos partes de la comunicación. El apretón de manos que entiendo es en realidad comunicación. Enviar un mensaje es un apretón de manos.
El primer apretón de manos: A llamó a B y le dijo: ¿puedes oírme?
Segundo apretón de manos: B recibió el mensaje de A y luego le dijo a A: Puedo oírte, ¿puedes oírme?
El tercer apretón de manos: A recibió el mensaje de B y dijo que sí, ¡quiero enviarte un mensaje!
Después de tres apretones de manos, tanto A como B pueden estar seguros de una cosa: tú puedes oír lo que yo digo; yo también puedo oír lo que tú dices. De esta manera puede comenzar la comunicación normal.
Nota: HTTP se basa en el protocolo TCP, por lo que cada vez que el cliente envía una solicitud y el servidor responde, TCP también puede proporcionar servicios a otras capas de aplicación, es decir, después de que A y B establezcan un enlace. Cualquiera puede comenzar a comunicarse primero.
Si se utiliza un protocolo de enlace bidireccional, la conexión se establecerá siempre que el servidor envíe un paquete de confirmación. Sin embargo, dado que el cliente no responde a la solicitud del servidor en este momento, el servidor lo hará. Siempre estará esperando al cliente, de modo que el lado del servidor desperdicie una cierta cantidad de recursos. Si se utiliza un protocolo de enlace de tres vías y el servidor no recibe otra confirmación del cliente, sabrá que el cliente no solicitó establecer una solicitud y no se desperdiciarán los recursos del servidor.