débit netcat faible mais iperf élevé

9

Je testais le débit entre deux ordinateurs, connectés sur le même routeur, l'un avec une connexion LAN de 100 Mbps, l'autre avec une connexion Wi-Fi de 54 Mbps.

Voici la partie intéressante:

  • en utilisant nc, j'obtiens 2,63 Mo / s lors de l'envoi de A vers B (mesuré avec pv -r|nc ipB)
  • en utilisant iperf, j'obtiens 23 Mo / s, ce qui est à peu près correct.

Quel pourrait être le problème nc?

Le système d'exploitation est ubuntu 11.04 pour les deux.

George
la source
J'ai une question très similaire que vous pourriez trouver utile: Mesurer le débit du réseau avec netcat par rapport aux taux de transfert CIFS / SMB

Réponses:

6

L'échelle semble à peu près correcte pour NetCat ne prenant pas en charge le fenêtrage TCP. Si vous faites un tcpdump sur l'interface pendant que les deux benchmarks fonctionnent, je suppose que vous verrez ce modèle pour NC:

  1. Paquet ->
  2. <- Ack
  3. Paquet ->
  4. <- Ack
  5. Paquet ->
  6. <- Ack
  7. Paquet ->
  8. <- Ack

Et ce modèle pour IPerf:

  1. Paquet ->
  2. Paquet ->
  3. Paquet ->
  4. Paquet ->
  5. Paquet ->
  6. Paquet ->
  7. <- Ack
  8. Paquet ->
  9. Paquet ->
  10. Paquet ->
  11. Paquet ->
  12. Paquet ->
  13. Paquet ->
  14. <- Ack
  15. Paquet ->
  16. Paquet ->
  17. Paquet ->
  18. Paquet ->
  19. Paquet ->
  20. Paquet ->
  21. <- Ack

En fenêtrant les segments TCP, vous pouvez obtenir des débits beaucoup plus élevés puisque vous n'avez pas à attendre l'Ack après chaque paquet, seulement après chaque segment.

sysadmin1138
la source
1
Je peux confirmer que je vois le même problème sur ma configuration 10g. dd/netcatsignale une bande passante inférieure par rapport à iperf. dd/netcatrapport sur 3Gb / s tandis que iperfrapports 9Gb / s.
Vince
Voulez-vous vérifier si votre supposition est correcte ici? :)
rogerdpack
Ma boîte Windows 10 utilisant netcat envoyait simplement des paquets de 8 Ko avec une taille de fenêtre TCP de seulement 8 Ko, ce qui entraînait des performances horribles par rapport au gigabit. Se produit à la fois dans nc et ncat, mais SSH donne plus de 90 Mo / s entre les mêmes machines. Il y a un ancien bogue dans les sockets Windows qui provoque cela: support.microsoft.com/en-us/help/823764/…
Orion Lawlor
1

Ça ne l'est pas netcat. Avec iperfje reçois

[  3] local 192.168.1.201 port 55610 connected with 192.168.1.200 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   394 MBytes  39.4 MBytes/sec

Avec nc -l -p 1852 > /dev/nullet cat /dev/zero | pv -r | nc 192.168.1.200 1852je reçois

[  34MB/s]

(Fluctue entre 30 et 60.)

Quelles données alimentez-vous netcat?

Mark Wagner
la source
0

Ce n'est pas parce que votre carte sans fil est capable de connexions 54mbs que vous allez obtenir ce débit. En particulier, il semble que vous ayez 802.11g qui a un talon Achilies . Tant que ** chaque * appareil sans fil avec lequel il parle est également g, cela ira vite, mais dès que même un appareil qui n'est capable que de la vitesse b , il doit utiliser le plus petit dénominateur commun pour parler à tous les appareils.

Vous pouvez essayer d'ouvrir un terminal sur la machine sans fil et en cours d'exécution iwconfig. Recherchez le champ Bit Rate = et voyez à quelle vitesse vous êtes réellement connecté.

Caleb
la source
0

Méfiez-vous des unités iperf. C'est un piège courant: iperf s'affiche souvent en Mbit / s au lieu de Mbyte / s.

Gregory MOUSSAT
la source