¿Principio de protocolo de enlace de tres vías TCP?
En el protocolo TCP/IP, el protocolo TCP proporciona servicios de conexión confiables y utiliza un protocolo de enlace de tres vías para establecer una conexión.
El primer apretón de manos: para establecer una conexión, el cliente envía un paquete de datos syn (syn=j) al servidor y entra en el estado SYN_SEND, esperando la confirmación del servidor
El segundo apretón de manos: después de que el servidor recibe el paquete de sincronización, debe confirmar el SYN del cliente (ack = j 1) y, al mismo tiempo, también envía un paquete SYN (syn = k), es decir. , un paquete SYN ACK En este momento, el servidor ingresa al estado SYN_RECV
El tercer apretón de manos: después de recibir el paquete SYN ACK del servidor, el cliente envía un paquete de confirmación ACK (ack = k 1). ) al servidor Después de enviar el paquete, el cliente y el servidor ingresan al estado ESTABLECIDO y completan el protocolo de enlace de tres vías.
Después de completar el protocolo de enlace de tres vías, el cliente y el servidor comienzan a transmitir datos. Durante el proceso anterior, hay algunos conceptos importantes:
Cola desconectada: en el protocolo de tres vías. Protocolo de protocolo de enlace, el servidor mantiene una cola desconectada. La cola abre una entrada (syn = j) para el paquete SYN de cada cliente, lo que indica que el servidor recibió el paquete SYN y envió un acuse de recibo al cliente, y está esperando el acuse de recibo del cliente. paquete. Las conexiones identificadas por estas entradas están en el estado Syn_RECV en el servidor, y cuando el servidor recibe un paquete de confirmación del cliente, las entradas se eliminan y el servidor ingresa al estado ESTABLECIDO.
Parámetro Backlog: Indica el número máximo de colas no conectadas que se retendrán.
El número de retransmisiones SYN-ACK Después de que el servidor envía el paquete SYN-ACK, si no recibe el paquete de confirmación del cliente, el servidor realizará la primera retransmisión y esperará un período de tiempo antes. Al recibir la confirmación del cliente, el paquete de datos se retransmitirá por segunda vez. Si el número de retransmisiones supera el número máximo de retransmisiones especificado por el sistema, el sistema eliminará la información de conexión en la cola de semiconexión. Tenga en cuenta que el tiempo de espera para cada retransmisión no es necesariamente el mismo.
Tiempo de supervivencia de semiconexión: Es el tiempo más largo para que sobrevivan las entradas en la cola de semiconexión, es decir, el tiempo más largo que espera el servicio desde que recibe el paquete SYN hasta que confirma que esta información es no válido El valor de este tiempo es all La suma de los tiempos de espera máximos para los paquetes de solicitud de retransmisión. A veces, también nos referimos al tiempo de supervivencia de la semiconexión como tiempo de espera y tiempo de supervivencia SYN_RECV.