2 puntos por GN⁺ 2025-10-21 | 1 comentarios | Compartir por WhatsApp
  • Este diagrama muestra de forma visual todas las capas y elementos de la pila de red de Linux.
  • El diagrama incluye varias tecnologías de virtualización, como virtualización, contenedores de Linux, emulación y paravirtualización.
  • Incluye toda la estructura de capas, desde el socket de red hasta la pila de red (superior: TCP, UDP / inferior: GRO, RPS, RFS, GSO).

# Componentes principales

  • Pila de red
    • Capa superior de la pila de red (TCP, UDP)
    • Capa inferior de la pila de red (GRO, RPS, RFS, GSO)
  • Planificador de red
  • NetFilter y control de tráfico
    • Incluye diversas interfaces de red como Bridge, interfaz Bond e interfaz Tap
  • Controladores de dispositivo
    • Cola (Queue)
    • NAPI
    • Controlador de IRQ
  • Funciones de red aceleradas por la NIC
    • checksum offload, VLAN, VxLAN, GRE, TSO, LRO, RSS, entre otras

# Características y notas adicionales

  • Cada capa incluye también consejos de optimización y información estadística.
  • Conecta de manera detallada el flujo completo hasta la tarjeta de red.
  • Este diagrama forma parte de “Operativni sustavi i računalne mreže - Linux u primjeni”, por lo que tiene un alto valor como material de referencia profesional.

1 comentarios

 
GN⁺ 2025-10-21
Opinión de Hacker News
  • Me parece que hacen falta muchos contenidos de este nivel.
    Durante años no pude utilizar iptables correctamente.
    Compré libros e intenté muchos ejemplos de blogs, pero como no entendía cómo funcionaba todo, no pude usarlo bien.
    Entonces encontré un diagrama (diagrama de flujo) que muestra cómo un paquete atraviesa el kernel, y eso me permitió conocer el orden exacto en que se aplican las cadenas de reglas y dónde se reflejan los valores de sysctl.
    Gracias a ese diagrama, pude escribir reglas por mí mismo como quería, y pude elegir reglas apropiadas pensando también en el rendimiento.
    Un solo diagrama parecía haber cambiado el mundo porque funcionó correctamente desde el primer intento.
    He experimentado de primera mano lo poderosa que puede ser una buena representación visual.

    • Me pregunté si este es el diagrama que está aquí.

    • También quiero mencionar el objetivo TRACE, que deja en logs en qué regla exacta atrapó un paquete el firewall.
      En un firewall de gran escala es una herramienta verdaderamente indispensable.

    • Me gustaría preguntar si podrías compartir ese diagrama.
      Yo también quiero conocer de verdad el mundo de iptables.

    • Yo también tardé mucho en entender iptables.
      Luego conocí FreeBSD y las tablas pf, y ahora me siento como un ingeniero de redes.
      Por supuesto, estudié con tiempo y esfuerzo, pero el proceso de aprendizaje encajó bien y pude ir acumulando más conocimiento poco a poco.
      Recomiendo que cualquiera se anime a probarlo por sí mismo.
      La documentación oficial de firewall de FreeBSD también vale la pena revisarla.
      Recientemente también se lanzó The Book of PF en su cuarta edición.

  • Si alguien está interesado, quiero mencionar que el autor también hizo un diagrama del flujo de I/O de disco en Linux.
    Puedes ver el diagrama de I/O de disco aquí.
    Todos estos diagramas se originan en el libro del autor "Operativni sustavi i računalne mreže - Linux u primjeni".
    El texto original del libro también está disponible públicamente.
    Aplaudo el trabajo excelente y amable del autor.

    • Me pregunto si hay una traducción al inglés de este libro.

    • El diagrama de I/O de disco es excelente.
      Gracias por compartirlo.

  • La Linux Kernel map también es un recurso genial, así que la recomiendo.
    [Enlace de Linux Kernel map](https://commons.wikimedia.org/wiki/File:Linux_kernel_map.png)

  • Quiero darle las gracias a Hrvoje Horvat por hacer un diagrama tan detallado.
    Gracias a eso, estudiar la pila de red seguramente será mucho más fácil.
    El libro del autor "Operativni sustavi i računalne mreže - Linux u primjeni" transmite hasta la sensación de que vale la pena aprender croata.
    Felicito la publicación del libro y agradezco una vez más esta valiosa contribución.
    Enlace del libro

  • El trabajo del autor es tan bueno que cuesta creerlo.
    En serio, desearía que hubiera una traducción al inglés.

  • Considero que es un recurso realmente genial.
    Sería aún más emocionante si alguien desarrollara una herramienta de visualización que genere automáticamente diagramas así, aunque probablemente en la práctica sea casi imposible.

    • Para una generación automática, me parece que sería muy difícil porque habría que manejar muchas capas de abstracción que muestra este diagrama.
      Aun así, herramientas como Mermaid o PlantUML pueden mostrar hasta cierto punto una zona similar, y PGF/TikZ podría ser un objetivo interesante para intentar desde la generación de texto en vez de imágenes.
  • También quiero mencionar que en entornos de contenedores también puedes usar una pila TCP/IP propia, de forma similar a una VM.
    Con slirp4netns, el contenedor obtiene su propio networking, mientras que con pasta aprovecha directamente la pila TCP/IP del kernel.
    Si te interesa, el diagrama de este enlace está muy detallado.

  • En particular, no estudié formalmente la pila de red, pero al usar Linux durante décadas, la mayor parte de la estructura de la pila me resulta familiar y da una sensación curiosa.

  • Me pregunto si el diagrama puede verse como archivo SVG;
    al estar incluido solo en PDF, la lectura puede sentirse difícil.

    • Si pulsas Download debajo del visor PDF integrado, puedes descargar el PDF completo.
  • Es un dibujo simplificado.
    En la práctica no incluye ni siquiera iptables o nftables.

    • Si miras iptables detenidamente, tienes la sensación de que iptables también te mira.