Auteur Sujet: Résultats différents entre deux machines?  (Lu 1194 fois)

0 Membres et 1 Invité sur ce sujet

Appleforever

  • Client Bbox fibre
  • *
  • Messages: 485
  • Quimper 29000
Résultats différents entre deux machines?
« le: 24 février 2020 à 20:10:57 »
Bonsoir, je ne comprend pas la raison de cette différence.

Pour le test de débit j'ai un server en filaire, un iMac en filaire et un iPhone en wifi tout trois relier au même router qui est un USG.

Un iperf3 entre le Mac et le Server me donne 940Mbps et un speedtest entre le Mac et Internet me donne 920Mbps.

Un iperf3 entre l'iPhone et le Server me donne 611Mbps et un speedtest entre l'iPhone et Internet me donne ..... 244Mbps  :-[

D'ou peu bien venir une tel différence dans ce dernier test? Pourquoi je n'obtiens pas environ 600Mbps au lieu des 244?

Bonne semaine.

Voici le schéma de mon réseau.
« Modifié: 25 février 2020 à 08:52:42 par Appleforever »

vivien

  • Administrateur
  • *
  • Messages: 38 344
    • Twitter LaFibre.info
Résultats différents entre deux machines?
« Réponse #1 le: 25 février 2020 à 08:08:41 »
Tu utilises quelle application pour faire de l'iPerf3 sur ton iPhone ?

Quelle est la version d'iOS utilisée ? (cela serait bien d'être sous iOS13)

Le débit pourrait être limité par les buffers / Rwin : si les buffers sont limités, quand la latence augmente, le débit se réduit :


Bug Rwin limitée à 65ko avec Windows 7 SP1 64bits

J'observe occasionnellement une anomalie : Windows limite la Rwin à 64 Ko (il manque l'option TCP window scale dans le paquet SYN qui établi la connexion)

Je vais un peu expliquer ce que c'est que le TCP window scale (RFC 1323), ceux qui connaissent, ils peuvent passer au post suivant :

Un protocole simple et peu performant consisterait à envoyer un paquet et attendre l’acquittement pour envoyer le suivant. Problème :si la latence aller/retour (ping) n'est pas trés faible, le débit est quasi nul.
TCP est un protocole performant qui a une fenêtre d’acquittement : la Rwin, exprimée en octet.
La taille de la fenêtre n'est stockée que sur 16 bits, ne permettant pas un rwin plus grande que 65 535 octets.

Comme vous pouvez le voir sur le graphique-ci dessous, c'est très pénalisant pour le haut débit :





A partir de 1992 la RFC 1323 TCP Extensions for High Performance permet d'augmenter presque à l'infinie cette Rwin.
Un explication en Français de la RFC 1323 est disponible sur le blog de Stéphane Bortzmeyer.

La RFC 1323 rajoute une option à TCP pour multiplier la Rwin. C'est une option qui ne casse pas la compatibilité : un système non compatible va ignorer l'option qu'il ne connais pas.

Le premier octet d'une option indique son type, ce qui permet au système d’exploitation de savoir si il connaît cette option. Pour TCP Windows scale, c'est 3.

Le second octet d'une option indique la rongeure de l'option. Les options TCP se suivent et la longueur d'une option varie selon l'option. Le champ longueur permet donc de savoir où commence l'option suivante. Pour TCP window scale la longueur est de 3 (1 octet pour le type, un pour la longueur et un pour la valeur du multiplicateur, soit 3 octets)

La valeur est un octet qui indique de combien de bits on va décaler la taille de la fenêtre :
- 0 : pas de décalage (Rwin max de 65 Ko)
- 1 : multiplication de la fenêtre par 2 (Rwin max de 131 Ko)
- 2 : multiplication de la fenêtre par 4 (Rwin max de 262 Ko)
- 3 : multiplication de la fenêtre par 8 (Rwin max de 524 Ko)
- 4 : multiplication de la fenêtre par 16 (Rwin max de 1,0 Mo)
- 5 : multiplication de la fenêtre par 32 (Rwin max de 2,1 Mo)
- 6 : multiplication de la fenêtre par 64 (Rwin max de 4,2 Mo)
- 7 : multiplication de la fenêtre par 128 (Rwin max de 8,4 Mo)
- 8 : multiplication de la fenêtre par 256 (Rwin max de 17 Mo)
- 9 : multiplication de la fenêtre par 512 (Rwin max de 34 Mo)
- 10 : multiplication de la fenêtre par 1024 (Rwin max de 67 Mo)
- 11 ect...

Généralement, le multiplicateur utilisé est entre 32 (Rwin maximum de 2,1 Mo) et 512 (Rwin maximum de 34 Mo)


Pour vérifier cette hypothèse, il faudrait simuler de la latence entre ton serveur et ton iPhone.

Si ton serveur est sous Linux, c'est simple : Tutoriel pour générer des pertes de paquets / latence / gigue sur un équipement avec NetEm

Appleforever

  • Client Bbox fibre
  • *
  • Messages: 485
  • Quimper 29000
Résultats différents entre deux machines?
« Réponse #2 le: 25 février 2020 à 09:16:23 »
Bonjour Vivien. J'ai posté dans mon premier message le schéma de mon réseau, si sa peu aider ;)

J'utilise une app nommé Iperf et je suis sous iOS 13.3.1. Voilà à quoi elle ressemble. Tu semble étonner de son utilisation , c'est pas la bonne méthode?

Le résultat du test affiché ci dessous est fait entre mon iPhone X et mon Server Debian.



Mon server est sous Debian Buster et c'est lui que j'utilise comme point de référence pour le test des autres bidules de mon réseau.

Je le place en écoute comme ceci:

minis@debian:~$ iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

Si je lance le test depuis mon iMac vers le Server voici le résultat:

franck@iMac-de-Franck ~ % iperf3 -c 192.168.1.32
Connecting to host 192.168.1.32, port 5201
[  5] local 192.168.1.13 port 49667 connected to 192.168.1.32 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   114 MBytes   953 Mbits/sec                 
[  5]   1.00-2.00   sec   112 MBytes   941 Mbits/sec                 
[  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec                 
[  5]   3.00-4.00   sec   112 MBytes   940 Mbits/sec                 
[  5]   4.00-5.00   sec  97.7 MBytes   820 Mbits/sec                 
[  5]   5.00-6.00   sec   113 MBytes   944 Mbits/sec                 
[  5]   6.00-7.00   sec   112 MBytes   943 Mbits/sec                 
[  5]   7.00-8.00   sec   112 MBytes   941 Mbits/sec                 
[  5]   8.00-9.00   sec   112 MBytes   940 Mbits/sec                 
[  5]   9.00-10.00  sec   112 MBytes   940 Mbits/sec                 
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  1.08 GBytes   930 Mbits/sec                  sender
[  5]   0.00-10.01  sec  1.08 GBytes   929 Mbits/sec                  receiver

iperf Done.

Et voici le résultat lancé depuis l'iMac pour tester le Net avec un ping de 14ms:



On peu voir que les deux résultats sont très proches l'un de l'autre que ce soit en réseau local ou internet pour l'iMac.

Ce que je ne m'explique pas c'est cette différence provenant de l'iPhone, mais comme tu le précise en fonction des server internet utilisé dans speedtest j'ai pu constater que le résultat varier

en fonction de la valeur du Ping.

Ce qu'il faut que tu sache aussi c'est que si je passe mon iMac en Wifi et bien le résultat du Speedtest et le même sur l'iMac et sur l'iPhone donc en gros 260Mbps.

Si j'en reviens à ce que tu dis, le ping affect énormément le résultat, le ping sur mon réseau local doit être bas dans ce cas pour arriver à atteindre 611Mbps en wifi (iPhone --> Server)?

Il est possible d'afficher le ping dans iperf lors d'un test sur le réseau local?

Je vais essayer ce que tu me dit pour le server.

Appleforever

  • Client Bbox fibre
  • *
  • Messages: 485
  • Quimper 29000
Résultats différents entre deux machines?
« Réponse #3 le: 26 février 2020 à 08:09:43 »
@vivien tu ma parlé de ping qui pourrai diminuer le débit, est ce que ce problème n'est pas lié à Bouygues ??

J'ai demandé sur un groupe FB de poster le résultat d'un speedtest avec un iPhone X et une ligne fibre. Ce que je peu constater c'est que chez Bouygues la valeur de download est toujours faible

contrairement à la valeur d'upload qui est toujours élevée, quasiment à chaque fois les résultats Bouygues Fibre sont comme sa.

Un exemple:



Voici deux autres exemple toujours avec des iPhone X et une ligne fibre SFR, la le débit en download est le même que le débit Wifi max que peu supporter l'iPhone X donc 600Mbps par contre

comme constater chez d'autre possesseur le débit en upload est très faible.



Chez Orange c'est un peu mieux et plus équilibré


vivien

  • Administrateur
  • *
  • Messages: 38 344
    • Twitter LaFibre.info
Résultats différents entre deux machines?
« Réponse #4 le: 26 février 2020 à 09:27:41 »
La latence impacte surtout le débit pour les tests de débit mono-connexion.

Ici tu mélages des tests avec iPerf avec des tests SpeedTest.

Il me semble important de n'utiliser qu'un seul outil. Je vais faire un tutoriel pour faire un test avec son propre serveur SpeedTest, mais en attendant il serait intéressant de se concentrer sur iPerf3.

Voici les 3 tests que je pense intéressants :
1/ Débit iPerf3 iPhone <== latence 0ms ==> Serveur maison 611 Mb/s
2/ Débit iPerf3 iPhone <== latence xx ms ==> Serveur bouygues.testdebit.info : yyy Mb/s
3/ Débit iPerf3 iPhone <== latence xx ms ==> Serveur maison zzz Mb/s

xx est la latence entre chez toi et le serveur bouygues.testdebit.info, un simple ping permet de la trouver.

Pour le test 3/ tu utilises NetEm (inclus de base sur ton serveur Debian) pour simuler la même latence, afin de ne faire varier qu'un facteur (le serveur) et de rester avec le même outil (iPerf3) et la même latence.