Finalmente llego a conocer el protocolo de enlace TCP de tres vías y cuatro agitando (Foto de casos detallados)

TCP de tres vías y cuatro agitando ya sea en el desarrollo o la entrevista es un conocimiento muy importante, que es la base para que el rendimiento de aplicaciones web Optimizar. Bienvenido a aprender y progresar juntos

Sobre un .TCP

  • TCP (Transmission Control Protocol, Protocolo de Control de Transmisión) 是一种面向连接的、可靠的、基于字节流的通信协议, antes de la transmisión de datos para establecer una conexión, pero también se desconectan después de que se complete la transferencia.
  • Antes de que el cliente para enviar y recibir datos utilizando la función connect () y las conexiones con el servidor. El propósito es garantizar el establecimiento de la dirección IP de conexión, el puerto y otro enlace físico es correcta canal, abierto a la transmisión de datos.
  • TCP para transmitir tres paquetes se establece una conexión, conocido comúnmente como enlace de tres vías (de tres vías de conexión)

Aquí Insertar imagen Descripción

estructura de dos .TCP de Datagrama

Aquí Insertar imagen Descripción

  • ① número : Seq (número de secuencia) representó el 32 bits número de serie se utiliza para identificar el número de secuencia enviado desde el ordenador de A a paquetes de datos de ordenador B, que están etiquetados cuando el ordenador envía datos.
  • ② número de reconocimiento : Ack (Reconocimiento de número) representó el número de reconocimiento de 32 bits, el cliente y el servidor pueden enviar, Ack = Sec + 1.
  • ③ bandera : cada bandera ocupa 1Bit, un total de seis, respectivamente, URG, ACK, PSH, RST, SYN, FIN, los siguientes significados específicos:

URG: puntero de urgencia (puntero de urgencia) es válida.
ACK: número de reconocimiento es válido.
PSH: el receptor debe ser el mensaje a la capa de aplicación tan pronto como sea posible.
RST: restablezca la conexión.
SYN: establecer una nueva conexión.
FIN: desconectar una conexión.

Tres .TCP de tres vías

  • 过程描述
  • ① primer cliente envía un paquete de solicitud de conexión,
  • ②Server periodo después de recibir el paquete ACK de respuesta de conexión, y asignar recursos para esta conexión.
  • paquete ③Client ACK también se producen después de recibir paquetes ACK al segmento de servidores y asignar recursos de manera que se establece la conexión TCP.

Aquí Insertar imagen Descripción

  • Por ejemplo niño con Sichuan Airlines
  • ① Sichuan 8633 para establecer una solicitud de conexión (SYN), y envía el número de secuencia.
  • ② servicio de terminación por la señal, es decir, número de confirmación (ACK), y en este tiempo el mismo número de secuencia de solicitud de devolución Seq
  • ③ cliente recibe las señales, es decir, número de confirmación (ACK), se ha establecido la conexión.
    Aquí Insertar imagen Descripción
  • Resumen : 三次握手的关键是要确认对方收到了自己的数据包Este objetivo se logra por el campo "número de acuse de recibo (ACK)". El equipo grabará el número de secuencia del paquete Sec propia transmitida hasta la otra parte recibe el paquete, detecta "número de acuse de recibo (Ack)" sobre el terreno 看Ack = Seq + 1是否成立,如果成立说明对方正确收到了自己的数据包.

  • Si sólo dos apretones de manos. 这个时候客户端没有回应,这样会浪费服务端的资源
    Aquí Insertar imagen Descripción

Que si has pensado por qué necesita una tercera comunicación?

  • En el primer proceso de comunicación, después de la información de transmisión de A a B, B después de recibir la capacidad de acuse de recibo de la información y su capacidad para transmitir un ningún problema.
  • En la segunda comunicación, enviar un mensaje a B después de A, A puede confirmar su capacidad B capacidad de señalización y recibir ningún problema, pero no sabe cómo su capacidad de señalización en el extremo B, por lo que necesitamos una tercera comunicación .
  • En la tercera comunicación, después de la información de transmisión de A a B, B puede confirmar su capacidad de transmitir ningún problema.
  • Resumen : 3-way handshake para completar dos funciones importantes 既要双方做好发送数据的准备工作(双方都知道彼此已准备好), pero también para permitir a las partes a negociar sobre el número de secuencia inicial, el número de serie se envía y se reconoció durante el proceso de apretón de manos.

Cuatro .TCP de cuatro ondas

  • Para establecer una conexión es muy importante, es un requisito previo para la correcta transmisión de datos; desconectada Igualmente importante es que permite a la computadora para liberar los recursos ya no están en uso. Si la conexión no está normalmente abierta, no sólo da lugar a errores de transmisión de datos, sino que también conducen a la toma de corriente no puede cerrarse, seguido consumiendo recursos, si la cantidad de alta concurrencia, el estrés servidor preocuparse.

// Descripción del Proceso

  • R: "procesamiento de la tarea se ha completado, y que desea desconectar."
  • B: "?. Oh, sí Por favor espere mientras se preparan."
  • Después de esperar un rato ......
  • B: "Estoy listo para ser una desconexión".
  • R: "Sí, gracias."

Aquí Insertar imagen Descripción

  • ejemplo de diagrama Sichuan Airlines
  • ① servidor de aplicaciones es desconectado es decir, FIN, transmisión Seq + Ack
  • ② cliente recibe información de vuelta, he recibido indican
  • El cliente envía información que indica ③ puede ser desconectado
  • ④ servidor para aceptar la información y devolver los datos ha sido aceptada la información

Aquí Insertar imagen Descripción

  • Después de que se complete la transferencia de datos, las dos partes pueden liberar la conexión. El primer momento, el cliente y el servidor están en estado establecido, y luego tomar la iniciativa para cerrar el cliente, servidor, cerca pasiva.

¿Por qué cuando la conexión es el apretón de manos de tres vías, cuando está cerrado apretón de manos?

  • ① Porque cuando extremo terminal SYN Cliente Servidor recibe mensaje de solicitud de conexión 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, cuando se cierra la conexión, cuando se recibe el paquete FIN del lado del servidor, probablemente no se cierra inmediatamente HEMBRA, sólo podemos 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 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.

  • 补充问题
  • TCP de tres vías será capaz de garantizar una transmisión fiable de tareas?不能
  • De tres vías apretón de manos es más fiable que dos veces, pero no es fiable, y añadir más manor no hacer la conexión más fiable. Así que elija el enlace de tres vías.
  • Completamente protocolos de comunicación fiables no existen en el mundo. Desde el costo de tiempo de comunicación y el costo del espacio en términos de fiabilidad, seleccione la regla general "de tres vías" como punto a punto de la comunicación.

  • The best investment is in yourself.

Aquí Insertar imagen Descripción

  • 2020.03.19 来自辰兮的第32篇博客
Publicado 35 artículos originales · ganado elogios 116 · Vistas a 30000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_45393094/article/details/104965561
Recomendado
Clasificación