De tres vías apretón de manos y cuatro agitando (adjunta entrevista FAQ)

directorio

Apretón de manos de tres vías

conexión TCP se establece que puede ser apretón de manos de dos vías? ¿Por qué?

Puede utilizar cuatro vías apretón de manos? ¿Por qué?

El tercer apretón de manos, si ACK del cliente no llega a los servidores, lo que va a pasar?

Si ha establecido una conexión, pero ocurrió el cliente cómo hacer fracaso?

¿Qué número de secuencia inicial es?

cuatro agitando

¿Por qué no puede el ACK y FIN enviado por el servidor de fusión en tres ondas (lo que es el estado CLOSE_WAIT significado)?

Si el segundo servidor ACK ola deja de atender a los clientes, lo que va a pasar?

¿Cuál es la importancia del cliente estado TIME_WAIT es?


Apretón de manos de tres vías

 

SYN (síncrona): para establecer una conexión       

ACK (acuse de recibo): Confirmar

SEQ (número de secuencia) ACK (número de confirmación)

SYN_RCVD即是SYN_RECEIVED

 

conexión TCP se establece que puede ser apretón de manos de dos vías? ¿Por qué?

 

No. puede ocurrir lo siguiente: El segmento de solicitud de conexión desaparecida se ha extendido al servidor .

cliente envía primero un segmento de petición de conexión no se pierde, pero en un nodo de red de una larga cadena, resultando en retrasa a una liberación de la conexión de tiempo más tarde antes de llegar al servidor. Esto en sí mismo ya es un fallo del segmento. Sin embargo, el servidor recibe esta petición tras el fracaso del segmento de conexión, se confunde con una nueva solicitud de conexión emitido por el cliente de nuevo. Por lo tanto, es un mensaje de confirmación a segmentos de clientes, acordó establecer una conexión. No asuma que un "enlace de tres vías", siempre y cuando el servidor de una confirmación, se establece una nueva conexión. Ahora que ningún cliente que solicita el establecimiento de una conexión, y por lo tanto no va a pasar por alto el servidor de reconocimiento, no enviará datos al servidor. Pero el servidor cree que la nueva conexión de transporte se ha establecido y ha sido enviada a esperar a que los datos del cliente. De esta manera, una gran cantidad de recursos en el servidor desperdicia. Un "enlace de tres vías" enfoque puede prevenir este fenómeno. Por ejemplo, ese tipo de situación, el cliente no envía una confirmación para confirmar el servidor. Dado que el servidor no recibe la confirmación, sabemos que no es necesario que el cliente para establecer una conexión.

 

 

Puede utilizar cuatro vías apretón de manos? ¿Por qué?

Puede. Pero reducirá la eficiencia de la transmisión.

Se refiere a un apretón de manos de cuatro vías: segundo apretón de manos: Servidor sólo envía ACK y reconocer el número, el número de secuencia inicial y SYN se envía cuando la tercera apretón de manos servidor; protocolo original tercera apretón de manos se convierte en el cuarto apretón de manos. Con fines de optimización, el saludo de cuatro vías de dos o tres pueden combinarse.

 

 

El tercer apretón de manos, si ACK del cliente no llega a los servidores, lo que va a pasar?

Desde Servidor ACK no se recibe acuse de recibo, retransmite el anterior SYN + ACK (retransmisión por defecto cinco, a continuación, cierre automáticamente la conexión), el cliente recibirá el ACK retransmisión al servidor.

Si el cliente transmite datos al servidor, el servidor en respuesta a paquetes RST.

 

 

Si ha establecido una conexión, pero ocurrió el cliente cómo hacer fracaso?

Cada vez que el servidor recibe la solicitud del cliente se restablecerá un temporizador, el tiempo se suele fijar a 2 horas, si dos horas no ha recibido ningún dato del cliente, el servidor envía un segmento de la sonda, después de cada 75 segundos para enviar uno. Si el envío de 10 paquetes de sondeo consecutivos todavía no respondió, el servidor trajo clientes considerados un fracaso, y luego cerrar la conexión.

 

 

¿Qué número de secuencia inicial es?

Uno de conexión A TCP, seleccionados al azar el número de secuencia de 32 bits (número de secuencia) como el número de secuencia inicial (número de secuencia inicial, ISN) para la transmisión de datos, tal como 1000, al número de serie del origen, los datos a transmitir se No: 1001, 1002 ... cuando enlace de tres vías, este número de secuencia inicial enviada a la otra parte B, por lo que durante la transmisión de datos, B puede confirmar qué código datos son válidos; al mismo tiempo durante la transmisión de datos, una mayor se confirmó que cada byte recibido B, si a recibe un reconocimiento de la serie B (acuse de recibo número) es de 2001, esto significa que el número de datos ha sido aceptada con éxito 1001-2000 B.

 

 

 

cuatro agitando

 

  • La primera onda: Cliente será FIN se establece en 1 , un número de secuencia de transmisión SEC al servidor ; entrar FIN_WAIT_1 estado;
  • En segundo lugar onda: Después Server recibe FIN, la transmisión de un ACK = 1, número de la SEQ = v, reconocer número 1 número = secuencia del segmento recibido propio, el estado CLOSE_WAIT entra. En este caso el cliente no tiene datos para enviar, pero todavía puede aceptar los datos enviados por el servidor.
  • La tercera onda: conjuntos de servidor FIN 1, ACK = 1, un número de secuencia de transmisión SEC = w, (esta vez ya que los datos pueden ser transferidos a un servidor a un cliente de cliente), duplicado de acuse de recibo ACK = u + 1,; entrar estado LAST_ACK;
  • El cuarto de onda: el cliente recibe del servidor FIN, entra en el estado TIME_WAIT; a continuación, se establece el ACK, transmitiendo su número de SEC propia secuencia, reconocer número (número de acuse de recibo) = número de secuencia 1 de servidor para el servidor; servidor recibe después de la confirmación reconoce el número, se convierte en el estado CERRADO, ya no envía datos al cliente. Después de que el cliente espera 2 MSL * tiempo (máximo de segmento toda la vida), sino también en el estado cerrado. Cuatro de onda completa.

 

¿Por qué no puede el ACK y FIN enviado por el servidor de fusión en tres ondas (lo que es el estado CLOSE_WAIT significado)?

Debido a que el servidor recibe una petición de cliente para una conexión se desconecta, algunos datos pueden ser terminados, a continuación, volver a la ACK, indica que la solicitud de desconexión recibida. Después de terminado hasta que la retransmisión de datos FIN, desconectar el cliente servidor de transferencia de datos.

 

 

Si el segundo servidor ACK ola deja de atender a los clientes, lo que va a pasar?

El cliente no recibe acuse de recibo ACK, FIN volverá a enviar la solicitud.

 

 

¿Cuál es la importancia del cliente estado TIME_WAIT es?

Cuando el cuarto de onda, el cliente envía un ACK al servidor puede ser perdido, estado TIME_WAIT se utiliza para paquetes de retransmisión ACK pueden perderse. Si el servidor no recibe ACK, FIN vuelve a ser transmitido, si el cliente recibe un FIN en 2 periodo MSL * de tiempo, se volverá a enviar el ACK y esperar 2MSL de nuevo, para evitar Server no recibe ACK y continuar para retransmitir FIN.

MSL (duración máxima del segmento), se refiere a un tiempo máximo de supervivencia de los segmentos de red, 2MSL se transmite y un tiempo máximo requerido para una respuesta. Si hasta 2MSL, el cliente no ha recibido FIN otra vez, entonces el cliente llegó a la conclusión de que ACK ha sido recibido con éxito, la conexión TCP.

 

Publicado 38 artículos originales · ganado elogios 6 · vistas 1904

Supongo que te gusta

Origin blog.csdn.net/weixin_43827227/article/details/104248213
Recomendado
Clasificación