De tres vías infraestructura de red de protocolo de enlace TCP / IP y de cuatro ondas

Esta pregunta se ha hecho muchas veces en el examen escrito, por lo tanto, tiene la intención de consolidar un poco, escribir un artículo completo, consulte los siguientes dos artículos

https://baijiahao.baidu.com/s?id=1618114723935605183&wfr=spider&for=pc
https://blog.csdn.net/qq_35860138/article/details/82054793
https://blog.csdn.net/qq_38950316/article/ detalles / 81087809

Introducción término relativo

  1. syn: número de secuencia de sincronización (Números Sincronizar de secuencia). Se trata de un apretón de manos señales TCP / IP que se usan para establecer la conexión. Entre el cliente y el servidor establecen una conexión de red TCP normal, el cliente primero envía un mensaje SYN, el servidor utiliza la respuesta SYN + ACK representa la recepción del mensaje, y, finalmente, el cliente con un mensaje de respuesta ACK. Así que entre el cliente y el servidor con el fin de establecer una conexión TCP fiable, los datos pueden ser transferidos entre el cliente y el servidor. (Los detalles se puede ver en este blog: https: //blog.csdn.net/zzz_781111/article/details/4183743)
  2. ack: ACK (ACK) que es un carácter de acuse de recibo en la comunicación de datos, la estación receptora envía a la estación de transmisión para transmitir la clase de caracteres de control. Representa los datos han sido enviados a acusar recibo de la correcta
  3. SYN_SENT: indica una conexión petición.
  4. SYN_RECV: se refiere al extremo abierto pasiva del servicio, el cliente recibe y transmite el estado SYN cuando el ACK. Además de recibir el ACK para el cliente entra en el estado ESTABLECIDO.
  5. Escucha: para proporcionar un servicio que escucha conexión TCP solicita puerto lejano, cuando el servicio prestado no está conectado, en el estado de escucha, el puerto está abierto, a la espera de ser conectados.
  6. APERTURA: ESTABLECIDO Estado es un dos máquinas está transmitiendo datos.
  7. FIN-WAIT-1: la espera de una interrupción remota conexión TCP o confirmación de la conexión de petición de interrupción previa, el extremo cerrado de las llamadas de aplicación activos Close, expedida solicitud TCP FIN para cerrar la conexión activa, después de entrar en FIN_WAIT1 estado.
  8. CLOSE-WAIT: Espere enviada desde un usuario local conectado a la solicitud de interrupción, después de recibir el TCP FIN pasiva cerrada final, se emite FIN ACK en respuesta a la solicitud (que también recibe como un fin de archivo se transmite a la aplicación superior), y entra en CLOSE_WAIT .
  9. TIME-WAIT: Después de cerca activamente recibe FIN, TCP envía un paquete ACK, y entrar en el estado TIME-WAIT, esperando el tiempo suficiente para asegurarse de que el TCP remoto recibió solicitud de interrupción para confirmar la conexión, en gran parte para asegurar ambos lados final normal, pero hay problemas, hay que esperar a la próxima conexión con el pasado tiempo de la conducta 2MSL.

Cuando el enlace de tres vías para establecer una conexión

En primer lugar, nos dividimos en cliente y del lado del servidor,
el primer apretón de manos : el cliente envía un paquete SYN del servidor Xianxiang para solicitar una conexión, el cliente entra en estado de SYN_SENT, esperando el servidor para confirmar.
En segundo apretón de manos : paquete recibido del servidor sin, para confirmar el SYN del cliente, Syn mientras que ellos mismos tienen que enviar paquetes, el servidor envía un acuse de recibo de paquetes SYN + al cliente para confirmar la conexión, el servidor entra en un estado SYN_RCVD
tercer apretón de manos : el cliente recibe las señales enviadas confirmar acuse de recibo de la conexión con el servidor, por lo tanto, el éxito de la nueva conexión.

Por ejemplo : tiene un amigo que conoció en el camino, saluda a usted (esta vez el equivalente de tus amigos es el cliente y el servidor en el que está, saluda al equivalente de enviar un paquete SYN), esta vez será un error miedo Italia, voy a sonreír y asentir a sus amigos sobre (el servidor envía equivalente ACK y SYN paquete al cliente para confirmar la conexión), y, finalmente, ver a su amigo feliz y sonreír y asentir guiño sonrisa (es decir, enviar un acuse de recibo paquete), y finalmente se conocieron (entrando a establecer el estado).

Aquí Insertar imagen Descripción

Tcp de transmisión de datos (un fin predeterminado ejemplo de cliente que envía)

proceso de transmisión de datos, existen cuatro mecanismos que necesitamos saber son:

  1. Retransmisión: Esto se utiliza para asegurar un transporte fiable TCP, cada vez que el cliente envía los paquetes, los datagramas tiene el número SEC (después de que el servidor recibe los datos, responderá ACK de confirmación, representa uno SEC no se han recibido datos), si el cliente espera a que el final de los tiempos , no han recibido los paquetes ACK del servidor, la pérdida de paquetes se considera, pues, dicen hola de nuevo

Por ejemplo está a la espera para que usted pueda conocer gente agitando hola, espere tres segundos, y el otro lado no respondió, ya que estará hola que agita de nuevo

  1. retransmisión rápida: la pérdida de paquetes de detección de servidores, y la pérdida de paquetes pensarán, a continuación, enviar paquetes ACK dicen los paquetes perdidos retransmitir cliente. Si el cliente está conectado para recibir la misma etiqueta del paquete de acuse de recibo, se disparará la retransmisión rápida. (Tiempo de espera esperando, recibió un gran número de rápido es el mismo paquetes ACK, condiciones de disparo retransmisiones diferente)

Por ejemplo, se le enseñas a un amigo para escribir una pieza de código, y luego algunos amigos podría no oír, se ha dado una expresión (equivalente a la misma referencia numerales ACK paquetes), esta vez a entender que no había oído desconcertado, le dijeron que la solución una vez más

  1. Control de flujo: La principal TCP hablar deslizante de control de flujo de ventana, cabecera TCP tiene una ventana de campo llamado, también conocido como lo anuncian-Window, este campo está en el extremo receptor decirle al remitente, así como el número de buffers pueden aceptar datos, por lo que la lata emisor cómo controlar el búfer de datos de transmisión de acuerdo con, un mecanismo de transmisión para mejorar la eficiencia del TCP

Equivalente en el aula, es decir la maestra en la escuela este tiempo, puedo entender la cantidad de canales para explicar el título de la mayoría, por lo que los maestros tienen una comprensión enseñar a decidir el número de preguntas.

  1. Control de la congestión: Basado en el estado de toda la red considerada, (suponiendo que la latencia de red, retransmisiones conducirá a una mayor retrasos y más pérdida, lo que es necesario a la congestión de control), la estrategia de control de la congestión: comienzo lento, evitación de la congestión, la transmisión de la congestión, rápido recuperación
    Aquí Insertar imagen Descripción

Cuatro medios de reproducción Para desconectar

La primera ola : Activo estrecha envía una aleta, para cerrar la transferencia de datos no solicitada para el lado pasivo está cerrado, es decir, tomar la iniciativa para cerrar la plaza para contar lateral cerca pasiva, no voy a enviar datos a usted.

La segunda onda : el apagado pasivo ha recibido paquete FIN, envía un ACK de la otra.

Tercera Ola : Pasivo cerrado envía una aleta, para cerrar el cierre de transmisión de datos activa pasiva de cerca a extremo, es decir, para contar la iniciativa para cerrar el partido, también puedo enviar los datos más, que no envía datos a usted.

La cuarta ola : la iniciativa para cerrar el cliente recibe la aleta, también envió un acuse de recibo pasiva al extremo cerrado, hasta el momento, cuatro de onda completa

Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción

Enfoque: De hecho, con el apretón de manos de tres vías es similar, pero el lado del servidor, el proceso de envío de paquetes ACK y las aletas se separan. (Cuatro veces cuatro veces agitando agitando no siempre, en medio de las dos acciones en conjunto a veces puede ser una fusión, esta vez se convirtió en la tercera ola, la iniciativa para cerrar el partido va a entrar directamente en el estado de FIN_WAIT_1 estado TIME_WAIT, salto tras estado FIN_WAIT_2.)

Después de que el servidor envía una, TIME_WAIT cliente aleta no es un estado, que es una iniciativa a largo plazo para cerrar la parte estatal Tras el regreso a la oponente de agitar, generalmente dura 4 minutos.
efecto TIME_WAIT de:
1. ACK retransmitir el último paquete, si el cliente no recibe cerca pasiva el último acuse de recibo, a continuación, apague el lado pasivo enviará duplicaciones segmentarias de aletas, así que tome la iniciativa para cerrar el otro extremo con el fin de garantizar recibir acuse de recibo, no en después de la última pasada después del cierre de acuse de recibo, sino que debe entrar en TIME_WAIT, garantizar más recibió la aleta puede ser pasiva cerca del final de retransmisión de paquetes ACK
2. al mismo tiempo, se genera el enlace durante el diálogo en este momento en el enrutamiento de Internet los mensajes restantes (porque el camino es demasiado rugoso, los paquetes de datos llevaría demasiado tiempo, se reciben los paquetes de retransmisión, el mensaje original está todavía en camino) cuando pasó por encima, será desechado inmediatamente. 4 minutos para un tiempo suficiente tal que el paquete residual desapareció por completo. De lo contrario, cuando se vuelve a utilizar un nuevo puerto, estos paquetes restantes pueden interferir con el nuevo enlace.

¿Por qué enlace de tres vías

Artículo de referencia (en gran detalle): https: //blog.csdn.net/lengxiao1993/article/details/82771768

Con el fin de lograr la transmisión de datos fiable, tanto en las comunicaciones del protocolo TCP, que deben mantener un número de serie para identificar los paquetes de datos enviados, que ya está siendo recibida por la otra parte. De tres vías apretón de manos es el proceso de comunicación de las partes informar a cada número de serie a partir de valor, y confirman que han recibido un número de serie a partir del valor de paso es necesario
si sólo hay dos apretones de manos, a lo sumo, un número de serie que se puede conectar al inicio de la confirmación iniciador el otro número de secuencia seleccionada no está confirmado

¿Por qué de cuatro ondas

Porque cuando el terminal recibe mensaje de petición de conexión de terminal SYN Cliente Servidor puede ser enviada directamente paquete SYN + ACK. Caracterizado porque se utiliza el mensaje de ACK de respuesta, SYN etc se utiliza para sincronizar el paquete. Sin embargo, la conexión se cierra, cuando se recibe el paquete FIN del lado del servidor, probablemente no se cierra inmediatamente TOMA, sólo puede responder a un primer paquete ACK, dicho lado del cliente, "le envíe mensajes FIN he recibido."Sólo hasta el final de todos los mensajes de mi servidor se envían a través, puedo enviar paquetes FIN, y por lo tanto no pueden ser enviados juntos. Se requiere un apretón de manos de cuatro pasos.

¿Cómo hacer si usted ha establecido una conexión, pero el cliente de repente se rompió?

TCP es también un temporizador de mantenimiento de conexión, al parecer, un cliente si se produce un fallo, el servidor no puede seguir esperando, el desperdicio de recursos. Cada vez que el servidor recibe la solicitud del cliente se restablecerá el temporizador de tiempo establecido es por lo general de 2 horas, si dos horas no ha recibido ningún dato desde el cliente, el servidor envía un mensaje de detección de segmento, entonces 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.

Publicado 36 artículos originales · ganado elogios 11 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/s_xchenzejian/article/details/102514909
Recomendado
Clasificación