protocolo TCP / IP (ii) - apretón de manos de tres vías con los cuatro agitando

enlace primer lugar, el enlace de tres vías se ha completado
el proceso populares:
el cliente para enviar una petición a "abrir la puerta Ahora, quiero entrar" al servidor
el servidor envía un "Adelante, voy a conseguir que abra la puerta" al cliente
el cliente ha enviado amablemente " Gracias, voy a entrar "al servidor

Diagrama de flujo:
Escribir imágenes describen aquí
Descripción del proceso:
(1) El primer apretón de manos: Cliente SYN bit de bandera se pone a 1, un valor ss generado aleatoriamente = J, y el paquete se envía al servidor, el cliente entra en el estado SYN_SENT, a la espera para el servidor de reconocimiento.
(2) El segundo protocolo de enlace: Servidor recibe los datos del paquete de la bandera bit SYN = 1, hasta que una petición de conexión del cliente, el servidor SYN y el bit de la bandera ACK se fijan a 1, ack = J + 1, un valor ss generado aleatoriamente = K, y el paquete de datos a la solicitud de conexión para confirmar cliente, el servidor entra en estado de SYN_RCVD.
(3) tercera apretón de manos: El cliente recibe acuse de recibo, la comprobación de si el ACK J + 1, ACK es 1, entonces si la bandera ACK correcta se establece en 1, ack = K + 1, y el paquete de datos al servidor, servidor comprueba si el ACK K + 1, ACK es 1, si es correcta, se establece la conexión, el cliente y el servidor entra establecidos estado, completar el enlace de tres vías, a continuación, puede empezar a transferir datos entre el cliente y el servidor.

En segundo lugar, el cuarto de onda:
proceso populares:
Enviar Cliente "es tarde, me voy" al servidor, y otros servidores de enviarlo hasta
el servidor de oído, envío "Yo sé, yo os envío fuera de él "al cliente, tales como el cliente toma
el servidor para cerrar la puerta, envío" Cerré "al cliente, y luego esperar a que el cliente vaya (hipócrita ah ~ Nima)
cliente envíe un" lo sé, lo estoy. " después de su izquierda
Escribir imágenes describen aquí
porque la conexión TCP es full-duplex, por lo tanto, cada dirección se debe cerrar por separado, este principio es que cuando una tarea se termina el envío de datos, enviando un FIN para terminar la conexión en esta dirección, recibir un FIN simplemente significa que no hay datos sobre la dirección del flujo, y que ya no es recibir datos, pero aún así ser capaz de enviar datos a través de la conexión TCP hasta esta dirección también se envía un FIN. Para cerrar una de la primera cerca activo, mientras que los otros realiza una pasiva cerrados, la descripción es el caso de la figura.
(1) Primera Onda: El cliente envía un FIN, para el cierre de la transferencia de datos licitador Cliente Servidor, cliente entra FIN_WAIT_1 estado.
(2) En segundo lugar onda: Server recibe el FIN, ACK para enviar un cliente, el número de acuse de recibo para el número de recibo 1 (el mismo SYN, FIN un ocupan un número de secuencia), el servidor entra en estado de CLOSE_WAIT.
(3) Tercera Ola: Server envía un FIN, para el cierre de la transferencia de datos de cliente Server, LAST_ACK servidor entra en estado.
(4) Cuarto de onda: el cliente recibe el FIN, cliente entra en estado TIME_WAIT, y después envía un ACK al servidor, para la recepción del número número de reconocimiento + 1, Servidor entra en el estado CERRADO, cuatro de onda completa.

¿Por qué es un enlace de tres vías para establecer una conexión y cerrar la conexión es cuatro veces más que lo agita?
Esto se debe a que el servidor en el estado de escucha, recibida después de establecer un paquete SYN solicitud de conexión, el SYN ACK y se coloca en un paquete enviado al cliente. La conexión se cierra, tras la recepción del mensaje FIN del otro eso sólo significa que la otra parte ya no envía datos, sino también recibir datos, puede no poseer todos los datos se envían entre sí, por lo que la propia puede cerrar de inmediato, también se puede enviar a algunos datos a la otra parte, y luego se envían mensajes FIN a la otra parte se pongan de acuerdo para cerrar la conexión ahora, por lo tanto, el propio FIN y ACK transmiten generalmente por separado.

Publicado 77 artículos originales · ganado elogios 39 · Vistas a 80000 +

Supongo que te gusta

Origin blog.csdn.net/qq_33824312/article/details/72519196
Recomendado
Clasificación