stringtranslate.com

TCP semiabierto

El término semiabierto se refiere a conexiones TCP cuyo estado no está sincronizado entre los dos hosts que se comunican, posiblemente debido a una falla de un lado. Una conexión que está en proceso de establecerse también se conoce como conexión embrionaria . La falta de sincronización podría deberse a una intención maliciosa .

RFC 793

Según RFC 793, una conexión TCP se considera semiabierta cuando el host en un extremo de esa conexión TCP ha dejado de funcionar o ha eliminado el socket sin notificar al otro extremo. Si el otro extremo está inactivo, la conexión puede permanecer en estado semiabierto durante períodos de tiempo ilimitados.

Tiempo de espera del firewall con estado

Otra circunstancia que puede dar lugar a conexiones semiabiertas es si un cortafuegos con estado agota el tiempo de espera de una conexión que ha estado inactiva durante demasiado tiempo. En este caso, el cortafuegos borra su estado interno y, si cualquiera de los lados de la conexión envía un paquete, el cortafuegos lo descartará. Esto suele dar lugar a una conexión semiabierta, ya que los dos lados de la conexión pueden acabar teniendo estados de conexión inconsistentes.

Conexión embrionaria

El término conexión semiabierta también se puede utilizar para describir una conexión embrionaria , es decir, una conexión TCP que está en proceso de establecerse.

TCP tiene un sistema de tres estados para abrir una conexión. Primero, el punto final de origen (A) envía un paquete SYN al destino (B). A se encuentra ahora en un estado embrionario (específicamente, SYN_SENT) y espera una respuesta. B ahora actualiza su información de núcleo para indicar la conexión entrante desde A y envía una solicitud para abrir un canal de vuelta (el paquete SYN/ACK ).

En este punto, B también se encuentra en un estado embrionario (específicamente, SYN_RCVD). Nótese que B fue puesto en este estado por otra máquina, fuera del control de B.

En circunstancias normales (ver ataque de denegación de servicio para casos de falla deliberada), A recibirá el SYN/ACK de B, actualizará sus tablas (que ahora tienen suficiente información para que A envíe y reciba) y enviará un ACK final a B.

Una vez que B recibe este acuse de recibo final, también tiene suficiente información para la comunicación bidireccional y la conexión queda totalmente abierta. Ambos puntos finales se encuentran ahora en un estado establecido.

Véase también

Enlaces externos