Protocolo de enlace tripartito TCP / IP detallado

  • Definición de apretón de manos de tres vías
  • El propósito del apretón de manos de tres vías.
  • El proceso de tres apretones de manos
  • ¿Por qué tenemos que estrechar la mano tres veces?

> Definición de apretón de manos de tres vías

Apretón de manos de tres vías (apretón de manos de tres veces; apretón de manos de tres vías) El llamado "apretón de manos de tres vías" es cómo rastrear la cantidad de datos enviados cada vez para negociar y sincronizar la transmisión y recepción de segmentos de datos, de acuerdo con la cantidad de datos recibidos El número de confirmaciones de datos y cuándo cancelar el contacto después de enviar y recibir los datos, y establecer una conexión virtual. Para proporcionar una transmisión confiable, TCP envía los números de secuencia de los paquetes de datos en un orden específico antes de enviar nuevos datos, y necesita mensajes de confirmación después de que estos paquetes se transmiten a la máquina de destino. TCP siempre se usa para enviar grandes cantidades de datos. TCP también se utiliza cuando la aplicación necesita hacer un reconocimiento después de recibir los datos.

> El propósito del apretón de manos de tres vías

Elimine la interferencia del antiguo mensaje SYN de solicitud de conexión con la nueva conexión, sincronice el número de serie y el número de confirmación de ambos lados de la conexión e intercambie información del tamaño de la ventana TCP.

> Proceso de tres apretones de manos

Escriba una descripción de la imagen aquí

El primer protocolo de enlace: el cliente envía un paquete de sincronización (syn = x) al servidor y entra en el estado SYN_SEND, esperando que el servidor confirme; el
segundo protocolo de enlace: el servidor recibe el paquete de sincronización y debe confirmar el SYN del cliente (ack = x + 1) Al mismo tiempo, también envío un paquete SYN (syn = y), es decir, paquete SYN + ACK, y el servidor ingresa al estado SYN_RECV; el
tercer apretón de manos: el cliente recibe el paquete SYN + ACK del servidor y envía un paquete de confirmación ACK y + 1), después de enviar el paquete, el cliente y el servidor ingresan al estado ESTABLECIDO y completan tres apretones de manos.
El paquete transmitido durante el protocolo de enlace no contiene datos. Después de completar el protocolo de enlace de tres, el cliente y el servidor comienzan oficialmente a transmitir datos. Idealmente, una vez que se establece una conexión TCP, la conexión TCP se mantendrá hasta que cualquiera de las dos partes cierre activamente la conexión.

> ¿Por qué tenemos que estrechar la mano tres veces?

1. El protocolo de enlace de tres vías se utiliza para evitar que el segmento de mensaje de solicitud de conexión no válida se transmita repentinamente al host B, generando así un error. El segmento de solicitud de conexión no válida significa que la solicitud de conexión enviada por el host A no ha recibido confirmación del host B. Después de un período de tiempo, el host A envía una solicitud de conexión al host B nuevamente, y el establecimiento es exitoso, y la transmisión de datos se completa en secuencia. Considere un caso tan especial, la primera solicitud de conexión enviada por el host A no se pierde, pero debido a que el nodo de la red provoca un retraso para llegar al host B, el host B cree que es una nueva conexión iniciada por el host A, por lo que el host B acepta conectarse, y Se devuelve una confirmación al host A, pero en este momento el host A simplemente lo ignora, y el host B ha estado esperando que el host A envíe datos, lo que resulta en un desperdicio de recursos del host B.
2. Por supuesto que no, los motivos son los anteriores.

Publicado 19 artículos originales · elogiado 5 · visitas 7742

Supongo que te gusta

Origin blog.csdn.net/qq_38119372/article/details/79538381
Recomendado
Clasificación