TCP fiabilidad de conexión - de tres vías, agitando cuatro

En primer lugar, el enlace de tres vías

1.1

Remitente es un cliente, el servidor es un extremo de recepción

El primer paso es iniciada por el cliente, el servidor está conectado realmente en un estado pasivo, entonces está en un estado de espera.

Remitente envía un comando SYN (orden de petición de conexión), el comando lleva un parámetro de valor de x al azar, se envía al servidor.

la recepción receptor verifica comando SYN, si el comando se ha completado, será enviado de nuevo un comando SYN ACK (que contiene comandos SYN y ACK de comandos, comandos ACK es enviado a un cliente de bucle de retorno del comando SYN), sino también lleva un valor de y aleatorio y el parámetro después de la operación x + 1

Después de recibir el remitente comprobar, si el valor de comando es mayor que 1 x SYN acarreo, a continuación, se considerará que ha sido recibida por el servidor para enviar un mensaje de vuelta.

caso remitente continúa enviando solo valor recibido de X y el valor y + 1 se envía al servidor al receptor. El servidor después de recibir el comando para asegurarse de que la conexión se ha establecido plenamente.

 

1.2 ¿Por qué el enlace de tres vías?

Para conseguir una transmisión fiable, el remitente y el receptor están siempre necesita ser sincronizado (  el SYN chronize) Referencia

 

1.3 ¿Por qué debería llevar a valores aleatorios?

Para determinar qué necesidades de los clientes y establecer una conexión

 

Dos, cuatro de onda

2.1

El cliente y el servidor pueden realizar tales procesos a Client (cliente) para iniciar el proceso de servidor (el servidor), por ejemplo.

Client estado conectado, el FIN envía una (se cierra la conexión) del sistema, y ​​lleva FIN = 1, SEC = un valor aleatorio.

Servidor recibe la transmisión de ACK (loopback) comando de datos, y lleva de vuelta la información correspondiente. En el que, ack = u + 1.

El cliente recibe el comando ACK después de su conexión desconectado (OFF operación de salida puede ser, pero está reservado para la entrada de operación de lectura. En este caso, el servidor envía sus datos al cliente).

Fin del servidor después de enviar el comando ACK, la condición de su propio conjunto, FIN envía al cliente (para cerrar la conexión) ,, y lleva comando ACK = u + 1

Servidor cliente recibe los comandos FIN, ACK comando se envía al servidor

Después de recibir el comando ACK desconexión del servidor de cliente, la desconexión

 

2.1 Servidor determinan cómo se envían los comandos FIN cliente recibió?

Cuando el servidor envía comandos FIN, que llevará a cabo un estado de espera. En este estado de espera, sea ininterrumpido, transmitir continuamente comando FIN, este intervalo de tiempo es típicamente uno datos de segmento de tiempo de entrega más completa (típicamente 30 s). Si el cliente continúe recibiendo comandos FIN, indicando Server no recibe comandos ACK, el cliente también necesita de comandos de forma continua transmisión de ACK. Por supuesto, este proceso puede parecer anormal.

 

2.2 Por qué debería haber cuatro veces agitando?

Garantizar full duplex (ambas partes pueden enviar y recibir mensajes) desconectado.

 

 

 

Publicados 174 artículos originales · ganado elogios 115 · vistas 830 000 +

Supongo que te gusta

Origin blog.csdn.net/nicolelili1/article/details/103951442
Recomendado
Clasificación