Cultivo del ingeniero de Alibaba: desde el conocimiento de la computadora hasta la capacidad de aterrizaje, ¿qué te falta?

Con la ayuda de un problema que los programadores encuentran a menudo: por qué Internet no está disponible, para explicar específicamente cómo convertir el conocimiento muerto en los libros en nuestra capacidad de resolución de problemas.


Una pregunta: por qué Internet no funciona, para explicar en detalle cómo convertir el conocimiento muerto en los libros en nuestra capacidad de resolución de problemas)

Conceptos básicos aprendidos en la universidad

Creo que los conceptos básicos del conocimiento de redes en su mente están todos en la imagen a continuación. El contenido del conocimiento es un poco desordenado, me siento familiar y vago, y mucho menos transformar el contenido en productividad o usarlo para resolver problemas prácticos. Esto se debe a que el conocimiento no está conectado, practicado ni organizado.

Así que a continuación demostraremos el proceso de llevar el conocimiento del libro a la práctica, con la esperanza de organizar la conexión entre los conceptos de red a través de la práctica.

Empiece con un problema

El entorno reciente encontró un problema de falla de ping de la red. El enlace de red en ese momento era (probablemente esto, un poco simplificado):

Inserte la descripción de la imagen aquí

fenómeno

● Hacer ping a la máquina física 2 desde el contenedor 1 falla;
Hacer ping a la máquina física 2 desde el contenedor 2 en la máquina física 1;
● Al mismo tiempo, se encuentra que incluso si funciona, algunos contenedores solo necesitan 0.1 ms para hacer ping a la máquina física 1 y algunos contenedores necesitan 200 ms Lo anterior (todo en la misma máquina física) no es razonable:
● Todos los contenedores pueden hacer ping a otras IP de red externas (como Baidu) en su lugar.
Nos tomó una semana solucionar este problema porque la red de contenedores la configuramos nosotros mismos, y no teníamos permiso para contactar con el switch, pero fue configurada por el cliente. Cuando hay un problema, sentirán que están bien y la otra parte tiene un problema. Además, no conocen lo suficiente sobre los conocimientos básicos de Internet, por lo que sienten que están bien y no buscan pruebas.
La respuesta a esta pregunta se resumirá después de leer los conocimientos básicos de este artículo.

Antes de resolver este problema, piénselo primero. Si hay una pregunta de la entrevista: ingrese la IP de ping y presione Enter, ¿qué sucedió?

¿Qué sucede después de la devolución del transporte?

Pensemos en lo que sucedió con el ping IP.

Primero, la pila de protocolos del sistema operativo debe encapsular el comando ping en un paquete icmp y completar el encabezado (incluido src-IP, dirección mac), luego el sistema operativo primero calcula qué interfaz (tarjeta de red) usar de acuerdo con la IP de destino y las reglas de ruta de la máquina, y luego determina Con el enrutamiento, básicamente conoce src-ip y src-mac del paquete de envío. Cada regla de enrutamiento incluye básicamente varios elementos básicos como el rango de IP de destino, la puerta de enlace, la dirección MAC y la tarjeta de red.

Si la IP de destino y la IP utilizada por la máquina están en la misma subred,
si la IP de destino y la IP de la máquina son la misma subred (de acuerdo con la máscara de red de cada tarjeta de red en la máquina, ifconfig para determinar si es la misma subred-punto de conocimiento: subred El rol de la máscara), y la caché arp local no tiene el registro mac correspondiente a esta IP, luego transmite una consulta arp a todas las máquinas en toda la subred, por ejemplo, hago ping 1.1.3.42, y luego tcpdump captura el paquete. Una solicitud de arp:

Inserte la descripción de la imagen aquí

Lo anterior es el mensaje de difusión enviado por esta máquina ¿Cuál es la dirección mac de 1.1.3.42? Pronto 1.1.3.42 respondió a mi dirección mac. Después de recibir esta respuesta, primero se almacena en caché y no es necesario enviar el siguiente paquete de ping de nuevo a arp broadcast. Luego, ingrese la dirección mac en la Mac de destino (paquete icmp) en el encabezado del paquete de ping, y luego envíe este paquete de solicitud icmp, de acuerdo con la dirección mac, llegue correctamente a la máquina de destino y luego la otra parte responde correctamente a la respuesta icmp (la respuesta de la otra parte también debe verificar las reglas de enrutamiento, arp comprueba el mac del remitente, para que el paquete devuelto se pueda
enrutar correctamente, saltar).

Inserte la descripción de la imagen aquí

Eche un vistazo a un ping completo 1.1.3.43. El resultado de la captura de paquetes de tcpdump:
cambié la dirección IP y luego hice ping a la misma dirección IP. Si arp tiene un caché, no puedo ver el proceso de consulta de difusión de arp.

para resumir

La pérdida de paquetes de red, la tartamudez y el jitter son fáciles de llevar a cabo en la bolsa. Solo cuando se encuentre la causa real para resolver el problema será más rápido, de lo contrario no será correcto esforzarse en la dirección incorrecta. La dirección exacta depende de un buen conocimiento básico y de una lógica y evidencia correctas que la respalden, no de conjeturas.
● Los conocimientos básicos son un factor clave para determinar si puede trabajar hasta la jubilación.
● Tener conocimientos básicos no significa que realmente se pueda transformar en productividad.
● Cuanto más básicos, más importantes son los cimientos que se han mantenido sin cambios durante décadas.
● Conocimientos para El uso flexible depende de la práctica y, al mismo tiempo, se puede establecer la conexión entre el conocimiento;
● En resumen, la falta de integración y aplicación;
● Sea un hombre de rechazo cortés y respetuoso;
● Cuando otros no den pruebas y rechazo ignorante En este caso, tu oportunidad está aquí.

Deja algunas pequeñas preguntas:

  1. ¿Cómo determina el servidor src-ip y dest-mac en el paquete de respuesta cuando responde al cliente?
    ¿Debe el dest-ip en el paquete de solicitud tratarse como src-ip?
  2. Si la pregunta anterior es un protocolo TCP o UDP, ¿serán diferentes src-ip y dest-mac obtenidos en su paquete de respuesta?
  3. Dado que todas las redes de área local dependen de las direcciones Mac para ubicarse, ¿cuál es el papel de la IP?

Supongo que te gusta

Origin blog.csdn.net/qq_46914021/article/details/109238711
Recomendado
Clasificación