Explicación simple y detallada de Http, Socket, Tcp

Explicación simple y detallada de Http, Socket, Tcp

Inserte la descripción de la imagen aquí

Capa de transporte TCP, UDP, Socket
  • El TCP : para la conexión de la transmisión segura .

    Conexión : conexión lógica -> apretón de manos de tres vías (apretón de manos tres veces para enviar paquetes de datos, después del apretón de manos de tres vías, los dos núcleos abrirán recursos en la memoria y establecerán una conexión) -> transmisión de datos intermedia -> ola cuatro

  • Socket : socket (ip + puerto: ip + puerto), ip + puerto: ip + puerto constituye la única conexión. Es la unidad de operación básica de comunicación de red que admite el protocolo TCP / IP. Es una representación abstracta de puntos finales en el proceso de comunicación de red.

  • Capa de control de transmisión : proporciona servicios confiables de flujo de datos de red de extremo a extremo a las capas superiores, es decir, paquetes de protocolo de enlace / paquetes de datos.

  • Capa de red : a través del direccionamiento de la tabla de enrutamiento, encontré la dirección IP del siguiente salto y conocí la IP del servidor y el puerto al que quiero acceder

    Siguiente salto: después de que el enrutador recibe cualquier paquete IP, debe encontrar una ruta coincidente en la tabla de enrutamiento local de acuerdo con la IP de destino transportada en el paquete IP y luego reenviar el paquete IP al siguiente salto especificado por la ruta. (Cmd: impresión de ruta)

  • Capa de enlace : busque la dirección de la tarjeta de red correspondiente (Mac) a través de la dirección IP del siguiente salto. Servidor de encapsulación de paquetes (ip + puerto) + Mac (dirección de hardware del siguiente salto)

Inserte la descripción de la imagen aquí

  • Capa física : la capa física es responsable de finalmente codificar los paquetes de datos en pulsos de corriente u otras señales para la transmisión en línea;
La relación entre Http, tcp y Socket

TCP es un nivel de conexión de comunicación básica y Socket encapsula tcp y udp. El canal en Java envuelve el socket, y los datos que entran y salen del canal se pueden restringir e identificar a través de protocolos, como http, redis, etc.

Pregunta de la entrevista: Si un cliente usa java para enviar solicitudes http1.1 en un bucle sin desconectar la conexión tcp, ¿qué problemas causará?

  • El kernel del cliente aplica cíclicamente para ocupar el puerto, alcanzando el límite superior de 65535, y el cliente informa un error Dirección ya en uso: conectar.
  • El número de conexiones tcp del servicio alcanzó el límite superior, lo que provocó que el cliente bloqueara la siguiente solicitud y se agotara el tiempo de espera.

Http1.1 usa keepalive por defecto para mantener una conexión larga, y requiere que el cliente agite activamente cuatro veces El principio es que la capa de aplicación agrega una bandera para controlar si la capa de control de transmisión debe agitar cuatro veces.

Supongo que te gusta

Origin blog.csdn.net/weixin_44981707/article/details/111462419
Recomendado
Clasificación