4.12 En una conexión TCP, ¿cuál es la diferencia entre un corte de energía en un extremo y una falla del proceso?

Tabla de contenido

TCP keepalive Mecanismo de mantenimiento de TCP

El host falla

bloqueo del proceso

Escenarios con transferencia de datos.

El host del cliente se cae y se reinicia rápidamente

El host del cliente está inactivo y no se ha reiniciado

Resumen del tiempo de inactividad del servidor de conexión TCP y salida del proceso


TCP keepalive  Mecanismo de mantenimiento de TCP

El mecanismo de mantenimiento de conexión de TCP debe configurarse a través de la interfaz del socket  SO_KEEPALIVE para que surta efecto.

        Defina un período de tiempo. Si no hay actividad relacionada con la conexión dentro de este período de tiempo (tiempo de mantenimiento de actividad 7200 s, dos horas), inicie el mecanismo de mantenimiento de actividad de TCP y comience a enviar un mensaje de sondeo cada dos períodos de tiempo (75 segundos). Si no se recibe respuesta durante varios (9) paquetes de detección consecutivos, se considera que la conexión TCP ha muerto.

El host falla

Si TCP keepalive no está habilitado, el cliente está inactivo y el servidor no puede percibir el estado del cliente. La conexión TCP del servidor siempre estará en el estado de conexión ESTABLECIDA hasta que se reinicie el cliente.

Cuando no se utiliza el mecanismo de mantenimiento de conexión de TCP y las dos partes no transmiten datos, la conexión TCP de una de las partes está en el estado ESTABLECIDA, lo que no significa que la conexión de la otra parte sigue siendo normal.

bloqueo del proceso

La información de la conexión TCP es mantenida por el kernel. Cuando un proceso del servidor falla, el kernel necesita recuperar todos los recursos de conexión TCP del proceso. El kernel envía el primer mensaje FIN de agitación y el proceso de agitación posterior también se completa en el kernel. sin necesidad de un proceso participar.

Por lo tanto, una vez que sale el proceso del servidor, aún puede completar con éxito el proceso de onda de cuatro vías TCP con el cliente.

Escenarios con transferencia de datos.

El host del cliente se cae y se reinicia rápidamente

Siempre que una parte reinicie y reciba el mensaje de conexión TCP anterior, responderá al mensaje RST para desconectar la conexión.

El host del cliente está inactivo y no se ha reiniciado

Cuando el número de veces que el servidor retransmite paquetes en horas extras alcanza un cierto umbral, el kernel determinará que hay un problema con TCP y luego le dirá al programa de aplicación que hay un problema con la conexión TCP a través de la interfaz Socket, por lo que el La conexión TCP en el servidor se desconectará.

Resumen del tiempo de inactividad del servidor de conexión TCP y salida del proceso

Después de desconectar el cable de red, ¿aún existe la conexión TCP original?

La acción de desconectar el cable de red no afectará el estado de la conexión TCP, depende de qué acciones hayan realizado ambas partes después de desconectar el cable de red:

Después de desconectar el cable de red, hay transmisión de datos.

El mensaje de datos enviado por el servidor al cliente no recibirá ninguna respuesta y el servidor activará el mecanismo de retransmisión de tiempo de espera para retransmitir el mensaje de datos que no ha recibido respuesta.

Si el cable de red se vuelve a enchufar durante el proceso de retransmisión del tiempo de espera del servidor, el cliente devolverá un mensaje de respuesta ACK.

Si no se vuelve a enchufar, se desconectará después de retransmitir una determinada cantidad de veces de forma predeterminada 15 veces.

No hay transmisión de datos después de desconectar el cable de red

Si el mecanismo keepalive de TCP no está habilitado  , la conexión TCP entre el cliente y el servidor siempre existirá después de que el cliente desconecte el cable de red y ambas partes no transmitan datos.

Y si el mecanismo Keepalive de TCP está activado , después de que el cliente desconecta el cable de red, incluso si ninguna de las partes realiza la transmisión de datos, después de un período de tiempo, TCP enviará un mensaje de detección:

        Si el par está trabajando normalmente. El mensaje de detección de mantenimiento de actividad de TCP se envía al par, de modo que el tiempo de mantenimiento de actividad de TCP se restablecerá y esperará la llegada del siguiente tiempo de mantenimiento de actividad de TCP.

        Si el host par está inactivo y el mensaje de detección es inalcanzable, TCP informará la muerte de TCP

Saque el resumen del cable de red:

 

Supongo que te gusta

Origin blog.csdn.net/super8ayan/article/details/132504287
Recomendado
Clasificación