More

    Iperf2 vs Iperf3 – Mesure de la performance des réseaux

    Iperf est un outil de mesure et d’optimisation des performances des réseaux.

    L’application iperf est un programme multiplateforme qui fournit des mesures standard de performance du réseau. Iperf comprend un client et un serveur qui peuvent générer un flux de données pour évaluer le débit entre deux points d’extrémité dans une ou deux directions.

    iperf2

    Une sortie iperf typique comprend un rapport temporel estampillé de la quantité de données transportées et du débit mesuré.

    Iperf2

    Iperf2 est un outil de mesure du débit et de la réactivité du réseau qui prend en charge TCP et UDP. L’un de ses objectifs est de maintenir le fonctionnement de la base de code iperf sur différentes plates-formes et systèmes d’exploitation.

    Il s’agit d’une architecture multithread qui croît proportionnellement au nombre de CPU ou de cœurs dans un système avec lequel elle peut obtenir et rapporter les performances du réseau en utilisant des stratégies à fort et à faible impact.

    Caractéristiques d’Iperf2

    • Prend en charge des intervalles de rapport plus petits (100 us ou plus, configurer –enable-fast sampling pour une sortie de temps d’intervalle de haute précision).
    • Prise en charge de SO_RCVTIMEOUT pour les serveurs de rapports, indépendamment de l’absence de paquetage
    • Supporte SO_SNDTIMEO lors de l’envoi afin que les écritures sur le socket ne soient pas bloquées au-delà de -t ou -i
    • Prise en charge de SO_TIMESTAMP pour l’horodatage des paquets au niveau du noyau
    • Prend en charge le temps de latence final en format moyen/min/max/stdev (UDP) (-e requis) (en supposant que les horloges du client et du serveur soient synchronisées, par exemple avec le Precision Time Protocol à l’OCXO par oscillateur Spectracom).
    • Prise en charge des flux limités au niveau TCP (via -b) à l’aide d’un seau de jetons simplifié
    • Prend en charge les paquets par seconde (UDP) et les pps en tant qu’unités (par exemple, -b 1000pps).
    • Afficher le PPS dans les rapports du client et du serveur (UDP) (-e requis)
    • Prise en charge des ordonnanceurs en temps réel en tant qu’options de ligne de commande (–real-time ou -z, en supposant que l’utilisateur dispose des droits appropriés).
    • Affichage du temps de boucle cible dans l’en-tête initial du client (UDP)
    • Ajouter le support local des liens ipv6 (ex. iperf -c fe80::d03a:d127:75d2:4112%eno1)
    • La charge utile UDP ipv6 est fixée par défaut à 1450 octets par trame Ethernet et par charge utile.
    • Prise en charge du trafic isochrone (via –isochrone) et de la rafale de trames avec trafic à débit variable (vbr) et identification des trames.
    • La prise en charge de la multidiffusion SSM pour v4 et v6 utilise -H ou -ssm-host, c’est-à-dire iperf -s -B ff1e::1 -u -V -H fc00::4
    • Histogrammes de latence pour les paquets et les trames (par exemple –udp-histogram=10u.200000, 0.03, 99.97)
    • Prise en charge des démarrages de livraison temporisés par –txstart-time .Prise en charge des démarrages de livraison temporisés par –txstart-time <unix.epoch time>.
    • Prise en charge des clients qui augmentent l’IP de destination avec -P via –incr-dstip
    • Pour faire varier la charge, on utilise la distribution normale des logs autour de la moyenne et de l’écart-type (per -b ,),Pour faire varier la charge, on utilise la distribution normale des logs autour de la moyenne et de l’écart-type (per -b <mean>,<stdev>),
    • Honor -T (ttl) pour unicast et multicast
    • UDP utilise un numéro de séquence de 64 bits (bien qu’il fonctionne encore avec 2.0.5 qui utilise un numéro de séquence de 32 bits).

    Systèmes d’exploitation supportés par l’Iperf2

    • Linux, Windows 10, Windows 7, Windows XP, macOS, Android et certains décodeurs OS.

    Télécharger Iperf2

    Iperf2 Windows v2.1.8

    Iperf2 Linux v2.1.8

    Iperf3

    L’application Iperf3 est une réécriture d’iperf à partir de zéro pour créer une base de code plus petite et plus simple.

    iPerf3 est un outil permettant de mesurer en temps réel la largeur de bande maximale possible sur un réseau IP. Il vous permet de régler avec précision divers délais, tampons et protocoles (TCP, UDP, SCTP avec IPv4 et IPv6). Il fournit également des rapports sur la bande passante, les pertes et d’autres paramètres pour chaque test.

    Caractéristiques d’Iperf3

    • TCP et SCTP (mesure de la bande passante, rapport sur la taille du MSS/MTU et la taille de la lecture observée, prise en charge de la taille de la fenêtre TCP sur la mémoire tampon de la socket).
    • UDP (le client peut créer un flux UDP à partir d’une bande passante spécifiée, mesurer la perte de paquets, mesurer la gigue du délai, permettre la multidiffusion)
    • Le client et le serveur peuvent avoir plusieurs connexions simultanées (option -P).
    • Le serveur gère plusieurs connexions, au lieu de s’arrêter après un seul test.
    • Peut fonctionner pendant une durée déterminée (option -t), plutôt que sur une quantité de données à transférer (option -n ou -k).
    • Rapports périodiques d’impression, de bande passante moyenne, de gigue et de perte à des intervalles spécifiques (option-i).
    • Exécuter le serveur en tant que démon (option -D)
    • Utiliser des flux représentatifs pour tester l’impact de la compression de la couche de liaison sur la bande passante disponible (option -F).
    • Un serveur reçoit un client simultanément (iPerf3) et plusieurs clients simultanément (iPerf2).
    • Ignorer le démarrage lent de TCP (option -O).
    • Définir la bande passante cible pour UDP et (nouveau) TCP (option -b).
    • Définir l’étiquette de flux IPv6 (option -L)
    • Définir l’algorithme de contrôle de la congestion (-option -C)
    • Utiliser SCTP au lieu de TCP (option –sctp)
    • La sortie est au format JSON (option -J).
    • Test de lecture de disque (serveur : iperf3 -s / client : iperf3 -c testhost -i1 -F nom de fichier)
    • Test d’écriture sur disque (serveur : iperf3 -s -F nom de fichier / client : iperf3 -c testhost -i1)

    Systèmes d’exploitation supportés par Iperf3

    • Windows, Linux, Android, macOS X, FreeBSD, OpenBSD, NetBSD, VxWorks, Solaris

    Télécharger Iperf3

    Iperf3 Windows 64bit v3.1.3

    Iperf3 Windows 32bit v3.1.3

    Iperf3 Linux v3.1.3

    Iperf2 vs Iperf3

    En vedetteIperf 2Iperf 3
    Types de trafic
    Trafic TCPYY
    Trafic UDPYY
    Trafic SCTPNY
    IPv4YY
    IPv6YY
    Trafic de multidiffusion (y compris SSM)YN
    Connexion TCP uniquementYN
    Contrôles de la couche 2YN
    Options de sortie
    Format humainYY
    Sortie JSONNY
    CSV (de base uniquement)YN
    Masquer les adresses IP dans la sortie (v4 uniquement)YN
    Rapports du serveur côté clientNY
    Profils de trafic
    Limitation du taux de file d’attente équitableYY
    Limitation du taux d’écritureYY
    Limitation du débit de lecture (TCP)YN
    ÉclatsYY
    Isochrone (vidéo) TCP/UDPYN
    Inverser les rôlesYY
    Trafic bidirectionnelYY
    Duplex intégral même priseYN
    TCP bounceback avec charge(s) de travail optionnelle(s)YN
    Trafic à faible cycle de service avec statistiques côté serveurYN
    TCP_NOTSENT_LOWAT avec select() (en utilisant l’option –tcp-write-prefetch)YN
    TCP proche de la congestion (expérimental)YN
    Métriques
    DébitYY
    Réactivité par seconde (RPS)YN
    Paquets UDP (total/perdu)YY
    Gigue UDPYY
    Latences des paquets UDPYN
    TCP/UDP frame/burst latenciesYN
    Temps de latence entre l’écriture et la lecture TCPYN
    Puissance du réseau (latence/débit)YN
    InP – octets dans les files d’attente (loi de Little)YN
    TCP CWNDYN
    TCP retriesYY
    TCP RTTYY
    Histogrammes des délais d’écriture côté émissionYN
    Paquets UDP par secondeYN
    Histogrammes de latenceYN
    Temps de connexion TCPYN
    Réponse TCP par intervalleYN
    Sortie de la somme seulementYN
    Autres
    Conception multithreadYN
    Parallel -P techniqueThreadsProcesses
    Programmation en temps réelYN
    -t support pour le serveurYN
    Support de l’interface virtuelle TAP (réception uniquement) via –tap-devYN
    Affinité avec l’unité centraleNY
    Copie zéroNY
    Étiquettes de flux IPv6NY
    option –omit (sauter les premiers échantillons par temps en secondes)NY
    Option Incr dst ip avec -PYN
    Option Incr dst ip avec -PYN
    Option Incr dst port avec -PYN
    Option Incr src port avec -PYN
    Liaison avec un dispositif ou une interfaceYY
    Liaison du port sourceYN
    Heure de début de transmission programméeYN
    Retarder l’heure de début de la transmissionYN
    Mot de passe de l’utilisateurNY
    Clés de permisY (TCP only)N
    UDP sans étatYN
    Cadre Python (asyncio)Y (flows)N
    Test du WiFi à travers le 100GYN/a
    Passage à plus de 1000 threadsYN/a

    Dernières articles