Auteur Sujet: Algo de contrôle de la congestion TCP: BBR  (Lu 37467 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 175
    • Twitter LaFibre.info
Algo de contrôle de la congestion TCP: BBR
« Réponse #72 le: 03 janvier 2022 à 16:40:23 »
Très intéressant.

C'est du mono-connexion ?

C'est possible de savoir la ville où sont les box ?

Les modèles de box utilisées et plus d'info sur la configuration du PC de test ?

(cela permet d'avoir des données complètes)

ouno

  • Abonné Orange Fibre
  • *
  • Messages: 112
  • Rennes (35)
Algo de contrôle de la congestion TCP: BBR
« Réponse #73 le: 03 janvier 2022 à 18:01:08 »
C'est du mono-connexion ?
Oui c'est du mono-connexion (je l'avais écrit dans la première ligne de mon post et dans le titre des graphs ;) )

C'est possible de savoir la ville où sont les box ?
Free: Orvault (ZMD)
Orange: Rennes

Les modèles de box utilisées et plus d'info sur la configuration du PC de test ?
Free:
- box: Freebox Révolution r2 avec ONU v1
- système de test: NAS Synology DS214+ (Marvell PJ4Bv7 / 1GB RAM)
Linux 3.2.40 (armv7l)
--------------------------- 2022-01-03 16:02:54 GMT ---------------------------
Paramétrage réseau actuel du système:
  net.core.rmem_max: 6291456
  net.core.wmem_max: 4194304
  net.ipv4.tcp_adv_win_scale: 1
  net.ipv4.tcp_congestion_control: cubic
  net.ipv4.tcp_mem: 24384       32512   48768
  net.ipv4.tcp_no_metrics_save: 0
  net.ipv4.tcp_rmem: 4096       87380   6291456
  net.ipv4.tcp_sack: 1
  net.ipv4.tcp_timestamps: 1
  net.ipv4.tcp_window_scaling: 1
  net.ipv4.tcp_wmem: 4096       16384   4194304
  => Latence TCP max pour une réception à 1 Gbps: 27 ms

Orange:
- box: Livebox 4
- système de test: Debian GNU/Linux 10 (i5-4570 CPU @ 3.20GHz / 16GB RAM)
Linux 4.19.0-13-amd64 (x86_64)
--------------------------- 2022-01-03 16:04:16 GMT ---------------------------
Paramétrage réseau actuel du système:
  net.core.rmem_max: 212992
  net.core.wmem_max: 212992
  net.ipv4.tcp_adv_win_scale: 1
  net.ipv4.tcp_congestion_control: cubic
  net.ipv4.tcp_mem: 187191      249591  374382
  net.ipv4.tcp_no_metrics_save: 0
  net.ipv4.tcp_rmem: 4096       131072  6291456
  net.ipv4.tcp_sack: 1
  net.ipv4.tcp_timestamps: 1
  net.ipv4.tcp_window_scaling: 1
  net.ipv4.tcp_wmem: 4096       16384   4194304
  => Latence TCP max pour une réception à 1 Gbps: 27 ms

Pour info le programme utilisé pour les tests est très très léger et n'utilise bien sûr pas le système de stockage pour les tests de débit.
Des vérifications ont été faites sur les systèmes en charge et ils tiennent sans problème le 1Gbps.

De plus, je ne l'ai pas précisé dans mon post précédent pour pas surcharger, mais sur la ligne Free un test témoin de débit local entre le système de test et la Freebox a aussi été réalisé toutes les 15 minutes, juste avant les tests de débit Internet.
Ce test témoin permet de vérifier qu'à chaque fois que les tests de débit Internet sont réalisés le système est bien capable de monter à 1Gbps. Le test témoin est parfaitement stable et permet d'être vraiment sûr du système de test.

Voici le graph avec le test témoin en plus:

vivien

  • Administrateur
  • *
  • Messages: 47 175
    • Twitter LaFibre.info
Algo de contrôle de la congestion TCP: BBR
« Réponse #74 le: 30 janvier 2023 à 19:37:43 »
Une étude de Ayush Mishra et présenté à l'IETF 109 le 20 novembre 2020 a étudié la répartition des protocoles de congestion TCP sur le top 250 Alexa, les 250 sites web qui sont les plus consultés selon le classement Alexa (qui au passage n'existe plus aujourd'hui) :

BBR est l'algorithme de contrôle de la congestion TCP le plus utilisé avec 25% devant Cubic 22%.




L'évolution dans le temps des algorithmes de contrôle de la congestion TCP, sur le top 20 000 Alexa : Cubic est cette fois-ci devant BBR, car les sites les plus populaires utilisent plus BBR que les autres :


vivien

  • Administrateur
  • *
  • Messages: 47 175
    • Twitter LaFibre.info
Algo de contrôle de la congestion TCP: BBR
« Réponse #75 le: 30 janvier 2023 à 19:40:10 »
The Great Internet TCP Congestion Control Census
(cliquez sur la miniature ci-dessous - le document est au format PDF)


Les slides des mesures :





zergflag

  • Abonné Bbox fibre
  • *
  • Messages: 1 942
Algo de contrôle de la congestion TCP: BBR
« Réponse #76 le: 30 janvier 2023 à 20:35:23 »
Netflix utilise toujours du CUBIC ? Il me semble que Netflix utilise FreeBSD comme distro sur leurs serveurs vidéos, c'est en CUBIC par défaut dessus ?

vivien

  • Administrateur
  • *
  • Messages: 47 175
    • Twitter LaFibre.info
Algo de contrôle de la congestion TCP: BBR
« Réponse #77 le: 30 janvier 2023 à 20:45:43 »
Oui, c'est public, Netflix utilise du Cubic.

Peut-être, car c'est offloadé sur la carte réseau ?

Ils font faire pas mal de choses à la carte réseau pour décharger le CPU et pouvoir gérer 400 Gb/s par serveur.

Pour information, LaFibre.info, c'est BBR depuis 2020.

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 237
  • Chambly (60)
Algo de contrôle de la congestion TCP: BBR
« Réponse #78 le: 30 janvier 2023 à 20:51:08 »
Ici, les tests sont effectués sur le chargement de pages, avec des petites tailles.
Rien ne dit que les CDN vidéo emploient le même algorithme.

ouno

  • Abonné Orange Fibre
  • *
  • Messages: 112
  • Rennes (35)
Algo de contrôle de la congestion TCP: BBR
« Réponse #79 le: 13 mars 2023 à 14:00:35 »
A priori BBR est aussi disponible sous Windows depuis Windows 11 22H2, il faut utiliser la commande suivante en admin pour l'activer:
netsh int tcp set supplemental Template=Internet CongestionProvider=bbr2

alain_p

  • Abonné Free fibre
  • *
  • Messages: 16 245
  • Delta S 10G-EPON sur Les Ulis (91)
Algo de contrôle de la congestion TCP: BBR
« Réponse #80 le: 13 mars 2023 à 14:08:55 »
Ah, intéressant de le savoir. Je suppose que la version serveur, 2022, pour laquelle c'est le plus intéressant, l'a aussi.

vivien

  • Administrateur
  • *
  • Messages: 47 175
    • Twitter LaFibre.info
Algo de contrôle de la congestion TCP: BBR
« Réponse #81 le: 13 mars 2023 à 14:19:55 »
Plus intéressant, cela serait BBR2 et non BBR ?

=> BBR v2 est en train d'être finalisé par Google

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
Algo de contrôle de la congestion TCP: BBR
« Réponse #82 le: 13 mars 2023 à 17:34:52 »
A priori BBR est aussi disponible sous Windows depuis Windows 11 22H2, il faut utiliser la commande suivante en admin pour l'activer:
netsh int tcp set supplemental Template=Internet CongestionProvider=bbr2

a noter que la version powershell ( Set-NetTCPSetting ) n'est pas encore a jour et refuse sous Windows 11 de changer le parametre (meme en admin) mais l'affiche bien avec Get-NetTCPSetting.

J'avais fait des tests la semaine derniere avec NSpeed et 2 machines :
- une linux sous BBR qui sert a saturer la connexion en sortie
- une sous Windows Insiders canal Dev ou je changeait entre CUBIC et BBR2

bizarrement les résultats étaient en faveur de CUBIC... :P (peut-etre que BBR2 est plus "faible" que CUBIC fasse a BBR ?)

exemple  avec BBR2:
./nspeed get http://nspeedapi:39757/api/v1/run?args=put%20http://speedtest.milkywan.fr%201g  put -id Milky http://speedtest.milkywan.fr 1g
running...
all done
    Id| Read speed| Write speed| Time| Bytes read| Bytes written|command
 Milky|      0 bps|  186.4 Mbps| 8.00|        0 B|      186.4 MB|put http://speedtest.milkywan.fr 1.0 GB ([2a0b:cbc0:42:1::1]:80 - 3.166 ms - )
      |           |            |     |           |              |
 Total|      0 bps|  186.4 Mbps| 8.00|        0 B|      186.4 MB|

sur plusieurs tests, ca oscille entre 180 et 250 Mbps.
avec CUBIC cela a oscille entre 360Mbs et 600Mbps.

L'ideal serait d'avoir 500Mbps , partage équitable de la ligne (qui fait 1Gbps et qu'on obtient bien quand une seule machine fait l'upload).

Quand on met l'autre machine en CUBIC on obtient a peu près le même résultat entre CUBIC et BBR2 coté Windows. Entre 400 Mbps et 500 Mbps ce qui semble normal.

Apres ma ligne en sortie n'est pas saturée au dela du 1er hop donc c'est moins critique que dans l'autre sens:

Freepro Paris 7 Gbps:
./nspeed g  -id CUBIC http://bouygues.testdebit.info/10G/10G.iso get -id BBR http://paris.testdebit.info/10G/10G.iso
running...
all done
    Id| Read speed| Write speed| Time| Bytes read| Bytes written|command
   BBR|   6.6 Gbps|       0 bps| 8.00|     6.6 GB|           0 B|get http://paris.testdebit.info/10G/10G.iso ([2001:860:de01:1101::2]:80 - 2.155 ms - HTTP/1.1)
 CUBIC|  52.3 Mbps|       0 bps| 8.00|    52.3 MB|           0 B|get http://bouygues.testdebit.info/10G/10G.iso ([2001:860:de01:1100::2]:80 - 2.528 ms - HTTP/1.1)
      |           |            |     |           |              |
 Total|   6.7 Gbps|       0 bps| 8.00|     6.7 GB|           0 B|
saturation/pertes, énorme avantage a BBR.
idem depuis un ligne Orange Pro 1Gbps Paris. Ca sature entre Orange et Bouygues ?

on peut penser que le serveur bouygues.testdebit.info a un souci ? mais depuis une machine chez Google en Belgique :

./nspeed g -id CUBIC http://bouygues.testdebit.info/10G/10G.iso  g -id BBR http://paris.testdebit.info/10G/10G.iso
running...
all done
    Id| Read speed| Write speed| Time| Bytes read| Bytes written|command
   BBR|   3.2 Gbps|       0 bps| 8.00|     3.2 GB|           0 B|get http://paris.testdebit.info/10G/10G.iso (89.84.1.194:80 - 6.340 ms - HTTP/1.1)
 CUBIC|   2.0 Gbps|       0 bps| 8.00|     2.0 GB|           0 B|get http://bouygues.testdebit.info/10G/10G.iso (89.84.1.186:80 - 9.894 ms - HTTP/1.1)
      |           |            |     |           |              |
 Total|   5.2 Gbps|       0 bps| 8.00|     5.2 GB|           0 B|

pas de saturation/perte, léger avantage a BBR.

vivien

  • Administrateur
  • *
  • Messages: 47 175
    • Twitter LaFibre.info
Algo de contrôle de la congestion TCP: BBR
« Réponse #83 le: 13 mars 2023 à 19:30:02 »
Les deux serveurs (paris / bouygues) sont chargés à environ 2 Gb/s (c'est assez stable dans le temps).

Par contre bouygues.testdebit.info avait sont /tmp de saturés.

Comment cela se fait que les fichiers uploadés ne sont pas supprimés ?

$ ls /tmp
ntpdate.log  php62e8Di  phpAJAZNr  phpda9VPz  phpfuqtr3  phpIfKMyD  phpLjaBD0  phpo5qFgg  phpPTLpNl  phpsimq66  phpvoN6Rx  phpYL2UxD
php02HscE    php62jRyq  phpAljO0J  phpdBFFAe  phpFypY6N  phpigdEUh  phplk32UG  phpo7HfXP  phpPufnTs  phpSiOhR6  phpvWz5Ua  phpYou64u
php03CcoS    php64hxI0  phpAlPiGF  phpdbMG6f  phpg2yFYr  phpIHcUrF  phpLLDqu9  phpo8Huiu  phpPuZwnm  phpsJfWYv  phpvxGgI9  phpyPPgQD
php0b8OUX    php69rhkg  phpAlRxkx  phpDbYiLg  phpG4N1Wf  phpiKHHQq  phpLo38Zh  phpO8Sfpm  phppwZEon  phpsKz9w1  phpW0QdRw  phpyrdpNY
php0CqWtX    php6b1GmB  phpaMiKzq  phpdEaOUe  phpg6Jjbx  phpiL1AU2  phplQNs2Y  phpO9jSYC  phpPwZYrk  phpsm0k5W  phpw1V4Wx  phpyrkyQN
php0dBms1    php6LHSeU  phpAmMPwT  phpDeHusT  phpG83hyC  phpIl7K5l  phpLvoMdR  phpodl4ej  phppZ8EIm  phpsMfpRp  phpw4gZ10  phpyrOhR0
php0SoDMk    php6PiMAm  phpaMzQv7  phpdH3OBm  phpGaJH6W  phpimYoxg  phplxYEZS  phpoG7b8p  phpq9Dy2F  phpspZrOi  phpw6UAvy  phpysHr0U
php0urwJf    php6rXet2  phpAnP1iv  phpdiZHfe  phpGaojd3  phpiOa9yb  phpm0mi1l  phpOKBrOR  phpQAxppS  phpsraqfN  phpW7YWEI  phpYVK0f8
php0z1l2r    php6s9ecL  phpAPvyfS  phpdkh0lg  phpgAUMoI  phpIOl2XN  phpM5TPUn  phpolMgYA  phpqenHki  phpsyubU4  phpW8xFIm  phpyZ6RJ5
php15RHj5    php6wnoOU  phpAr8Ky8  phpdPczF8  phpgbztw4  phpiSz9dQ  phpm77whz  phpoMnJYL  phpQFsCKM  phpt6qOQo  phpw9T8TQ  phpyZGkxu
php1aieYf    php6XnxGX  phpArBz9j  phpdri7YS  phpgc40II  phpiTNkOS  phpMAZUq9  phpomv1bu  phpqfWQmr  phpTBT3G1  phpwAnqtA  phpyZND9m
php1cU3kW    php6xRtZo  phpaUfvHS  phpdTqVgh  phpgcb5Ms  phpIvb9H0  phpmBwGEO  phpOmVblg  phpqGHsqQ  phpTCLP3h  phpwDzfR9  phpz0cqjU
php1Mbm9k    php6YKjq0  phpauuP5X  phpDyEw8f  phpGdmloj  phpIx0MmJ  phpMdjYdD  phpON15nF  phpQITJUp  phpTEmVfg  phpwjossH  phpZ3XSgi
php1xWcs8    php75Su99  phpB05X7V  phpe7HPIv  phpGE9Cn8  phpiZZFZQ  phpMezFaA  phpORrdKM  phpqIvzlm  phpTO8PjB  phpwku1iO  phpzIXxys
php1yq1oC    php76C0N6  phpb2d9S9  phpeAu6QT  phpGgYMWw  phpj4pmrc  phpMgUjvR  phpos2JYI  phpqIxehr  phptoB8qy  phpWm7JUR  phpZjXdXS
php2dpTfn    php7A03v3  phpB7PkGd  phpEFwUnI  phpGmASsk  phpjACfi2  phpmJBKN3  phpotIlUz  phpQKf43N  phpTtpyy7  phpWqpz4F  phpzkzETk
php2Qu2a3    php7birBz  phpbbdZtn  phpEiY8x0  phpGOIEsS  phpjb3bj7  phpMk3O55  phpOWF1QR  phpQkzpTt  phptYBCNq  phpwTfVi4  phpZLwAeF
php30yaYj    php7jTLWi  phpbcjXak  phpEJFC3i  phpgOXzJA  phpJdTsWK  phpmLTdg2  phpOwmQuo  phpQq7l2I  phptzJ1Rz  phpwU9bDH  phpzMB4NS
php34fPwf    php7lfmg3  phpbcQq9h  phpeK1WER  phpgPBkjQ  phpJfO09h  phpmmD4xk  phpOXlA13  phpqrh5Tk  phpu0QNB3  phpww4nto  phpZmto2j
php3BCcsM    php7qKw41  phpbdSd7c  phpekyndA  phpgrfbHd  phpJgaqxg  phpmN4js0  phpoXvU9s  phpQRxpYe  phpu0tkLb  phpWyx89W  phpzpvmVQ
php3cQCm2    php7s9CSK  phpbinfhs  phpeNfF8A  phpgvBHra  phpjqKUzb  phpmNhDTq  phpoY9d4t  phpQsNMTW  phpU1g0KB  phpX11eba  phpZRjRg6
php3fBBN7    php7vDLIj  phpbLza1V  phpEOPbBp  phpH0FdqT  phpjrixHb  phpmpVAQY  phpp04pVU  phpqueYeI  phpudkAI2  phpX3xSIN  phpZt5zR8
php3fBu9n    php7ZpZXp  phpbNemqF  phpEOTSFS  phpH1apBk  phpjRw7qh  phpmtrIr6  phpp2MgGA  phpqv7bJG  phpuezCkg  phpX4Z5O2  phpzZrRds
php3jeBgQ    php8b2x0U  phpBqX6MT  phpEsOg7v  phph1cek7  phpjUFD0Q  phpMueSfH  phpp6WX1t  phpQxKqzm  phpUFycMd  phpx7Yvmw  snap-private-tmp
php4Ej9jv    php8Bt2aV  phpbup61O  phpETN0MC  phpH3mHal  phpjzfqrf  phpmvSbEU  phpP9pb6V  phpr741FO  phpuLp7cH  phpxd13CP  systemd-private-52394ead526146868de3a2eb72b36079-apache2.service-lpgQAL
php4eYB53    php8i9SoP  phpbVGDe8  phpetw1hC  phpHCssYX  phpK7YhlX  phpmvsP7P  phpp9v8kx  phprg669p  phpUPR41J  phpXd1Tyj  systemd-private-52394ead526146868de3a2eb72b36079-ModemManager.service-EvUXzr
php4fAslg    php8KU3ji  phpc7A7vZ  phpEV5tot  phpHeOmbX  phpKfgZvm  phpMX8n9h  phppbx7m9  phprH1oML  phpuSm2CE  phpXejyDI  systemd-private-52394ead526146868de3a2eb72b36079-munin-node.service-Nth9g2
php4hUM0f    php8ViAaO  phpcDa7aB  phpExGv7W  phpHgLlxN  phpKFIql8  phpMXwYFG  phpPCVjDt  phprHEFlR  phpuvKDd7  phpxhnDik  systemd-private-52394ead526146868de3a2eb72b36079-systemd-logind.service-n6wDjG
php4iauMj    php8xA1Q8  phpcEToaM  phpExvhaZ  phphJjF6i  phpkgwTB3  phpmyYwHv  phppdClFM  phpRhVOL5  phpuwdLfh  phpxRHEwc  systemd-private-52394ead526146868de3a2eb72b36079-systemd-resolved.service-W7pbri
php4iYUHK    php99gZs9  phpCF1G9n  phpeYDhuj  phphKhjzV  phpkhDurj  phpN7IxG5  phpPdLtis  phprj9q7a  phpV6Jldw  phpXrLqF8  systemd-private-52394ead526146868de3a2eb72b36079-systemd-timesyncd.service-i1UJs2
php4NpF7q    php9jjzZc  phpcj5pKo  phpEZEXjr  phpHltcvY  phpKHfl3X  phpNBO1oy  phppdMIys  phprnHLX0  phpVDj7E1  phpxtu6Eq  systemd-private-52394ead526146868de3a2eb72b36079-upower.service-T5W1P7
php4rNcH9    php9Pc5RR  phpCJAxmG  phpF3cXSl  phphOWyo6  phpkKwFin  phpnDjEpl  phppf52uL  phpRqpTXw  phpVEuyfr  phpxzWxnL  tmp.96lua1KNBx
php5075fO    phpA2Mvnd  phpcLuhqi  phpF3qiG6  phphUWfNJ  phpkSqzAI  phpnedGAb  phppFIjYP  phpRWKFbh  phpVF57ZA  phpY1EoMP
php5fgBjA    phpaa9OcF  phpCmR4BV  phpF5rpnn  phphvMWgZ  phpkuONsr  phpNFWZMo  phpPgIDSm  phpRXNLfG  phpVFJAuw  phpY4BMr2
php5IOJOG    phpaavi67  phpCPu5Zs  phpf9uoSR  phphwkupG  phpKYInjw  phpnoOtvK  phppgtsrt  phpS0ofGs  phpVfmub8  phpYAeVN7
php5K54gI    phpAcfinC  phpcVdMLo  phpFC27I7  phphXIv8j  phpKyY43I  phpNqV4Bi  phpPJ6QKS  phps10Bt2  phpVhCizS  phpyd4EOZ
php5KKf9N    phpae2mRI  phpcXXOoj  phpfhKcK9  phphYa85u  phpkZEuxu  phpnrCLTz  phpPlAUbA  phps9VhQI  phpVHRABz  phpYedTqt
php5mk7N1    phpaefROL  phpd278uA  phpfj99HW  phpI4EJZ2  phpLbyUjW  phpNT0Uib  phppOKGx8  phpsBwaiL  phpviHskT  phpyHNxCh
php5oLtzP    phpagY2W5  phpd5Ubcb  phpFowEbC  phpi8aNGc  phpLiKBNo  phpo0zqyl  phpPPsgii  phpse0glH  phpviv9kl  phpyIgeqI
php5xhXHS    phpaI6019  phpD9ZmAU  phpFTubIz  phpIDkghk  phpLipNcn  phpo4GuDR  phppr4mj4  phpsezRzx  phpVnuTMs  phpYj8GH0