Conexión TCP: protocolo de enlace de tres vías y cuatro ondas

establecer conexión

El cliente y el servidor envían solicitudes a través del protocolo HTTP y obtienen contenido.

Antes de enviar una solicitud, primero debe establecer una conexión y asegurarse de que la máquina de destino esté en un estado que pueda aceptar la solicitud.

Por ejemplo, si desea pedirle a un mensajero (un tercero) que recoja algo de la casa de Zhang San, primero debe llamarlo para preguntarle si está en casa. Este es el proceso de establecer una conexión.

El protocolo HTTP es un protocolo de capa de aplicación que solo especifica el formato de datos de req y res, como código de estado, encabezado, cuerpo, etc.

Establecer una conexión de red requiere un protocolo TCP de nivel inferior.

tres apretones de manos

Apretón de manos de tres vías, es decir, al establecer una conexión TCP, el cliente y el servidor deben enviar un total de 3 paquetes.

Déjame darte un ejemplo primero. ¿O quieres enviar a alguien a la casa de Zhang San a recoger algo? Ahora tienes que enviar un mensaje de texto (no una llamada) para “establecer una conexión”, lo que requiere al menos 3 pasos, ninguno de los cuales se puede eliminar.

  • ¿Estás en casa?
  • Zhang San: En casa
  • Tú: Está bien, vayamos allí (luego asignas a alguien para que vaya a la puerta y Zhang San está listo para saludarlo)

proceso

  • El cliente envía el paquete y el servidor lo recibe. Confirmación del servidor: la capacidad de envío del cliente es normal.
  • El servidor envía el paquete y el cliente lo recibe. Confirmación del cliente: la capacidad de recepción del servidor es normal.
  • El cliente envía el paquete y el servidor lo recibe. Confirmación del servidor: El cliente está a punto de enviarme datos y quiero estar listo para recibirlos.

Se establece la conexión y luego comienzan los datos y la comunicación.

saludar cuatro veces

El apretón de manos es para establecer una conexión. Saludar significa decir adiós y cerrar la conexión.

Sigue siendo el mismo ejemplo que antes. Es posible que recoger cosas no se pueda hacer de una sola vez, sino que puede que sean necesarios muchos viajes de ida y vuelta. Además, es posible que no todo lo inicie usted. Durante el proceso, Zhang San también puede tomar la iniciativa de enviar a alguien para que se lo envíe.

Es decir, lo que ves en Chrome es una solicitud http. De hecho, puede requerir varias transmisiones de red, pero el navegador las fusiona.

Bien, después de recoger las cosas, debes enviar un mensaje de texto "Cerrar la conexión" para decirle a Zhang San que es hora de cerrar la puerta. Se necesitan 4 pasos.

[Nota] Aquí debe esperar la confirmación de que Zhang San cierra la puerta antes de que la conexión se cierre por completo. No puede simplemente decirlo e ignorarlo. Es diferente de la vida cotidiana.

  • Tu: ya esta hecho
  • Zhang San: Está bien (puedo continuar enviándote mensajes en este momento y tú debes continuar recibiéndolos. Hasta que Zhang San haya terminado de enviarlos)
  • Zhang San: Terminé de enviar y estoy listo para cerrar la puerta.
  • Tú: OK, cierra la puerta (luego puedes irte, Zhang San puede cerrar la puerta, la conexión finaliza)

proceso

  • El cliente envía el paquete y el servidor lo recibe. Confirmación del servidor: el cliente ha completado la solicitud.
  • El servidor envía el paquete y el cliente lo recibe. Confirmación del cliente: El servidor lo ha recibido, estoy esperando que se cierre
  • El servidor envía el contrato: el cliente lo acepta. Confirmación del cliente: el servidor ha completado el envío y se puede cerrar
  • El cliente envía el paquete y el servidor lo recibe. Confirmación del servidor: se puede cerrar

Ilustración

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/wuguidian1114/article/details/125964154
Recomendado
Clasificación