Hablar sobre esas cosas en la red de computadoras

Los blogs orientados a la entrevista se presentan en estilo Q / A.


Pregunta 1: ¿Introducir la arquitectura de red de siete capas OSI (o la arquitectura de red de cuatro capas TCP / IP o la arquitectura de red moderna de cinco capas)?

Respuesta 1:

Son posibles tres métodos de división, como se muestra en la siguiente figura:
Inserte la descripción de la imagen aquí
Tomando el modelo de siete capas OSI como ejemplo, como se muestra en la figura:

Inserte la descripción de la imagen aquí

  1. Capa física: define principalmente los estándares del equipo físico, como el tipo de interfaz del cable de red, el tipo de interfaz de fibra óptica y la velocidad de transmisión de varios medios de transmisión. Su función principal es transmitir el flujo de bits (es decir, se convierte de 1, 0 a la intensidad actual para la transmisión, y después de llegar al destino, se convierte a 1, 0, que es lo que a menudo denominamos conversión analógico-digital y conversión digital-analógico). Los datos en esta capa se llaman bits.
  2. Capa de enlace de datos: la dirección MAC (dirección de la tarjeta de red) encapsula y desencapsula principalmente los datos recibidos de la capa física. Esta capa de datos a menudo se denomina marco. El dispositivo que trabaja en esta capa es el conmutador, y los datos se transmiten a través del conmutador.
  3. Capa de red: encapsula y desencapsula principalmente la dirección IP (por ejemplo, 192.168.0.1) de los datos recibidos de la capa inferior. El dispositivo que trabaja en esta capa es un enrutador, y los datos en esta capa a menudo se denominan paquetes de datos.
  4. Capa de transporte: define algunos protocolos de transmisión de datos y números de puerto (puerto WWW 80, etc.), tales como: TCP (protocolo de control de transmisión, baja eficiencia de transmisión, alta confiabilidad, utilizado para transmitir datos con requisitos de alta confiabilidad y gran volumen de datos) , UDP (Protocolo de datagramas de usuario, justo lo contrario de las características de TCP, utilizado para transmitir datos con requisitos de baja confiabilidad y un volumen de datos pequeño, como los datos de chat QQ se transmiten de esta manera). El objetivo principal es transmitir los datos recibidos de la capa inferior en segmentos y reorganizarlos después de llegar a la dirección de destino. Esta capa de datos a menudo se denomina segmento.
  5. Capa de sesión: establezca una ruta de transmisión de datos a través de la capa de transmisión (número de puerto: puerto de transmisión y puerto de recepción). Principalmente inicie una sesión o acepte una solicitud de sesión entre sus sistemas (los dispositivos necesitan conocerse entre sí pueden ser IP o MAC o nombre de host).
  6. Capa de presentación: principalmente para interpretar, cifrar y descifrar los datos recibidos, comprimir y descomprimir, etc. (es decir, convertir lo que la computadora puede reconocer en algo que los humanos pueden reconocer (como imágenes, sonido, etc.)).
  7. La capa de aplicación es principalmente algunas aplicaciones de terminal, como FTP (varias descargas de archivos), WEB (navegador IE), QQ y similares (entiendes como lo que podemos ver en la pantalla de la computadora. Es la aplicación de terminal )

Pregunta 2: ¿Explica brevemente el principio de TCP / IP?

Answer2 :

El protocolo TCP / IP no es un nombre colectivo de los dos protocolos TCP e IP, sino que se refiere a toda la familia de protocolos TCP / IP en Internet. En términos de capas de protocolo: Modelo, TCP / IP consta de cuatro capas: capa de interfaz de red, capa de red, capa de transporte y capa de aplicación.

Capa de acceso a la red (capa de acceso a la red) La capa de acceso a la red
( capa de acceso a la red) no se describe en detalle en el modelo de referencia TCP / IP, solo que el host debe usar un cierto protocolo para conectarse a la red.

Capa de Internet La capa de
Internet es una parte clave de toda la arquitectura, su función es permitir que el host envíe paquetes a cualquier red y hacer que los paquetes lleguen al destino de forma independiente. Estos paquetes pueden pasar a través de diferentes redes, y el orden de llegada y el orden de transmisión también pueden ser diferentes. Si la capa superior necesita enviar y recibir secuencialmente, entonces debe ocuparse del orden de los paquetes. La capa de Internet utiliza el Protocolo de Internet (IP).

Capa de transporte (Tramsport Layer-TCP / UDP)
La capa de transporte (Tramsport Layer) permite que las entidades pares en las máquinas de origen y destino tengan conversaciones. En esta capa se definen dos protocolos de extremo a extremo: el Protocolo de control de transmisión (TCP, Protocolo de control de transmisión) y el Protocolo de datagramas de usuario (UDP, Protocolo de datagramas de usuario). TCP es un protocolo orientado a la conexión que proporciona transmisión confiable de mensajes y servicios de conexión a aplicaciones de capa superior. Para este fin, además de la transmisión de datos básica, también tiene funciones como garantía de confiabilidad, control de flujo, multiplexación, prioridad y control de seguridad. UDP es un protocolo para transmisión sin conexión y poco confiable. Se utiliza principalmente para aplicaciones que no requieren las funciones de secuenciación TCP y control de flujo.

Capa de aplicación La capa de
aplicación contiene todos los protocolos de alto nivel, incluidos: protocolo de terminal virtual (TELNET, red de telecomunicaciones), protocolo de transferencia de archivos (FTP, protocolo de transferencia de archivos), protocolo de transferencia de correo electrónico (SMTP, correo simple) Protocolo de transferencia), servicio de nombres de dominio (DNS, Servicio de nombres de dominio), protocolo de transferencia de noticias en línea (NNTP, Protocolo de transferencia de noticias netas), protocolo de transferencia de hipertexto (HTTP, Protocolo de transferencia de hipertexto), etc.


Pregunta 3: ¿Explica brevemente el formato del encabezado TCP?

Answer3 :

El formato del encabezado TCP se muestra a continuación:
Inserte la descripción de la imagen aquí

  1. Número de puerto de origen (16 bits): (junto con la dirección IP del host de origen) identifica un proceso de aplicación en el host de origen.
  2. Número de puerto de destino (16 bits): (junto con la dirección IP del host de destino) identifica un proceso de aplicación en el host de destino. Estos dos valores más la dirección IP del host de origen y la dirección IP del host de destino en el encabezado IP determinan de forma exclusiva una conexión TCP.
  3. Número de secuencia seq (32 bits): se utiliza para identificar el flujo de bytes de datos enviados desde la fuente TCP al destino TCP. Representa el número de secuencia del primer byte de datos en este segmento. Si piensa en un flujo de bytes como un flujo unidireccional entre dos aplicaciones, TCP cuenta cada byte con un número de secuencia. El número de serie es un número sin signo de 32 bits, y el número de serie comienza desde 0 después de alcanzar la potencia 32 de 2-1. Cuando se establece una nueva conexión, el indicador SYN se convierte en 1 y el campo de número de secuencia contiene el número de secuencia inicial (ISN) de la conexión seleccionada por el host.
  4. Número de acuse de recibo ack (32 bits): contiene el siguiente número de secuencia esperado por el final del envío. Por lo tanto, el número de secuencia de confirmación debe ser el número de secuencia del byte de datos que se recibió con éxito la última vez más uno. El campo del número de secuencia de confirmación es válido solo cuando el indicador ACK es 1. TCP proporciona servicios full-duplex para la capa de aplicación, lo que significa que los datos se pueden transmitir de forma independiente en ambas direcciones. Por lo tanto, cada extremo de la conexión debe mantener el número de secuencia de los datos transmitidos en cada dirección.
  5. Longitud del encabezado TCP (4 bits): proporciona el número de palabras de 32 bits en el encabezado, en realidad indica dónde comienzan los datos. Este valor es obligatorio porque la longitud del campo opcional es variable. Este campo ocupa 4 bits, por lo que TCP tiene un encabezado de hasta 60 bytes. Sin embargo, no hay un campo opcional y la longitud normal es de 20 bytes.
  6. Bit reservado (6 bits): reservado para uso futuro, debe establecerse en 0 actualmente.
  7. Indicadores de control (6 bits): hay 6 bits de indicador en el encabezado TCP, y varios de ellos se pueden establecer en 1 al mismo tiempo. En orden:
    (1) URG: 1 indica que el puntero de emergencia es válido y 0 indica que se ignora el valor del puntero de emergencia.
    (2) ACK: 1 indica que el número de confirmación es válido, y 0 indica que el mensaje no contiene información de confirmación, y el campo del número de confirmación se ignora.
    (3) PSH: 1 significa datos con el indicador PUSH, que indica que el receptor debe entregar este segmento a la capa de aplicación lo antes posible sin esperar a que se llene el búfer.
    (4) RST: se utiliza para restablecer la conexión que está mal debido a un bloqueo del host u otras razones. También se puede usar para rechazar segmentos ilegales y solicitudes de conexión. En general, si recibe un paquete con un RST de 1, deben haberse producido ciertos problemas.
    (5) SYN: número de secuencia de sincronización, 1 significa solicitud de conexión, utilizada para establecer la conexión y sincronizar el número de secuencia (sincronizar).
    (6) FIN: se utiliza para liberar la conexión. Un valor de 1 indica que el remitente no tiene datos para enviar, es decir, para cerrar el flujo de datos local.
  8. Tamaño de la ventana (16 bits): el número de bytes de datos, que indica el número de bytes que la fuente de este mensaje puede recibir del número de confirmación, es decir, el tamaño de la ventana de recepción de la fuente. El tamaño de la ventana es un campo de 16 bits, por lo que el tamaño máximo de la ventana es de 65535 bytes.
  9. Suma de verificación (16 bits): esta suma de verificación se calcula como una palabra de 16 bits para todo el segmento TCP, incluidos el encabezado TCP y los datos TCP. Este es un campo obligatorio, que debe ser calculado y almacenado por el extremo emisor y verificado por el extremo receptor.
  10. Puntero de emergencia (16 bits): el puntero de emergencia solo es válido cuando el indicador URG se establece en 1. El modo de emergencia de TCP es una forma para que el remitente envíe datos de emergencia al otro extremo.
  11. Opciones: el campo opcional más común es el tamaño de paquete más largo, también conocido como MSS (tamaño máximo de segmento). Cada parte conectada generalmente indica esta opción en el primer segmento de la comunicación (el segmento donde se establece el indicador SYN para establecer una conexión), que indica la longitud máxima del segmento que puede recibir el extremo local. La longitud de la opción no es necesariamente un múltiplo entero de palabras de 32 bits, por lo que se agregan bits de relleno para hacer que la longitud del encabezado sea un número entero de palabras.
  12. Datos: la porción de datos del segmento TCP es opcional. Cuando se establece una conexión y se termina una conexión, solo se intercambia el encabezado TCP entre los dos segmentos. Si una de las partes no tiene datos para enviar, también utiliza el encabezado sin datos para confirmar los datos recibidos. En muchos casos de tiempos de espera de manejo, también se envía un segmento sin datos.

Pregunta 4: ¿Hablar sobre el protocolo de enlace TCP de tres vías y las cuatro manos?

Answer4 :

TCP se comunicará tres veces antes de la transmisión, lo que generalmente se denomina "protocolo de enlace de tres vías", y se comunicará cuatro veces cuando se desconecten los datos.

Apretón de manos

proceso de enlace de tres vías es la siguiente:
Inserte la descripción de la imagen aquí
El primer apretón de manos: Host A envía código bit SYN = 1, número SEC generado aleatoriamente = 1234567 paquete al servidor, por el anfitrión B sabe SYN = 1, A establece un requisitos de conexión;
Segundo Apretón de manos: el host B confirma la información en línea después de recibir la solicitud y envía un número de reconocimiento = (
seq + 1 del host A ), syn = 1, ack = 1, genera aleatoriamente un paquete con seq = 7654321.
Tercer apretón de manos: host A Después de recibir, verifique si el número de reconocimiento es correcto, es decir, el número de secuencia + 1 enviado por primera vez, y si el código de bit reconocimiento es 1, si es correcto, el host A enviará un número de reconocimiento = (secuencia + 1 del host B), ack = 1. Después de recibir, el host B confirma que el valor seq y ack = 1, entonces la conexión se establece con éxito.

Agita cuatro veces

TCP establece una conexión con tres apretones de manos y se desconecta con cuatro apretones de manos. Esto se debe al medio cierre de TCP. Debido a que la conexión TCP es full-duplex (es decir, los datos se pueden transmitir en ambas direcciones simultáneamente), al cerrar, cada dirección debe cerrarse por separado. Este cierre unidireccional se llama medio cierre. Cuando una parte completa su tarea de envío de datos, envía un FIN para notificar a la otra parte que finalizará la conexión en esta dirección.

Las cuatro ondas se muestran a continuación:

Inserte la descripción de la imagen aquí
1) Cierre la conexión de cliente a servidor: primero, el cliente A envía un FIN para cerrar la transmisión de datos de cliente a servidor y luego esperar la confirmación del servidor. El bit de bandera de terminación FIN = 1 y el número de secuencia seq = u.
2) El servidor recibe este FIN, devuelve un ACK, el número de acuse de recibo es el número de secuencia recibido más uno.
3) Cierre la conexión del servidor al cliente: también envíe un FIN al cliente.
4) Después de recibir el FIN, el segmento del cliente envía un mensaje ACK para confirmar, y establece el número de secuencia de confirmación seq al número de secuencia recibido más 1. La primera parte en realizar el apagado realizará un apagado activo, mientras que la otra parte realizará un apagado pasivo.

Nota : Después de que el host A envía FIN, ingresa al estado de espera de terminación. Después de que el servidor B recibe el segmento de liberación de conexión del host A, inmediatamente envía un acuse de recibo al host A. Luego el servidor B ingresa al estado de espera de cierre. En este momento, el proceso del servidor TCP Notifique al proceso de aplicación de alto nivel que se libera la conexión de A a B. Este es el estado "medio apagado". Es decir, A no puede enviarse a B, pero B puede enviarse a A. En este momento, si B no tiene un datagrama para enviar a A, su proceso de solicitud notifica a TCP para liberar la conexión, y luego lo envía a A para liberar el segmento de conexión, y espera la confirmación. Después de que A envíe la confirmación, ingrese el tiempo de espera. Tenga en cuenta que en este momento, la conexión TCP no se ha liberado. Luego, después del 2MSL establecido por el temporizador de espera, A ingresa al estado cerrado.


Pregunta 5: ¿Habla sobre el protocolo HTTP y su principio / proceso de transmisión?

Answer5 :

HTTP es un protocolo sin estado. Sin estado significa que no hay necesidad de establecer una conexión persistente entre el cliente (navegador web) y el servidor, lo que significa que cuando un cliente envía una solicitud al servidor y el servidor devuelve una respuesta, la conexión se cierra. El servidor no retiene información sobre la conexión. HTTP sigue el modelo de Solicitud / Respuesta. El cliente (navegador) envía una solicitud al servidor, y el servidor procesa la solicitud y devuelve una respuesta adecuada. Todas las conexiones HTTP están estructuradas como un conjunto de solicitudes y respuestas.

1: Resolución de la dirección,
como solicitar esta página con un navegador cliente: http://localhost.com:8080/index.htm El nombre del protocolo, el nombre del host, el puerto, la ruta del objeto y otras partes se descomponen de ella. Para nuestra dirección, resuelva Los resultados obtenidos son los siguientes:
nombre de protocolo : nombre de
host http :
puerto localhost.com :
ruta de objeto 8080 : /index.htm
En este paso, se requiere el sistema de nombres de dominio DNS para resolver el nombre de dominio localhost.com para obtener la dirección IP del host.

2: Encapsular el paquete de datos de solicitud HTTP
Combine la parte anterior con la información de la máquina para encapsularlo en un paquete de datos de solicitud HTTP.

3: Encapsular en paquete TCP y establecer conexión
Encapsular en paquete TCP y establecer conexión TCP (protocolo de enlace de tres vías TCP).

4: el cliente envía una solicitud y el
cliente envía un comando de solicitud: una vez establecida la conexión, el cliente envía una solicitud al servidor.El formato de la solicitud es: identificador uniforme de recursos (URL), número de versión del protocolo, seguido de información MIME, incluida la modificación de la solicitud Personajes, información del cliente y contenido.

5:
Después de que el servidor recibe la solicitud del servidor, se proporciona la información de respuesta correspondiente. El formato es una línea de estado, que incluye el número de versión del protocolo de la información, un código de éxito o error, seguido de la información MIME que incluye información del servidor, información de la entidad y posible Contenido.

6: El servidor cierra la conexión TCP El
servidor cierra la conexión TCP: en general, una vez que el servidor web envía los datos de la solicitud al navegador, cerrará la conexión TCP, y luego, si el navegador o el servidor agrega esta línea de código en su información de encabezado Conexión: Keep-alive, la conexión TCP permanecerá abierta después del envío, por lo que el navegador puede continuar enviando solicitudes a través de la misma conexión. Mantener la conexión ahorra el tiempo requerido para establecer una nueva conexión para cada solicitud, y también ahorra ancho de banda de red.


Pregunta 6: ¿Hablar sobre el estado HTTP común y su significado?

Answer6 :

Tipo de respuesta del mensaje

Código de estado Detalles
100 Continuar
101 Protocolo de cambio

Tipo de respuesta exitosa

Código de estado Detalles
200 OK (éxito)
201 Creado
202 Aceptado (creado)
203 Información no autorizada
204 204 Sin contenido
205 Restablecer contenido
206 Contenido parcial

Tipo de redireccionamiento

Código de estado Detalles
300 Opción múltiple
301 Movido permanentemente
302 Encontrado (movimiento temporal)
303 Ver otro
304 No modificado
305 Usar proxy
306 sin usar (sin usar)
307 Redireccionamiento temporal
308 Redireccionamiento permanente

Tipo de error del cliente

Código de estado Detalles
400 Mala solicitud
401 No autorizado
402 Pago requerido
403 Prohibido (sin acceso)
404 No encontrado
405 Método no permitido
406 No aceptable
407 Se requiere autenticación de proxy
408 Solicitar tiempo de espera
409 Conflicto
410 Ido (descontinuado)
411 Longitud requerida (requiere encabezado de longitud de contenido)
412 Precondición fallida
413 Solicitar entidad demasiado grande
414 Request-URI Too Long (URL de solicitud demasiado larga)
415 Tipo de medio no compatible
416 Rango solicitado no satisfactorio (Rango solicitado no satisfecho)
417 Expectativa fallida

Tipo de error del lado del servidor

Código de estado Detalles
500 Error interno del servidor
501 Implementado
502 Bad Gateway
503 Servicio no disponible
504 Gateway Timeout
505 Versión HTTP no compatible

Pregunta 7: ¿Habla sobre su comprensión de HTTPS?

Answer7 :

HTTPS (nombre completo: Protocolo de transferencia de hipertexto sobre la capa de sockets seguros) está dirigido a la seguridad: canal HTTP, que es simplemente una versión segura de HTTP. Es decir, la capa SSL se agrega bajo HTTP, y la base de seguridad de HTTPS es SSL. El número de puerto utilizado es 443. El proceso es aproximadamente el siguiente:

Inserte la descripción de la imagen aquí

步骤一:建立连接获取证书
SSL 客户端通过 TCP 和服务器建立连接之后(443 端口),并且在一般的 tcp 连接协商(握手)过程中请求证书。即客户端发出一个消息给服务器,这个消息里面包含了自己可实现的算法列表和其它一些需要的消息,SSL 的服务器端会回应一个数据包,这里面确定了这次通信所需要的算法,然后服务器向客户端返回证书。(证书里面包含了服务器信息:域名。申请证书的公司,公共秘钥)。

步骤二:证书验证
Client 在收到服务器返回的证书后,判断签发这个证书的公共签发机构,并使用这个机构的公共秘钥确认签名是否有效,客户端还会确保证书中列出的域名就是它正在连接的域名。

步骤三:数据加密和传输
如果确认证书有效,那么生成对称秘钥并使用服务器的公共秘钥进行加密。然后发送给服务器,服务器使用它的私钥对它进行解密,这样两台计算机可以开始进行对称加密进行通信。


Question8:谈一谈 CDN 原理?

Answer8:

CND 一般包含分发服务系统、负载均衡系统和管理系统。
Inserte la descripción de la imagen aquí
1、分发服务系统

其基本的工作单元就是各个 Cache 服务器。负责直接响应用户请求,将内容快速分发到用户;同时还负责内容更新,保证和源站内容的同步。

根据内容类型和服务种类的不同,分发服务系统分为多个子服务系统,如:网页加速服务、流媒体加速服务、应用加速服务等。每个子服务系统都是一个分布式的服务集群,由功能类似、地域接近的分布部署的 Cache 集群组成。

在承担内容同步、更新和响应用户请求之外,分发服务系统还需要向上层的管理调度系统反馈各个Cache 设备的健康状况、响应情况、内容缓存状况等,以便管理调度系统能够根据设定的策略决定由哪个 Cache 设备来响应用户的请求。

2、负载均衡系统

El sistema de equilibrio de carga es la columna vertebral de todo el sistema CDN. Responsable de programar todas las solicitudes de los usuarios y determinar la dirección de acceso final proporcionada a los usuarios.

Utiliza la calificación. El sistema de programación bipolar más básico incluye el equilibrio de carga global (GSLB) y el equilibrio de carga local (SLB).

GSLB determina los nodos que sirven a los usuarios según la dirección del usuario y el contenido de la solicitud del usuario, principalmente según el principio de proximidad. Por lo general, se implementa a través de la resolución DNS o la redirección de la capa de aplicación (redirección Http 3XX).

SLB es el principal responsable del equilibrio de carga dentro del nodo. Cuando se programa una solicitud de usuario de GSLB a SLB, SLB redirigirá la solicitud de usuario de acuerdo con el estado de trabajo y la distribución de contenido de cada dispositivo de caché en el nodo. La implementación de SLB incluye programación de cuatro capas (LVS), programación de siete capas (Nginx) y programación de carga de enlace.

3. Sistema de gestión

Dividido en subsistema de gestión de operaciones y gestión de redes.

El sistema de administración de red implementa la administración de dispositivos, administración de topología, monitoreo de enlaces y administración de fallas del sistema CDN, y brinda a los administradores una administración centralizada de la visualización de los recursos de toda la red, generalmente en la web.

La gestión de operaciones es la gestión comercial del sistema CDN, y es responsable de manejar algunas de las tareas de recopilación, cotejo y entrega necesarias para la interacción con el sistema externo a nivel comercial. Incluyendo gestión de usuarios, gestión de productos, gestión de facturación, análisis estadístico, etc.

207 artículos originales publicados · 80 elogiados · 120,000 visitas

Supongo que te gusta

Origin blog.csdn.net/qq_36963950/article/details/105297603
Recomendado
Clasificación