Auteur Sujet: Pourquoi un Speedtest n'est pas un DoS  (Lu 707 fois)

Leon et 2 Invités sur ce sujet

brupala

  • Abonné Free fibre
  • *
  • Messages: 284
  • Tours (37)
Pourquoi un Speedtest n'est pas un DoS
« Réponse #24 le: Aujourd'hui à 00:57:45 »
La limite de 8 Gbps côté client doit aussi bien aider étant donné que c'est au moins du 10 Gbps derrière, non ? Impossible pour un seul accès de saturer la collecte de l'arbre à lui tout seul. Je ne sais pas si c'est pour cette raison que tous les FAI nationaux donnent 8 et pas 10... mais ça me semble probable :)

Si les 128 clients d'un arbre se mettaient tous à faire un speedtest en même temps, ça devrait laisser environ 120 Mbps par personne. Ça reste mieux que le VDSL ! (bien sûr, dans un environnement parfait ou il n'y a qu'un seul arbre sur cette collecte, et sans tenir compte de la charge utile dans le débit etc.)
Bon, je vais en remettre une couche:
Si tu pompes le max on va dire 8 Gbit/s d'un arbre XG-Gpon, il me parait clair que le temps que tu fais ça, si vous êtes 128, les 127 autres ont zéro à l'instant I. Si ça dure 1ms, ça fait 1MO de données et c'est transparent, si ça dure 10s, ça fait 10 GO mais ça va faire tousser, les multiplexages vont normalement intervenir pour diminuer ta gourmandise et répartir plus équitablement  la bande en fonction des besoins des autres.
Après, la régulation TCP, si on est seul ou que les autres morceaux de la liaison ont beaucoup plus ne se mettra pas en route et essaiera de pousser au maximum de la liaison, ça ne ralentira que si le flux est contrarié par d'autres éléments, concurrence, ralentissements pour bufferisation en files d'attente et au pire perte de paquets et retransmissions, là le débit tcp va très vite s'écrouler si ça dure plusieurs secondes/minutes, c'est à ce moment là que les algos TCP vont intervenir pour optimiser, mais sur le (les flux) du speedtest seulement, pas sur les autres utilisateurs, pour les autres c'est aux matériels actifs du réseau d'agir, au pire en mettant à la corbeille une partie des flux les plus gênants, si ils ne sont pas marqués prioritaires, QOS ordinaire quoi.
Si je calcule bien, à 8 Gbit/s, un paquet de 1000 octets dure à peu près 1 micro seconde, donc retarder une dizaine de paquets, pour en passer d'autres, ça ne change pas grand chose.
un test nperf que j'ai mesuré approximativement sur un lien 1 Gbit/s envoie environ 700 000 paquets, un toutes les 35µs en gros, ça laisse donc peu de temps le support libre, contrairement à ce que je pensais.

 

Leon

  • Abonné Bbox fibre
  • Modérateur
  • *
  • Messages: 6 707
Pourquoi un Speedtest n'est pas un DoS
« Réponse #25 le: Aujourd'hui à 06:12:28 »
Je me suis permis de déplacer ce hors sujet dans une section plus appropriée. Vous pouvez continuer la discussion sans problème.

Leon.

Pegasus38

  • Abonné Orange Fibre
  • *
  • Messages: 2 067
Pourquoi un Speedtest n'est pas un DoS
« Réponse #26 le: Aujourd'hui à 13:17:56 »
Et moi je vais en remettre une couche :
Orange te vend 8Gb/s mais la vraie limitation du XGS-PON c'est 10Gb/s (un peu moins)

Trellen

  • Abonné Bbox fibre
  • *
  • Messages: 243
Pourquoi un Speedtest n'est pas un DoS
« Réponse #27 le: Aujourd'hui à 14:37:16 »
Après, la régulation TCP, si on est seul ou que les autres morceaux de la liaison ont beaucoup plus ne se mettra pas en route et essaiera de pousser au maximum de la liaison, ça ne ralentira que si le flux est contrarié par d'autres éléments, concurrence, ralentissements pour bufferisation en files d'attente et au pire perte de paquets et retransmissions, là le débit tcp va très vite s'écrouler si ça dure plusieurs secondes/minutes,
source pour le passage en gras?
c'est à ce moment là que les algos TCP vont intervenir
ils interviennent tout le long du téléchargement
https://fr.wikipedia.org/wiki/Algorithme_TCP
pour optimiser, mais sur le (les flux) du speedtest seulement, pas sur les autres utilisateurs, pour les autres c'est aux matériels actifs du réseau d'agir, au pire en mettant à la corbeille une partie des flux les plus gênants, si ils ne sont pas marqués prioritaires, QOS ordinaire quoi.
source pour le passage en gras?
Si je calcule bien, à 8 Gbit/s, un paquet de 1000 octets dure à peu près 1 micro seconde, donc retarder une dizaine de paquets, pour en passer d'autres, ça ne change pas grand chose.
latence
un test nperf que j'ai mesuré approximativement sur un lien 1 Gbit/s envoie environ 700 000 paquets, un toutes les 35µs en gros, ça laisse donc peu de temps le support libre, contrairement à ce que je pensais.
le temps pour faire quoi?

vivien

  • Administrateur
  • *
  • Messages: 51 303
    • Bluesky LaFibre.info
Pourquoi un Speedtest n'est pas un DoS
« Réponse #28 le: Aujourd'hui à 14:47:28 »
Un Déni de service, c'est généralement beaucoup plus que le débit que peut atteindre TCP.

Par exemple envoyer 20 Gb/s vers un client c'est du DOS.

zbug

  • Abonné Free fibre
  • *
  • Messages: 357
  • 72000
Pourquoi un Speedtest n'est pas un DoS
« Réponse #29 le: Aujourd'hui à 14:51:13 »
Même si le forum n'est pas réprésentatif (je l'espère en tout cas sinon ouch  ::)), et c'est une chose que l'on aura certainement jamais, mais je serais très curieux d'avoir le pourcentage de bande passante mensuel de speedtest/nperfs etc chez les fournisseurs.

brupala

  • Abonné Free fibre
  • *
  • Messages: 284
  • Tours (37)
Pourquoi un Speedtest n'est pas un DoS
« Réponse #30 le: Aujourd'hui à 17:00:31 »
Un Déni de service, c'est généralement beaucoup plus que le débit que peut atteindre TCP.

Par exemple envoyer 20 Gb/s vers un client c'est du DOS.
probablement, oui, je ne pratique pas ça et la victime ne voit qu'une partie du volume qui l'attaque.

brupala

  • Abonné Free fibre
  • *
  • Messages: 284
  • Tours (37)
Pourquoi un Speedtest n'est pas un DoS
« Réponse #31 le: Aujourd'hui à 17:33:44 »
source pour le passage en gras?
La source c'est des tests que je faisais autrefois sur des réseaux avec beaucoup d'erreurs, et sur des débits beaucoup plus faibles.
Citer
     c'est à ce moment là que les algos TCP vont intervenir

ils interviennent tout le long du téléchargement 
Certes ils sont là mais sans effet si la liaison est stable, l'effet ne se fait sentir qu'en cas de problèmes afin de les compenser le plus tôt possible, une liaison sans erreurs et pas trop chargée par exemple entre 2 ports de switch à même débit, on n'a besoin d'aucun algo, on bourre, c'est tout, les cas extrêmes sont gérés au niveau applis ou pas du tout.

Citer
le temps pour faire quoi?

pour passer un autre flux important quoi, sans ralentir le nôtre.

Citer
     au pire en mettant à la corbeille une partie des flux les plus gênants, si ils ne sont pas marqués prioritaires, QOS ordinaire quoi.

source pour le passage en gras?

Pareil des tests sur des lignes bas débit saturées.

<mode vieux C..>
C'est sûr que c'est d'une autre époque les liaisons avec beaucoup d'erreurs et les lignes "bas débit" à, on va dire, moins de 1 Mbit/s avec les produits d'aujourd'hui la QOS est en voie de disparition car de plus en plus inutile. une latence de quelques microsecondes ne gêne pas grand monde en principe.
</mode vieux C..>



Leon

  • Abonné Bbox fibre
  • Modérateur
  • *
  • Messages: 6 707
Pourquoi un Speedtest n'est pas un DoS
« Réponse #32 le: Aujourd'hui à 19:15:41 »
Après, la régulation TCP, si on est seul ou que les autres morceaux de la liaison ont beaucoup plus ne se mettra pas en route et essaiera de pousser au maximum de la liaison, ça ne ralentira que si le flux est contrarié par d'autres éléments, concurrence, ralentissements pour bufferisation en files d'attente et au pire perte de paquets et retransmissions, là le débit tcp va très vite s'écrouler
[les protocoles de flow control]Certes ils sont là mais sans effet si la liaison est stable, l'effet ne se fait sentir qu'en cas de problèmes afin de les compenser le plus tôt possible, une liaison sans erreurs et pas trop chargée par exemple entre 2 ports de switch à même débit, on n'a besoin d'aucun algo, on bourre, c'est tout, les cas extrêmes sont gérés au niveau applis ou pas du tout.
Je confirme que tu n'as pas compris ce qu'étaient les algos de flow control TCP, où ils étaient utiles, comment ils se déclenchaient. Mais alors pas du tout.

- Non, un flux TCP ne bourre pas bêtement le maximum de ce que sait faire le serveur, sans algo de flow control, contrairement à ce que tu dis, c'est tout le contraire. Si c'était ça, alors internet s'écroulerait totalement en permanence!!!
- "essayer de pousser au maximum de la liaison" comme tu le dis, ça n'est possible qu'avec un algo de flow control, c'est lui qui détecte automatiquement ce qu'est le débit "maximum de la liaison".
- Les algo de flow control TCP ne sont pas du tout réservés aux situations "en cas de problème, d'erreur, de liaisons instables". PAS DU TOUT!
- Non, la limitation de débit n'est pas gérée au niveau des "applications" (=Layer 7), pas du tout, dans le cas d'un téléchargement ou d'un speedtest. (une limitation au niveau applicatif c'est surtout pour du streaming à débit variable en UDP, mais c'est un autre sujet).
- Les algo de flow control TCP sont utiles tout le temps, et les effets se font sentir dès que l'application pourrait pousser/tirer plus de débit qu'il ne peut en passer sur la liaison, ce qui est très très fréquent:
 1) très fréquent, sur un téléchargement classique, et même sur un streaming par burst via TCP, etc...
 2) systématique en cas de test de débit, c'est bien ce que tu cherches à tester justement! C'est bien le débit "lissé" obtenu par l'algo de flow control TCP (après ramp up et convergence de quelques secondes) qui sera le résultat de ton test de débit. (Et très souvent le débit volontairement cumulé / réparti sur plusieurs TCP-sessions, mais c'est un détail ici.)
 3) extrêmement fréquent sur une liaison à débit limité comme une connexion 4G/5G à quelques Mb/s ou dizaines de Mb/s, même si cette liaison est stable

Bref, je t'invite une nouvelle fois à oublier tes à priori faux, à relire nos messages, à te renseigner sur ces algo de flow control TCP et surtout de leur utilité, et à faire des tests de téléchargement "bridés par la liaison". N'importe qui peut régler une interface Ethernet à 10 ou 100Mb/s par exemple et faire une capture WireShark sur un téléchargement bridé par cette liaison à 100Mb/s, c'est un très bon exercice; en mettant un ping en parallèle, c'est encore mieux pour comprendre; la latence (ping) augmente mais ne s'envole pas grâce au flow control de la connexion TCP d'à côté, et la perte de paquet est faible. Le débit réel du téléchargement monte progressivement et rapidement, et s'adapte automatiquement aux 100Mb/s disponibles, tout ça grâce à ton algo de flow control TCP, avec très peu de pertes de paquet, juste ce qu'il faut comme paquets "sacrifiés" pour que l'algo de flow control puisse détecter la capacité maxi de la liaison.

Leon.
« Modifié: Aujourd'hui à 20:13:57 par Leon »

vivien

  • Administrateur
  • *
  • Messages: 51 303
    • Bluesky LaFibre.info
Pourquoi un Speedtest n'est pas un DoS
« Réponse #33 le: Aujourd'hui à 19:49:47 »
Cubic et BBR sont les deux algorithmes les plus utilisés côté serveur pour décider de la vitesse d’envoi des paquets par TCP :

• Cubic, créé en 2006, s’appuie sur la perte de paquets comme signal pour réduire le débit. Cubic est l’algorithme d’évitement de congestion utilisé par défaut sous Linux (qui équipe la majorité des serveurs sur internet), mais aussi Android et macOS. C’est la valeur par défaut d’Ubuntu 22.04 LTS.

• BBR : Google a développé en 2016 BBR (pour « Bottleneck Bandwidth and Round-trip propagation time »), qui utilise un modèle différent, s’appuyant sur la bande passante maximale et le temps d’aller-retour (RTT ou « round trip time »). Cette approche permet à BBR, quand une connexion perd des paquets, de proposer un débit nettement plus élevé que ceux offerts par les algorithmes s’appuyant sur la perte de paquets, comme Cubic. Aujourd’hui, BBR est de plus en plus utilisé par certains grands acteurs de l’Internet, notamment sur les serveurs proposant HTTP/3, la nouvelle norme HTTP de troisième génération. Cependant, BBR n’est pas encore généralisé sur internet notamment en raison de problématiques d’équité des flux. En effet, sur un même lien où le débit est partagé entre utilisateurs (exemple : les fréquences du réseau mobile ou un lien fibre), les connexions BBR vont « prendre la place » des connexions Cubic. Une version « BBRv3 » sera finalisé fin 2024. Déjà utilisé sur YouTube et google.com, BBRv3 améliore les performances de BBR et devrait permettre une meilleure cohabitation avec Cubic, en ce qu’il permet un partage de liens avec ce dernier. Note : « BBRv2 » n'a jamais été finalisé.


Source : Arcep - Configuration des serveurs pour l'enquête QoS mobile 2025

brupala

  • Abonné Free fibre
  • *
  • Messages: 284
  • Tours (37)
Pourquoi un Speedtest n'est pas un DoS
« Réponse #34 le: Aujourd'hui à 20:58:46 »
Je confirme que tu n'as pas compris ce qu'étaient les algos de flow control TCP, où ils étaient utiles, comment ils se déclenchaient. Mais alors pas du tout.

Non, un flux TCP ne bourre pas bêtement, sans algo de flow control, contrairement à ce que tu dis, c'est tout le contraire.
Les algo de flow control TCP ne sont pas du tout réservés aux situations "en cas de problème, d'erreur, de liaisons instables". PAS DU TOUT!

Les algo de flow control TCP sont utiles tout le temps,dès que l'application pourrait pousser/tirer plus de débit qu'il ne peut en passer sur la liaison[/b], ce qui est très très fréquent:
! C'est bien le débit "lissé" obtenu par l'algo de flow control TCP qui sera le résultat de ton test de débit. (Et très souvent le débit volontairement cumulé / réparti sur plusieurs TCP-sessions, mais c'est un détail ici.)

Leon.
Discours assez contradictoire:
Comment on peut pousser plus que la capacité de la liaison  ?? Pourquoi on met des liaisons de fou alors ?
Pourquoi on met justement plusieurs flux tcp en parallèle, si ça n'est pas pour contourner les contrôles de flux et blocages de TCP ?
Ou alors les algos gèrent les flux multiples, ce qui serait une découverte pour moi.
A ce que j'ai compris, c'est le but recherché par QUIC aussi.
Dans ce que j'ai appris, les fameux algo  ne font que recalculer la fenêtre, en l'agrandissant ou la réduisant, je ne pense pas qu'ils réduisent  le gap interpaquets à l'émission entre buffer et port ou changent la MSS et s'ils augmentent le gap , ça réduit le débit, donc, tant que la fenêtre est ouverte, on continue, en plus je pense aussi qu'ils n'agissent que côté émetteur, je ne vois pas comment on peut faire venir plus vite sur un récepteur, juste moins vite en fermant la fenêtre.
Après, je n'ai pas dit que le débit était réglé au niveau application, mais que c'est là que l'on peut finir par relancer une situation catastrophique comme c'est le cas en UDP: si pas de réponse, on recommence la requête.

brupala

  • Abonné Free fibre
  • *
  • Messages: 284
  • Tours (37)
Pourquoi un Speedtest n'est pas un DoS
« Réponse #35 le: Aujourd'hui à 21:07:27 »
Cubic et BBR sont les deux algorithmes les plus utilisés côté serveur pour décider de la vitesse d’envoi des paquets par TCP :

• Cubic, créé en 2006, s’appuie sur la perte de paquets comme signal pour réduire le débit. Cubic est l’algorithme d’évitement de congestion utilisé par défaut sous Linux (qui équipe la majorité des serveurs sur internet), mais aussi Android et macOS. C’est la valeur par défaut d’Ubuntu 22.04 LTS.

• BBR : Google a développé en 2016 BBR (pour « Bottleneck Bandwidth and Round-trip propagation time »), qui utilise un modèle différent, s’appuyant sur la bande passante maximale et le temps d’aller-retour (RTT ou « round trip time »). Cette approche permet à BBR, quand une connexion perd des paquets, de proposer un débit nettement plus élevé que ceux offerts par les algorithmes s’appuyant sur la perte de paquets, comme Cubic. Aujourd’hui, BBR est de plus en plus utilisé par certains grands acteurs de l’Internet, notamment sur les serveurs proposant HTTP/3, la nouvelle norme HTTP de troisième génération. Cependant, BBR n’est pas encore généralisé sur internet notamment en raison de problématiques d’équité des flux. En effet, sur un même lien où le débit est partagé entre utilisateurs (exemple : les fréquences du réseau mobile ou un lien fibre), les connexions BBR vont « prendre la place » des connexions Cubic. Une version « BBRv3 » sera finalisé fin 2024. Déjà utilisé sur YouTube et google.com, BBRv3 améliore les performances de BBR et devrait permettre une meilleure cohabitation avec Cubic, en ce qu’il permet un partage de liens avec ce dernier. Note : « BBRv2 » n'a jamais été finalisé.


Source : Arcep - Configuration des serveurs pour l'enquête QoS mobile 2025
Donc c'est bien reconnaitre en fait que les algos sont là pour améliorer les choses au mieux quand il y a un problème et sont inactifs quand tout va bien et que les fenêtres tcp ne passent pas en mode compte goutte, ce qui fait bien qu'ils réduisent  le moins possible le débit, mais le réduisent au strict besoin, ne l'accélèrent jamais.