DevOps - Les réseaux¶
En construction
J'approfondis mes connaissances sur les réseaux en lisant plusieurs ressources et avec différentes expérimentations pour être plus à l'aise avec la virtualisation des réseaux avec des VM (QEMU/KVM, Proxmox, VirtualBox) et des conteneurs (Docker / Kubernetes).
Les modèles¶
Les principaux protocoles¶
- Ethernet : Abstraction couche physique, transmission directe de trame (L2)
- IPv4 et IPv6 : Transmission de paquets avec routage
- ARP (Address Resolution Protocol) : Résolution adresse IP -> adresse MAC
- DHCP (Dynamic Host Configuration Protocol) : Adresse IP, masque de sous-réseau, passerelle, routage...
- ICMP (Internet Control Message Protocol) : ping, traceroute,...
- UDP (User Datagram Protocol) : Transport non connecté, faible latence, sans garantie de livraison.
- TCP (Transmission Control Protocol) : Transport connecté, fiable, ordonné, avec contrôle de flux et retransmission.
- TLS (Transport Layer Security) : authentification du serveur, chiffrement des données, authentification du client (optionnelle)
- HTTP : Protocole applicatif client/serveur pour échanger des ressources web.
- HTTPS : HTTP sur TLS pour garantir confidentialité, intégrité et authentification du serveur.
Virtualisation des réseaux¶
- VLAN (Virtual Local Area Network) : segmentation logique du réseau au niveau Ethernet.
Utilisation de VLAN
- Les VLAN sont très utilisés en entreprise et en datacenter pour segmenter le réseau sur une même infrastructure physique.
- On les retrouve aussi en homelab et en virtualisation (hyperviseurs, switches manageables, pare-feu) pour isoler les flux entre VM, services et environnements.
- Dans Kubernetes, les VLAN sont plutôt utilisés au niveau de l'infrastructure sous-jacente ; l'isolation intra-cluster est généralement gérée par le CNI et les politiques réseau.
- VXLAN : extension L2 sur un réseau L3 via encapsulation de trames Ethernet dans UDP (généralement sur le port 4789).
Utilisation de VXLAN
- VXLAN est utilisé par le driver
overlayde Docker Swarm. - VXLAN est utilisé par plusieurs CNI Kubernetes selon la configuration (ex. Flannel en backend VXLAN, Calico en mode VXLAN, Cilium en mode tunnel VXLAN ; Cilium peut aussi utiliser Geneve).
Pas de chiffrement sur VXLAN
- Le trafic VXLAN n'est pas chiffré nativement : à utiliser sur des réseaux de confiance (ou protégés), pas en exposition directe sur Internet.
- Les différents backends Flannel de K3S (wireguard-native, ipsec, etc.) illustrent des alternatives permettant d'ajouter du chiffrement.
Impact de la virtualisation sur le MTU¶
- Chaque couche d'encapsulation (VLAN, VXLAN, Geneve, IPsec, WireGuard, etc.) ajoute des en-têtes et réduit la MTU utile.
- Si la MTU n'est pas cohérente de bout en bout, on observe des symptômes difficiles à diagnostiquer : timeouts, lenteurs, retransmissions TCP, échec partiel de certaines requêtes.
- Règle simple : identifier les couches d'encapsulation et retrancher leur surcoût pour obtenir la MTU utile de bout en bout.
Cas d'école avec Docker
- Réseau bridge local (sans tunnel) : MTU souvent proche de 1500, selon l'hôte et l'infrastructure.
- Réseau overlay (Docker Swarm) : encapsulation VXLAN, MTU utile souvent autour de 1450.
- Si le réseau physique est déjà contraint (cloud, VPN, tunnel), la MTU overlay peut devoir être encore plus basse.
- Bon réflexe : vérifier la MTU des interfaces Docker et ajuster la configuration réseau pour éviter la fragmentation.