Entrevista de Computer Network Foundation para Android

Prólogo : comience a resumir la información de una entrevista propia. Aunque está disponible en línea, recopilar y navegar no es tan bueno como comprender y absorber. Venga,

1. La estructura y función de cada capa, y qué protocolos existen

La estructura del sistema OSI tiene 7 capas, y aquí hablamos de 5 capas según la estructura del sistema TCP / IP.

Capa física >>> capa de enlace de datos >>> capa de red >>> capa de transporte >>> capa de aplicación (capa de presentación, capa de sesión)



1.1, capa de aplicación

Tareas de la capa de aplicación: a través de la interacción de comunicación entre los procesos de aplicación para completar un

protocolo de capa de aplicación de aplicación de red específico : reglas de interacción de comunicación entre procesos de aplicación

mensaje: la unidad de datos de la interacción de la capa de aplicación

admite los siguientes protocolos:

  • Sistema de nombres de dominio (DNS)
  • Protocolo HTTP World Wide Web (Protocolo de transferencia de hipertexto)
  • Protocolo SMTP para correo electrónico

DNS del sistema de nombres de dominio: una base de datos distribuida que asigna nombres de dominio y direcciones IP entre sí, lo que es conveniente para que los usuarios accedan rápidamente. Por ejemplo, github, si visita Japón, está accediendo al servidor en Japón y el servidor en China es el servidor chino. Entonces él es un distribuido.
La función del protocolo de nombre de dominio: convierta el nombre de dominio en una dirección IP para encontrar el host correspondiente

Protocolo HTTP: Protocolo de transferencia de hipertexto, WWW (World Wide Web) todos cumplen con este protocolo. El propósito original era publicar y recibir páginas HTML.


Nivel de aplicación vernáculo :
aquí se puede entender como el proceso de traducción entre computadoras, codificación binaria de datos.



1.2. Capa de transporte

Tareas de la capa de transporte: proporcionar servicios generales de transmisión de datos para la comunicación entre dos procesos de host.

Protocolo de la capa de transporte: reglas del servicio de transmisión de datos de la

capa de transporte La capa de transporte tiene funciones de multiplexación y

demultiplexación ; multiplexación: un host puede abrir múltiples subprocesos, Múltiples procesos de aplicación pueden utilizar el servicio de transmisión

compartido al mismo tiempo : la capa de transmisión recibe el mensaje y lo entrega al socket correcto de acuerdo con la información del encabezado del mensaje, es decir, al proceso de aplicación correspondiente.

Los protocolos admitidos son:

  • TCP (Protocolo de control de transmisión) >>> Protocolo de control de transmisión; orientado a la conexión, que proporciona servicios de transmisión de datos confiables
  • UDP (User Datagram Protocol) >>> protocolo de datos de usuario; para sin conexión, no garantiza la confiabilidad de la transmisión de datos
    (TCP y UDP se describirán en detalle más adelante)

Vernácula de la capa de transporte : la
capa de transporte divide los datos de la capa superior en muchos segmentos de datos para facilitar la resolución de errores y encapsula cada segmento de datos con un número de puerto en el encabezado



1.3, capa de red

Tareas de la capa de red: seleccione los nodos de enrutamiento y conmutación adecuados entre redes para lograr la comunicación entre los nodos terminales.

Protocolo de capa de red: protocolos

compatibles con las reglas de transmisión de capa de red :

  • El protocolo IP >>> encapsula los mensajes y los datos del usuario generados por la capa de transporte en paquetes de datos combinados para su transmisión
  • Protocolo ARP >>> Protocolo de resolución de direcciones
  • Protocolo RARP >>> Protocolo de resolución de dirección inversa

Nivel de red vernáculo : el nivel de
red reencapsula los datos de la capa superior en un datagrama IP, con una dirección IP en el encabezado, que se utiliza para identificar la dirección lógica de la red.



1.4, capa de enlace de datos

Capa de enlace de datos: encapsule los datos en tramas de datos y luego transmita

tramas en cada enlace. Tramas perdidas: la información de control de la capa de enlace de datos puede detectar errores en la trama de datos en el extremo receptor. Si hay un error, descarte la trama para evitar Continuar transmitiendo recursos de desechos. Si es necesario corregir los datos, se debe utilizar un protocolo de transmisión confiable para corregir los errores. (Esto muestra que la capa de enlace de datos no solo puede detectar errores sino también corregir errores)


La capa de enlace de datos en lengua vernácula : la
capa de enlace de datos vuelve a encapsular los datos cargados en una trama de datos, y su encabezado MAC contiene una información importante de la dirección MAC. Puede entenderse como la dirección física solidificada en el hardware



1,5, capa física

Capa física: para lograr una transmisión transparente de flujos de bits entre nodos informáticos adyacentes


La lengua vernácula de la capa física :
convertir los datos de la capa superior en señales eléctricas para su transmisión en la red.


1.6, puntos suplementarios

Hardware común y cinco modelos de correspondencia entre la
capa de aplicación: computadora (de hecho, la computadora es una fusión del OSI siete en uno)
capa de transporte:
capa de red de firewall : enrutador (enrutador doméstico estrictamente para hacer las paces con nuestra familia son inconsistentes, generalmente en la habitación puede Ver)
Capa de enlace de datos: conmutador (como el
módem óptico en casa) Capa física: tarjeta de red



2. Protocolo de enlace de tres vías TCP y cuatro manos agitadas

Diagrama simple de protocolo de enlace de tres vías TCP:

2.1. ¿Por qué hay un apretón de manos de tres vías?

El cliente envía un SYN (señal de enlace establecida por TCP / IP) -> el servidor envía un mensaje SYN / ACK al cliente después de recibirlo. La respuesta indica que ha sido recibido -> el cliente envía un ACK al servidor para indicar que ha sido recibido.

SYN: indica que el mensaje del cliente al servidor es correcto

ACK: indica que el mensaje del servidor al cliente es correcto


Ejemplo: Relación normal entre novios. El cliente (novia) envía el mensaje "Me voy a dormir" -> el servidor (novio) recibe el mensaje y envía "Buenas noches". Si el cliente (novia) no responde en este momento, significa que se trata de una relación anormal entre hombres y mujeres. Si el cliente (novia) envía "Ann" en este momento, significa que la relación entre las dos partes es normal y que vale la pena casarte con ella. ¡Es por eso que hay tres apretones de manos! ! !

Diagrama esquemático simple de TCP agitando cuatro veces:

2.2. Por qué saludar cuatro veces

Cualquier parte puede enviar una notificación de liberación de conexión cuando no hay ningún mensaje que enviar. Tenga en cuenta que la conexión TCP no está completamente cerrada en este momento. Una vez que la otra parte confirma, entra en el estado medio cerrado. Cuando la otra parte no tiene ningún mensaje para enviar, también se envía la notificación de liberación de la conexión y, a continuación, la conexión TCP se cierra por completo.


Ejemplo: A y B hacen una llamada telefónica. Cuando la llamada está a punto de finalizar, A dice "No tengo nada que decir", B responde "Lo sé", pero B aún puede tener algo que decir, A no puede pedirle a B que siga el suyo. Rhythm finaliza la llamada, por lo que B puede decirle otra palabra a Barabara, y finalmente B dice "He terminado" y A responde "Lo sé", por lo que la llamada ha terminado.



En tercer lugar, la diferencia entre los protocolos TCP y UDP.

UDP: para velocidades rápidas sin conexión.

TCP no confiable : la conexión se establece antes de que se transmitan los datos y los recursos se liberan una vez finalizada la transmisión de datos. Velocidad de transmisión confiable pero relativamente lenta.

La confiabilidad de TCP se materializa en: establecer una conexión antes de transmitir datos y asegurar la confiabilidad de la transmisión de datos a través de mecanismos de confirmación, ventana, retransmisión y congestión durante la transmisión de datos.



Cuarto, ingrese la dirección URL en el móvil >> el proceso de visualización de la página de inicio

1. Análisis DNS, busque la dirección IP correspondiente

2. Establezca la conexión TCP

3. Envíe la solicitud HTTP

4. Procese el servidor y devuelva el mensaje HTTP

5. Vagrant resuelve y renderiza la página

6. La conexión termina



Cinco, resumen del código de estado



Seis, conexión HTTP corta y conexión larga

Conexión corta: se establece una conexión cada vez que se realiza una solicitud de red y la conexión

se interrumpe. Conexión larga: una vez finalizada la solicitud de red, la conexión no se interrumpirá inmediatamente, ni la conexión se mantendrá permanentemente, sino dentro de un tiempo establecido, cuando no haya transmisión. desconectar.

//使用长连接,会在响应头加入这行代码
Connection:keep-alive


7. ¿Cuál es el papel de las cookies? ¿Cuál es la diferencia con Session?

Cookie y Session son métodos de sesión que se utilizan para rastrear la identidad del usuario móvil, pero los escenarios de usuario de los dos son diferentes.

  • Cookie: los datos se guardan en el cliente. No escriba algunos datos confidenciales, y es mejor hacer que el servidor los descifre después del cifrado
  • Sesión: los datos se almacenan en el servidor


8. ¿Cuál es la diferencia entre URI y URL?

URI (Identificador uniforme de recursos): es el mismo identificador de recursos, que puede identificar de forma única un recurso.

URL (Ubicación uniforme de recursos): es el mismo localizador de recursos, que puede proporcionar la ruta del recurso. Es un URI específico, que es una subclase de URI.



Nueve, la diferencia entre HTTP y HTTPS

HTTP: Protocolo de transferencia de hipertexto. La URL comienza con "http" y el número de puerto predeterminado es 80. La transmisión es completamente en texto plano sin cifrado y la seguridad es baja

HTTPS: HTTP que se ejecuta en SSL / TLS tiene alta seguridad. La URL comienza con "https" y el número de puerto predeterminado es 443.


Cifrado simétrico : solo hay una clave, y el cifrado y el descifrado son la misma contraseña, y la velocidad de cifrado es rápida. Inseguro: Si el intermediario intercepta la clave desde el inicio de la comunicación, se filtrará la información.

Cifrado asimétrico : hay dos claves públicas y se utilizan claves diferentes para el cifrado y el descifrado. Por ejemplo, Xiao Ming tiene la clave A y la clave pública B. Envíe la clave pública B a Xiaohong, Xiaohong usa la clave pública B para cifrar su propia clave pública C y la envía a Xiaoming. Xiaoming usa su propia clave A para descifrar su clave pública B para obtener la clave pública C. de Xiaohong. Más tarde, Xiaoming envía mensajes a Xiaohong cifrados con la clave pública c de Xiaohong, y Xiaohong envía mensajes a Xiaoming cifrados con la clave pública B de Xiaoming. Esto es relativamente seguro. De hecho, no es absolutamente seguro: si el intermediario intercepta la clave pública B tan pronto como se abre, la reemplaza con su propia clave pública y la envía a Xiaohong, la información también puede ser interceptada.

SSL / TLS : a diferencia del cifrado asimétrico, se realiza a través de la autoridad de certificación en el móvil o sistema operativo. El significado aproximado es utilizar la clave pública del vagabundo y la autoridad de certificación para cifrar y generar una firma. Una vez que el extremo receptor la recibe, utilice la clave pública acordada para generar una firma y compare la firma de la información recibida. Una vez que sea correcta, confirme que no ha sido secuestrada por un intermediario, luego descifre la información y cifre la información de transmisión



Referencias (gracias)

Conocimientos básicos de

la red informática Proceso de transmisión de datos de

la red informática

¿Qué es el protocolo HTTPS?

Supongo que te gusta

Origin blog.csdn.net/leol_2/article/details/105262409
Recomendado
Clasificación