1. Protocolo de handshake TCP
En el protocolo TCP/IP, el protocolo TCP proporciona servicios de conexión fiables mediante un handshake de tres vías para establecer una conexión.
Primer apretón de manos: Al establecer una conexión, el cliente envía un paquete syn (syn=j) al servidor y entra en el estado SYN_SEND, esperando a que el servidor lo confirme.
El segundo handshake: Cuando el servidor recibe el paquete SYN, debe confirmar el SYN del cliente (ack=j+1) y también enviar un paquete SYN (syn=k), es decir, paquete SYN+ACK, momento en el que el servidor entra en el estado SYN_RECV.
Tercer apretón de manos: El cliente recibe el paquete SYN+ACK del servidor y envía el paquete de confirmación ACK (ack=k+1) al servidor.
Tras tres apretones de manos, el cliente y el servidor comienzan a transferir datos, y hay algunos conceptos importantes en el proceso anterior:
Cola no conectada: En el protocolo de apretón de manos de tres vías, el servidor mantiene una cola no conectada que abre una entrada para cada paquete SYN del cliente (syn=j) que indica que el servidor ha recibido el paquete SYN y emite una confirmación al cliente, esperando el paquete de confirmación del cliente. La conexión identificada por estas entradas está en un estado Syn_RECV en el servidor, y cuando el servidor recibe un paquete de confirmación del cliente, la entrada se elimina y el servidor entra en el estado ESTABLECIDO. Parámetro de backlog: Indica el número máximo de colas no conectadas.
Tiempos de retransmisión SYN-ACK Si el servidor envía el paquete SYN-ACK y no recibe el paquete de confirmación del cliente, el servidor realiza la primera retransmisión, espera un periodo de tiempo sin recibir el paquete de confirmación del cliente y realiza la segunda retransmisión. Ten en cuenta que el tiempo de espera para cada repaso no es necesariamente el mismo.
Tiempo de supervivencia de semiconexión: se refiere al tiempo máximo que una entrada en la cola de semiconexión sobrevive, es decir, el tiempo máximo desde que el servicio recibe el paquete SYN hasta el momento en que se confirma que el paquete es inválido, y el valor de tiempo es la suma del tiempo máximo de espera para todos los paquetes de solicitud de retransmisión. A veces también llamamos tiempo de supervivencia semi-conectado, SYN_RECV tiempo de supervivencia.
|