TCP semiabierto - TCP half-open
El término medio abierto se refiere a las conexiones TCP cuyo estado no está sincronizado entre los dos hosts que se comunican, posiblemente debido a un bloqueo 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 intenciones maliciosas .
RFC 793
Según RFC 793 , una conexión TCP se denomina semiabierta cuando el host en un extremo de esa conexión TCP se ha bloqueado o ha eliminado el socket sin notificar al otro extremo. Si el extremo restante está inactivo, la conexión puede permanecer en el estado semiabierto durante períodos de tiempo ilimitados.
Conexión embrionaria
Sin embargo, hoy en día, el término conexión semiabierta se utiliza con mayor frecuencia 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 está ahora en un estado embrionario (específicamente, SYN_SENT) y esperando una respuesta. B ahora actualiza la información de su kernel para indicar la conexión entrante de A y envía una solicitud para abrir un canal (el paquete SYN / ACK ).
En este punto, B también se encuentra en un estado embrionario (específicamente, SYN_RCVD). Tenga en cuenta 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 de regreso a B.
Una vez que B recibe este ACK final, también tiene suficiente información para la comunicación bidireccional y la conexión está completamente abierta. Ambos puntos finales están ahora en un estado establecido.
Ver también
enlaces externos
Este artículo sobre redes informáticas es un fragmento . Puedes ayudar a Wikipedia expandiéndolo . |