fq+BBR et retransmissions. Complément du guide Happy Eyeballs & QUIC, angle volontairement différent.
Gros artefacts : la poignée p95 suit le chemin MTU et la congestion, pas seulement l’applicatif. VPN et overlays réduisent la MSS ; SSH répète des retransmissions inutiles et le CI semble erratique. Les équipes iOS et ML constatent alors des écarts de durée entre régions identiques pourtant provisionnées sur le même catalogue vpshalo : le goulot est presque toujours transport, pas CPU.
Instrumentez au minimum le débit instantané, la latence RTT et un compteur de segments retransmis par flux sur le bastion qui termine le tunnel. Agrégez sur des fenêtres de dix à trente minutes pour lisser les bursts de jobs parallèles ; publiez ensuite un histogramme p95 par couple région builder / région opérateur afin que la direction produit parle la même langue que le réseau.
- MSS. Tunnels empilés, segments trop larges, ICMP filtré.
- Files.
pfifo_fastamplifie les oscillations sur liaisons transpacifiques. - SSH. Compression inutile, keepalives absents, poignées dupliquées.
| Levier | Objectif mesurable | Risque si mal dosé |
|---|---|---|
| Pincement MSS / PMTU | Segments qui traversent sans retransmission « noire » | Clamp trop bas : débit plafonné ; sonde MTU absente : timeouts sporadiques |
fq + BBR (noyau Linux bastion) |
Latence file d’attente maîtrisée sur relais contrôlés | Noyau obsolète : BBR indisponible ; mélange hétérogène sans baseline |
Bloc ssh_config opérateur |
Poignées stables, keepalives prévisibles, QoS explicite | Multiplexage excessif : saturation mémoire locale ; IPQoS ignoré par certains Wi-Fi |
Compteurs retrans / ss -ti |
Signal d’acceptation avant fusion dans le dashboard | Sur-interprétation sans fenêtre temporelle : alertes bruitées |
Portrait du problème côté prod
Le schéma Halo sépare contrôle et artefacts ; chaque SSH doit offrir une enveloppe TCP stable. Mesurez p95 débit, retrans par flux bastion, variance sur océan. Croisez la matrice GeoDNS avant d’optimiser la pile. UDP interdit : MSS+BBR d’abord ; dual-stack permis : TCP puis HE/QUIC pour ne pas masquer le MTU.
Sur les liaisons Tokyo ↔ Oregon ou Singapour ↔ Francfort, la latence seule est trompeuse : un chemin peut afficher un RTT modeste tout en saturant des tampons intermédiaires. BBR sur fq vise précisément cette latence de file ; le pincement MSS évite que la couche ne perde du temps à fragmenter ou à réémettre des paquets trop larges pour le dernier saut Wi-Fi ou MPLS.
Tableau paramétrable : sysctl et ssh_config
Bastions Linux sous change management ; adaptez systemd-sysctl, namespaces et politiques SOC. Les valeurs ci-dessous supposent un noyau maintenu ; vérifiez sysctl net.ipv4.tcp_available_congestion_control avant d’écrire bbr. Sur les hôtes mutualisés, obtenez l’aval écrit du fournisseur : un mauvais réglage peut impacter des locataires voisins.
# 99-vpshalo-bbr-fq.conf — EXEMPLE noyau récent ; jamais sans validation interne
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_mtu_probing = 1
Host vpshalo-*-builder
Compression no
IPQoS throughput
ServerAliveInterval 30
ControlMaster auto
ControlPath ~/.ssh/cm-%r@%h:%p
ControlPersist 8m
tcp_mtu_probing agressif si la PMTU ment. IPQoS peut disparaître sur portails captifs : prévoyez un profil sans IPQoS.Acceptation par région (grille synthétique)
| PoP | Priorité transport | Seuil indicatif retrans / flux |
|---|---|---|
| Tokyo | Overlay vers HK ; clamp si double NAT | < 0,8 % retrans / 30 min |
| Séoul | Uplink ; PMTU tôt | < 0,9 % post-MSS |
| Hong Kong | Hub bastion ; files inter-région | p95 ≤ SLA + 10 % |
| Singapour | Pivot ASEAN ; BBR sur relais seulement | RTT vs débit monotone |
| US Ouest | LFP ; MSS exacte | Pas de spike retrans sur bascule GeoDNS |
Voir aussi SCP/SFTP & RTT : même MSS.
Repli et retour arrière
Versionnez l’ancien sysctl dans le même dépôt que les playbooks Terraform ou Ansible. Incident : restaurer, redémarrer relais applicatifs, mesurer une nuit complète avant de réactiver BBR. Sockets suspects après veille : désactivez temporairement ControlMaster, supprimez les fichiers cm-* orphelins sous ~/.ssh, puis rouvrez une session interactive pour valider.
- 1 — Baseline
ss -ti,netstat -s. - 2 — MSS/PMTU seul, trente minutes.
- 3 —
fqsans changer congestion. - 4 — BBR sur un pilote par océan.
- 5 —
ssh_configpuis p95 sur les cinq PoP ; archiver CMDB.
FAQ opérationnelle
sysctl sur macOS ? Non, concentrez l’optimisation sur les relais Linux ; macOS se valide par métriques de bout en bout. BBR remplace-t-il un CDN ? Non : il lisse la congestion sur les chemins que vous maîtrisez, pas la cache edge publique. SOC bloque IPQoS ? Retirez la directive, conservez keepalives et multiplexage léger. Peut-on cumuler clamp MSS agressif et jumbo frames internes ? Seulement si chaque segment du chemin est cartographié ; sinon privilégiez la prudence.
Trois formulations pour audit ou runbook
- MSS : MTU documentée par saut ; PMTU ou clamp comme preuve.
- BBR : noyaux verts,
fq, rollback versionné. - SSH : pas de compression artefacts ; multiplexage borné ; SOC.
Cette checklist MSS/BBR stabilise SSH pour artefacts lourds sur les cinq PoP ; enchaînez avec Happy Eyeballs / QUIC si la politique réseau l’autorise.