- Ce diagramme montre visuellement toutes les couches et tous les éléments de la pile réseau Linux
- Il inclut diverses technologies de virtualisation telles que la virtualisation, les conteneurs Linux, l’émulation et la paravirtualisation
- Il couvre la structure hiérarchique complète, depuis les sockets réseau jusqu’à la pile réseau (supérieure : TCP, UDP / inférieure : GRO, RPS, RFS, GSO)
# Composants principaux
- Pile réseau
- La couche supérieure de la pile réseau (TCP, UDP)
- La couche inférieure de la pile réseau (GRO, RPS, RFS, GSO)
- Composant de planification réseau
- NetFilter et contrôle du trafic
- Inclut diverses interfaces réseau comme bridge, bond et tap
- Pilote de périphérique
- File d’attente (Queue)
- NAPI
- Gestionnaire d’IRQ
- Fonctions réseau accélérées par le NIC
- Délestage de checksum, VLAN, VxLAN, GRE, TSO, LRO, RSS, etc.
# Caractéristiques et informations supplémentaires
- Chaque couche fournit également des conseils d’optimisation et des informations statistiques
- Le flux est également relié de manière détaillée jusqu’à la carte réseau
- Ce diagramme, issu du manuel « Operativni sustavi i računalne mreže - Linux u primjeni », a une forte valeur comme ressource de référence professionnelle
1 commentaires
Commentaire Hacker News
Je pense qu'on a vraiment besoin d'un grand nombre de documents de ce niveau. J'ai longtemps été incapable d'utiliser correctement iptables. J'ai acheté des livres et essayé des exemples variés sur des blogs, mais sans comprendre vraiment comment tout fonctionne, je n'ai pas réussi à les utiliser correctement. Puis j'ai découvert un schéma (flowchart) qui montre le passage d'un paquet à travers le kernel, ce qui m'a permis de comprendre l'ordre exact d'application des chaînes de règles ainsi que l'endroit où les valeurs sysctl sont prises en compte. Grâce à ce schéma, j'ai pu écrire mes propres règles comme je le voulais, et choisir les règles appropriées en tenant compte des performances. Un seul schéma a vraiment tout changé : ça a fonctionné correctement dès la première tentative. J'ai directement constaté la puissance énorme d'un bon schéma.
Je me demande si ce schéma n'est pas celui-ci.
Je tiens aussi à mentionner la cible TRACE, qui permet de journaliser le point exact où un paquet est effectivement capturé par la règle dans le pare-feu. Pour un pare-feu à grande échelle, c'est vraiment un outil indispensable.
J'aimerais savoir si ce schéma peut être partagé. Je veux aussi vraiment explorer le monde d'iptables.
Je n'ai moi aussi pas compris iptables pendant longtemps. Puis j'ai découvert FreeBSD et les pf tables, et aujourd'hui je me sens un peu comme un ingénieur réseau. Bien sûr, l'apprentissage a demandé du temps et des efforts, mais il s'est bien avéré adapté à ma façon d'apprendre, et j'ai pu apprendre de plus en plus au fil de l'accumulation. Je recommande à tout le monde d'essayer par soi-même. Le guide officiel des firewalls FreeBSD vaut également la peine d'être consulté. Le livre The Book of PF (4e édition) vient aussi de paraître.
Si quelqu'un est intéressé, je veux signaler que l'auteur a également créé un diagramme de flux E/S disque pour Linux. Voici le diagramme d'E/S disque que l'on peut consulter ici. Tous ces schémas proviennent du livre de l'auteur «Operativni sustavi i računalne mreže - Linux u primjeni». Le texte original du livre est également disponible publiquement. Je salue le travail exceptionnel et bienveillant de l'auteur.
Je me demande s'il existe une traduction anglaise de ce livre.
Le diagramme d'E/S disque est vraiment excellent. Merci de l'avoir partagé.
La Linux Kernel map est aussi une excellente ressource, je vous recommande de la consulter. [Lien vers la Linux Kernel map](https://commons.wikimedia.org/wiki/File:Linux_kernel_map.png)
Je tiens à remercier Hrvoje Horvat pour avoir réalisé un schéma aussi détaillé. Grâce à lui, l'étude de la stack réseau devrait vraiment devenir plus simple. Le livre de l'auteur «Operativni sustavi i računalne mreže - Linux u primjeni» donne presque envie d'apprendre le croate. Félicitations pour la parution de ce livre, et encore merci pour cette contribution précieuse. Lien du livre
Le travail de l'auteur est extraordinaire, à en douter. J'aimerais vraiment qu'une traduction anglaise existe.
Je pense que ce sont de très beaux documents. Si quelqu'un développait un outil de visualisation capable de générer automatiquement des schémas comme celui-ci, ce serait encore plus excitant, mais en pratique cela semble presque impossible.
Je voudrais aussi préciser qu'en environnement conteneur, on peut, comme en VM, utiliser une stack TCP/IP dédiée. Avec slirp4netns, le conteneur obtient son propre réseau, tandis qu'avec pasta il exploite directement la stack TCP/IP du kernel. Si vous voulez en savoir plus, le diagramme de ce lien est détaillé.
Je n'ai pas spécialement étudié formellement la stack réseau, mais après avoir utilisé Linux pendant des décennies, la plupart des structures de la stack me sont devenues familières, ce qui est surprenant.
Je me demande si le diagramme peut être vu au format svg. Il ne figure que dans un PDF, ce qui le rend difficile à lire.
Il s'agit d'un schéma simplifié. En réalité, il n'inclut pas non plus iptables ou nftables.