iperf kommando och användning
Iperf är en öppen källkod nätverksverktyg som används för att mäta genomströmning eller prestanda för ett nätverk. Den kan användas för att testa TCP och UDP. Iperf kan användas i Windows, Linux och MAC etc operativsystem.
avsikten med denna artikel:
det finns olika versioner av Iperf, vi kommer bara att fokusera på iperf version 2.+ bara. Denna version används ofta i alla system.
allmänt Uppställningsdiagram:
iperf fungerar i serverklientmodell som innebär att det ska finnas en server och en klient för att starta iperf trafikflöde.
trådlös anslutning
från diagrammet kan vi förstå att PC1 och PC2 ska ha giltig IP-adress.
anslutning mellan två datorer kan vara trådbunden eller trådlös.
faktisk inställning:
- i vårt experiment PC1 är windows och PC2 är Linux.
- PC1 IP är 192.168.1.6 och PC2 är 192.168.0.102
- PC1 iperf version
kommando:
iperf version 2.0.5 (08 Jul 2010) pthreads
4. PC2 iperf version
kommando:
iperf version 2.0.5 (08 Jul 2010) pthreads
iperf villkor:
det finns vissa villkor innan iperf att arbeta.
- PC1 ska Pinga till PC2 och vice versa. Vi kan använda ping 192.168.1.102 från PC1-konsolen eller kommandoraden för att se om PC1 kan nå PC2. Gör ping från PC2 till PC1 för att kontrollera NÅBARHETEN för PC1 från PC3.
här är en skärmdump för ping från PC1 till PC2
här är en skärmdump för ping från PC2 till PC1
- båda datorerna ska iperf binär. Det är bättre att behålla samma version av Iperf eller stäng versioner. Men kom ihåg att iperf 2.0 inte fungerar med iperf 3.0.
Obs: UDP upprättar ingen UDP-anslutning innan data överförs och UDP behöver ingen ACK från andra sidan. Så även om iperf server inte kör klienten kan skicka data till skillnad från TCP. Så kontrollera alltid serversidan för UDP-data.
viktiga iperf-argument:
Argument | Meaning |
-s | Run server |
-c | Run Client |
-u | UDP |
-b | Bandwidth |
-i | Output interval in Sec |
-t | Time in sec |
-p | Port number |
-w | Windows size |
-d | Bi-directional traffic |
-l | Length |
-V | Used when IPv6 address is used instead of IPv4 |
det finns andra argument men används inte i allmänhet. Vi kan använda MAN iperf-kommandot i Linux för att få alla argument.
iperf-kommandon:
det finns många argument för iperf-kommandot, vi kommer att diskutera endast viktiga och användbara argument. Nedan finns minimiargument som kan användas för att köra iperf.
TCP –server:
TCP –klient:
UDP server:
UDP –klient:
iperf –c 192.168.1.102 –I1 –t60 –u-b 1000M
starta iperf:
nu har vi PC1 och PC2 så under kombinationer kan köras mellan dessa två datorer.
- TCP-server i PC1 och TCP-klient PC2
- TCP-klient i PC1 och TCP-server PC2
- UDP-klient i PC1 och UDP-server PC2
Experiment 1:
låt oss försöka kombinera en
Här är skärmdumpen av TCP-server i PC1.
så först måste vi starta servern och om det lyckas kommer det att vara i listningsläge.
här är skärmdumpen av TCP-klienten i PC2.
här är skärmdumpen för TCP-serversidan
nästa om vi vill prova kombination B, behöver vi bara köra TCP-server i PC2 och TCP-klient i PC1.
Experiment 2:
låt oss försöka kombination D.
Här är skärmdumpen av UDP-servern i PC2.
så först måste vi starta servern och om det lyckas kommer det att vara i listningsläge.
Här är skärmdumpen av UDP-klienten i PC1.
här är skärmdumpen av UDP-serverutgången i PC2
kända fel:
- Anslut misslyckades eller anslutning vägrade:
När vi kör TCP-klient utan TCP-server detta fel inträffar.
här är skärmdumpen
- UDP utan server:
När vi kör UDP-klient utan server kan vi identifiera detta med några observationer
- efter att UDP-klientens genomströmning är klar bör vi inte någon serverrapport för genomsnittet. Kontrollera punkt B i nedan skärmdump.
- genomströmning kan vara högre än den anslutna bandbredden. Kontrollera punkten A nedan skärmdump.
- här är den förväntade UDP klient skärmdump
några experiemnt argument:
-w:
fönsterstorlek kan ökas.
här är skärmdumpen för standard och anpassad windows-storlek:
-i:
intervall kan ökas.
Här-t 20sec och-i 5sec så vi borde se Iperf-utgång vid 5sec-intervall. Här är skärmdumpen.