iperf / netio auf einer bestimmten NIC laufen lassen

rchr

Lt. Commander
Registriert
Okt. 2006
Beiträge
1.333
Hallo zusammen,

Da ich mit Recherche hier im Forum und über Google nicht weiter komme, stelle ich die Frage kurz hier:
Wie kann ich bei jperf (iperf) resp. netio eine bestimmte Netzwerkkarte auswählen, wenn mehrere verbaut sind?

Mein Server hat 4 Netzwerkkanschlüsse (1x IPMI, 2x Gbit, 1x 10GbE).
Der IPMI sowie 1 GBit Anschluss habe ich über den Switch Verbunden. IP-Bezug über DHCP vom Router.
Der 10GbE-Anschluss ist über ein Kabel direkt mit der 10GbE-Karte in meinem PC verbunden. IP direkt zugewiesen.

Datentransfer über SMB sowie FTP funktioniet wunderbar. Nur würde ich gerne noch die effektive Linkgeschwindigkeit über ein Tool wie iperf oder netio messen.
Nur wenn ich iperf oder netio starte und dann im Client die IP des 10GbE-Interfaces angebe, kommt nur ein Timeout.
Mit der IP der GBit-Verbindung klappt es wunderbar.
Leider geht es auch nicht, wenn ich die GBit-Verbindung deaktiviere.

Ich gehe also davon aus, dass einfach nur die erste NIC angesprochen wird, die gefunden wird und man eine andere NIC separat zuweisen muss. Nur wie?

Danke und Gruss

Christoph
 
Code:
Usage: iperf [-s|-c host] [options]
       iperf [-h|--help] [-v|--version]

Client/Server:
  -f, --format    [kmKM]   format to report: Kbits, Mbits, KBytes, MBytes
  -i, --interval  #        seconds between periodic bandwidth reports
  -l, --len       #[KM]    length of buffer to read or write (default 8 KB)
  -m, --print_mss          print TCP maximum segment size (MTU - TCP/IP header)
  -o, --output    <filename> output the report or error message to this specified file
  -p, --port      #        server port to listen on/connect to
  -u, --udp                use UDP rather than TCP
  -w, --window    #[KM]    TCP window size (socket buffer size)
  -B, --bind      <host>   bind to <host>, an interface or multicast address
  -C, --compatibility      for use with older versions does not sent extra msgs
  -M, --mss       #        set TCP maximum segment size (MTU - 40 bytes)
  -N, --nodelay            set TCP no delay, disabling Nagle's Algorithm
  -V, --IPv6Version        Set the domain to IPv6

Server specific:
  -s, --server             run in server mode
  -D, --daemon             run the server as a daemon
  -R, --remove             remove service in win32

Client specific:
  -b, --bandwidth #[KM]    for UDP, bandwidth to send at in bits/sec
                           (default 1 Mbit/sec, implies -u)
  -c, --client    <host>   run in client mode, connecting to <host>
  -d, --dualtest           Do a bidirectional test simultaneously
  -n, --num       #[KM]    number of bytes to transmit (instead of -t)
  -r, --tradeoff           Do a bidirectional test individually
  -t, --time      #        time in seconds to transmit for (default 10 secs)
  -F, --fileinput <name>   input the data to be transmitted from a file
  -I, --stdin              input the data to be transmitted from stdin
  -L, --listenport #       port to recieve bidirectional tests back on
  -P, --parallel  #        number of parallel client threads to run
  -T, --ttl       #        time-to-live, for multicast (default 1)

Miscellaneous:
  -h, --help               print this message and quit
  -v, --version            print version information and quit

[KM] Indicates options that support a K or M suffix for kilo- or mega-

The TCP window size option can be set by the environment variable
TCP_WINDOW_SIZE. Most other options can be set by an environment variable
IPERF_<long option name>, such as IPERF_BANDWIDTH.

Report bugs to <dast@nlanr.net>
Parameter -B
 
Ja, das habe ich schon gefunden. Nur funktioniert es leider nicht.

Server IP 192.168.1.1
Client IP 192.168.1.2

iperf.exe -c 192.168.1.1 -P 1 -i 1 -p 5001 -B 192.168.1.2 -f g -t 10 -T 1
und
iperf.exe -s -P 0 -i 1 -p 5001 -B 192.168.1.1 -f g

gibt leider nur Timeout.
 
Hm.. Ich weiß gar nicht ob iperf überhaupt explizit einen Netzwerkadapter wählt. Ich hätte jetzt gedacht es wird einfach eine TCP- bzw UDP-Verbindung über das Betriebssystem hergestellt - also rein anhand Ziel-IP und Routingtabelle.
 
Dann müsste es doch eigentlich klappen, wenn ich alle Verbindungen bis auf die 10GbE trenne, oder? Tut es nur eben leider nicht...
 
Eigentlich ja. Es sei denn du hast mehrere Adapter im selben Subnetz. Das kann zu Problemen führen. Welche Subnetze verwendest du an den Schnittstellen?
 
Es läuft alles in 255.255.255.0

Nur eben die IPs sind unterschiedlich (192.168.0.1 für Gbit und 192.168.1.1 für 10 Gbit).
 
255.255.255.0 (= /24) ist erstmal nur eine Subnetzmaske. Nur beides, IP + Maske ergibt ein Subnetz ;)

192.168.0.0 /24
192.168.1.0 /24

Passt, das sieht soweit gut aus. Ich hätte jetzt erwartet, dass iperf damit zurechtkommt. Pingen kannst du ja, oder?

Leider kann ich das gerade nicht selbst testen, weil ich im Ausland bin und nur am Handy sporadisch online bin.
 
Zurück
Oben