2 pontos por GN⁺ 2025-10-21 | 1 comentários | Compartilhar no WhatsApp
  • Este diagrama mostra visualmente todas as camadas e elementos da pilha de rede do Linux
  • O diagrama inclui diversas tecnologias de virtualização, como virtualização, container Linux, emulação e paravirtualização
  • Ele cobre toda a estrutura de camadas desde o socket de rede até a pilha de rede (superior: TCP, UDP / inferior: GRO, RPS, RFS, GSO)

# Principais componentes

  • Pilha de rede
    • Camada superior da pilha de rede (TCP, UDP)
    • Camada inferior da pilha de rede (GRO, RPS, RFS, GSO)
  • Composição do agendador de rede
  • NetFilter e controle de tráfego
    • Inclui diversas interfaces de rede, como interface Bridge, Bond e Tap
  • Driver de dispositivo
    • Fila (Queue)
    • NAPI
    • Manipulador de IRQ
    Publicidade
  • Funções de rede aceleradas pela NIC
    • Offload de checksum, VLAN, VxLAN, GRE, TSO, LRO, RSS, entre outros

# Recursos e informações adicionais

  • Cada camada fornece dicas de otimização e informações estatísticas
  • O fluxo completo até a placa de rede é conectado com bastante detalhamento
  • Este diagrama faz parte do material “Operativni sustavi i računalne mreže - Linux u primjeni” e tem alto valor de uso como referência técnica

1 comentários

 
GN⁺ 2025-10-21
Comentários do Hacker News
  • Senti falta de documentos desse nível com frequência
    Eu não consegui utilizar o iptables corretamente por vários anos
    Comprei livros e tentei vários exemplos em blogs, mas sem entender direito como as coisas funcionavam não conseguia usá-lo adequadamente
    Até que encontrei um diagrama (fluxograma) mostrando como os pacotes atravessam o kernel, o que me permitiu ver a ordem exata em que cada cadeia de regras é aplicada e onde os valores do sysctl são refletidos
    Graças a esse diagrama, pude escrever as regras exatamente como queria e escolher a regra certa considerando também o desempenho
    Um único diagrama fez parecer que o mundo inteiro passou a funcionar corretamente já na primeira tentativa
    Pude vivenciar em primeira mão o quanto um bom diagrama pode ser poderoso

    • Fico curioso se este é o diagrama que está aqui

    • Também quero citar o alvo TRACE, que registra exatamente qual regra o pacote atingiu no firewall
      Em firewalls de grande porte, é uma ferramenta realmente indispensável

    • Gostaria de perguntar se você poderia compartilhar esse diagrama
      Também quero conhecer de verdade o mundo do iptables

    • Eu também não conseguia entender o iptables por muito tempo
      Então conheci o FreeBSD e as pf tables, e agora me sinto como um engenheiro de rede
      Claro que isso exigiu tempo e esforço de estudo, mas o aprendizado foi um encaixe perfeito e pude aprender cada vez mais
      Recomendo a qualquer pessoa tentar por conta própria
      O documento oficial de firewall do FreeBSD também vale a pena conferir
      Recentemente também foi lançado o The Book of PF, 4ª edição

  • Se alguém tiver interesse, quero mencionar que o autor também fez um fluxo de I/O de disco do Linux
    O diagrama de I/O de disco pode ser visto aqui
    Todos esses diagramas surgiram do livro do autor "Operativni sustavi i računalne mreže - Linux u primjeni"
    A versão original do livro também está disponível
    Aplaudo o trabalho excelente e atencioso do autor

    • Fico curioso se esse livro tem uma versão em inglês

    • O diagrama de I/O de disco é incrível
      Muito obrigado por compartilhar

  • O mapa do Linux Kernel também é um material excelente, então vale a pena conferir
    [Link do Linux Kernel map](https://commons.wikimedia.org/wiki/File:Linux_kernel_map.png)

  • Gostaria de agradecer ao Hrvoje Horvat por criar um diagrama tão detalhado
    Graças a isso, estudar a pilha de rede vai ficar muito mais fácil
    O livro do autor "Operativni sustavi i računalne mreže - Linux u primjeni" parece até justificar aprender croata
    Parabenizo pela publicação do livro e agradeço novamente por essa contribuição valiosa
    Link do livro

  • O trabalho do autor é surpreendentemente bom
    Sinceramente, espero que exista uma tradução em inglês

  • Eu acho que é um material realmente incrível
    Se alguém desenvolver uma ferramenta de visualização que gerasse diagramas assim automaticamente, seria ainda melhor, mas na prática parece ser quase impossível

    • Para gerar automaticamente, acho que seria muito difícil lidar com as muitas camadas de abstração que esse diagrama mostra
      Ainda assim, ferramentas como Mermaid ou PlantUML conseguem mostrar uma parte desse território, e o PGF/TikZ parece um bom candidato para tentar gerar texto em vez de criar imagem
  • Também quero mencionar que em ambiente de container é possível usar uma stack TCP/IP própria, de forma parecida com uma VM
    Com slirp4netns, o container fica com networking próprio, enquanto com pasta usa diretamente a stack TCP/IP do kernel
    Se tiver curiosidade, o diagrama neste link é bem detalhado

  • Mesmo sem ter estudado formalmente stack de rede, usar Linux por décadas me fez me acostumar com a maior parte da estrutura de stack, e isso é curioso

  • Fico curioso se é possível ver o diagrama como arquivo SVG
    Como está só no PDF, às vezes fica difícil de ler

    • No visualizador de PDF embutido, clique em "Download" para baixar o PDF inteiro
  • Diagrama simplificado
    Na prática, não chega a incluir nem o iptables nem o nftables

    • Se eu olhar atentamente para o iptables, dá a impressão de que o iptables também está me encarando